Исправление багов zBot в ReGameDLL

Сообщения
500
Реакции
275
Помог
6 раз(а)
1. Боты, заходящие вместо игроков наследуют их фраги (есть костыль)
Обнуление фрагов бота при присоединении к команде:
Код:
#include <amxmodx>
#include <reapi>

public plugin_init() {
    RegisterHookChain(RG_HandleMenu_ChooseTeam, "ChooseTeam_Post", true)
}

public ChooseTeam_Post(pPlayer) {
    if(is_user_bot(pPlayer)) {
        set_entvar(pPlayer, var_frags, 0.0)
    }
}
2. Боты, присоединяющиеся к игре спустя некоторое время от начала карты, бесшумно бегают, дефьюзят, перезаряжаются, спавнятся и т. п. (обновите WHBlocker)
Баг происходил из-за конфликта с параметром esp античита WHBlocker (спасибо Vaqtincha). В версии 1.5.697 баг был исправлен.
3. Боты не разговаривают (обновите ReGameDLL)
За фикс спасибо Vaqtincha
 
Последнее редактирование:
Сообщения
2,143
Реакции
1,225
Помог
44 раз(а)
Код:
#include <amxmodx>
#include <reapi>

public client_putinserver(id) {
    if(is_user_bot(id)) {
--        set_entvar(id, var_frags, 0)
++        set_entvar(id, var_frags, 0.0)
    }
}
/*
* Description: -
* Member type: float
* Get params: Float:get_entvar(index, EntVars:var);
* Set params: set_entvar(index, EntVars:var, Float:value);
*/
var_frags,
 
Сообщения
2,491
Реакции
2,794
Помог
61 раз(а)
2. ковырять надо тут https://github.com/s1lentq/ReGameDL...d00d99/regamedll/pm_shared/pm_shared.cpp#L370
Причем еще и смотреть почему условия не проходят именно от ботов
28 Май 2019
Догадываюсь что причина тут
https://github.com/s1lentq/ReGameDL...00d99/regamedll/pm_shared/pm_shared.cpp#L2736
Но это все надо дебагать проверять
28 Май 2019
3. https://github.com/s1lentq/ReGameDLL_CS/pull/372
 
Сообщения
1,576
Реакции
658
Помог
5 раз(а)
Есть еще баг со спамом в чат bot_quota

Если добавить ботов через bot_add (написать много раз, например 100), и смотреть чат, будет писать:
bot_quota 19
bot_quota 18
bot_quota 17
и т.п

А потом вообще ботов не пускает на сервер, сразу кикает.

В общем проверить просто, в какой-нибудь cfg закинуть 100 команд bot_add и запустить его во время игры, после этого боты перестают добавляться.


Похоже что даже смена карты не сбрасывают значение bot_quota и т.п в ботах) Но точно не уверен в чем проблема)
 
Последнее редактирование:
Сообщения
500
Реакции
275
Помог
6 раз(а)
fantom, отлично! Фикс Vaqtincha работает. Минус один баг) Спасибо.
 
Сообщения
1,576
Реакции
658
Помог
5 раз(а)
Они там забыли скорее всего про '0', т.е нужно было не slot[0] = event - EVENT_START_RADIO_1; а slot[0] = '0' + event - EVENT_START_RADIO_1;

Там вообще наркоманы какие-то код бота писали, например кусок кода:
C++:
&& (cv_bot_debug.value == 1 || cv_bot_debug.value == 3))
        || (cv_bot_debug.value == 2 || cv_bot_debug.value == 4)
А, скобки не заметил) Но все равно бред)
 
Последнее редактирование:
Сообщения
500
Реакции
275
Помог
6 раз(а)
karaulov, боты, кстати официальные. zBot вшит.
 
Сообщения
500
Реакции
275
Помог
6 раз(а)
Хорошие новости по поводу багов. Vaqtincha выяснил причины бесшумности ботов, а также работает над наследованием фрагов от людей. Подробности в первом посте.
 
Сообщения
500
Реакции
275
Помог
6 раз(а)
Кстати, тема уже не подходит к разделу "Вопросы по созданию и модификации", похоже. Раньше она была направлена на получение информации о сборке костылей к багам, а сейчас переросла в список фиксов. Если мешается в разделе, переместите туда, где будет уместнее.
 
Сообщения
702
Реакции
54
  1. Боты не выходят при режиме FILL, не всегда, но бывает
  2. Боты меняют, как хотят параметр quota, обычно в меньшую сторону, причины не знаю
Как вариант, для шумности можно просто устанавливать принудительно шаги каждый раунд, по идее поможет, не?
28 Апр 2020
На самом деле у ботов много багов, которые почему-то исправляют не сильно охотно, хотя боты официальные, а не просто левые скачанные и указана поддержка regamedll
 
Сообщения
1,536
Реакции
2,324
Помог
39 раз(а)
На самом деле у ботов много багов, которые почему-то исправляют не сильно охотно, хотя боты официальные, а не просто левые скачанные
Потому что на форуме нет представителей valve и trs, чтобы услышать вас и исправить их.
 
Сообщения
315
Реакции
104
Помог
2 раз(а)
CHEL74, ждем-с релиза, если уважаемый Vaqtincha поделится решением проблемы) Как я некогда выкладывал решения с 2-мя недочетами Bot Features
 
Сообщения
500
Реакции
275
Помог
6 раз(а)
Как вариант, для шумности можно просто устанавливать принудительно шаги каждый раунд, по идее поможет, не?
Пробовали всяко, не помогало. Да и там целую кучу звуков надо костылить. Например, на CSDM FFA критично то, что звуков спавна нет от них. На паблике самое критичное - сайлент дефьюз и тихий бег.
SNauPeR, решение проблемы с шагами зависит только от сайлента. Т. к. код вхблокера закрыт. А вот с фрагами вполне возможно будет фикс.
 
Сообщения
702
Реакции
54
CHEL74, честно говоря, тут многое зависит от сайлента и тех, кто занимается gamedll, т.к, если у них не получиться помочь, то габелла.
p.s. На самом деле лучше было НЕ добавлять со всеми багами ботов, имхо.
 
