Всем привет! Подскажите пожалуйста, как правильно сделать проверку в этом плагине, что если есть в топе админ например с флагом ADMIN_KICK, то ему ничего не выдавало
Код:
#include <amxmodx>
#include <amxmisc>
#include <csx>
#define PLUGIN "TOP VIP (Auto Set)"
#define VERSION "1.0a"
#define AUTHOR "Leo_[BH]"
new g_Flags_Vip, g_Top_Num
new g_Chat_Enable, g_Hud_Enable, g_Sound_Enable
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
g_Flags_Vip = register_cvar("amx_top_vip_access", "t")
g_Top_Num = register_cvar("amx_top_vip_players", "3")
g_Chat_Enable = register_cvar("amx_top_vip_chat_msg", "1")
g_Hud_Enable = register_cvar("amx_top_vip_hud_msg", "1")
g_Sound_Enable = register_cvar("amx_top_vip_sound", "1")
register_cvar("amx_top_vip_task", "15.0")
register_clcmd("say /rank", "CmdRank");
register_event("HLTV", "event_round_start", "a", "1=0", "2=0")
return PLUGIN_CONTINUE;
}
public plugin_cfg(){
new configsdir[128]
get_localinfo("amxx_configsdir", configsdir, 127)
return server_cmd("exec %s/top_vip.cfg", configsdir)
}
public client_putinserver(id)
{
new Float:g_szSetTime = get_cvar_float("amx_top_vip_task")
set_task(g_szSetTime, "csx_check", id)
}
public csx_check(id)
{
if(!is_user_connected(id) || is_user_admin(id) || is_user_bot(id))
{
return PLUGIN_CONTINUE;
}
new stats[8],bodyhits[8],irank
irank = get_user_stats(id,stats,bodyhits)
// client_print(id,print_console,"[StatsX] Rank: %d", irank)
if ( (irank <= get_pcvar_num(g_Top_Num)) )
{
set_vip(id)
}
return PLUGIN_CONTINUE;
}
public set_vip(id)
{
if(!is_user_connected(id) || is_user_bot(id))
{
return PLUGIN_CONTINUE;
}
// SET VIP ACCESS!!!
new g_szFlagsVip[64]
get_pcvar_string( g_Flags_Vip, g_szFlagsVip, 63 );
new r_flag_z, flags_vip;
r_flag_z = read_flags("z");
remove_user_flags(id,r_flag_z);
flags_vip = read_flags(g_szFlagsVip);
set_user_flags(id,flags_vip);
// Info VIP Set
new stats[8],bodyhits[8],irank
irank = get_user_stats(id,stats,bodyhits)
if(get_pcvar_num(g_Chat_Enable))
{
ChatColor ( id, "^1[^4VIP^1] Вы награждены ^3VIP-Привилегиями^1 за^4 %d-ое^1 место в топе сервера!", irank)
}
if(get_pcvar_num(g_Hud_Enable))
{
set_dhudmessage(0, 200, 0, -1.0, 0.28, 2, 6.0, 2.5, 0.05, 1.5);
show_dhudmessage(id, "Вы награждены VIP-Привилегиями ^nЗа %d-ое место в топе сервера!", irank);
}
if(get_pcvar_num(g_Sound_Enable))
{
client_cmd(id, "spk doop")
}
return PLUGIN_CONTINUE;
}
public event_round_start()
{
new id
for(id = 1; id <= 32; id++)
{
if(!is_user_connected(id) || is_user_admin(id) || is_user_bot(id))
{
return PLUGIN_CONTINUE;
}
new stats[8],bodyhits[8],irank
irank = get_user_stats(id,stats,bodyhits)
// client_print(id,print_console,"[StatsX] Rank: %d", irank)
if ( (irank <= get_pcvar_num(g_Top_Num)) )
{
set_vip(id)
}
}
return PLUGIN_CONTINUE;
}
/*
public CmdRank(id)
{
new topnum = get_pcvar_num(g_Top_Num)
if(get_pcvar_num(g_Hud_Enable))
{
set_dhudmessage(0, 200, 0, -1.0, 0.28, 2, 6.0, 2.5, 0.05, 1.5);
if(topnum == 1)
{
show_dhudmessage(id, "За первое место:^n VIP Выдается автоматически!");
}
else if(topnum <= 4)
{
show_dhudmessage(id, "За первые %d места:^n VIP Выдается автоматически!", topnum);
}
else{
show_dhudmessage(id, "За первые %d мест:^n VIP Выдается автоматически!", topnum);
}
}
if(get_pcvar_num(g_Chat_Enable))
{
if(topnum == 1)
{
ChatColor ( id, "^4[StatsX] ^3За первое^4 %d ^3мест: ^4VIP бесплатно!")
}
else if(topnum <= 4)
{
ChatColor ( id, "^4[StatsX] ^3За первые^4 %d ^3места: ^4VIP бесплатно!", topnum)
}
else{
ChatColor ( id, "^4[StatsX] ^3За первые^4 %d ^3мест: ^4VIP бесплатно!", topnum)
}
}
return PLUGIN_CONTINUE;
}
*/
stock ChatColor(const id, const input[], any:...)
{
new count = 1, players[32]
static msg[191]
vformat(msg, 190, input, 3)
replace_all(msg, 190, "!g", "^4") // Green Color
replace_all(msg, 190, "!y ", "^1") // Default Color
replace_all(msg, 190, "!team", "^3") // Team Color
replace_all(msg, 190, "!team2", "^0") // Team2 Color
if (id) players[0] = id; else get_players(players, count, "ch")
{
for (new i = 0; i < count; i++)
{
if (is_user_connected(players[i]))
{
message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i])
write_byte(players[i]);
write_string(msg);
message_end();
}
}
}
}