ConVar
cvAdminFlags;
public Plugin myinfo =
{
name = "Admin List",
author = "Nel.'a 2x2",
description = "Admins online",
version = "1.0",
url = "https://hlmod.ru/"
}
public void OnPluginStart()
{
cvAdminFlags = CreateConVar("sm_admin_flags", "b", "Админ флаги");
RegConsoleCmd("sm_admins", CmdAdmins);
AutoExecConfig(true, "AdminList+");
}
public Action CmdAdmins(int client, any arg)
{
char sBuffer[8], sName[MAXPLAYERS+1][MAX_NAME_LENGTH], sAdmins[PLATFORM_MAX_PATH];
cvAdminFlags.GetString(sBuffer, sizeof(sBuffer));
int d;
for(int i = 1; i <= MaxClients; i++) if(IsClientInGame(i) && !IsFakeClient(i) && CheckAdminFlags(i, ReadFlagString(sBuffer)))
GetClientName(i, sName[d++], MAX_NAME_LENGTH);
ImplodeStrings(sName, d, " | ", sAdmins, sizeof(sAdmins));
if(d) PrintToChatAll("Админы онлайн: [%s]", sAdmins);
else PrintToChatAll("Все админы офлайн");
return Plugin_Handled;
}
stock bool CheckAdminFlags(int client, int iFlags)
{
int iUserFlags = GetUserFlagBits(client);
return (iUserFlags & ADMFLAG_ROOT || (iUserFlags & iFlags) == iFlags);
}