Advertisement
yvoms

Untitled

Mar 21st, 2013
115
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 12.41 KB | None | 0 0
  1. /*
  2. _____ ____
  3. | ___| __ ___ _______ _ __ / ___|___ _ __ ___
  4. | |_ | '__/ _ \_ / _ \ '_ \| | / _ \| '__/ _ \
  5. | _|| | | (_) / / __/ | | | |__| (_) | | | __/
  6. |_| |_| \___/___\___|_| |_|\____\___/|_| \___|
  7. Lightning speed and strength
  8. conjured directly from the depths of logic!
  9. Infusion-WoW 2011 - 2012 (C)
  10. <--------------------------------------------------------------------------->
  11. - Developer(s): Ghostcrawler & Yvoms
  12. - Complete: 100%
  13. - ScriptName: 'teleporter'
  14. - Comment: Untested
  15. <--------------------------------------------------------------------------->
  16. */
  17. #include "ScriptPCH.h"
  18. #include "Chat.h"
  19.  
  20. class global_teleporter : public CreatureScript
  21. {
  22. public:
  23. global_teleporter() : CreatureScript("global_teleporter") { }
  24.  
  25. bool OnGossipHello(Player* pPlayer, Creature* pCreature)
  26. {
  27. if (pPlayer->isInCombat())
  28. {
  29. pPlayer->GetSession()->SendNotification("You are in combat");
  30. return false;
  31. }
  32. pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Starter Area", GOSSIP_SENDER_MAIN, 0); //done
  33. pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Main Cities", GOSSIP_SENDER_MAIN, 1); //done
  34. pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Dungeons", GOSSIP_SENDER_MAIN, 2); //done
  35. pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Raids", GOSSIP_SENDER_MAIN, 3); //done
  36. pPlayer->ADD_GOSSIP_ITEM(4, "Never mind", GOSSIP_SENDER_MAIN, 100); //done
  37. pPlayer->PlayerTalkClass->SendGossipMenu(10, pCreature->GetGUID());
  38. return true;
  39. }
  40.  
  41. bool OnGossipSelect(Player* pPlayer, Creature* pCreature,uint32 uiSender, uint32 uiAction)
  42. {
  43.  
  44. pPlayer->PlayerTalkClass->ClearMenus();
  45.  
  46. switch (uiAction)
  47. {
  48. case 0:
  49. {
  50. pCreature->CastSpell(pPlayer,35517,false);
  51. pPlayer->TeleportTo(169, -111.677f, 1655.95f, 92.0078f, 4.72747f);
  52. ChatHandler(pPlayer->GetSession()).PSendSysMessage("You have been teleported to The Starter Area!", pPlayer->GetName());
  53. }
  54.  
  55. case 1: // Main Citys
  56. {
  57. pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Dalaran", GOSSIP_SENDER_MAIN, 10);
  58. pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Shattrath", GOSSIP_SENDER_MAIN, 11);
  59. if (pPlayer->GetTeam() == ALLIANCE) {
  60. pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Stormwind", GOSSIP_SENDER_MAIN, 12);
  61. pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Ironforge", GOSSIP_SENDER_MAIN, 13);
  62. pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Darnassus", GOSSIP_SENDER_MAIN, 14);
  63. pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "The Exodar", GOSSIP_SENDER_MAIN, 15);
  64. pPlayer->ADD_GOSSIP_ITEM(0, "Nevermind", GOSSIP_SENDER_MAIN, 5000);
  65. pPlayer->PlayerTalkClass->SendGossipMenu(10, pCreature->GetGUID());
  66. }else //Horde Citys
  67. {
  68. pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Orgrimmar", GOSSIP_SENDER_MAIN, 16);
  69. pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Undercity", GOSSIP_SENDER_MAIN, 17);
  70. pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Thunderbluff", GOSSIP_SENDER_MAIN, 18);
  71. pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Silvermoon", GOSSIP_SENDER_MAIN, 19);
  72. pPlayer->ADD_GOSSIP_ITEM(0, "Nevermind", GOSSIP_SENDER_MAIN, 5000);
  73. pPlayer->PlayerTalkClass->SendGossipMenu(10, pCreature->GetGUID());
  74. return true;
  75. }
  76. }
  77.  
  78. case 2:
  79. {
  80. pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Hellfire Ramparts", GOSSIP_SENDER_MAIN, 20);
  81. pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Blood Furnace", GOSSIP_SENDER_MAIN, 21);
  82. pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Shattered Halls", GOSSIP_SENDER_MAIN, 22);
  83. pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Auchenai Crypts", GOSSIP_SENDER_MAIN, 23);
  84. pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Mana tombs", GOSSIP_SENDER_MAIN, 24);
  85. pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Sethekk halls", GOSSIP_SENDER_MAIN, 25);
  86. pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "The Mechanar", GOSSIP_SENDER_MAIN, 26);
  87. pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "The Botanica", GOSSIP_SENDER_MAIN, 27);
  88. pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "The Arcatraz", GOSSIP_SENDER_MAIN, 28);
  89. pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "The underbog", GOSSIP_SENDER_MAIN, 29);
  90. pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "The Slavepens", GOSSIP_SENDER_MAIN, 30);
  91. pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "The Steamvaults", GOSSIP_SENDER_MAIN, 31);
  92. pPlayer->ADD_GOSSIP_ITEM(0, "Nevermind", GOSSIP_SENDER_MAIN, 5000);
  93. pPlayer->PlayerTalkClass->SendGossipMenu(10, pCreature->GetGUID());
  94. return true;
  95. }
  96.  
  97. case 3:
  98. {
  99. pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Serpentshrine Caverns", GOSSIP_SENDER_MAIN, 32);
  100. pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Black temple", GOSSIP_SENDER_MAIN, 33);
  101. pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, "Sunwell Plateau", GOSSIP_SENDER_MAIN, 34);
  102. pPlayer->ADD_GOSSIP_ITEM(0, "Nevermind", GOSSIP_SENDER_MAIN, 5000);
  103. pPlayer->PlayerTalkClass->SendGossipMenu(10, pCreature->GetGUID());
  104. return true;
  105. }
  106.  
  107.  
  108. case 10: // Dalaran
  109. {
  110. pCreature->CastSpell(pPlayer,35517,false);
  111. pPlayer->TeleportTo(571, 5804.149902f, 624.770996f,648.747009f, 1.640000f);
  112. ChatHandler(pPlayer->GetSession()).PSendSysMessage("You have been teleported to Dalaran!", pPlayer->GetName());
  113. }
  114.  
  115. case 11: // Shattarth
  116. {
  117. pCreature->CastSpell(pPlayer,35517,false);
  118. pPlayer->TeleportTo(230, 990.414f, -218.775f, -61.7892f, 5.49272f);
  119. ChatHandler(pPlayer->GetSession()).PSendSysMessage("You have been teleported to Shattarth!", pPlayer->GetName());
  120. }break;
  121.  
  122. case 12: // Stormwind
  123. {
  124. pCreature->CastSpell(pPlayer,35517,false);
  125. pPlayer->TeleportTo(0, -8833.379883f, 628.627991f, 95.826599f, 1.065350f);
  126. ChatHandler(pPlayer->GetSession()).PSendSysMessage("You have been teleported to Stormwind", pPlayer->GetName());
  127. }break;
  128.  
  129. case 13: // Ironforge
  130. {
  131. pCreature->CastSpell(pPlayer,35517,false);
  132. pPlayer->TeleportTo(0, -4918.879883f, -940.406006f, 504.854126f, 5.423470f);
  133. ChatHandler(pPlayer->GetSession()).PSendSysMessage("You have been teleported to Ironforge!", pPlayer->GetName());
  134. }break;
  135.  
  136. case 14: // Darnassus
  137. {
  138. pCreature->CastSpell(pPlayer,35517,false);
  139. pPlayer->TeleportTo(1, 9949.559570f, 2284.20996f, 1342.969482f, 1.595870f);
  140. ChatHandler(pPlayer->GetSession()).PSendSysMessage("You have been teleported to Darnassus!", pPlayer->GetName());
  141. }break;
  142.  
  143. case 15: // Exodar
  144. {
  145. pCreature->CastSpell(pPlayer,35517,false);
  146. pPlayer->TeleportTo(530, -3965.699951f, -11653.599609f, -137.184998f, 0.852154f);
  147. ChatHandler(pPlayer->GetSession()).PSendSysMessage("You have been teleported to The Exodar!", pPlayer->GetName());
  148. }break;
  149.  
  150. case 16: // Orgrimmar
  151. {
  152. pCreature->CastSpell(pPlayer,35517,false);
  153. pPlayer->TeleportTo(1, 1629.359985f, -4373.390137f, 33.097401f, 3.548390f);
  154. ChatHandler(pPlayer->GetSession()).PSendSysMessage("You have been teleported to Orgrimmar!", pPlayer->GetName());
  155. }break;
  156.  
  157. case 17: // Undercity
  158. {
  159. pCreature->CastSpell(pPlayer,35517,false);
  160. pPlayer->TeleportTo(0, 1584.069946f, 241.987000f, -51.075413f, 1.296860f);
  161. ChatHandler(pPlayer->GetSession()).PSendSysMessage("You have been teleported to Undercity!", pPlayer->GetName());
  162. }break;
  163.  
  164. case 18: // Thunderbluff
  165. {
  166. pCreature->CastSpell(pPlayer,35517,false);
  167. pPlayer->TeleportTo(1, -1277.369995f, 124.804001f, 134.094009f, 5.222740f);
  168. ChatHandler(pPlayer->GetSession()).PSendSysMessage("You have been teleported to Thunderbluff!", pPlayer->GetName());
  169. }break;
  170.  
  171. case 19: // Silvermoon
  172. {
  173. pCreature->CastSpell(pPlayer,35517,false);
  174. pPlayer->TeleportTo(530, 9482.883789f, -7278.637207f, 18.480778f, 6.040224f);
  175. ChatHandler(pPlayer->GetSession()).PSendSysMessage("You have been teleported to Silvermoon!", pPlayer->GetName());
  176. }break;
  177.  
  178. case 20: // Hellfire Ramparts
  179. {
  180. pCreature->CastSpell(pPlayer,35517,false);
  181. pPlayer->TeleportTo(530, -360.883118f, 3072.533447f, -15.093476f, 1.893890f);
  182. ChatHandler(pPlayer->GetSession()).PSendSysMessage("You have been teleported to Hellfire Ramparts!", pPlayer->GetName());
  183. }break;
  184.  
  185. case 21: // Blood Furnace
  186. {
  187. pCreature->CastSpell(pPlayer,35517,false);
  188. pPlayer->TeleportTo(530, -295.249725f, 3150.676270f, 31.551857f, 2.271470f);
  189. ChatHandler(pPlayer->GetSession()).PSendSysMessage("You have been teleported to The Blood Furnace!", pPlayer->GetName());
  190. }break;
  191.  
  192. case 22: // Shattered Halls
  193. {
  194. pCreature->CastSpell(pPlayer,35517,false);
  195. pPlayer->TeleportTo(530, -308.603027f, 3072.02661f, -3.650236f, 1.888880f);
  196. ChatHandler(pPlayer->GetSession()).PSendSysMessage("You have been teleported to The Shattered Halls!", pPlayer->GetName());
  197. }break;
  198.  
  199. case 23: // Auchenai Crypts
  200. {
  201. pCreature->CastSpell(pPlayer,35517,false);
  202. pPlayer->TeleportTo(530, -3359.523438f, 5208.140625f, -101.049301f, 1.547178f);
  203. ChatHandler(pPlayer->GetSession()).PSendSysMessage("You have been teleported to Auchenai Crypts!", pPlayer->GetName());
  204. }break;
  205.  
  206. case 24: // Mana tombs
  207. {
  208. pCreature->CastSpell(pPlayer,35517,false);
  209. pPlayer->TeleportTo(530, -3104.993164f, 4946.600586f, -101.521210f, 4.916537f);
  210. ChatHandler(pPlayer->GetSession()).PSendSysMessage("You have been teleported to The Manatombs!", pPlayer->GetName());
  211. }break;
  212.  
  213. case 25: // Setthek Halls
  214. {
  215. pCreature->CastSpell(pPlayer,35517,false);
  216. pPlayer->TeleportTo(530, -3361.233643f, 4673.360352f, -101.049149f, 4.716270f);
  217. ChatHandler(pPlayer->GetSession()).PSendSysMessage("You have been teleported to The Setthek Halls!", pPlayer->GetName());
  218. }break;
  219.  
  220. case 26: // The mechanar
  221. {
  222. pCreature->CastSpell(pPlayer,35517,false);
  223. pPlayer->TeleportTo(530, 2884.034180f, 1561.143677f, 248.892197f, 3.606196f);
  224. ChatHandler(pPlayer->GetSession()).PSendSysMessage("You have been teleported to The Mechanar!", pPlayer->GetName());
  225. }break;
  226.  
  227. case 27: // The Botanica
  228. {
  229. pCreature->CastSpell(pPlayer,35517,false);
  230. pPlayer->TeleportTo(530, 3397.392334f, 1499.322144f, 179.564270f, 5.59550f);
  231. ChatHandler(pPlayer->GetSession()).PSendSysMessage("You have been teleported to The Botanica!", pPlayer->GetName());
  232. }break;
  233.  
  234. case 28: // The Arcatraz
  235. {
  236. pCreature->CastSpell(pPlayer,35517,false);
  237. pPlayer->TeleportTo(530, 3303.712158f, 1353.727661f, 502.284485f, 4.946860f);
  238. ChatHandler(pPlayer->GetSession()).PSendSysMessage("You have been teleported to The Arcatraz!", pPlayer->GetName());
  239. }break;
  240.  
  241. case 29: // The Underbog
  242. {
  243. pCreature->CastSpell(pPlayer,35517,false);
  244. pPlayer->TeleportTo(530, 777.088989f, 6763.450195f, -72.066200f, 5.029677f);
  245. ChatHandler(pPlayer->GetSession()).PSendSysMessage("You have been teleported to The Underbog!", pPlayer->GetName());
  246. }break;
  247.  
  248. case 30: // The Slavepens
  249. {
  250. pCreature->CastSpell(pPlayer,35517,false);
  251. pPlayer->TeleportTo(530, 719.507996f, 6999.339844f, -73.074303f, 4.527020f);
  252. ChatHandler(pPlayer->GetSession()).PSendSysMessage("You have been teleported to The Slavepens!", pPlayer->GetName());
  253. }break;
  254.  
  255. case 31: // The Steamvaults
  256. {
  257. pCreature->CastSpell(pPlayer,35517,false);
  258. pPlayer->TeleportTo(530, 816.590027f, 6934.669922f, -80.544601f, 0.159089f);
  259. ChatHandler(pPlayer->GetSession()).PSendSysMessage("You have been teleported to The Steamvaults", pPlayer->GetName());
  260. }break;
  261.  
  262. case 32: // SerpentShrine Caverns
  263. {
  264. pCreature->CastSpell(pPlayer,35517,false);
  265. pPlayer->TeleportTo(530, 808.600586f, 6865.366211f, -67.603935f, 0.057295f);
  266. ChatHandler(pPlayer->GetSession()).PSendSysMessage("You have been teleported to The SerpentShrine Caverns", pPlayer->GetName());
  267. }break;
  268.  
  269. case 33: // Black Temple
  270. {
  271. pCreature->CastSpell(pPlayer,35517,false);
  272. pPlayer->TeleportTo(530, -3653.510010f, 317.493011f, 36.167088f, 2.942850f);
  273. ChatHandler(pPlayer->GetSession()).PSendSysMessage("You have been teleported to The Black Temple", pPlayer->GetName());
  274. }break;
  275.  
  276. case 34: // Sunwell Plateau
  277. {
  278. pCreature->CastSpell(pPlayer,35517,false);
  279. pPlayer->TeleportTo(530, 12577.687500f, -6775.914551f, 15.091022f, 3.137880f);
  280. ChatHandler(pPlayer->GetSession()).PSendSysMessage("You have been teleported to The Sunwell Plateau", pPlayer->GetName());
  281. }break;
  282.  
  283. case 100:
  284. {
  285. pPlayer->PlayerTalkClass->SendCloseGossip();
  286. }break;
  287. {
  288.  
  289. }
  290. }
  291. return true;
  292. }
  293.  
  294. };
  295.  
  296. void AddSC_global_teleporter()
  297. {
  298. new global_teleporter();
  299. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement