Advertisement
Guest User

Untitled

a guest
Mar 28th, 2017
50
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.71 KB | None | 0 0
  1. /*
  2. This file is part of the OdinMS Maple Story Server
  3. Copyright (C) 2008 Patrick Huy <patrick.huy@frz.cc>
  4. Matthias Butz <matze@odinms.de>
  5. Jan Christian Meyer <vimes@odinms.de>
  6.  
  7. This program is free software: you can redistribute it and/or modify
  8. it under the terms of the GNU Affero General Public License version 3
  9. as published by the Free Software Foundation. You may not use, modify
  10. or distribute this program under any other version of the
  11. GNU Affero General Public License.
  12.  
  13. This program is distributed in the hope that it will be useful,
  14. but WITHOUT ANY WARRANTY; without even the implied warranty of
  15. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  16. GNU Affero General Public License for more details.
  17.  
  18. You should have received a copy of the GNU Affero General Public License
  19. along with this program. If not, see <http://www.gnu.org/licenses/>.
  20. */
  21.  
  22. //Wonky The Fairy
  23.  
  24. var status = 0;
  25. var mySelection = -1;
  26. var foodSelection = -1;
  27. var minLevel = 55; //51
  28. var maxLevel = 120; //70
  29. var minPlayers = 1;
  30. var maxPlayers = 6;
  31. var foodArray = Array(2001001, 2001002, 2020000, 2020003, 2020001, 0); //0 means nothing
  32. var blessingArray = Array(2022090, 2022091, 2022092, 2022093); //Blessing IDs
  33. var warriors = Array(100, 110, 111, 120, 121, 130, 131);
  34. var mages = Array(200, 210, 211, 220, 221, 230, 231);
  35. var rangerz = Array(300, 310, 311, 320, 321);
  36. var theifs = Array(400, 411, 410, 421, 420);
  37. var gmz = Array(500, 510);
  38. var numOfWarriors = 0;
  39. var numOfMages = 0;
  40. var numOfRangers = 0;
  41. var numOfThiefs = 0;
  42. var numOfGMs = 0;
  43.  
  44. function start() {
  45. status = -1;
  46. action(1, 0, 0);
  47. }
  48.  
  49. function action(mode, type, selection) {
  50. if (mode == -1) {
  51. cm.dispose();
  52. } else {
  53. if (mode == 0 && status == 0) {
  54. cm.dispose();
  55. return;
  56. }
  57. if (mode == 1)
  58. status++;
  59. else
  60. status--;
  61. if (cm.getPlayer().getMapId() == 541020200) {
  62. if (status == 0) {
  63. cm.sendSimple("Xin chào, tôi là Tiên Béo Ph½. B¢n muÑn làm g¾ hôm nay nào?#b\r\n#L0#Уng kü tham gia.#l\r\n#L1#Cho «Ó £n.#l");
  64. }else if (status == 1 && selection == 0) {
  65. // Slate has no preamble, directly checks if you're in a party
  66. if (cm.getParty() == null) { // no party
  67. cm.sendOk("H»y nói chuy½n vÜi tôi khi nào b¢n có «Øi h¾nh nhé!");
  68. cm.dispose();
  69. return;
  70. }
  71. if (!cm.isLeader()) { // not party leader
  72. cm.sendOk("Trïäng nhóm ph¡i g¶p tôi mÜi «ïæc.");
  73. cm.dispose();
  74. }else {
  75. // Check teh partyy
  76. var party = cm.getParty().getMembers();
  77. var mapId = cm.getChar().getMapId();
  78. var next = true;
  79. var levelValid = 0;
  80. var inMap = 0;
  81. // Temp removal for testing
  82. if (party.size() < minPlayers || party.size() > maxPlayers) {
  83. next = false;
  84. } else {
  85. for (var i = 0; i < party.size() && next; i++) {
  86. if ((party.get(i).getLevel() >= minLevel) && (party.get(i).getLevel() <= maxLevel))
  87. levelValid += 1;
  88. if (party.get(i).getMapid() == mapId)
  89. inMap += 1;
  90. if (party.get(i).getJobId() == 100 || party.get(i).getJobId() == 110 || party.get(i).getJobId() == 111 || party.get(i).getJobId() == 120 || party.get(i).getJobId() == 121 || party.get(i).getJobId() == 130 || party.get(i).getJobId() == 131) {
  91. numOfWarriors += 1;
  92. }
  93. if (party.get(i).getJobId() == 200 || party.get(i).getJobId() == 210 || party.get(i).getJobId() == 211 || party.get(i).getJobId() == 220 || party.get(i).getJobId() == 221 || party.get(i).getJobId() == 230 || party.get(i).getJobId() == 231) {
  94. numOfMages += 1;
  95. }
  96. if (party.get(i).getJobId() == 300 || party.get(i).getJobId() == 310 || party.get(i).getJobId() == 311 || party.get(i).getJobId() == 320 || party.get(i).getJobId() == 321) {
  97. numOfRangers += 1;
  98. }
  99. if (party.get(i).getJobId() == 400 || party.get(i).getJobId() == 410 || party.get(i).getJobId() == 411 || party.get(i).getJobId() == 420 || party.get(i).getJobId() == 421) {
  100. numOfThiefs += 1;
  101. }
  102. if (party.get(i).getJobId() == 500 || party.get(i).getJobId() == 510) {
  103. numOfGMs += 1;
  104. }
  105. }
  106. if (levelValid < party.size() || inMap < party.size())
  107. next = false;
  108. }
  109. if (next) {
  110. var em = cm.getEventManager("OrbisPQ");
  111. if (em == null) {
  112. cm.sendOk("Troll.");
  113. cm.dispose();
  114. }
  115. else {
  116. em.startInstance(cm.getParty(), cm.getChar().getMap());
  117. if ((numOfWarriors >= 1 && numOfMages >= 1 && numOfRangers >= 1 && numOfThiefs >= 1) || (numOfGMs > 0)) {//Checks the party so gives buff if needed
  118. for (var ii = 0; ii < party.size(); ii++) {
  119. var randmm = Math.floor(Math.random() * blessingArray.length);
  120. var buffToGivee = blessingArray[randmm];
  121. party.get(ii).giveItemBuff(buffToGivee);
  122. }
  123. }
  124. cm.dispose();
  125.  
  126. }
  127. cm.dispose();
  128. } else {
  129. cm.sendOk("Nhóm b¢n không có m¶t «®y «ç, ho¶c có ngïßi không «ç «i¹u ki½n «º «i.");
  130. cm.dispose();
  131. }
  132. }
  133. }
  134. else if (status == 1 && selection == 1) {
  135. cm.sendSimple("B¢n cho tôi £n g¾ nào?#b\r\n#L0##t2001001##l\r\n#L1##t2001002##l\r\n#L2##t2020000##l\r\n#L3##t2020003##l\r\n#L4##t2020001##l\r\n#L5#Cñt luØc ch¬m m¤m tôm...#l#k");
  136. } else if (status == 2) {
  137. foodSelection = selection;
  138. if (foodSelection >= 0 && foodSelection <= (foodArray.length - 2)) {
  139. if (cm.haveItem(foodArray[foodSelection], 1)) {
  140. cm.sendOk("Cám Ûn «» cho tôi £n, nhïng tôi v°n cÆn «ói.");
  141. cm.gainItem(foodArray[foodSelection], -1);
  142. cm.dispose();
  143. } else {
  144. cm.sendNext("S¶c, thñc £n «âu?");
  145. cm.playerMessage("Tiên Béo Ph½ tÇ ra không hài lÆng!!!");
  146. cm.dispose();
  147. }
  148. } else {
  149. cm.sendNext("H¡? B¢n giån m¶t à?");
  150. cm.playerMessage("Tiên Béo Ph½ tÇ ra không hài lÆng!!!");
  151. cm.dispose();
  152. }
  153. }
  154. } else if (cm.getPlayer().getMapId() == 920010000) {
  155. if (status == 0) {
  156. cm.sendYesNo("B¢n thûc sû muÑn rßi khÇi nhi½m vî sao? B¢n v°n có thº b¤t «®u l¢i.");
  157. } else if (status == 1) {
  158. var eim = cm.getChar().getEventInstance();
  159. var party = cm.getChar().getEventInstance().getPlayers();
  160. var exitMapz = cm.getPlayer().getClient().getChannelServer().getMapFactory().getMap(920011200);
  161. for (var outt = 0; outt<party.size(); outt++) {//Kick everyone out =D
  162. party.get(outt).changeMap(exitMapz, exitMapz.getPortal(0));
  163. eim.unregisterPlayer(party.get(outt));
  164. }
  165. cm.dispose();
  166. }
  167. }
  168. }
  169. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement