[spoiler="myadmin_models"]#include <amxmodx> #include <fakemeta> // (меньше нагрузка) #define STRING_ACCESS "ny_models_access" #if cellbits == 32 #define OFFSET_TEAM 114 #else #define OFFSET_TEAM 139 #endif new bool:hasAdmin[33] = { false, ... } new g_model[] = "model" new g_myadmin_te[] = "SkiLLMasters_T" new g_myadmin_ct[] = "SkiLLMasters_CT" public plugin_precache() { new temp[64] format(temp, sizeof temp -1, "models/player/%s/%s.mdl", g_myadmin_te, g_myadmin_te) if(!precache_model(temp)) log_amx("Can't precache model '%s'", temp) format(temp, sizeof temp -1, "models/player/%s/%s.mdl", g_myadmin_ct, g_myadmin_ct) if(!precache_model(temp)) log_amx("Can't precache model '%s'", temp) } public plugin_init() { register_plugin("My Admin Models", "1.1", "@)(otnik") register_cvar(STRING_ACCESS, "a")//Админов с какими флагами нужно переодевать (добавлен квар) register_forward(FM_PlayerPostThink, "fwd_PlayerPostThink") register_forward(FM_ClientUserInfoChanged, "fwd_ClientUserInfoChanged") } public client_putinserver(id) set_task(2.0, "cmdCheckUser", id) public client_disconnect(id) hasAdmin[id] = false public cmdCheckUser(id) { if(is_user_connected(id)) { static flags[28], iflag get_cvar_string(STRING_ACCESS, flags, sizeof flags -1) iflag = read_flags(flags) if(get_user_flags(id) & iflag) { hasAdmin[id] = true } } } public fwd_PlayerPostThink(id) { if(!hasAdmin[id] || !is_user_alive(id)) return FMRES_IGNORED switch(get_pdata_int(id, OFFSET_TEAM)) { case 1: engfunc(EngFunc_SetClientKeyValue, id, engfunc(EngFunc_GetInfoKeyBuffer, id), g_model, g_myadmin_te) case 2: engfunc(EngFunc_SetClientKeyValue, id, engfunc(EngFunc_GetInfoKeyBuffer, id), g_model, g_myadmin_ct) } return FMRES_HANDLED } public fwd_ClientUserInfoChanged(id) return FMRES_SUPERCEDE[/spoiler] вот с этим плагином,что у меня он комфликтует, тут или все админы тёлки или парни=(((
|