Advertisement
Guest User

Teleporter V2 by Shoxxo Fixxed

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