Overview
В этом руководстве находится туториал по редактированию ботов в Counter-Strike: Source.
English Guide | Руководство на Английском
[link]1. Немного теории
Боты — это неиграбельные персонажи (NPC), которые ведут себя почти как настоящие игроки. Впервые были представлены с помощью PODbot (Ping Of Death) для Counter-Strike v1.5 и официально в Counter-Strike: Condition Zero, благодаря ИИ, созданный Gearbox Software и Turtle Rock Studios.
В Counter-Strike Source, боты теперь предупреждают союзников о снайперах, если они есть в пределах видимости. Эти цитаты были взяты с вырезанных цитатах, из предыдущих частей. Ботам-снайперам теперь больше известно о своем окружении и будут занимать длинные пути в своей обороняющей позиции. В связи с этим, видимость снайперов увеличилось и они будут атаковать вместе с союзниками, с целью уничтожить противника. Боты которые видят вражеского снайпера будут искать прикрытие и будут стоять рядом со стеной, а не стоя на месте и атаковать как это было в предыдущих частях. В некоторых случаях, боты могут атаковать в близких дистанциях, во время обстрела или в обход на фланг снайпера. Однако, даже если игрок не снайпер, они могут все еще пытаются это действие с любым оружием, кроме снайперского оружия.
Вражеские боты реагируют на вашу стрельбу, и часто образуют от мала до велика группы, с целью убить игрока, в отличие от предыдущих игр серии, где игрок сталкивался «один на один». Это, наверное, способ заставить игрока действовать с союзниками-ботами. Действовать в одиночку против них будет сложнее, даже если у них низкий навык. Кроме того, когда игрок убивает бота, они перепрограммируются фокусировать на человеке-игроке, а после и на других ботов, если они не находятся рядом.
2. Разбор botprofile.db | Параметры
Информация о ботах находится в файле botprofile.db, который в последней версии игры находится в cstrike_pak_dir.vpk (Открыть такой файл можно с помощью GCFScape).
Открыть botprofile.db можно как текстовым файлом, но рекомендую использовать Notepad++ или Visual Studio Code.
В начале файла находится все параметры конфигурации.
Skill – Навык бота, в этом случае это точность прицеливания. Значение можно дать от 0 до 100.
Aggression – Агрессия бота. При высоком значении бот будет рашить если он заметит противника, при низком же попытается спрятаться. Значение можно поставить от 0 до 100.
ReactionTime – Время реакции. Параметр при котором через сколько времени бот после того как заметит вас начнет прицеливаться. Значение в этом параметре можно поставить от 0.1 до 1.
AttackDelay – Задержка аттаки бота. Параметр, при котором после прицеливания даётся время до стрельбы. При нулевом значении бот после прицеливания начнёт стельбу моментально. Значение можно поставить от 0 до 100.
Teamwork – Командная работа бота. При высоком значении бот будет стараться быть в другими товарищами, при низком предпочтёт пойти в одиночку, так-же будет отказываться выполнять команды игроков если выключен “Боты заодно с людьми”. Значение можно поставить от 0 до 100.
WeaponPreference – Предпочитаемое оружие для бота. Дав этот параметр боту, он будет покупать то оружие, что было обозначено в конфигурации.
Бот будет покупать только Калаш и Дигл, если у него будет достаточно денег.
Необязательно в WeaponPreference ставить гранаты, бронежилет и дефуз для спецназа т.к. боты их и так будут покупать.
Cost – Параметр при котором бот будет спавниться в определённом сложности, их всего 4:
Difficulty – Тоже самое с Cost, но в этом случае можно добавить несколько сложностей для одной конфигурации.
Бот будет спавниться на сложности “Эксперт”
Бот будет спавниться на сложности “Низкий” и “Средний”
VoicePitch – Тон голоса бота. Здесь можно и без подробностей. Поставив большое значение голос станет выше, а меньше – наоборот. Дефолтное значение 100.
Skin = Облик бота. В игре в кажой команде есть 4 скина.
3. Разбор botprofile.db | Шаблоны
В оригинальном файле содержатся шаблоны выбора оружия и сложности, а так же поведения ботов.
Например, это шаблон одного из дефолтных предпочитаемых оружий для бота где содержится штурмовые винтовки и 1 пистолет-пулемет:
А это шаблон одного из дефолтных поведений бота, где находится параметры поведения бота и на какой сложности он будет спавниться, в этом случае это шаблон для легких бот
4. Создание нового шаблона и добавление/редактирование ботов
После того как мы разобрались с параметрами для шаблона, можно приступить к созданию своего шаблона для ботов.
Например, вот шаблон поведения низкоскильного бота:
А это шаблон поведения очень скиллового, практически имбового бота:
Шаблон предпочитаемого оружия для бота, который будет покупать только Скаут, АВП, и Дигл.
Здесь на самом деле не обязательно делать шаблон отдельно для поведения бота или предпочитаемому оружию, можно всё соединить воедино и получится такая вот “солянка”. Это шаблон бота, который будет очень скилловым, он в основном будет покупать штурмовые винтовки и дигл, а также спавниться на всех сложностях:
Для того что-бы добавить нового бота, надо написать название шаблона и затем имя. Если имя с пробелами или другими знаками, то нужно выделить имя фигурными скобками. Таким образом мы создаём профиль бота.
Так выглядит один из дефолтных ботов:
Заметьте, что если хотите что-бы бот имел несколько шаблонов, то пишите названия шаблонов через ‘+’
Так же убедитесь что после каждого профиля бота стоит End, а иначе боты не будут спавниться.
Используя нами созданными шаблонами можно создать новых ботов или же редактировать дефолтных. Используя шаблон “Kiberkotleta” я создал 4 бота:
И как результат у меня получилось, в одной из играх мне удалось заспавнить кастомного бота
5. Конец
В результате, понимая каждый параметр для бота, мы можем создать собственных ботов которые будут появляться в игре.
Надеюсь этот тутор мог обучить вас созданию ботов.