#include <sdkhooks>
static int iLimit = 5; // минимальное количество игроков для возможности использовать c4
bool bLate;
int iNum;
public APLRes AskPluginLoad2(Handle myself, bool late, char[] error, int err_max)
{
bLate = late;
return APLRes_Success;
}
public void OnPluginStart()
{
if(!bLate) return;
for(int i = 1; i <= MaxClients; i++) if(IsClientInGame(i))
{
iNum++;
SDKHook(i, SDKHook_WeaponCanUse, OnWeaponCanUse);
}
bLate = false;
}
public void OnMapStart()
{
if(!bLate) iNum = 0;
}
public void OnClientConnected(int client)
{
iNum++;
SDKHook(client, SDKHook_WeaponCanUse, OnWeaponCanUse);
}
public void OnClientDisconnect_Post(int client)
{
iNum--;
}
public Action OnWeaponCanUse(int client, int wpn)
{
if(iLimit <= iNum || !IsValidEdict(wpn) || GetClientTeam(client) != 2) return Plugin_Continue;
static char class[16];
GetEdictClassname(wpn, class, sizeof(class));
if(StrContains(class, "weapon_c4", false)) return Plugin_Continue;
// здесь можно добавить вывод сообщения о невозможности использовать бомбу
return Plugin_Handled;
}