Боты

From Team Fortress Wiki
< Bots
Revision as of 15:05, 8 August 2011 by WindBOT (talk | contribs) (Auto: Built-in filters (Review RC#662150))
Jump to: navigation, search
File:Tr dustbowl0003.jpg
Бот-солдат в действии на карте Dustbowl (Обучение).
«
Мои кулаки из стали!
Бот-пулеметчик о самом себе
»

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

В Team Fortress 2 существует два типа ботов:

  • Первые имеют качественный код искусственного интеллекта (ИИ), основанный на коде ИИ у зараженных L4D2. Официальный блог TF2 — Строю раздатчик! Они довольно умны, чтобы заменять людей в большинстве ситуаций. Они не требуют включенных читов на сервере, живые игроки могут получать достижения, играя с ними.
  • У второго типа ботов нет ИИ, они простые болванчики, которых вы можете создавать и давать им команды, такие как «стрелять» и «следовать за мной». Они полезны как для тестирования, так и для удовлетворения своих антисоциальных потребностей. Они требуют включенных читов на сервере, и игроки не могут получать достижения, используя их.

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

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

Статус ботов

Боты работают на картах режимов Царь горы,Захват флага,Захват контрольных точек,Cопровождение с открытыми пространствами. На этих картах они не требуют включенных читов для активации, и игроки могут получать на них достижения. Боты с ИИ занимают слот настоящего игрока. Они могут быть созданы, но не могут контролироваться. Тем не менее, боты некоторых классов могут косвенно управляться, конкретные случаи: бот-медик поможет вам, если вы нажмёте голосовую команду «Медик!» (кнопка по умолчанию «Е»). Если бот-медик лечит вас и накопил убер-заряд, используйте голосовую команду «Вперёд, вперёд!» (кнопки по умолчанию: «Z», затем «3») или «Давай убер!» (кнопки по умолчанию: сначала «X», затем «7»), чтобы приказать боту активировать убер-заряд.

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

  1. Введите «sv_cheats 1» в консоли
  2. Введите «nav_generate» в консоли
  3. Подождите, пока карта сгенерирует навигационную сетку
  4. Карта будет перезагружена (сгенерированная сетка будет сохранена автоматически)
  5. Откройте консоль и введите "tf_bot_add <число>", чтобы добавить ботов

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

Заметка: Боты неиграбельны на картах режима Захвата разведданных и Гонки сопровождения.

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

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

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

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

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

Команда Описание
tf_bot_add Эта команда добавит ботов случайных классов к случайным командам в количестве одного или более. Им будут даны имена, похожие на ники людей-игроков
Команда
tf_bot_add [<count>] [<class>] [<team>]
Параметры
<count>
Количество ботов. Если не указано, появится один бот
На момент написания, количество добавленных ботов не может быть выше максимума игроков, это заставит их «заморозиться». То есть если на вашем сервере 24 игрока (стандартно) и один игрок, не создавайте больше 23 ботов.
<class>
Пунктом classname может быть Demoman, Engineer, HeavyWeapons, Medic, Pyro, Scout, Soldier, Sniper или Spy
<team>
Указывает на то, к какой команде присоединятся боты. Пункт team может быть red или blue
Образец
tf_bot_add red 3 heavyweapons. Добавятся три пулемётчика к Красной команде.
tf_bot_difficulty Определяет уровень игры ботов, которые будут добавлены в игру.
Команда
tf_bot_difficulty <level>
Параметры
<level>
Определяет уровень игры ботов. Значения: 0 — легко, 1 — нормально, 2 — тяжело, 3 — эксперт. По умолчанию значение установлено на «нормально» (1).
Образец
tf_bot_difficulty 2. Заставит всех ботов, созданных после этой команды быть уровня сложности «тяжело».
tf_bot_force_class Если ввести имя класса, все боты в TF2 возродятся как этот класс.
Команда
tf_bot_force_class <class>
Параметры
<class>
Пунктом classname может быть Demoman, Engineer, HeavyWeapons, Medic, Pyro, Scout, Soldier, Sniper или Spy. По умолчанию пусто.
Образец
tf_bot_force_class medic. Все боты в TF2 возродятся, как медики.
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_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. Всегда будет сохранять ботов в игре.

Возможно добавить ботов с ИИ на не поддерживаемых картах, но работает это очень редко. Для начала, на сервере должны быть включены читы (что означает то, что люди не смогут получать достижения). Второе, вы должны создать пути для ботов, что вызовет перезагрузку карты. Третье, пути почти всегда не работают правильно. Но, всё-таки, вы можете попытаться использовать ботов на не предназначенных для этого картах:

1) введите sv_cheats 1;
2) введите nav_generate;
3) подождите несколько минут, пока игра работает над тем, как использовать ботов;
4) карта перезагрузится (вам не придется повторять предыдущий шаг, параметры сохранятся);
5) откройте консоль разработки и введите tf_bot_add <number> как было вверху;

