Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "ScriptPCH.h"
- class teleporter : public CreatureScript
- {
- public:
- teleporter() : CreatureScript("teleporter") { }
- bool OnGossipHello(Player* player, Creature* creature)
- {
- if (player->IsInCombat())
- {
- player->CLOSE_GOSSIP_MENU();
- player->GetSession()->SendNotification("You're in combat!");
- creature->MonsterWhisper("You're in combat!", LANG_UNIVERSAL, NULL);
- return false;
- }
- player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TALK,"Mall",GOSSIP_SENDER_MAIN,GOSSIP_ACTION_INFO_DEF+1);
- player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TAXI,"Cities",GOSSIP_SENDER_MAIN,GOSSIP_ACTION_INFO_DEF+2);
- player->ADD_GOSSIP_ITEM(GOSSIP_ICON_BATTLE,"PVP",GOSSIP_SENDER_MAIN,GOSSIP_ACTION_INFO_DEF+3);
- player->ADD_GOSSIP_ITEM(GOSSIP_ICON_VENDOR,"Items and repair",GOSSIP_SENDER_MAIN,GOSSIP_ACTION_INFO_DEF+4);
- player->SEND_GOSSIP_MENU(1, creature->GetGUID()); // This sends the menu to the player
- return true;
- }
- bool OnGossipSelect(Player* player, Creature* creature, uint32 sender, uint32 action);
- {
- player->playerTalkClass->ClearMenus();
- switch (uiaction)
- {
- case GOSSIP_ACTION_INFO_DEF+1: //The mall category defined
- player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT,"Gadgetzan",GOSSIP_SENDER_MAIN,GOSSIP_ACTION_INFO_DEF+5);
- player->SEND_GOSSIP_MENU(1, creature->GetGUID());
- break;
- case GOSSIP_ACTION_INFO_DEF+2: //Cities Category
- if (player->GetTeam() == HORDE)
- {
- player->ADD_GOSSIP_ITEM(GOSSIP_ICON_INTERACT_1," #FF1919 Horde",GOSSIP_SENDER_MAIN,GOSSIP_ACTION_INFO_DEF+6);
- player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TAXI,"Orgrimmar",GOSSIP_SENDER_MAIN,GOSSIP_ACTION_INFO_DEF+7);
- player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TAXI,"ThunderBluff",GOSSIP_SENDER_MAIN,GOSSIP_ACTION_INFO_DEF+8);
- player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TAXI,"Undercity",GOSSIP_SENDER_MAIN,GOSSIP_ACTION_INFO_DEF+9);
- player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TAXI,"Silvermoon",GOSSIP_SENDER_MAIN,GOSSIP_ACTION_INFO_DEF+10);
- }else{
- player->ADD_GOSSIP_ITEM(GOSSIP_ICON_INTERACT_1,"#0000FF Alliance",GOSSIP_SENDER_MAIN,GOSSIP_ACTION_INFO_DEF+11);
- player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TAXI,"Stormwind",GOSSIP_SENDER_MAIN,GOSSIP_ACTION_INFO_DEF+12);
- player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TAXI,"Ironforge",GOSSIP_SENDER_MAIN,GOSSIP_ACTION_INFO_DEF+13);
- player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TAXI,"Darnasus",GOSSIP_SENDER_MAIN,GOSSIP_ACTION_INFO_DEF+14);
- player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TAXI,"Exodar",GOSSIP_SENDER_MAIN,GOSSIP_ACTION_INFO_DEF+15);
- }
- player->ADD_GOSSIP_ITEM(GOSSIP_ICON_INTERACT_1,"#FF9900 Neutral",GOSSIP_SENDER_MAIN,GOSSIP_ACTION_INFO_DEF+16);
- player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TAXI,"Dalaran",GOSSIP_SENDER_MAIN,GOSSIP_ACTION_INFO_DEF+17);
- player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TAXI,"Shattrah",GOSSIP_SENDER_MAIN,GOSSIP_ACTION_INFO_DEF+18);
- player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TAXI,"Booty Bay",GOSSIP_SENDER_MAIN,GOSSIP_ACTION_INFO_DEF+19);
- player->SEND_GOSSIP_MENU(1, creature->GetGUID());
- break;
- case GOSSIP_ACTION_INFO_DEF+3: //PvP Category
- player->ADD_GOSSIP_ITEM(GOSSIP_ICON_BATTLE,"Gurubashi Arena",GOSSIP_SENDER_MAIN,GOSSIP_ACTION_INFO_DEF+20);
- player->SEND_GOSSIP_MENU(1, creature->GetGUID());
- break;
- case GOSSIP_ACTION_INFO_DEF+5: //Gadgetzan
- player->CLOSE_GOSSIP_MENU();
- player->TeleportTo(1, -7177.15f, -3785.34f, 8.36981f, 6.10237f);
- break;
- case GOSSIP_ACTION_INFO_DEF+7: //Orgrimmar
- player->CLOSE_GOSSIP_MENU();
- player->TeleportTo(1, 1629.36f, -4373.39f, 31.2564f, 3.54839f);
- break;
- case GOSSIP_ACTION_INFO_DEF+8: //Undercity
- player->CLOSE_GOSSIP_MENU();
- player->TeleportTo(0, 1584.07f, 241.987f, -52.1534f, 0.049647f);
- break;
- case GOSSIP_ACTION_INFO_DEF+9: // Thunderbluff
- player->CLOSE_GOSSIP_MENU();
- player->TeleportTo(1, -1277.37f, 124.804f, 131.287f, 5.22274f);
- break;
- case GOSSIP_ACTION_INFO_DEF+10: //Silvermoon
- player->CLOSE_GOSSIP_MENU();
- player->TeleportTo(530, 9487.69f, -7279.2f, 14.2866f, 6.16478f);
- break;
- case GOSSIP_ACTION_INFO_DEF+12: //Stormwind
- player->CLOSE_GOSSIP_MENU();
- player->TeleportTo(0, -8833.38f, 628.628f, 94.0066f, 1.06535f);
- break;
- case GOSSIP_ACTION_INFO_DEF+13: //Ironforge
- player->CLOSE_GOSSIP_MENU();
- player->TeleportTo(0, -4918.88f, -940.406f, 501.564f, 5.42347f);
- break;
- case GOSSIP_ACTION_INFO_DEF+14: //Darnasus
- player->CLOSE_GOSSIP_MENU();
- player->TeleportTo(1, 9949.56f, 2284.21f, 1341.4f, 1.59587f);
- break;
- case GOSSIP_ACTION_INFO_DEF+15: //Exodar
- player->CLOSE_GOSSIP_MENU();
- player->TeleportTo(530, -3965.7f, -11653.6f, -138.844f, 0.852154f);
- break;
- case GOSSIP_ACTION_INFO_DEF+17: //dalaran
- player->CLOSE_GOSSIP_MENU();
- player->TeleportTo(571, 5804.15f, 624.771f, 647.767f, 1.64f);
- break;
- case GOSSIP_ACTION_INFO_DEF+18: //shattrah
- player->CLOSE_GOSSIP_MENU();
- player->TeleportTo(530, -1838.16f, 5301.79f, -12.428f, 5.9517f);
- break;
- case GOSSIP_ACTION_INFO_DEF+19: //Booty bay
- player->CLOSE_GOSSIP_MENU();
- player->TeleportTo(0, -14297.2f, 530.993f, 8.77916f, 3.98863f);
- break;
- case GOSSIP_ACTION_INFO_DEF+4: // Send a vendor to repair
- player->CLOSE_GOSSIP_MENU();
- player->GetSession()->SendListInventory(creature->GetGUID(),25054);
- break;
- return true;
- }
- }
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement