| Ezt a pingkickert áttudnátok írni , attól hogy van admin ne állitsa le az ellenőrzést ?
  
 
 Kód: #include <amxmodx> 
 #include <amxmisc>
  
 new const PLUGIN[]  = "High Ping Kicker"
 new const VERSION[] = "1.0"
 new const AUTHOR[]  = "Shadow/Bo0m!"
  
 // Feel free to change this flag
 #define HPK_IMMUNE ADMIN_IMMUNITY
  
 // PCvars
 new hpk_ping, hpk_check, hpk_tests, hpk_delay, hpk_immunity
  
 new g_Ping[33]
 new g_Samples[33]
  
 public plugin_init() {
  
         register_plugin(PLUGIN, VERSION, AUTHOR)
  
         register_concmd("amx_hpk","cmdHpk",ADMIN_CVAR,"- configures high ping kicker")
  
         hpk_ping = register_cvar("amx_hpk_ping","50")
         hpk_check = register_cvar("amx_hpk_check","5")
         hpk_tests = register_cvar("amx_hpk_tests","2")
         hpk_delay = register_cvar("amx_hpk_delay","30")
         hpk_immunity = register_cvar("amx_hpk_immunity","1")
  
         if (get_pcvar_num(hpk_check) < 5) set_pcvar_num(hpk_check,5)
         if (get_pcvar_num(hpk_tests) < 3) set_pcvar_num(hpk_tests,3)
 }
  
 public client_disconnect(id) 
         remove_task(id)
  
 public client_putinserver(id) {    
         g_Ping[id] = 0 
         g_Samples[id] = 0
  
         if ( !is_user_bot(id) ) 
         {
                 new param[1]
                 param[0] = id 
                 set_task( 15.0 , "showWarn" , id , param , 1 )
     
                 if (get_pcvar_num(hpk_delay) != 0) {
                         set_task( float(get_pcvar_num(hpk_delay)), "taskSetting", id, param , 1)
                 }
                 else {      
                         set_task( float(get_pcvar_num(hpk_check)) , "checkPing" , id , param , 1 , "b" )
                 }
         }
 }
  
 public showWarn(param[])
         client_print( param[0] ,print_chat,"[HPK] Akinek magasabb a ping-je %d -nel a szerver kirugja automatikusan!", get_cvar_num( "amx_hpk_ping" ) )
  
 public taskSetting(param[]) {
         new name[32]
         get_user_name(param[0],name,31)
         set_task( float(get_pcvar_num(hpk_check)) , "checkPing" , param[0] , param , 1 , "b" )
 }
  
 kickPlayer(id) { 
         new name[32],authid[36]
         get_user_name(id,name,31)
         get_user_authid(id,authid,35)
         client_print(0,print_chat,"[HPK] Jatekos %s kirugva magas ping miatt!!",name)
         server_cmd("kick #%d ^"A pinged tul magas.Ne torrentezz!!...^"",get_user_userid(id))
         log_amx("HPK: ^"%s<%d><%s>^" kirugva magas ping miatt (Atlagos Ping ^"%d^")", name,get_user_userid(id),authid,(g_Ping[id] / g_Samples[id]))
 }
  
 public checkPing(param[]) { 
  
         if (get_pcvar_num(hpk_tests) < 3)
                 set_pcvar_num(hpk_tests,3)
  
         new id = param[ 0 ] 
  
         if ( get_user_flags(id) & HPK_IMMUNE && get_pcvar_num(hpk_immunity) == 1 ) {
                 remove_task(id)
                 client_print(id, print_chat, "[HPK] Ping ellenorzes leallitva mert admin van fent a szerveren!")
                 return PLUGIN_CONTINUE
         }
  
         new ping, loss
  
         get_user_ping(id,ping,loss) 
  
         g_Ping[ id ] += ping
         ++g_Samples[ id ]
  
         if ( (g_Samples[ id ] > get_pcvar_num(hpk_tests)) && (g_Ping[id] / g_Samples[id] > get_pcvar_num(hpk_ping))  )    
                 kickPlayer(id)
  
         return PLUGIN_CONTINUE
 }
  
   
 public cmdHpk(id,level,cid) {
         if (!cmd_access(id,level,cid,1))
                 return PLUGIN_HANDLED
  
         if (read_argc() < 6) {
                 console_print(id,"Hasznalat: amx_hpk <max ping> <total ping checks> <time between checks> <delay before starting checks> <1 to allow immunity|0 to disallow")
                 console_print(id,"A kovetkezo HPK beallitasok:")
                 console_print(id,"Max Ping: %d | Ping ellenorzesek: %d | Ellenorzesek szama: %d | Ellenorzes inditasa: %d | Admin vedetseg: %d",get_pcvar_num(hpk_ping),get_pcvar_num(hpk_tests),get_pcvar_num(hpk_check),get_pcvar_num(hpk_delay),get_pcvar_num(hpk_immunity))
                 return PLUGIN_HANDLED
         }
  
         new name[32], authid[36]
         get_user_name(id,name,31)
         get_user_authid(id,authid,35)
  
         new ping_arg[5], check_arg[5], tests_arg[5], delay_arg[5], immune_arg[5]
         read_argv(1,ping_arg,4)
         read_argv(2,tests_arg,4)
         read_argv(3,check_arg,4)
         read_argv(4,delay_arg,4)
         read_argv(5,immune_arg,4)
   
         new ping = str_to_num(ping_arg)
         new tests = str_to_num(tests_arg)
         new check = str_to_num(check_arg)
         new delay = str_to_num(delay_arg)
         new immune = str_to_num(immune_arg)
  
         if ( check < 5 ) check = 5
         if ( tests < 3 ) tests = 3
  
         set_pcvar_num(hpk_ping,ping)
         set_pcvar_num(hpk_tests,tests)
         set_pcvar_num(hpk_check,check)
         set_pcvar_num(hpk_delay,delay)
         set_pcvar_num(hpk_immunity,immune)
  
         console_print(id,"A következő HPK beallitasok:")
         console_print(id,"Max Ping: %d | Ping ellenorzesek: %d | Ellenorzesek szama: %d | Ellenorzes inditasa: %d | Admin vedetseg: %d",get_pcvar_num(hpk_ping),get_pcvar_num(hpk_tests),get_pcvar_num(hpk_check),get_pcvar_num(hpk_delay),get_pcvar_num(hpk_immunity))
         log_amx("HPK: ^"%s<%d><%s>^" igy lettek beallitva - Max Ping: %d | Ping ellenorzesek: %d | Ellenorzesek szama: %d | Ellenorzes inditasa: %d | Admin vedetseg: %d", name,get_user_userid(id),authid,get_pcvar_num(hpk_ping),get_pcvar_num(hpk_tests),get_pcvar_num(hpk_check),get_pcvar_num(hpk_delay),get_pcvar_num(hpk_immunity))
  
         return PLUGIN_HANDLED    
 }
  
  
 |