Боты

From Team Fortress Wiki
< Bots
Revision as of 00:23, 15 November 2010 by Vaught (talk | contribs) (Другие образцы)
Jump to: navigation, search

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

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

Боты с ИИ

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

На момент написания:

  • Боты остаются на стадии бета-тестирования.
  • Боты могут выбирать не все классы, например, не могут быть Шпионами, потому что человек-Шпион продумывает и совершает много действий, имеющих логику, которые трудно симулировать у ИИ. В Valve наверняка до сих пор работают над этим.
  • Они работают только на картах режима Царь горы с открытыми пространствами. На этих картах они не требуют включенных читов для активации, и игроки-люди могут получать на них достижения.
  • Боты сейчас не могут, и наверняка не смогут прыгать, делать ракетные прыжки или прыжки на липучках, а также приминаться в любых формах.
  • Боты пока не могут использовать разблокирование вещи, включая шапки или оружия.
  • Команда nav_generate способна создавать вейпоинты для ботов. Пример: Встаньте в центр карты cp_orange_x3 (Центральная точка) и активируйте эту команду. Игра начнет немного тормозить и вы не сможете двигаться, всё в порядке - это создаются вейпоинты. Когда они создадутся, сервер автоматически перезапустится и боты начнут ходить, стрелять, захватывать точки.

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

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

Команда Описание

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

Если не равно нулю, привязывает уровень игры боту с пунктом classname может быть Demoman, Engineer, HeavyWeapons, Medic, Pyro, Scout, Soldier, Sniper или Spy.

Команда
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> как было вверху;

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

Имена ботов

Все боты с ИИ имеют разные имена. Множество имён — намёки на предыдущие работы Valve, такие как Portal, Left 4 Dead, его сиквел и Half-Life. В их именах есть отсылки к сообществу игры, персонажам и миру Team Fortress 2. Многие имена были взяты на форумах Steam.

  • AimBot
  • AmNot
  • Aperture Science Prototype XR7
  • BeepBeepBoop
  • Big Mean Mother Hubbard
  • Black Mesa
  • BoomerBile
  • Cannon Fodder
  • CEDA
  • Chell
  • Chucklenuts
  • Companion Cube
  • CreditToTeam
  • CRITRAWKETS
  • Crowbar
  • CryBaby
  • CrySomeMore
  • C++
  • Delicious Cake
  • DeadHead
  • Divide by Zero
  • Dog
  • Force-A-Nature
  • Gentlemanne of Leisure
  • 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

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

Эти боты не имеют ИИ и не способны заменить игроков-людей. Они не двигаются и не обращают на вас внимания. Вы можете использовать их как марионетки, вы можете управлять ими через конcоль, стрелять в них и делать с ними всё, что захотите.

Есть много вещей для тестирования. Они хороши для скриншотов с армией идеальных солдатов, стреляющий туда, куда прикажете, или для подрыва их всех одним махом с помощью Бомбомёта Подрывника.

Так как они требуют включенной команды sv_cheats, люди не могут получать достижения на серверах с ними.

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

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

Команда Описание

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

Это добавит какое-то случайное имя каждому боту, используемое в процессе разработки, примеры: «Больше имен ботам, средний размер», «Ещё один бот», «Средний бот», «Это ведь слишком длинное имя для бо...»

Команда
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

Полезные бинды и алиасы

sv_lan 1

sv_cheats 1

mp_teams_unbalance_limit 0

alias +bot_shoot_primary "bot_selectweaponslot 0; bot_forceattack 1"

alias -bot_shoot_primary "bot_selectweaponslot 0; bot_forceattack 0"

alias +bot_shoot_secondary "bot_selectweaponslot 1; bot_forceattack 1"

alias -bot_shoot_secondary "bot_selectweaponslot 1; bot_forceattack 0"

bind n +bot_shoot_primary

bind m +bot_shoot_secondary

Нажимание n вызовет переключение бота на основное оружие и стрельбу из него. Нажимание m вызовет переключение на оружие второго слота и выстрелить. Нажимайте каждую из клавиш чтобы стрелять много раз. Если вы хотите использовать дополнительный огонь на каком-либо оружии (например, взорвать липучки Бомбомёта или подать мяч с помощью Дрёмы), введите bot_forceattack2 1в консоли, чтобы разрешить дополнительный режим атаки, потом нажмите привязанную кнопку для огня, затем bot_forceattack2 0 чтобы переключится к основному огню. Конечно вы можете привязать клавишу и для этого...

Образцы скриптов

  • Создайте сервер с картой Gravel Pit. Работает хорошо из-за одной точки возрождения. Или выберите любую карту с достижениями. Зайдите за Синего Инженера и стойте на точке возрождения. Откройте консоль и вводите:
sv_cheats 1
mp_teams_unbalance_limit 0
bot -class Engineer
bot_mimic_yaw_offset 0
bot_mimic 1
  • Это создаст бота-Инженера, повторяющего за вами все действия, но он по прежнему не может строить то, что решите построить вы. Вы можете вызвать меню постройки, но бот не может ничего строить. К счастью, есть команда build и bot_command может заставить бота использовать эту команду. Теперь введите в консоли:
bot_command bot01 "build 3"

Теперь бот-Инженер начнёт процесс постройки: вы можете увидеть схему Пушки и её чемоданчик. Закройте консоль и нажмите левую кнопку мыши (кнопку атаки) — это начнёт постройку Пушки. Нажимайте атаку, чтобы заставить бота стучать по Пушке его Гаечным ключом, чтобы построить её быстрее, и если хотите, добавьте боту металл. Хотите повысить уровень Пушки? Дайте боту этот металл, благодаря команде bot_refill в консоли.

Другие образцы

  • Этот скрипт создаст бота-Медика и бота-Солдата, стреляющих, пока патроны не кончатся. Медик лечит всех вокруг, включая вражеских Шпионов. Солдат продолжит бить рукопашным оружием, если его патроны закончатся (на практике он стреляет с Ракетомёта). Хорошо для практики атак сжатым воздухом.
sv_cheats 1
mp_teams_unbalance_limit 0
bot -team red -class medic
bot -team red -class soldier
bot_mimic 0
bot_forceattack 1
bot_selectweaponslot 1
sv_cheats 0
retry
  • Этот скрипт создаст Снайпера, который целится, и Шпиона, который уходит в невидимость и выходит из неё. Повторив это после выключенной sv_cheats, даст вам чистую сессию.
sv_cheats 1
mp_teams_unbalance_limit 0
bot -team red -class sniper
bot -team red -class spy
bot_selectweaponslot 1
bot_mimic 0
bot_forceattack 1
bot_forceattack2 1
sv_cheats 0
retry
  • Этот скрипт даст вам трёх Красных Разведчиков и Пулемётчиков.
sv_cheats 1
mp_teams_unbalance_limit 0
bot -team red -class scout
bot -team red -class scout
bot -team red -class scout
bot -team red -class heavyweapons
bot -team red -class heavyweapons
bot -team red -class heavyweapons
sv_cheats 0
retry