92 lines
2.8 KiB
SourcePawn
92 lines
2.8 KiB
SourcePawn
#include <sourcemod>
|
|
#include <A2SFixes>
|
|
|
|
#pragma semicolon 1
|
|
#pragma newdecls required
|
|
|
|
int g_iFakePlayers = 0;
|
|
|
|
//----------------------------------------------------------------------------------------------------
|
|
// Purpose:
|
|
//----------------------------------------------------------------------------------------------------
|
|
public Plugin myinfo =
|
|
{
|
|
name = "ImprovedHitboxes", //camouflage
|
|
author = "Neon",
|
|
description = "",
|
|
version = "1.0",
|
|
url = "https://steamcommunity.com/id/n3ontm"
|
|
};
|
|
|
|
//----------------------------------------------------------------------------------------------------
|
|
// Purpose:
|
|
//----------------------------------------------------------------------------------------------------
|
|
public void OnPluginStart()
|
|
{
|
|
RegAdminCmd("sm_debugfakes", Command_DebugFakes, ADMFLAG_RCON, "");
|
|
}
|
|
|
|
//----------------------------------------------------------------------------------------------------
|
|
// Purpose:
|
|
//----------------------------------------------------------------------------------------------------
|
|
public void OnPluginEnd()
|
|
{
|
|
FakePlayers(0);
|
|
}
|
|
|
|
//----------------------------------------------------------------------------------------------------
|
|
// Purpose:
|
|
//----------------------------------------------------------------------------------------------------
|
|
public Action Command_DebugFakes(int client, int argc)
|
|
{
|
|
ReplyToCommand(client, "[SM] There are currently %d Fake Players.", g_iFakePlayers);
|
|
return Plugin_Handled;
|
|
}
|
|
|
|
//----------------------------------------------------------------------------------------------------
|
|
// Purpose:
|
|
//----------------------------------------------------------------------------------------------------
|
|
public void OnClientConnected(int client)
|
|
{
|
|
CheckPopulation();
|
|
}
|
|
|
|
//----------------------------------------------------------------------------------------------------
|
|
// Purpose:
|
|
//----------------------------------------------------------------------------------------------------
|
|
public void OnClientDisconnect(int client)
|
|
{
|
|
CheckPopulation();
|
|
}
|
|
|
|
//----------------------------------------------------------------------------------------------------
|
|
// Purpose:
|
|
//----------------------------------------------------------------------------------------------------
|
|
public void CheckPopulation()
|
|
{
|
|
int iPlayers = 0;
|
|
for(int i = 1; i <= MaxClients; i++)
|
|
{
|
|
if(IsClientConnected(i) && !IsFakeClient(i))
|
|
iPlayers++;
|
|
}
|
|
|
|
if (iPlayers > 61)
|
|
g_iFakePlayers = 0;
|
|
else if(iPlayers > 60)
|
|
g_iFakePlayers = 1;
|
|
else if(iPlayers > 55)
|
|
g_iFakePlayers = 3;
|
|
else if (iPlayers > 40)
|
|
g_iFakePlayers = 4;
|
|
else if (iPlayers > 20)
|
|
g_iFakePlayers = 3;
|
|
else if (iPlayers > 10)
|
|
g_iFakePlayers = 2;
|
|
else if (iPlayers > 5)
|
|
g_iFakePlayers = 1;
|
|
else
|
|
g_iFakePlayers = 0;
|
|
|
|
FakePlayers(g_iFakePlayers);
|
|
} |