Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- prontera,157,187,4 script Team Wars::teamwar 899,{
- if (getgmlevel() >= 99){
- menu "standard menu",-,"reset",lend;
- }
- getpartymember(getcharid(1));
- set @partymembercount,$@partymembercount;
- if ( $@start==1) {
- mes "The Sign Ups are currently unavailable because a match is in progress. Don't hesitate to try again in a few minutes!";
- close;
- }
- if ( @partymembercount==$@members) {
- if ($@TeamID1==getcharid(1)) { // here should be a check for the party leader ;O
- mes "Do you wish to sign out your team?";
- next;
- if (select("I Give up ~.","Never Say Quit !!")==2) close;
- announce "Team 1 : [ " + getpartyname($@TeamID1) + " ] has sign out. We need another Party to sign up now!",bc_yellow|bc_map;
- set $@TeamID1, 0;
- close;
- }
- if ($@TeamID2==getcharid(1)) { // here should be a check for the party leader ;O
- mes "Do you wish to sign out your team?";
- next;
- if (select("I Give up ~.","Never Say Quit !!")==2) close;
- announce "Team 2 : [ " + getpartyname($@TeamID2) + " ] has sign out. We need another Party to sign up now!",bc_yellow|bc_map;
- set $@TeamID2, 0;
- close;
- }
- mes "Hello "+strcharinfo(0)+" what do you want?";
- if ($@TeamID1 != 0 && $@TeamID2 != 0) {
- mes "The Sign Ups are currently unavailable because a match is in progress. Don't hesitate to try again in a few minutes!";
- close;
- }
- if ( getpartyleader(getcharid(1),2) != getcharid(0) ) {
- mes "Only party leader have the right to sign up / out from the game with me..";
- close;
- }
- mes "Choose your team to register.";
- switch(select("Red Team - [" + GetPartyName($@TeamID1) + "] :Blue Team - [" + GetPartyName($@TeamID2) + "]")) {
- case 1: mes "[ Red Team ]";
- if ($@TeamID1==0 || getpartyname($@TeamID1)=="null") {
- getpartymember(getcharid(1)),1;
- getpartymember(getcharid(1)),2;
- copyarray $@partymembercidt1[0],$@partymembercid[0],$@members;
- copyarray $@partymemberaid1[0],$@partymemberaid[0],$@members;
- for (set .@i,0; .@i<$@members; set .@i,.@i+1) {
- if(isloggedin($@partymemberaid1[.@i],$@partymembercidt1[.@i])) set .@count,.@count+1;
- }
- if(.@count < $@members) {
- mes "You need all your party members to be online to Register";
- close;
- }
- set $@TeamID1, getcharid(1);
- initnpctimer;
- mes "Your Party is now subscribed, good luck!";
- announce "Team 1 : [ " +getpartyname($@TeamID1)+ " ] has sign up For the Team War!",bc_blue|bc_map;
- doevent "teamwar::OnSubscriptionTeam";
- close;
- } else {
- mes "I'm sorry! Another Team has sign up before you...";
- close;
- }
- case 2: mes "[ Blue Team ]";
- if ($@TeamID2==0 || getpartyname($@TeamID2)=="null")
- {
- getpartymember(getcharid(1)),1;
- getpartymember(getcharid(1)),2;
- copyarray $@partymembercidt2[0],$@partymembercid[0],$@members;
- copyarray $@partymemberaid2[0],$@partymemberaid[0],$@members;
- for (set .@i,0; .@i<$@members; set .@i,.@i+1) {
- if(isloggedin($@partymemberaid2[.@i],$@partymembercidt2[.@i])) set .@count,.@count+1;
- }
- if(.@count < $@members) {
- mes "You need all your party members to be online to Register";
- close;
- }
- set $@TeamID2, getcharid(1);
- initnpctimer;
- mes "Your Party is now subscribed, good luck!";
- announce "Team 2 : [ " +getpartyname($@TeamID2)+ " ] has sign up For the Team War!",bc_blue|bc_map;
- doevent "teamwar::OnSubscriptionTeam";
- close;
- }
- else
- {
- mes "I'm sorry! Another Team has sign up before you...";
- close;
- }
- }
- } else {
- mes "[Event Handler]";
- mes "Please contact your party leader.";
- mes "Your team must have a party consisting of "+$@members+" members.";
- close;
- }
- ////////////////////////////////////////////////////////////////////////////
- ////Checker Script//////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////
- OnSubscriptionTeam:
- getpartymember($@TeamID2),1;
- getpartymember($@TeamID2),2;
- copyarray $@partymembercidtc2[0],$@partymembercid[0],$@members;
- copyarray $@partymemberaidc2[0],$@partymemberaid[0],$@members;
- for (set .@i,0; .@i<$@members; set .@i,.@i+1) {
- if(isloggedin($@partymemberaidc2[.@i],$@partymembercidtc2[.@i])) set .@countx,.@countx+1;
- }
- if(.@countx < $@members) {
- announce "Team War : "+getpartyname($@TeamID2)+"are not all online the match has been canceled",0;
- announce "Team War : registration for 2 new teams are now available",0;
- goto lend;
- }
- getpartymember($@TeamID1),1;
- getpartymember($@TeamID1),2;
- copyarray $@partymembercidtc1[0],$@partymembercid[0],$@members;
- copyarray $@partymemberaidc1[0],$@partymemberaid[0],$@members;
- for (set .@i,0; .@i<$@members; set .@i,.@i+1) {
- if(isloggedin($@partymemberaidc1[.@i],$@partymembercidtc1[.@i])) set .@countz,.@countz+1;
- }
- if(.@countz < $@members) {
- announce "Team War : "+getpartyname($@TeamID1)+"are not all online the match has been canceled",0;
- announce "Team War : registration for 2 new teams are now available",0;
- goto lend;
- }
- if($@TeamID1!=0 && $@TeamID2!=0){
- announce "Team War : We have 2 Teams signed up now : "+getpartyname($@TeamID1)+" and "+getpartyname($@TeamID2)+".",bc_blue|bc_map;
- set @win1, 0;
- set @win2, 0;
- warpparty "quiz_01",64,183,$@TeamID1;
- warpparty "quiz_01",229,368,$@TeamID2;
- goto onstart;
- end;
- }
- OnTimer50000:
- if (($@TeamID1!=0) && ($@TeamID2!=0)) {
- stopnpctimer;
- end;
- }
- stopnpctimer;
- set $@TeamID1, 0;
- set $@TeamID1, 0;
- announce "Team War : we lack teams to start registration for two teams are now available",0;
- end;
- ////////////////////////////////////////////////////////////////////////////
- ////On Start//////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////
- onstart:
- set $@start,1;
- goto OnPub;
- end;
- ////////////////////////////////////////////////////////////////////////////
- ////If Inside Pub Timer/////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////
- OnPub:
- announce "Team War : Please Enter the pub to warp inside the arena.",0;
- sleep2 10000;
- announce "Team War : [4 min.] Please Enter The Pub to warp inside the Arena.",0;
- sleep2 10000;
- announce "Team War : [3 min.] Please Enter The Pub to warp inside the Arena.",0;
- sleep2 10000;
- announce "Team War : [2 min.] Please Enter The Pub to warp inside the Arena.",0;
- sleep2 10000;
- announce "Team War : [1 min.] Checking Participants...",0;
- if(getmapusers("quiz_01") > 1) goto OnDQ;
- if(getmapusers("quiz_01") == 0) {
- sleep2 10000;
- announce "Team War: Lets Start in 5.",0;
- sleep2 5000;
- announce "Team War: 4",0;
- sleep2 4000;
- announce "Team War: 3",0;
- sleep2 3000;
- announce "Team War: 2",0;
- sleep2 2000;
- announce "Team War: 1",0;
- sleep2 1000;
- setcell "guild_vs3",80,55,80,44,cell_walkable,1;
- setcell "guild_vs3",19,55,19,44,cell_walkable,1;
- disablenpc "WALL#41";
- disablenpc "WALL#42";
- disablenpc "WALL#43";
- disablenpc "WALL#44";
- disablenpc "WALL#45";
- disablenpc "WALL#46";
- disablenpc "WALL#47";
- disablenpc "WALL#48";
- disablenpc "WALL#49";
- disablenpc "WALL#50";
- disablenpc "WALL#51";
- disablenpc "WALL#52";
- disablenpc "WALL#53";
- disablenpc "WALL#54";
- disablenpc "WALL#55";
- disablenpc "WALL#56";
- disablenpc "WALL#57";
- disablenpc "WALL#58";
- disablenpc "WALL#59";
- disablenpc "WALL#60";
- disablenpc "WALL#61";
- disablenpc "WALL#62";
- disablenpc "WALL#63";
- disablenpc "WALL#64";
- announce "Team War: Ready to Rumble",0;
- end;
- }
- }
- ////////////////////////////////////////////////////////////////////////////
- ////Waiting Room Red Team///////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////
- quiz_01,52,182,3 script Red Team#01 467,{
- end;
- OnInit:
- waitingroom "Waiting room 1",2,"Red Team#01::OnRoomFull",2; //Create a waitingroom
- enablewaitingroomevent; //Enable the event trigger for the waiting room
- end;
- OnRoomFull:
- if(!getwaitingroomstate(32,"Blue Team#01")) end; //Check if the other waiting room is full, if not end the script.
- donpcevent "Blue Team#01::OnRoomWarp"; //Warp the second room
- callsub OnRoomWarp; //Warp this room.
- end;
- OnRoomWarp:
- doevent "teamwar::OnSubscriptionTeam";
- warpwaitingpc "guild_vs3",14,51;
- end;
- }
- ////////////////////////////////////////////////////////////////////////////
- ////Waiting Room Blue Team//////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////
- quiz_01,220,368,3 script Blue Team#01 467,{
- end;
- OnInit:
- waitingroom "Waiting room 2",2,"Blue Team#01::OnRoomFull",2;
- enablewaitingroomevent;
- end;
- OnRoomFull:
- if(!getwaitingroomstate(32,"Red Team#01")) end;
- donpcevent "Red Team#01::OnRoomWarp";
- callsub OnRoomWarp;
- end;
- OnRoomWarp:
- doevent "teamwar::OnSubscriptionTeam";
- warpwaitingpc "guild_vs3",84,51;
- end;
- ////////////////////////////////////////////////////////////////////////////
- ////If Disqualified/////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////
- OnDQ:
- announce "Team War : No Party won due to player still not Entering the Waiting Room.!",0;
- mapwarp "quiz_01","prontera",156,191;
- mapwarp "guild_vs3","prontera",156,191;
- stopnpctimer;
- set $@members,7; // number of party members change this to your party size you want
- set $@TeamID1,0;
- set $@TeamID2,0;
- set $@start,0;
- set .@win1,0;
- set .@win2,0;
- setcell "guild_vs3",19,55,19,44,cell_walkable,0;
- setcell "guild_vs3",80,55,80,44,cell_walkable,0;
- enablenpc "WALL#41";
- enablenpc "WALL#42";
- enablenpc "WALL#43";
- enablenpc "WALL#44";
- enablenpc "WALL#45";
- enablenpc "WALL#46";
- enablenpc "WALL#47";
- enablenpc "WALL#48";
- enablenpc "WALL#49";
- enablenpc "WALL#50";
- enablenpc "WALL#51";
- enablenpc "WALL#52";
- enablenpc "WALL#53";
- enablenpc "WALL#54";
- enablenpc "WALL#55";
- enablenpc "WALL#56";
- enablenpc "WALL#57";
- enablenpc "WALL#58";
- enablenpc "WALL#59";
- enablenpc "WALL#60";
- enablenpc "WALL#61";
- enablenpc "WALL#62";
- enablenpc "WALL#63";
- enablenpc "WALL#64";
- end;
- ////////////////////////////////////////////////////////////////////////////
- ////Arena End Script////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////
- lend:
- stopnpctimer;
- set $@members,2; // Number of Party Members Change This in your party size.. - don't forget to change also the pub number size..
- set $@TeamID1,0;
- set $@TeamID2,0;
- set $@start,0;
- set .@win1,0;
- set .@win2,0;
- setcell "guild_vs3",19,55,19,44,cell_walkable,0;
- setcell "guild_vs3",80,55,80,44,cell_walkable,0;
- enablenpc "WALL#41";
- enablenpc "WALL#42";
- enablenpc "WALL#43";
- enablenpc "WALL#44";
- enablenpc "WALL#45";
- enablenpc "WALL#46";
- enablenpc "WALL#47";
- enablenpc "WALL#48";
- enablenpc "WALL#49";
- enablenpc "WALL#50";
- enablenpc "WALL#51";
- enablenpc "WALL#52";
- enablenpc "WALL#53";
- enablenpc "WALL#54";
- enablenpc "WALL#55";
- enablenpc "WALL#56";
- enablenpc "WALL#57";
- enablenpc "WALL#58";
- enablenpc "WALL#59";
- enablenpc "WALL#60";
- enablenpc "WALL#61";
- enablenpc "WALL#62";
- enablenpc "WALL#63";
- enablenpc "WALL#64";
- announce "Thanks for playing",0;
- end;
- ////////////////////////////////////////////////////////////////////////////
- ////Arena Timer Script//////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////
- OnTimer250000:
- Announce "Team War : No Party won due to time limit!",0;
- mapwarp "guild_vs3","prontera",156,191;
- goto lend;
- OnPCKillEvent:
- getmapxy(.@map$,.@x,.@y,0);
- if(.@map$=="guild_vs3") {
- set .@guser, getmapguildusers("guild_vs3",getcharid(1));
- if ( getcharid(1) == $@TeamID2 ) {
- if (.@guser) end; // Checks if 0 guild member of teamid2 left
- warpparty "prt_in",284,132,$@TeamID2;
- announce "Team War :"+GetPartyName($@TeamID2)+" won",0;
- goto lend;
- }
- if ( getcharid(1) == $@TeamID1 ) {
- if (.@guser) end; // Checks if 0 guild member of teamid1 left
- warpparty "prt_in",284,132,$@TeamID1;
- announce "Team War :"+GetPartyName($@TeamID1)+" won",0;
- goto lend;
- }
- }
- end;
- OnPCDieEvent:
- OnPCLogoutEvent:
- if(strcharinfo(3) != "guild_vs3") end;
- for(set .@i, 0; .@i < $@members; set .@i, .@i + 1) {
- if ( $@partymembercidt1[.@i] == getcharid(0)) {
- deletearray $@partymembercidt1[.@i], 1;
- if( getarraysize($@partymembercidt1) == 0 ) { // Team of Party 1 has been defeated
- goto T2Win;
- }
- }
- if ( $@partymembercidt2[.@i] == getcharid(0) ) {
- deletearray $@partymembercidt2[.@i], 1;
- if( getarraysize($@partymembercidt2) == 0 ) { // Team of Party 2 has been defeated
- goto T1Win;
- }
- }
- }
- end;
- }
- ////////////////////////////////////////////////////////////////////////////
- ////Arena Wall//////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////
- guild_vs3,19,55,0 script WALL#41 1905,{
- ////////////////////////////////////////////////////////////////////////////
- ////Winner Script///////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////
- T2Win:
- warpparty "prt_in",284,132,$@TeamID2;
- warpparty "prontera",156,191,$@TeamID1;
- announce "Team War :"+GetPartyName($@TeamID2)+" won",0;
- goto lend;
- T1Win:
- warpparty "prt_in",284,132,$@TeamID1;
- warpparty "prontera",156,191,$@TeamID2;
- announce "Team War :"+GetPartyName($@TeamID1)+" won",0;
- goto lend;
- }
- guild_vs3,19,54,0 duplicate(WALL#41) WALL#42 1905
- guild_vs3,19,53,0 duplicate(WALL#41) WALL#43 1905
- guild_vs3,19,52,0 duplicate(WALL#41) WALL#44 1905
- guild_vs3,19,51,0 duplicate(WALL#41) WALL#45 1905
- guild_vs3,19,50,0 duplicate(WALL#41) WALL#46 1905
- guild_vs3,19,49,0 duplicate(WALL#41) WALL#47 1905
- guild_vs3,19,48,0 duplicate(WALL#41) WALL#48 1905
- guild_vs3,19,47,0 duplicate(WALL#41) WALL#49 1905
- guild_vs3,19,46,0 duplicate(WALL#41) WALL#50 1905
- guild_vs3,19,45,0 duplicate(WALL#41) WALL#51 1905
- guild_vs3,19,44,0 duplicate(WALL#41) WALL#52 1905
- guild_vs3,80,55,0 duplicate(WALL#41) WALL#53 1905
- guild_vs3,80,54,0 duplicate(WALL#41) WALL#54 1905
- guild_vs3,80,53,0 duplicate(WALL#41) WALL#55 1905
- guild_vs3,80,52,0 duplicate(WALL#41) WALL#56 1905
- guild_vs3,80,51,0 duplicate(WALL#41) WALL#57 1905
- guild_vs3,80,50,0 duplicate(WALL#41) WALL#58 1905
- guild_vs3,80,49,0 duplicate(WALL#41) WALL#59 1905
- guild_vs3,80,48,0 duplicate(WALL#41) WALL#60 1905
- guild_vs3,80,47,0 duplicate(WALL#41) WALL#61 1905
- guild_vs3,80,46,0 duplicate(WALL#41) WALL#62 1905
- guild_vs3,80,45,0 duplicate(WALL#41) WALL#63 1905
- guild_vs3,80,44,0 duplicate(WALL#41) WALL#64 1905
- ////////////////////////////////////////////////////////////////////////////
- ////Map Flag////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////
- guild_vs3 mapflag nosave
- guild_vs3 mapflag nomemo
- guild_vs3 mapflag nobranch
- guild_vs3 mapflag pvp_noguild
- guild_vs3 mapflag nocommand 99
- guild_vs3 mapflag noicewall
- guild_vs3 mapflag pvp
- guild_vs3 mapflag nowarp 99
- prt_in mapflag nosave
- prt_in mapflag nomemo
- prt_in mapflag nobranch
- prt_in mapflag pvp_noparty
- prt_in mapflag nocommand 99
- prt_in mapflag nowarp 99
- quiz_01 mapflag nosave
- quiz_01 mapflag nomemo
- quiz_01 mapflag nocommand 99
- quiz_01 mapflag nowarp 99
- ////////////////////////////////////////////////////////////////////////////
- ////Prize Giver/////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////
- prt_in,289,135,0 script #prizegiver 111,5,5,{
- //OnTouch2:
- OnTouch:
- getitem 909,rand(1,2);
- warp "prontera",156,196;
- close;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement