yuhsing

Untitled

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