Advertisement
Guest User

Untitled

a guest
Mar 15th, 2016
543
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.60 KB | None | 0 0
  1. // -----------------------------------------------
  2. // -- Panda Script Collections --
  3. // -- Monster Geffen Tower Race --
  4. // -----------------------------------------------
  5. // -- Novice Only Edition --
  6. // -----------------------------------------------
  7. // Version I - Initial Release
  8. // Version II - Added GM commands to control event
  9. // -----------------------------------------------
  10.  
  11. - script Geffen_Race#main -1,{
  12.  
  13. OnGMStart:
  14. if(getgmlevel() < 99){ end; }
  15. if(( compare(.@atcmd_parameters$[0], "stop"))){ set .event_stop,1; doevent "Geffen_Race#main::OnTimeUp"; end; }
  16. if(.event_start == 1){ dispbottom "Geffen Race is currently on-going."; }
  17. if ((compare(.@atcmd_parameters$[0], "start"))){ donpcevent "Geffen_Race#main::OnEventStart"; end; }
  18. end;
  19.  
  20. OnMinute45: //event starts every 45 minutes
  21. if(.event_start == 1) end; //if event is still running, event will not start
  22. OnEventStart:
  23. set .winner,3;
  24. set .event_start,1;
  25. donpcevent "Geffen_Race#time::OnEventStart";
  26. end;
  27.  
  28. OnMonsterSummon:
  29. //First Floor Mobs
  30. monster "gef_tower",52,169,"Novice Hunter",2466,7,strnpcinfo(0)+"::OnMobKill"; //First Floor
  31. monster "gef_tower",66,168,"Novice Hunter",2466,5,strnpcinfo(0)+"::OnMobKill"; //First Floor
  32. monster "gef_tower",33,148,"Novice Hunter",2466,5,strnpcinfo(0)+"::OnMobKill"; //First Floor
  33.  
  34. //Hydro
  35. monster "gef_tower",52,97,"Novice Hunter",1813,2,strnpcinfo(0)+"::OnMobKill"; //Second Floor
  36. monster "gef_tower",52,44,"Novice Hunter",1813,1,strnpcinfo(0)+"::OnMobKill"; //Third Floor
  37. monster "gef_tower",113,154,"Novice Hunter",1813,1,strnpcinfo(0)+"::OnMobKill"; //Fourth Floor
  38. monster "gef_tower",112,171,"Novice Hunter",1813,1,strnpcinfo(0)+"::OnMobKill"; //Fourth Floor
  39. monster "gef_tower",112,103,"Novice Hunter",1813,2,strnpcinfo(0)+"::OnMobKill"; //Fifth Floor
  40. monster "gef_tower",111,64,"Novice Hunter",1813,2,strnpcinfo(0)+"::OnMobKill"; //Sixth Floor
  41.  
  42. //Valkyrie
  43. monster "gef_tower",52,97,"Novice Hunter",1765,2,strnpcinfo(0)+"::OnMobKill"; //Second Floor
  44. monster "gef_tower",52,44,"Novice Hunter",1765,2,strnpcinfo(0)+"::OnMobKill"; //Third Floor
  45. monster "gef_tower",113,154,"Novice Hunter",1765,1,strnpcinfo(0)+"::OnMobKill"; //Fourth Floor
  46. monster "gef_tower",112,171,"Novice Hunter",1765,1,strnpcinfo(0)+"::OnMobKill"; //Fourth Floor
  47. monster "gef_tower",112,122,"Novice Hunter",1765,2,strnpcinfo(0)+"::OnMobKill"; //Fifth Floor
  48. monster "gef_tower",111,73,"Novice Hunter",1765,2,strnpcinfo(0)+"::OnMobKill"; //Sixth Floor
  49.  
  50. sleep 5000;
  51. enablenpc "Geffen Race Reward";
  52. end;
  53.  
  54. OnMobKill:
  55. end;
  56.  
  57. OnTimeUp:
  58. if(.event_start == 0){
  59. dispbottom "Geffen Tower Race have not started. No event to stop.";
  60. end;
  61. }
  62. if(.event_stop == 1){
  63. announce "Geffen Race has been cancelled.",0;
  64. stopnpctimer;
  65. set .event_stop, 0;
  66. set .winner,0;
  67. killmonster "geffen","All";
  68. removemapflag "gef_tower",mf_noitemconsumption;
  69. end;
  70. }
  71. set .winner,0;
  72. set .event_start,0;
  73. disablenpc "Geffen Race Reward";
  74. announce "Geffen Race has ended.",0;
  75. killmonster "gef_tower","All";
  76. removemapflag "gef_tower",mf_noitemconsumption;
  77. end;
  78.  
  79. OnEventReward:
  80. set .@winner$, getvariableofnpc(.winner$,"Geffen Race Reward");
  81. if(.winner == 3){
  82. set .winner,2;
  83. announce .@winner$+" won first place in the Geffen Tower Race",0;
  84. set .@reward,rand(getarraysize(.reward));
  85. getitem .reward[.@reward],1;
  86. warp "SavePoint",0,0;
  87. end;
  88. }
  89. if(.winner == 2){
  90. set .winner,1;
  91. announce .@winner$+" won second place in the Geffen Tower Race",0;
  92. set .@reward,rand(getarraysize(.reward));
  93. getitem .reward[.@reward],1;
  94. warp "SavePoint",0,0;
  95. end;
  96. }
  97. if(.winner == 1){
  98. set .winner,0;
  99. announce .@winner$+" won third place in the Geffen Tower Race",0;
  100. set .@reward,rand(getarraysize(.reward));
  101. getitem .reward[.@reward],1;
  102. disablenpc "Geffen Race Reward";
  103. set .event_start,0;
  104. sleep 2000;
  105. announce "The Geffen Tower Race has ended!",0;
  106. warp "SavePoint",0,0;
  107. end;
  108. }
  109. end;
  110.  
  111. OnInit:
  112. setarray .reward,501,502,503,504,505; //reward here
  113.  
  114. //don't touch anything
  115. set .winner,0;
  116. set .event_start,0;
  117. bindatcmd "race",strnpcinfo(0)+"::OnGMStart";
  118. disablenpc "Geffen Race Reward";
  119. end;
  120.  
  121. }
  122.  
  123. - script Geffen_Race#time -1,{
  124.  
  125. OnEventStart:
  126.  
  127. announce "Geffen Tower Race will begin in 5 minutes.",0;
  128. initnpctimer;
  129. end;
  130.  
  131. OnTimer60000:
  132.  
  133. announce "Geffen Tower Race will begin in 4 minutes.",0;
  134. end;
  135.  
  136. OnTimer120000:
  137.  
  138. announce "Geffen Tower Race will begin in 3 minutes.",0;
  139. end;
  140.  
  141. OnTimer180000:
  142.  
  143. announce "Geffen Tower Race will begin in 2 minutes.",0;
  144. sleep 2000;
  145. announce "Please prepare your novices.",0;
  146. end;
  147.  
  148. OnTimer240000:
  149.  
  150. announce "Geffen Tower Race will begin in 1 minute.",0;
  151. sleep 2000;
  152. announce "Please proceed to Geffen to join.",0;
  153. end;
  154.  
  155.  
  156. OnTimer300000:
  157.  
  158. announce "Geffen Tower Race has begun!",0;
  159. sleep 2000;
  160. announce "Reach the top to claim the rewards!",0;
  161. sleep 2000;
  162. announce "Only novices can claim the prize, consumables have been disabled.",0;
  163. setmapflag "gef_tower",mf_noitemconsumption;
  164. mapwarp "gef_tower","geffen",119,100;
  165. donpcevent "Geffen_Race#main::OnMonsterSummon";
  166. end;
  167.  
  168. OnTimer7200000: //Time Limit (2 hours)
  169. //OnTimer310000:
  170.  
  171. announce "Nobody has won the Geffen Tower Race",0;
  172. stopnpctimer;
  173. donpcevent "Geffen_Race#main::OnTimeUp";
  174. end;
  175.  
  176.  
  177. }
  178.  
  179. gef_tower,109,22,4 script Geffen Race Reward 123,{
  180. if(class != 0){
  181. mes "[ Rewarder ]";
  182. mes "You're not a novice!";
  183. close2;
  184. warp "SavePoint",0,0;
  185. end;
  186. }
  187. mes "[ Rewarder ]";
  188. mes "Congratulations!";
  189. set .winner$,strcharinfo(0);
  190. close2;
  191. doevent "Geffen_Race#main::OnEventReward";
  192. end;
  193.  
  194. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement