sm-plugins/AdminIcon/scripting/AdminIcon.sp

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");
}
}