Grom™ | Дата: Вівторок, 21.12.2010, 16:08 | Сообщение # 1 |
Скаут
Группа: Пользователи
|
Code /* ScriptData SDName: telenpc SD%Complete: 100 SDComment: Teleporter + Player Tools SDCategory: NPC EndScriptData */
#include "precompiled.h" #include "../../../../shared/Config/Config.h"
#ifdef WIN32 #pragma warning(disable:4700) // uninitialized local variable #pragma warning(disable:4101) // unreferenced local variable #endif /* Coord defines go as follow map id X Y Z Orientation */
bool GossipHello_TeleNPC(Player* Plr, Creature* pCrea) { // Main Menu for Alliance if (Plr->GetTeam() == ALLIANCE) { Plr->ADD_GOSSIP_ITEM( 12, "Welcome To World Of GoonCraft", GOSSIP_SENDER_MAIN, 8888); Plr->ADD_GOSSIP_ITEM( 7, "Alliance Town ->", GOSSIP_SENDER_MAIN, 1000); Plr->ADD_GOSSIP_ITEM( 7, "Neutral Town ->", GOSSIP_SENDER_MAIN, 3000); Plr->ADD_GOSSIP_ITEM( 7, "Dungeons ->", GOSSIP_SENDER_MAIN, 5000); } else // Main Menu for Horde { Plr->ADD_GOSSIP_ITEM( 7, "Horde Town ->", GOSSIP_SENDER_MAIN, 2000); Plr->ADD_GOSSIP_ITEM( 7, "Neutral Town ->", GOSSIP_SENDER_MAIN, 3000); Plr->ADD_GOSSIP_ITEM( 7, "Dungeons ->", GOSSIP_SENDER_MAIN, 5000); } Plr->ADD_GOSSIP_ITEM( 8, "Shopping Mall", GOSSIP_SENDER_MAIN, 5200); Plr->ADD_GOSSIP_ITEM( 9, "Gurbashi Arena - PvP", GOSSIP_SENDER_MAIN, 3500); Plr->ADD_GOSSIP_ITEM( 6, "Player Tools ->", GOSSIP_SENDER_MAIN, 4666); //Plr->ADD_GOSSIP_ITEM( 8, " - !IN DEV! - Random Q&A - Test Your Knowledge - !IN DEV! . . . ./n Tek", GOSSIP_SENDER_MAIN, 0); Plr->SEND_GOSSIP_MENU(DEFAULT_GOSSIP_MESSAGE,pCrea->GetGUID()); return true; }
void SendDefaultMenu_TeleNPC(Player* Plr, Creature* pCrea, uint32 action) {
// Not allow in combat if (Plr->isInCombat()) { Plr->CLOSE_GOSSIP_MENU(); pCrea->MonsterSay("You are in combat!", LANG_UNIVERSAL, NULL); return; }
switch(action)
{
case 1000: //Alliance Town Plr->ADD_GOSSIP_ITEM( 5, "Gilneas", GOSSIP_SENDER_MAIN, 1010); Plr->ADD_GOSSIP_ITEM( 5, "Stormwind", GOSSIP_SENDER_MAIN, 1015); Plr->ADD_GOSSIP_ITEM( 7, "<- Main Menu", GOSSIP_SENDER_MAIN, 5005);
Plr->SEND_GOSSIP_MENU(DEFAULT_GOSSIP_MESSAGE,pCrea->GetGUID()); break;
case 2000: //Horde Town Plr->ADD_GOSSIP_ITEM( 5, "Orgrimmar", GOSSIP_SENDER_MAIN, 2001); Plr->ADD_GOSSIP_ITEM( 5, "Kezan", GOSSIP_SENDER_MAIN, 2005); Plr->ADD_GOSSIP_ITEM( 7, "<- Main Menu", GOSSIP_SENDER_MAIN, 5005);
Plr->SEND_GOSSIP_MENU(DEFAULT_GOSSIP_MESSAGE,pCrea->GetGUID()); break;
case 5000: //Dungeons Plr->ADD_GOSSIP_ITEM( 7, "Kalimdor ->", GOSSIP_SENDER_MAIN, 5010); Plr->ADD_GOSSIP_ITEM( 7, "Eastern Kingdoms ->", GOSSIP_SENDER_MAIN, 5015); Plr->ADD_GOSSIP_ITEM( 7, "Outland ->", GOSSIP_SENDER_MAIN, 5025); Plr->ADD_GOSSIP_ITEM( 7, "Northrend ->", GOSSIP_SENDER_MAIN, 5030); Plr->ADD_GOSSIP_ITEM( 7, "<- Main Menu", GOSSIP_SENDER_MAIN, 5005);
Plr->SEND_GOSSIP_MENU(DEFAULT_GOSSIP_MESSAGE,pCrea->GetGUID()); break;
case 5005: //Back To Main Menu
// Main Menu for Alliance if (Plr->GetTeam() == ALLIANCE) { Plr->ADD_GOSSIP_ITEM( 7, "Alliance Town ->", GOSSIP_SENDER_MAIN, 1000); Plr->ADD_GOSSIP_ITEM( 7, "Neutral Town ->", GOSSIP_SENDER_MAIN, 3000); } else // Main Menu for Horde { Plr->ADD_GOSSIP_ITEM( 7, "Horde Town ->", GOSSIP_SENDER_MAIN, 2000); Plr->ADD_GOSSIP_ITEM( 7, "Neutral Town ->", GOSSIP_SENDER_MAIN, 3000); }
Plr->SEND_GOSSIP_MENU(DEFAULT_GOSSIP_MESSAGE,pCrea->GetGUID()); break;
Plr->ADD_GOSSIP_ITEM( 7, "<- [Main Menu]" , GOSSIP_SENDER_MAIN, 5005);
Plr->SEND_GOSSIP_MENU(DEFAULT_GOSSIP_MESSAGE,pCrea->GetGUID()); break;
//////////////////////////////////////////////////ALLIANCE///////////////////////////////////////////////////////////////
case 1010: // Gilneas Plr->CLOSE_GOSSIP_MENU(); Plr->TeleportTo(654, -1453.077393f, 1402.686401f, 39.281937f, 0.402139f);
break;
case 1015: // Stormwind Plr->CLOSE_GOSSIP_MENU(); Plr->TeleportTo(0, -8831.642578f, 623.118103f, 94.036461f, 3.939558f);
break;
//////////////////////////////////////////////////HORDE///////////////////////////////////////////////////////////////
case 2001: // Orgrimmar Plr->CLOSE_GOSSIP_MENU(); Plr->TeleportTo(1, 1518.438965f, -4410.786133f, 21.565023f, 0.413888f);
break;
case 2005: // Kezan Plr->CLOSE_GOSSIP_MENU(); Plr->TeleportTo(648, -8423.665039f, 1365.863159f, 104.676819f, 4.816843f);
break;
bool GossipSelect_TeleNPC(Player* Plr, Creature* pCrea, uint32 sender, uint32 action) { // Main menu if (sender == GOSSIP_SENDER_MAIN) SendDefaultMenu_TeleNPC(Plr, pCrea, action);
return true; }
void AddSC_telenpc() { Script *newscript;
newscript = new Script; newscript->Name = "telenpc"; newscript->pGossipHello = &GossipHello_TeleNPC; newscript->pGossipSelect = &GossipSelect_TeleNPC; newscript->RegisterSelf(); }
|
|
|
|