AMX MOD X
Суббота, 10.01.2026, 10:05:11



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

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

  • Страница 1 из 1
  • 1
Модератор форума: slogic, AlMod  
Помогите решить проблему с UserID в плагине задержки кика
KennyДата: Воскресенье, 06.01.2008, 19:40:45 | Сообщение # 1
Рядовой
Группа: Пользователи
Сообщений: 7
Репутация: 0
Статус: Не в сети
Есть плагин задержки кика, т.е. он кикает игрока с сервера только при повторной команде кика, проблема в том, что он работает только если UserID игрока не более 32, а если больше, то появляется ошибка:
L 01/05/2008 - 00:19:36: [AMXX] Displaying debug trace (plugin "delay_kick.amxx")
L 01/05/2008 - 00:19:36: [AMXX] Run time error 4: index out of bounds
L 01/05/2008 - 00:19:36: [AMXX] [0] delay_kick.sma::delay_kick_cmd (line 28)

Пожалуйста помогите решить эту проблему, заранее благодарен.

Прикрепления: delay_kick.sma (1.0 Kb)
 
CLLlAgOBДата: Понедельник, 07.01.2008, 04:00:26 | Сообщение # 2
Полковник
Группа: Скриптеры
Сообщений: 217
Репутация: 14
Статус: Не в сети
попробуй поменять
это #define MaxPlayers 32 удалить и изминить это
new kick_check[MaxPlayers] на new kick_check
Да и зачем ставить время set_task(float(timeout), "check", userid) ?
Эот можно заменить на
Code
public client_disconnect(id)
  {
  kick_check[id] = 0
  }
и если требуеться поставить
Code
public client_connect(id)
{
                kick_check[id] = 0
}
 
AlModДата: Понедельник, 07.01.2008, 09:17:16 | Сообщение # 3
Сонный кодер
Группа: Админы
Сообщений: 600
Репутация: 27
Статус: Не в сети
Какой ужасный код... Будет время напишу тебе нормальный

 
slogicДата: Понедельник, 07.01.2008, 23:29:37 | Сообщение # 4
Генералиссимус
Группа: Админы
Сообщений: 1941
Репутация: 47
Статус: Не в сети
а я бы более 32 игроков не поддерживал. хакнутые версии серверов еще поддерживать, знаете ли, геморой лишний и очевидно, нелегально.
 
KennyДата: Вторник, 08.01.2008, 00:09:00 | Сообщение # 5
Рядовой
Группа: Пользователи
Сообщений: 7
Репутация: 0
Статус: Не в сети
Quote (CLLlAgOB)
попробуй поменятьэто #define MaxPlayers 32 удалить и изминить этоnew kick_check[MaxPlayers] на new kick_check

Решил проблему поменяв kick_check[MaxPlayers] на kick_check[128000] - по всей видимости эта цифра и ограничевает UserID.
Quote (CLLlAgOB)
Да и зачем ставить время set_task(float(timeout), "check", userid) ?

Кик должен происходить только в том случае, если повторная команда пришла в течении определенного времени (35 секунд), античит myAC у меня кикает игроков с помощью этого плагина, он позволяет избежать ложных киков.
 
CLLlAgOBДата: Вторник, 08.01.2008, 02:10:38 | Сообщение # 6
Полковник
Группа: Скриптеры
Сообщений: 217
Репутация: 14
Статус: Не в сети
А настроить его слабо?
Я избавился от ложных киков путем настройки конфига маяка.
ЗЫ Скоро будер релиз плагина маяка на ds.ru как только мне подскажут.
Повысить время на авторизацию скажем.


Сообщение отредактировал CLLlAgOB - Вторник, 08.01.2008, 02:13:08
 
KennyДата: Вторник, 08.01.2008, 10:26:14 | Сообщение # 7
Рядовой
Группа: Пользователи
Сообщений: 7
Репутация: 0
Статус: Не в сети
Quote (CLLlAgOB)
А настроить его слабо?

Он нормально настроен, таймауты установлены высокие, все клиенты нормально проходят авторизацию, но часть клиентов довольно часто отключаются по причине "Authorization timeout" по всей видимости из за лагов в сети, myAC.Client не всегда успевает переподключится и игрока кикает с сервера.


Сообщение отредактировал Kenny - Вторник, 08.01.2008, 10:28:53
 
CLLlAgOBДата: Вторник, 08.01.2008, 11:23:29 | Сообщение # 8
Полковник
Группа: Скриптеры
Сообщений: 217
Репутация: 14
Статус: Не в сети
А ты в маяке ставишь amx_delay_kick ? Если да то советую уменшить длину там косяк есть ограничение по длинне скажем когда у тебя дойдет до 1000 юзер айди то уже не будет кикать вообще.
Будет остысыляться на сервер amx_delay_kic 1020 reason
 
CLLlAgOBДата: Вторник, 08.01.2008, 12:14:51 | Сообщение # 9
Полковник
Группа: Скриптеры
Сообщений: 217
Репутация: 14
Статус: Не в сети
Вод исправил будет кикать до 1280000 ID ) я думаю хватит
добавил переменную myac_timeout по умолчанию 30
PS а ты проверял сам маяк то как часто отправляет кики если юзер без клиента приконнектился?
Прикрепления: delay_kick.sma (1.2 Kb)


Сообщение отредактировал CLLlAgOB - Вторник, 08.01.2008, 12:19:58
 
KennyДата: Вторник, 08.01.2008, 13:27:24 | Сообщение # 10
Рядовой
Группа: Пользователи
Сообщений: 7
Репутация: 0
Статус: Не в сети
Quote (CLLlAgOB)
А ты в маяке ставишь amx_delay_kick ? Если да то советую уменшить длину там косяк есть ограничение по длинне скажем когда у тебя дойдет до 1000 юзер айди то уже не будет кикать вообще.

В плагине я изменил команду amx_delay_kick на myac_kick.
Quote (CLLlAgOB)
а ты проверял сам маяк то как часто отправляет кики если юзер без клиента приконнектился?

Проверял, опрос серверов myAC.Server производит каждые 30 секунд у меня, и каждые 30 секунд кикает игроков без запущенного античита.
 
CLLlAgOBДата: Четверг, 10.01.2008, 07:49:56 | Сообщение # 11
Полковник
Группа: Скриптеры
Сообщений: 217
Репутация: 14
Статус: Не в сети
Нет встетаки new kick_check[1280000] бред я выложу исправлиный плагин завтра

Добавлено (2008-01-10, 7:49 Am)
---------------------------------------------
http://amxmodx.ucoz.ru/forum/4-1217-1 смотри тут спасибо за идею )

 
  • Страница 1 из 1
  • 1
Поиск:

AMX Mod X Russian Community © 2006-2026