poring_w02,167,176,4 script teamwar::teamwar 414,{
if (getgmlevel() >= 99){
menu "Standard Menu",standard,"Reset",lend;
}
standard:
set $@members,9; // 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 $@partymemberaidt1[0],$@partymemberaid[0],$@members;
for (set .@i,0; .@i<$@members; set .@i,.@i+1) {
if(isloggedin($@partymemberaidt1[.@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 $@partymemberaidt2[0],$@partymemberaid[0],$@members;
for (set .@i,0; .@i<$@members; set .@i,.@i+1) {
if(isloggedin($@partymemberaidt2[.@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;
}
if ( $@TeamID2 && $@partymembercount != $@members ) {
announce getpartyname($@TeamID2) +" has extra party members !", 0;
goto lend;
}
if ( callsub( L_checkjob ) ) 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 && $@partymembercount != $@members ) {
announce getpartyname($@TeamID1) +" has extra party members !", 0;
goto lend;
}
if ( callsub( L_checkjob ) ) 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;
goto Onstart;
}
end;
L_checkjob:
while( .@i < $@partymembercount ) {
.@job$ = jobname( readparam( 19, $@partymembername$[.@i] ) );
if ( compare( .@concat_job$, .@job$ ) ) return 1;
.@concat_job$ = .@concat_job$ + .@job$ +"|";
.@i++;
}
return 0;
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 "rwc03",87,50,$@TeamID1;
warpparty "rwc03",12,50,$@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 "rwc03","prontera",156,191;
goto lend;
end;
OnPCDieEvent:
OnPCLogoutEvent:
if(strcharinfo(3) != "rwc03") end;
warp "prontera",155,170;
for(set .@i, 0; .@i < $@members; set .@i, .@i + 1) {
if ( $@partymembercidt1[.@i] == getcharid(0)) {
deletearray $@partymembercidt1[.@i], 1;
deletearray $@partymemberaidt1[.@i], 1;
if( getarraysize($@partymembercidt1) == 0 ) {
set @win2,getarraysize($@partymembercidt2);
goto onwin;
}
}
if ( $@partymembercidt2[.@i] == getcharid(0) ) {
deletearray $@partymembercidt2[.@i], 1;
deletearray $@partymemberaidt2[.@i], 1;
if( getarraysize($@partymembercidt2) == 0 ) {
set @win1,getarraysize($@partymembercidt1);
goto onwin;
}
}
}
end;
onwin:
if (@win1==0) {
warpparty "prontera",155,170,$@TeamID1;
warpparty "prontera",155,170,$@TeamID2;
Announce "Team War :"+GetPartyName($@TeamID2)+" won",0;
for ( .@i = 0; .@i < @win2; .@i++ )
getitem 14003, rand(1,9), $@partymemberaidt2[.@i];
goto lend;
}
if (@win2==0) {
warpparty "prontera",155,170,$@TeamID1;
warpparty "prontera",155,191,$@TeamID2;
Announce "Team War :"+GetPartyName($@TeamID1)+" won",0;
for ( .@i = 0; .@i < @win1; .@i++ )
getitem 14003, rand(1,9), $@partymemberaidt1[.@i];
goto lend;
}
end;
}
rwc03 mapflag nosave SavePoint
rwc03 mapflag nomemo
rwc03 mapflag nobranch
rwc03 mapflag pvp_noguild
rwc03 mapflag nocommand 60
rwc03 mapflag noicewall
rwc03 mapflag pvp
rwc03 mapflag partylock
How to add Set time the npc you can click every 24hrs? gettimetick or set time every 24hrs any idea??
Question
Dev Blaze
How to add Set time the npc you can click every 24hrs? gettimetick or set time every 24hrs any idea??
Link to comment
Share on other sites
2 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.