Counter-Strike: Source

Counter-Strike: Source

35 ratings
Боты CS:Source | Редактирование Ботов в Counter-Strike: Source
By GOOSLIME
В этом руководстве находится туториал по редактированию ботов в Counter-Strike: Source.
   
Award
Favorite
Favorited
Unfavorite
English Guide | Руководство на Английском
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.

В начале файла находится все параметры конфигурации.
Default Skill = 0 - 100 Aggression = 0 - 100 ReactionTime = 0 - 1 AttackDelay = 0 - 1 Teamwork = 0 - 100 WeaponPreference = Cost = 0 Difficulty = EASY+NORMAL+HARD+EXPERT VoicePitch = 0 - 100 - 200 Skin = 0 - 3 End

Обозначение каждого параметра

Skill - Навык бота, в этом случае это точность прицеливания. Значение можно дать от 0 до 100.

Aggression - Агрессия бота. При высоком значении бот будет рашить если он заметит противника, при низком же попытается спрятаться. Значение можно поставить от 0 до 100.

ReactionTime - Время реакции. Параметр при котором через сколько времени бот после того как заметит вас начнет прицеливаться. Значение в этом параметре можно поставить от 0.1 до 1.

AttackDelay - Задержка аттаки бота. Параметр, при котором после прицеливания даётся время до стрельбы. При нулевом значении бот после прицеливания начнёт стельбу моментально. Значение можно поставить от 0 до 100.

Teamwork - Командная работа бота. При высоком значении бот будет стараться быть в другими товарищами, при низком предпочтёт пойти в одиночку, так-же будет отказываться выполнять команды игроков если выключен "Боты заодно с людьми". Значение можно поставить от 0 до 100.

WeaponPreference - Предпочитаемое оружие для бота. Дав этот параметр боту, он будет покупать то оружие, что было обозначено в конфигурации.

galil - IDF Defender ak47 - CV-47 scout - Schmidt Scout sg552 - Krieg 552 awp - Magnum Sniper Rifle g3sg1 - D3/AU1 famas - Clarion 5.56 m4a1 - Maverick M4A1 Carbine aug - Bullpup sg550 - Krieg 550 Commando glock - 9x19mm Sidearm usp - KM .45 Tactical p228 - 228 Compact deagle - Night Hawk .50C elite - .40 Dual Elites fiveseven - ES Five-Seven m3 - Leone 12 Gauge Super xm1014 - Leone YG1265 Auto Shotgun mac10 - Ingram MAC-10 tmp - Schmidt Machine Pistol mp5navy - KM Sub-Machine Gun ump45 - KM UMP45 p90 - ES C90 m249 - M249

Пример:
WeaponPreference = ak47 WeaponPreference = deagle
Бот будет покупать только Калаш и Дигл, если у него будет достаточно денег.

Необязательно в WeaponPreference ставить гранаты, бронежилет и дефуз для спецназа т.к. боты их и так будут покупать.

Cost - Параметр при котором бот будет спавниться в определённом сложности, их всего 4:
Номер
Название
0
Низкий
1
Средний
2
Высокий
3
Эксперт

Difficulty - Тоже самое с Cost, но в этом случае можно добавить несколько сложностей для одной конфигурации.

Пример:
Difficulty = EXPERT
Бот будет спавниться на сложности "Эксперт"

Difficulty = EASY+NORMAL
Бот будет спавниться на сложности "Низкий" и "Средний"

VoicePitch - Тон голоса бота. Здесь можно и без подробностей. Поставив большое значение голос станет выше, а меньше - наоборот. Дефолтное значение 100.

Skin = Облик бота. В игре в кажой команде есть 4 скина.
3. Разбор botprofile.db | Шаблоны
В оригинальном файле содержатся шаблоны выбора оружия и сложности, а так же поведения ботов.

Например, это шаблон одного из дефолтных предпочитаемых оружий для бота где содержится штурмовые винтовки и 1 пистолет-пулемет:
Template Rifle WeaponPreference = m4a1 WeaponPreference = ak47 WeaponPreference = famas WeaponPreference = galil WeaponPreference = mp5 End

