yuhsing

Untitled

Dec 22nd, 2012
39
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 11.41 KB | None | 0 0
  1.  
  2. - script gvg_event -1,{
  3. OnInit:
  4. // @event setup
  5. // @event on
  6. // @event off
  7. bindatcmd( "event",strnpcinfo(0)+"::OnAtCommand" );
  8.  
  9. // map lists.
  10. setarray .map$[0],"guild_vs3","guild_vs4";
  11. //mapflags list
  12. setarray .mapflag[0],mf_nosave;
  13.  
  14. // dont edit these stuffs.
  15. set .map_size,getarraysize( .map$ );
  16. set .mf_size,getarraysize( .mapflag );
  17.  
  18. for( set .@i,0; .@i < .map_size; set .@i,.@i + 1 ){
  19. set .map_menu$,.map_menu$ + .map$[.@i] + ":";
  20. for( set .@mf,0; .@mf < .mf_size; set .@mf,.@mf + 1 )
  21. setmapflag .map$[.@i],.mapflag[.@mf];
  22. // mapwarp .map$[.@i],"prontera",155,181;
  23. }
  24. //hide walls
  25. donpcevent "::OnHideWall";
  26. end;
  27.  
  28. OnAtCommand:
  29. // if( getgmlevel() < 90 ) end;
  30.  
  31. if( .@atcmd_parameters$[0] == "setup" ){
  32. if( .status == 1 ){
  33. mes "The Event Running now...";
  34. }else{
  35. mes "Your option...";
  36. do{
  37. next;
  38. set .@option,select( "Select Map ^0055FF["+.map$[.map_selected]+"]^000000",
  39. ( getarraysize( .participant_list ) )?"":"Set Max Team ["+.MaxTeam+"]",
  40. ( !.MaxTeam || getarraysize( .participant_list ) )?"":"Enable Registration",
  41. ( !getarraysize( .participant_list ) )?"":"Reset Registration",
  42. "Close" );
  43.  
  44. switch( .@option ){
  45. Case 1:
  46. mes "Please select your map.";
  47. set .map_selected,select( .map_menu$ ) - 1;
  48. mes "Selected ^0055FF"+.map$[.map_selected]+"^000000";
  49. break;
  50. Case 2:
  51. mes "Input Team Number..";
  52. mes "Minimum 2 team.";
  53. mes "Maximum 4 Team.";
  54. input .MaxTeam,2,4;
  55. break;
  56. Case 3:
  57. mes "Enable 4 Team Leader to register now on "+.map$[.map_selected]+" ?";
  58. if( select("Yes:No") == 1 ){
  59. mes "You will be warped there.";
  60. close2;
  61. hideoffnpc ( ( !.map_selected )?"Register#event1":"Register#event2" );
  62. hideonnpc ( ( .map_selected )?"Register#event1":"Register#event2" );
  63. warp .map$[.map_selected],50,50;
  64. end;
  65. }
  66. break;
  67. Case 3:
  68. mes "All Participants has been cleared and required to Re-Register.";
  69. deletearray .participant_list;
  70. default: break;
  71. }
  72. }while( .@option != 4 );
  73. }
  74.  
  75. }else if( .@atcmd_parameters$[0] == "on" ){
  76. if( .status == 1 ){
  77. mes "Event Running now...";
  78. }else if( getarraysize( .participant_list ) != .MaxTeam ){
  79. mes "Please ensure all "+.MaxTeam+" Teams has been registered by their Leader";
  80. if( getarraysize( .participant_list ) ) mes "Current Registered :";
  81. for( set .@i,0; .@i < getarraysize( .participant_list ); set .@i,.@i + 1 )
  82. if( .map_selected ){
  83. mes "^777777"+getpartyname( .participant_list[.@i] )+"^000000";
  84. }else{
  85. mes "^777777"+getguildname( .participant_list[.@i] )+"^000000";
  86. }
  87.  
  88. }else{
  89. hideoffnpc ( ( .map_selected )?"Register#event1":"Register#event1" );
  90. mapannounce .map$[.map_selected],"Event Starting...",bc_blue;
  91.  
  92. // set coordinates
  93. if( .map_selected ){ // guild_vs4
  94. setarray .@x[0],6,49,91,49;
  95. setarray .@y[0],50,93,49,6;
  96. }else{ // guild_vs3
  97. setarray .@x[0],15,50,84,50;
  98. setarray .@y[0],54,85,50,12;
  99. }
  100.  
  101. // allocate participants.
  102. for( set .@i,0; .@i < getarraysize( .participant_list ); set .@i,.@i + 1 )
  103. if( .map_selected )
  104. warpparty .map$[.map_selected],.@x[.@i],.@y[.@i],.participant_list[.@i];
  105. else
  106. warpguild .map$[.map_selected],.@x[.@i],.@y[.@i],.participant_list[.@i];
  107.  
  108. // set walls.
  109. donpcevent ( ( !.map_selected )?"walls#event1::OnShowWall":"walls#event2::OnShowWall" );
  110.  
  111. // countdown...
  112. mapannounce "guild_vs4","Please prepare yourself, event start within 20 seconds.",bc_blue;
  113. for( set .@i,20; .@i >= 0; set .@i,.@i - 1 ){
  114. set .time,.@i;
  115. donpcevent ( ( !.map_selected )?"::OnCreate1":"::OnCreate2" );
  116. sleep 1000;
  117. }
  118.  
  119. // remove walls.
  120. donpcevent ( ( !.map_selected )?"walls#event1::OnHideWall":"walls#event2::OnHideWall" );
  121.  
  122. mapannounce .map$[.map_selected],"Event Start NOW...Rush and kill your opponents.....",bc_blue;
  123. }
  124.  
  125. }else if( .@atcmd_parameters$[0] == "off" ){
  126. if( .status == 0 ){
  127. mes "NO Event Running now...";
  128. }else{
  129. mes "Event will be end now..";
  130. donpcevent "::OnShowWall";
  131. close2;
  132. deletearray .participant_list;
  133. mapannounce .map$[.map_selected],"Event will be stop now....",bc_blue;
  134. sleep 3000;
  135. mapwarp .map$[.map_selected],"prontera",155,181;
  136. end;
  137. }
  138.  
  139. }else{
  140. mes "To setup Event";
  141. mes "^0055FF ~ @Event setup^000000";
  142. mes "To start Event";
  143. mes "^0055FF ~ @Event on^000000";
  144. mes "To end Event";
  145. mes "^0055FF ~ @Event off^000000";
  146. }
  147. close;
  148.  
  149.  
  150. // 0 = gvg = guild_vs3
  151. // 1 = pvp = guild_vs4
  152. OnRegister:
  153. if( getgmlevel() >= 90 ){
  154. npctalk "Please recall the Team Leader to register with me now.";
  155. end;
  156. }
  157. setarray .@team_id,getcharid(2),getcharid(1);
  158. setarray .@team_name,getguildname( getcharid(2) ),getpartyname( getcharid(1) );
  159. setarray .@id[0],getguildmaster( getcharid(2) ),getpartyleader( getcharid(1),2 );
  160.  
  161. if( getcharid(0) != .@id[.map_selected] ){
  162. mes "Only leader can register.";
  163. }else{
  164. for( set .@i,0; .@i < getarraysize( .participant_list ); set .@i,.@i + 1 )
  165. if( .participant_list[.@i] == .@team_id[.map_selected] ){
  166. mes "Your team has been registered.";
  167. close;
  168. }
  169. if( getarraysize( .participant_list ) >= .MaxTeam ){
  170. mes "Sorry only "+.MaxTeam+" team are allowed to register.";
  171. close;
  172. }
  173. set .participant_list[ getarraysize( .participant_list ) ],.@team_id[.map_selected];
  174. mes "Your guild has been registered.";
  175. mapannounce .map$[.map_selected]," ( "+getarraysize( .participant_list )+" / "+.MaxTeam+" Teams ) "+.@team_name[.map_selected]+" Registered.",bc_blue;
  176. }
  177. close;
  178. }
  179.  
  180. guild_vs3,50,50,4 script Register#event1 429,{
  181. doevent "gvg_event::OnRegister";
  182. }
  183.  
  184. guild_vs4,50,50,4 script Register#event2 429,{
  185. doevent "gvg_event::OnRegister";
  186. }
  187.  
  188. - script timer#countdown1 -1,{
  189. npctalk "Please be prepared before the event start";
  190. end;
  191.  
  192. OnCreate1:
  193. set .@time,getvariableofnpc( .time,"gvg_event" );
  194. delwaitingroom;
  195. if( .@time ) waitingroom " Time : "+.@time+" Seconds.",0;
  196. else waitingroom " GO !!!",0;
  197. end;
  198. }
  199.  
  200. guild_vs3,19,55,4 duplicate(timer#countdown1) timer#3_1 111
  201. guild_vs3,44,80,4 duplicate(timer#countdown1) timer#3_2 111
  202. guild_vs3,80,55,4 duplicate(timer#countdown1) timer#3_3 111
  203. guild_vs3,55,19,4 duplicate(timer#countdown1) timer#3_4 111
  204.  
  205.  
  206.  
  207. - script timer#countdown2 -1,{
  208. npctalk "Please be prepared before the event start";
  209. end;
  210.  
  211. OnCreate2:
  212. set .@time,getvariableofnpc( .time,"gvg_event" );
  213. delwaitingroom;
  214. if( .@time ) waitingroom " Time : "+.@time+" Seconds.",0;
  215. else waitingroom " GO !!!",0;
  216. end;
  217. }
  218.  
  219.  
  220. guild_vs4,12,51,4 duplicate(timer#countdown2) timer#4_1 111
  221. guild_vs4,48,87,4 duplicate(timer#countdown2) timer#4_2 111
  222. guild_vs4,87,51,4 duplicate(timer#countdown2) timer#4_3 111
  223. guild_vs4,48,12,4 duplicate(timer#countdown2) timer#4_4 111
  224.  
  225.  
  226. - script walls#event1 -1,{
  227. end;
  228.  
  229. OnHideWall:
  230. hideonnpc strnpcinfo(0);
  231. delwall "Wall#0_1";
  232. delwall "Wall#0_2";
  233. delwall "Wall#0_3";
  234. delwall "Wall#0_4";
  235. end;
  236.  
  237. OnShowWall:
  238. hideoffnpc strnpcinfo(0);
  239. setwall "guild_vs3",19,55,12,4,0,"Wall#0_1";
  240. setwall "guild_vs3",44,80,12,6,0,"Wall#0_2";
  241. setwall "guild_vs3",80,55,12,4,0,"Wall#0_3";
  242. setwall "guild_vs3",55,19,12,2,0,"Wall#0_4";
  243. end;
  244. }
  245.  
  246. // dummy walls. guild_vs3
  247. // team 1
  248. guild_vs3,19,44,4 duplicate(walls#event1) wall#_0_0 406
  249. guild_vs3,19,45,4 duplicate(walls#event1) wall#_0_1 406
  250. guild_vs3,19,46,4 duplicate(walls#event1) wall#_0_2 406
  251. guild_vs3,19,47,4 duplicate(walls#event1) wall#_0_3 406
  252. guild_vs3,19,48,4 duplicate(walls#event1) wall#_0_4 406
  253. guild_vs3,19,49,4 duplicate(walls#event1) wall#_0_5 406
  254. guild_vs3,19,50,4 duplicate(walls#event1) wall#_0_6 406
  255. guild_vs3,19,51,4 duplicate(walls#event1) wall#_0_7 406
  256. guild_vs3,19,52,4 duplicate(walls#event1) wall#_0_8 406
  257. guild_vs3,19,53,4 duplicate(walls#event1) wall#_0_9 406
  258. guild_vs3,19,54,4 duplicate(walls#event1) wall#_0_10 406
  259. guild_vs3,19,55,4 duplicate(walls#event1) wall#_0_11 406
  260. // team 2
  261. guild_vs3,44,80,4 duplicate(walls#event1) wall#_0_12 406
  262. guild_vs3,45,80,4 duplicate(walls#event1) wall#_0_13 406
  263. guild_vs3,46,80,4 duplicate(walls#event1) wall#_0_14 406
  264. guild_vs3,47,80,4 duplicate(walls#event1) wall#_0_15 406
  265. guild_vs3,48,80,4 duplicate(walls#event1) wall#_0_16 406
  266. guild_vs3,49,80,4 duplicate(walls#event1) wall#_0_17 406
  267. guild_vs3,50,80,4 duplicate(walls#event1) wall#_0_18 406
  268. guild_vs3,51,80,4 duplicate(walls#event1) wall#_0_19 406
  269. guild_vs3,52,80,4 duplicate(walls#event1) wall#_0_20 406
  270. guild_vs3,53,80,4 duplicate(walls#event1) wall#_0_21 406
  271. guild_vs3,54,80,4 duplicate(walls#event1) wall#_0_22 406
  272. guild_vs3,55,80,4 duplicate(walls#event1) wall#_0_23 406
  273. // team 3
  274. guild_vs3,80,44,4 duplicate(walls#event1) wall#_0_24 406
  275. guild_vs3,80,45,4 duplicate(walls#event1) wall#_0_25 406
  276. guild_vs3,80,46,4 duplicate(walls#event1) wall#_0_26 406
  277. guild_vs3,80,47,4 duplicate(walls#event1) wall#_0_27 406
  278. guild_vs3,80,48,4 duplicate(walls#event1) wall#_0_28 406
  279. guild_vs3,80,49,4 duplicate(walls#event1) wall#_0_29 406
  280. guild_vs3,80,50,4 duplicate(walls#event1) wall#_0_30 406
  281. guild_vs3,80,51,4 duplicate(walls#event1) wall#_0_31 406
  282. guild_vs3,80,52,4 duplicate(walls#event1) wall#_0_32 406
  283. guild_vs3,80,53,4 duplicate(walls#event1) wall#_0_33 406
  284. guild_vs3,80,54,4 duplicate(walls#event1) wall#_0_34 406
  285. guild_vs3,80,55,4 duplicate(walls#event1) wall#_0_35 406
  286. // team 4
  287. guild_vs3,44,19,4 duplicate(walls#event1) wall#_0_36 406
  288. guild_vs3,45,19,4 duplicate(walls#event1) wall#_0_37 406
  289. guild_vs3,46,19,4 duplicate(walls#event1) wall#_0_38 406
  290. guild_vs3,47,19,4 duplicate(walls#event1) wall#_0_39 406
  291. guild_vs3,48,19,4 duplicate(walls#event1) wall#_0_40 406
  292. guild_vs3,49,19,4 duplicate(walls#event1) wall#_0_41 406
  293. guild_vs3,50,19,4 duplicate(walls#event1) wall#_0_42 406
  294. guild_vs3,51,19,4 duplicate(walls#event1) wall#_0_43 406
  295. guild_vs3,52,19,4 duplicate(walls#event1) wall#_0_44 406
  296. guild_vs3,53,19,4 duplicate(walls#event1) wall#_0_45 406
  297. guild_vs3,54,19,4 duplicate(walls#event1) wall#_0_46 406
  298. guild_vs3,55,19,4 duplicate(walls#event1) wall#_0_47 406
  299.  
  300.  
  301.  
  302. - script walls#event2 -1,{
  303. end;
  304.  
  305. OnHideWall:
  306. hideonnpc strnpcinfo(0);
  307. delwall "Wall#1_1";
  308. delwall "Wall#1_2";
  309. delwall "Wall#1_3";
  310. delwall "Wall#1_4";
  311. end;
  312.  
  313. OnShowWall:
  314. hideoffnpc strnpcinfo(0);
  315. setwall "guild_vs4",12,51,5,4,0,"Wall#1_1";
  316. setwall "guild_vs4",48,87,5,6,0,"Wall#1_2";
  317. setwall "guild_vs4",87,51,5,4,0,"Wall#1_3";
  318. setwall "guild_vs4",48,12,5,6,0,"Wall#1_4";
  319. end;
  320. }
  321.  
  322. // dummy walls. guild_vs4
  323. // team 1
  324. guild_vs4,12,48,4 duplicate(walls#event2) wall#_1_0 406
  325. guild_vs4,12,49,4 duplicate(walls#event2) wall#_1_1 406
  326. guild_vs4,12,50,4 duplicate(walls#event2) wall#_1_2 406
  327. guild_vs4,12,51,4 duplicate(walls#event2) wall#_1_3 406
  328. // team 2
  329. guild_vs4,48,87,4 duplicate(walls#event2) wall#_1_4 406
  330. guild_vs4,49,87,4 duplicate(walls#event2) wall#_1_5 406
  331. guild_vs4,50,87,4 duplicate(walls#event2) wall#_1_6 406
  332. guild_vs4,51,87,4 duplicate(walls#event2) wall#_1_7 406
  333. // team 3
  334. guild_vs4,87,48,4 duplicate(walls#event2) wall#_1_8 406
  335. guild_vs4,87,49,4 duplicate(walls#event2) wall#_1_9 406
  336. guild_vs4,87,50,4 duplicate(walls#event2) wall#_1_10 406
  337. guild_vs4,87,51,4 duplicate(walls#event2) wall#_1_11 406
  338. // team 4
  339. guild_vs4,48,12,4 duplicate(walls#event2) wall#_1_12 406
  340. guild_vs4,49,12,4 duplicate(walls#event2) wall#_1_13 406
  341. guild_vs4,50,12,4 duplicate(walls#event2) wall#_1_14 406
  342. guild_vs4,51,12,4 duplicate(walls#event2) wall#_1_15 406
Advertisement
Add Comment
Please, Sign In to add comment