yuhsing

Untitled

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