Advertisement
Guest User

Teleporter by Dr.Core

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