Добрый день, имеется плагин который подходит и работает нормально.
Но хотелось бы добавить сюда команду на включения отключения худа админов, так как просто не всем нравится
код приложу, спасибо за помощь кто поможет!
Но хотелось бы добавить сюда команду на включения отключения худа админов, так как просто не всем нравится
код приложу, спасибо за помощь кто поможет!
- Исходный код
- Код:
#include <amxmodx> #include <engine> #define PLUGIN "Show Admins Online" #define VERSION "1.1" #define AUTHOR "vato loco [GE-S] & Alka" new bool:g_bAdminNick new bool:is_admin_connected[33] new g_msg[512] new g_admin_enable new g_online_color new g_offline_color new g_msg_xypos new g_SyncAdmin new g_iAdminCount new g_iMaxPlayers new g_ClassName[] = "admin_msg" public plugin_init() { register_plugin( PLUGIN, VERSION, AUTHOR ) register_think(g_ClassName,"ForwardThink") g_admin_enable = register_cvar("sa_plugin_on","1") g_online_color = register_cvar("sa_online_color","0 130 0") g_offline_color = register_cvar("sa_offline_color","255 0 0") g_msg_xypos = register_cvar("sa_msg_xypos","0.02 0.2") g_SyncAdmin = CreateHudSyncObj() g_iMaxPlayers = get_maxplayers() new iEnt = create_entity("info_target") entity_set_string(iEnt, EV_SZ_classname, g_ClassName) entity_set_float(iEnt, EV_FL_nextthink, get_gametime() + 2.0) } public client_putinserver(id) { if(get_user_flags(id) & ADMIN_KICK) { is_admin_connected[id] = true g_iAdminCount++ set_admin_msg() } if(g_iAdminCount == 0) set_admin_msg() } public client_disconnect(id) { if(is_admin_connected[id]) { is_admin_connected[id] = false g_iAdminCount-- set_admin_msg() } } public client_infochanged(id) { if(is_admin_connected[id]) { static NewName[32], OldName[32] get_user_info(id, "name", NewName, 31) get_user_name(id, OldName, 31) if(!equal(OldName, NewName)) { g_bAdminNick = true } } } public set_admin_msg() { static g_iAdminName[32], pos, i pos = 0 pos += formatex(g_msg[pos], 511-pos, "Admins Online: %d", g_iAdminCount) for(i = 1 ; i <= g_iMaxPlayers ; i++) { if(is_admin_connected[i]) { get_user_name(i, g_iAdminName, 31) pos += formatex(g_msg[pos], 511-pos, "^n%s", g_iAdminName) } } } public admins_online() { if(get_pcvar_num(g_admin_enable)) { static r, g, b, Float:x,Float:y HudMsgPos(x,y) if (g_iAdminCount > 0) { HudMsgColor(g_online_color, r, g, b) set_hudmessage(r, g, b, x, y, _, _, 4.0, _, _, 4) ShowSyncHudMsg(0, g_SyncAdmin, "%s", g_msg) } else { HudMsgColor(g_offline_color, r, g, b) set_hudmessage(r, g, b, x, y, _, _, 4.0, _, _, 4) ShowSyncHudMsg(0, g_SyncAdmin, "%s", g_msg) } } return PLUGIN_HANDLED } public ForwardThink(iEnt) { admins_online() if(g_bAdminNick) { set_admin_msg() g_bAdminNick = false } entity_set_float(iEnt, EV_FL_nextthink, get_gametime() + 2.0) } public HudMsgColor(cvar, &r, &g, &b) { static color[16], piece[5] get_pcvar_string(cvar, color, 15) strbreak( color, piece, 4, color, 15) r = str_to_num(piece) strbreak( color, piece, 4, color, 15) g = str_to_num(piece) b = str_to_num(color) } public HudMsgPos(&Float:x, &Float:y) { static coords[16], piece[10] get_pcvar_string(g_msg_xypos, coords, 15) strbreak(coords, piece, 9, coords, 15) x = str_to_float(piece) y = str_to_float(coords) }
- Источник плагина (ссылка на сайт или тему)
- https://forums.alliedmods.net/showthread.php?t=92762