Сообщения
315
Реакции
104
Помог
2 раз(а)
CHEL74, я тут недавно фикс когда Шороху отдал, 1 баг заметил в моем же плагине после дальнейших модернизаций под AS_. При взятии бота выдавались модели из CZ (кондшн зеро) - MILITIA, SPETCNAZ :crazy:
Скриптер сказал, что AS_ режим починили на регейме "заплаткой", которую мы прорвали, когда делали проверку на випа) Я правда не уверен в этом, но пришлось отлавливать присвоение этих 2 моделек и присваивать другие.
Пример логирования ВЗЯТИЯ БОТОВ С БАГОМ (сервер крашился, кстати):
L 04/15/2020 - 12:57:06: [BotFeatures.amxx] Начало проверки - baDr
L 04/15/2020 - 12:57:06: [BotFeatures.amxx] Пройдена проверка для бота - baDr / EBHYX
L 04/15/2020 - 12:57:06: [BotFeatures.amxx] Пройдена проверка для первого лица - baDr
L 04/15/2020 - 12:57:06: [BotFeatures.amxx] Пройдена проверка для спектов - baDr / EBHYX
L 04/15/2020 - 12:57:06: [BotFeatures.amxx] Пройдена проверка для команды - baDr / EBHYX
L 04/15/2020 - 12:57:06: [BotFeatures.amxx] Пройдена проверка для бота - baDr / EBHYX
L 04/15/2020 - 12:57:06: [BotFeatures.amxx] Пройдена проверка на тиму 2 - baDr / EBHYX
L 04/15/2020 - 12:57:06: [BotFeatures.amxx] Пройдена проверка на раунд - baDr / EBHYX
L 04/15/2020 - 12:57:06: [BotFeatures.amxx] Пройдена проверка на раунд - baDr / EBHYX
Host_Error: PF_setmodel_I: no precache: models/player/spetsnaz/spetsnaz.mdl
L 04/15/2020 - 12:57:02: [BotFeatures.amxx] Начало проверки - PaLbl4
L 04/15/2020 - 12:57:02: [BotFeatures.amxx] Пройдена проверка для бота - PaLbl4 / KaTaMoPDbIu`
L 04/15/2020 - 12:57:02: [BotFeatures.amxx] Пройдена проверка для первого лица - PaLbl4
L 04/15/2020 - 12:57:02: [BotFeatures.amxx] Пройдена проверка для спектов - PaLbl4 / KaTaMoPDbIu`
L 04/15/2020 - 12:57:02: [BotFeatures.amxx] Пройдена проверка для команды - PaLbl4 / KaTaMoPDbIu`
L 04/15/2020 - 12:57:02: [BotFeatures.amxx] Пройдена проверка для бота - PaLbl4 / KaTaMoPDbIu`
L 04/15/2020 - 12:57:02: [BotFeatures.amxx] Пройдена проверка на тиму 2 - PaLbl4 / KaTaMoPDbIu`
L 04/15/2020 - 12:57:02: [BotFeatures.amxx] Пройдена проверка на раунд - PaLbl4 / KaTaMoPDbIu`
L 04/15/2020 - 12:57:02: [BotFeatures.amxx] Пройдена проверка на раунд - PaLbl4 / KaTaMoPDbIu`
L 04/15/2020 - 12:57:02: [BotFeatures.amxx] Выдали модель для игрока - PaLbl4 / KaTaMoPDbIu`
L 04/15/2020 - 12:57:02: [BotFeatures.amxx] Выдали setinfo для игрока - PaLbl4 / KaTaMoPDbIu`
L 04/15/2020 - 12:57:02: [BotFeatures.amxx] Установили параметры - PaLbl4 / KaTaMoPDbIu`
L 04/15/2020 - 12:57:02: [BotFeatures.amxx] Установили set_member m_bNotKilled - PaLbl4 / KaTaMoPDbIu`
L 04/15/2020 - 12:57:02: [BotFeatures.amxx] Выполнили g_hUseWeaponStrip - PaLbl4 / KaTaMoPDbIu`
L 04/15/2020 - 12:57:02: [BotFeatures.amxx] Зарегали проверку при возрождении - PaLbl4 / KaTaMoPDbIu`
L 04/15/2020 - 12:57:02: [BotFeatures.amxx] [Начало CSGameRules_GetPlayerSpawnSpot] - PaLbl4
L 04/15/2020 - 12:57:02: [BotFeatures.amxx] [Получили индекс бота] - PaLbl4
L 04/15/2020 - 12:57:02: [BotFeatures.amxx] [Получили данные бота] - PaLbl4 / KaTaMoPDbIu`
L 04/15/2020 - 12:57:02: [BotFeatures.amxx] [Передали вещи бота] - PaLbl4 / KaTaMoPDbIu`
L 04/15/2020 - 12:57:02: [BotFeatures.amxx] [Убили бота] - PaLbl4 / KaTaMoPDbIu`
L 04/15/2020 - 12:57:02: [BotFeatures.amxx] [Установили позицию и камеру] - PaLbl4 / KaTaMoPDbIu`
L 04/15/2020 - 12:57:02: [BotFeatures.amxx] Возродили игрока - PaLbl4 / KaTaMoPDbIu`
L 04/15/2020 - 12:57:02: [BotFeatures.amxx] Выполнили ScenarioIcon - PaLbl4 / KaTaMoPDbIu`
L 04/15/2020 - 12:57:02: [BotFeatures.amxx] Сделали подмену ников - PaLbl4 / KaTaMoPDbIu`
L 04/15/2020 - 12:57:02: [BotFeatures.amxx] Конец - PaLbl4 / KaTaMoPDbIu`
Разница большая и пришлось костылять код чутка)
 
Сообщения
500
Реакции
275
Помог
6 раз(а)
Для всех, кого мучал баг с бесшумностью ботов хорошая новость. Читаем 2 пункт первого поста.
 
Сообщения
315
Реакции
104
Помог
2 раз(а)
CHEL74, теперь бы решить вопрос с кодом исключения ботов с сервера, при заходе новых игроков.
bot_quota_mode "normal"
bot_auto_vacate "1"
Пример: ситуация 31\32, на сервере 4 бота. Заходит ЖИВОЙ игрок -> 31\32, 3 бота.
Еще 1 игрок тыкает на сервер - пишет, что сервер переполнен (31\32, 3 бота). Через определенное время (до 1 минуты) - его пускает на сервер, 1 бот сервер покидает. И того 31\32, 2 бота.
Я так понимаю - в коде какой-то тайминг для проверки есть? :)
P.S: fill режим не целесообразно использовать, так считаю.
 
Сообщения
500
Реакции
275
Помог
6 раз(а)
SNauPeR, с хорошими новостями есть и плохие, Vaqtincha, возможно, больше не будет ковыряться в регейме из-за локальной Санта-Барбары с Сайлентом. А шарящих людей, которым интересны баги ботов, я больше не знаю.

А по твоей проблеме, можно протестить поведение с таким костылём:
Код:
#include <amxmodx>

#define NUM_RESERVE_SLOTS 1 // Кол-во резервных слотов

new g_iBotsNum
new g_pCvarBotQuota

public plugin_precache() {
    g_iBotsNum = MaxClients - NUM_RESERVE_SLOTS
    
    g_pCvarBotQuota = get_cvar_pointer("bot_quota")
}

public client_putinserver(pPlayer) {
    if(!is_user_bot(pPlayer)) {
        g_iBotsNum--
    }
    else return
    
    if(g_iBotsNum >= 0) {
        set_pcvar_num(g_pCvarBotQuota, g_iBotsNum)
    }
}

public client_disconnected(pPlayer) {
    if(!is_user_bot(pPlayer)) {
        g_iBotsNum++
    }
    else return
    
    if(g_iBotsNum >= 0) {
        set_pcvar_num(g_pCvarBotQuota, g_iBotsNum)
    }
}
 
Последнее редактирование:
Сообщения
315
Реакции
104
Помог
2 раз(а)
CHEL74, спасибо, как затестирую - напишу.
 

Пользователи, просматривающие эту тему

Сейчас на форуме нет ни одного пользователя.
Сверху Снизу