Advertisement
Guest User

[C++] Teleporter V2 Beta

a guest
Oct 6th, 2016
373
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 22.42 KB | None | 0 0
  1. #include "ScriptMgr.h"
  2. #include "ScriptedCreature.h"
  3. #include "ScriptedGossip.h"
  4. #include "Player.h"
  5. #include "Object.h"
  6. #include "Item.h"
  7. #include "Config.h"
  8. #include <cstring>
  9. #include "GossipDef.h"
  10.  
  11. /* Recoded by Shoxxo
  12. Credits goes to Rochet2 for helping me!
  13. Script works 100%
  14.  
  15. Tweaked by SkyLiner - alexandre113
  16. */
  17. class Teleporter : public CreatureScript{
  18. public: Teleporter() : CreatureScript("Teleporter") { }
  19.  
  20.         bool OnGossipHello(Player* player, Creature* creature) override{
  21.             if (player->GetTeam() == ALLIANCE){
  22.                 /*Here was ClearGossipMenuFor*/ //I removed it !
  23.                 AddGossipItemFor(player, 4, "Alliance Cities", GOSSIP_SENDER_MAIN, 1000);
  24.                 AddGossipItemFor(player, 4, "Zum Playertreff", GOSSIP_SENDER_MAIN, 10000);
  25.                 AddGossipItemFor(player, 4, "Neutral Cities", GOSSIP_SENDER_MAIN, 3000);
  26.                 AddGossipItemFor(player, 4, "Dungeons", GOSSIP_SENDER_MAIN, 5000);
  27.             }else{
  28.                 AddGossipItemFor(player, 4, "Horde Cities", GOSSIP_SENDER_MAIN, 2000);
  29.                 AddGossipItemFor(player, 4, "Zum Playertreff", GOSSIP_SENDER_MAIN, 20000);
  30.                 AddGossipItemFor(player, 4, "Neutral Cities", GOSSIP_SENDER_MAIN, 3000);
  31.                 AddGossipItemFor(player, 4, "Dungeons", GOSSIP_SENDER_MAIN, 5000);
  32.             }
  33.             AddGossipItemFor(player, 9, "SWV Instance (Custom instance)", GOSSIP_SENDER_MAIN, 30000);
  34.             AddGossipItemFor(player, 9, "Gurbashi Arena - PvP", GOSSIP_SENDER_MAIN, 3500);
  35.             AddGossipItemFor(player, 10, "Remove Resurrection Sickness", GOSSIP_SENDER_MAIN, 4020);
  36.             AddGossipItemFor(player, 10, "Max My Skills", GOSSIP_SENDER_MAIN, 6776);
  37.             SendGossipMenuFor(player, DEFAULT_GOSSIP_MESSAGE, creature->GetGUID());
  38.             return true;
  39.         }
  40.  
  41.  
  42.         void SendDefaultMenu(Player* player, Creature* creature, uint32 action){
  43.             if (player->IsInCombat()){
  44.                 CloseGossipMenuFor(player);
  45.                 ChatHandler(player->GetSession()).SendSysMessage("I can not help you when you are in combat!");
  46.                 return;
  47.             }
  48.  
  49.             switch (action){
  50.             case 1000: //Alliance Town
  51.                 AddGossipItemFor(player, 10, "Darnassus", GOSSIP_SENDER_MAIN, 1001);
  52.                 AddGossipItemFor(player, 10, "Exodar", GOSSIP_SENDER_MAIN, 1005);
  53.                 AddGossipItemFor(player, 10, "Ironforge", GOSSIP_SENDER_MAIN, 1010);
  54.                 AddGossipItemFor(player, 10, "Stormwind", GOSSIP_SENDER_MAIN, 1015);
  55.                 AddGossipItemFor(player, 4, "<- Main Menu", GOSSIP_SENDER_MAIN, 5005);
  56.                 SendGossipMenuFor(player, DEFAULT_GOSSIP_MESSAGE, creature->GetGUID());
  57.                 break;
  58.             case 2000: //Horde Town
  59.                 AddGossipItemFor(player, 10, "Orgrimmar", GOSSIP_SENDER_MAIN, 2001);
  60.                 AddGossipItemFor(player, 10, "Silvermoon", GOSSIP_SENDER_MAIN, 2005);
  61.                 AddGossipItemFor(player, 10, "Thunder Bluff", GOSSIP_SENDER_MAIN, 2010);
  62.                 AddGossipItemFor(player, 10, "Undercity", GOSSIP_SENDER_MAIN, 2015);
  63.                 AddGossipItemFor(player, 4, "<- Main Menu", GOSSIP_SENDER_MAIN, 5005);
  64.                 SendGossipMenuFor(player, DEFAULT_GOSSIP_MESSAGE, creature->GetGUID());
  65.                 break;
  66.             case 3000: //Neutral Town
  67.                 if (player->getClass() == 6){
  68.                     AddGossipItemFor(player, 10, "Ebon Hold", GOSSIP_SENDER_MAIN, 3001);
  69.                     AddGossipItemFor(player, 10, "Booty Bay", GOSSIP_SENDER_MAIN, 3005);
  70.                     AddGossipItemFor(player, 10, "Dalaran", GOSSIP_SENDER_MAIN, 3010);
  71.                     AddGossipItemFor(player, 10, "Everlook", GOSSIP_SENDER_MAIN, 3015);
  72.                     AddGossipItemFor(player, 10, "Gadegetzan", GOSSIP_SENDER_MAIN, 3020);
  73.                     AddGossipItemFor(player, 10, "Mudsprocket", GOSSIP_SENDER_MAIN, 3025);
  74.                     AddGossipItemFor(player, 10, "Ratchet", GOSSIP_SENDER_MAIN, 3030);
  75.                     AddGossipItemFor(player, 10, "Shattrath City", GOSSIP_SENDER_MAIN, 3035);
  76.                     AddGossipItemFor(player, 10, "Isle Of Quel'Danas", GOSSIP_SENDER_MAIN, 3040);
  77.                     AddGossipItemFor(player, 4, "Dungeons ->", GOSSIP_SENDER_MAIN, 5000);
  78.                     AddGossipItemFor(player, 4, "<- Main Menu", GOSSIP_SENDER_MAIN, 5005);
  79.                 }else{
  80.                     AddGossipItemFor(player, 10, "Booty Bay", GOSSIP_SENDER_MAIN, 3005);
  81.                     AddGossipItemFor(player, 10, "Dalaran", GOSSIP_SENDER_MAIN, 3010);
  82.                     AddGossipItemFor(player, 10, "Everlook", GOSSIP_SENDER_MAIN, 3015);
  83.                     AddGossipItemFor(player, 10, "Gadegetzan", GOSSIP_SENDER_MAIN, 3020);
  84.                     AddGossipItemFor(player, 10, "Mudsprocket", GOSSIP_SENDER_MAIN, 3025);
  85.                     AddGossipItemFor(player, 10, "Ratchet", GOSSIP_SENDER_MAIN, 3030);
  86.                     AddGossipItemFor(player, 10, "Shattrath City", GOSSIP_SENDER_MAIN, 3035);
  87.                     AddGossipItemFor(player, 10, "Isle Of Quel'Danas", GOSSIP_SENDER_MAIN, 3040);
  88.                     AddGossipItemFor(player, 4, "Dungeons ->", GOSSIP_SENDER_MAIN, 5000);
  89.                     AddGossipItemFor(player, 4, "<- Main Menu", GOSSIP_SENDER_MAIN, 5005);
  90.                 }
  91.                 SendGossipMenuFor(player, DEFAULT_GOSSIP_MESSAGE, creature->GetGUID());
  92.                 break;
  93.             case 5000: //Dungeons
  94.                 AddGossipItemFor(player, 4, "Kalimdor ->", GOSSIP_SENDER_MAIN, 5010);
  95.                 AddGossipItemFor(player, 4, "Eastern Kingdoms ->", GOSSIP_SENDER_MAIN, 5015);
  96.                 AddGossipItemFor(player, 4, "Outland ->", GOSSIP_SENDER_MAIN, 5025);
  97.                 AddGossipItemFor(player, 4, "Northrend ->", GOSSIP_SENDER_MAIN, 5030);
  98.                 AddGossipItemFor(player, 4, "<- Main Menu", GOSSIP_SENDER_MAIN, 5005);
  99.                 SendGossipMenuFor(player, DEFAULT_GOSSIP_MESSAGE, creature->GetGUID());
  100.                 break;
  101.             case 5005: //Back To Main Menu
  102.                 if (player->GetTeam() == ALLIANCE){
  103.                     AddGossipItemFor(player, 4, "Alliance Cities", GOSSIP_SENDER_MAIN, 1000);
  104.                     AddGossipItemFor(player, 4, "Zum Playertreff", GOSSIP_SENDER_MAIN, 10000);
  105.                     AddGossipItemFor(player, 4, "Neutral Cities", GOSSIP_SENDER_MAIN, 3000);
  106.                     AddGossipItemFor(player, 4, "Dungeons", GOSSIP_SENDER_MAIN, 5000);
  107.                 }else{ // Main Menu for Horde
  108.                     AddGossipItemFor(player, 4, "Horde Cities", GOSSIP_SENDER_MAIN, 2000);
  109.                     AddGossipItemFor(player, 4, "Zum Playertreff", GOSSIP_SENDER_MAIN, 20000);
  110.                     AddGossipItemFor(player, 4, "Neutral Cities", GOSSIP_SENDER_MAIN, 3000);
  111.                     AddGossipItemFor(player, 4, "Dungeons", GOSSIP_SENDER_MAIN, 5000);
  112.                 }
  113.                 AddGossipItemFor(player, 9, "SWV Instance (Custom instance)", GOSSIP_SENDER_MAIN, 30000);
  114.                 AddGossipItemFor(player, 9, "Gurbashi Arena - PvP", GOSSIP_SENDER_MAIN, 3500);
  115.                 AddGossipItemFor(player, 10, "Remove Resurrection Sickness", GOSSIP_SENDER_MAIN, 4020);
  116.                 AddGossipItemFor(player, 10, "Max My Skills", GOSSIP_SENDER_MAIN, 6776);
  117.                 SendGossipMenuFor(player, DEFAULT_GOSSIP_MESSAGE, creature->GetGUID());
  118.                 break;
  119.             case 5010: //Kalimdor
  120.                 AddGossipItemFor(player, 10, "Blackfathom Deeps", GOSSIP_SENDER_MAIN, 6001);
  121.                 AddGossipItemFor(player, 10, "Caverns of Time", GOSSIP_SENDER_MAIN, 6005);
  122.                 AddGossipItemFor(player, 10, "Dire Maul", GOSSIP_SENDER_MAIN, 6010);
  123.                 AddGossipItemFor(player, 10, "Maraudon", GOSSIP_SENDER_MAIN, 6015);
  124.                 AddGossipItemFor(player, 10, "Onyxia's Lair", GOSSIP_SENDER_MAIN, 6020);
  125.                 AddGossipItemFor(player, 10, "Ragefire Chasm", GOSSIP_SENDER_MAIN, 6025);
  126.                 AddGossipItemFor(player, 10, "Razorfen Downs", GOSSIP_SENDER_MAIN, 6030);
  127.                 AddGossipItemFor(player, 10, "Razorfen Kraul", GOSSIP_SENDER_MAIN, 6035);
  128.                 AddGossipItemFor(player, 10, "Ruins of Ahn'Qiraj", GOSSIP_SENDER_MAIN, 6040);
  129.                 AddGossipItemFor(player, 10, "Temple of Ahn'Qiraj", GOSSIP_SENDER_MAIN, 6045);
  130.                 AddGossipItemFor(player, 10, "Wailing Caverns", GOSSIP_SENDER_MAIN, 6050);
  131.                 AddGossipItemFor(player, 10, "Zul'Farrak", GOSSIP_SENDER_MAIN, 6055);
  132.                 AddGossipItemFor(player, 4, "<- Back", GOSSIP_SENDER_MAIN, 5000);
  133.                 SendGossipMenuFor(player, DEFAULT_GOSSIP_MESSAGE, creature->GetGUID());
  134.                 break;
  135.             case 5015: //Eastern Kingdoms 1
  136.                 AddGossipItemFor(player, 10, "Blackrock Depths", GOSSIP_SENDER_MAIN, 7001);
  137.                 AddGossipItemFor(player, 10, "Blackrock Spire", GOSSIP_SENDER_MAIN, 7005);
  138.                 AddGossipItemFor(player, 10, "Blackwing Lair", GOSSIP_SENDER_MAIN, 7010);
  139.                 AddGossipItemFor(player, 10, "Deadmines", GOSSIP_SENDER_MAIN, 7015);
  140.                 AddGossipItemFor(player, 10, "Gnomeregan", GOSSIP_SENDER_MAIN, 7020);
  141.                 AddGossipItemFor(player, 10, "Isle Of Quel'Danas", GOSSIP_SENDER_MAIN, 7025);
  142.                 AddGossipItemFor(player, 10, "Karazhan", GOSSIP_SENDER_MAIN, 7030);
  143.                 AddGossipItemFor(player, 10, "Molten Core", GOSSIP_SENDER_MAIN, 7035);
  144.                 AddGossipItemFor(player, 4, "More ->", GOSSIP_SENDER_MAIN, 5020);
  145.                 AddGossipItemFor(player, 4, "<- Back", GOSSIP_SENDER_MAIN, 5000);
  146.                 SendGossipMenuFor(player, DEFAULT_GOSSIP_MESSAGE, creature->GetGUID());
  147.                 break;
  148.             case 5020: //Eastern Kingdoms 2
  149.                 AddGossipItemFor(player, 10, "Scarlet Monastery", GOSSIP_SENDER_MAIN, 7040);
  150.                 AddGossipItemFor(player, 10, "Scholomance", GOSSIP_SENDER_MAIN, 7045);
  151.                 AddGossipItemFor(player, 10, "Shadowfang Keep", GOSSIP_SENDER_MAIN, 7050);
  152.                 AddGossipItemFor(player, 10, "Stratholme", GOSSIP_SENDER_MAIN, 7055);
  153.                 AddGossipItemFor(player, 10, "Sunken Temple", GOSSIP_SENDER_MAIN, 7060);
  154.                 AddGossipItemFor(player, 10, "The Stockade", GOSSIP_SENDER_MAIN, 7065);
  155.                 AddGossipItemFor(player, 10, "Uldaman", GOSSIP_SENDER_MAIN, 7070);
  156.                 AddGossipItemFor(player, 10, "Zul'Aman", GOSSIP_SENDER_MAIN, 7075);
  157.                 AddGossipItemFor(player, 10, "Zul'Gurub", GOSSIP_SENDER_MAIN, 7080);
  158.                 AddGossipItemFor(player, 4, "<- Back", GOSSIP_SENDER_MAIN, 5015);
  159.                 AddGossipItemFor(player, 4, "<- Main Menu", GOSSIP_SENDER_MAIN, 5005);
  160.                 SendGossipMenuFor(player, DEFAULT_GOSSIP_MESSAGE, creature->GetGUID());
  161.                 break;
  162.             case 5025: //Outland
  163.                 AddGossipItemFor(player, 10, "Auchindoun", GOSSIP_SENDER_MAIN, 8001);
  164.                 AddGossipItemFor(player, 10, "Black Temple", GOSSIP_SENDER_MAIN, 8005);
  165.                 AddGossipItemFor(player, 10, "Coilfang Reservoir", GOSSIP_SENDER_MAIN, 8010);
  166.                 AddGossipItemFor(player, 10, "Gruul's Lair", GOSSIP_SENDER_MAIN, 8015);
  167.                 AddGossipItemFor(player, 10, "Hellfire Citadel", GOSSIP_SENDER_MAIN, 8020);
  168.                 AddGossipItemFor(player, 10, "Tempest Keep", GOSSIP_SENDER_MAIN, 8025);
  169.                 AddGossipItemFor(player, 4, "<- Back", GOSSIP_SENDER_MAIN, 5000);
  170.                 SendGossipMenuFor(player, DEFAULT_GOSSIP_MESSAGE, creature->GetGUID());
  171.                 break;
  172.             case 5030: //Northrend
  173.                 AddGossipItemFor(player, 10, "Ahn'Kahet", GOSSIP_SENDER_MAIN, 9001);
  174.                 AddGossipItemFor(player, 10, "Azjol-Nerub", GOSSIP_SENDER_MAIN, 9005);
  175.                 AddGossipItemFor(player, 10, "Drak'Tharon Keep", GOSSIP_SENDER_MAIN, 9010);
  176.                 AddGossipItemFor(player, 10, "Gun'Drak", GOSSIP_SENDER_MAIN, 9015);
  177.                 AddGossipItemFor(player, 10, "Icecrown Citadel", GOSSIP_SENDER_MAIN, 9020);
  178.                 AddGossipItemFor(player, 10, "Naxxramas", GOSSIP_SENDER_MAIN, 9025);
  179.                 AddGossipItemFor(player, 10, "The Nexus", GOSSIP_SENDER_MAIN, 9030);
  180.                 AddGossipItemFor(player, 10, "The Obsidian Sanctum", GOSSIP_SENDER_MAIN, 9035);
  181.                 AddGossipItemFor(player, 10, "Utgarde Keep", GOSSIP_SENDER_MAIN, 9040);
  182.                 AddGossipItemFor(player, 10, "Utgarde Pinnacle", GOSSIP_SENDER_MAIN, 9045);
  183.                 AddGossipItemFor(player, 10, "Ulduar", GOSSIP_SENDER_MAIN, 9050);
  184.                 AddGossipItemFor(player, 10, "Violet Hold", GOSSIP_SENDER_MAIN, 9055);
  185.                 AddGossipItemFor(player, 4, "<- Back", GOSSIP_SENDER_MAIN, 5000);
  186.                 SendGossipMenuFor(player, DEFAULT_GOSSIP_MESSAGE, creature->GetGUID());
  187.                 break;
  188.                 //////////////////////////////////////////////////ALLIANCE///////////////////////////////////////////////////////////////
  189.             case 1001: // Darnassus
  190.                 CloseGossipMenuFor(player);
  191.                 player->TeleportTo(1, 9947.52f, 2482.73f, 1316.21f, 0.0f);
  192.                 break;
  193.             case 1005: // Exodar
  194.                 CloseGossipMenuFor(player);
  195.                 player->TeleportTo(530, -3954.20f, -11656.54f, -138.69f, 0.0f);
  196.                 break;
  197.             case 1010: // Ironforge
  198.                 CloseGossipMenuFor(player);
  199.                 player->TeleportTo(0, -4924.07f, -951.95f, 501.55f, 5.40f);
  200.                 break;
  201.             case 1015: // Stormwind
  202.                 CloseGossipMenuFor(player);
  203.                 player->TeleportTo(0, -8960.14f, 516.266f, 96.3568f, 0.0f);
  204.                 break;
  205.                 //////////////////////////////////////////////////HORDE///////////////////////////////////////////////////////////////
  206.             case 2001: // Orgrimmar
  207.                 CloseGossipMenuFor(player);
  208.                 player->TeleportTo(1, 1552.5f, -4420.66f, 8.94802f, 0.0f);
  209.                 break;
  210.             case 2005: // Silvermoon
  211.                 CloseGossipMenuFor(player);
  212.                 player->TeleportTo(530, 9338.74f, -7277.27f, 13.7895f, 0.0f);
  213.                 break;
  214.             case 2010: // Thunder Bluff
  215.                 CloseGossipMenuFor(player);
  216.                 player->TeleportTo(1, -1290.0f, 147.033997f, 129.682007f, 4.919000f);
  217.                 break;
  218.             case 2015: // Undercity
  219.                 CloseGossipMenuFor(player);
  220.                 player->TeleportTo(0, 1819.71f, 238.79f, 60.5321f, 0.0f);
  221.                 break;
  222.                 //////////////////////////////////////////////////NEUTRAL///////////////////////////////////////////////////////////////
  223.             case 3001:// Ebon Hold
  224.                 CloseGossipMenuFor(player);
  225.                 player->TeleportTo(0, 2353.530029f, -5665.819824f, 426.028015f, 0.596f);
  226.                 break;
  227.             case 3005:// Booty Bay
  228.                 CloseGossipMenuFor(player);
  229.                 player->TeleportTo(0, -14438.2f, 472.22f, 15.32f, 0.65f);
  230.                 break;
  231.             case 3010: //Dalaran
  232.                 CloseGossipMenuFor(player);
  233.                 player->TeleportTo(571, 5819.08f, 643.99f, 647.80f, 3.32f);
  234.                 break;
  235.             case 3015: //Everlook
  236.                 CloseGossipMenuFor(player);
  237.                 player->TeleportTo(1, 6724.77f, -4610.68f, 720.78f, 4.78f);
  238.                 break;
  239.             case 3020: //Gadgetzan
  240.                 CloseGossipMenuFor(player);
  241.                 player->TeleportTo(1, -7173.26f, -3785.60f, 8.37f, 6.13f);
  242.                 break;
  243.             case 3025: //Mudsprocket
  244.                 CloseGossipMenuFor(player);
  245.                 player->TeleportTo(1, -4564.79f, -3172.38f, 33.93f, 3.21f);
  246.                 break;
  247.             case 3030: //Ratchet
  248.                 CloseGossipMenuFor(player);
  249.                 player->TeleportTo(1, -956.664f, -3754.71f, 5.33239f, 0.996637f);
  250.                 break;
  251.             case 3035:// Shattrath City
  252.                 CloseGossipMenuFor(player);
  253.                 player->TeleportTo(530, -1850.209961f, 5435.821777f, -10.961435f, 3.403913f);
  254.                 break;
  255.             case 3040:// Isle Of Quel'Danas
  256.                 CloseGossipMenuFor(player);
  257.                 player->TeleportTo(530, 12947.4f, -6893.31f, 5.68398f, 3.09154f);
  258.                 break;
  259.                 //////////////////////////////////////////////////KALIMDOR///////////////////////////////////////////////////////////////
  260.             case 6001:// Blackfathom Deeps
  261.                 CloseGossipMenuFor(player);
  262.                 player->TeleportTo(1, 4248.72f, 744.35f, -24.67f, 1.34f);
  263.                 break;
  264.             case 6005:// Caverns of Time
  265.                 CloseGossipMenuFor(player);
  266.                 player->TeleportTo(1, -8173.66f, -4746.36f, 33.84f, 4.94f);
  267.                 break;
  268.             case 6010:// Dire Maul
  269.                 CloseGossipMenuFor(player);
  270.                 player->TeleportTo(1, -3960.95f, 1130.64f, 161.05f, 0.0f);
  271.                 break;
  272.             case 6015:// Maraudon
  273.                 CloseGossipMenuFor(player);
  274.                 player->TeleportTo(1, -1431.33f, 2962.34f, 98.23f, 4.74f);
  275.                 break;
  276.             case 6020:// Onyxia's Lair
  277.                 CloseGossipMenuFor(player);
  278.                 player->TeleportTo(1, -4707.44f, -3726.82f, 54.6723f, 3.8f);
  279.                 break;
  280.             case 6025:// Ragefire Chasm
  281.                 CloseGossipMenuFor(player);
  282.                 player->TeleportTo(1, 1814.47f, -4419.46f, -18.78f, 5.28f);
  283.                 break;
  284.             case 6030:// Razorfen Downs
  285.                 CloseGossipMenuFor(player);
  286.                 player->TeleportTo(1, -4657.88f, -2525.59f, 81.4f, 4.16f);
  287.                 break;
  288.             case 6035:// Razorfen Kraul
  289.                 CloseGossipMenuFor(player);
  290.                 player->TeleportTo(1, -4463.6f, -1664.53f, 82.26f, 0.85f);
  291.                 break;
  292.             case 6040:// Ruins of Ahn'Qiraj
  293.                 CloseGossipMenuFor(player);
  294.                 player->TeleportTo(1, -8413.33f, 1501.27f, 29.64f, 2.61f);
  295.                 break;
  296.             case 6045:// Temple of Ahn'Qiraj
  297.                 CloseGossipMenuFor(player);
  298.                 player->TeleportTo(1, -8245.837891f, 1983.736206f, 129.071686f, 0.936195f);
  299.                 break;
  300.             case 6050:// Wailing Caverns
  301.                 CloseGossipMenuFor(player);
  302.                 player->TeleportTo(1, -722.53f, -2226.30f, 16.94f, 2.71f);
  303.                 break;
  304.             case 6055:// Zul'Farrak
  305.                 CloseGossipMenuFor(player);
  306.                 player->TeleportTo(1, -6801.9f, -2890.22f, 8.88f, 6.25f);
  307.                 break;
  308.                 //////////////////////////////////////////////////EASTERN KINGDOMS///////////////////////////////////////////////////////////////
  309.             case 7001:// Blackrock Depths
  310.                 CloseGossipMenuFor(player);
  311.                 player->TeleportTo(0, -7180.57f, -920.04f, 165.49f, 5.02f);
  312.                 break;
  313.             case 7005:// Blackrock Spire
  314.                 CloseGossipMenuFor(player);
  315.                 player->TeleportTo(0, -7526.77f, -1225.64f, 285.73f, 5.31f);
  316.                 break;
  317.             case 7010:// Blackwing Lair
  318.                 CloseGossipMenuFor(player);
  319.                 player->TeleportTo(469, -7672.61f, -1107.21f, 396.65f, 3.75f);
  320.                 break;
  321.             case 7015:// Deadmines
  322.                 CloseGossipMenuFor(player);
  323.                 player->TeleportTo(0, -11208.2f, 1675.92f, 24.57f, 1.48f);
  324.                 break;
  325.             case 7020:// Gnomeregan
  326.                 CloseGossipMenuFor(player);
  327.                 player->TeleportTo(0, -5163.32f, 927.18f, 257.158f, 1.44f);
  328.                 break;
  329.             case 7025:// Isle Of Quel'Danas
  330.                 CloseGossipMenuFor(player);
  331.                 player->TeleportTo(530, 13010.00f, -6907.64f, 9.58f, 4.58f);
  332.                 break;
  333.             case 7030:// Karazhan
  334.                 CloseGossipMenuFor(player);
  335.                 player->TeleportTo(0, -11119.6f, -2011.42f, 47.09f, 0.65f);
  336.                 break;
  337.             case 7035:// Molten Core
  338.                 CloseGossipMenuFor(player);
  339.                 player->TeleportTo(230, 1114.85f, -457.76f, -102.81f, 3.83f);
  340.                 break;
  341.             case 7040:// Scarlet Monastery
  342.                 CloseGossipMenuFor(player);
  343.                 player->TeleportTo(0, 2843.89f, -693.74f, 139.32f, 5.11f);
  344.                 break;
  345.             case 7045:// Scholomance
  346.                 CloseGossipMenuFor(player);
  347.                 player->TeleportTo(0, 1273.06f, -2574.01f, 92.66f, 2.06f);
  348.                 break;
  349.             case 7050:// Shadowfang Keep
  350.                 CloseGossipMenuFor(player);
  351.                 player->TeleportTo(0, -239.54f, 1550.8f, 76.89f, 1.18f);
  352.                 break;
  353.             case 7055:// Stratholme
  354.                 CloseGossipMenuFor(player);
  355.                 player->TeleportTo(0, 3370.76f, -3343.63f, 142.26f, 5.23f);
  356.                 break;
  357.             case 7060:// Sunken Temple
  358.                 CloseGossipMenuFor(player);
  359.                 player->TeleportTo(0, -10346.92f, -3851.90f, -43.41f, 6.09f);
  360.                 break;
  361.             case 7065:// The Stockade
  362.                 CloseGossipMenuFor(player);
  363.                 player->TeleportTo(0, -8766.89f, 844.6f, 88.43f, 0.69f);
  364.                 break;
  365.             case 7070:// Uldaman
  366.                 CloseGossipMenuFor(player);
  367.                 player->TeleportTo(0, -6070.72f, -2955.33f, 209.78f, 0.05f);
  368.                 break;
  369.             case 7075:// Zul'Aman
  370.                 CloseGossipMenuFor(player);
  371.                 player->TeleportTo(530, 6851.09f, -7979.71f, 183.54f, 4.72f);
  372.                 break;
  373.             case 7080:// Zul'Gurub
  374.                 CloseGossipMenuFor(player);
  375.                 player->TeleportTo(0, -11916.4f, -1216.23f, 92.28f, 4.75f);
  376.                 break;
  377.                 //////////////////////////////////////////////////OUTLAND///////////////////////////////////////////////////////////////
  378.             case 8001:// Auchindoun
  379.                 CloseGossipMenuFor(player);
  380.                 player->TeleportTo(530, -3322.92f, 4931.02f, -100.56f, 1.86f);
  381.                 break;
  382.             case 8005:// Black Temple
  383.                 CloseGossipMenuFor(player);
  384.                 player->TeleportTo(530, -3649.1f, 317.33f, 35.19f, 2.97f);
  385.                 break;
  386.             case 8010:// Coilfang Reservoir
  387.                 CloseGossipMenuFor(player);
  388.                 player->TeleportTo(530, 721.08f, 6846.77f, -68.75f, 0.34f);
  389.                 break;
  390.             case 8015:// Gruul's Lair
  391.                 CloseGossipMenuFor(player);
  392.                 player->TeleportTo(530, 3539.01f, 5082.36f, 1.69f, 0.0f);
  393.                 break;
  394.             case 8020:// Hellfire Citadel
  395.                 CloseGossipMenuFor(player);
  396.                 player->TeleportTo(530, -292.71f, 3146.77f, 31.60f, 2.05f);
  397.                 break;
  398.             case 8025:// Tempest Keep
  399.                 CloseGossipMenuFor(player);
  400.                 player->TeleportTo(530, 3087.62f, 1376.27f, 184.8f, 4.63f);
  401.                 break;
  402.                 //////////////////////////////////////////////////NORTHREND///////////////////////////////////////////////////////////////
  403.             case 9001:// Ahn'Kahet
  404.                 CloseGossipMenuFor(player);
  405.                 player->TeleportTo(571, 3646.76f, 2045.17f, 1.79f, 4.37f);
  406.                 break;
  407.             case 9005:// Azjol-Nerub
  408.                 CloseGossipMenuFor(player);
  409.                 player->TeleportTo(571, 3675.43f, 2169.00f, 35.90f, 2.29f);
  410.                 break;
  411.             case 9010:// Drak'Tharon Keep
  412.                 CloseGossipMenuFor(player);
  413.                 player->TeleportTo(571, 4450.86f, -2045.25f, 162.83f, 0.00f);
  414.                 break;
  415.             case 9015:// Gun'Drak
  416.                 CloseGossipMenuFor(player);
  417.                 player->TeleportTo(571, 6937.54f, -4455.98f, 450.68f, 1.00f);
  418.                 break;
  419.             case 9020:// Icecrown Citadel
  420.                 CloseGossipMenuFor(player);
  421.                 player->TeleportTo(571, 6139.24f, 2233.72f, 510.79f, 3.56f);
  422.                 break;
  423.             case 9025:// Naxxramas
  424.                 CloseGossipMenuFor(player);
  425.                 player->TeleportTo(571, 3668.72f, -1262.46f, 243.622f, 4.785f);
  426.                 break;
  427.             case 9030:// The Nexus
  428.                 CloseGossipMenuFor(player);
  429.                 player->TeleportTo(571, 3789.95f, 6961.48f, 104.23f, 0.28f);
  430.                 break;
  431.             case 9035:// The Obsidian Sanctum
  432.                 CloseGossipMenuFor(player);
  433.                 player->TeleportTo(571, 3625.78f, 280.4f, -120.14f, 3.25f);
  434.                 break;
  435.             case 9040:// Ulduar
  436.                 CloseGossipMenuFor(player);
  437.                 player->TeleportTo(571, 1219.72f, -4865.28f, 41.25f, 0.31f);
  438.                 break;
  439.             case 9045:// Utgarde Keep
  440.                 CloseGossipMenuFor(player);
  441.                 player->TeleportTo(571, 1245.69f, -4856.59f, 216.86f, 3.45f);
  442.                 break;
  443.             case 9050:// Utgarde Pinnacle
  444.                 CloseGossipMenuFor(player);
  445.                 player->TeleportTo(571, 8976.24f, -1281.33f, 1059.01f, 0.58f);
  446.                 break;
  447.             case 9055:// Violet Hold
  448.                 CloseGossipMenuFor(player);
  449.                 player->TeleportTo(571, 5679.82f, 486.80f, 652.40f, 4.08f);
  450.                 break;
  451.                 //////////////////////////////////////////Player Tools////////////////////////////////////////////////////////
  452.             case 4020://Remove Res Sickness
  453.                 if (player->HasAura(15007)){
  454.                     creature->CastSpell(player, 38588, false); // Healing effect
  455.                     ChatHandler(player->GetSession()).SendSysMessage("You are now cleaned.");
  456.                     player->RemoveAurasDueToSpell(15007);
  457.                     CloseGossipMenuFor(player);
  458.                 }
  459.                 ChatHandler(player->GetSession()).SendSysMessage("Du hast keine Nachwirkungen.");
  460.                 OnGossipHello(player, creature);
  461.                 CloseGossipMenuFor(player);
  462.                 return;
  463.                 break;
  464.                 // PLAYER TOOLS
  465.             case 3500: // Arena PvP Option
  466.                 CloseGossipMenuFor(player);
  467.                 player->TeleportTo(0, -13277.4f, 127.372f, 26.1418f, 1.11878f);
  468.                 break;
  469.             case 6776:
  470.                 player->UpdateSkillsToMaxSkillsForLevel();
  471.                 ChatHandler(player->GetSession()).SendSysMessage("Deine Ferigkeiten wurden auf das Maxumim gesetzt !!!");
  472.                 CloseGossipMenuFor(player);
  473.             }
  474.             break;
  475.             //////////////////////////////////////////Player Tools////////////////////////////////////////////////////////
  476.             case 10000:// Allianz Playertreff
  477.                 CloseGossipMenuFor(player);
  478.                 player->TeleportTo(0, 2918.74f, -1437.36f, 150.782f, 4.28161f);
  479.                 break;
  480.             case 20000:// Horde Playertreff
  481.                 CloseGossipMenuFor(player);
  482.                 player->TeleportTo(1, 7447.3f, -1693.77f, 194.899f, 2.43468f);
  483.                 break;
  484.             case 30000:// SWV instanz
  485.                 CloseGossipMenuFor(player);
  486.                 player->TeleportTo(0, -8645.188477f, 595.820679f, 95.705704f, 2.238403f);
  487.                 break;
  488.             }
  489.         }
  490.  
  491.         bool OnGossipSelect(Player* player, Creature* creature, uint32 sender, uint32 action) override{
  492.             player->PlayerTalkClass->ClearMenus();
  493.             if (sender == GOSSIP_SENDER_MAIN)
  494.                 SendDefaultMenu(player, creature, action);
  495.             return true;
  496.         }
  497. };
  498.  
  499. void AddSC_Teleporter(){
  500.     new Teleporter();
  501. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement