Skocz do zawartości
LINK DO NOWEJ STRONY ×

AFK guard 2k8


Miłosz

Rekomendowane odpowiedzi

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:

 

 
Autor / Źródło: amxx.pl
  • Like 1
Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się

Komentowanie zawartości tej strony możliwe jest po zalogowaniu



Zaloguj się
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Korzystając z tej strony zgadzasz się na Polityka prywatności