yuhsing

Untitled

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