Боты

From Team Fortress Wiki
< Bots
Revision as of 18:14, 2 July 2010 by DaimoN (talk | contribs)
Jump to: navigation, search

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

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

Боты с ИИ

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

Тем не менее, боты некоторых классов могут быть косвенно контролированы, конкретные случаи: бот Медик поможет вам если вы нажмете голосовую команду "Медик!". (На ПК кнопка по умолчанию "E" (Английская).) Если бот-Медик лечит вас и накопил Убер-заряд, используйте голосовую команду "Вперед-вперед-вперед!" (кнопки по умолчанию: "Z", затем цифра "3" на ПК.) или "Давай Убер!" (кнопки по умолчанию: сначала "X", затем цифра "7" на ПК.) чтобы приказать боту активировать не использованный Убер-заряд!

На момент написания (перевода):

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

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

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

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

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

Если ввести имя класса, все боты в ТФ2 возродятся как этот класс.

Команда
tf_bot_force_class <class>
Параметры
<class>
Пунктом classname может быть Demoman, Engineer, HeavyWeapons, Medic, Pyro, Scout, Soldier, Sniper, или Spy. По умолчанию - пусто - "".
Образец
tf_bot_force_class medic Сделает так, что все боты в ТФ2 возродятся как Медики.

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 will prevent TFBots from changing class.

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>
Either 1 or 0. Default is 0 (disabled).
Образец
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ное количество игроков, где N это bot_quota.
Если равно 'match', сервер будет проверять отношение 1:N, т.е людей к ботам, где N это bot_quota.
Образец
tf_bot_quota_mode fill всегда будет сохранять (bot_quota - # игроков-людей) ботов в игре.


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

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

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


Имена Ботов

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

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

Эти боты не имеют ИИ и не способны заменить игроков-людей. Они не двигаются и не обращают на вас внимания. Вы можете использовать их как марионетки, вы можете управлять ими через кон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, то боты используют primary_fire. Если bot_forceattack2 равняется1, тогда боты используют secondary_fire.

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

Команда
bot_forceattack <0/1>
Бот не стреляет если равно 0 и бесконечно стреляет если равно 1.
Образец
bot_forceattack 1

bot_forceattack2

Это заставит ботов использовать secondary_fire на любом оружии которое выбрано у них в данный момент, если bot_forceattack равно 1.

Команда
bot_forceattack2 <0/1>
Бот использует secondary_fire своего оружие если равно 1, primary_fire если равно 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

Восполняет, including Metal for Engineers.

Команда: bot_refill

bot_saveme

Это заставит всех ботов звать Медика, как команда bot_command <botname> "voicemenu 0 0" у каждого ботаt. Команда: 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 чтобы переключится к основному огню. Конечно вы можете привязать клавишу и для этого...

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

  1. Создайте сервер с картой (Gracelpit, работает хорошо из-за одной точки возрождения, или любую карту с достижениями.).
  2. Зайдите за синего инженера и стойте на точке возрождения.
  3. Откройте консоль и вводите:
    sv_cheats 1
    mp_teams_unbalance_limit 0
    bot -class Engineer
    bot_mimic_yaw_offset 0
    bot_mimic 1
    Это создаст бота инженера, повторяющего за вами все действия, но он по прежнему не может строить то, что решите построить вы. Вы можете вызвать меню постройки, но бот не может ничего строить, все равно. К счастью, есть команда BUILD и bot_command может заставить бота использовать эту команду
  4. Теперь введите в консоли::
    bot_command bot01 "build 3"
    Теперь бот-инженер начнет процесс постройки - вы можете увидеть схему Пушки и её чемоданчик.
  5. Закройте консоль и нажмите левую кнопку мыши (кнопку атаки) - это начнет постройку Пушки. Нажимайте атаку, чтобы заставить бота стучать по пушке его разводным ключем чтобы построить ее быстрее, и если хотите, добавьте боту металл. Хотите повысить уровень Пушки? Дайте боту этот метал благодаря команде bot_refill в консоли.

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

  1. Этот скрипт создаст бота-медика и бота-солдата, стреляющих пока патроны не кончатся. Медик лечит всех вокруг включая вражеских шпионов.Солдат продолжить бить рукопашным оружием если его патроны закончатся (На практике он стреляет с Реактивного гранатомета) (Хорошо для практики сжатого воздуха).
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
  1. Этот скрипт создаст снайпера, который целится, и шпиона, который уходит в невидимость и выходит из нее. Повторив это после выключенной 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
  1. Этот скрипт даст вам трех Разведчиков и трех Пулеметчиков (Красных).
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