Advertisement
EmuDevs

EmuDevs: TrinityCore - Teleporter

Nov 1st, 2013
216
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 4.48 KB | None | 0 0
  1. /*
  2.     Teleporter Script for Trinity
  3.     Coded By Someone with brains
  4. */
  5.      
  6. class tele_script_mortal : public CreatureScript
  7. {
  8. public:
  9.     tele_script_mortal() : CreatureScript("tele_script_mortal") { }
  10.      
  11.     bool OnGossipHello(Player* player, Creature* creature)
  12.     {
  13.         if (player->GetTeam() == ALLIANCE)
  14.             player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, "|cff4169E1|TInterface\\icons\\Achievement_Leader_King_Varian_Wrynn:30|t Alliance Capital Cities|r", GOSSIP_SENDER_MAIN, 1);
  15.         else
  16.             player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, "|cffFF0000|TInterface\\icons\\Achievement_Leader_Sylvanas:30|t Horde Capital Cities|r", GOSSIP_SENDER_MAIN, 2);
  17.         player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, "Nevermind...", GOSSIP_SENDER_MAIN, 999);
  18.         player->SEND_GOSSIP_MENU(1, creature->GetGUID());
  19.         return true;
  20.     }
  21.      
  22.     bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 actions)
  23.     {
  24.         player->PlayerTalkClass->ClearMenus(); // clear the menu
  25.                    
  26.         switch (actions)
  27.         {
  28.             case 1:
  29.                 player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, "|cff4169E1|TInterface\\icons\\Achievement_Leader_King_Varian_Wrynn:30|t Stormwind|r", GOSSIP_SENDER_MAIN, 5);
  30.                 player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, "|cff4169E1|TInterface\\icons\\Achievement_Leader_King_Varian_Wrynn:30|t Darnassus|r", GOSSIP_SENDER_MAIN, 10);
  31.                 player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, "|cff4169E1|TInterface\\icons\\Achievement_Leader_King_Varian_Wrynn:30|t Ironforge|r", GOSSIP_SENDER_MAIN, 15);
  32.                 player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, "|cff4169E1|TInterface\\icons\\Achievement_Leader_King_Varian_Wrynn:30|t Exodar|r", GOSSIP_SENDER_MAIN, 20);
  33.                 player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, "Back..", GOSSIP_SENDER_MAIN, 1000);
  34.                 player->SEND_GOSSIP_MENU(1, creature->GetGUID());
  35.                 break;
  36.             case 2:
  37.                 player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, "|cffFF0000|TInterface\\icons\\Achievement_Leader_Sylvanas:30|t Ogrimmar|r", GOSSIP_SENDER_MAIN, 25);
  38.                 player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, "|cffFF0000|TInterface\\icons\\Achievement_Leader_Sylvanas:30|t Undercity|r", GOSSIP_SENDER_MAIN, 35);
  39.                 player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, "|cffFF0000|TInterface\\icons\\Achievement_Leader_Sylvanas:30|t Silvermoon City|r", GOSSIP_SENDER_MAIN, 40);
  40.                 player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, "Back..", GOSSIP_SENDER_MAIN, 1000);
  41.                 player->SEND_GOSSIP_MENU(1, creature->GetGUID());
  42.                 break;
  43.             case 5: // Stormwind
  44.                 player->CLOSE_GOSSIP_MENU();
  45.                 player->TeleportTo(0, -8842.09f, 626.358f, 94.0867f, 3.61363f);
  46.                 break;
  47.             case 10: // Darnassus
  48.                 player->CLOSE_GOSSIP_MENU();
  49.                 player->TeleportTo(1, 9869.91f, 2493.58f, 1315.88f, 2.78897f);
  50.                 break;
  51.             case 15: // Ironforge
  52.                 player->CLOSE_GOSSIP_MENU();
  53.                 player->TeleportTo(0, -4900.47f, -962.585f, 501.455f, 5.40538f);
  54.                 break;
  55.             case 20: // Exodar
  56.                 player->CLOSE_GOSSIP_MENU();
  57.                 player->TeleportTo(530, -3864.92f, -11643.7f, -137.644f, 5.50862f);
  58.                 break;
  59.             case 25: // Ogrimmar
  60.                 player->CLOSE_GOSSIP_MENU();
  61.                 player->TeleportTo(1, 1601.08f, -4378.69f, 9.9846f, 2.14362f);
  62.                 break;
  63.             case 30: // Thunder Bluff
  64.                 player->CLOSE_GOSSIP_MENU();
  65.                 player->TeleportTo(1, -1274.45f, 71.8601f, 128.159f, 2.80623f);
  66.                 break;
  67.             case 35: // Undercity
  68.                 player->CLOSE_GOSSIP_MENU();
  69.                 player->TeleportTo(0, 1633.75f, 240.167f, -43.1034f, 6.26128f);
  70.                 break;
  71.             case 40: // Silvermoon City
  72.                 player->CLOSE_GOSSIP_MENU();
  73.                 player->TeleportTo(530, 9738.28f, -7454.19f, 13.5605f, 0.043914f);
  74.                 break;
  75.             case 1000: // Back
  76.                 if (player->GetTeam() == ALLIANCE)
  77.                     player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, "|cff4169E1|TInterface\\icons\\Achievement_Leader_King_Varian_Wrynn:30|t Alliance Capital Cities|r", GOSSIP_SENDER_MAIN, 1);
  78.                 else
  79.                     player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, "|cffFF0000|TInterface\\icons\\Achievement_Leader_Sylvanas:30|t Horde Capital Cities|r", GOSSIP_SENDER_MAIN, 2);
  80.                 player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, "Nevermind...", GOSSIP_SENDER_MAIN, 999);
  81.                 player->SEND_GOSSIP_MENU(1, creature->GetGUID());
  82.                 break;
  83.         }
  84.         return true;
  85.     }
  86. };
  87.  
  88. void AddSC_tele_script_mortal()
  89. {
  90.     new tele_script_mortal();
  91. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement