|
Помогите решить проблему с UserID в плагине задержки кика
|
|
| Kenny | Дата: Воскресенье, 06.01.2008, 19:40:45 | Сообщение # 1 |
|
Рядовой
Группа: Пользователи
Сообщений: 7
Статус: Не в сети
| Есть плагин задержки кика, т.е. он кикает игрока с сервера только при повторной команде кика, проблема в том, что он работает только если 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) Пожалуйста помогите решить эту проблему, заранее благодарен.
|
| |
|
|
| CLLlAgOB | Дата: Понедельник, 07.01.2008, 04:00:26 | Сообщение # 2 |
 Полковник
Группа: Скриптеры
Сообщений: 217
Статус: Не в сети
| попробуй поменять это #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
Статус: Не в сети
| Какой ужасный код... Будет время напишу тебе нормальный
|
| |
|
|
| slogic | Дата: Понедельник, 07.01.2008, 23:29:37 | Сообщение # 4 |
|
Генералиссимус
Группа: Админы
Сообщений: 1941
Статус: Не в сети
| а я бы более 32 игроков не поддерживал. хакнутые версии серверов еще поддерживать, знаете ли, геморой лишний и очевидно, нелегально.
|
| |
|
|
| Kenny | Дата: Вторник, 08.01.2008, 00:09:00 | Сообщение # 5 |
|
Рядовой
Группа: Пользователи
Сообщений: 7
Статус: Не в сети
| 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
Статус: Не в сети
| А настроить его слабо? Я избавился от ложных киков путем настройки конфига маяка. ЗЫ Скоро будер релиз плагина маяка на ds.ru как только мне подскажут. Повысить время на авторизацию скажем.
Сообщение отредактировал CLLlAgOB - Вторник, 08.01.2008, 02:13:08 |
| |
|
|
| Kenny | Дата: Вторник, 08.01.2008, 10:26:14 | Сообщение # 7 |
|
Рядовой
Группа: Пользователи
Сообщений: 7
Статус: Не в сети
| Quote (CLLlAgOB) А настроить его слабо? Он нормально настроен, таймауты установлены высокие, все клиенты нормально проходят авторизацию, но часть клиентов довольно часто отключаются по причине "Authorization timeout" по всей видимости из за лагов в сети, myAC.Client не всегда успевает переподключится и игрока кикает с сервера.
Сообщение отредактировал Kenny - Вторник, 08.01.2008, 10:28:53 |
| |
|
|
| CLLlAgOB | Дата: Вторник, 08.01.2008, 11:23:29 | Сообщение # 8 |
 Полковник
Группа: Скриптеры
Сообщений: 217
Статус: Не в сети
| А ты в маяке ставишь amx_delay_kick ? Если да то советую уменшить длину там косяк есть ограничение по длинне скажем когда у тебя дойдет до 1000 юзер айди то уже не будет кикать вообще. Будет остысыляться на сервер amx_delay_kic 1020 reason
|
| |
|
|
| CLLlAgOB | Дата: Вторник, 08.01.2008, 12:14:51 | Сообщение # 9 |
 Полковник
Группа: Скриптеры
Сообщений: 217
Статус: Не в сети
| Вод исправил будет кикать до 1280000 ID ) я думаю хватит добавил переменную myac_timeout по умолчанию 30 PS а ты проверял сам маяк то как часто отправляет кики если юзер без клиента приконнектился?
Сообщение отредактировал CLLlAgOB - Вторник, 08.01.2008, 12:19:58 |
| |
|
|
| Kenny | Дата: Вторник, 08.01.2008, 13:27:24 | Сообщение # 10 |
|
Рядовой
Группа: Пользователи
Сообщений: 7
Статус: Не в сети
| 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
Статус: Не в сети
| Нет встетаки new kick_check[1280000] бред я выложу исправлиный плагин завтра Добавлено (2008-01-10, 7:49 Am) --------------------------------------------- http://amxmodx.ucoz.ru/forum/4-1217-1 смотри тут спасибо за идею )
|
| |
|
|