bat_b01,390,10,0 script teamwarprize#1 -1,2,2,{
OnTouch:
getitem 30230,5; //edit the prize <item>,<amount>
warp "maintown",157,114;
close;
}
bat_b01,88,75,0 script teamwarprize#2 -1,2,2,{
OnTouch:
getitem 30230,2; //edit the prize <item>,<amount>
warp "maintown",157,114;
close;
}
turbo_room,100,120,4 script 3 vs 3::teamwar 796,{
if (getgmlevel() >= 99){
menu "standard menu",standard,"reset",lend1;
}
standard:
set $@members,1; // number of party members change this to your party size you want
set $@start,0;
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) {
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 "[ Team War ]";
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 "[ Team War ]";
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;
}
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;
close;
}
for (set .@i,0; .@i<$@members; set .@i,.@i+1) {
if ( isloggedin( $@partymemberaidc2[.@i], $@partymembercidtc2[.@i] ) ) {
attachrid $@partymemberaidc2[.@i];
//set pvp3vs3_ori_look, getlook(7);
//setlook 7, 521;
}
}
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;
close;
}
for (set .@i,0; .@i<$@members; set .@i,.@i+1) {
if ( isloggedin( $@partymemberaidc1[.@i], $@partymembercidtc1[.@i] ) ) {
attachrid $@partymemberaidc1[.@i];
//set pvp3vs3_ori_look, getlook(7);
//setlook 7, 520;
}
}
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;
goto onstart;
}
end;
OnTimer50000:
if (($@TeamID1!=0) && ($@TeamID2!=0)) {
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;
onstart:
sc_end sc_ALL;
warpparty "guild_vs4",7,49,$@TeamID1;
warpparty "guild_vs4",92,49,$@TeamID2;
set $@start,1;
end;
lend:
stopnpctimer;
set $@TeamID1,0;
set $@TeamID2,0;
set $@start,0;
set @win1,0;
set @win2,0;
set @partymembercount,$@members;
end;
lend1:
stopnpctimer;
set $@TeamID1,0;
set $@TeamID2,0;
set $@start,0;
set @win1,0;
set @win2,0;
set @partymembercount,$@members;
announce "Team War has been reset, you may register your team now",0;
close;
end;
OnTimer250000:
Announce "Team War : No Party won due to time limit!",0;
mapwarp "guild_vs4","maintown",157,114;
goto lend;
end;
OnPCDieEvent:
OnPCLogoutEvent:
if(strcharinfo(3) != "guild_vs4") end;
//setlook 7, pvp3vs3_ori_look;
//pvp3vs3_ori_look = 0;
atcommand "@alive";
warp "turbo_room",100,99;
for(set .@i, 0; .@i < $@members; set .@i, .@i + 1) {
if ( $@partymembercidt1[.@i] == getcharid(0)) {
deletearray $@partymembercidt1[.@i], 1;
if( getarraysize($@partymembercidt1) == 0 ) {
set @win2,$@partymembercount;
goto onwin;
}
}
if ( $@partymembercidt2[.@i] == getcharid(0) ) {
deletearray $@partymembercidt2[.@i], 1;
if( getarraysize($@partymembercidt2) == 0 ) {
set @win1,$@partymembercount;
goto onwin;
}
}
}
end;
onwin:
if (@win1==0)
{
warpparty "bat_b01",390,10,$@TeamID2;
warpparty "bat_b01",88,75,$@TeamID1;
Announce "Team War :"+GetPartyName($@TeamID2)+" won againts "+GetPartyName($@TeamID1)+"",0;
goto lend;
end;
}
if (@win2==0)
{
warpparty "bat_b01",390,10,$@TeamID1;
warpparty "bat_b01",88,75,$@TeamID2;
Announce "Team War :"+GetPartyName($@TeamID1)+" won againts "+GetPartyName($@TeamID2)+"",0;
goto lend;
end;
}
end;
}
guild_vs4 mapflag nosave
guild_vs4 mapflag nomemo
guild_vs4 mapflag nobranch
guild_vs4 mapflag pvp_noguild
guild_vs4 mapflag noicewall
guild_vs4 mapflag pvp
I know that this script is working but there is a bug on the script..
ex.
I have 1 party, members of 3 (only my party) sample partyname is [ tryout1 ]
when I register at Team 1 and reregister again at Team 2 this is what happen
Team 1 = tryout1
Team 2 = tryout1 <<--------(again?)
players can abuse the prize, how to fixed this registration? thanks in advance
Question
blakbord
I know that this script is working but there is a bug on the script..
ex.
I have 1 party, members of 3 (only my party) sample partyname is [ tryout1 ]
when I register at Team 1 and reregister again at Team 2 this is what happen
Team 1 = tryout1
Team 2 = tryout1 <<--------(again?)
players can abuse the prize, how to fixed this registration? thanks in advance
Link to comment
Share on other sites
1 answer to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.