Боты

From Team Fortress Wiki
< Bots
Revision as of 15:34, 26 February 2024 by Goomba2024 (talk | contribs) (Карты, стандартно поддерживающие работу ботов на них)
Jump to: navigation, search
Бот-солдат в действии на карте Dustbowl (Обучение).
Эта статья описывает управляемых компьютером игроков в Team Fortress 2.
«
Живые игроки могут корить тебя, но смогут ли это сделать бездушные боты? ДА. Они все-таки не слепые. Но они НЕМЫ, поэтому твоя некомпетентная игра будет для них секретом, который они будут хранить до могилы.
Солдат
»

Бот (или BOT) — это управляемый компьютером игрок на сервере. В Team Fortress 2 существует два вида ботов: боты с искусственным интеллектом (ИИ) и боты-болванки. Боты с ИИ имеют качественный код искусственного интеллекта для эмуляции действий игрока в игре, и они могут быть использованы без читов. У ботов-болванок нет ИИ, но их можно использовать как для тестирования, так и для удовлетворения своих антисоциальных потребностей. Боты-болванки требуют активированных читов на сервере, из-за чего игроки не смогут получать достижения.

Боты с искусственным интеллектом

Боты с ИИ предназначены для эмуляции игроков-людей и они непосредственно не контролируются. Кроме того, их классы выбираются случайно. Они используют сложный код ИИ, основанный на PlayerBot и ИИ Зараженных из серии игр Left 4 Dead.[1] Боты с ИИ не требуют включенных читов на сервере, поэтому достижения могут быть получены во время игры с ботами. Но есть одно исключение: боты не видят камеры после гибели, поэтому игрок не сможет получить достижения, связанные с этой камерой. Если игрок убьет бота при помощи оружия странного типа, это убийство не будет засчитано в счетчик убийств, только если на этом оружии не установлен Странный счетчик: уничтожено роботов, но и в этом случае убийство будет засчитано не в основной счетчик, а в дополнительный.

У ботов с ИИ есть некоторые характеристики:

  • Любой дружественный бот во время подготовки при наведении на него прицела сделает насмешку.
  • Медик-бот будет лечить любого игрока, который закричит «Медик!».
  • Если у лечащего вас бота-медика будет наготове убер-заряд, используйте команды «Вперёд, вперёд!» или «Давай убер!», чтобы бот активировал заряд.
  • Медик-бот сразу же активирует убер-заряд, если по нему был нанесен значительный урон.
  • Боты будут пытаться присоединиться к вам, если вы используете насмешку для двух (например, Дай пять!) или нескольких (например, Конга) человек.

Текущий статус ботов с ИИ

В данный момент, боты с ИИ обновлены до полноценной версии[требуется подтверждение] и они станут более сложными для игроков по мере обновлений. В настоящее время, все классы работают некорректно из-за Бесшляпного обновления. Боты с ИИ работают только на картах режима Царь горы, некоторых картах режима Сопровождение, картах режима Захват / удержание контрольных точек Dustbowl и Gorge, картах режима Захват флага и на карте Mann Manor (для последних двух пунктов ботов надо добавлять вручную командой tf_bot_add). Использовать ботов с ИИ на не поддерживаемых картах можно, выполнив определенные действия, но они не будут вести себя как игроки-люди.

Боты работают некорректно на любой карте режима Гонка вагонеток, например, на карте Hightower они не могут перепрыгнуть через ограждения рядом с комнатой возрождения, а в самой комнате иногда застревают в углах. В других же картах этого режима боты устраивают «дискотеки» (это могут исправить в будущем).[требуется подтверждение]

Заметка: существует набор готовых ботов, составленный для многих популярных карт.

Имена ботов с ИИ

Боты с ИИ запрограммированы на различные имена, многие из которых имеют отсылки к Team Fortress 2, прочим работам Valve и компьютерным программам. Многие эти имена были запрошены на форуме Steam.

Неиспользованные имена ботов с ИИ

Данные имена ботов были найдены из-за утечки исходного кода TF2, все эти имена никогда не были использованы в игре по неизвестным причинам.

  • John Spartan
  • Leeloo Dallas Multipass
  • Sho'nuff
  • Bruce Leroy
  • CAN YOUUUUUUUUU DIG IT?!?!?!?!
  • Big Gulp, Huh?
  • Stupid Hot Dog
  • I'm your huckleberry
  • The Crocketeer

Также, имена ботов могут быть изменены игроком, например, если мы напишем в команде tf_bot_add heavyweapons blue «Blu Hoovy», то появится пулемётчик в команде синих с именем «Blu Hoovy».

Использование ботов на пользовательских картах

  1. Навигационная сетка требует активированных читов, поэтому введите «sv_cheats 1» в консоли
  2. Создайте навигационную сетку, прописав «nav_generate» в консоли
  3. Подождите, пока игра генерирует маршруты для ИИ, прогресс отслеживается в консоли
  4. Карта будет перезагружена
  5. При необходимости, вы можете настроить созданную навигационную сетку для добавления недостающих данных и удаления ошибочных. Используйте команду nav_edit 1, чтобы войти в режим редактирования навигационной сетки
  6. Перезагрузите/перезапустите сервер (необязательно, но если это не будет сделано, достижения будут отключены)
  7. Откройте консоль и введите «tf_bot_add <число>», чтобы добавить ботов

ВНИМАНИЕ: может произойти сбой игры во время редактирования навигационной сетки, если боты на сервере уже активированы.


Боты могут быть использованы на любой карте, на которой вышеописанные шаги были выполнены без необходимости повторять их, за исключением ввода команды «tf_bot_add <число>» каждый раз, чтобы боты добавились.

Лучше всего боты будут работать на картах режимов с контрольными точками, Царь горы, Сопровождение и Захват флага. На картах режима Супер-Манн боты будут вести себя как на картах режима Захват флага, но они не будут использовать Абордажные крюки и не будут корректно использовать бонусы, которые они подбирают.

Карты, стандартно поддерживающие работу ботов на них

