adjustments

This commit is contained in:
jenz 2026-04-06 15:07:24 +02:00
parent ff012d2df5
commit 06734d1b6e

View File

@ -490,7 +490,7 @@ public void CheckPopulation()
for(int i = 1; i <= MaxClients; i++) for(int i = 1; i <= MaxClients; i++)
{ {
if(IsClientConnected(i) && IsClientInGame(i) && IsClientAuthorized(i) && (IsFakeClient(i) || IsClientAutismBot(i) || IsClientSourceTV(i) || GetClientTeam(i) == CS_TEAM_SPECTATOR)) if(IsClientConnected(i) && IsClientInGame(i) && IsClientAuthorized(i) && (IsFakeClient(i) || IsClientAutismBot(i) || IsClientSourceTV(i) || GetClientTeam(i) <= CS_TEAM_SPECTATOR))
iPlayers--; iPlayers--;
} }
@ -503,31 +503,52 @@ public void CheckPopulation()
iFakes++; iFakes++;
} }
bool okay_to_change_count = true;
if (iPlayers > 16)
{
iPlayers = 16;
}
int iFakesInTeamNeeded = iPlayers; int iFakesInTeamNeeded = iPlayers;
int iFakesNeeded = iPlayers; int iFakesNeeded = iPlayers;
int full_client_count = GetClientCount(false); iPlayers = GetClientCount(false);
if (full_client_count > 50 && iFakes > 15) if (iPlayers > 53)
{ {
iFakesInTeamNeeded = 3;
iFakesNeeded = 15;
}
else if (full_client_count > 54 && iFakes > 8)
{
iFakesInTeamNeeded = 2;
iFakesNeeded = 5;
}
else if (full_client_count > 59 && iFakes > 0) //counting all clients in total.
{
iFakesInTeamNeeded = 0; iFakesInTeamNeeded = 0;
iFakesNeeded = 0; iFakesNeeded = 0;
}
else if (full_client_count >= 42)
{
return;
} }
else else if (iPlayers > 48 && iFakes > 10)
{
iFakesInTeamNeeded = 5;
iFakesNeeded = 10;
}
else if (iPlayers >= 42)
{
okay_to_change_count = false;
}
int specs = 0;
for(int i = 1; i <= MaxClients; i++)
{
if(IsClientConnected(i) && GetClientTeam(i) <= CS_TEAM_SPECTATOR)
{
specs++;
}
}
//LogMessage("specs: %i", specs);
if (specs >= 13)
{
if (iFakesNeeded > 5)
{
iFakesNeeded = 5;
}
iFakesInTeamNeeded = iFakesNeeded;
okay_to_change_count = true;
//LogMessage("iFakesInTeamNeeded: %i", iFakesInTeamNeeded);
}
else if (specs <= 10)
{ {
iFakesInTeamNeeded = (iFakesNeeded / 5); iFakesInTeamNeeded = (iFakesNeeded / 5);
} }
@ -538,7 +559,7 @@ public void CheckPopulation()
} }
if (iFakes != iFakesNeeded) if (iFakes != iFakesNeeded && okay_to_change_count)
{ {
while (iFakes < iFakesNeeded && !g_bBlockInstantFakeConnects) while (iFakes < iFakesNeeded && !g_bBlockInstantFakeConnects)
{ {
@ -613,6 +634,7 @@ public void CheckPopulation()
iFakesInTeam++; iFakesInTeam++;
} }
//LogMessage("iFakesInTeam: %i. iFakesInTeamNeeded: %i", iFakesInTeam, iFakesInTeamNeeded);
if (iFakesInTeam != iFakesInTeamNeeded && g_iAdminFakes == -1) if (iFakesInTeam != iFakesInTeamNeeded && g_iAdminFakes == -1)
{ {
if (iFakesInTeam < iFakesInTeamNeeded) if (iFakesInTeam < iFakesInTeamNeeded)