69 lines
1.3 KiB
SourcePawn
69 lines
1.3 KiB
SourcePawn
#pragma semicolon 1
|
|
#pragma newdecls required
|
|
|
|
#include <sourcemod>
|
|
#include <sdkhooks>
|
|
#include <sdktools>
|
|
|
|
bool g_bIsAdmin[MAXPLAYERS + 1] = {false, ...};
|
|
|
|
public Plugin myinfo =
|
|
{
|
|
name = "AdminIcon",
|
|
author = "BotoX",
|
|
description = "Gives admins a defuser.",
|
|
version = "1.0",
|
|
url = ""
|
|
};
|
|
|
|
public void OnPluginStart()
|
|
{
|
|
for(int client = 1; client <= MaxClients; client++)
|
|
{
|
|
g_bIsAdmin[client] = false;
|
|
if(IsClientInGame(client) && !IsFakeClient(client) && IsClientAuthorized(client))
|
|
OnClientPostAdminCheck(client);
|
|
}
|
|
}
|
|
|
|
public void OnClientConnected(int client)
|
|
{
|
|
g_bIsAdmin[client] = false;
|
|
}
|
|
|
|
public void OnClientDisconnect(int client)
|
|
{
|
|
g_bIsAdmin[client] = false;
|
|
}
|
|
|
|
public void OnClientPostAdminCheck(int client)
|
|
{
|
|
if(IsFakeClient(client))
|
|
return;
|
|
|
|
if(GetAdminFlag(GetUserAdmin(client), Admin_Generic))
|
|
g_bIsAdmin[client] = true;
|
|
}
|
|
|
|
public void OnGameFrame()
|
|
{
|
|
for(int client = 1; client <= MaxClients; client++)
|
|
{
|
|
if(g_bIsAdmin[client])
|
|
{
|
|
if(IsClientObserver(client))
|
|
SetEntProp(client, Prop_Send, "m_bHasDefuser", 0);
|
|
else
|
|
SetEntProp(client, Prop_Send, "m_bHasDefuser", 1);
|
|
}
|
|
}
|
|
}
|
|
|
|
public void OnEntitySpawned(int entity, const char[] classname)
|
|
{
|
|
if(IsValidEntity(entity) && StrEqual(classname, "item_defuser"))
|
|
{
|
|
AcceptEntityInput(entity, "Kill");
|
|
}
|
|
}
|