//= Evento Arena de Combate - Criado pelo NWRO.net
//===== Por: =================================================
//= Matheus
//===== Versão atual: ========================================
//= 1.0
//===== Arena de Combate ===========================================
prontera,193,147,4 script Team Wars::teamwar 4_M_COSTELL,{
if (getgmlevel() >= 99){
menu "Menu Inicial",standard,"Resetar",lend;
}
standard:
set $@members,7; //número de membros do grupo altera isso para o tamanho que você deseja
set $@start,0; getpartymember(getcharid(1));
set @partymembercount,$@partymembercount;
if ( $@start == 1 ) {
mes "No momento, as inscrições não estão disponíveis porque uma correspondência está em andamento. Não hesite em tentar novamente em alguns minutos!";
close;
}
if ( @partymembercount == $@members ) {
if ( $@TeamID1 == getcharid(1) ) {
mes "Deseja sair da sua equipe?";
next;
if (select("Sim. Desisto ~.","Nunca Irei Desistir !!")==2)
close;
announce "Team 1 : [ " + getpartyname($@TeamID1) + " ] Desistiu. Precisamos de outra Equipe para se inscrever agora!",bc_yellow|bc_map;
set $@TeamID1, 0;
close;
}
if ($@TeamID2==getcharid(1)) {
//mes "Do you wish to sign out your team?";
mes "Deseja sair da sua equipe?";
next;
if (select("Sim. Desisto ~.","Nunca Irei Desistir !!")==2) close;
announce "Team 2 : [ " + getpartyname($@TeamID2) + " ] Desistiu. Precisamos de outra Equipe para se inscrever agora!",bc_yellow|bc_map;
set $@TeamID2, 0;
close;
}
mes "Hello "+strcharinfo(0)+" o que você quer?";
if (($@TeamID1!=0) && ($@TeamID2!=0)) {
mes "No momento, as inscrições não estão disponíveis porque uma correspondência está em andamento. Não hesite em tentar novamente em alguns minutos!";
close;
}
if ( getpartyleader(getcharid(1),2) != getcharid(0) ) {
mes "Somente o líder do grupo tem o direito de se inscrever / out from the game with me..";
close;
}
mes "Escolha seu time para se registrar.";
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 "Você precisa que todos os membros do seu grupo estejam online para se registrar";
close;
}
set $@TeamID1, getcharid(1);
initnpctimer;
mes "Seu grupo está inscrito agora, boa sorte!";
announce "Team 1 : [ " +getpartyname($@TeamID1)+ " ] se inscreveu Para a guerra de equipes!",bc_blue|bc_map;
doevent "teamwar::OnSubscriptionTeam";
close;
} else {
mes "Eu sinto Muito! Outra equipe se inscreveu antes de você...";
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 "Você precisa que todos os membros do seu grupo estejam online para se registrar";
close;
}
set $@TeamID2, getcharid(1);
initnpctimer;
mes "Seu grupo está inscrito agora, boa sorte!";
announce "Team 2 : [ " +getpartyname($@TeamID2)+ " ] se inscreveu Para a guerra de equipes!",bc_blue|bc_map;
doevent "teamwar::OnSubscriptionTeam";
close;
} else {
mes "Eu sinto Muito! Outra equipe se inscreveu antes de você...";
close;
}
}
} else {
mes "[Event Handler]";
mes "Entre em contato com o líder do seu grupo.";
mes "Sua equipe deve ser um grupo composto por "+$@members+" membros.";
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)+" não estão todos online, a partida foi cancelada",0;
announce "Team War : inscrição para 2 novas equipes já está disponível",0;
goto lend;
}
if ( $@TeamID2 && $@partymembercount != $@members ) {
announce getpartyname($@TeamID2) +" tem membros extras no grupo!", 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)+" não estão todos online, a partida foi cancelada",0;
announce "Team War : inscrição para 2 novas equipes já está disponível",0;
goto lend;
}
if ( $@TeamID1 && $@partymembercount != $@members ) {
announce getpartyname($@TeamID1) +" tem membros extras no grupo !", 0;
goto lend;
}
if($@TeamID1!=0 && $@TeamID2!=0){
announce "Team War : Temos 2 equipes inscritas agora : "+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 : Não temos equipes para iniciar. A inscrição para duas equipes já estão disponíveis",0;
end;
OnStart:
warpparty "guild_v02",135,158,$@TeamID1;
warpparty "guild_v02",164,129,$@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 : Nenhuma parte venceu devido ao prazo!",0;
mapwarp "guild_v02","prontera",174,175;
goto lend;
end;
OnPCDieEvent:
OnPCLogoutEvent:
if(strcharinfo(3) != "guild_v02")
end;
warp "prontera",174,175;
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",174,175,$@TeamID1;
warpparty "prontera",174,175,$@TeamID2;
announce "Team War :"+getpartyname($@TeamID2)+" Venceu!!! Parabéns!",0;
for ( .@i = 0; .@i < @win2; .@i++ )
getitem 7588, rand(6,10), $@partymemberaidt2[.@i];
goto lend;
}
if (@win2==0) {
warpparty "prontera",174,175,$@TeamID1;
warpparty "prontera",174,175,$@TeamID2;
announce "Team War :"+getpartyname($@TeamID1)+" Venceu!!! Parabéns!",0;
for ( .@i = 0; .@i < @win1; .@i++ )
getitem 7588, rand(6,10), $@partymemberaidt1[.@i];
goto lend;
}
end;
}
////////////////////////////////////////
guild_v02 mapflag nowarp
guild_v02 mapflag nowarpto
guild_v02 mapflag noteleport
guild_v02 mapflag nosave SavePoint
guild_v02 mapflag nomemo
guild_v02 mapflag nobranch
guild_v02 mapflag nopenalty
guild_v02 mapflag nostorage
guild_v02 mapflag pvp_noparty
guild_v02 mapflag pvp_noguild
guild_v02 mapflag noicewall
guild_v02 mapflag pvp
guild_v02 mapflag partylock
////////////////////////////////////////