- Улучшена система навигации ботов, исправлены мелкие глюки.
- Полностью переделана защита от застревания ботов друг в друге.
-
Исправлен глюк с менюшками. Если вы открывали одно меню и, не закрыв
его, открывали другое, то при выборе пункта срабатывало действие из
первого открытого меню.
- Новая команда waypoint init, которая при отсутствии вейпоинтов расставляет их на местах появления терров и контров.
- В команде nb_kick теперь можно указать бота из какой команды кикнуть. (см. ReadMe.txt)
- Исправлены вейпоинты на многих картах и добавлены новые.
- Улучшены прыжковые навыки бота.
- Теперь переменные nb_max_bots и nb_min_bots функциональны только на выделенном сервере.
- Теперь боты знают, что у Famas есть 2 режима стрельбы.
-
Переменная nb_max_bots задаёт количество клиентов на сервере (учитывая
ботов). Больше реальных игроков - меньше ботов (но не меньше, чем в
nb_min_bots).
- Изменён порядок выполнения конфигов ботов:
сначала nicebot.cfg, потом .cfg из папки с конфигами. Т.о. в последнем
не обязательно хранить все настройки, а только спецефичные для данной
карты. (см. пример в fy_iceworld.cfg)
- Теперь боты лучше охраняют поставленную бомбу.
-
Исправлено написание переменных AIM_THRUWALL и HEAR_SHOOTHRU_WALL из
BotSkill.cfg на более правильное: AIM_THROUGH_WALL и
HEAR_SHOOT_THROUGH_WALL.
- При добавлении бота на выделенный
сервер командой "nb_add" переменная nb_max_bots автоматически
инкрементируется (увеличивается на единицу).
- Улучшена и исправлена система экономии бота. Теперь вся команда экономит деньги, если у 3/4-х из неё нет денег.
- Теперь бот не будет выбрасывать "дорогое" оружие.
- Конфиги для отдельных карт перенесены в отдельную папку MapsCfgs и не имеют суффикса "_bot".
- Теперь бот видит игрока, если видно только часть его тела.
- Новые радиокоманды.
- Доработка для нормальной работы с октябрьским апдейтом движка HL1.
Установка
~~~~~~~~~~
Сделайте резервную копию вашего файла liblist.gam. Извлеките файлы из архива в директорию
cstrike. Скопируйте новый liblist.gam в папку cstrike.
Удаление
~~~~~~~~~~
Скопируйте ваш старый liblist.gam в директорию cstrike. Удалите директорию NiceBot.
Редактирование:
~~~~~~~~~~~~~~~
Команды nicebot.cfg:
~~~~~~~~~~~~~~~~~~~
nb_addskill (0/1) - вкл/выкл добавление скилла бота в ешо ник.
nb_minskill (1/100)
nb_maxskill (1/100)
Минимальный и максимальный скилл ботов.
Далее: по умолчанию 0 - НЕТ, 1 - ДА.
nb_moveandshoot
(1/0/2) - боты будут стрейфится во время боя(0 - не будут, 1 - если
враг близко, 2 - если враг далеко (и не только во время стрельбы, но и
во время пауз)).
nb_smokeaff (1/0) - боты реагируют на дымовые гранаты?
nb_flashaff (1/0) - боты реагируют на flash гранаты?
nb_firstgrenade
(1/0) - боты могут использовать специальную атаку, когда у них есть
гранаты. Перед началом боя, боты закидывают гранатами места, где по их
мнению должен появиться враг.
nb_deathgrenade (1/0) - бот кидает гранату, если видит как погибает его напарник и не видит того, кто его убил.
nb_threatgrenade (1/0) - бот кидает гранату, если цель скрылась.
nb_heargrenade
(0/1) - бот кидает гранату, если он где-то рядом услышал врага и не
видит его (на практике оказалось мало действенным, поэтому по умолчанию
эта опция отключена)
Внимание: если все значения
firstgrenade, deathgrenade, threatgrenade, heargrenade будут равны нулю,
то боты вообще не будут бросать гранаты!
nb_inhumanturns
(0/1/2) - "мнгновенный поворот", бот очень быстро определяет кто на него
смотрит. 0 - НЕТ, 1 - ДА, вблизи, 2 - ДА, на любом расстоянии.
nb_usebutton (1/0) - боты используют объекты типа func_button?
nb_knifeattack (1/0) - вначале раунда боты могут размахивать ножом.
nb_botbuy (1/0) - боты могут покупать оружие и предметы.
nb_botdontshoot (0/1) - боты НЕ стреляют?
nb_maxgrbots
(0/31) - (по умолчанию = 2) макс. количество ботов, которые могут
выполнить вашу команду: "бросить гранату"(см. ниже)
nb_firstdanger
(1/0) - Места, где в прошлый раз бот встретил впервые врага, будут
считаться опастными и в этот раз бот будет там, осторожен.
Об
этом стоит поговорить отдельно. Дело вот в чём: допустим имеется карта
de_dust, выход от CT у арки: если бот встретит здесь первый раз врага,
то скорее всего в следующем раунде, он устроит ему здесь массовую засаду
и следовательно в этом раунде, может опять встретить противника на этом
же месте, т.е. в следующем раунде боты будут опять ждать противника
здесь и т.д. Если вам не нравиться такая оборонительная тактика ботов,
то вы можете задать им на следующий раунд какую-нибудь(по сути любую,
кроме "Easy Round") спец. "начальную тактику", чтобы они не устраивали
ранние засады в этом раунде и следовательно, встречали первого
противника в другом месте.
Боты могут и сами использовать "начальную тактику", если "changetactic" включено.
nb_djump (1/0) - Будут ли боты подсаживать друг друга или вас в высокие места.
nb_changetactic (1/0) - боты используют разные специальные "начальные" тактики(см. ниже)
nb_tacticrnd
4 - изменяется от 0 - 30 Как часто боты используют специальные
"начальные" тактики(4 - значит: 1 шанс из 5, что боты будут использовать
специальную "начальную" тактику)
nb_showtactmes (0/1) - показывать ли какую специальную тактику использует команда
nb_easyround
(1/0) - могут ли боты "сдать" раунд, чтобы накопить денег (если из всей
команды 75% не могут купить первичное оружие, вся команда ничего не
покупает)
nb_wpcheck (1/0) - если в вейпоинтах есть ошибка, боты будут твердить Вам о ней не переставая. =)
nb_dns (1/0) - вкл/выкл двойную навигационную систему. Позволяет ботам атаковать с разных направлений.
nb_min_bots (0/31)
nb_max_bots (1/32)
Минимум и максимум ботов (только для выделенного сервера).
bind "=" "nb_menu" - меню для ботов.
bind "KP_SLASH" "wmenu" - меню для редактирования вейпоинтов.
bind "*" "waypmenu" - меню для добавления вейпоинта.
bind "KP_MINUS" "pwmenu" - меню для редактирования путей (pathway).
bind "-" "bmenu" - меню для управления специальными "начальными" тактиками и приказов:
I) Спец. "начальная" тактика:
1. Random(default) - тактика, которую боты используют по умолчанию.
2. Move to one WAY waypoint(Rush) - все боты из этой команды бегут к одному WAY-вейпоинту (см. Waypointing.txt).
3. Rush and Wait - все боты из этой команды бегут к одному WAY-вейпоинту и ждут противника.
4. Random Rush and Wait - все боты из этой команды бегут к разным WAY-вейпоинтам и ждут противника.
5.
Move to Critical Point - контр-террористы: на CS_ картах сразу бегут к
заложникам; на DE_ картах бегут к местам закладки бомбы и ждут.
террористы: на CS_ картах бегут к заложникам и
ждут; на DE_ картах бегут к одному месту закладки бомбы.
6. Rush to First Threat Point - все боты из этой команды бегут к месту, где в прошлом раунде впервые был замечен враг.
7. Easy Round - все боты не будут закупаться оружием, используется для экономии.
Установленная Вами тактика будет работать только в (!)следующем(!) раунде.
Иногда(в зависимости от "tacticrnd") боты из Вашей команды будут сами выбирать себе тактику.
II) Приказы:
1. Drop the Bomb - приказать боту выбросить взрывчатку (C4).
2.
Sit Down - приказать боту сесть в этом месте. Используется, чтобы
сделать djump. Как только вы заберётесь на бота, подпрыгните, и бот
встанет.
3. Go - приказать боту бежать дальше. Обычно используется после успешного djump.
4. Be careful - боты рядом с вами будут стараться вести себя осторожно, передвигаясь шагом.
bind "HOME" "throwflsm" - команда "бросить гранату"(flash or smoke).
bind "PGUP" "throwhe" - команда "бросить гранату"(HE Grenade).
Точка, в которую бот будет целится зависит от положения вашего прицела.
Точка
прицеливания не должна находиться слишком далеко. Конечно, у бота
должны быть гранаты, он не должен быть в бою, он должен быть в зоне
видимости (вы вовсе не обязаны на него смотреть, просто нужно, чтобы
между вами и ботом можно было провести линию, которая не задевала бы
какой-либо объект), бот не должен находится от вас слишком далеко.
Консольные команды:
~~~~~~~~~~~~~~~~~~~
nb_add
[team [model ["name" [skill]]]]- добавить бота в команду team в скине
model с ником name (обязательно в кавычках) и скиллом skill, если указан
предыдущий параметр (т.е. нельзы указать боту имя, не указав команду
или скин).
team: 1 - террористы, 2 - контры;
model: как в игре;
name: максимальная длина ника 24 символа;
skill: от 1 до 100 по возрастанию сложности.
nb_kick [t|ct|all] - убрать всех ботов, или одного из указанной команды (t - терры, ct - контры, all - все).
nb_kill - убить всех ботов (только для выделенного сервера).
ctime - показать текущее время
Все переменные из NiceBot.cfg можно изменять через консоль во время игры.
Остальные команды смотрите в разделе waypoints.txt.
Также возможно использование определённого nicebot.cfg файла для определённой карты.
Файл
должен называться так "<имя карты>.cfg" и находиться в папке
MapsCfgs, в нём можно хранить не все настройки бота, а только
спецефичные для данной карты. Например, в папке MapsCfgs уже есть файл
fy_iceworld.cfg. Он сделан для того, чтобы боты не пытались закупаться
оружием.
ПРИМЕЧАНИЕ: Сначала всегда выполняется основной
конфиг nicebot.cfg, затем "<имя_карты>.cfg" из папки MapsCfgs,
если существует.
Команды NiceWeapons.cfg:
~~~~~~~~~~~~~~~~~~~~~~~
ВНИМАНИЕ:не
меняйте структуру записи! Меняйте только числа. Вы можете использовать
одно и тоже число для разных типов оружия, однако лучше избегайте этого.
Приоритеты для первичного(автоматы, пулемёты и т.д.) и вторичного
оружия(пистолеты) в игре расчитываются отдельно, поэтому если у Desert
Eagle приоритет 50, это не значит, что оно лучше MAC10 у которого
приоритет 1.
Для AGRESSIVE, PASSIVE, NORMAL допустимые значения 0 - 50
0 - минимальный приоритет, бот не будет использовать это оружие
50 - максимальный приоритет
Для ECONOMICS допустимые значения 0 - 16000
ПРИМЕЧАНИЕ: Пользователь сам может настраивать порядок закупки бота в файле NiceWeapons.cfg. См. ниже
[ECONOMICS] 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10
0 - Если у бота денег больше указанной здесь суммы, то он может покупать первичное оружие.
1
- Если у бота денег больше указанной здесь суммы, то он не будет
покупать автоматы(MP5NAVY, MAC10, TMP, P90, UMP45) (только для
контр-террористов) К этой сумме также прибавляется сумма указаная в
пункте 7 или 8 или 9. См.Ниже.
2 - Если у бота денег больше
указанной здесь суммы, то он не будет покупать автоматы(MP5NAVY, MAC10,
TMP, P90, UMP45, а также scout) (только для террористов) К этой сумме
также прибавляется сумма указаная в пункте 7 или 8 или 9. См.Ниже.
3 - Если у бота денег больше указанной здесь суммы, то он может покупать шотганы(M3, XM1014).
4 - Если у бота денег меньше указанной здесь суммы, то он не может покупать шотганы(M3, XM1014).
5 - Если у бота денег больше указанной здесь суммы, то он может покупать AWM, SG550, G3SG1, M249.
6 - Если у бота денег меньше указанной здесь суммы, то он не может покупать AWM, SG550, G3SG1, M249.
7 - Сколько денег бот оставляет прозапас, при покупке первичного оружия(только для типа поведения - PASSIVE).
8 - Сколько денег бот оставляет прозапас, при покупке первичного оружия(только для типа поведения - AGRESSIVE).
9 - Сколько денег бот оставляет прозапас, при покупке первичного оружия(только для типа поведения - NORMAL).
10 - Если у бота денег меньше указанной здесь суммы, то он не может покупать Riot Shield.
ПРИМЧАНИЕ:
Сумма пункта 0 и соответствующего пункта из 7, 8 или 9 не должна
превышать 3100, иначе во втором раунде даже после победного первого бот
будет экономить.
[BUYORDER] 1,2,3,4,6,7,8,5,0
Primary Weapon, Armor, Second Weapon, Ammo, HE Grenade, FLash Grenade, Smoke Grenade, Defuse Kit, Riot Shield
Порядок закупки оружием и предметами.
ВНИМАНИЕ: используются значения 0 - 8, и они НЕ должны повторяться!
Примечание:
Riot Shield должен иметь значение меньше, чем у Primary Weapon. Так
как, если у бота есть первичное оружие, то он НЕ будет покупать щит.
[OTHERPRI] 70,50,35,15
HE grenade, FL grenade, SM grenade, RIOT SHIELD
Процент на закупку данным предметом.
Допустимые значения: 0 - 100.
70 - значит: 70% из 100, что бот купит High-Explosive grenade.
[WEAPSIDE]
Будет ли бот покупать это оружие(для всех карт, кроме AS_).
1 - могут покупать только террористы, 2 - могут покупать только контры, 0 - может купить кто угодно, 3 - никто не может купить.
[WEAPSIDEAS]
Будет ли бот покупать это оружие(для AS_ карт).
1 - могут покупать только террористы, 2 - могут покупать только контры, 0 - может купить кто угодно, 3 - никто не может купить.
Команды NiceSkill.cfg(v1.2):
~~~~~~~~~~~~~~~~~~~~~~~~~~~
0.0 - идеальная точность.
AIM_X, AIM_Y, AIM_Z - (min = 0.0) точность во время стрельбы(по осям XYZ).
AIM_SPEED - (0.0/1.0) скорость прицеливания. (0.0 - очень быстро, 1.0 - ОЧЕНЬ медленно)
AIM_THROUGH_WALL - (min = 0.0) точность во время стрельбы через стены.
FL_AIM_XYZ - (min = 0.0) точность во время стрельбы(при ослеплении flash).
SM_AIM_XYZ - (min = 0.0) точность во время стрельбы(при воздействии smoke).
FLSM_AIM_TIME - (min = 0.0) дополнительное время прицеливания при ослеплении flash и воздействии smoke.
AIM_TIME - (min = 0.1) время прицеливания, реакция (пока не работает) =)
HEAR_SHOOT_THROUGH_WALL - (0/100) - процент возможности стрельбы сквозь стену на слух.