Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- - script gvg_event -1,{
- OnInit:
- // @event setup
- // @event on
- // @event off
- bindatcmd( "event",strnpcinfo(0)+"::OnAtCommand" );
- // map lists.
- setarray .map$[0],"guild_vs3","guild_vs4";
- //mapflags list
- setarray .mapflag[0],mf_nosave;
- // dont edit these stuffs.
- set .map_size,getarraysize( .map$ );
- set .mf_size,getarraysize( .mapflag );
- for( set .@i,0; .@i < .map_size; set .@i,.@i + 1 ){
- set .map_menu$,.map_menu$ + .map$[.@i] + ":";
- for( set .@mf,0; .@mf < .mf_size; set .@mf,.@mf + 1 )
- setmapflag .map$[.@i],.mapflag[.@mf];
- // mapwarp .map$[.@i],"prontera",155,181;
- }
- //hide walls
- donpcevent "::OnHideWall";
- end;
- OnAtCommand:
- // if( getgmlevel() < 90 ) end;
- if( .@atcmd_parameters$[0] == "setup" ){
- if( .status == 1 ){
- mes "The Event Running now...";
- }else{
- mes "Your option...";
- do{
- next;
- set .@option,select( "Select Map ^0055FF["+.map$[.map_selected]+"]^000000",
- ( getarraysize( .participant_list ) )?"":"Set Max Team ["+.MaxTeam+"]",
- ( !.MaxTeam || getarraysize( .participant_list ) )?"":"Enable Registration",
- ( !getarraysize( .participant_list ) )?"":"Reset Registration",
- "Close" );
- switch( .@option ){
- Case 1:
- mes "Please select your map.";
- set .map_selected,select( .map_menu$ ) - 1;
- mes "Selected ^0055FF"+.map$[.map_selected]+"^000000";
- break;
- Case 2:
- mes "Input Team Number..";
- mes "Minimum 2 team.";
- mes "Maximum 4 Team.";
- input .MaxTeam,2,4;
- break;
- Case 3:
- mes "Enable 4 Team Leader to register now on "+.map$[.map_selected]+" ?";
- if( select("Yes:No") == 1 ){
- mes "You will be warped there.";
- close2;
- hideoffnpc ( ( !.map_selected )?"Register#event1":"Register#event2" );
- hideonnpc ( ( .map_selected )?"Register#event1":"Register#event2" );
- warp .map$[.map_selected],50,50;
- end;
- }
- break;
- Case 3:
- mes "All Participants has been cleared and required to Re-Register.";
- deletearray .participant_list;
- default: break;
- }
- }while( .@option != 4 );
- }
- }else if( .@atcmd_parameters$[0] == "on" ){
- if( .status == 1 ){
- mes "Event Running now...";
- }else if( getarraysize( .participant_list ) != .MaxTeam ){
- mes "Please ensure all "+.MaxTeam+" Teams has been registered by their Leader";
- if( getarraysize( .participant_list ) ) mes "Current Registered :";
- for( set .@i,0; .@i < getarraysize( .participant_list ); set .@i,.@i + 1 )
- if( .map_selected ){
- mes "^777777"+getpartyname( .participant_list[.@i] )+"^000000";
- }else{
- mes "^777777"+getguildname( .participant_list[.@i] )+"^000000";
- }
- }else{
- hideoffnpc ( ( .map_selected )?"Register#event1":"Register#event1" );
- mapannounce .map$[.map_selected],"Event Starting...",bc_blue;
- // set coordinates
- if( .map_selected ){ // guild_vs4
- setarray .@x[0],6,49,91,49;
- setarray .@y[0],50,93,49,6;
- }else{ // guild_vs3
- setarray .@x[0],15,50,84,50;
- setarray .@y[0],54,85,50,12;
- }
- // allocate participants.
- for( set .@i,0; .@i < getarraysize( .participant_list ); set .@i,.@i + 1 )
- if( .map_selected )
- warpparty .map$[.map_selected],.@x[.@i],.@y[.@i],.participant_list[.@i];
- else
- warpguild .map$[.map_selected],.@x[.@i],.@y[.@i],.participant_list[.@i];
- // set walls.
- donpcevent ( ( !.map_selected )?"walls#event1::OnShowWall":"walls#event2::OnShowWall" );
- // countdown...
- mapannounce "guild_vs4","Please prepare yourself, event start within 20 seconds.",bc_blue;
- for( set .@i,20; .@i >= 0; set .@i,.@i - 1 ){
- set .time,.@i;
- donpcevent ( ( !.map_selected )?"::OnCreate1":"::OnCreate2" );
- sleep 1000;
- }
- // remove walls.
- donpcevent ( ( !.map_selected )?"walls#event1::OnHideWall":"walls#event2::OnHideWall" );
- mapannounce .map$[.map_selected],"Event Start NOW...Rush and kill your opponents.....",bc_blue;
- }
- }else if( .@atcmd_parameters$[0] == "off" ){
- if( .status == 0 ){
- mes "NO Event Running now...";
- }else{
- mes "Event will be end now..";
- donpcevent "::OnShowWall";
- close2;
- deletearray .participant_list;
- mapannounce .map$[.map_selected],"Event will be stop now....",bc_blue;
- sleep 3000;
- mapwarp .map$[.map_selected],"prontera",155,181;
- end;
- }
- }else{
- mes "To setup Event";
- mes "^0055FF ~ @Event setup^000000";
- mes "To start Event";
- mes "^0055FF ~ @Event on^000000";
- mes "To end Event";
- mes "^0055FF ~ @Event off^000000";
- }
- close;
- // 0 = gvg = guild_vs3
- // 1 = pvp = guild_vs4
- OnRegister:
- if( getgmlevel() >= 90 ){
- npctalk "Please recall the Team Leader to register with me now.";
- end;
- }
- setarray .@team_id,getcharid(2),getcharid(1);
- setarray .@team_name,getguildname( getcharid(2) ),getpartyname( getcharid(1) );
- setarray .@id[0],getguildmaster( getcharid(2) ),getpartyleader( getcharid(1),2 );
- if( getcharid(0) != .@id[.map_selected] ){
- mes "Only leader can register.";
- }else{
- for( set .@i,0; .@i < getarraysize( .participant_list ); set .@i,.@i + 1 )
- if( .participant_list[.@i] == .@team_id[.map_selected] ){
- mes "Your team has been registered.";
- close;
- }
- if( getarraysize( .participant_list ) >= .MaxTeam ){
- mes "Sorry only "+.MaxTeam+" team are allowed to register.";
- close;
- }
- set .participant_list[ getarraysize( .participant_list ) ],.@team_id[.map_selected];
- mes "Your guild has been registered.";
- mapannounce .map$[.map_selected]," ( "+getarraysize( .participant_list )+" / "+.MaxTeam+" Teams ) "+.@team_name[.map_selected]+" Registered.",bc_blue;
- }
- close;
- }
- guild_vs3,50,50,4 script Register#event1 429,{
- doevent "gvg_event::OnRegister";
- }
- guild_vs4,50,50,4 script Register#event2 429,{
- doevent "gvg_event::OnRegister";
- }
- - script timer#countdown1 -1,{
- npctalk "Please be prepared before the event start";
- end;
- OnCreate1:
- set .@time,getvariableofnpc( .time,"gvg_event" );
- delwaitingroom;
- if( .@time ) waitingroom " Time : "+.@time+" Seconds.",0;
- else waitingroom " GO !!!",0;
- end;
- }
- guild_vs3,19,55,4 duplicate(timer#countdown1) timer#3_1 111
- guild_vs3,44,80,4 duplicate(timer#countdown1) timer#3_2 111
- guild_vs3,80,55,4 duplicate(timer#countdown1) timer#3_3 111
- guild_vs3,55,19,4 duplicate(timer#countdown1) timer#3_4 111
- - script timer#countdown2 -1,{
- npctalk "Please be prepared before the event start";
- end;
- OnCreate2:
- set .@time,getvariableofnpc( .time,"gvg_event" );
- delwaitingroom;
- if( .@time ) waitingroom " Time : "+.@time+" Seconds.",0;
- else waitingroom " GO !!!",0;
- end;
- }
- guild_vs4,12,51,4 duplicate(timer#countdown2) timer#4_1 111
- guild_vs4,48,87,4 duplicate(timer#countdown2) timer#4_2 111
- guild_vs4,87,51,4 duplicate(timer#countdown2) timer#4_3 111
- guild_vs4,48,12,4 duplicate(timer#countdown2) timer#4_4 111
- - script walls#event1 -1,{
- end;
- OnHideWall:
- hideonnpc strnpcinfo(0);
- delwall "Wall#0_1";
- delwall "Wall#0_2";
- delwall "Wall#0_3";
- delwall "Wall#0_4";
- end;
- OnShowWall:
- hideoffnpc strnpcinfo(0);
- setwall "guild_vs3",19,55,12,4,0,"Wall#0_1";
- setwall "guild_vs3",44,80,12,6,0,"Wall#0_2";
- setwall "guild_vs3",80,55,12,4,0,"Wall#0_3";
- setwall "guild_vs3",55,19,12,2,0,"Wall#0_4";
- end;
- }
- // dummy walls. guild_vs3
- // team 1
- guild_vs3,19,44,4 duplicate(walls#event1) wall#_0_0 406
- guild_vs3,19,45,4 duplicate(walls#event1) wall#_0_1 406
- guild_vs3,19,46,4 duplicate(walls#event1) wall#_0_2 406
- guild_vs3,19,47,4 duplicate(walls#event1) wall#_0_3 406
- guild_vs3,19,48,4 duplicate(walls#event1) wall#_0_4 406
- guild_vs3,19,49,4 duplicate(walls#event1) wall#_0_5 406
- guild_vs3,19,50,4 duplicate(walls#event1) wall#_0_6 406
- guild_vs3,19,51,4 duplicate(walls#event1) wall#_0_7 406
- guild_vs3,19,52,4 duplicate(walls#event1) wall#_0_8 406
- guild_vs3,19,53,4 duplicate(walls#event1) wall#_0_9 406
- guild_vs3,19,54,4 duplicate(walls#event1) wall#_0_10 406
- guild_vs3,19,55,4 duplicate(walls#event1) wall#_0_11 406
- // team 2
- guild_vs3,44,80,4 duplicate(walls#event1) wall#_0_12 406
- guild_vs3,45,80,4 duplicate(walls#event1) wall#_0_13 406
- guild_vs3,46,80,4 duplicate(walls#event1) wall#_0_14 406
- guild_vs3,47,80,4 duplicate(walls#event1) wall#_0_15 406
- guild_vs3,48,80,4 duplicate(walls#event1) wall#_0_16 406
- guild_vs3,49,80,4 duplicate(walls#event1) wall#_0_17 406
- guild_vs3,50,80,4 duplicate(walls#event1) wall#_0_18 406
- guild_vs3,51,80,4 duplicate(walls#event1) wall#_0_19 406
- guild_vs3,52,80,4 duplicate(walls#event1) wall#_0_20 406
- guild_vs3,53,80,4 duplicate(walls#event1) wall#_0_21 406
- guild_vs3,54,80,4 duplicate(walls#event1) wall#_0_22 406
- guild_vs3,55,80,4 duplicate(walls#event1) wall#_0_23 406
- // team 3
- guild_vs3,80,44,4 duplicate(walls#event1) wall#_0_24 406
- guild_vs3,80,45,4 duplicate(walls#event1) wall#_0_25 406
- guild_vs3,80,46,4 duplicate(walls#event1) wall#_0_26 406
- guild_vs3,80,47,4 duplicate(walls#event1) wall#_0_27 406
- guild_vs3,80,48,4 duplicate(walls#event1) wall#_0_28 406
- guild_vs3,80,49,4 duplicate(walls#event1) wall#_0_29 406
- guild_vs3,80,50,4 duplicate(walls#event1) wall#_0_30 406
- guild_vs3,80,51,4 duplicate(walls#event1) wall#_0_31 406
- guild_vs3,80,52,4 duplicate(walls#event1) wall#_0_32 406
- guild_vs3,80,53,4 duplicate(walls#event1) wall#_0_33 406
- guild_vs3,80,54,4 duplicate(walls#event1) wall#_0_34 406
- guild_vs3,80,55,4 duplicate(walls#event1) wall#_0_35 406
- // team 4
- guild_vs3,44,19,4 duplicate(walls#event1) wall#_0_36 406
- guild_vs3,45,19,4 duplicate(walls#event1) wall#_0_37 406
- guild_vs3,46,19,4 duplicate(walls#event1) wall#_0_38 406
- guild_vs3,47,19,4 duplicate(walls#event1) wall#_0_39 406
- guild_vs3,48,19,4 duplicate(walls#event1) wall#_0_40 406
- guild_vs3,49,19,4 duplicate(walls#event1) wall#_0_41 406
- guild_vs3,50,19,4 duplicate(walls#event1) wall#_0_42 406
- guild_vs3,51,19,4 duplicate(walls#event1) wall#_0_43 406
- guild_vs3,52,19,4 duplicate(walls#event1) wall#_0_44 406
- guild_vs3,53,19,4 duplicate(walls#event1) wall#_0_45 406
- guild_vs3,54,19,4 duplicate(walls#event1) wall#_0_46 406
- guild_vs3,55,19,4 duplicate(walls#event1) wall#_0_47 406
- - script walls#event2 -1,{
- end;
- OnHideWall:
- hideonnpc strnpcinfo(0);
- delwall "Wall#1_1";
- delwall "Wall#1_2";
- delwall "Wall#1_3";
- delwall "Wall#1_4";
- end;
- OnShowWall:
- hideoffnpc strnpcinfo(0);
- setwall "guild_vs4",12,51,5,4,0,"Wall#1_1";
- setwall "guild_vs4",48,87,5,6,0,"Wall#1_2";
- setwall "guild_vs4",87,51,5,4,0,"Wall#1_3";
- setwall "guild_vs4",48,12,5,6,0,"Wall#1_4";
- end;
- }
- // dummy walls. guild_vs4
- // team 1
- guild_vs4,12,48,4 duplicate(walls#event2) wall#_1_0 406
- guild_vs4,12,49,4 duplicate(walls#event2) wall#_1_1 406
- guild_vs4,12,50,4 duplicate(walls#event2) wall#_1_2 406
- guild_vs4,12,51,4 duplicate(walls#event2) wall#_1_3 406
- // team 2
- guild_vs4,48,87,4 duplicate(walls#event2) wall#_1_4 406
- guild_vs4,49,87,4 duplicate(walls#event2) wall#_1_5 406
- guild_vs4,50,87,4 duplicate(walls#event2) wall#_1_6 406
- guild_vs4,51,87,4 duplicate(walls#event2) wall#_1_7 406
- // team 3
- guild_vs4,87,48,4 duplicate(walls#event2) wall#_1_8 406
- guild_vs4,87,49,4 duplicate(walls#event2) wall#_1_9 406
- guild_vs4,87,50,4 duplicate(walls#event2) wall#_1_10 406
- guild_vs4,87,51,4 duplicate(walls#event2) wall#_1_11 406
- // team 4
- guild_vs4,48,12,4 duplicate(walls#event2) wall#_1_12 406
- guild_vs4,49,12,4 duplicate(walls#event2) wall#_1_13 406
- guild_vs4,50,12,4 duplicate(walls#event2) wall#_1_14 406
- guild_vs4,51,12,4 duplicate(walls#event2) wall#_1_15 406
Advertisement
Add Comment
Please, Sign In to add comment