Hello rAthena members, will you help me with this script? I don't know how to fix it.
If possible, can you edit it for me?
This is a Party vs Party Event
> When the Party 1 has won, each member of the Party 1 will automatically get a prize and automatically warp to their Save Point or Prontera.
> When the Party 2 has lose, they will automatically warp to their Save Point or Prontera.
Sorry for my bad grammar, I hope you can help me. Thank you.
prontera,156,148,4 script Team Wars::teamwar 899,{
if (getgmlevel() >= 99){
menu "standard menu",standard,"reset",lend;
}
standard:
set $@members,2; // 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) {
if ($@TeamID1==getcharid(1))
{
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))
{
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 "[ 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;
}
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;
}
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)) {
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;
OnStart:
warpparty "guild_vs2",89,49,$@TeamID1;
warpparty "guild_vs2",11,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;
announce "Thanks for playing",0;
end;
OnTimer250000:
Announce "Team War : No Party won due to time limit!",0;
mapwarp "guild_vs2","prontera",156,191;
goto lend;
end;
OnPCKillEvent:
/*
Its party Vs party kind of script, then y checking for guilds on the map??
getmapxy(.@map$,.@x,.@y,0);
if(.@map$=="guild_vs2")
{
set .@guser, getmapguildusers("guild_vs2",getcharid(1));
if ( getcharid(1) == $@TeamID2 )
{
if (.@guser) end; // Checks if 0 guild member of teamid2 left
warpparty "bat_b01",390,9,$@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 "bat_b01",390,9,$@TeamID1;
Announce "Team War :"+GetPartyName($@TeamID1)+" won",0;
goto lend;
}
}
*/
end;
OnPCDieEvent:
OnPCLogoutEvent:
if(strcharinfo(3) != "guild_vs2") end;
warp "prontera",156,191;
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,9,$@TeamID2;
warpparty "prontera",156,191,$@TeamID1;
Announce "Team War :"+GetPartyName($@TeamID2)+" won",0;
goto lend;
end;
}
if (@win2==0)
{
warpparty "bat_b01",390,9,$@TeamID1;
warpparty "prontera",156,191,$@TeamID2;
Announce "Team War :"+GetPartyName($@TeamID1)+" won",0;
goto lend;
end;
}
end;
}
guild_vs2 mapflag nosave
guild_vs2 mapflag nomemo
guild_vs2 mapflag nobranch
guild_vs2 mapflag pvp_noguild
guild_vs2 mapflag nocommand 60
guild_vs2 mapflag noicewall
guild_vs2 mapflag pvp
bat_b01 mapflag nosave
bat_b01 mapflag nomemo
bat_b01 mapflag nobranch
bat_b01 mapflag pvp_noparty
bat_b01 mapflag nocommand
bat_b01,390,9,0 script #prizegiver 111,5,5,{
//OnTouch2:
OnTouch:
getitem 671,rand(3,5);
warp "prontera",156,196;
close;
}
Question
idLaZ
Hello rAthena members, will you help me with this script? I don't know how to fix it.
If possible, can you edit it for me?
This is a Party vs Party Event
> When the Party 1 has won, each member of the Party 1 will automatically get a prize and automatically warp to their Save Point or Prontera.
> When the Party 2 has lose, they will automatically warp to their Save Point or Prontera.
Insert the script into [Code]
Link to comment
Share on other sites
5 answers 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.