Advertisement
Guest User

Untitled

a guest
Aug 2nd, 2013
44
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.32 KB | None | 0 0
  1. #include "ScriptPCH.h"
  2.  
  3.  
  4. class teleporter : public CreatureScript
  5. {
  6. public:
  7. teleporter() : CreatureScript("teleporter") { }
  8.  
  9. bool OnGossipHello(Player* player, Creature* creature)
  10. {
  11. if (player->IsInCombat())
  12. {
  13. player->CLOSE_GOSSIP_MENU();
  14. player->GetSession()->SendNotification("You're in combat!");
  15. creature->MonsterWhisper("You're in combat!", LANG_UNIVERSAL, NULL);
  16. return false;
  17. }
  18.  
  19. player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TALK,"Mall",GOSSIP_SENDER_MAIN,GOSSIP_ACTION_INFO_DEF+1);
  20. player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TAXI,"Cities",GOSSIP_SENDER_MAIN,GOSSIP_ACTION_INFO_DEF+2);
  21. player->ADD_GOSSIP_ITEM(GOSSIP_ICON_BATTLE,"PVP",GOSSIP_SENDER_MAIN,GOSSIP_ACTION_INFO_DEF+3);
  22. player->ADD_GOSSIP_ITEM(GOSSIP_ICON_VENDOR,"Items and repair",GOSSIP_SENDER_MAIN,GOSSIP_ACTION_INFO_DEF+4);
  23.  
  24.  
  25. player->SEND_GOSSIP_MENU(1, creature->GetGUID()); // This sends the menu to the player
  26. return true;
  27. }
  28.  
  29. bool OnGossipSelect(Player* player, Creature* creature, uint32 sender, uint32 action);
  30. {
  31. player->playerTalkClass->ClearMenus();
  32.  
  33. switch (uiaction)
  34.  
  35. {
  36. case GOSSIP_ACTION_INFO_DEF+1: //The mall category defined
  37. player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT,"Gadgetzan",GOSSIP_SENDER_MAIN,GOSSIP_ACTION_INFO_DEF+5);
  38. player->SEND_GOSSIP_MENU(1, creature->GetGUID());
  39. break;
  40.  
  41. case GOSSIP_ACTION_INFO_DEF+2: //Cities Category
  42. if (player->GetTeam() == HORDE)
  43. {
  44. player->ADD_GOSSIP_ITEM(GOSSIP_ICON_INTERACT_1," #FF1919 Horde",GOSSIP_SENDER_MAIN,GOSSIP_ACTION_INFO_DEF+6);
  45. player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TAXI,"Orgrimmar",GOSSIP_SENDER_MAIN,GOSSIP_ACTION_INFO_DEF+7);
  46. player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TAXI,"ThunderBluff",GOSSIP_SENDER_MAIN,GOSSIP_ACTION_INFO_DEF+8);
  47. player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TAXI,"Undercity",GOSSIP_SENDER_MAIN,GOSSIP_ACTION_INFO_DEF+9);
  48. player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TAXI,"Silvermoon",GOSSIP_SENDER_MAIN,GOSSIP_ACTION_INFO_DEF+10);
  49. }else{
  50.  
  51. player->ADD_GOSSIP_ITEM(GOSSIP_ICON_INTERACT_1,"#0000FF Alliance",GOSSIP_SENDER_MAIN,GOSSIP_ACTION_INFO_DEF+11);
  52. player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TAXI,"Stormwind",GOSSIP_SENDER_MAIN,GOSSIP_ACTION_INFO_DEF+12);
  53. player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TAXI,"Ironforge",GOSSIP_SENDER_MAIN,GOSSIP_ACTION_INFO_DEF+13);
  54. player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TAXI,"Darnasus",GOSSIP_SENDER_MAIN,GOSSIP_ACTION_INFO_DEF+14);
  55. player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TAXI,"Exodar",GOSSIP_SENDER_MAIN,GOSSIP_ACTION_INFO_DEF+15);
  56. }
  57. player->ADD_GOSSIP_ITEM(GOSSIP_ICON_INTERACT_1,"#FF9900 Neutral",GOSSIP_SENDER_MAIN,GOSSIP_ACTION_INFO_DEF+16);
  58. player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TAXI,"Dalaran",GOSSIP_SENDER_MAIN,GOSSIP_ACTION_INFO_DEF+17);
  59. player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TAXI,"Shattrah",GOSSIP_SENDER_MAIN,GOSSIP_ACTION_INFO_DEF+18);
  60. player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TAXI,"Booty Bay",GOSSIP_SENDER_MAIN,GOSSIP_ACTION_INFO_DEF+19);
  61. player->SEND_GOSSIP_MENU(1, creature->GetGUID());
  62. break;
  63.  
  64. case GOSSIP_ACTION_INFO_DEF+3: //PvP Category
  65. player->ADD_GOSSIP_ITEM(GOSSIP_ICON_BATTLE,"Gurubashi Arena",GOSSIP_SENDER_MAIN,GOSSIP_ACTION_INFO_DEF+20);
  66. player->SEND_GOSSIP_MENU(1, creature->GetGUID());
  67. break;
  68.  
  69.  
  70. case GOSSIP_ACTION_INFO_DEF+5: //Gadgetzan
  71. player->CLOSE_GOSSIP_MENU();
  72. player->TeleportTo(1, -7177.15f, -3785.34f, 8.36981f, 6.10237f);
  73. break;
  74.  
  75.  
  76. case GOSSIP_ACTION_INFO_DEF+7: //Orgrimmar
  77. player->CLOSE_GOSSIP_MENU();
  78. player->TeleportTo(1, 1629.36f, -4373.39f, 31.2564f, 3.54839f);
  79. break;
  80.  
  81.  
  82. case GOSSIP_ACTION_INFO_DEF+8: //Undercity
  83. player->CLOSE_GOSSIP_MENU();
  84. player->TeleportTo(0, 1584.07f, 241.987f, -52.1534f, 0.049647f);
  85. break;
  86.  
  87.  
  88. case GOSSIP_ACTION_INFO_DEF+9: // Thunderbluff
  89. player->CLOSE_GOSSIP_MENU();
  90. player->TeleportTo(1, -1277.37f, 124.804f, 131.287f, 5.22274f);
  91. break;
  92.  
  93.  
  94. case GOSSIP_ACTION_INFO_DEF+10: //Silvermoon
  95. player->CLOSE_GOSSIP_MENU();
  96. player->TeleportTo(530, 9487.69f, -7279.2f, 14.2866f, 6.16478f);
  97. break;
  98.  
  99.  
  100. case GOSSIP_ACTION_INFO_DEF+12: //Stormwind
  101. player->CLOSE_GOSSIP_MENU();
  102. player->TeleportTo(0, -8833.38f, 628.628f, 94.0066f, 1.06535f);
  103. break;
  104.  
  105.  
  106. case GOSSIP_ACTION_INFO_DEF+13: //Ironforge
  107. player->CLOSE_GOSSIP_MENU();
  108. player->TeleportTo(0, -4918.88f, -940.406f, 501.564f, 5.42347f);
  109. break;
  110.  
  111.  
  112. case GOSSIP_ACTION_INFO_DEF+14: //Darnasus
  113. player->CLOSE_GOSSIP_MENU();
  114. player->TeleportTo(1, 9949.56f, 2284.21f, 1341.4f, 1.59587f);
  115. break;
  116.  
  117.  
  118. case GOSSIP_ACTION_INFO_DEF+15: //Exodar
  119. player->CLOSE_GOSSIP_MENU();
  120. player->TeleportTo(530, -3965.7f, -11653.6f, -138.844f, 0.852154f);
  121. break;
  122.  
  123.  
  124. case GOSSIP_ACTION_INFO_DEF+17: //dalaran
  125. player->CLOSE_GOSSIP_MENU();
  126. player->TeleportTo(571, 5804.15f, 624.771f, 647.767f, 1.64f);
  127. break;
  128.  
  129. case GOSSIP_ACTION_INFO_DEF+18: //shattrah
  130. player->CLOSE_GOSSIP_MENU();
  131. player->TeleportTo(530, -1838.16f, 5301.79f, -12.428f, 5.9517f);
  132. break;
  133.  
  134.  
  135. case GOSSIP_ACTION_INFO_DEF+19: //Booty bay
  136. player->CLOSE_GOSSIP_MENU();
  137. player->TeleportTo(0, -14297.2f, 530.993f, 8.77916f, 3.98863f);
  138. break;
  139.  
  140.  
  141.  
  142. case GOSSIP_ACTION_INFO_DEF+4: // Send a vendor to repair
  143. player->CLOSE_GOSSIP_MENU();
  144. player->GetSession()->SendListInventory(creature->GetGUID(),25054);
  145. break;
  146.  
  147. return true;
  148. }
  149.  
  150. }
  151. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement