Advertisement
Sleinzel

Untitled

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