Карта Режим игры Имя файла
Altitude Захват / удержание точек cp_altitude
Dustbowl Захват / удержание точек cp_dustbowl
Gorge Захват / удержание точек cp_gorge
Gorge - Хеллоуин Захват / удержание точек cp_gorge_event
Mann Manor Захват / удержание точек cp_manor_event
Mercenary Park Захват / удержание точек cp_mercenarypark
Mossrock Захват / удержание точек cp_mossrock
Badlands Контрольные точки cp_badlands
Foundry Контрольные точки cp_foundry
Granary Контрольные точки cp_granary
Gullywash Контрольные точки cp_gullywash_final1
Metalworks Контрольные точки cp_metalworks
Process Контрольные точки cp_process_final
Snakewater Контрольные точки cp_snakewater_final1
Sunshine Контрольные точки cp_sunshine
Vanguard Контрольные точки cp_vanguard
Turbine Захват флага ctf_turbine
Badlands Царь горы koth_badlands
Brazil Царь горы koth_brazil
Eyeaduct Царь горы koth_viaduct_event
Ghost Fort Царь горы koth_lakeside_event
Kong King Царь горы koth_king
Lakeside Царь горы koth_lakeside_final
Laughter Царь горы koth_slaughter_event
Lazarus Царь горы koth_lazarus
Moldergrove Царь горы koth_undergrove_event
Moonshine - Хеллоуин Царь горы koth_moonshine_event
Nucleus Царь горы koth_nucleus
Probed Царь горы koth_probed
Sawmill Царь горы koth_sawmill
Slasher Царь горы koth_slasher
Viaduct Царь горы koth_viaduct
Badwater Basin Сопровождение pl_badwater
Barnblitz Сопровождение pl_barnblitz
Bloodwater Сопровождение pl_bloodwater
Camber Сопровождение pl_camber
Brimstone Сопровождение pl_fifthcurve_event
Embargo Захват / удержание точек pl_embargo
Enclosure Сопровождение pl_enclosure_final
Goldrush Сопровождение pl_goldrush
Gravestone Сопровождение pl_rumble_event
Hoodoo Сопровождение pl_hoodoo_final
Pier Сопровождение pl_pier
Precipice Сопровождение pl_precipice_event_final
Swiftwater Сопровождение pl_swiftwater_final1
Thundermountain Сопровождение pl_thundermountain
Upward Сопровождение pl_upward
Pier Сопровождение pl_pier
Wutville Сопровождение pl_wutville_event

Боты Синих застревают, пытаясь покинуть одну из точек спавна Синих. Поэтому Синие могут победить только в том случае, если во время использования неисправной точки спавна погибнет мало ботов Синих или не погибнет ни один.

Поведение ботов

  • Пока что боты могут использовать только стандартное оружие.
  • Боты на легкой сложности редко (если вообще когда-нибудь) будут использовать свое дополнительное оружие или оружие для ближнего боя. На более высоких сложностях они будут переключаться на дополнительное оружие как только в основном закончатся боеприпасы в обойме.
  • Боты-шпионы и боты-снайперы не будут появляться на легкой сложности; они будут появляться только на нормальной сложности и выше.
  • Боты не умеют совершать специальные прыжки (например, прыжок на ракете) и переносить постройки.
  • При убийстве игрока бот-убийца может сделать насмешку, даже несмотря на то, что находится под обстрелом. Такое поведение касается и роботов в игровом режиме Манн против машин.
  • Боты будут игнорировать замаскированных ботов-шпионов и игроков. Однако, «коснувшись» любого вражеского бота, установив жучок на постройку, открыв огонь или став невидимым, все боты, которые видели это, объявят подозреваемого шпионом и не забудут его, пока тот, находясь в невидимости, не сменит маскировку или пока боты не объявят шпиона мертвым.
  • Бот-поджигатель будет регулярно использовать сжатый воздух против вражеских снарядов на всех сложностях, кроме легкой.
  • Боты-медики лечат все классы, кроме снайпера (реже - инженера), если они зовут медика.
  • Бот-медик автоматически активирует убер-заряд, если его ранили. Такое поведение относится к убер-медикам из игрового режима Манн против машин.
  • Если замаскированный бот-шпион станет невидимым на глазах врагов на уровне сложности «Эксперт», его будут видеть как обычно независимо от того, мигает его плащ или нет.
  • Боты не будут атаковать врагов во время подготовки, если их самих не начали атаковать первыми (за исключением ботов-подрывников, разместивших ловушки из бомб-липучек).
  • Боты-инженеры не будут улучшать (или даже уничтожать жучки) свои телепорты, а иногда даже не чинить свою турель, если та находится под обстрелом.
  • Боты-инженеры никогда не будут ремонтировать или улучшать постройку союзного инженера, если оно не находится на его пути до цели.
  • Боты (за исключением инженеров, снайперов и шпионов) будут стоять на своих начальных позициях в комнате возрождения на картах режимов Захват / удержание контрольных точек и Сопровождение.
  • Боты-шпионы, обнаруженные другими ботами (или игроком) не будут пытаться нанести удар в спину, вместо этого они переключатся на револьвер и, отступая, будут стрелять по врагу.

