ReservedSlots: give non-donators a chance to join a team before getting kicked
This commit is contained in:
parent
1fd1248528
commit
cf1299454a
@ -156,8 +156,8 @@ public void AsyncHasSteamIDReservedSlotCallback(const char[] sSteam32ID, int Res
|
|||||||
|
|
||||||
stock bool KickValidClient(const char[] sName, const char[] sSteam32ID, AdminId admin, int Immunity)
|
stock bool KickValidClient(const char[] sName, const char[] sSteam32ID, AdminId admin, int Immunity)
|
||||||
{
|
{
|
||||||
int HighestValue[3] = {-1, ...};
|
int HighestValue[4] = {-1, ...};
|
||||||
int HighestValueClient[3] = {0, ...};
|
int HighestValueClient[4] = {0, ...};
|
||||||
|
|
||||||
for(int client = 1; client <= MaxClients; client++)
|
for(int client = 1; client <= MaxClients; client++)
|
||||||
{
|
{
|
||||||
@ -180,11 +180,11 @@ stock bool KickValidClient(const char[] sName, const char[] sSteam32ID, AdminId
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Spectators
|
/* Spectators
|
||||||
* Sort by idle time and also kick donators if IdleTime > 30
|
* Sort by idle time and kick non-donators if IdleTime > 10
|
||||||
*/
|
*/
|
||||||
if(GetClientTeam(client) <= CS_TEAM_SPECTATOR)
|
if(GetClientTeam(client) <= CS_TEAM_SPECTATOR)
|
||||||
{
|
{
|
||||||
if(!Donator || IdleTime > 30)
|
if(!Donator && IdleTime > 10)
|
||||||
{
|
{
|
||||||
if(IdleTime > HighestValue[0])
|
if(IdleTime > HighestValue[0])
|
||||||
{
|
{
|
||||||
@ -193,6 +193,20 @@ stock bool KickValidClient(const char[] sName, const char[] sSteam32ID, AdminId
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
/* Spectators
|
||||||
|
* Sort by idle time and also kick donators if IdleTime > 30
|
||||||
|
*/
|
||||||
|
if(GetClientTeam(client) <= CS_TEAM_SPECTATOR)
|
||||||
|
{
|
||||||
|
if(Donator && IdleTime > 30)
|
||||||
|
{
|
||||||
|
if(IdleTime > HighestValue[0])
|
||||||
|
{
|
||||||
|
HighestValue[1] = IdleTime;
|
||||||
|
HighestValueClient[1] = client;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
/* Spectators */
|
/* Spectators */
|
||||||
|
|
||||||
/* Dead non-donator with IdleTime > 30
|
/* Dead non-donator with IdleTime > 30
|
||||||
@ -202,8 +216,8 @@ stock bool KickValidClient(const char[] sName, const char[] sSteam32ID, AdminId
|
|||||||
{
|
{
|
||||||
if(IdleTime > 30 && IdleTime > HighestValue[1])
|
if(IdleTime > 30 && IdleTime > HighestValue[1])
|
||||||
{
|
{
|
||||||
HighestValue[1] = IdleTime;
|
HighestValue[2] = IdleTime;
|
||||||
HighestValueClient[1] = client;
|
HighestValueClient[2] = client;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
/* Dead non-donator with IdleTime > 30 */
|
/* Dead non-donator with IdleTime > 30 */
|
||||||
@ -215,8 +229,8 @@ stock bool KickValidClient(const char[] sName, const char[] sSteam32ID, AdminId
|
|||||||
{
|
{
|
||||||
if(IdleTime > 30 && IdleTime > HighestValue[2])
|
if(IdleTime > 30 && IdleTime > HighestValue[2])
|
||||||
{
|
{
|
||||||
HighestValue[2] = IdleTime;
|
HighestValue[3] = IdleTime;
|
||||||
HighestValueClient[2] = client;
|
HighestValueClient[3] = client;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
/* Alive non-donator with IdleTime > 30 */
|
/* Alive non-donator with IdleTime > 30 */
|
||||||
|
Loading…
Reference in New Issue
Block a user