Stworzyłem swoja modyfikacje tego pluginiu i prezentuje się tak:

admin_check.sma
#include <amxmodx>
#define ADMIN_HA ADMIN_RESERVATION // flaga "b"
#define ADMIN_CHECK ADMIN_LEVEL_E // flaga "c"
static const COLOR[] = "^x04" //green
new maxplayers
new gmsgSayText
public plugin_init() {
register_plugin("admincheck", "1.0", "faucolt")
maxplayers = get_maxplayers()
gmsgSayText = get_user_msgid("SayText")
register_clcmd("say", "handle_say")
}
public handle_say(id) {
new said[192]
read_args(said,192)
if( ( containi(said, "who") != -1 && containi(said, "admin") != -1 ) || contain(said, "/admin") != -1 )
set_task(0.1,"print_adminlist",id)
return PLUGIN_CONTINUE
}
public print_adminlist(user)
{
new headadminnames[33][32]
new adminnames[33][32]
new message[256]
new id, acount, hacount, x, len, lenh
for(id = 1 ; id <= maxplayers ; id++)
if(is_user_connected(id))
if (get_user_flags(id) & ADMIN_CHECK) {
if (get_user_flags(id) & ADMIN_HA) {
get_user_name(id, headadminnames[hacount++], 31)
} else {
get_user_name(id, adminnames[acount++], 31)
}
}
lenh = format(message, 255, "%s Headadmini obecni na serwerze: ",COLOR)
if(hacount > 0) {
for(x = 0 ; x < hacount ; x++) {
lenh += format(message[lenh], 255-lenh, "%s%s ", headadminnames[x], x < (hacount-1) ? ", ":"")
if(lenh > 96 ) {
print_message(user, message)
lenh = format(message, 255, "%s ",COLOR)
}
}
print_message(user, message)
}
else {
lenh += format(message[lenh], 255-lenh, "brak dostepnych headadminow.")
print_message(user, message)
}
len = format(message, 255, "%s Admini obecni na serwerze: ",COLOR)
if(acount > 0) {
for(x = 0 ; x < acount ; x++) {
len += format(message[len], 255-len, "%s%s ", adminnames[x], x < (acount-1) ? ", ":"")
if(len > 96 ) {
print_message(user, message)
len = format(message, 255, "%s ",COLOR)
}
}
print_message(user, message)
}
else {
len += format(message[len], 255-len, "brak dostepnych adminow.")
print_message(user, message)
}
}
print_message(id, msg[]) {
message_begin(MSG_ONE, gmsgSayText, {0,0,0}, id)
write_byte(id)
write_string(msg)
message_end()
}
Dorzucam jeszcze spis dostępnych flag:
#define ADMIN_ALL /* wszyscy */
#define ADMIN_IMMUNITY /* flag "a" */
#define ADMIN_RESERVATION /* flag "b" */
#define ADMIN_KICK /* flag "c" */
#define ADMIN_BAN /* flag "d" */
#define ADMIN_SLAY /* flag "e" */
#define ADMIN_MAP /* flag "f" */
#define ADMIN_CVAR /* flag "g" */
#define ADMIN_CFG /* flag "h" */
#define ADMIN_CHAT /* flag "i" */
#define ADMIN_VOTE /* flag "j" */
#define ADMIN_PASSWORD /* flag "k" */
#define ADMIN_RCON /* flag "l" */
#define ADMIN_LEVEL_A /* flag "m" */
#define ADMIN_LEVEL_B /* flag "n" */
#define ADMIN_LEVEL_C /* flag "o" */
#define ADMIN_LEVEL_D /* flag "p" */
#define ADMIN_LEVEL_E /* flag "q" */
#define ADMIN_LEVEL_F /* flag "r" */
#define ADMIN_LEVEL_G /* flag "s" */
#define ADMIN_LEVEL_H /* flag "t" */
#define ADMIN_MENU /* flag "u" */
#define ADMIN_ADMIN /* flag "y" */
#define ADMIN_USER /* flag "z" */
Modyfikacje w kodzie możecie robić dowolne. (dopisywać jakieś nr gadu, itp).
Zrobiłem to na szybko, więc w kodzie tylko niewielka zmiana.

Pozdrawiam,
faucolt