AMX MOD X
Суббота, 09.08.2025, 06:56:16



Приветствую Вас Гость | RSS
[ Главная ] [ high_ping_kicker-Переделка чтобы не только кикал ,но и банил - AMX Mod X Форум ] [ Регистрация ] [ Вход ]
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]

Вниманию участников! Данный форум теперь является архивом и вскором времени здесь нельзя будет создавать новых тем! Просьба всем для общения и создания новых тем перейти на наш новый форум: http://amxmodx.su/

  • Страница 1 из 1
  • 1
Модератор форума: slogic, AlMod  
high_ping_kicker-Переделка чтобы не только кикал ,но и банил
ahaДата: Воскресенье, 05.10.2008, 00:06:57 | Сообщение # 1
Генерал-майор
Группа: Пользователи
Сообщений: 370
Репутация: 6
Статус: Не в сети
И так имею код :

Code
#include <amxmodx>  
#include <amxmisc>

new g_Ping[33]
new g_Samples[33]

public plugin_init()
{
   register_plugin("High Ping Kicker (Steam)","0.16.2","OLO/shadow")
   register_concmd("amx_hpk","cmdHpk",ADMIN_KICK,"- configures high_ping_kicker plugin")
   register_cvar("amx_hpk_ping","200")
   register_cvar("amx_hpk_check","12")
   register_cvar("amx_hpk_tests","5")
   register_cvar("amx_hpk_delay","60")
    
   if ( get_cvar_num( "amx_hpk_check" ) < 5 ) set_cvar_num( "amx_hpk_check" , 5 )
   if ( get_cvar_num( "amx_hpk_tests" ) < 3 ) set_cvar_num( "amx_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( 10.0 , "showWarn" , id , param , 1 )
      
     if (get_cvar_num("amx_hpk_tests") != 0) {
      set_task( float(get_cvar_num("amx_hpk_delay")), "taskSetting", id, param , 1)
     }
     else {      
      set_task( float(get_cvar_num( "amx_hpk_tests" )) , "checkPing" , id , param , 1 , "b" )
  }
   
   }
}  

public showWarn(param[])
   client_print( param[0] ,print_chat,"* Players with ping higher than %d will be kicked!", get_cvar_num( "amx_hpk_ping" ) )

public taskSetting(param[]) {
  new name[32]
  get_user_name(param[0],name,31)
  set_task( float(get_cvar_num( "amx_hpk_tests" )) , "checkPing" , param[0] , param , 1 , "b" )
}

kickPlayer( id )  
{  
   new name[32],authid[32]
   get_user_name(id,name,31)
   get_user_authid(id,authid,31)
   client_print(0,print_chat,"** Player %s disconnected due to high ping",name)
   server_cmd("kick #%d ^"Sorry but you have too high ping, try later...^"",get_user_userid(id))
   log_amx("Highpingkick: ^"%s<%d><%s>^" was kicked due highping (Average Ping ^"%d^")", name,get_user_userid(id),authid,(g_Ping[id] / g_Samples[id]))
}

public checkPing(param[])  
{  
   new id = param[ 0 ]  

   if ( get_user_flags(id) & ADMIN_IMMUNITY ) return

   new p, l  

   get_user_ping( id , p , l )  

   g_Ping[ id ] += p
   ++g_Samples[ id ]

   if ( (g_Samples[ id ] > get_cvar_num( "amx_hpk_tests" )) && (g_Ping[id] / g_Samples[id] > get_cvar_num( "amx_hpk_ping" ))  )     
     kickPlayer(id)  
}

    
public cmdHpk(id,level,cid){
   if (!cmd_access(id,level,cid,1))
     return PLUGIN_HANDLED
      
   new ping[5]
   new check_arr[5]
   new tests_arr[5]
   new delay_arr[5]
   read_argv(1,ping,4)
   read_argv(2,check_arr,4)
   read_argv(3,tests_arr,4)
   read_argv(4,delay_arr,4)
    
   new check = str_to_num(check_arr)
   new tests = str_to_num(tests_arr)
   new delay = str_to_num(delay_arr)
    
    
   if ( check < 5 ) check = 5
   if ( tests < 3 ) tests = 3
    

   if (read_argc() > 1){
     set_cvar_string("amx_hpk_ping",ping)
   }
   if (read_argc() > 2) {
  set_cvar_num("amx_hpk_check",check)
   }
   if (read_argc() > 3) {
  set_cvar_num("amx_hpk_tests",tests)
   }
   if (read_argc() > 4) {
    set_cvar_num("amx_hpk_delay",delay)
  }

   console_print(id,"Syntax: amx_hpk <ping to get kicked> <checks before kicks> <time between checks> <delay before first check in sec.>")
   console_print(id,"Current High_Ping_Kicker Settings:")
   console_print(id,"Maxping: %d  Time between checks: %d Checkcount: %d Delay: %d",get_cvar_num("amx_hpk_ping"),get_cvar_num("amx_hpk_check"),get_cvar_num("amx_hpk_tests"),get_cvar_num("amx_hpk_delay"))
   return PLUGIN_HANDLED     
}

Xочу сделать чтобы при пинге 80 был кик , при 100 бан 5 мин,

и так добавил cvar'ы

Code
  register_cvar("amx_hpb_ping","200")
   register_cvar("amx_hpb_check","12")
   register_cvar("amx_hpb_tests","5")
   register_cvar("amx_hpb_delay","60")

в стандартном коде при пинге выше чем amx_hpk_ping делается kickPlayer(id)
я сделал такойже но только banPlayer(id) (он не кикает а банит на 5 мин .

Я не знаю как только сделать тут :

Code
public checkPing(param[])  
{  
   new id = param[ 0 ]  

   if ( get_user_flags(id) & ADMIN_IMMUNITY ) return

   new p, l  

   get_user_ping( id , p , l )  

   g_Ping[ id ] += p
   ++g_Samples[ id ]

   if ( (g_Samples[ id ] > get_cvar_num( "amx_hpk_tests" )) && (g_Ping[id] / g_Samples[id] > get_cvar_num( "amx_hpk_ping" ))  )     
     kickPlayer(id)  
}

пробывал делать так :

Code
  if ( (g_Samples[ id ] > get_cvar_num( "amx_hpb_tests" )) && (g_Ping[id] / g_Samples[id] > get_cvar_num( "amx_hpb_ping" ))  )     
     banPlayer(id)  

   if ( (g_Samples[ id ] > get_cvar_num( "amx_hpk_tests" )) && (g_Ping[id] / g_Samples[id] > get_cvar_num( "amx_hpk_ping" ))  )     
     kickPlayer(id)  

Не вышло , работал только кик ...

 
PomanoBДата: Воскресенье, 05.10.2008, 11:02:57 | Сообщение # 2
Генералиссимус
Группа: Cупер-модеры
Сообщений: 1313
Репутация: 70
Статус: Не в сети
На мой взгляд тебе нужен только один новый cvar - register_cvar("amx_hpb_ping","200")
Code

if ( (g_Samples[ id ] > get_cvar_num( "amx_hpk_tests" )) && (g_Ping[id] / g_Samples[id] > get_cvar_num( "amx_hpb_ping" ))  )  
{     
      banPlayer(id)
      return
}
if ( (g_Samples[ id ] > get_cvar_num( "amx_hpk_tests" )) && (g_Ping[id] / g_Samples[id] > get_cvar_num( "amx_hpk_ping" ))  )      
      kickPlayer(id)   


http://romanov4400.mybrute.com
 
ahaДата: Воскресенье, 05.10.2008, 15:24:38 | Сообщение # 3
Генерал-майор
Группа: Пользователи
Сообщений: 370
Репутация: 6
Статус: Не в сети
Акей , спасибо за ответ !
 
  • Страница 1 из 1
  • 1
Поиск:

AMX Mod X Russian Community © 2006-2025