just moving stuff in fakeclients over to functions. in the low pop helper plugin using a new native from mapchooser. skipping boost if first round and also including spectators now
This commit is contained in:
parent
208d084024
commit
8e33a8bd87
@ -42,7 +42,7 @@ public void OnMapStart()
|
|||||||
{
|
{
|
||||||
//Decided for now to exclude MaxPlayers
|
//Decided for now to exclude MaxPlayers
|
||||||
//MaxTime, MinTime, MinPlayers, CooldownTime, MinHoursAvg
|
//MaxTime, MinTime, MinPlayers, CooldownTime, MinHoursAvg
|
||||||
if (GetMapMaxTime(map) != 0 || GetMapMinTime(map) != 0 || GetMapMinPlayers(map) != 0 /*|| GetMapMaxPlayers(map) != 0*/ || GetMapCooldownTime(map) > 60
|
if (GetMapMaxTime(map) != 0 || GetMapMinTime(map) != 0 || GetMapMinPlayers(map) != 0 /*|| GetMapMaxPlayers(map) != 0*/ || GetMapCooldownTime2(map) > 60
|
||||||
|| GetMapMinHoursAvg(map) != 0)
|
|| GetMapMinHoursAvg(map) != 0)
|
||||||
{
|
{
|
||||||
g_bDoingMapTouristMode = true;
|
g_bDoingMapTouristMode = true;
|
||||||
@ -52,17 +52,23 @@ public void OnMapStart()
|
|||||||
|
|
||||||
public void OnRoundStart(Event hEvent, const char[] sEvent, bool bDontBroadcast)
|
public void OnRoundStart(Event hEvent, const char[] sEvent, bool bDontBroadcast)
|
||||||
{
|
{
|
||||||
|
if (CS_GetTeamScore(CS_TEAM_T) == 0 && CS_GetTeamScore(CS_TEAM_CT) == 0)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
int active_player_count = 0;
|
int active_player_count = 0;
|
||||||
|
|
||||||
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))
|
||||||
{
|
{
|
||||||
active_player_count++;
|
active_player_count++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (active_player_count < 24)
|
int choosen_number = 24;
|
||||||
|
if (active_player_count < choosen_number)
|
||||||
{
|
{
|
||||||
int zombie_ratio = GetConVarInt(FindConVar("zr_infect_mzombie_ratio"));
|
int zombie_ratio = GetConVarInt(FindConVar("zr_infect_mzombie_ratio"));
|
||||||
|
|
||||||
@ -73,7 +79,7 @@ public void OnRoundStart(Event hEvent, const char[] sEvent, bool bDontBroadcast)
|
|||||||
else if(knockback_increase < 1.0)
|
else if(knockback_increase < 1.0)
|
||||||
knockback_increase = 1.0
|
knockback_increase = 1.0
|
||||||
|
|
||||||
if (knockback_increase > 1.0 || (g_bDoingMapTouristMode && active_player_count < 18))
|
if (knockback_increase > 1.0 || (g_bDoingMapTouristMode && active_player_count < choosen_number))
|
||||||
{
|
{
|
||||||
if (g_bDoingMapTouristMode)
|
if (g_bDoingMapTouristMode)
|
||||||
{
|
{
|
||||||
|
|||||||
@ -425,7 +425,7 @@ public void CheckPopulation()
|
|||||||
}
|
}
|
||||||
|
|
||||||
int iPlayers = iPlayersInTeam + iPlayersSpectate + iFakesInTeam + iFakesSpectate;
|
int iPlayers = iPlayersInTeam + iPlayersSpectate + iFakesInTeam + iFakesSpectate;
|
||||||
if (iPlayers >= 58)
|
if (iPlayers >= 55)
|
||||||
{
|
{
|
||||||
if (iFakesInTeam > 0)
|
if (iFakesInTeam > 0)
|
||||||
{
|
{
|
||||||
@ -436,7 +436,7 @@ public void CheckPopulation()
|
|||||||
KickFakeFromSpec();
|
KickFakeFromSpec();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (iPlayers >= 48 && iFakesInTeam + iFakesSpectate >= 10)
|
else if (iPlayers > 50 && iFakesInTeam + iFakesSpectate >= 10)
|
||||||
{
|
{
|
||||||
if (iFakesInTeam >= iFakesSpectate >= 0)
|
if (iFakesInTeam >= iFakesSpectate >= 0)
|
||||||
{
|
{
|
||||||
@ -447,7 +447,7 @@ public void CheckPopulation()
|
|||||||
KickFakeFromSpec();
|
KickFakeFromSpec();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (iPlayers >= 43 && iFakesInTeam + iFakesSpectate >= 13)
|
else if (iPlayers >= 46 && iFakesInTeam + iFakesSpectate > 16)
|
||||||
{
|
{
|
||||||
if (iFakesInTeam >= iFakesSpectate >= 0)
|
if (iFakesInTeam >= iFakesSpectate >= 0)
|
||||||
{
|
{
|
||||||
@ -458,29 +458,31 @@ public void CheckPopulation()
|
|||||||
KickFakeFromSpec();
|
KickFakeFromSpec();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (iPlayers >= 34 && iFakesInTeam + iFakesSpectate >= 16)
|
else if (48 > iPlayers > 44 && iFakesSpectate + iFakesInTeam < 13)
|
||||||
{
|
{
|
||||||
if (iFakesInTeam >= iFakesSpectate >= 0)
|
ManageFakes(iPlayersSpectate, iPlayersInTeam, iFakesInTeam, iFakesSpectate);
|
||||||
{
|
|
||||||
KickFakeFromTeam();
|
|
||||||
}
|
}
|
||||||
else if (iFakesSpectate >= iFakesInTeam >= 1)
|
else if (iPlayers < 42)
|
||||||
{
|
{
|
||||||
KickFakeFromSpec();
|
ManageFakes(iPlayersSpectate, iPlayersInTeam, iFakesInTeam, iFakesSpectate);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (iPlayers <= 32)
|
|
||||||
|
public void ManageFakes(int iPlayersSpectate, int iPlayersInTeam, int iFakesInTeam, int iFakesSpectate)
|
||||||
{
|
{
|
||||||
int some_number = 8;
|
if (iPlayersSpectate + iPlayersInTeam + 6 > iFakesSpectate + iFakesInTeam)
|
||||||
if (iPlayersSpectate + iPlayersInTeam < some_number * 2)
|
|
||||||
{
|
|
||||||
some_number = 4;
|
|
||||||
}
|
|
||||||
if (iFakesSpectate + iFakesInTeam < iPlayersSpectate + iPlayersInTeam + some_number)
|
|
||||||
{
|
{
|
||||||
CreateFake();
|
CreateFake();
|
||||||
some_number = 8;
|
int max = 5;
|
||||||
if (iPlayersSpectate + iFakesSpectate <= some_number * 2)
|
if (iPlayersSpectate + iFakesSpectate > 16)
|
||||||
|
{
|
||||||
|
max = 8;
|
||||||
|
}
|
||||||
|
else if (iPlayersSpectate + iFakesSpectate < 9)
|
||||||
|
{
|
||||||
|
max = 3;
|
||||||
|
}
|
||||||
|
if (GetRandomInt(0, 10) > max)
|
||||||
{
|
{
|
||||||
SetFakeToSpectate();
|
SetFakeToSpectate();
|
||||||
}
|
}
|
||||||
@ -489,9 +491,18 @@ public void CheckPopulation()
|
|||||||
SetFakeToTeam();
|
SetFakeToTeam();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (iFakesSpectate + iFakesInTeam > iPlayersSpectate + iPlayersInTeam + some_number)
|
else
|
||||||
{
|
{
|
||||||
if (iPlayersSpectate + iFakesSpectate >= some_number * 2 && iFakesSpectate > 1)
|
int max = 5;
|
||||||
|
if (iPlayersSpectate + iFakesSpectate > 16)
|
||||||
|
{
|
||||||
|
max = 8;
|
||||||
|
}
|
||||||
|
else if (iPlayersSpectate + iFakesSpectate < 9)
|
||||||
|
{
|
||||||
|
max = 3;
|
||||||
|
}
|
||||||
|
if (GetRandomInt(0, 10) > max)
|
||||||
{
|
{
|
||||||
KickFakeFromSpec();
|
KickFakeFromSpec();
|
||||||
}
|
}
|
||||||
@ -500,7 +511,7 @@ public void CheckPopulation()
|
|||||||
KickFakeFromTeam();
|
KickFakeFromTeam();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void SetFakeToSpectate()
|
public void SetFakeToSpectate()
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user