Ошибки

  • Боты могут пробовать ходить/стрелять сквозь неподвижные объекты, такие как стены.
  • Всякий раз, когда игрок/бот-шпион становится невидимым/выходит из невидимости или маскируется/снимает маскировку, боты всё равно «увидят» того сзади и будут оборачиваться, даже если вы находитесь вне его поля зрения. Обратите внимание, что это не из-за каких-то звуков, издаваемых шпионом (хождение по земле, разные звуки оружия, и т.д.).
  • Хоть и редко, боты могут встать друг в друга во время использования телепорта и застрять (они не смогут двигаться).
  • Когда боты используют голосовые команды (как «Шпион!» и «Продвигаемся!»), текстовые версии этих команд не будут отображаться в чате сервера.
  • Бот-медик, лечащий игрока не будет уклоняться от вражеских снарядов или подбирать аптечки даже при критически низком уровне здоровья.
  • Боты способны двигаться во время действия насмешек, что делает Праздничный удар неэффективным оружием.
  • Боты-медики, которых недавно атаковали, чаще не будут использовать свой шприцемет против врагов в чуть большем диапазоне, чем диапазон ближнего боя, вместо этого они переключатся на медицинскую пилу, или даже на лечебную пушку в крайне редких случаях.
  • Боты-медики не умеют правильно стрелять из своих шприцеметов. Это может быть связано с тем, что шприцемет не был идентифицирован как оружие с не-мгновенными попаданиями в коде ИИ.
  • Боты-инженеры могут ходить сквозь свои постройки.
  • Боты-шпионы могут видеть и следовать за невидимыми шпионами (ботами или игроком), если те выдали самих себя, независимо от уровня сложности.
  • Даже если шпион замаскируется под класс своей команды (относится к игроку, боты никогда этого не делают), противники по-прежнему будут объявлять его шпионом, если он «коснулся» их.
  • Боты соблюдают правила авто-баланса команд. Чтобы добавлять ботов в определенную команду, смените значение переменной mp_teams_unbalance_limit на 0.
  • Боты-инженеры могут игнорировать свои постройки, пока их не уничтожат.
  • Боты-пулеметчики иногда продолжают стрелять из своих пулеметов, даже если патроны кончились.
  • Боты-медики в проигравшей команде могут иногда совершить самоубийство во время Завершения сражения, пока поблизости нет врагов. Игроки не могут сделать то же самое, даже используя консольные команды.
  • Установка предосмотра в меню снаряжения на синий меняет красных ботов на синих.
  • На данный момент боты не работают на следующих картах или игровых режимах, даже с созданной навигационной сеткой:
  • Если у ботов закончились патроны, то они переключатся на оружие ближнего боя и не будут сменять его до тех пор, пока не возьмут коробку с боеприпасами.
    • Это можно исправить просто убив его.
  • После обновления «Пламенные джунгли» боты со специальными параметрами (например:tf_bot_add 5 pyro blue normal) будут умирать сразу после того, как появились. Это можно исправить введя команду tf_bot_reevaluate_class_in_spawnroom 0, при включенной sv_cheats с переменной 1.

Команды для ботов с ИИ

Боты с ИИ на картах могут быть добавлены легко, администратор сервера должен просто ввести следующие команды:

Команда Описание
tf_bot_add Эта команда добавит ботов случайных классов к случайным командам в количестве одного или более. Им будут даны имена, похожие на ники людей-игроков
Команда
tf_bot_add [<count>] [<class>] [<team>] [<difficulty>] [<name>]
Параметры
<count>
Количество ботов. Если не указано, появится один бот.
При попытке создать больше ботов, чем максимальное количество игроков на сервере, в консоли будет выводиться сообщение об ошибке.
<class>
Пунктом classname может быть Demoman, Engineer, HeavyWeapons, Medic, Pyro, Scout, Soldier, Sniper или Spy.
<team>
Указывает на то, к какой команде присоединятся боты. Пункт team может быть red или blue.
<difficulty>
Задает уровень игры ботов, где difficulty может быть easy, normal, hard или expert.
<name>
Задает имя боту.
Пример
tf_bot_add 3 heavyweapons red easy. Добавятся три пулеметчика к Красной команде легкого уровня сложности.
tf_bot_difficulty Определяет уровень игры ботов, которые будут добавлены в игру.
Команда
tf_bot_difficulty <level>
Параметры
<level>
Определяет уровень игры ботов. Значения: 0 — легко, 1 — нормально, 2 — тяжело, 3 — эксперт. По умолчанию значение установлено на «нормально» (1).
Пример
tf_bot_difficulty 2. Заставит всех ботов, созданных после этой команды быть уровня сложности «тяжело».
tf_bot_fire_weapon_allowed Определяет, должны ли боты стрелять оружием. Если отключено, боты будут использовать только оружия, которые не наносят урона, например Лечебную пушку, кроме одного исключения: боты-медики всё ещё будут использовать Шприцемёт. Также, боты-подрывники будут взрывать уже заминированные липучки, но потом они не будут ими стрелять.
Команда
tf_bot_fire_weapon_allowed <integer>
Параметры
<integer>
Значения: 1 или 0. По умолчанию равно 1 (Включено).
Пример
tf_bot_fire_weapon_allowed 0. Заставит ботов не использовать их оружия, с некоторыми исключениями.
tf_bot_force_class Если ввести имя класса, все боты в игре возродятся как этот класс.
Команда
tf_bot_force_class <class>
Параметры
<class>
Пунктом classname может быть Demoman, Engineer, HeavyWeapons, Medic, Pyro, Scout, Soldier, Sniper или Spy. По умолчанию пусто.
Пример
tf_bot_force_class medic. Все боты в игре возродятся как медики.
tf_bot_force_jump Если включено то, заставит ботов постоянно прыгать.
Команда
tf_bot_force_jump <integer>
Параметры
<integer>
Значения: 1 или 0. По умолчанию равно 0 (Отключено).
Пример
tf_bot_force_jump 1. Заставит всех ботов беспрерывно прыгать.
tf_bot_join_after_player Если не равно нулю, боты ждут, пока игрок присоединится, перед тем как начать игру.
Команда
tf_bot_join_after_player <integer>
Параметры
<integer>
Просто 1 или 0. По умолчанию равно 1 (включено).
Пример
tf_bot_join_after_player 0. Боты не присоединятся и не начнут играть, пока игрока нет ни в одной команде.
tf_bot_keep_class_after_death Если равно нулю, боты возрождаются случайными классами. Если единице, сохраняют класс после возрождения.
Команда
tf_bot_keep_class_after_death <integer>
Параметры
<integer>
Просто 1 или 0. По умолчанию равно 0 (отключено).
Пример
tf_bot_keep_class_after_death 1. Боты сохранят класс после возрождения.
tf_bot_kick Эта команда удалит или одного или нескольких ботов.
Команда
tf_bot_kick <name/all>
Параметр
<name/all>
«all» удалит всех ботов, для удаления одного бота введите его игровое имя
Пример
tf_bot_kick CEDA. Удалит бота с именем CEDA, если он существует.
tf_bot_kill

Эта команда убьёт или одного или нескольких ботов.

Команда
tf_bot_kill <name/all>
Параметры
<name/all>
«all» убьёт всех ботов, для убийства одного бота введите его игровое имя.
Пример
tf_bot_kill CEDA. Убьёт бота с именем CEDA, если он существует.
tf_bot_melee_only Определяет, будет ли бот использовать только оружие ближнего боя или нет.
Команда
tf_bot_melee_only <integer>
Параметры
<integer>
Просто 1 или 0. По умолчанию равно 0 (отключено).
Пример
tf_bot_melee_only 1. Боты будут использовать только оружие ближнего боя.
tf_bot_prefix_name_with_difficulty Если не равно нулю, привязывает уровень игры к имени бота.
Команда
tf_bot_prefix_name_with_difficulty <integer>
Параметр
<integer>
Просто 1 или 0. По умолчанию равно 0 (отключено).
Пример
tf_bot_prefix_name_with_difficulty 1. Сделает всех ботов с именем «1 Aimbot» уровня сложности 1 (нормальный) и «3 Saxton Hale» с уровнем 3 (эксперт).
tf_bot_quota Регулирует максимальное количество ботов в игре. Работает только если tf_bot_quota_mode равняется fill или match.
Команда
tf_bot_quota <integer>
Параметры
<integer>
Число между 0 и максимальным количеством игроков на сервере. По умолчанию равно 0.
Пример
tf_bot_quota 2, если tf_bot_quota_mode равняется match, игра будет добавлять двух ботов для каждого игрока.
tf_bot_quota_mode Регулирует вид квоты.
Команда
tf_bot_quota_mode<normal/fill/match>
Параметры
normal/fill/match
Если равно normal, сервер никогда не добавит ботов самостоятельно, и bot_quota не будет работать.
Если равно fill, сервер будет добавлять ботов, сохраняя некоторое количество игроков, где N — это bot_quota.
Если равно match, сервер будет проверять отношение 1:N, т.е людей к ботам, где N — это bot_quota.
Пример
tf_bot_quota_mode fill. Всегда будет сохранять (bot_quota - # игроков) ботов в игре.
tf_bot_taunt_victim_chance Определяет, как часто бот-убийца будет делать насмешку над игроком-жертвой.
Команда
tf_bot_taunt_victim_chance <integer>
Параметры
<integer>
Число между 0 и 100. По умолчанию равно 20.
Примеры
tf_bot_taunt_victim_chance 0. Боты никогда не будут делать насмешки после убийства игрока.
tf_bot_taunt_victim_chance 100. Боты всегда будут делать насмешки после убийства игрока.
tf_bot_warp_team_to_me Телепортирует ботов из вашей команды на место, где вы находитесь. Требуется ввести sv_cheats 1.
Команда
tf_bot_warp_team_to_me
Параметры
Нет

Сторонние боты

На данный момент существует ещё один бот, который продолжает разрабатываться для TF2 - RCBot2. Бот был создан и поддерживается Cheezeh'ом. Сайт можно найти по адресу: http://rcbot.bots-united.com/ (англ.). Бот работает по принципу маршрутных точек, и должен настраиваться игроком вручную вместо набора команды. RCBot - это отдельный бот, поэтому они могут работать в паре со стандартными ботами.

Игроки также могут попробовать ночные сборки [APG] Foundation, которые обновляются и улучшаются, чтобы работать с теми последними обновлениями TF2, которые могут повредить ботов. Однако для работы ботов потребуется определенная работа и поиск новой информации о хуках. Обязательно используйте инструмент Hookinfo и сообщайте о любых ошибках с помощью этой ночной версии: - https://github.com/APGRoboCop/rcbot2

Некоторые особенности бота включают:

  • Боты-солдаты могут делать прыжок на ракете, а боты-подрывники - на липучке (при условии, что есть маршрутная точка для этого).
  • Боты-инженеры корректно работают на картах режима Захват флага и других.
  • Боты могут использовать снаряжение. Например: Охотник и Бонк! Атомный залп.
  • Боты могут проводить «проверку на шпиона». Если шпион замаскирован под одного ботов, и бот, под которого замаскировались, видит его, то он будет атаковать всё в пределах своей видимости.
  • Боты могут корректно использовать голосовые команды. Текст будет появляться в чате, в отличие от обычных ботов.
  • Боты могут играть за команду защитников в Манн против Машин, но они не могут покупать улучшения.
  • Если играть на карте режима Контрольные точки, боты будут «возиться» в округе до начала раунда. Они будут случайно атаковать игроков своим оружием ближнего боя и спамить голосовыми командами, подобно многим людям.
  • Боты-инженеры могут перемещать свои постройки через определенное время.
  • Боты имеют профили через которые можно настроить определенные черты бота, такие как: точность, храбрость и т.д.
  • Боты-инженеры могут помочь союзным инженерам улучшением союзных турелей (если они уже закончили улучшение своей) и сбиванием жучков с них.
  • Если боты были под обстрелом турели и убежали, они скажут «Турель впереди».
  • Боты-инженеры улучшают свои телепорты и строят их в специальных точках.
  • Боты-медики будут иногда лечить замаскированных вражеских шпионов.
  • Если бот-шпион преследует врага, и враг обернулся, то он будет отступать, пока враг не повернется спиной.
  • Боты-разведчики могут совершать двойной прыжок, но требуют специальные маршрутные точки, как солдаты и подрывники.
  • Боты-разведчики могут умно использовать Бонк! Атомный залп во время отступления или атаки.
  • Боты-медики будут лечить любой класс, если у него мало здоровья, однако пулеметчики и солдаты в приоритете.
  • Боты не будут мгновенно атаковать шпиона, убившего другого игрока. Бот должен увидеть шпиона или увидеть, что шпион был атакован.
  • Боты будут говорить «Спасибо!» после лечения от раздатчика инженера или медика.
  • Боты периодически оборачиваются для обнаружения шпиона.
  • RCBot имеет систему «Доверия», которая сообщает, считает ли бот игрока шпионом, и будет ли он его атаковать, или будет следить за ним для предотвращения удара в спину.

Ошибки

  • Из-за основы системы маршрутных точек, пути ботов не так непредсказуемы, как у обычных, и RCBot'ы будут часто идти друг в друга, пока один из них не будет убит.
  • Точно так же боты-шпионы могут врезаться в игрока и не двигаться, из-за способа работы маршрутных точек. Они могут двигаться только по фиксированным «рельсам».
  • Ботам-инженерам сложнее построить раздатчик, и делают они это по собственной воле.
  • Боты-подрывники знают, стоите ли вы на одной из их ловушек из бомб-липучек, и взорвут их, даже если они не видят вас.
  • Боты-инженеры могут разместить турель, смотрящую не в ту сторону.
  • Если бот был оттолкнут в место, где рядом нет никаких маршрутных точек, то он не сможет двигаться. Например: крыши на карте Nucleus.
  • Боты также будут говорить «Спасибо!» при поднятии аптечки.
  • Боты теряют скорость передвижения после плавания.
  • Боты не могут предсказать движения цели при стрельбе снарядами.

Боты-болванки

У ботов-болванок нет ИИ кода и они не могут двигаться и делать что-либо самостоятельно. Этих ботов можно использовать как марионеток: игроки могут манипулировать ими, например, заставить бота идти за игроком и стрелять из своего оружия. Боты-болванки используются в основном для целей тестирования, а также с помощью них можно создавать потрясающие визуальные эффекты, если манипулировать ботами соответственно, как это показано здесь.

Команды ботов-болванок

Некоторые команды работают, а некоторые — нет. Для этого в статью включён список всех команд.

Запомните, для всех команд: их введение без всяких опций вызовет команду на дисплее, отображающую быструю помощь и текущее состояние команды.

Команда Описание
bot Эта команда создаст бота определенной команды, класса и с определенным именем. Если не написать команду или имя, то они будут выбраны случайно.
Команда
bot -team <teamname/number> -class <classname> -name <botname>
Параметры
-team teamname/number
Указывает название или номер команды, к которой присоединяется бот. Где name/number может быть RED или 1, BLU или 0
-class classname
Пунктом classname может быть Demoman, Engineer, Heavy, Medic, Pyro, Scout, Soldier, Sniper или Spy
-name botname
botname может быть любым. Если есть кто-то с таким именем, новое число (начиная с 1) припишется к имени по началу игры персонажа\бота. Например, joe, (1)joe, (2)joe, и т.д. Если имя не было дано, то оно заменится на «bot» вместе с его порядковым номером начиная с 01; у первого бота будет имя bot01, у второго bot02, и т.д.
Пример
bot -team red -class Engineer -name joe
bot_changeclass Привязывает бота к определенному классу.
Команда
bot_changeclass <botname> <classname>
В <botname> можно указать all, тогда класс поменяют все боты.
bot_changeteams

Заставляет ботов сменить команду. Если бот был за Синюю команду, то он зайдет за Красную, и наоборот.

bot_command Даёт заданные команды боту.
Команда
bot_command <botname> <console command>
botname — это имя или id бота, которому вы приказываете.
console command может быть любой из команд, описанной в консольных командах.
Пример 1
bot_command bot01 «voicemenu 0 0»
Пример 2
bot_command bot01 «taunt»
Команды в слотах (slot1, slot2, и т.д.) не работают с bot_command, но работают с bot_forcefireweapon; например, всех ботов данного класса можно заставить сменить оружие и приступить к стрельбе, а затем остановить их. Однако, такое можно сделать только с группой ботов данного класса.
bot_defend Выставляется номер команды, и вся команда «поднимет щиты» для обороны.

Например, пулеметчики начнут раскручивать свои пулеметы.

В настоящее время не реализовано.

bot_dontmove Предохраняет ботов от движения. Когда назначено на 1, боты не могут ходить, но могут прыгать и поворачиваться. Запомните, используя комбинацию этой команды и bot_mimic, вы можете двигать ботов и оставлять их там, где нужно.
Команда
bot_dontmove <0/1>
Запрещает или разрешает двигаться ботам.
Пример
bot_dontmove 1
bot_flipout При активировании, эта команда заставляет ботов открыть огонь из выбранного в текущее время оружия. По умолчанию используется primary_fire, но если bot_forceattack2 назначено на 1, то будет использоваться дополнительный огонь.

В настоящее время не реализовано.

Команда
bot_flipout <0/1>
Когда включено равно 1, когда выключено - 0.
Пример
bot_flipout 1
bot_forceattack Эта команда заставляет всех ботов без остановки стрелять из оружия, которое у них выбрано в данный момент. Если bot_forceattack2 равняется 0, то боты используют основной огонь. Если bot_forceattack2 равняется 1, боты используют дополнительный огонь.

Это ничего не делает с активированной командой bot_mimic (равной 1).

Команда
bot_forceattack <0/1>
Бот не стреляет, если равно 0, и бесконечно стреляет, если равно 1.
Пример
bot_forceattack 1
bot_forceattack2 Это заставит ботов использовать дополнительный огонь на любом оружии, которое выбрано у них в данный момент, если bot_forceattack равно 1.
Команда
bot_forceattack2 <0/1>
Бот использует дополнительный огонь своего оружия, если равно 1, основной огонь - если равно 0
Пример
bot_forceattack2 1
bot_forceattackon Когда боты атакуют, они не «зажимают» огонь, а «быстро нажимают». Если это равно 0, то боты будут как бы нажимать кнопку атаки (полезно для пистолета, но не для пулемета пулеметчика). Если равно 1, то будут атаковать так, как будто зажали кнопку атаки (полезно для пулеметчика).
Команда
bot_forceattackon <0/1>
Когда включено равно 1, когда выключено равно 0.
Пример
bot_forceattackon 1
bot_forceattack_down Когда боты атакуют, они не «зажимают» огонь, а «быстро нажимают». Если это равно 0, то боты будут как бы нажимать кнопку атаки (полезно для липучкомета). Если равно 1, то будут атаковать так, как будто зажали кнопку атаки (полезно для пулемета).
Команда
bot_forceattack_down <0/1>
Когда включено равно 1, когда выключено равно 0
Пример
bot_forceattack_down 1
bot_forcefireweapon Заставляет ботов использовать определенное оружие и стрелять.

Если у бота нет этого оружия, с ним ничего не происходит (только если он не стреляет из оружия, у которого есть промежутки между стрельбой)

Команды
bot_forcefireweapon <weapon filename>
filename обычно tf_weapon_ <weapon name>.
Примеры
bot_forcefireweapon tf_weapon_fists. Заставит всех ботов-пулеметчиков сменить свое оружие на кулаки и постоянно атаковать ими, а все остальные боты прекратят атаку.

bot_forcefireweapon tf_weapon_shotgun_pyro. Заставляет всех ботов-поджигателей сменить свое оружие на дробовики, а все остальные боты прекратят атаку.

Для того, чтобы все боты прекратили атаку, просто укажите несуществующий файл оружия. Всё оружие TF2 имеет префикс tf в названии, поэтому боты и не будут стрелять. Например, bot_forcefireweapon ,,
Снаряжение ботов нельзя сменить; таким образом, вы не сможете заставить их стрелять из разблокируемого оружия.
bot_kill

Убивает определенного бота.

Команда
bot_kill <bot name>
Заставляет бота с определённым именем прекратить игру.
Пример
bot_kill bot01
bot_mirror Специальные боты, которые будут копировать экипировку игрока (класс, аксессуары, и оружия). Есть также и несколько ошибок; например, если играя за подрывника, игрок наденет Ботиночки Али-Бабы и возьмёт любой щит, бот всё ещё будет использовать Гранатомёт и Липучкомёт, при этом эти предметы будут отображены на его модели. После того, как бот умер, у него не будет прежней экипировки, поэтому эту команду придётся вводить снова.
Команда
bot_mirror <botname>
Где botname - имя этого бота.
Пример
bot_mirror bot91
bot_mimic Бот использует usercmd игрока как индекс.

Бот будет повторять все движения за игроком, такие как стрельба, бег, прыжки, эмоции, и т.д. Следует отметить, что боты не будут повторять зов медика, переключение оружия или насмешки.

Это влияет на bot_forceattack, но не на bot_dontmove.

Команда
bot_mimic <0/1>
Когда включено равно 1, когда выключено - 0
Пример
bot_mimic 1
bot_mimic_inverse

Инвертирует движения ботов; передвижение влево заставит бота идти вправо, передвижение вперед у бота будет передвижением назад, и т.д.

На направление, куда смотрит бот, это не влияет.

Команда
bot_mimic_inverse <0/1>
Когда включено равно 1, когда выключено - 0
Пример
bot_mimic_inverse 1
bot_mimic_yaw_offset

Вызывает отклонение ботов от курса. Боты будут отклонятся от курса игрок по этому значению. По умолчанию равно 180, это означает, что бот будет находиться лицом к игроку. Если будет равно 0, то лицо бота будет направлено туда же, куда и лицо игрока.

Команда
bot_mimic_yaw_offset <0-360>
Указывает направление в градусах (0-360)
Пример
bot_mimic_yaw_offset 180
bot_randomnames
Команда
bot_randomnames <0/1>
Когда включено равно 1, когда выключено - 0
Пример
bot_randomnames 1
bot_refill Пополняет всех ботов боеприпасами, в том числе инженеров металлом.
Команда
bot_refill
bot_saveme Это заставит всех ботов звать медика, как команда bot_command <botname> "voicemenu 0 0" у каждого бота.
Команда
bot_saveme <0/1>
Когда включено равно 1, когда выключено - 0
bot_selectweaponslot Заставляет первого бота выбрать оружие определенного слота.

0 — основное; 1 — дополнительное; 2 — рукопашное; 3 — особое. Это работает только на первом созданном боте. Нет вариантов управлять другими таким образом.

Команда
bot_selectweaponslot <n> <botname>
Заменить n на слот оружия, на который бот должен переключиться.
Пример
bot_selectweaponslot 2
bot_teleport Телепортирует бота по указанным координатам.

Координаты карты и вашего местоположения могут быть узнаны, если ввести Status в консоли.

Команда
bot_teleport <botname> <X> <Y> <Z> <Pitch> <Yaw> <Roll>
Где botname должно быть именем или id бота.
X Y Z — координаты карты.
Pitch Yaw Roll — направление, в сторону которого бот должен смотреть.
Пример
bot_teleport bot01 -4815 1385 -447 0 0 0
bot_whack Наносит смертельный урон боту от игрока. Просто убивает бота выбранным оружием, наверное это использовалось для тестирования в процессе разработки.
Команда
bot_whack <botname>
Где botname должно быть именем бота для убийства.
Пример
bot_whack bot109

Предыдущие изменения

Обновление от 17 декабря 2009 (Обновление «Война!»)
  • Добавлен «черновой» вариант ботов для бета-тестирования ИИ на картах режима Царь горы.

Обновление от 6 января 2010

  • Различные улучшения в боевом поведении.
  • В режиме Царь горы боты теперь:
    • Стараются бегать вокруг точки и охотиться за врагами, когда остаётся много времени;
    • Наверняка побегут к точке, когда заканчивается время или точку захватывает соратник.
  • Боты-медики теперь:
    • При возможности подлечивают ближайших не раненых соратников;
    • В первую очередь лечат ближайших раненых соратников;
    • Не зацикливаются на лечении одних лишь пулеметчиков;
    • Не выбирают укрытие, которое находится далеко от пациента (как на KOTH_Nucleus);
    • Правильно используют шприцемет в бою.
  • Другие улучшения ботов:
    • Боты не стоят неподвижно при захвате или защите контрольной точки;
    • Выбирают более правильные пути передвижения;
    • Выбирают лучшие защитные позиции вокруг захваченных точек;
    • Переключаются на другое оружие, когда заканчиваются патроны;
    • Изменяют поле обзора при использовании оптического прицела снайперской винтовки;
    • Считают турели в зоне обстрела самыми опасными целями;
    • Стреляют из оружия более реалистично;
    • Инженеры правильно используют дробовик.
  • Добавлен принцип «виртуальной мыши» для изменения способа поиска врагов ботами:
    • Теперь они периодически оценивают положение и скорость отслеживаемого противника, вместо «зацикливания»;
    • Начались решения проблем типа «180-градусный поворот и огонь», «Боты-пулеметчики тащат», «Снайперы тащат», «Ну невозможно бороться против бота-пулеметчика, играя за разведчика».
  • Улучшен принцип поиска снайпером различных позиций для стрельбы.
  • Боты-солдаты теперь аккуратнее стреляют ракетами в ближнем бою, чтобы не убиться.
  • Исправлена ошибка, при которой боты пытались подлечиться от раздатчика, который инженер ещё не начал строить.
  • Изменена логика таблицы результатов для защиты от администраторов серверов, которые могли прятать надписи «BOT» в поле пинга ботов.
  • Добавлено больше имён ботов.

Обновление от 28 апреля 2010

  • Теперь боты во время боя отступают полечиться с меньшей готовностью.
  • Боты больше не отступают, если направляются остановить захват точки.
  • При отступлении боты выбирают более подходящее оружие.
  • Боты, патрулирующие карту, теперь преследуют своих врагов.
  • Боты-солдаты и боты-подрывники больше не зажимают кнопку при стрельбе, таким образом, они больше не будут убиваться об стену при движении.
  • Боты-солдаты теперь переключаются на дробовик, выстрелив четыре ракеты.
  • Добавлены новые имена ботов.
  • Исправлена ошибка в поведении ботов-инженеров, когда они собирают металл.

Обновление от 10 июня 2010 (Обновление для macOS)

  • Добавлен режим одиночной игры с ботами.
  • [Недокументированное] Теперь при наведении прицела на бота на несколько секунд, он сделает насмешку.

Обновление от 11 июня 2010

  • Исправлено зависание сервера на этапе создания ботов.
  • Исправлено падение клиента при смене карты из-за ошибки загрузки сетки навигации ботов.

Обновление от 14 июня 2010

  • Исправлена ошибка, приводившая к падению сервера, связанная с использованием ботами аптечек.

Обновление от 16 июня 2010

  • Боты-медики теперь реагируют на зовы игроков своей команды.
  • Если вас лечит бот-медик с готовым убер-зарядом, используйте голосовую команду «Вперед! Вперед!» или «Давай убер!», чтобы получить убер-заряд.

Обновление от 19 июля 2010

  • Улучшена производительность ботов при захвате точки, начале раунда и начале захватывания контрольной точки.
  • Исправлен инженер-бот, который мог бесконечно строить и уничтожать свои сооружения, повторяя это вновь.
  • Исправлена потеря убер-заряда медика-бота, который подходил к шкафчику в зоне возрождения.
  • Исправлена ошибка, при которой различные типы систем ботов запускались в игре одновременно.
  • Исправлен бот, который при подходе ко входу телепорта 3-го уровня вёл себя абсолютно неподвижно.
  • Боты теперь не считают турель, на которой установлен жучок, опасной угрозой.
  • Боты теперь не будут пытаться пройти через двери во вражескую точку возрождения, если раунд не выигран.
  • Боты теперь не будут ставить телепорты на крутых наклонах и склонах, которые могут препятствовать движению товарища.
  • Добавлена переменная «tf_bot_pyro_always_reflect». При значении 1 поджигатель постоянно отражает летящие в него ракеты в независимости от сложности отражения.

Обновление от 14 апреля 2011 (Бесшляпное обновление)

  • Добавлены боты-шпионы. Они умеют маскироваться, уходить в невидимость, ставить жучки на турели и, в целом, готовы к нормальным сражениям.
  • Боты теперь понимают механику режима «Сопровождение вагонетки»: они пытаются остановить вагонетку или наоборот, протолкать её вперед по рельсам.
  • Добавлены схемы передвижения ботов для следующих карт: pl_goldrush, pl_badwater, pl_upward, pl_thundermountain, и pl_hoodoo_final.
  • Улучшена реакция ботов на замаскированных или невидимых шпионов.
  • Улучшен алгоритм размещения ловушек с липучками у ботов-подрывников.
  • Боты-подрывники теперь будут стараться минировать липучками постройки инженеров из безопасных (недосягаемых для турелей) мест.
  • При сражении на небольших расстояниях, боты-солдаты будут вынимать дробовик после четырех использованных подряд ракет (когда магазин опустошается).
  • Боты больше не будут прятаться от турелей, которые в данный момент переносит инженер или от тех, на которые установлен жучок.
  • Боты-инженеры теперь будут чаще изменять расположение своих турелей по мере игры.
  • Улучшен алгоритм выбора целей у ботов-снайперов.
  • Боты-снайперы отныне будут стрелять во врагов по пути к своим «снайперским» местам, если предоставится такая возможность.
  • Устранена ошибка, из-за которой порой боты-снайперы стояли на месте в комнате возрождения и ничего не делали.
  • Улучшена способность ботов к нахождению безопасных мест, удобных для уничтожения вражеских турелей.
  • Боты больше не будут пытаться использовать неработающий телепорт.
  • Добавлена консольная переменная tf_bot_melee_only. Если её значение равно 1, то все боты будут бегать с оружием ближнего боя.

Обновление от 18 апреля 2011

  • Устранено падение сервера, вызываемое использованием ботов во время смены карты.

Обновление от 5 мая 2011 (Обновление «Записи»)

Обновление от 22 июля 2011

  • [Недокументированное] Теперь боты работают на картах типа CTF.

Обновление от 26 июля 2011

Обновление от 23 августа 2011

  • Исправлено падение при попытке ботов-подрывников взорвать уже уничтоженные бомбы-липучки.
  • Добавлена консольная команда tf_bot_kill (синтаксис идентичен команде tf_bot_kick)
  • Улучшено поведение ботов с оружием ближнего боя
  • Добавлена переменная func_nav_avoid, позволяющая администраторам серверов определить, в каком направлении будут продвигаться боты
  • Устранена ошибка, из-за которой бот-подрывник после установки липучки каждый раз перезаряжался, что делало его неспособным к нормальной игре
  • Боты теперь не делают насмешку, если несут разведданные
  • Улучшено прицеливание с Охотником у ботов-снайперов
  • Боты-снайперы теперь чаще выбирают в качестве своих целей вражеских снайперов и инженеров
  • Улучшена система уничтожения турелей липучками для бота-подрывника.
  • Боты больше не будут пытаться использовать источники пополнения здоровья, относящиеся только к вражеской команде (например, раздатчики)
  • Добавлены модели поведения со Штурмовым щитом и различными напитками и пищей (Бонк! Атомный залп, Бутерброд, и т.д.)
  • Бот-медик стоит ближе к пациенту при лечении
  • Боты-снайперы против близких игроков теперь используют оружие ближнего боя
  • Добавлена новая энтити func_tfbot_hint, для того чтобы создатели карт могли указывать ботам-снайперам лучшие места для ведения огня
  • Боты-снайперы теперь будут атаковать врагов в ближнем бою, если они подошли к ним на достаточно близкое расстояние
  • Боты-шпионы сначала будут пытаться убить инженера в спину, а потом поставить жучки на его постройки

Обновление от 6 сентября 2011

  • Исправлено падение сервера, связанное с ботами

Обновление от 13 октября 2011 (Манн-юбилейные обновление и распродажа)

  • Боты теперь имеют некий шанс заметить вражеские выстрелы, шанс зависит от их сложности. Легкие боты не замечают почти ничего, а эксперты видят почти всё.
  • Боты теперь считают атаки с некоторым оружием «тихими» (нож шпиона, уход/выход из невидимости, атаки с некоторым оружием ближнего боя и т.п.). «Тихое» оружие может быть услышано ботами только в том случае, если они стоят неподалеку, а шанс успеха снижается в 2 раза при большом количестве внешнего шума (множество выстрелов, крики персонажей). Это улучшение заметно улучшит жизнь шпионам, на которых теперь боты будут обращать меньше внимания.
  • Улучшения ботов-шпионов:
    • Шпионы теперь стали гораздо умнее: они будут убивать жертву и быстро скрываться из поля видимости её напарников.
    • Улучшен выбор жертвы шпионами в некоторых ситуациях (например: куча турелей и вражеских игроков).
    • Шпионы прервут свою атаку и отступят, если вражеская турель нацелена на них
    • Шпионы будут теперь пытаться уклониться от врагов, если они замаскированы и/или невидимы, чтобы не выдать себя
    • Шпионы теперь будут замечать, когда их маскировка «провалилась».
    • Шпионы теперь будут преследовать свою цель по их же пути.
    • Шпионы больше не будут пытаться убить врага до окончания подготовки
    • Шпионы на трудном и экспертном уровне сложности не будут смотреть на свою жертву, пока не приблизятся на достаточное расстояние для удара
    • Шпионы на легком уровне сложности не уклоняются от врагов и не заходят к своей жертве со спины
    • Шпионы на среднем уровне сложности не уклоняются от врагов
    • Устранена ошибка, из-за которой шпионы прыгали у вражеских ворот в комнате возрождения во время подготовки
  • Улучшения ботов-медиков:
    • Теперь медики держатся намного ближе к своим движущимся пациентам
    • Медики держатся гораздо ближе к своим пациентам, если у них готов убер-заряд или они находятся в стадии его накопления
    • Медики теперь тоже пытаются спрятаться от турелей
  • Улучшение ботов-поджигателей:
    • Поджигатели стали менее агрессивными в использовании сжатого воздуха, но научились использовать его против убер-заряженных врагов и для сноса врагов с контрольной точки
  • [Недокументированное] Добавлены новые имена для ботов.

Обновление от 26 января 2012

  • Исправлен счетчик ботов, который теперь отображается в браузере сервера: колонка ботов теперь следующая за колонкой игроков и всегда видна. Теперь счетчик ботов не вычитается из количества игроков на сервере.

Обновление от 9 февраля 2012

  • Исправлена ошибка, при которой боты не выбирали класс пулеметчика на картах с комментариями

Обновление от 1 марта 2012

  • Улучшено поведение ботов

Обновление от 23 августа 2012

  • Команда tf_bot_add теперь может создать бота с любым именем или создать бота вне зависимости от значения tf_bot_quota; для этого нужно добавить имя или аргумент «noquota» соответственно.

Обновление от 4 сентября 2012

  • Исправлены случаи, когда показатель ботов в обозревателе серверов работал неверно.
  • Добавлена команда replay_name, меняющая имя у бота Replay.
  • Ботов теперь нельзя столкнуть в тоннель танка на картах: Mvm_Mannworks, Mvm_Coaltown, Mvm_Mannworks.
  • Исправлена ошибка в обозревателе серверов, где бот Replay причислялся к числу игроков.
  • Добавлена защита от застревания для ботов в некоторых местах в режиме Мпм.

Обновление от 27 сентября 2012

  • Исправлена команда tf_bot_add, задавшая одинаковое имя всем ботам при одновременном добавлении множества ботов.

Обновление от 16 ноября 2012

  • Исправлена проблема с производительностью, связанная с ботами.

Обновление от 27 августа 2013

  • Теперь боты могут отражать энергетически заряженные снаряды.
  • Улучшено поведения ходьбы бота по наклонной плоскости

Обновление от 22 ноября 2013

  • Исправлены боты, которые атаковали старое местонахождение турели, после того как инженер уносил турель в другое место.

Обновление от 27 сентября 2016

Обновление от 1 ноября 2017

  • Исправлена ошибка, связанная с постоянным возрождением ботов в режиме тренировки.
  • Исправлена ошибка, связанная с постоянным возрождением ботов при активированной переменной tf_bot_force_class.
  • Исправлена ошибка, при которой боты могли постоянно возрождаться с отключенной переменной tf_bot_spawn_use_preset_roster.
  • Добавлена консольная переменная tf_bot_reevaluate_class_in_spawnroom, позволяющая запрещать смену класса для ботов, пока те находятся в комнате возрождения.

Примечания