Обратите внимание: боты не работают на картах режима Захват разведданных или Сопровождение, за исключением ботов режима Обучение, где они используют дополнительно расширенный код.

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

  • Эти боты не имеют ИИ и не способны заменить игроков-людей. Они не двигаются и не обращают на вас внимания. Вы можете использовать их как марионетки, вы можете управлять ими через конcоль, стрелять в них и делать с ними всё, что захотите. Так как они требуют включенной команды sv_cheats, люди не могут получать достижения на серверах с ними.
  • На ботах, созданных с помощью команды «itemtest» или «itemtest_botcontrols», можно выполнять достижения. Можно выполнять достижения, связанные с одним оружием, выбрав его в графе «Тестируемое оружие», при этом оно будет иметь характеристики оружия, чью анимацию оно использует, например от Крито-колы будет эффект, как от напитка Бонк! Атомный залп.

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

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

Команда Описание
bot Эта команда создаст бота определенной команды, класса и с определенным именем.
Команда
bot -team <teamname/number> -class <classname> -name <botname>
Парметры
-team teamname/number
Указывает название или номер команды, к которой присоединяется бот. Где name/number может быть RED или 1, BLU или 0
-class classname
Пунктом classname может быть Demoman, Engineer, HeavyWeapons, 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_changeteams Заставляет ботов сменить команду.

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

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

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

bot_dontmove Предохраняет ботов от движения. Когда назначено на 1, боты не могут ходить, но могут прыгать и поворачиваться. Запомните, используя комбинацию этой команды и bot_mimic, вы можете двигать ботов и оставлять их там, где нужно.
Команда
bot_dontmove <0/1>
Запрещает или разрешает двигаться ботам.
Образец
bot_dontmove 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_forceattack_down Когда боты атакуют, они не «зажимают» огонь, а «быстро нажимают». Если это равно 0, то боты будут как бы нажимать кнопку атаки (полезно для пистолета, но не для пулемёта пулемётчика). Если равно 1, то будут атаковать так, как будто зажали кнопку атаки (полезно для пулемётчика).
Команда
bot_forceattack_down <0/1>
Когда включено равно 1, когда выключено равно 0
Образец
bot_forceattack_down 1
bot_forcefireweapon Заставляет ботов использовать определенное оружие.

Не выглядит реализованным, ничего не происходит

bot_kill Убивает определенного бота.
Команда
bot_kill <bot name>
Заставляет бота с определённым именем прекратить игру.
Образец
bot_kill bot01
bot_mimic Бот использует usercmd игрока как индекс.

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

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

Команда
bot_mimic <0/1>
Когда включено равно 1, когда выключено — 0
Образец
bot_mimic 1
bot_mimic_yaw_offset Вызывает отклонение ботов от курса.

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

Команда
bot_mimic_yaw_offset <0-360>
Указывает направление в градусах (0—360)
Образец
bot_mimic_yaw_offset 180
bot_randomnames Все боты с ИИ имеют разные имена. Множество имён — намёки на предыдущие работы Valve, такие как Portal, Left 4 Dead, его сиквел и Half-Life. В их именах есть отсылки к сообществу игры, персонажам и миру Team Fortress 2. Многие имена были взяты на форумах Steam.
  • GlaDOS
  • GutsAndGlory!
  • Hat-Wearing MAN
  • Headful of Eyeballs
  • Herr Doktor
  • HI THERE
  • Hostage
  • Humans Are Weak
  • H@XX0RZ
  • I LIVE!
  • IvanTheSpaceBiker
  • Kaboom!
  • LOS LOS LOS
  • Maggot
  • Mann. Co
  • Me
  • Mindless Electrons
  • MoreGun
  • Nom Nom Nom
  • Not Me
  • Numnutz
  • One-Man Cheeseburger Apocalypse
  • Pow!
  • RageQuit
  • Screamin' Eagles
  • Still Alive
  • SomeDude
  • Someone Else
  • Soulless
  • TAAAAANK!
  • Target Practice
  • ThatGuy
  • THEM
  • Tiny Baby Man
  • Totally Not A Bot
  • The Combine
  • The Freeman
  • The G-Man
  • trigger_hurt
  • WITCH
  • ZAWMBEEZ
  • Ze Ubermensch
  • Zepheniah Mann
  • 0xDEADBEEF
  • 10001011101
Команда
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>
Заменить 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

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

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

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

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

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

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

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

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

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

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

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