А это шаблон одного из дефолтных поведений бота, где находится параметры поведения бота и на какой сложности он будет спавниться, в этом случае это шаблон для легких бот
Template Easy Skill = 0 Aggression = 20 ReactionTime = 0.5 AttackDelay = 1.5 Cost = 1 Difficulty = EASY VoicePitch = 110 End
4. Создание нового шаблона и добавление/редактирование ботов
После того как мы разобрались с параметрами для шаблона, можно приступить к созданию своего шаблона для ботов.

Например, вот шаблон поведения низкоскильного бота:
Template Novenkiy Skill = 0 Aggression = 0 ReactionTime = 0.7 AttackDelay = 1.5 Cost = 1 Difficulty = EASY End

А это шаблон поведения очень скиллового, практически имбового бота:
Template Global Skill = 100 Aggression = 100 ReactionTime = 0 AttackDelay = 0 Cost = 2 Difficulty = HARD+EXPERT End

Шаблон предпочитаемого оружия для бота, который будет покупать только Скаут, АВП, и Дигл.
Template Avaper WeaponPreference = awp WeaponPreference = scout WeaponPreference = deagle End

Здесь на самом деле не обязательно делать шаблон отдельно для поведения бота или предпочитаемому оружию, можно всё соединить воедино и получится такая вот "солянка".
Я это решил попробовать и это ломает botprofile.db так что не делайте этого...

Это шаблон бота, который будет очень скилловым и он будет спавниться на всех сложностях:
Template Kiberkotleta Skill = 80 Aggression = 100 ReactionTime = 0 AttackDelay = 0 Cost = 1 Difficulty = EASY+NORMAL+HARD+EXPERT VoicePitch = 110 End

Добавление бота

Для того что-бы добавить нового бота, надо написать название шаблона и затем имя под шаблонами поведения и предпочитаемым оружием. Если имя с пробелами или другими знаками, то нужно выделить фигурными скобками. Таким образом мы создаём профиль бота.

Также нельзя создавать ботов с именами, содержащие кириллицу, иначе файл не будет работать.

Так выглядит один из дефолтных ботов:
VeryHard+Rifle Seth Skin = 2 VoicePitch = 100 End
Заметьте, что если хотите что-бы бот имел несколько шаблонов, то пишите названия шаблонов через '+'
Так же убедитесь что после каждого профиля бота стоит End, а иначе боты не будут спавниться.

Используя нами созданными шаблонами можно создать новых ботов или же редактировать дефолтных. Используя шаблон "Kiberkotleta" я создал 4 бота:
Kiberkotleta Vasyan Skin = 90 End Kiberkotleta Misha VoicePitch = 80 End Kiberkotleta+Avaper "Gena Bukin" VoicePitch = 100 End Kiberkotleta "Blet Nevelny" VoicePitch = 125 End

И как результат у меня получилось, в одной из играх мне удалось заспавнить кастомного бота

Для установки кастомного botprofile нужно положить сам файл в .../steamapps/common/Counter-Strike: Source/cstrike/custom/*название_папки*
5. Конец
В результате, понимая каждый параметр для бота, мы можем создать собственных ботов которые будут появляться в игре.

Надеюсь этот тутор мог обучить вас созданию ботов.
6 Comments
Пельмень 10 May, 2023 @ 11:09am 
найс,время эксперементов:steamthumbsup:
KL 7 Dec, 2021 @ 6:05pm 
Кстати тем кто не в курсе. Кидать файл нужно в cstrike\custom\ваша_папка. А то я чёт затупил и кинул просто в custom и нифига не работало)
「ẋQẕᴍᴇ.ᴡᴛғ」 4 Jul, 2021 @ 1:06am 
xMilKirill, можно, только на своём сервере с ботами, на серверах сообщества параметры разброса и урона останутся дефолтными.
GOOSLIME  [author] 16 Jun, 2021 @ 2:10pm 
@xMilKiril

GCFScape - это единственная прога для просмотра .vpk файлов игры от Valve. Я нигде не видел что люди жаловались на троян. А если вы не хотите не ловить постоянно трояны, то качай проги с оффициальных сайтов прог, а не с левых сайтов.

Параметры урона и отдачу оружий это уже надо через конфиги лезть, да и тем более я не уверен что можно так просто сделать. Да и зачем, из за этого можно и VAC словить...
Rød Viking 31 May, 2021 @ 9:33am 
Спасибо!:winter2019happybulb:
tramp gambler 24 May, 2021 @ 11:48am 
спасибо :steamthumbsup: