AMX MOD X
Пятница, 27.02.2026, 21:31:37



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

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

  • Страница 1 из 1
  • 1
Модератор форума: slogic, AlMod  
amx_hpk для четырех 4еловек
mozartДата: Воскресенье, 16.11.2008, 11:04:03 | Сообщение # 1
Лейтенант
Группа: Пользователи
Сообщений: 46
Репутация: 0
Статус: Не в сети
я в о6щем для се6я сделал не кик а просто до6авил перекид на другой сервер

Code
#include <amxmodx>   
#include <amxmisc>

new const PLUGIN[]  = "Avril ping redirect"
new const VERSION[] = "1.0"
new const AUTHOR[]  = "x3"

// 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("avril_showping","cmdHpk",ADMIN_CVAR,"- HacTpouTb PiNG")

   hpk_ping = register_cvar("avril_maxping","110")
   hpk_check = register_cvar("avril_checkping","15")
   hpk_tests = register_cvar("avril_countping","5")
   hpk_delay = register_cvar("avril_delayping","60")
   hpk_immunity = register_cvar("avril_pingimmunity","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,"[Avril Lavigne Ping Check] urPoKu c /7uHroM 3a %d 6ygyT kuKHyTb1", get_cvar_num( "avril_maxping" ) )

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,"[Avril Lavigne Ping Check] urpok %s /7epeKuHyT Ha gpyrou* CepBeP --> Bb1cokuu* /7uHr",name)
   client_cmd(id,"connect avril.zapto.org:27016",get_user_userid(id))
   log_amx("[Avril lavigne Ping Check] : ^"%s<%d><%s>^" /7epeKuHyT --> Bb1coku* /7uHr (B CpegHeM ^"%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, "[Avril lavigne Ping Check] /7uHr He /7poBep9eTc9 - y Bac uMMyHuTu")
    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,"kak uc/7oJIb3oBaTb: Avril_ping <Makc./7uHr [ 150 ]> <pa3 /7poBePuTb [ 10 ] > <BpeM9 Me}![gy /7poBePkaMu [ 5 ]> <BpeM9 oTc4eTa Ha4aJIa /7poBePKu [ 60 cek ] > < [1 / 0 ] He TporaTb c uMMyHuTu ")
    console_print(id,"HacTpou*Ku Ceu*4ac :")
    console_print(id,"Makc /7uHr: %d ::::: pa3 /7poBepuTb : %d ::::: 4acToTa Me}![gy : %d ::::: 3ageP}!{Ka Ha4aJIa /7poBePKu : %d ::::: uMMyHuTu %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))
    retu r n 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)
   s et_ pcvar_num(hpk_immunity,immune)

   console_print(id,"/7uHr HacTpou*Ku ycTaHoBJIEHb1 :")
   console_print(id,"Makc /7uHr: %d ::::: pa3 /7poBepuTb : %d ::::: 4acToTa Me}![gy /7poBepkaMu : %d ::::: 3ageP}!{Ka Ha4aJIa /7poBepku: %d ::::: uMMyHuTu %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_a m x("[Avril Lavigne Ping Check ]: ^"%s<%d><%s>^" HacTpouJI makc./7uHr - Makc /7uHr: %d ::::: pa3 /7poBepuTb: %d ::::: 4acToTa Me}![gy /7poBepkaMu : %d ::::: 3ageP}!{Ka Ha4aJIa /7poBepku: %d ::::: uMMyHuTu : %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      
}

/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1049\\ f0\\ fs16 \n\\ par }
*/

так как оставить только 3 -4 игроков с пингом - {{6ыло 6ы супер если 6ы ето 6ыла - register_cvar("avril_ping_maxplayers" ".......") }} скажем до ... который там выставляется - то есть он сра6атывал к 5му игроку с пингом и всем последующим и их перекидывало 6

то есть получить айди игроков ? а я не 3наю как 3аставить посчитать количество пингеров )

Сообщение отредактировал mozart - Воскресенье, 16.11.2008, 11:06:05
 
PomanoBДата: Воскресенье, 16.11.2008, 11:58:55 | Сообщение # 2
Генералиссимус
Группа: Cупер-модеры
Сообщений: 1313
Репутация: 70
Статус: Не в сети
Заведи переменную для количества игроков и массив для их id,
При нахождении очередного игрока, смотри эту переменную и, если их уже больше 4, перекидывай


http://romanov4400.mybrute.com
 
mozartДата: Воскресенье, 16.11.2008, 14:55:42 | Сообщение # 3
Лейтенант
Группа: Пользователи
Сообщений: 46
Репутация: 0
Статус: Не в сети
ok попро6ую ) давно уже чет не писал . 3а6ыл воо6ще как .)
 
  • Страница 1 из 1
  • 1
Поиск:

AMX Mod X Russian Community © 2006-2026