yuhsing

Untitled

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