Advertisement
Sleinzel

Untitled

Apr 17th, 2011
140
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.61 KB | None | 0 0
  1. #include "Setup.h"
  2.  
  3.  
  4.  
  5. class GossipPortNpc: public Arcemu::Gossip::Script
  6. {
  7. public:
  8.  
  9. void OnHello(Object* pObject, Player* Plr)
  10. {
  11.  
  12. Arcemu::Gossip::Menu menu(pObject->GetGUID(), 1);
  13. menu.AddItem( Arcemu::Gossip::ICON_CHAT, "Playertreff", 1);
  14. menu.AddItem( Arcemu::Gossip::ICON_CHAT, "Chillzone", 2);
  15. menu.AddItem( Arcemu::Gossip::ICON_CHAT, "Levelarena", 3);
  16. menu.AddItem( Arcemu::Gossip::ICON_CHAT, "Staedte", 4);
  17. menu.AddItem( Arcemu::Gossip::ICON_BATTLE,"Gurubashi Arena", 5);
  18. menu.AddItem( Arcemu::Gossip::ICON_BATTLE,"Custom Inis", 6);
  19. menu.AddItem( Arcemu::Gossip::ICON_INTERACT_1, "Wiederbelebungsnachwirkungen entfernen", 7);
  20. menu.AddItem( Arcemu::Gossip::ICON_BATTLE, "Heilen", 8);
  21. menu.AddItem( Arcemu::Gossip::ICON_INTERACT_2, "Buffen", 9);
  22. menu.Send(Plr);
  23. }
  24. void OnSelectOption(Object* pObject, Player* Plr, uint32 Id, const char * EnteredCode)
  25. {
  26. if (Id == 1){
  27. Plr->SafeTeleport( 1, 0, -11821.4f, -4760.38f, 7.011f, 2.3f);
  28. Arcemu::Gossip::Menu::Complete(Plr);
  29. }
  30. if (Id == 2){
  31. Plr->SafeTeleport(530, 0, -1844.81f, 8481.88f, -20.7f, 4.7f);
  32. Arcemu::Gossip::Menu::Complete(Plr);
  33. }
  34. if (Id == 3){
  35. Plr->SafeTeleport(1,0, -4474.75f, -778.4f, -41.5f, 1.88f);
  36. Arcemu::Gossip::Menu::Complete(Plr);
  37. }
  38. if (Id == 4){
  39. Arcemu::Gossip::Menu menu1(pObject->GetGUID(), 7345);
  40. if (Plr->getRace() == 1 || Plr->getRace() == 3 || Plr->getRace() == 4 || Plr->getRace() == 7 || Plr->getRace() == 11)
  41. { Arcemu::Gossip::Menu menu1(pObject->GetGUID(), 1);
  42. menu1.AddItem( Arcemu::Gossip::ICON_CHAT, "Sturmwind", 50);
  43. menu1.AddItem( Arcemu::Gossip::ICON_CHAT, "Eisenschmiede", 51);
  44. menu1.AddItem( Arcemu::Gossip::ICON_CHAT, "Darnassus", 52);
  45. menu1.AddItem( Arcemu::Gossip::ICON_CHAT, "Exodar", 53);
  46. menu1.AddItem( Arcemu::Gossip::ICON_CHAT, "Shattrath", 54);
  47. menu1.AddItem( Arcemu::Gossip::ICON_CHAT, "Dalaran", 55);
  48.  
  49. menu1.Send(Plr);
  50.  
  51.  
  52.  
  53. }
  54.  
  55. if (Plr->getRace() == 2 || Plr->getRace() == 5 || Plr->getRace() == 6 || Plr->getRace() == 8 || Plr->getRace() == 10)
  56. { Arcemu::Gossip::Menu menu1(pObject->GetGUID(), 1);
  57. menu1.AddItem( Arcemu::Gossip::ICON_CHAT, "Orgrimmar", 56);
  58. menu1.AddItem( Arcemu::Gossip::ICON_CHAT, "Donnerfels", 57);
  59. menu1.AddItem( Arcemu::Gossip::ICON_CHAT, "Unterstadt", 58);
  60. menu1.AddItem( Arcemu::Gossip::ICON_CHAT, "Silbermond", 59);
  61. menu1.AddItem( Arcemu::Gossip::ICON_CHAT, "Shattrath", 54);
  62. menu1.AddItem( Arcemu::Gossip::ICON_CHAT, "Dalaran", 55);
  63.  
  64. menu1.Send(Plr);
  65. }
  66.  
  67.  
  68. }
  69.  
  70. if (Id == 5){
  71. Plr->SafeTeleport(0, 0, -13255.29f, 171.114f, 34.001f, 1.1f);
  72. Arcemu::Gossip::Menu::Complete(Plr);
  73. }
  74. if (Id == 6){
  75. Arcemu::Gossip::Menu menu2 (pObject->GetGUID(), 1);
  76. menu2.AddItem( Arcemu::Gossip::ICON_BATTLE, "T11 Instanz", 10);
  77. menu2.AddItem( Arcemu::Gossip::ICON_BATTLE, "T11,5 Instanz", 11);
  78. menu2.AddItem( Arcemu::Gossip::ICON_BATTLE, "Worldboss 1", 12);
  79. menu2.AddItem( Arcemu::Gossip::ICON_BATTLE, "Worldboss 2", 13);
  80.  
  81. menu2.Send(Plr);
  82.  
  83. }
  84. if (Id == 7){
  85. Plr->addSpell(15007);
  86. Plr->removeSpell(15007, false, false, 0);
  87. Arcemu::Gossip::Menu::Complete(Plr);
  88. }
  89. if (Id == 8){
  90. Plr->SetHealthPct(100);
  91. Arcemu::Gossip::Menu::Complete(Plr);
  92. }
  93. if (Id == 9){
  94. Plr->CooldownCheat = true;
  95. Plr->CastTimeCheat = true;
  96. Plr->CastSpell(Plr, 56520, false);
  97. Plr->CastSpell(Plr, 58054, false);
  98. Plr->CastSpell(Plr, 56521, false);
  99. Plr->CastSpell(Plr, 48469, false);
  100. Plr->CastSpell(Plr, 42995, false);
  101. Plr->CastSpell(Plr, 48161, false);
  102. Plr->CooldownCheat = false;
  103. Plr->CastTimeCheat = false;
  104. }
  105. if (Id == 10){
  106.  
  107. Plr->SafeTeleport(0, 0, -7525.8f, -1226.01f, 286.001f, 1.1f);
  108. Arcemu::Gossip::Menu::Complete(Plr);
  109. }
  110. if (Id == 11){
  111. Plr->SafeTeleport(571,0, 3897.2f, 6985.001f, 70.001f, 0);
  112. Arcemu::Gossip::Menu::Complete(Plr);
  113. }
  114. if (Id == 12){
  115. if (Plr->HasFinishedQuest(80515) == true){
  116. Plr->SafeTeleport(571,0, 3860, 6989, 153, 0);
  117. }
  118. }
  119. if (Id == 13){
  120. if (Plr->HasFinishedQuest(80515) == true){
  121. Plr->SafeTeleport(0, 0, -10705.509766f, -419.256134f, 126.1f, 0);
  122. }
  123. }
  124. if (Id == 50){
  125. Plr->SafeTeleport(0,0, -8913.23f, 554.63f, 93.79f, 1);
  126. Arcemu::Gossip::Menu::Complete(Plr);
  127. }
  128.  
  129. if (Id == 51){
  130. Plr->SafeTeleport(0,0, -4982.16f, -880.75f, 501.65f, 1);
  131. Arcemu::Gossip::Menu::Complete(Plr);
  132. }
  133. if (Id == 52){
  134. Plr->SafeTeleport(1,0, 9945.49f, 2609.89f, 1316.26f, 1);
  135. Arcemu::Gossip::Menu::Complete(Plr);
  136. }
  137. if (Id == 53){
  138. Plr->SafeTeleport(530, 0, -4002.67f, -11875.54f, -0.71f, 1);
  139. Arcemu::Gossip::Menu::Complete(Plr);
  140. }
  141. if (Id == 54){
  142. Plr->SafeTeleport(530,0, -1817.82f, 5453.04f, -12.42f, 1);
  143. Arcemu::Gossip::Menu::Complete(Plr);
  144. }
  145. if (Id == 55){
  146. Plr->SafeTeleport(571, 0, 5804.75f, 615, 651.2f, 1);
  147. Arcemu::Gossip::Menu::Complete(Plr);
  148. }
  149. if (Id == 56){
  150. Plr->SafeTeleport(1,0, 1502.71f, -4415.41f, 21.77f, 1);
  151. Arcemu::Gossip::Menu::Complete(Plr);
  152. }
  153. if (Id == 57){
  154. Plr->SafeTeleport(1,0, -1285.23f, 117.86f, 132.99f, 1);
  155. Arcemu::Gossip::Menu::Complete(Plr);
  156. }
  157. if (Id == 58){
  158. Plr->SafeTeleport(0,0, 1831.26f, 238.52f, 60.52f, 1);
  159. Arcemu::Gossip::Menu::Complete(Plr);
  160. }
  161. if (Id == 59){
  162. Plr->SafeTeleport(530,0, 9398.75f, -7277.41f, 14.21f, 1);
  163. Arcemu::Gossip::Menu::Complete(Plr);
  164. }
  165. if (Id == 999){
  166. Arcemu::Gossip::Menu::Complete(Plr);
  167. }
  168. }
  169. void Destroy() { delete this; }
  170. };
  171.  
  172. void SetupPortNPC(ScriptMgr * mgr)
  173. {
  174. mgr->register_creature_gossip(50130, new GossipPortNpc); // PortNPC
  175. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement