yuhsing

Untitled

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