m_afk_guard
Miczu
26.10.2008
Prosty a zarazem inny niz pozostale afk kickery. Odporny na stary sposob na ominiecie afk kickera - np. powolne i ciagle poruszanie sie do przodu.
Instalacja standardowa.
Cvary:
m_afk_kontrol_mode 0|1|2
0 - off
1 - kick po czasie -> m_afk_kontrol_time
2 - przeniesienie po m_afk_kontrol_time do speca oraz kick po m_afk_kontrol_time2 (czyli razem kick po m_afk_kontrol_time+m_afk_kontrol_time2)
m_afk_kontrol_time (def. 45 [s]) - czas po ktorym dostaje sie kicka za afk/przenosi do speca.
m_afk_kontrol_time2 (def. 255 [s]) - czas po jakim wywala ze speca.
Instalacja standardowa.
Cvary:
m_afk_kontrol_mode 0|1|2
0 - off
1 - kick po czasie -> m_afk_kontrol_time
2 - przeniesienie po m_afk_kontrol_time do speca oraz kick po m_afk_kontrol_time2 (czyli razem kick po m_afk_kontrol_time+m_afk_kontrol_time2)
m_afk_kontrol_time (def. 45 [s]) - czas po ktorym dostaje sie kicka za afk/przenosi do speca.
m_afk_kontrol_time2 (def. 255 [s]) - czas po jakim wywala ze speca.
Attached Files
Miczu
26.10.2008
Na podstawie braku aktywnosci - AFK
Aktywnosc obiawia sie przez klikanie klawiszy (ciagle trzymanie W nie zadziala) lub zmienianie kąta widzenia (operowanie celownikiem) ale krecenie sie na boki <- lub -> tez nam nic nie da.
Mowiac inaczej bez jakiegos bota sie tego nie ominie
Aktywnosc obiawia sie przez klikanie klawiszy (ciagle trzymanie W nie zadziala) lub zmienianie kąta widzenia (operowanie celownikiem) ale krecenie sie na boki <- lub -> tez nam nic nie da.
Mowiac inaczej bez jakiegos bota sie tego nie ominie
kasza
03.12.2008
a ktos mi powie jak dokladmnie wpisac te ccvary?? tak zeby wyrzucalo na spekta a potem z serwa??
Knopers
04.12.2008
m_afk_kontrol_mode 2Dopisz do server.cfg po za tym to już jest ustawienie standardowe i nic nie musisz pisać możesz jedynie zmienić czas po jakim będzie wyrzucało do specta a potem kick
m_afk_kontrol_time 45 - po 45 sek. przenosi do speca. m_afk_kontrol_time2 255 - po 255 sek. wywala ze specta.też dopisz do server.cfg
Ps: nie ten dział , Admin/Mod niech nie daje warna tylko pousuwa posty to taka mała prośba
Miczu
05.12.2008
Zgadzam sie z ziomalem, dodawanie do server.cfg moze niesc ze soba problemy... chociazby moze nie dzialac
bartek124
25.12.2008
Dobra, zrobiłem .
Poniżej wersja, która nie kickuje osób z flagą "n".
W tej części kodu możecie zdefiniować inną flagę
Definicje znajdziecie TU
Pozdro!!
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 TU
Pozdro!!
grankee
14.01.2014
wersja, która nie wywala hltv
Edited by grankee, 14.01.2014 20:09.
#include <amxmodx> #include <amxmisc> #include <engine> #include <cstrike> #define PLUGIN "m_afk_guard" #define VERSION "0.1" #define AUTHOR "Miczu" 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(!is_user_connected(players[i]) || is_user_bot(players[i]) || is_user_hltv(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)) } public client_putinserver(id) { p_time[id] = get_gametime() }
Edited by grankee, 14.01.2014 20:09.