ReGameDLL - адаптация zBots под Zombie Plague.
Приветствую,
s1lent. У меня есть предложения для изменения некоторых алгоритмов поведения ботов для их адаптации под зомби мод. Если реализовать это как под включаемыми переменными, было бы отлично. (Чтобы сохранить и оригинальное поведение ботов на большинстве серверов).
И так, давно у меня был свой сервер Counter-Strike на моде Zombie Plague 5, в котором также были боты. Но я столкнулся с некоторыми проблемами по их логике поведения, которые опишу ниже. Некоторые проблемы я частично решил хитростями и костылями через amxmodx, но все-равно ключевую их логику я изменить не мог.
Проблема #1. Боты продолжают атаковать друг друга после заражения.
Я думаю, это связанно с тем, что боты не обновляют себе цель для атаки, пока цель остаётся еще жива и в зоне видимости. Не обновляют информацию о пренадлёжности к команде игрока/бота, которого они зафиксировали как цель и атакуют в текущий момент. Смысл зомби мода в режиме инфекции в том, что зомби (команда=террорист) может царапнуть человека (команда=спецназ) и второй сразу же станет зомби(его переведет в команду террористов). Далее эти два бота продолжают "цапатся" друг с другом. Технически, продолжая атаковать захваченную цель, не проверяя её на пренадлежность к команде. (друг/враг)
20 Дек 2018
Проблема #2. Поведения бота с ножом, когда цель находится выше
Эту проблему можно чётко увидеть, просто запустив игру с ботами, разрешить им пользоватся только ножами (bot_knives_only 1). Забравшись на любую высотку можно наблюдать, как боты тупо бегают внизу и постоянно машат ножами, "пытаясь" достать цель. Прицел при этом у ботов направлен на цель, но никто же им не скажет, что их ножи, скажем так, слишком короткие. На картах для зомби мода часто встречаются как раз такие огневые точки, расположены вверху карты, как говорят игроки, на текстурах. В итоге поведение ботов, играющих за зомби в таких ситуациях просто тупейшее.
Как вариант, я хотел бы предложить создать алгоритм подхода к цели. Нужно объяснить ботам, что если у них есть только нож в инвертаре, нужно сначала подойти как можно ближе к цели, а потом уже атаковать цель, а не пытатся достать её с расстояния.