Dobra, zrobiłem
.
Poniżej wersja, która nie kickuje osób z flagą "n".
#include <amxmodx>
#include <amxmisc>
#include <engine>
#include <cstrike>
#define PLUGIN "m_afk_guard"
#define VERSION "0.1"
#define AUTHOR "Miczu"
#define FLAGA ADMIN_LEVEL_B
new Float: p_time[33]
new Float: angle[33]
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
register_cvar("m_afk_kontrol_mode","2") //0 - off
//1 - afk time -> kick
//2 - afk time -> spec ->afk time 2 ->kick
register_cvar("m_afk_kontrol_time","45")
register_cvar("m_afk_kontrol_time2","255")
register_think("Afk_Guard","g_think")
make_guard()
}
public make_guard()
{
new ent = create_entity("info_target")
entity_set_string(ent, EV_SZ_classname,"Afk_Guard")
entity_set_float(ent,EV_FL_nextthink,halflife_time() + 1.0)
}
public client_PreThink(id)
{
if(get_user_button(id)!=get_user_oldbutton(id)) p_time[id]=get_gametime()
}
public g_think(ent)
{
if(get_cvar_num("m_afk_kontrol_mode"))
{
new players[32],num
new time1 = get_cvar_num("m_afk_kontrol_time")
new time2 = get_cvar_num("m_afk_kontrol_time2")
new mode = get_cvar_num("m_afk_kontrol_mode")
get_players(players,num)
for(new i=0;i<num;i++)
{
if((get_user_flags(players[i]) & FLAGA) || !is_user_connected(players[i]) || is_user_bot(players[i])) continue
new Float:a[3]
entity_get_vector(players[i],EV_VEC_angles,a)
if(a[0]!=angle[players[i]]) p_time[players[i]] = get_gametime()
angle[players[i]] = a[0]
if((p_time[players[i]]+time1)<get_gametime())
{
if(mode==1) remove_him(players[i])
else
{
if(cs_get_user_team(players[i])!= CS_TEAM_SPECTATOR)
{
if(is_user_alive(players[i])) user_silentkill(players[i])
cs_set_user_team(players[i],CS_TEAM_SPECTATOR)
}
else if((p_time[players[i]]+time1+time2)<get_gametime())
{
remove_him(players[i])
}
}
}
}
entity_set_float(ent,EV_FL_nextthink,get_gametime() + 1.0)
}
else entity_set_float(ent,EV_FL_nextthink,halflife_time() + 10.0)
}
public remove_him(id)
{
server_cmd("kick #%d", get_user_userid(id), "AFK")
}
public client_putinserver(id)
{
p_time[id] = get_gametime()
}
W tej części kodu możecie zdefiniować inną flagę
#define FLAGA jakas tam flaga
Definicje znajdziecie
TUPozdro!!