Advertisement
FeelTheGhost

MVP Tower

Mar 4th, 2012
145
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.95 KB | None | 0 0
  1. prontera,156,186,3 script MVP Tower 90,{
  2. mes .NPC$ +""; mes "Hello, how may I help you?";
  3. switch(select(""+((.Party)?"[^FF0000"+getpartyname(.Party)+"^000000]":"[^0000FFOpen^000000]")+":Information:"+((getgmlevel() >= .GMLevel)?"Configuration":"")+"")){
  4. case 1: //[Status]
  5. if(!.Party){
  6. set .Party, getcharid(1);
  7. warpparty $Map$,$X,$Y,.Party;
  8. goto L_Start;
  9. } else {
  10. if(getcharid(1) == .Party){ warp $Map$,$X,$Y; close; }
  11. mes .NPC$ +""; mes "A party is already registered. Please wait for your turn.";
  12. close;
  13. }
  14. break;
  15.  
  16. case 2: //Information
  17. next; mes .NPC$ +""; mes "MVP Tower is an automated mini-game.";
  18. next; mes .NPC$ +""; mes "The challenge is for you and your party to kill all monsters in the map.";
  19. if($Timer){ next; mes .NPC$ +""; mes "There is a game timer. Once the timer finish your party will be warped out and the game will end."; }
  20. if(!$Timer){ next; mes .NPC$ +""; mes "There are no game timer. Take your time."; }
  21. next; mes .NPC$ +""; mes "Here are the monster for each level.";
  22. for(set .@i, 0; .@i < getarraysize($Monster); set .@i, .@i + 1){
  23. mes "^FF0000Level "+(.@i+1)+"^000000: "+ getmonsterinfo($Monster[.@i], 0);
  24. }
  25. if(!$Prizing){ next; mes .NPC$ +""; mes "Once your team finish all levels, your team will get the prize."; }
  26. if($Prizing == 1){ next; mes .NPC$ +""; mes "Every time your team kill the monster in each level, your team will get the prize."; }
  27. if($Prizing == 2){ next; mes .NPC$ +""; mes "Every time your team kill the monster in each level, your team will get the prize. Your team will also get another prize if your team completed the event."; }
  28. next; mes .NPC$ +""; mes "Here are the prizes for each level.";
  29. for(set .@i, 0; .@i < getarraysize($PrizeLevel); set .@i, .@i + 1){
  30. mes "^FF0000Level "+(.@i+1)+"^000000: "+getitemname($PrizeLevel[.@i])+" x ["+$AmountLevel[.@i]+"]";
  31. }
  32. break;
  33.  
  34. case 3: //Configuration
  35. if(getgmlevel() < .GMLevel){ close; }
  36. L_GMConfig:
  37. next; mes .NPC$ +""; mes "Hello Game Master. How may I help you?";
  38. switch(select("Map:Monster:Timer:Prize:Reinitialize")){
  39. case 1:
  40. next; mes .NPC$ +""; mes "Your current setting.";
  41. mes "^FF0000Map: "+$Map$+","+$X+","+$Y+"^000000";
  42. next; mes .NPC$ +""; mes "Do you want to change it?";
  43. if(select("No:Yes") == 1){ close; }
  44. next; mes .NPC$ +""; mes "Where to warp players for the event?";
  45. input .@i$;
  46. next; mes .NPC$ +""; mes "What is the X-Coordinate?";
  47. input .@j;
  48. next; mes .NPC$ +""; mes "What is the Y-Coordinate?";
  49. input .@k;
  50. next; mes .NPC$ +""; mes "Confirm your settings.";
  51. mes "^FF0000Map: "+.@i$+","+.@j+","+.@k+"^000000";
  52. switch(select("Cancel:Confirm")){
  53. case 1: //Cancel
  54. break;
  55. case 2: //Confirm
  56. set $Map$, .@i$;
  57. set $X, .@j;
  58. set $Y, .@k;
  59. next; mes .NPC$ +""; mes "^FF0000Setting has been updated.^000000"; goto L_GMConfig;
  60. }
  61. break;
  62. case 2:
  63. next; mes .NPC$ +""; mes "Your current setting.";
  64. for(set .@i, 0; .@i < getarraysize($Monster); set .@i, .@i + 1){
  65. mes "^FF0000Level "+(.@i+1)+"^000000: "+ getmonsterinfo($Monster[.@i], 0);
  66. }
  67. next; mes .NPC$ +""; mes "Do you want to change it?";
  68. if(select("No:Yes") == 1){ goto L_GMConfig; }
  69. while(.@j > $Round){
  70. mes "Input Monster ID:";
  71. input $MonsterA[.@k];
  72. mes "^FF0000Level "+(.@k+1)+"^000000: "+ getmonsterinfo($MonsterA[.@k], 0);
  73. set .@k, .@k + 1;
  74. }
  75. next; mes .NPC$ +""; mes "Confirm your settings.";
  76. for(set .@i, 0; .@i < getarraysize($MonsterA); set .@i, .@i + 1){
  77. mes "^FF0000Level "+(.@i+1)+"^000000:"+ getmonsterinfo($MonsterA[.@i], 0);
  78. }
  79. switch(select("Cancel:Confirm")){
  80. case 1: //Cancel
  81. break;
  82. case 2: //Confirm
  83. copyarray $Monster[0], $MonsterA[0], 128;
  84. next; mes .NPC$ +""; mes "^FF0000Setting has been updated.^000000"; goto L_GMConfig;
  85. }
  86. break;
  87. case 3:
  88. next; mes .NPC$ +""; mes "Your current setting.";
  89. mes "Timer: "+(($Timer)?"^66FF33ON^000000":"^FF0000OFF^000000")+"";
  90. next; mes .NPC$ +""; mes "Do you want to change it?";
  91. if(select("No:Yes") == 1){ goto L_GMConfig; }
  92. next; mes .NPC$ +""; mes "Do you want the timers to be turned ^66FF33ON^000000 or ^FF0000OFF^000000?";
  93. switch(select("^66FF33ON^000000:^FF0000OFF^000000")){
  94. case 1: //On
  95. set $Timer, 1;
  96. next; mes .NPC$ +""; mes "^FF0000Setting has been updated.^000000"; goto L_GMConfig;
  97. break;
  98. case 2: //Off
  99. set $Timer, 0;
  100. next; mes .NPC$ +""; mes "^FF0000Setting has been updated.^000000"; goto L_GMConfig;
  101. break;
  102. }
  103. break;
  104. case 4:
  105. next; mes .NPC$ +""; mes "Your current setting.";
  106. if(!$Prizing){ mes "Prizing: ^666666Once your team finish all levels, your team will get the prize.^000000"; }
  107. if($Prizing == 1){ mes "Prizing: ^666666Every time you kill the monster in each level, your team will get the prize.^000000"; }
  108. if($Prizing == 2){ mes "Prizing: ^666666Every time your team kill the monster in each level, your team will get the prize. Your team will also get another prize if your team completed the event.^000000"; }
  109. if($Prizing == 0 || $Prizing == 2){
  110. mes "^FF0000Item ID^000000: "+ getitemname($PrizeTower);
  111. mes "^FF0000Amount^000000: "+ $AmountTower;
  112. }
  113. if($Prizing){
  114. for(set .@i, 0; .@i < getarraysize($PrizeLevel); set .@i, .@i + 1){
  115. mes "^FF0000Level "+(.@i+1)+"^000000: "+getitemname($PrizeLevel[.@i])+" x ["+$AmountLevel[.@i]+"]";
  116. }
  117. }
  118. next; mes .NPC$ +""; mes "Do you want to change it?";
  119. if(select("No:Yes") == 1){ goto L_GMConfig; }
  120. next; mes .NPC$ +""; mes "How is the prizing setting?";
  121. //Prize Setting
  122. switch(select("Get the prize at the end of the event:Get the prize each MVP Kill:Both")){
  123. case 1: //Get the prize at the end of the event
  124. set .@i, 0;
  125. break;
  126. case 2: //Get the prize each MVP Kill
  127. set .@i, 1;
  128. break;
  129. case 3: //Both
  130. set .@i, 2;
  131. break;
  132. }
  133. //Prize Input
  134. if(!.@i){
  135. next; mes .NPC$ +""; mes "What is the Item ID that each member will if they finish the event?";
  136. input .@j;
  137. next; mes .NPC$ +""; mes "How many should they get?";
  138. input .@k;
  139. goto L_PConfirm;
  140. }
  141. if(.@i == 1){
  142. while(.@a > $Round){
  143. mes "Input Item ID and Amount:";
  144. input $PrizeA[.@b];
  145. input $AmountA[.@b];
  146. mes "^FF0000Level "+(.@b+1)+"^000000: "+getitemname($PrizeA[.@b])+", "+$AmountA[.@b]+"";
  147. set .@b, .@b + 1;
  148. }
  149. goto L_PConfirm;
  150. }
  151. //Prize Confirm
  152. L_PConfirm:
  153. next; mes .NPC$ +""; mes "Confirm your settings.";
  154. if(!.@i){ mes "Prizing: ^666666Once your team finish all levels, your team will get the prize.^000000"; }
  155. if(.@i == 1){ mes "Prizing: ^666666Every time you kill the monster in each level, your team will get the prize.^000000"; }
  156. if(.@i == 2){ mes "Prizing: ^666666Every time your team kill the monster in each level, your team will get the prize. Your team will also get another prize if your team completed the event.^000000"; }
  157. if(!.@i|| .@ == 2){
  158. mes "^FF0000Item^000000: "+ getitemname(.@j);
  159. mes "^FF0000Amount^000000: "+ .@k;
  160. }
  161. if(.@i){
  162. for(set .@o, 0; .@o < getarraysize($PrizeA); set .@o, .@o + 1){
  163. mes "^FF0000Level "+(.@o+1)+"^000000: "+getitemname($PrizeA[.@o])+" x ["+$AmountA[.@o]+"]";
  164. }
  165. }
  166. switch(select("Cancel:Confirm")){
  167. case 1: //Cancel
  168. break;
  169. case 2: //Confirm
  170. set $Prizing, .@i;
  171. if(!.@i){
  172. set $PrizeTower, .@j;
  173. set $AmountTower, .@k;
  174. }
  175. if(.@i == 1){
  176. copyarray $PrizeLevel[0], $PrizeA[0], 128;
  177. copyarray $AmountLevel[0], $AmountA[0], 128;
  178. }
  179. next; mes .NPC$ +""; mes "^FF0000Setting has been updated.^000000"; goto L_GMConfig;
  180. break;
  181. }
  182. break;
  183. case 5:
  184. next; mes .NPC$ +""; mes "^FF0000Setting has been reinitialized.^000000"; goto L_GMConfig;
  185. break;
  186. }
  187. break;
  188. }
  189. close;
  190.  
  191. L_Start:
  192.  
  193. end;
  194.  
  195. L_End:
  196.  
  197. end;
  198.  
  199. OnInit:
  200. //--General Configuration
  201. set .NPC$, "[MVP Tower]"; //NPC Name
  202. set .GMLevel, 90; //Minimum GM Level to activate Configuration
  203. if(!$MinParty){ set $MinParty, 7; } //Minimum Party Members
  204. if(!$Timer){ set $Timer, 0; } //0:Off | 1:On
  205. if(!$Round){ set $Round, 2; } //How many rounds?
  206.  
  207. //--Map
  208. if(!$Map$){ set $Map$, "guild_vs5"; } //Map Name
  209. if(!$X){ set $X, 51; } //X-Coordinate
  210. if(!$Y){ set $Y, 48; } //Y-Coordinate
  211.  
  212. //--Prize
  213. if(!$Prizing){ set $Prizing, 1; } //0:Get prize at the end of the event | 1:Get prize after each MVP kill | 2: Both
  214.  
  215. if(!$PrizeTower){ set $PrizeTower, 7179; } //Item ID
  216. if(!$AmountTower){ set $AmountTower, 10; } //Amount
  217.  
  218. if(!$PrizeLevel[0]){ setarray $PrizeLevel[0], 4236; } //Amon Ra Card
  219. if(!$PrizeLevel[1]){ setarray $PrizeLevel[1], 4425; } //Atroce Card
  220. if(!$AmountLevel[0]){ setarray $AmountLevel[0], 1; } //1 ea
  221. if(!$AmountLevel[1]){ setarray $AmountLevel[1], 1; } //1 ea
  222.  
  223. //--Monster
  224. if(!$Monster[0]){ setarray $Monster[0], 1511; } //Amon Ra
  225. if(!$Monster[1]){ setarray $Monster[1], 1785; } //Atroce
  226. end;
  227. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement