Miłosz 2 789 Opublikowano 4 Kwietnia 2017 Udostępnij Opublikowano 4 Kwietnia 2017 Nazwa pluginu: AFK guard Opis pluginu: Jest to stary plugin, mało rozbudowany ale mimo tego wychodzi też na duży plus. Żadnych spamów, zmiany nicków lub innych pierdół. Działa na zasadzie wykrywania graczy AFK, kiedy takiego gracza wykryje zostaje wyrzucony w zależności od ustawienia. Poniżej podaje kod .sma Instalacja: Standardowa Cvary: m_afk_kontrol_mode "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 "45" m_afk_kontrol_time2 "300" Najrozsądniejsze ustawienie Dodatkowe informacje: Kod .sma #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","300") 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() } Link do pobrania: m_afk_guard.amxx Autor / Źródło: amxx.pl 1 Cytuj Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi
Dołącz do dyskusji
Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.