Little team Balancer help! - Printable Version
+- SA-MP Forums Archive (
https://sampforum.blast.hk)
+-- Forum: SA-MP Scripting and Plugins (
https://sampforum.blast.hk/forumdisplay.php?fid=8)
+--- Forum: Scripting Help (
https://sampforum.blast.hk/forumdisplay.php?fid=12)
+--- Thread: Little team Balancer help! (
/showthread.php?tid=147396)
Little team Balancer help! -
Saurik - 12.05.2010
Well i have a code here. It works, but i have 4 teams and i do not know how to set the Count1. Count2 Count3 Count4 to make it work for 4 teams
EX. Count1 > Count2 Count2 > Count1
idk how to make it for make for 4 teams.. help
Код:
new count1, count2, count3, count4;
for(new p = 0; p < GetMaxPlayers(); p++)
{
if (gTeam[p] == TEAM_USA)
{
count1++;
}
else if (gTeam[p] == TEAM_CHINA)
{
count2++;
}
else if (gTeam[p] == TEAM_IRAN)
{
count3++;
}
else if (gTeam[p] == TEAM_RUSSIA)
{
count4++;
}
}
if ((count1 > count2) && gTeam[playerid] == TEAM_USA)
return SendClientMessage(playerid, COLOR_RED, " This team is full!");
else if ((count2 > count1) && gTeam[playerid] == TEAM_CHINA)
return SendClientMessage(playerid, COLOR_RED, " This team is full!");
else if ((count2 > count1) && gTeam[playerid] == TEAM_IRAN)
return SendClientMessage(playerid, COLOR_RED, " This team is full!");
Re: Little team Balancer help! -
cessil - 12.05.2010
I'd do something like this
Код:
new usa, china, iran, russia, lowest, highest, highnum, lownum;
for(new p = 0; p < GetMaxPlayers(); p++)
{
if (gTeam[p] == TEAM_USA)
{
usa++;
if(usa > highnum)
{
highnum = usa;
highest = 1;
}
if(usa < lownum)
{
lownum = usa;
lowest = 1;
}
}
if ((highest == 1) && gTeam[playerid] == TEAM_USA)
return SendClientMessage(playerid, COLOR_RED, " This team is full!");
Re: Little team Balancer help! -
mini_mi - 30.08.2012
guys i need file script team balancer with 2 teams plz help drop me a pm plz plz
Re: Little team Balancer help! -
Dan. - 30.08.2012
When a player wants to spawn, I check if the team is full:
pawn Код:
public OnPlayerRequestSpawn(playerid)
{
if(IsTeamFull(gTeam[playerid]))
{
SendClientMessage(playerid, C_GREY, "Team full! Please choose another one.");
return 0;
}
else return 1;
}
This is the IsTeamFull stock:
pawn Код:
stock IsTeamFull(teamid)
{
if(teamid == T_ENGLAND)
{
if(TeamMembers(teamid) > TeamMembers(T_RUSSIA) || TeamMembers(teamid) > TeamMembers(T_MEXICO) || TeamMembers(teamid) > TeamMembers(T_IRAQ))
{
return 1;
}
else return 0;
}
if(teamid == T_RUSSIA)
{
if(TeamMembers(teamid) > TeamMembers(T_ENGLAND) || TeamMembers(teamid) > TeamMembers(T_MEXICO) || TeamMembers(teamid) > TeamMembers(T_IRAQ))
{
return 1;
}
else return 0;
}
if(teamid == T_MEXICO)
{
if(TeamMembers(teamid) > TeamMembers(T_RUSSIA) || TeamMembers(teamid) > TeamMembers(T_ENGLAND) || TeamMembers(teamid) > TeamMembers(T_IRAQ))
{
return 1;
}
else return 0;
}
if(teamid == T_IRAQ)
{
if(TeamMembers(teamid) > TeamMembers(T_RUSSIA) || TeamMembers(teamid) > TeamMembers(T_MEXICO) || TeamMembers(teamid) > TeamMembers(T_ENGLAND))
{
return 1;
}
else return 0;
}
return 0;
}
And the stock that gets the players in that team (needed for previous stock):
pawn Код:
stock TeamMembers(teamid)
{
new players = 0;
foreach(Player, i)
{
if(gTeam[i] == teamid)
{
players ++;
}
}
return players;
}