Advertisement
EmuDevs

EmuDevs: TrinityCore - Teleporter

Nov 1st, 2013
129
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 4.28 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.                 break;
  35.             case 2:
  36.                 player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, "|cffFF0000|TInterface\\icons\\Achievement_Leader_Sylvanas:30|t Ogrimmar|r", GOSSIP_SENDER_MAIN, 25);
  37.                 player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, "|cffFF0000|TInterface\\icons\\Achievement_Leader_Sylvanas:30|t Thunder Bluff|r", GOSSIP_SENDER_MAIN, 30);
  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.                 break;
  42.             case 5: // Stormwind
  43.                 player->CLOSE_GOSSIP_MENU();
  44.                 player->TeleportTo(0, -8842.09f, 626.358f, 94.0867f, 3.61363f);
  45.                 break;
  46.             case 10: // Darnassus
  47.                 player->CLOSE_GOSSIP_MENU();
  48.                 player->TeleportTo(1, 9869.91f, 2493.58f, 1315.88f, 2.78897f);
  49.                 break;
  50.             case 15: // Ironforge
  51.                 player->CLOSE_GOSSIP_MENU();
  52.                 player->TeleportTo(0, -4900.47f, -962.585f, 501.455f, 5.40538f);
  53.                 break;
  54.             case 20: // Exodar
  55.                 player->CLOSE_GOSSIP_MENU();
  56.                 player->TeleportTo(530, -3864.92f, -11643.7f, -137.644f, 5.50862f);
  57.                 break;
  58.             case 25: // Ogrimmar
  59.                 player->CLOSE_GOSSIP_MENU();
  60.                 player->TeleportTo(1, 1601.08f, -4378.69f, 9.9846f, 2.14362f);
  61.                 break;
  62.             case 30: // Thunder Bluff
  63.                 player->CLOSE_GOSSIP_MENU();
  64.                 player->TeleportTo(1, -1274.45f, 71.8601f, 128.159f, 2.80623f);
  65.                 break;
  66.             case 35: // Undercity
  67.                 player->CLOSE_GOSSIP_MENU();
  68.                 player->TeleportTo(0, 1633.75f, 240.167f, -43.1034f, 6.26128f);
  69.                 break;
  70.             case 40: // Silvermoon City
  71.                 player->CLOSE_GOSSIP_MENU();
  72.                 player->TeleportTo(530, 9738.28f, -7454.19f, 13.5605f, 0.043914f);
  73.                 break;
  74.             case 1000: // Back
  75.                 if (player->GetTeam() == ALLIANCE)
  76.                     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);
  77.                 else
  78.                     player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, "|cffFF0000|TInterface\\icons\\Achievement_Leader_Sylvanas:30|t Horde Capital Cities|r", GOSSIP_SENDER_MAIN, 2);
  79.                 player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, "Nevermind...", GOSSIP_SENDER_MAIN, 999);
  80.                 player->SEND_GOSSIP_MENU(1, creature->GetGUID());
  81.                 break;
  82.         }
  83.         return true;
  84.     }
  85. };
  86.  
  87. void AddSC_tele_script_mortal()
  88. {
  89.     new tele_script_mortal();
  90. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement