Difference between revisions of "Bots/ja"

From Team Fortress Wiki
Jump to: navigation, search
m (Added translation/翻訳の完了)
 
(22 intermediate revisions by 8 users not shown)
Line 1: Line 1:
 
{{DISPLAYTITLE:ボット}}
 
{{DISPLAYTITLE:ボット}}
{{trans}}
+
[[Image:Tr_dustbowl0003.png|right|thumb|300px|[[Dustbowl (Training)/ja|Dustbowl Training]] にいる[[Soldier/ja|ソルジャー]]のボット]]
[[Image:Tr_dustbowl0003.jpg|right|thumb|300px|[[Dustbowl (Training)/ja|Dustbowl Training]] にいる[[Soldier/ja|ソルジャー]]のボット]]
+
{{hatnote|この記事は''Team Fortress 2''上でにコンピュータ側で操作するボットについて記載しています。
 +
* コンピュータ制御のチート/[[griefing/ja|グリーフィング]]ボットについては、[[Cheating/ja#Bots|チートボット]]をご覧ください。
 +
* [[Team Fortress Classic/ja|Team Fortress Classic]] のボットについては、[[Bots (Classic)/ja|Bots (Classic)]] をご覧ください。
 +
* [[Team Fortress Wiki/ja|Team Fortress Wiki]] の編集を自動化するボットについては、[[:Category:User bots]] をご覧ください。
 +
* [[Mann vs. Machine (update)/ja|Mann vs. Machine (アップデート)]]で登場したロボットについては、[[Robots/ja|ロボット]]をご覧ください。
 +
* その他の用途については、[[Robot/ja|Robot(ロボット)]]をご覧ください。}}
  
{{Quotation|'''[[Mac Update/ja|Macアップデート]]''' blurb|人間のチームメイトは貴方を判断します。しかし、彼ら、魂のない自動操縦はするでしょうか?答えは「はい」です。彼らは盲目ではありません。しかし彼らは話せません。だから彼らは貴方の無能さを墓穴まで持っていってくれるでしょう。}}
+
{{Quotation|'''ソルジャー'''|人間のチームメイトは時にお前を責める。じゃあこの不愛想なカラクリ人形共はどうだ?そうだ、奴らだって物は見える。しかし口を利くことは一切ない。お前がいかにポンコツ野郎だったか、奴らは死ぬまで誰にも明かすことは無いのだ!}}
  
''Team Fortress 2''には2種類の'''ボット'''が存在します:AI(人工知能)ボットとパペット(人形)ボットです。AIボットは高度な人工知能によってゲーム内でプレイヤーを真似るように作られたもので、[[cheats/ja|チート]]をオンにしなくても使用可能です。パペットボットはAIコードがありませんが、テストと練習には大変便利です。パペットボットは出現させるのにサーバーのチートをオンにする必要があり、 実績の達成に用いることは出来ません。
+
'''Bot''' もしくは'''BOT'''(ボット)は、サーバー上でコンピューターに操作されているプレイヤーの事です。''Team Fortress 2'' にはAI(人工知能)ボットとパペット(人形)ボットの2種類のボットが存在します。AIボットはプレイヤーの動きを真似るように作られている高度な人工知能で、[[cheats/ja|チート]]をオンにしなくても使用可能です。パペットボットにはAIコードがありませんが、テストと練習には大変便利です。パペットボットを出現させるにはサーバーのチートをオンにする必要があり、またパペットボットを実績の達成に用いることは出来ません。
  
==AI ボット==
+
==AI ボット==
AI bots are designed to emulate human players and are not directly controlled. Additionally, their classes are chosen at random. They use sophisticated AI code based on the PlayerBot and Infected AI featured in the ''Left 4 Dead'' series.<ref>[http://teamfortress.com/post.php?id=3279 Team Fortress Official Blog - Erectin a dispenser]</ref> AI bots do not require the server to have cheats enabled, therefore, achievements are enabled while playing with them with one exception: Bots never see [[Deathcam]] shots when you kill them; therefore, you cannot attain Deathcam taunt achievements against a bot.
+
AIボットは人間のプレイヤーの動きを再現するように設計されており、直接操作をすることは出来ません。ボットのクラスはランダムで選ばれます。このボットのAIコードは "Left 4 Dead" シリーズのプレイヤーボットと感染者の、洗練されたAIコードをベースに作られました。<ref>[http://teamfortress.com/post.php?id=3279 Team Fortress Official Blog - Erectin a dispenser]</ref> AIボットを出現させるためにサーバーのチートをオンにする必要はありません。 従って、一部例外を除いて実績の達成に用いることが出来ます。例えばボットは殺された際に[[Deathcam/ja|キルカメラ]]を見ることが出来ないため、プレイヤーはキルカメラに関する実績を達成する事は出来ません。また、ストレンジクオリティの武器でボットをキルした際、その武器に {{item link|Strange Part}} を装着していない限り、キル数にはカウントされません。Strange Part を装着してキルした場合は、武器のメインのカウンターではなく Strange Part にカウントされます。
  
AI bots can be indirectly controlled to an extent:  
+
AIボットには、「イージー」から「エキスパート」まで4種類のスキルが存在します。Steam のコミュニティガイドにて、[https://steamcommunity.com/id/segmentation_fault Sigsegv]氏が[https://steamcommunity.com/sharedfiles/filedetails/?id=572409016 各スキルの違いや詳細]について解説{{lang icon|en}}してくれています。
* Any friendly and enemy bot that the player focuses on with their crosshair during [[setup time]] will taunt.
 
* A [[Medic]] bot will heal a player if they utilize the "Medic!" [[Voice commands|voice command]].  
 
* If a Medic bot is healing and has an [[ÜberCharge]] ready, using the voice commands, "Go go go!" or "Activate Charge!" will cause the bot to activate his ÜberCharge.
 
  
Bots will use voice commands such as "Spy!" and "Move Up!", but text versions of these voice commands do not display.
+
プレイヤーは以下の通り、AIボットを間接的に操作することができます。
 +
* [[setup time/ja|セットアップタイム]]時にプレイヤーが照準で焦点をあわせた味方、 または敵のボットは挑発を行います。
 +
* [[Medic/ja|メディック]]ボットは "メディック!" の[[Voice commands/ja|ボイスコマンド]]を使用したプレイヤーを回復します。
 +
* メディックボットが自分を回復していて、かつチャージゲージが満タンの時に "ゴー!ゴー!ゴー!" または  "チャージを頼む!" のボイスコマンドを使用するとメディックボットはすぐに[[ÜberCharge/ja|ユーバーチャージ]]を展開します。
 +
*メディックボットのチャージゲージが満タンの時に、メディックボット自身もしくはその回復対象が大ダメージを受けた際はすぐにユーバーゲージを展開します。
 +
*ボットの近くで {{item link|High Five!}} や{{item link|Conga}}などの挑発を実行するとボットはそれに参加します。
  
===Current AI bot status===
+
===パスファインディング===
AI bots are in beta testing and will become more sophisticated as they are updated. Currently, all classes are working properly due to the [[Hatless Update]], including the once-buggy [[Spy]]. AI bots only work properly for most official [[King of the Hill]] maps, some [[Payload]] maps, [[Capture the Flag]] maps, Attack/Defend maps [[Dustbowl]] and [[Gorge]], and [[Mann Manor]] (bots can only be added by using the tf_bot_add command). The use of AI bots on non-supported maps is possible by following certain steps; however, they will not emulate human players as well.
+
====公式がボットの動きをサポートしているマップ====
 +
{| class="wikitable sortable grid"
 +
| class="header"|'''マップ'''
 +
| class="header"|'''ゲームモード'''
 +
| class="header"|'''ファイル名'''
 +
|-
 +
| [[Dustbowl/ja|Dustbowl]]||攻撃/防御||cp_dustbowl
 +
|-
 +
| [[Gorge/ja|Gorge]]||攻撃/防御||cp_gorge
 +
|-
 +
| [[Gorge Event/ja|Gorge Event]]||攻撃/防御||cp_gorge_event
 +
|-
 +
| [[Mann Manor/ja|Mann Manor]]||攻撃/防御||cp_manor_event
 +
|-
 +
| [[Mercenary Park (map)/ja|Mercenary Park]]||攻撃/防御||cp_mercenarypark
 +
|-
 +
| [[Mossrock/ja|Mossrock]]||攻撃/防御||cp_mossrock
 +
|-
 +
| [[Badlands (Control Point)/ja|Badlands (CP)]]||コントロールポイント||cp_badlands
 +
|-
 +
| [[Foundry (Control Point)/ja|Foundry (CP)]]||コントロールポイント||cp_foundry
 +
|-
 +
| [[Granary (Control Point)/ja|Granary (CP)]]||コントロールポイント||cp_granary
 +
|-
 +
| [[Gullywash/ja|Gullywash]]||コントロールポイント||cp_gullywash_final1
 +
|-
 +
| [[Metalworks/ja|Metalworks]]||コントロールポイント||cp_metalworks
 +
|-
 +
| [[Process/ja|Process]]||コントロールポイント||cp_process_final
 +
|-
 +
| [[Snakewater/ja|Snakewater]]||コントロールポイント||cp_snakewater_final1
 +
|-
 +
| [[Sunshine/ja|Sunshine]]||コントロールポイント||cp_sunshine
 +
|-
 +
| [[Vanguard/ja|Vanguard]]||コントロールポイント||cp_vanguard
 +
|-
 +
| [[Turbine/ja|Turbine]]||旗取り||ctf_turbine
 +
|-
 +
| [[Badlands (KOTH)/ja|Badlands (KOTH)]]||キングオブザヒル||koth_badlands
 +
|-
 +
| [[Brazil/ja|Brazil]]||キングオブザヒル||koth_brazil
 +
|-
 +
| [[Eyeaduct/ja|Eyeaduct]]||キングオブザヒル||koth_viaduct_event
 +
|-
 +
| [[Ghost Fort/ja|Ghost Fort]]||キングオブザヒル||koth_lakeside_event
 +
|-
 +
| [[Kong King/ja|Kong King]]||キングオブザヒル||koth_king
 +
|-
 +
| [[Lakeside/ja|Lakeside]]||キングオブザヒル||koth_lakeside_final
 +
|-
 +
| [[Laughter/ja|Laughter]]||キングオブザヒル||koth_slaughter_event
 +
|-
 +
| [[Lazarus/ja|Lazarus]]||キングオブザヒル||koth_lazarus
 +
|-
 +
| [[Moldergrove/ja|Moldergrove]]||キングオブザヒル||koth_undergrove_event
 +
|-
 +
| [[Moonshine Event/ja|Moonshine Event]]||キングオブザヒル||koth_moonshine_event
 +
|-
 +
| [[Nucleus (KOTH)/ja|Nucleus (KOTH)]]||キングオブザヒル||koth_nucleus
 +
|-
 +
| [[Probed/ja|Probed]]||キングオブザヒル||koth_probed
 +
|-
 +
| [[Sawmill (KOTH)/ja|Sawmill (KOTH)]]||キングオブザヒル||koth_sawmill
 +
|-
 +
| [[Slasher/ja|Slasher]]||キングオブザヒル||koth_slasher
 +
|-
 +
| [[Viaduct/ja|Viaduct]]||キングオブザヒル||koth_viaduct
 +
|-
 +
| [[Badwater Basin/ja|Badwater Basin]]||ペイロード||pl_badwater
 +
|-
 +
| [[Barnblitz/ja|Barnblitz]]||ペイロード||pl_barnblitz
 +
|-
 +
| [[Bloodwater/ja|Bloodwater]]||ペイロード||pl_bloodwater
 +
|-
 +
| [[Brimstone (map)/ja|Brimstone]]||ペイロード||pl_fifthcurve_event
 +
|-
 +
| [[Enclosure/ja|Enclosure]]||ペイロード||pl_enclosure_final
 +
|-
 +
| [[Gold Rush/ja|Gold Rush]]||ペイロード||pl_goldrush
 +
|-
 +
| [[Gravestone/ja|Gravestone]]||ペイロード||pl_rumble_event
 +
|-
 +
| [[Hoodoo/ja|Hoodoo]]||ペイロード||pl_hoodoo_final
 +
|-
 +
| [[Precipice/ja|Precipice]]<ref group="OfficialSupport" name="pl_botstuck"/> ||ペイロード||pl_precipice_event_final
 +
|-
 +
| [[Swiftwater/ja|Swiftwater]]||ペイロード||pl_swiftwater_final1
 +
|-
 +
| [[Thunder Mountain/ja|Thunder Mountain]]||ペイロード||pl_thundermountain
 +
|-
 +
| [[Upward/ja|Upward]]||ペイロード||pl_upward
 +
|-
 +
| [[Pier/ja|Pier]]  ||ペイロード||pl_pier
 +
|-
 +
| [[Wutville/ja|Wutville]]<ref group="OfficialSupport" name="pl_botstuck"/> ||ペイロード||pl_wutville_event
 +
|}
 +
<references group="OfficialSupport">
 +
<ref name="pl_botstuck">Precipice と Wutville にて、BLUボットがとあるスポーン地点を離れる際に動けなくなってしまいます。なのでBLUチームがほとんどもしくは全く死なず、スポーン地点の付近にカートがある場合のみBLUチームが勝利できるようになっています。</ref></references>
 +
 
 +
====サポートされていないマップでボットを使用する方法====
 +
# コンソールに "sv_cheats 1" と入力する
 +
# コンソールに "nav_generate" と入力する
 +
# ゲームのAIパスが自動生成されるのを待つ
 +
# Mマップが再ロードされる (ナビゲーションファイルは保存されるため、前のステップを繰り返す必要はありません)
 +
# コンソールを開き、 ""tf_bot_add <数値>"" のように入力してボットを追加する
 +
'''注)既にボットが居る状態でナビゲーションメッシュをいじると、ゲームが落ちる可能性があります。'''
  
''Note: A [http://forums.steampowered.com/forums/showthread.php?t=1264447 pack of pre-made bot meshes] has been compiled for many popular maps.''
+
上記の手順を1度行ったマップなら、ボット追加コマンド ''"<kbd>tf_bot_add <number></kbd>"'' 以外の手順を繰り返す必要はありません。
  
====Using bots on unsupported maps====
+
自動生成されたメッシュは、コントロールポイント、キングオブザヒル、ペイロードおよび旗取りのゲームモードにてその効果を発揮します。 [[Mannpower/ja|Mannpower]] マップの場合、ボットは旗取りモードとして動きます。しかしボットは {{item link|Grappling Hook}} を使わず、パワーアップを取得しても効果的に使う事が出来ません。
# Type "sv_cheats 1" in console
 
# Type "nav_generate" in console
 
# Wait while the game generates AI paths
 
# Map will reload (navigation has been saved and the previous step doesn't need to be repeated)
 
# Open console and type ''"tf_bot_add <number>"'' as above to add bots
 
  
Bots can be used on any map on which the above steps have been performed without having to repeat them, except for entering the ''"tf_bot_add <number>"'' command each time bots need to be added.
+
====公式がボットの動きをサポートしていないマップ====
 +
<div class="mw-collapsible mw-collapsed">
 +
全部表示(右の「展開する」をクリック):
 +
<div class="mw-collapsible-content">
 +
''注)更新が必要です''
  
====Maps with official bot support====
+
* [[Hydro/ja|Hydro]]
* [[Dustbowl]]
+
* [[DeGroot Keep/ja|DeGroot Keep]]
* [[Mann Manor]]
+
* [[Hightower/ja|Hightower]]
* [[Badlands (KOTH)]]
+
* [[Frontier/ja|Frontier]]
* [[Lakeside]]
+
* [[Pipeline/ja|Pipeline]]
* [[Nucleus (KOTH)]]
+
* [[Steel/ja|Steel]]
* [[Sawmill (KOTH)]]
+
* [[2Fort/ja|2Fort]]
* [[Viaduct]]
+
* [[2Fort Invasion/ja|2Fort Invasion]]
* [[Badwater Basin]]
+
* [[Double Cross/ja|Double Cross]]
* [[Gold Rush]]
+
* [[Landfall/ja|Landfall]]
* [[Hoodoo]]
+
* [[Sawmill (CTF)/ja|Sawmill]]
* [[Thunder Mountain]]
+
* [[Well (CTF)/ja|Well]]
* [[Upward]]
+
* [[5Gorge/ja|5Gorge]]
* [[Gorge]]
+
* [[Coldfront/ja|Coldfront]]
 +
* [[Fastlane/ja|Fastlane]]
 +
* [[Freight/ja|Freight]]
 +
* [[Powerhouse/ja|Powerhouse]]
 +
* [[Sinshine/ja|Sinshine]]
 +
* [[Well/ja|Well]]
 +
* [[Yukon/ja|Yukon]]
 +
* [[Egypt/ja|Egypt]]
 +
* [[Gravel Pit/ja|Gravel Pit]]
 +
* [[Junction/ja|Junction]]
 +
* [[Mountain Lab/ja|Mountain Lab]]
 +
* [[Snowplow/ja|Snowplow]]
 +
* [[SnowVille/ja|SnowVille]]
 +
* [[Snowfall/ja|Snowfall]]
 +
* [[Steel/ja|Steel]]
 +
* [[Standin/ja|Standin]]
 +
* [[Borneo/ja|Borneo]]
 +
* [[Cactus Canyon/ja|Cactus Canyon]]
 +
* [[Frontier/ja|Frontier]]
 +
* [[Hellstone/ja|Hellstone]]
 +
* [[Snowycoast/ja|Snowycoast]]
 +
* [[Swiftwater/ja|Swiftwater]]
 +
* [[Banana Bay/ja|Banana Bay]]
 +
* [[Helltower/ja|Helltower]]
 +
* [[Hightower/ja|Hightower]]
 +
* [[Nightfall/ja|Nightfall]]
 +
* [[Pipeline/ja|Pipeline]]
 +
* [[Badlands (Arena)/ja|Badlands (アリーナ)]]
 +
* [[Byre/ja|Byre]]
 +
* [[Granary (Arena)/ja|Granary (アリーナ)]]
 +
* [[Lumberyard/ja|Lumberyard]]
 +
* [[Nucleus (Arena)/ja|Nucleus (アリーナ)]]
 +
* [[Offblast/ja|Offblast]]
 +
* [[Ravine/ja|Ravine]]
 +
* [[Sawmill/ja|Sawmill]]
 +
* [[Watchtower/ja|Watchtower]]
 +
* [[Well (Arena)/ja|Well (アリーナ)]]
 +
* [[Harvest/ja|Harvest]]
 +
* [[Harvest Event/ja|Harvest Event]]
 +
* [[Highpass/ja|Highpass]]
 +
* [[Maple Ridge Event/ja|Maple Ridge Event]]
 +
* [[Suijin/ja|Suijin]]
 +
* [[Carnival of Carnage/ja|Carnival of Carnage]]
 +
* [[Doomsday/ja|Doomsday]]
 +
* [[Cloak_(Control_Point)/ja|Cloak]]
 +
* [[Bigrock/ja|Bigrock]]
 +
* [[Coal Town/ja|Coal Town]]
 +
* [[Decoy/ja|Decoy]]
 +
* [[Ghost Town/ja|Ghost Town]]
 +
* [[Mannhattan/ja|Mannhattan]]
 +
* [[Mannworks/ja|Mannworks]]
 +
* [[Rottenburg/ja|Rottenburg]]
 +
* [[Asteroid/ja|Asteroid]]
 +
* [[Foundry (Capture the Flag)/ja|Foundry (CTF)]]
 +
* [[Gorge (Capture the Flag)/ja|Gorge (CTF)]]
 +
* [[Hellfire/ja|Hellfire]]
 +
* [[Brickyard/ja|Brickyard]]
 +
* [[District/ja|District]]
 +
* [[Timbertown/ja|Timbertown]]
 +
* [[Pit of Death/ja|Pit of Death]]
 +
* [[Watergate/ja|Watergate]]
 +
* [[Background01/ja|Background01]]
 +
* [[Itemtest/ja|Itemtest]]
 +
</div></div>
  
====AI bot behavior====
+
===AIボットコマンド===
* Bots currently can not use or equip most unlockable content including most non-standard [[weapons]], [[hats]], or [[Miscellaneous items]].  
+
<small>より詳細なコマンドの情報については、[https://developer.valvesoftware.com/wiki/List_of_TF2_console_commands_and_variables こちら]をご覧ください。</small>
* Bots currently can not [[Rocketjump#Rocket jumps|rocket jump]] or [[Stickyjump#Sticky jumps|sticky jump]].
+
<br>
* If a bot kills a player, they roll a chance to taunt immediately after, and if it succeeds, they will taunt even if they are under enemy fire.
 
* When a bot sees a disguised enemy Spy, it will watch the Spy's movement. The bot will not attack the disguised Spy unless the Spy attacks, [[Electro Sapper|saps]] a building, or bumps into one of the bots.
 
* Pyro bots will use the [[Compression blast]] against projectiles and opponents regularly.
 
* Medic bots will usually heal all other classes before Snipers (and to a lesser extent Engineers) even if the "Medic!" voice command is used.
 
  
===AI bot commands===
+
サポートされているマップでは、サーバー管理者がコンソールに以下のコマンドを入力することでAIボットを使用できます。<ref>[http://www.wegame.com/games/tf2/team-fortress-2-bots/ WeGame.com - About Team Fortress 2: List of Commands]</ref>
To use AI bots on supported maps, the server administrator should type the following commands into the console:<ref>[http://www.wegame.com/games/tf2/team-fortress-2-bots/ WeGame.com - About Team Fortress 2: List of Commands]</ref>
 
  
 
{| class="wikitable grid"
 
{| class="wikitable grid"
! class="header" | Command
+
! class="header" | コマンド
! class="header" | Description
+
! class="header" | 解説
 
|-
 
|-
|{{nw|<big>'''tf_bot_add'''</big>}}
+
|{{nw|<big>'''<code>tf_bot_add'''</code></big>}}
|This command will create one or more AI bots of random classes on random teams.  They will also be assigned amusing human-like names.
+
|このコマンドを使うと、ランダムに選ばれたクラスが任意のチームに参加します。ボットの名前もランダムに選ばれます。
  
;Syntax: <code>tf_bot_add [<''count''>] [<''class''>] [<''team''>] [<''difficulty''>]</code>
+
;構文: <code>tf_bot_add [<''count''>] [<''class''>] [<''team''>] [<''difficulty''>] [<''name''>]</code>
  
;Parameters:
+
;変数:
 
:<code><''count''></code>
 
:<code><''count''></code>
::Specifies the number of bots to spawn.  If omitted, one bot is spawned.
+
::追加したいボットの数を指定できます。何も入力しなかった場合は1体スポーンします。
::As of this writing, specifying a number greater than the maximum number of players, including any human players, causes the bots to freeze.  Thus if there is a 24 player server (the default), and one human player, do not spawn more than 23 bots.
+
::サーバーの最大人数を超えてしまう数値を入力した場合、エラーメッセージが表示されて失敗します。
 +
::<kbd>mp_teams_unbalance_limit</kbd>の値が低すぎる場合、片方のチームだけにボットを複数作成しようとしても自動でオートバランスが行われます。
  
 
:<code><''class''></code>
 
:<code><''class''></code>
::The ''classname'' of the class can be ''[[Demoman]]'', ''[[Engineer]]'', ''[[Heavy]]Weapons'', ''[[Medic]]'', ''[[Pyro]]'', ''[[Scout]]'', ''[[Soldier]]'', ''[[Sniper]]'', or ''[[Spy]]''
+
::ボットのクラスを指定できます。クラス名を入力する場合は''[[Demoman/ja|Demoman]]''''[[Engineer/ja|Engineer]]''''[[Heavy/ja|Heavy]]Weapons''''[[Medic/ja|Medic]]''''[[Pyro/ja|Pyro]]''''[[Scout/ja|Scout]]''''[[Soldier/ja|Soldier]]''''[[Sniper/ja|Sniper]]''''[[Spy/ja|Spy]]''という表記を使います。
  
 
:<code><''team''></code>
 
:<code><''team''></code>
::Specifies the team name to assign the bot, where ''team'' can be ''[[red]]'' or ''[[blue]]''.
+
::ボットを追加するチームを指定できます。チーム名を入力する場合は''[[RED/ja|RED]]''および''[[BLU/ja|BLUE]]''という表記を使います。
 +
 
 +
:<code><''difficulty''></code>
 +
::ボットのレベル(難易度)を指定できます。指定する場合は''easy''、''normal''、''hard''''expert''という表記を使います。
  
:<code><''difficulty></code>
+
:<code><''name''></code>
::Sets the difficulty level for the bot, where ''difficulty'' can be ''easy'', ''normal'', or ''hard''.
+
::ボットの名前を指定できます。
  
;Example: <code>tf_bot_add red 3 heavyweapons easy</code> will add three Heavies to the RED team at the easy skill level.
+
;: <kbd>tf_bot_add 3 heavyweapons red easy</kbd> を入力すれば、EasyレベルのREDヘビーを3体追加できます。
 
|-
 
|-
|{{nw|<big>'''tf_bot_difficulty'''</big>}}
+
|{{nw|<big>'''<code>tf_bot_difficulty</code>'''</big>}}
|Defines the skill of bots joining the game. 
+
|ゲームに追加するボットの難易度をあらかじめ決められます。
  
;Syntax: <code>tf_bot_difficulty <''level''></code>
+
;構文: <code>tf_bot_difficulty <''level''></code>
  
;Parameters:
+
;変数:
 
:<code><''level''></code>
 
:<code><''level''></code>
::Sets the difficulty level for the bots. Values are: 0=easy, 1=normal, 2=hard, 3=expert. Default is "Normal" (1).
+
::ボットの難易度を指定できます。それぞれ0で初級、1で中級、2で上級、3でエキスパートを選べます。デフォルトだと1です。
 +
 
 +
;例: <kbd>tf_bot_difficulty 2</kbd> を入力すれば、以降追加されるボットの難易度は上級になります。
 +
|-
 +
|{{nw|<big>'''<code>tf_bot_fire_weapon_allowed</code>'''</big>}}
 +
| ボットが武器を使用するかどうか指定できます。武器の使用を無効にした場合、ボットは{{item link|Medi Gun}}などの敵にダメージを与えない武器しか使えなくなります。例外として[[medic/ja|メディック]]は{{item link|Syringe Gun}}を使うことができます。[[Demoman/ja|デモマン]]は、既に設置していた粘着爆弾を爆破させることはできますが、追加で爆弾を設置することはできません。
 +
 
 +
;構文: <code>tf_bot_fire_weapon_allowed <''integer''></code>
 +
 
 +
;変数:
 +
:<code><''integer''></code>
 +
::1か0で指定します。デフォルトは1(武器の使用有効)です。
  
;Example: <code>tf_bot_difficulty 2</code> will set all bots created after this command to "Hard" difficulty.
+
;: <kbd>tf_bot_fire_weapon_allowed 0</kbd> を入力すれば、例外を除きボットは武器を使用しなくなります。
 
|-
 
|-
|{{nw|<big>'''tf_bot_force_class'''</big>}}
+
|{{nw|<big>'''<code>tf_bot_force_class</code>'''</big>}}
|If set to a class name, all TFBots will respawn as that class.
+
|クラス名を指定すれば、現存のボット全員が指定したクラスに置き換わります。
  
;Syntax: <code>tf_bot_force_class <''class''></code>
+
;構文: <code>tf_bot_force_class <''class''></code>
  
;Parameters:
+
;変数:
 
:<code><''class''></code>
 
:<code><''class''></code>
::The ''classname'' of the class can be ''[[Demoman]]'', ''[[Engineer]]'', ''[[Heavy]]Weapons'', ''[[Medic]]'', ''[[Pyro]]'', ''[[Scout]]'', ''[[Soldier]]'', ''[[Sniper]]'', or ''[[Spy]]''. Default is "" (aka blank).
+
::ボットのクラスを指定できます。クラス名を入力する場合は''[[Demoman/ja|Demoman]]''''[[Engineer/ja|Engineer]]''''[[Heavy/ja|Heavy]]Weapons''''[[Medic/ja|Medic]]''''[[Pyro/ja|Pyro]]''''[[Scout/ja|Scout]]''''[[Soldier/ja|Soldier]]''''[[Sniper/ja|Sniper]]''''[[Spy/ja|Spy]]''という表記を使います。デフォルトは"" (空白)です。
 +
 
 +
;例: <code>tf_bot_force_class medic</code> を入力すれば、全てのボットがメディックに置き換わります。
 +
|-
 +
|{{nw|<big>'''<code>tf_bot_force_jump</code>'''</big>}}
 +
|ボットにジャンプし続けるように指示できます。
 +
 
 +
;構文: <code>tf_bot_force_jump <''integer''></code>
 +
 
 +
;変数:
 +
:<code><''integer''></code>
 +
::1か0で指定します。デフォルトは0(無効)です。
  
;Example: <code>tf_bot_force_class medic</code> will make all TFbots respawn as Medic.
+
;: <kbd>tf_bot_force_jump 1</var> を入力すれば、ボットがジャンプし続けます。
 
|-
 
|-
|{{nw|<big>'''tf_bot_join_after_player'''</big>}}
+
|{{nw|<big>'''<code>tf_bot_join_after_player</code>'''</big>}}
|If nonzero, bots wait until a player joins before entering the game.
+
|有効にした場合、ボットはプレイヤーが参加するまで待ちます。
  
;Syntax: <code>tf_bot_join_after_player <''integer''></code>
+
;構文: <code>tf_bot_join_after_player <''integer''></code>
  
;Parameters:
+
;変数:
 
:<code><''integer''></code>
 
:<code><''integer''></code>
::Either 1 or 0. Default is 1 (enabled).
+
::1か0で指定します。デフォルトは1(有効)です。
  
;Example: <code>tf_bot_join_after_player 0</code> will make TFBots join the game when added even if no players are on a team.
+
;: <kbd>tf_bot_join_after_player 0</kbd> を入力すれば、チームにプレイヤーが居なくてもボットはゲームに参加するようになります。
 
|-
 
|-
|{{nw|<big>'''tf_bot_keep_class_after_death'''</big>}}
+
|{{nw|<big>'''<code>tf_bot_keep_class_after_death</code>'''</big>}}
|If zero, bots will always respawn as a different class.
+
|0の場合、ボットは常にクラスを変えてリスポーンします。
  
;Syntax: <code>tf_bot_keep_class_after_death <''integer''></code>
+
;構文: <code>tf_bot_keep_class_after_death <''integer''></code>
  
;Parameters:
+
;変数:
 
:<code><''integer''></code>
 
:<code><''integer''></code>
::Either 1 or 0. Default is 0 (disabled).
+
::1か0で指定します。デフォルトは0(無効)です。
 +
 
 +
;例: <kbd>tf_bot_keep_class_after_death 1</kbd>  を入力すれば、ボットはクラスを変更しません。
 +
|-
 +
|{{nw|<big>'''<code>tf_bot_kick</code>'''</big>}}
 +
|ボットを1人、もしくは全員削除します。
 +
 
 +
;構文: <code>tf_bot_kick <''name/all''></code>
 +
 
 +
;変数:
 +
:<code><''name/all''></code>
 +
::削除したいボットの名前もしくは全員かを指定できます。
  
;Example: <code>tf_bot_keep_class_after_death 1</code> will prevent TFBots from changing class.
+
;: <kbd>tf_bot_kick CEDA</kbd> を入力すれば、「CEDA」という名前のボットを消すことができます。<kbd>tf_bot_kill</kbd> のコマンドと同様、「Black Mesa」などの2単語で構成される名前を入力する際は  <kbd>tf_bot_kick "Black Mesa"</kbd> という風に引用符(””)で囲む必要があります。
 
|-
 
|-
|{{nw|<big>'''tf_bot_kick'''</big>}}
+
|{{nw|<big>'''<code>tf_bot_kill</code>'''</big>}}
|
+
|ボットを1人、もしくは全員殺します。
This command will remove one or all AI bots.
 
  
;Syntax: <code>tf_bot_kick <''name/all''></code>
+
;構文: <code>tf_bot_kill <''name/all''></code>
  
;Parameters:
+
;変数:
 
:<code><''name/all''></code>
 
:<code><''name/all''></code>
::Specifies the name of bot to remove or all.
+
::殺したいボットの名前もしくは全員かを指定できます。
  
;Example: <code>tf_bot_kick CEDA</code> will kick the TFbot named "CEDA" if one exists.
+
;: <kbd>tf_bot_kill CEDA</kbd> <kbd>tf_bot_kill CEDA</kbd> を入力すれば、「CEDA」という名前のボットを殺すことができます。<kbd>tf_bot_kick</kbd> のコマンドと同様、「Black Mesa」などの2単語で構成される名前を入力する際は <kbd>tf_bot_kill "Black Mesa"</kbd> という風に引用符(””)で囲む必要があります。
 
|-
 
|-
|{{nw|<big>'''tf_bot_prefix_name_with_difficulty'''</big>}}
+
|{{nw|<big>'''<code>tf_bot_melee_only</code>'''</big>}}
|If nonzero, append the skill level of the bot to the bot's name
+
|ボットが近接武器のみを使うかどうか指定できます。
  
;Syntax: <code>tf_bot_prefix_name_with_difficulty <''integer''></code>
+
;構文: <code>tf_bot_melee_only <''integer''></code>
  
;Parameters:
+
;変数:
 
:<code><''integer''></code>
 
:<code><''integer''></code>
::Either 1 or 0. Default is 0 (disabled).
+
::1か0で指定します。デフォルトは0(無効)です。
  
;Example: <code>tf_bot_prefix_name_with_difficulty 1</code> will cause added bots to have names like "1 Aimbot" (normal) and "3 Saxton Hale" (expert).
+
;: <kbd>tf_bot_melee_only 1</kbd> を入力すれば、近接武器のみを使用するボットを生成できます。
 
|-
 
|-
|{{nw|<big>'''tf_bot_quota'''</big>}}
+
|{{nw|<big>'''<code>tf_bot_prefix_name_with_difficulty</code>'''</big>}}
|Determines the total number of TFBots in the game. Only has effect if "tf_bot_quota_mode" = "fill" or "match".
+
|0以外の場合、名前の前にそれぞれの難易度表記が付いたボットを生成できます。
  
;Syntax: <code>tf_bot_quota <''integer''></code>
+
;構文: <code>tf_bot_prefix_name_with_difficulty <''integer''></code>
  
;Parameters:
+
;変数:
 
:<code><''integer''></code>
 
:<code><''integer''></code>
::Whole number between 0 and how many players the server can hold. Default is 0.
+
::1か0で指定します。デフォルトは0(無効)です。
  
;Example: <code>tf_bot_quota 2</code>, if tf_bot_quota_mode = match, will add two bots to the server for every one human.
+
;: <kbd>tf_bot_prefix_name_with_difficulty 1</kbd> を入力すれば、"Normal Aimbot" や "Expert Saxton Hale" といった風にボットの名雨に前に難易度表記を付けられます。
 
|-
 
|-
|{{nw|<big>'''tf_bot_quota_mode'''</big>}}
+
|{{nw|<big>'''<code>tf_bot_quota</code>'''</big>}}
|Determines the type of quota.
+
| ボットの上限数を指定できます。<var>tf_bot_quota_mode</var> が "<code>fill</code>" もしくは "<code>match</code>" の場合のみ設定できます。
  
;Syntax: <code>tf_bot_quota_mode<''normal/fill/match''></code>
+
;構文: <code>tf_bot_quota <''integer''></code>
  
;Parameters:
+
;変数:
 +
:<code><''integer''></code>
 +
::0~サーバー内プレイヤー上限数の間の数値で指定します。デフォルトは0です。
 +
 
 +
;例: <kbd>tf_bot_quota 2</kbd> と、<var>tf_bot_quota_mode</var> を <code>match</code> と指定した場合、プレイヤー1人につき2体のボットが追加されます。
 +
|-
 +
|{{nw|<big>'''<code>tf_bot_quota_mode</code>'''</big>}}
 +
|ボットの総数の調整ができます。
 +
 
 +
;構文: <code>tf_bot_quota_mode<''normal/fill/match''></code>
 +
 
 +
;変数:
 
:<code>''normal/fill/match''</code>
 
:<code>''normal/fill/match''</code>
::If 'normal', the server will never add/remove TFbots without explicit commands and bot_quota has no effect.
+
::「normal」を指定すると、サーバーは明確な指示が無い限り、勝手にボットを追加もしくは削除することはありません。また <var>bot_quota</var> も無効になります。
::If 'fill', the server will adjust bots to keep N players in the game, where N is bot_quota.
+
::「fill」を指定すると、サーバーはN人のボットをゲームに参加させるよう調整します。Nの値は <var>bot_quota</var> で指定します。
::If 'match', the server will maintain a 1:N ratio of humans to bots, where N is bot_quota.
+
::「match」を指定すると、サーバーはボットとプレイヤーの比率を1:Nになるよう調整します。Nの値は <var>bot_quota</var> で指定します。
  
;Example: <code>tf_bot_quota_mode fill</code> will always keep (bot_quota - # of human players) bots in the game.
+
;: <kbd>tf_bot_quota_mode fill</kbd> を入力すれば、(bot_quota - 人間のプレイヤー数)人のボットをゲームに参加させることができます。
 
|-
 
|-
|{{nw|<big>'''tf_bot_taunt_victim_chance'''</big>}}
+
|{{nw|<big>'''<code>tf_bot_taunt_victim_chance</code>'''</big>}}
|Determines how often a Bot will taunt a human victim.
+
|ボットが敵を殺した際に挑発を行う頻度を指定できます。
  
;Syntax: <code>tf_bot_taunt_victim_chance <''integer''></code>
+
;構文: <code>tf_bot_taunt_victim_chance <''integer''></code>
  
;Parameters:
+
;変数:
 
:<code><''integer''></code>
 
:<code><''integer''></code>
:: Whole number between 0 and 100. Default is 20.
+
:: 0から100を指定できます。デフォルトは20です。
 +
 
 +
;例: <kbd>tf_bot_taunt_victim_chance 0</kbd> を入力すれば、ボットは敵を殺した後に挑発をしません。
 +
:<kbd>tf_bot_taunt_victim_chance 100</kbd> を入力すれば、ボットは敵を殺すたびに挑発をします。
 +
|-
 +
|{{nw|<big>'''<code>tf_bot_warp_team_to_me</code>'''</big>}}
 +
|自分のチームのボットを自分の居る位置にテレポートできます。<code>sv_cheats 1</code>の場合のみ有効です。
 +
 
 +
;構文: <code>tf_bot_warp_team_to_me</code>
  
;Examples: <code>tf_bot_taunt_victim_chance 0</code> Bots will never taunt when killing a human player.
+
;変数:
:<code>tf_bot_tauntvictim_chance 100</code> Bots will always taunt when killing a human player.
+
:なし
 
|}
 
|}
  
==Puppet bots==
+
===AIボットの現状について=== 
Puppet bots have no AI code and cannot move or act on their own. These bots can be used like puppets though, players can manipulate them to follow the player's commands such as following the player around and firing their weapons. Puppet bots are mainly used for testing purposes and can also create stunning visuals if manipulated accordingly, as seen [http://www.youtube.com/watch?v=Dn9970dxQ2g here].
+
AIボットは完全にリリースされている状態です。{{cite|when were they fully/officially released?}}{{update link|Hatless Update}}を経て、かつてバグの多かったスパイボットを含め、全てのボットが正常に動くようになりました。AIボットは[[King of the Hill/ja|キングオブザヒル]]マップのほとんどと、[[Payload/ja|ペイロード]]マップのいくつか、そして攻撃/防衛マップの[[Dustbowl/ja|Dustbowl]] と [[Gorge/ja|Gorge]]、[[Capture the Flag/ja|旗取り]]マップ、そして[[Mann Manor/ja|Mann Manor]]で正常に機能します。 (最後の2つは、<kbd>tf_bot_add</kbd> をコマンドに入力する必要があります。)サポートされていないマップでボットを使用する際は、とある手順を踏む必要があります。ただし必ずしも人間のように動いてくれるとは限りません。
 +
 
 +
ボットは [[Hightower/ja|Hightower]] にある手すりを飛び越えられず、またスポーンした後にどこかにスタックしてしまうので、どの[[Payload/ja|ペイロードレース]]マップでも正しく動いてくれません。またボットは、他のPLRマップにてダンスパーティーをします(これは将来的に修正されるかもしれません)。{{cite|where is the future plan?}}
 +
 
 +
====AIボットの行動パターン====
 +
* 現在、ボットの[[loadout/ja|ロードアウト]]はデフォルトのみです (カスタムMODもしくはプラグインを使えばデフォルト以外のロードアウトにできます)。
 +
* 初級難易度のボットはサブ武器、近接武器をめったに使いません。上級難易度のボットはメイン武器の弾薬が切れた場合や、敵との距離を考慮した場合にサブ武器に切り替えて使用します。
 +
* ボットは特殊[[jump/ja|ジャンプ]](ロケットジャンプ等)や装置の[[haul/ja|運搬]]をしません。
 +
* ボットは敵を殺した直後に[[taunt/ja|挑発]]をする事があります。周りからの攻撃を受けていても挑発を実行します。また、ボットは敵の機密情報を運んでいる際に挑発はしません。[[Mann vs. Machine (game mode)/ja|Mann vs. Machine]] の[[Robots/ja|ロボット]]達も同じ振る舞いをします。
 +
* スパイのボット(およびプレイヤー)の[[disguise/ja|変装]]に、他のボットは一切気付きません。しかし彼らに触れてしまったり、[[Sapper/ja|サッピング]]や攻撃、 および[[Cloak/ja|透明化]]をするとそれを目撃したボット全員に気付かれてしまいます。見えない場所で変装するか、死ぬか、{{item link|Dead Ringer}}で擬死でもしないと、ボットたちは誰がスパイなのかをずっと覚えています。
 +
* 中級以上の難易度の[[Pyro/ja|パイロ]]は、敵の攻撃に対して[[compression blast/ja|圧縮ブラスト]]を使ってきます。
 +
* スナイパーやエンジニアが「メディック!」と呼びかけても、[[Medic/ja|メディック]]ボットはまず他のクラスを回復しに行きます。
 +
* メディックボットは人間のプレイヤーのパイロ、ソルジャー、デモマン、ヘビーを優先的にポケットしてくれます。他のクラスを選んだ場合はあまりポケットしてくれません。
 +
* チャージゲージが満タンなメディックボットは、回復対象が傷つくとすぐさまユーバーチャージを展開します。このシステムは [[Mann vs. Machine (game mode)/ja|Mann vs. Machine]] の[[Medic Robot/ja|ユーバー・メディック]]にも適用されています。
 +
* ボットはセットアップタイムに攻撃することはありません(例外として[[Demoman/ja|デモマン]]ボットはセットアップタイム中に粘着爆弾を仕掛けます)。
 +
* エンジニアボットはテレポーターをアップグレード(もしくはサッパー除去)しません。また、セントリーガンを修復しない時もあります。
 +
* エンジニアボットは、仲間のエンジニアの装置が自分のターゲットの障害物にならない限り、仲間の装置を修理もしくはアップグレードする事はありません。
 +
* [[Attack/Defend/ja|攻撃/防衛]]もしくは[[Payload/ja|ペイロード]]マップのセットアップタイム中にて、攻撃チームのエンジニア、スナイパー、スパイ以外のボットはリスポーン位置から動きません。
 +
* スパイボットは自身の存在がバレた場合、バックスタブを諦めて{{item link|Revolver}}を撃ちながら後退します。
 +
* デモマンボットはセントリーガンで1回死ぬとその設置位置を記憶して、セントリーガンの射程圏外に立ち粘着爆弾を仕掛けて破壊を試みます。この際に壁や天井が障害物になる事もあります。
 +
* スナイパーボットは、スコープを覗いても敵が居なかった場合、ボイスコマンドの[[Sniper_voice_commands#Voice_Menu_3|「ネガティブ」]]をつぶやきます。
 +
 
 +
===={{common string|Bugs}}====
 +
* ボットは壁に向かって歩いたり、攻撃したりする。
 +
* スパイボットもしくはプレイヤーが透明化/解除および変装/解除すると、他のボットはよそ[[field of view/ja|見]]をしていても背後を振り向きこちらを見る。これはスパイボットもしくはプレイヤーが発する足音や武器の音に反応してこちらを見ているわけではない。
 +
* まれにテレポーターをボットが取り合い、スタックしてしまうことがある。
 +
* ボットが「スパイだ!」や「前進!」の[[voice commands/ja|ボイスコマンド]]を使用しても、そのテキストは表示されない。
 +
* プレイヤーを[[healing/ja|回復中]]の[[Medic/ja|メディック]]ボットは、自身のヘルスがかなり低下しても攻撃を避けたり[[health/ja|ヘルスキット]]を拾ったりしない。
 +
* ボットは挑発中に動けるので、{{item link|Holiday Punch}}が効かない。
 +
* 攻撃を受けたメディックボットは{{item link|Syringe Gun}}で反撃できない事があり、たまに{{item link|Bonesaw}}を構えたり、ごくまれに{{item link|Medi Gun}}を使うことがある。
 +
* メディックボットは注射銃を使う際に、エイムが定まらなかったり、発射物の重力を補正できなかったりする。これはAIコードが注射銃を[[hitscan/ja|ヒットスキャン]]武器として認識できていない可能性がある。
 +
* スパイボットは難易度にかかわらず、透明化した敵のスパイ(ボットまたはプレイヤー)が正体を現した際にそれを見て後を追うことができてしまう。
 +
* スパイが敵チームに居ないクラスに変装しても(ボットはこのような事はしない)、敵に触れるとスパイだと言われてしまう。
 +
* ボットはオートバランスに反することは絶対ない。特定のチームに特定のクラスのボットを追加したいならば {{cvar|mp_teams_unbalance_limit}} の値を0にする必要がある。
 +
* エンジニアボットは自分が建てた[[buildings/ja|装置]]を、敵に破壊されるまで放置してしまう事がある。
 +
* ヘビーボットは弾薬が切れてもミニガンを回し続ける事がある(上級以下の難易度でよく起こる)。
 +
* 試合に負けたメディックボットは、[[Match outcomes/ja#ボーナスタイム(虐殺タイム)|虐殺タイム]]の最中に周りに敵が居なければ自殺する事がある。コマンドを使用してもプレイヤーはこれを真似できない。
 +
* ロードアウトメニューのプレビューをBLUチームに設定していると、REDのボットがBLUとして表示されてしまう。
 +
* ナビゲーションメッシュを生成しても、以下のマップではボットは正常に動かない。(スパイボットおよびスナイパーボットは動く可能性がある。)
 +
** [[Arena/ja|アリーナモード]] <small>{{tooltip|NOTE|ボットは敵が接近してきたり攻撃を受けた際は反応するが、スポーン地点から移動することは無い。スパイボットおよびスナイパーボットは常に動き回り、エンジニアボットはCPが奪取可能になると行動を始める。tf_bot_force_class を使用して他のクラスをスナイパーボットやスパイボットに強制変更すればアリーナモードで遊べなくもない。}}</small>
 +
** [[Payload/ja#ペイロードレース|ペイロードレース]] <small>{{tooltip|NOTE|エンジニアボット、スナイパーボット、スパイボットのみがリスポーン地点から移動する。}}</small>
 +
** [[Mann Vs. Machine/ja|Mann Vs. Machine]] <small>{{tooltip|NOTE|敵ロボットは動くが、プレイヤー側のボットは全然動いてくれない。敵が来れば反撃するしプレイヤーが建てたテレポーターを使う事もあるが、それでもせいぜい1、2体しか行動しない。スパイボットは正常に行動するのでスパイボットを数人配置してプレイすることも不可能ではない。またエンジニアボットはロボット軍団のエンジニアボットと似たような動きをする。}}</small>
 +
** [[Special Delivery (game mode)/ja|Special Delivery(ゲームモード)]]
 +
** [[Robot Destruction/ja|ロボット破壊]]
 +
** [[Cactus Canyon/ja|Cactus Canyon]] <small>{{tooltip|NOTE|第2ステージはナビゲーションメッシュにマッピングされていない。}}</small>
 +
** [[Mannpower/ja|Mannpower]] <small>{{tooltip|NOTE|Grappling Hookを使わず、パワーアップも使う事が出来ない。}}</small>
 +
** [[PASS Time/ja|PASS Time]] <small>{{tooltip|NOTE|スナイパーボットとスパイボットのみがリスポーン地点から移動する。ボールを追ったり拾ったりはしないが、パスすることはできる。}}</small>
 +
** [[Player Destruction/ja|Player Destruction]] <small>{{tooltip|NOTE|やはりここでも、スナイパーボットとスパイボットのみがリスポーン地点から移動する。スパイボットは、人間のプレイヤーがいない際は変装したのち敵のリスポーン地点前で待機する。}}</small>
 +
** [[Snowycoast/ja|Snowycoast]] <small>{{tooltip|NOTE|REDチームはスポーン地点から出ず、カートを阻止しようとしない。BLUチームはカートに向かうも壁が邪魔してスタックする。また、BLUのスパイボットは微動だにしない。}}</small>
 +
** [[Snowplow/ja|Snowplow]] <small>{{tooltip|NOTE|REDチームはセットアップタイム中にリスポーン地点から出ず、攻撃に備えない。BLUチームはペイロードのようにカートを押す。}}</small>
 +
** [[Byre/ja|Byre]] <small>{{tooltip|NOTE|エンジニアボットのみがリスポーン地点から移動する。}}</small>
 +
** [[Nightfall/ja|Nightfall]] と [[Pipeline/ja|Pipeline]] <small>{{tooltip|NOTE|第3ステージのみナビゲーションメッシュにマッピングされている。}} </small>
 +
** [[Hassle Castle/ja|Hassle Castle]] <small>{{tooltip|NOTE|REDチームは正常に動く。しかしBLUチームはスカウトとスパイ以外、リスポーン地点から移動しない。}}</small>
 +
* [[Melee/ja|近接武器]]を構えたボットは、弾薬を補給しても近接武器を構えたままの事がある。
 +
** 対処としてそのボットを殺すか、ランダムにクラスを変更してやれば直る。
 +
* {{update link|Jungle Inferno Update}} を経て、特定のコマンド(例えば {{cvar|tf_bot_add 5 pyro blue normal}} など)で出現させたボットはリスポーン地点で死んでしまうようになった。対処として {{cvar|sv_cheats}} を1にし、{{cvar|tf_bot_reevaluate_class_in_spawnroom 0}} を入力すると良い。
 +
 
 +
===AIボット名===
 +
TFボットは様々な名前を持つようにプログラミングされており、TF2用語や Valve の他作品、もしくはプログラミング関係のワードにちなんだものが多いです。名前は[[Steam Users' Forums|Steamの掲示板]]でリクエストされています。<!--以下のリストにまだない名前を見つけたら、是非追加してください。-->
 +
 
 +
{{Bot names}}
 +
ボットの名前をプレイヤーが決める事も出来ます。例えば <kbd> tf_bot_add heavyweapons blue "Blu Hoovy" </kbd> と入力すると、「[[BLU/ja|BLU]]チーム」に「Blu Hoovy」という名の「ヘビー」を追加することができます。
 +
 
 +
== 第三者ボット ==
 +
現在TF2用に開発されているボットはRCbot2のみです。Cheeseh 氏によって開発および管理されており、[http://rcbot.bots-united.com/ このサイト]で確認できます。
 +
 
 +
もしくは、[APG]財団のビルドを使う手もあります。このビルドはTF2の最新アップデートに対応しており、ボットが破損するのを防ぐことができます。しかしボットを正常に動かすためには最新の Hookinfo を探す必要があります。[https://github.com/APGRoboCop/rcbot2/releases これ]を使用して、Hookinfo ツールから config.ini のオフセット値を調整してください。 (最新版は2020年6月19日の v1.3-APG)
 +
 
 +
ボットはウェイポイントシステムで動作するため、コマンドを使うのではなくあらかじめプレイヤーが手動でセットアップする必要があります。RCBot2は独自のボットなので通常のTFボットと一緒に動作させることも可能です。
 +
 
 +
===RCBot2の特徴===
 +
*ソルジャーボットはロケットジャンプ、デモマンボットは粘着ジャンプをすることができます。(マップにウェイポイントがある場合のみ)
 +
*エンジニアボットは旗取りマップやその他のマップで正しく動作します。
 +
*ボットは「ハンツマン」や「喉ごしガツン!アトミックパンチ」などのカスタムロードアウトを使用します。
 +
*ボットはスパイチェックをします。スパイがいずれかのボットに変装し、変装の対象になったボットがそれを目撃した場合、スパイを攻撃し始めます。
 +
*ボットは音声コマンドを使用します。TFボットと異なり、テキストログにも内容が表示されます。
 +
*ボットは Mann VS Machine の防衛側に参加できますが、アップグレードの購入はしません。
 +
*CPマップで遊ぶ際、ボットたちはラウンド開始まで動き回ります。まるで人間のプレイヤーのように、音声コマンドを発しながら近接武器でランダムに殴り合います。
 +
*エンジニアボットはある程度時間が経過すると装置を運搬できるようになります。
 +
*ボットのエイム力や度胸などの情報をカスタマイズすることが可能です。
 +
*エンジニアボットは自分のセントリーガンのアップグレードが完了すると、仲間のエンジニアのセントリーガンをアップグレードしたり、サッパーを除去したりしてくれます。
 +
*ボットがセントリーガンの標的にされて逃げ切れた場合、「前方にセントリーガン!」のボイスコマンドを使用します。
 +
*エンジニアボットはテレポーターをウェイポイントがある場所に設置し、またアップグレードも行います。
 +
*時々、敵のメディックボットが変装したスパイを回復してしまうことがあります。
 +
*スパイボットが接近したターゲットが振り向いた場合、スパイボットは向こうがまたよそ見をするまで離れます。
 +
*スカウトボットはダブルジャンプができます。しかしソルジャーボットやデモマンボットと同様に、ウェイポイントが無いとできません。
 +
*スカウトボットは「喉ごしガツン!アトミックパンチ」を効果的に使用できます(いったん後退し、飲んでからまた前線に向かうなど)。
 +
*メディックボットはヘルスが減ったクラスを平等に回復してくれます。しかしソルジャーとヘビーは他のクラスより優先度が高いです。
 +
*ボットは仲間をバックスタブしたスパイを即座に攻撃しません。ボットはスパイを目で追うか、そのスパイが攻撃されているか確認しなくてはなりません。
 +
*ディスペンサーやメディガンで回復したボットは「ありがとよ!」のボイスコマンドを使用します。
 +
*ボットは頻繁に振り向いてスパイチェックをします。
 +
*RCBot2には「信用」システムが存在し、仲間がスパイか否かや、バックスタブに対応するため攻撃するか観察するかなどを考えます。
 +
*RCBot2はTFボットと違って、マリオカートやペイロードマップなどの複雑なマップに加え plr_hightower_event、sd_doomsday_event、sd_doomsday などのハロウィーンマップで正常に動きます。
 +
 
 +
===RCBot2のバグ===
 +
*ウェイポイントの性質上、RCBot2のパスはTFボットほど予測不可能に作られておらず、RCBot2は他のボットと頻繁にぶつかり、どちらかが死ぬまでお互いスタックしてしまうことがある。
 +
**スパイボットも同じ理由でプレイヤーにぶつかったまま動けなくなることがある。スパイボットは設定された範囲しか移動できず、一定の軌道上にとどまる。
 +
*エンジニアボットはディスペンサーの設置に手こずる。かつ自分の意志で自由な場所に配置する。
 +
*デモマンボットは敵が粘着爆弾の上に立っているかどうかが分かり、敵が視界にいなくても爆破させることができる。
 +
*エンジニアボットはたまにセントリーガンの向きを間違える。
 +
*RCbot2はウェイポイントの設定されていない場所に飛ばされると、そこから動けなくなる。例えば [[Nucleus/ja|Nucleus]] の屋根付近など。
 +
*RCbot2はヘルスキットを拾った際にも「ありがとよ!」のボイスコマンドを使用する。
 +
*RCbot2は泳いだ後に移動速度が低下してしまう。
 +
*RCbot2は武器を使う際に相手の動きを予測できない。
 +
*メディックボットは、特にチャージゲージが満タンの際、一人のプレイヤーにポケットすることはない。
 +
*スパイボットは敵エンジニアの装置を壊すために積極的に動いたり、すぐさまサッパーを仕掛けたりしない。
 +
*SourceMod のプラグインの一部はRCBot2の smac_cvars.smx と相性が悪い可能性がある。しかし [APG]RoboCop[CL] 氏が「config.ini」の中に「sm plugins unload <PLUGIN-NAME>」を追加することでこれを回避している。
 +
 
 +
不具合があった場合は必ずRCbotのウェブサイトまたは Discord の Bots-Unitedチャンネルに報告して下さい。Team Fortress wiki と Valve 社はRCbot2について一切責任を負いません。
 +
 
 +
== パペットボット ==
 +
パペットボットにはAIコードが無く、自身で動き回ったり何かをすることはできません。パペットボットはパペットのように扱えるので、プレイヤーを追いかけさせたり武器を使わせたりと、プレイヤーのコマンドに従って動かすことができます。使用用途は主にテストで、以下に示すような指示をしてやると [http://www.youtube.com/watch?v=Dn9970dxQ2g こんなこと]も出来たりします。
  
===Puppet bot commands===
+
===パペットボットコマンド===
Not all of the following commands work; for clarity, the complete list of commands is included.
+
全てのコマンドが正常に機能するわけではなく、省かれている作業コマンドもあります。
  
''Note: entering the command without any values will display the command's current setting and a brief description.''
+
AIボットにこのコマンドを指示した場合は、うまく機能したりしなかったりします。
 +
注)値を入れずにコマンドを送信すると、現在の設定と簡単な説明が表示されます。
  
 
{| class="wikitable grid"
 
{| class="wikitable grid"
! class="header" | Command
+
! class="header" | コマンド
! class="header" | Description
+
! class="header" | 解説
 
|-
 
|-
|{{nw|<big>'''bot'''</big>}}
+
|{{nw|<big>'''<code>bot</code>'''</big>}}
|This command will create a bot on the given team with the specified class and name. If team or name is omitted, they will be assigned randomly.
+
|このコマンドを使うと、指定したクラスが指定された名前で、指定されたチームに参加します。チームおよびボットの名前が省略された場合はランダムに選ばれます。
  
;Syntax: <code>bot -team <''teamname/number''> -class <''classname''> -name <''botname''></code>
+
;構文: <code>bot [<''teamname/number''>] [<''classname''>] [<''name''>] [<''number''>]</code>
  
;Parameters:
+
;変数
:<code>-team ''teamname/number''</code>
+
:<code><''number''></code>
::Specifies the team name or number to assign the bot. Where ''name/number'' can be ''[[RED]]'' or ''1'', ''[[BLU]]'' or ''0''
+
::追加したいボットの数を指定できます。
:<code>-class ''classname''</code>
+
:<code><''teamname/number''></code>
::The ''classname'' of the class can be ''[[Demoman]]'', ''[[Engineer]]'', ''[[Heavy]]'', ''[[Medic]]'', ''[[Pyro]]'', ''[[Scout]]'', ''[[Soldier]]'', ''[[Sniper]]'', or ''[[Spy]]''
+
::ボットを追加したいチームをアルファベットもしくは数字で指定できます。チームを指定する場合は ''[[RED/ja|RED]]''もしくは''1''''[[BLU/ja|BLU]]'' もしくは ''0''という表記を使います
:<code>-name ''botname''</code>
+
:<code><''classname''></code>
::''botname'' can be anything. If there is already someone with the same name, an incremental number (starting at 1) surrounded with parenthesis will be added to the beginning of the name. For example, joe, (1)joe, (2)joe, etc. If no name is given then the name will be "bot" followed by a number starting with 01; for example, the first bot will be bot01, the next bot02, and so on.
+
::ボットのクラスを指定できます。クラス名を入力する場合は''[[Demoman/ja|Demoman]]''''[[Engineer/ja|Engineer]]''''[[Heavy/ja|Heavy]]Weapons''''[[Medic/ja|Medic]]''''[[Pyro/ja|Pyro]]''''[[Scout/ja|Scout]]''''[[Soldier/ja|Soldier]]''''[[Sniper/ja|Sniper]]''''[[Spy/ja|Spy]]''という表記を使います。
;Example: <code>bot -team red -class Engineer -name joe</code>
+
:<code><''teleport''></code>
|-
+
::カーソルで狙っている場所にボットをテレポートできます。
|{{nw|<big>'''bot_changeclass'''</big>}}
+
:<code><''targetdummy''></code>
|Force all bots to change to the specified class.
+
::スポーンさせたボットのヘルスが減るのを防ぎます。
''Does not seem to be implemented, nothing happens.''
+
:<code><''name''></code>
|-
+
::どんな名前でもOKです。既に同じ名前のボットがいる場合は、名前の先頭に括弧で囲まれたナンバーが追加されます。例えばJoe、(1)Joe、(2)Joeという感じになります。名前を指定しなかった場合は「bot」の後ろにナンバーが付いたものになります。例えば最初のボットがBot01、次がBot02、と続いていきます。
|{{nw|<big>'''bot_changeteams'''</big>}}
+
;
|
+
:<code>bot -team red -class Engineer -name joe</code>
Make all bots change teams.
 
This forces all the bots to switch teams. If a bot was on the RED team then it will now be on the BLU team and vice versa.
 
 
|-
 
|-
|{{nw|<big>'''bot_command'''</big>}}
+
|{{nw|<big>'''<code>bot_changeclass</code>'''</big>}}
|Sends specified command on behalf of specified bot.
+
|ボットを全員、指定するクラスに変更できます。
  
;Syntax: <code>bot_command <''botname''> <''console command''></code>
+
;構文: <code>bot_changeclass <''name''> <''classname''></code>
::''botname'' is the name or id of the bot to send the command to.
 
::''console command'' can be any of the ones listed in [[Scripting#Console Commands]].
 
;Example 1: bot_command bot01 "voicemenu 0 0"
 
;Example 2: bot_command bot01 "taunt"
 
  
::The slot commands (slot1, slot2, etc.) do not work with bot_command, however with bot_forcefireweapon, all bots in that class can be made to switch to a weapon and start firing, then made to stop. Only the entire group of bots in that class can be made to do so, however.
+
;変数
 +
:<code><''name''></code>
 +
::ターゲットボットの名前を指定できます。
 +
:<code><''classname''></code>
 +
::ボットを切り替えたいクラスの名前です。デフォルトは "" (または空白)です。
 +
;例
 +
:<code>bot_changeclass bot01 Soldier</code>
 
|-
 
|-
|{{nw|<big>'''bot_defend'''</big>}}
+
|{{nw|<big>'''<code>bot_changeteams</code>'''</big>}}
|Set to a team number, and that team will all keep their combat shields raised.
+
|
For instance, Heavies will spin their miniguns.
+
ボットを全員、チーム変更させます。
 +
BLUチームに居たボットならばREDに切り替わり、その逆も同じです。
 
|-
 
|-
|{{nw|<big>'''bot_dontmove'''</big>}}
+
|{{nw|<big>'''<code>bot_command</code>'''</big>}}
|Bots are allowed or prevented from moving.  When set to ''1'' the bots cannot move but they can still turn and jump.  Note with a combination of this command and <code>bot_mimic</code> bots can be moved to certain areas and left there.
+
|指定されたボットに代わって、指定されたコマンドを送信します。
 +
;構文: <code>bot_command <''name/all''> <''console command''></code>
 +
;変数
 +
:<code><''name/all''></code>
 +
::コマンドの送信先であるボットの名前およびIDを入力します。「all」を指定した場合すべてのボットにコマンドが送信されます。
 +
:<code><''console command''></code>
 +
::[[Scripting/ja|コンソールコマンド]]にリストされているもの、および[[Cheats/ja|チート]]を指定できます。
 +
;例1
 +
:<code>bot_command bot01 "voicemenu 0 0"</code>
 +
;例2
 +
:<code>bot_command bot01 "taunt"</code>
  
;Syntax: <code>bot_dontmove <''0/1''></code>
+
::スロットのコマンド(slot1、slot2など)は bot_command では機能しませんが、<code>bot_forcefireweapon</code>を使う事でそのクラスの全てのボットに武器を発射させ、その後停止させることが可能です。しかしながらそのクラスのボット全体のみしか機能しません。
::Bot is allowed to move, or not.
 
;Example: <code>bot_dontmove 1</code>
 
 
|-
 
|-
|{{nw|<big>'''bot_flipout'''</big>}}
+
|{{nw|<big>'''<code>bot_dontmove</code>'''</big>}}
|When on, this command will make the bots fire the current weapon selected. Default is to use <code>primary_fire</code>, but if <code>bot_forceattack2</code> is set to 1 then secondary fire is used. <br>
+
|ボットの移動を許可もしくは制限できます。''1''でボットは移動不可能になりますが、その場でジャンプしたり体の向きを変える事はできます。 このコマンドと<code>bot_mimic</code>を組み合わせれば、ボットを指定した場所へ移動し、そこで待機させることもできます。
  
;Syntax: <code>bot_flipout <''0/1''></code>
+
;構文: <code>bot_dontmove <''integer''></code>
::On when set to 1. Off when set to 0. <br>
+
;変数
;Example: <code>bot_flipout 1</code>
+
:<code><''integer''></code>
 +
::1でボットの移動を許可できます。デフォルトは0(移動制限)の状態です。
 +
;
 +
:<code>bot_dontmove 1</code>
 
|-
 
|-
|{{nw|<big>'''bot_forceattack'''</big>}}
+
|{{nw|<big>'''<code>bot_forceattack</code>'''</big>}}
|This will make all the bots automatically fire whatever [[weapon]] they currently have selected.  If <code>bot_forceattack2</code> is set to ''0'', then the bots will execute primary_fire.  If <code>bot_forceattack2</code> is set to ''1'', then the bots will execute secondary_fire.
+
|このコマンドを使えば、ボットが今構えている[[weapon/ja|武器]]を自動で発射できます。<code>bot_forceattack2</code>が0に設定されている場合、ボットは primary_fire を実行します。<code>bot_forceattack2</code>が1に設定されている場合、ボットは secondary_fire を実行します。
  
Note this does nothing if <code>bot_mimic</code> is active (set to ''1'').
+
<code>bot_mimic</code>が1(有効)になっている場合、何も起こらないのでご注意ください。
  
;Syntax: <code>bot_forceattack <''0/1''></code>
+
;構文: <code>bot_forceattack <''integer''></code>
::Bot will not fire if set to ''0'' and fire repeatedly if set to ''1''.
+
;変数
;Example: <code>bot_forceattack 1</code>
+
:<code><''integer''></code>
 +
::1に設定した場合、全てのボットが銃を発砲します。デフォルトは0(無効)です。
 +
;
 +
:<code>bot_forceattack 1</code>
 
|-
 
|-
|{{nw|<big>'''bot_forceattack2'''</big>}}
+
|{{nw|<big>'''<code>bot_forceattack2</code>'''</big>}}
|This will make all the bots execute secondary_fire on whatever [[weapon]] they currently have selected when <code>bot_forceattack</code> is set to ''1''.
+
|<code>bot_forceattack</code>を1に設定していると、全てのボットが現在構えている武器で secondary_fire を実行します。
  
;Syntax: <code>bot_forceattack2 <''0/1''></code>
+
;構文: <code>bot_forceattack2 <''integer''></code>
::Bot will use its weapon's secondary_fire when set to ''1'', primary_fire when set to ''0''
+
;変数
;Example: <code>bot_forceattack2 1</code>
+
:<code><''integer''></code>
 +
::1に設定すればボットは secondary_fire を実行し、0ならば primary_fire を実行します。
 +
;
 +
:<code>bot_forceattack2 1</code>
 +
|-
 +
|{{nw|<big>'''<code>bot_forceattack_down</code>'''</big>}}
 +
|これを0に設定していれば、ボットは発射ボタンを何回も押すような状態になります([[Stickybomb Launcher/ja|粘着爆弾ランチャー]]で役立つ)。1にすれば、押し続けているような状態になります([[Minigun/ja|ミニガン]]で役立つ)。
  
 +
;構文: <code>bot_forceattack_down <''0/1''></code>
 +
;変数
 +
:<code><''integer''></code>
 +
::1もしくは0。0で無効になります。
 +
;例
 +
:<code>bot_forceattack_down 1</code>
 
|-
 
|-
|{{nw|<big>'''bot_forceattackon'''</big>}}
+
|{{nw|<big>'''<code>bot_forcefireweapon</code>'''</big>}}
|When firing, do not tap fire, hold it down. When this command is set to 0, the bot acts like it is continuously tapping the fire button (useful for the Pistol, but not for the Heavy's Minigun). If this command is set to 1, the bots acts as if it is holding down the fire button (useful for the Heavy's Minigun). <br>
+
|ボットが構える武器を指定した武器に切り替え、強制的に武器を発射させます。指定した武器を持っていない場合は何も起こりません。
 
+
;構文: <code>bot_forcefireweapon <''weapon filename''></code>
;Syntax: <code>bot_forceattackon <''0/1''></code>
+
::''filename'' は通常 ''tf_weapon_ <武器名>''となります。
::On when set to 1. Off when set to 0. <br>
+
;
;Example: <code>bot_forceattackon 1</code>
+
:<code>bot_forcefireweapon tf_weapon_fists</code> すべての[[Heavy/ja|ヘビー]]ボットの武器を[[Fists/ja|拳]]に切り替えさせて連続的に攻撃させ、他のボットは攻撃を停止します。
 +
:<code>bot_forcefireweapon tf_weapon_shotgun_pyro</code> すべての[[Pyro/ja|パイロ]]ボットの武器を[[Shotgun/ja|ショットガン]]に切り替えさせて連続的に攻撃させ、他のボットは攻撃を停止します。
  
 +
::ボット全員の攻撃をやめさせたいのであれば、存在しない武器のファイル名を指定するだけです。tf_weapon が含まれていない物はTF2の武器と見なされない為、<code>''bot_forcefireweapon ,,''</code>等の指定をすればボットは攻撃をしません。
 +
|-
 +
|{{nw|<big>'''<code>bot_jump</code>'''</big>}}
 +
|ボット全員に繰り返しジャンプをさせる事ができます。
 +
;構文: <code>bot_jump <''integer''></code>
 +
;変数
 +
:<code><''integer''></code>
 +
::1でボットが全員、ジャンプを繰り返します。デフォルトは0(無効)です。
 +
;例
 +
:<code>bot_jump 1</code>
 +
|-
 +
|{{nw|<big>'''<code>bot_crouch</code>'''</big>}}
 +
|ボット全員をしゃがみ状態にできます。
 +
;構文: <code>bot_crouch <''integer''></code>
 +
;変数
 +
:<code><''integer''></code>
 +
::1でボットが全員、しゃがんだ状態になります。デフォルトは0(無効)です。
 +
;例
 +
:<code>bot_crouch 1</code>
 
|-
 
|-
|{{nw|<big>'''bot_forceattack_down'''</big>}}
+
|{{nw|<big>'''<code>bot_kick</code>'''</big>}}
|When firing, don't tap fire, hold it down. If this is set to ''0'' then the bot will act like they are continuously tapping the fire button (useful for the [[Stickybomb Launcher]]). If this is set to ''1'' then the bot will act as if it is holding down the fire button (useful for the [[Minigun]]).
+
|名前を指定してボットを削除したり、チームごと、または全員削除したりできます。
 
+
;構文: <code>bot_kick <''name/team''></code>
;Syntax: <code>bot_forceattack_down <''0/1''></code>
+
::指定したボットが死にます。
::On when set to ''1'', off when set to ''0''
+
;
;Example: <code>bot_forceattack_down 1</code>
+
:<code>bot_kick bot01</code> 「bot01」という名前のボットをキックします。
 +
:<code>bot_kick red</code> REDチームのボットをまるごとキックします。
 +
:<code>bot_kick blue</code> BLUチームのボットをまるごとキックします。
 +
:<code>bot_kick all</code> サーバー内のボット全員をキックします。
 
|-
 
|-
|{{nw|<big>'''bot_forcefireweapon'''</big>}}
+
|{{nw|<big>'''<code>bot_kill</code>'''</big>}}
|Forces all bots who have the specified weapon to switch to and fire it.
+
|ボットを殺せます。
If a bot does not have this weapon, nothing happens to it (unless it is firing a different weapon, in which it stops)
+
;構文: <code>bot_kill <''name''></code>
;Syntax: <code>bot_forcefireweapon <''weapon filename''></code>
+
;変数
::''filename'' is usually ''tf_weapon_ <weapon name>''.
+
:<code><''name''></code>
;Examples: <code>bot_forcefireweapon tf_weapon_fists</code> makes all [[Heavy]] bots switch to and repeatedly attack with their [[Fists]], and all other bots stop attacking.
+
::指定したボットが死にます。
<code>bot_forcefireweapon tf_weapon_shotgun_pyro</code> makes all [[Pyro]] bots switch to and repeatedly fire their [[Shotgun]]s, and all other bots stop attacking.
+
;例
 
+
:<code>bot_kill bot01</code>
::To make all bots stop attacking, simply specify a non-existent weapon filename. Anything without tf_weapon in it isn't a TF2 weapon, so the bots won't shoot it, for example ''bot_forcefireweapon ,,''
 
::Bots' loadouts cannot be changed, therefore you cannot make them fire unlockable weapons.
 
 
|-
 
|-
|{{nw|<big>'''bot_kill'''</big>}}
+
|{{nw|<big>'''<code>bot_mirror</code>'''</big>}}
|
+
|指定したボットがプレイヤーのロードアウト(クラス、装飾アイテム、武器)をそっくり真似ますが、いくつかバグがあります。[[Demoman/ja|デモマン]]のプレイヤーが[[Ali Baba's Wee Booties/ja|アリババズ・ウィーブーツ]]とシールド系武器を装備している場合、それを真似たボットはモデル上だと同じものを装備しているように見えますが、使っている武器は[[Grenade Launcher/ja|グレネードランチャー]]と[[Stickybomb Launcher/ja|粘着爆弾ランチャー]]になったままです。ロードアウトを真似たボットが死ぬとそれ以前のロードアウトは引き継がれない為、再び bot_mirror を入力する必要があります。
Kills the specified bot.
+
;構文: <code>bot_mirror <''name''></code>
;Syntax: <code>bot_kill <''bot name''></code>
+
::''name'' にロードアウトを真似させたいボットの名前を入力します。
::Makes the specified bot commit suicide.
+
;
;Example: <code>bot_kill bot01</code>
+
:<code>bot_mirror bot01</code>
 
|-
 
|-
|{{nw|<big>'''bot_mimic'''</big>}}
+
|{{nw|<big>'''<code>bot_mimic</code>'''</big>}}
|Bot uses usercmd of player by index.
+
|インデックスごとに、ボットがプレヤーのコマンドを真似します。
The bot will execute all keystrokes issued by a player, mimicking movements, turns, jumps, fire, etc. It should be noted that bots will not mimic Medic calls, weapon switches, or taunts.
+
ボットはプレイヤーの移動、方向転換、ジャンプ、発砲などのキー入力を全て真似します。ボットはメディックコール、武器の切り替え、および挑発は真似できないのでご注意ください。
  
Note this overrides <code>bot_forceattack</code> but does not override <code>bot_dontmove</code>.
+
<code>bot_forceattack</code>はこのコマンドに上書きされますが、<code>bot_dontmove</code>は上書きされません。
  
;Syntax: <code>bot_mimic <''0/1''></code>
+
;構文: <code>bot_mimic <''integer''></code>
::On when set to ''1'', off when set to ''0''
+
;変数
;Example: <code>bot_mimic 1</code>
+
:<code><''integer''></code>
 +
::1か0で指定します。デフォルトは0(無効)です。
 +
;
 +
:<code>bot_mimic 1</code>
 
|-
 
|-
|{{nw|<big>'''bot_mimic_inverse'''</big>}}
+
|{{nw|<big>'''<code>bot_mimic_inverse</code>'''</big>}}
 
|
 
|
Inverts the movement of the bots; moving left makes the bots move right, moving forwards makes the bots move backwards, etc.
+
ボットの動きをプレイヤーと反転させます。左に行けばボットは右に、前に行けばボットは後ろに移動します。
 +
ボットがどの方向を向いているかは、影響しません。
  
The direction which the bot is looking is not affected.
+
;構文: <code>bot_mimic_inverse <''integer''></code>
 
+
;変数
;Syntax: <code>bot_mimic_inverse <''0/1''></code>
+
:<code><''integer''></code>
::On when set to ''1'', off when set to ''0''
+
::1か0で指定します。デフォルトは0(無効)です。
;Example: <code>bot_mimic_inverse 1</code>
+
;
 +
:<code>bot_mimic_inverse 1</code>
 
|-
 
|-
|{{nw|<big>'''bot_mimic_yaw_offset'''</big>}}
+
|{{nw|<big>'''<code>bot_mimic_yaw_offset</code>'''</big>}}
 
|
 
|
Offsets the bots' yaw.
+
ボットの進行方向を相殺します。
The bots will face in a direction this angle from the player. By default this is set to ''180'' so that all bots will face the player. Setting this to ''0'' will face the bots in the same direction as the player.
+
ボットはプレイヤー目線から、指定した角度に向かって進行します。デフォルトの値は180で、ボットが全員プレイヤーの方を向きます。値を0にすれば、ボット全員がプレイヤーと同じ方向を見るようになります。
  
;Syntax: <code>bot_mimic_yaw_offset <''0-360''></code>
+
;構文: <code>bot_mimic_yaw_offset <''0-360''></code>
::Set the direction by specifying angle in degrees
+
::角度を入力し、方向を指定します。
;Example: <code>bot_mimic_yaw_offset 180</code>
+
;
 +
:<code>bot_mimic_yaw_offset 180</code>
 
|-
 
|-
|{{nw|<big>'''bot_randomnames'''</big>}}
+
|{{nw|<big>'''<code>bot_randomnames</code>'''</big>}}
 
|
 
|
  
===AI bot names===
+
;構文: <code>bot_randomnames <''0''></code>
The AI bots are programmed to have different names, with many of their names being references to Valve's other works and computer programming. They also include some references to ''Team Fortress'' as well. Many of these names have been requested on the Steam forums. <!--If you encounter other names that aren't on the list, please add them-->
+
;変数
{|
+
:<code><''integer''></code>
| valign="top" |
+
::1か0で指定します。デフォルトは0(無効)です。
*[[Hacking#Aimbots|AimBot]]
+
;
*AmNot
+
:<code>bot_randomnames 1</code>
*[http://theportalwiki.com/wiki/Aperture_Science Aperture Science] Prototype XR7
 
*[[Sniper|A Professional With Standards]]
 
*BeepBeepBoop
 
*[[Meet the Engineer|Big Mean Mother Hubbard]]
 
*[http://half-life.wikia.com/wiki/Black_Mesa Black Mesa]
 
*[http://left4dead.wikia.com/wiki/Boomer_bile BoomerBile]
 
*Cannon Fodder
 
*[http://left4dead.wikia.com/wiki/CEDA CEDA]
 
*[http://theportalwiki.com/wiki/Chell Chell]
 
*[[Scout|Chucklenuts]]
 
*[http://theportalwiki.com/wiki/Weighted_Companion_Cube Companion Cube]
 
*[[Engineer|CreditToTeam]]
 
*[[Damage|CRITRAWKETS]]
 
*[[Meet the Sniper|Crazed Gunman]]
 
*[http://half-life.wikia.com/wiki/Crowbar Crowbar]
 
*[[Heavy|CryBaby]]
 
*[[Heavy|CrySomeMore]]
 
*{{W|C++}}
 
*[http://half-life.wikia.com/wiki/Cake Delicious Cake]
 
*DeadHead
 
*{{W|Division_by_zero|Divide by Zero}}
 
*[http://half-life.wikia.com/wiki/Dog Dog]
 
*[[Force-A-Nature]]
 
*[[Scout|Freakin' Unbelievable]]
 
*[http://www.teamfortress.com/classless/hidden/hats/ Gentlemanne of Leisure]
 
| valign="top" |
 
*[http://www.teamfortress.com/classless/hidden/hats/ GENTLE MANNE of LEISURE]
 
*[http://theportalwiki.com/wiki/GLaDOS GlaDOS]
 
*[[Meet the Demoman|Grim Bloody Fable]]
 
*[[Demoman|GutsAndGlory!]]
 
*[[hats|Hat-Wearing MAN]]
 
*[[Demoman|Headful of Eyeballs]]
 
*[[Medic|Herr Doktor]]
 
*HI THERE
 
*[http://counterstrike.wikia.com/wiki/Hostage Hostage]
 
*Humans Are Weak
 
*[[Hacking|H@XX0RZ]]
 
*[[Heavy|I LIVE!]]
 
*[http://half-life.wikia.com/wiki/Ivan_the_Space_Biker IvanTheSpaceBiker]
 
*[[Demoman|Kaboom!]]
 
*[[Medic|LOS LOS LOS]]
 
*[[Soldier|Maggot]]
 
*[[Mann Co.]]
 
*Me
 
*[http://www.youtube.com/watch?v=LJbY4ixm_ZM Mentlegen]
 
*Mindless Electrons
 
*[[Meet the Engineer|MoreGun]]
 
*Nobody
 
*[[The Sandvich|Nom Nom Nom]]
 
*Not Me
 
*Numnutz
 
*[http://left4dead.wikia.com/wiki/Coach/Quotes#The_Fairgrounds One-Man Cheeseburger Apocalypse]
 
*[[Poopy Joe]]
 
| valign="top" |
 
*[[Showdown|Pow!]]
 
*[http://www.urbandictionary.com/define.php?term=ragequit RageQuit]
 
*[[Saxton Hale]]
 
*[[Soldier|Screamin' Eagles]]
 
*[http://www.teamfortress.com/classless/hidden/hats/ SMELLY UNFORTUNATE]
 
*[http://half-life.wikia.com/wiki/Still_Alive Still Alive]
 
*SomeDude
 
*Someone Else
 
*Soulless
 
*[http://left4dead.wikia.com/wiki/Tank TAAAAANK!]
 
*[[Training#Target|Target Practice]]
 
*ThatGuy
 
*[[The Administrator]]
 
*THEM
 
*[[Heavy|Tiny Baby Man]]
 
*Totally Not A Bot
 
*[http://half-life.wikia.com/wiki/Combine The Combine]
 
*[http://half-life.wikia.com/wiki/Gordon_Freeman The Freeman]
 
*[http://half-life.wikia.com/wiki/The_G-Man The G-Man]
 
*trigger_hurt
 
*[http://left4dead.wikia.com/wiki/Witch WITCH]
 
*ZAWMBEEZ
 
*[[Medic|Ze Ubermensch]]
 
*[[Zepheniah Mann]]
 
*{{W|Hexspeak#Notable_magic_numbers|0xDEADBEEF}}
 
*{{W|Binary_numeral_system|10001011101}}
 
|};Syntax: <code>bot_randomnames <''0/1''></code>
 
::On when set to ''1'', off when set to ''0''
 
;Example: <code>bot_randomnames 1</code>
 
 
|-
 
|-
|{{nw|<big>'''bot_refill'''</big>}}
+
|{{nw|<big>'''<code>bot_refill</code>'''</big>}}
|Refills all bots' Ammo counts, including [[Metal]] for Engineers.
+
|エンジニアの[[metal/ja|メタル]]を含む、ボット全員の弾薬とヘルスを回復します。
  
Syntax: <code>bot_refill</code>
+
;構文: <code>bot_refill</code>
 +
|-
 +
|{{nw|<big>'''<code>bot_saveme</code>'''</big>}}
 +
|<code>bot_command <''name''> "voicemenu 0 0"</code>を全員に入力する事と同じで、このコマンドはボット全員がメディックを呼ぶようになります。
 +
;構文: <code>bot_saveme <''integer''></code>
 +
;変数
 +
:<code><''integer''></code>
 +
::1でボットが全員、メディックを呼ぶようになります。デフォルトは0(無効)です。
 +
|-
 +
|{{nw|<big>'''<code>bot_selectweaponslot</code>'''</big>}}
 +
|ボットに、指定した武器に切り替えるように強制します。対象となるボットは代わりに<code>''cc_bot_selectweapon''</code>で指定します。
 +
;構文: <code>bot_selectweaponslot <''n''> </code>
 +
;変数
 +
:<code><''n''></code>
 +
::''n'' の値は切り替えさせたい武器のスロットナンバーです。
 +
::0 = メイン武器; 1 = サブ武器; 2 = 近接武器; 3 = その他の武器
 +
;例
 +
:<code>bot_selectweaponslot 2 </code>
 +
|-
 +
|{{nw|<big>'''<code>bot_teleport</code>'''</big>}}
 +
|ボットを選び、指定した場所にテレポートさせる事ができます。
 +
自分が経っている場所はコンソールに<code>Status</code>を入力すれば確認できます。
 +
;構文: <code>bot_teleport <''name''> <''X''> <''Y''> <''Z''> <''Pitch''> <''Yaw''> <''Roll''></code>
 +
::''name''にはテレポートさせたいボットの名前もしくはIDを入れましょう。
 +
;変数
 +
:<code><''name''></code>
 +
::テレポートさせたいボットの名前を入れます。
 +
:<code><''X''> <''Y''> <''Z''></code>
 +
::テレポートさせたいマップの座標を入れます。
 +
:<code><''Pitch''> <''Yaw''> <''Roll''></code>
 +
::ボットを向かせたい方向を選びます。
 +
;例
 +
:<code>bot_teleport bot01 -4815 1385 -447 0 0 0</code>
 
|-
 
|-
|{{nw|<big>'''bot_saveme'''</big>}}
+
|{{nw|<big>'''<code>bot_whack</code>'''</big>}}
|This makes all the bots call for a Medic, equivalent to issuing <code>bot_command <''botname''> "voicemenu 0 0"</code> to every bot.
+
|指定したボットに致命傷を負わせます。通常は、現在構えている武器でボットを殺すことになります。このコマンドはおそらく開発中のテストプレイで使用されるものです。チームメイトのボットは mp_friendlyfire が1になっている場合だけこのコマンドで殺せます。0になっている場合、何も起こりません。
Syntax: <code>bot_saveme <''0/1''></code>
+
;構文: <code>bot_whack <''name''></code>
::On when set to ''1'', off when set to ''0''
+
;変数
 +
:<code><''name''></code>
 +
::攻撃したいボットの名前を入れます。
 +
;例
 +
:<code>bot_whack bot01</code>
 
|-
 
|-
|{{nw|<big>'''bot_selectweaponslot'''</big>}}
+
|{{nw|<big>'''<code>cc_bot_selectweapon</code>'''</big>}}
|This makes the first bot select weapon in specified weapon slot.
+
|ボットに、指定した武器に切り替えるように強制します。
0 = primary; 1 = secondary; 2 = melee; 3 = special
+
;構文: <code>cc_bot_selectweapon <''name''> <''n''> </code>
Note this only works for the first bot spawned.  There doesn't seem to be a way to specify other bots.
+
;変数
 
+
:<code><''n''></code>
;Syntax: <code>bot_selectweaponslot <''n''></code>
+
::''n'' の値は切り替えさせたい武器のスロットナンバーです。
::Set ''n'' to weapon slot that bots should switch to.
+
::0 = メイン武器; 1 = サブ武器; 2 = 近接武器; 3 = その他の武器
;Example: <code>bot_selectweaponslot 2</code>
+
:<code><''name''></code>
 +
::武器を切り替えさせたいボットの名前を入れます。
 +
;
 +
:<code>cc_bot_selectweapon bot12 2</code>
 
|-
 
|-
|{{nw|<big>'''bot_teleport'''</big>}}
+
|{{nw|<big>'''{{code|bot_hurt}}'''</big>}}
|Teleports a specified bot to a given coordinate.
+
|このコマンドを使うと、指定したクラスが指定された名前で、指定されたチームに参加します。チームおよびボットの名前が省略された場合はランダムに選ばれます。
Map coordinates of where you are standing can be found by typing <code>Status</code> in the console.
 
  
;Syntax: <code>bot_teleport <''botname''> <''X''> <''Y''> <''Z''> <''Pitch''> <''Yaw''> <''Roll''></code>
+
;構文: {{code|bot_hurt [<''name''>] [<''team''>] [<''damage''>]}}
::Where ''botname'' is the bot name or id to teleport.
 
::<code>''X'' ''Y'' ''Z''</code> are the map coordinates.
 
::<code>''Pitch'' ''Yaw'' ''Roll''</code> is the direction the bot should face.
 
;Example: <code>bot_teleport bot01 -4815 1385 -447 0 0 0</code>
 
|-
 
|{{nw|<big>'''bot_whack'''</big>}}
 
|Delivers lethal damage from player to specified bot. This basically kills the bot with the currently selected weapon, probably used for testing during development.
 
  
;Syntax: bot_whack <''botname''>
+
;変数
::Where ''botname'' is the name of bot to "whack".
+
:<code><''name''></code>
;Example: bot_whack bot109
+
::ダメージを与えたいボットの名前を入れます。
 +
:<code><''team''></code>
 +
::ダメージを与えたいボットのチームを指定できます。チーム名は''[[RED/ja|RED]]''および''[[BLU/ja|BLUE]]''、''all'' のどれかを入力できます。
 +
:<code><''damage''></code>
 +
::ボットに受けさせるダメージ量を指定できます。値がマイナスになる場合はボットを[[overheal/ja|オーバーヒール]]します。
 +
:<code><''burn''></code>
 +
::ボットに火を付けますが、ボットは延焼ダメージを受けません。
 +
;
 +
:<code>bot_hurt -name joe -team red -damage 150</code>
 
|}
 
|}
  
== Update history ==
+
== 備考 ==
{{update history|
+
* ボットの種類にかかわらず、{{code|nb_select}} {{code|nb_warp_selected_here}} などのデバッグコマンドで制御することも可能です。
'''[[December 17, 2009 Patch]]''' ([[WAR! Update]])
 
* Added work-in-progress Bots for beta testing in KOTH maps.
 
 
 
'''[[January 6, 2010 Patch]]
 
* Various improvements to combat behaviors.
 
* In KOTH mode, Bots are now:
 
** More likely to roam around and hunt enemies if there is lots of time left.
 
** Become more likely to push for the point as time runs down, or their teammates start to capture it.
 
* Medic bots now:
 
** Opportunistically "overheal" nearby friends when they can.
 
** Prioritize healing of injured nearby friends more.
 
** Don't focus on Heavies quite so exclusively.
 
** Don't spam their Medi Gun continuously at round start.
 
** Won't choose cover far below their heal target so much (koth_nucleus).
 
** Fight back with their Syringe Gun appropriately.
 
* General bot improvements:
 
** They no longer stand still on the point when capturing or defending it.
 
** They choose more varied routes now.
 
** They choose better defensive spots around captured points.
 
** They fall back to another weapon when they entirely run out of ammo.
 
** They adjust their FOV when using zoomed in Sniper scope.
 
** They treat in-range Sentry Guns as the most dangerous threat.
 
** They fire their weapons is more realistic bursts.
 
** Engineers use their Shotgun properly.
 
* Added a "virtual mousepad" concept to rework how bots track enemy players.
 
** They now periodically estimate the position and velocity of the enemy they are tracking, instead of "locking on".
 
** Addresses the "180 spin around and fire", "Heavy bot is OP", "Sniper bot is OP", and "I can't fight a Heavy bot as a Scout" issues.
 
* Tuned Sniper spot finding algorithm to generate more diverse locations, partially .addressing the "Predictable Sniper camping spots" issue.
 
* Soldier bots are more careful to not fire rockets that will explode on nearby geometry and kill them.
 
* Fixed a bug where bots tried to heal from a Dispenser being carried by an Engineer.
 
* Tuned scoreboard logic to guard against malicious server operators spoofing bot pings to hide the "BOT" tag.
 
* Added more bot names as suggested by the TF community.
 
 
 
'''[[April 28, 2010 Patch]]
 
* Bots don't retreat to gather health as readily if they are in combat.
 
* Bots no longer retreat when moving to block a point capture.
 
* Bots should now equip an appropriate combat weapon and fight while moving to collect health.
 
* Bots who are roaming the map and hunting now chase down their victims, following them around corners.
 
* Bots that fire projectiles (ie: rockets/grenades/etc) don't hold down their fire button for a minimum time. This was causing Soldier bots to fire rockets into nearby walls as they strafed, killing themselves.
 
* Soldier bots now switch to their Shotgun after firing all four rockets when engaging an enemy.
 
* Added a few more bot names from community suggestions.
 
* Fixed a behavior loop with Engineer metal gathering.
 
 
 
'''[[June 10, 2010 Patch]] ([[Mac Update]])
 
* Added Offline Practice mode, with support for KOTH maps and Dustbowl.
 
* {{Undocumented}} Looking at a bot player for a few seconds now causes it to taunt.
 
 
 
'''[[June 11, 2010 Patch]]'''
 
* Fixed a case where servers could get stuck in an infinite loop while spawning bots.
 
* Fixed a level change crash related to Bot navigation meshes.
 
 
 
'''[[June 14, 2010 Patch]]
 
* Fixed server crash related to bots and health kits.
 
 
 
'''[[June 16, 2010 Patch]]
 
* Medic bots now respond when nearby humans call for Medic.
 
* If a Medic bot is healing you and has an ÜberCharge ready, using the voice commands "Go go go!" or "Activate Charge!" will force the Bot to activate the ÜberCharge.
 
 
 
'''[[July 19, 2010 Patch]]
 
* Improved performance of bot computations that are done when a point is captured, a round starts, or a checkpoint reached.
 
* Fixed Engineer bots infinite build-destroy behavior loop regression.
 
* Fixed Medic bots losing their charge if they touch a resupply cabinet.
 
* Fixed a crash due to having multiple types of bot systems running in-game simultaneously.
 
* Fixed bot behavior issue resulting in bot pile-ups near level 3 [[Teleporter]] entrances.
 
* Bots no longer consider sapped Sentry Guns a dangerous threat.
 
* Bots will not try to navigate through enemy spawn rooms (unless they have won the round).
 
* Engineer bots will avoid building Teleporters on steep slopes which could hinder teammate movement.
 
* Added tf_bot_pyro_always_reflect cvar. Set to 1 to make Pyro bots always reflect projectiles, regardless of difficulty level.
 
 
 
'''[[April 14, 2011 Patch]] ([[Hatless Update]])
 
* Added Spy TFBots. Spy bots have basic cloaking, diguising, sapping, and backstabbing behaviors now, and are ready to join the fight
 
* TFBots understand the basics of the Payload scenario now, and will push the cart on offense, and try to stop the cart on defense
 
* Added navigation meshes for pl_goldrush, pl_badwater, pl_upward, pl_thundermountain, and pl_hoodoo_final
 
* Improved TFBot reactions to cloaked and/or disguised enemy Spies
 
* Improved Demoman bot behaviors for planting sticky bomb traps
 
* Demoman bots will now try to move to a safe spot and lob stickybombs onto enemy sentry nests to destroy them
 
* Soldier bots switch to their Shotgun after emptying their Rocket Launcher at close/medium range
 
* TFBots will no longer hide from sapped or carried sentryguns
 
* Engineer bots are better at moving their Sentry Gun nest as the scenario changes
 
* Improved Sniper bot algorithm for finding good sniping spots for both Capture Point and Payload scenarios
 
* Sniper bots will take opportunistic shots at targets while they move to their desired sniping spot
 
* Fixed bug where Sniper bots would sometimes stand around in their spawn room doing nothing.
 
* Improved TFBot ability to find a safe vantage spot to attack enemy Sentry Guns
 
* TFBots will no longer try to use a teleporter entrance they can't actually reach
 
* Added <code>tf_bot_melee_only</code> cvar. If set to 1, all TFBots will be restricted to only using their melee weapon
 
 
 
'''[[April 18, 2011 Patch]]'''
 
* Fixed a server crash that could occur if TFBots were used across map changes
 
 
 
'''[[May 5, 2011 Patch]]''' ([[Replay Update]])
 
* {{Undocumented}} Bots now properly target the Horseless Headless Horsemann as an enemy.
 
 
 
'''[[July 22, 2011 Patch]]'''
 
* {{Undocumented}} Bots now work on CTF maps.
 
 
 
'''[[July 26, 2011 Patch]]'''
 
* Fixed a rare crash bug with the [[Demoman]] TFBot laying [[stickybomb]] traps
 
 
 
'''[[August 23, 2011 Patch]]'''
 
* Fixed crash with Demoman* bots trying to detonate stickybombs that had already been destroyed
 
* Added tf_bot_kill console command (syntax identical to tf_bot_kick)
 
* Bots obey melee only mode a bit better
 
* Added func_nav_avoid to allow map creators control over where bots "like" to go
 
* Fixed issue with Demoman bot reloading between each stickybomb he fired, causing him to be very slow at setting traps/destroying sentries
 
* Bots never taunt if carrying the flag now
 
* Aiming logic for Huntsman sniper bots
 
* Sniper bots prioritize enemy snipers more aggressively, as well as enemy engineers now
 
* Improved Demoman bot sentry gun sticky bombing
 
* Bots will no longer try to use health entities assigned to the enemy team
 
* Added simplistic behaviors for Chargin' Targe, and various consumables (Bonk drink, sandvich, etc)
 
* Medic* bots stay a bit closer to their patient now
 
* Sniper* bots go after very nearby enemies with their melee weapon now
 
* Added func_tfbot_hint entity to allow map creators to tell sniper bots good places to lurk
 
* Sniper* bots opportunistically fire on viable targets they encounter while on the way to their desired lurking spot
 
* Spy* bots are more aggressive about backstabbing an engineer before sapping his nest now
 
 
 
}}
 
  
==References==
+
==参照==
 
<references/>
 
<references/>
  
[[Category:Customization]]
+
[[Category:Customization/ja]]
[[Category:Gameplay]]
+
[[Category:Gameplay/ja]]

Latest revision as of 05:55, 7 March 2022

Dustbowl Training にいるソルジャーのボット
この記事はTeam Fortress 2上でにコンピュータ側で操作するボットについて記載しています。
人間のチームメイトは時にお前を責める。じゃあこの不愛想なカラクリ人形共はどうだ?そうだ、奴らだって物は見える。しかし口を利くことは一切ない。お前がいかにポンコツ野郎だったか、奴らは死ぬまで誰にも明かすことは無いのだ!
ソルジャー

Bot もしくはBOT(ボット)は、サーバー上でコンピューターに操作されているプレイヤーの事です。Team Fortress 2 にはAI(人工知能)ボットとパペット(人形)ボットの2種類のボットが存在します。AIボットはプレイヤーの動きを真似るように作られている高度な人工知能で、チートをオンにしなくても使用可能です。パペットボットにはAIコードがありませんが、テストと練習には大変便利です。パペットボットを出現させるにはサーバーのチートをオンにする必要があり、またパペットボットを実績の達成に用いることは出来ません。

AI ボット

AIボットは人間のプレイヤーの動きを再現するように設計されており、直接操作をすることは出来ません。ボットのクラスはランダムで選ばれます。このボットのAIコードは "Left 4 Dead" シリーズのプレイヤーボットと感染者の、洗練されたAIコードをベースに作られました。[1] AIボットを出現させるためにサーバーのチートをオンにする必要はありません。 従って、一部例外を除いて実績の達成に用いることが出来ます。例えばボットは殺された際にキルカメラを見ることが出来ないため、プレイヤーはキルカメラに関する実績を達成する事は出来ません。また、ストレンジクオリティの武器でボットをキルした際、その武器に Strange Part を装着していない限り、キル数にはカウントされません。Strange Part を装着してキルした場合は、武器のメインのカウンターではなく Strange Part にカウントされます。

AIボットには、「イージー」から「エキスパート」まで4種類のスキルが存在します。Steam のコミュニティガイドにて、Sigsegv氏が各スキルの違いや詳細について解説(英語)してくれています。

プレイヤーは以下の通り、AIボットを間接的に操作することができます。

  • セットアップタイム時にプレイヤーが照準で焦点をあわせた味方、 または敵のボットは挑発を行います。
  • メディックボットは "メディック!" のボイスコマンドを使用したプレイヤーを回復します。
  • メディックボットが自分を回復していて、かつチャージゲージが満タンの時に "ゴー!ゴー!ゴー!" または "チャージを頼む!" のボイスコマンドを使用するとメディックボットはすぐにユーバーチャージを展開します。
  • メディックボットのチャージゲージが満タンの時に、メディックボット自身もしくはその回復対象が大ダメージを受けた際はすぐにユーバーゲージを展開します。
  • ボットの近くで High Five!コンガなどの挑発を実行するとボットはそれに参加します。

パスファインディング

公式がボットの動きをサポートしているマップ

マップ ゲームモード ファイル名
Dustbowl 攻撃/防御 cp_dustbowl
Gorge 攻撃/防御 cp_gorge
Gorge Event 攻撃/防御 cp_gorge_event
Mann Manor 攻撃/防御 cp_manor_event
Mercenary Park 攻撃/防御 cp_mercenarypark
Mossrock 攻撃/防御 cp_mossrock
Badlands (CP) コントロールポイント cp_badlands
Foundry (CP) コントロールポイント cp_foundry
Granary (CP) コントロールポイント 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) キングオブザヒル 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 Event キングオブザヒル koth_moonshine_event
Nucleus (KOTH) キングオブザヒル koth_nucleus
Probed キングオブザヒル koth_probed
Sawmill (KOTH) キングオブザヒル koth_sawmill
Slasher キングオブザヒル koth_slasher
Viaduct キングオブザヒル koth_viaduct
Badwater Basin ペイロード pl_badwater
Barnblitz ペイロード pl_barnblitz
Bloodwater ペイロード pl_bloodwater
Brimstone ペイロード pl_fifthcurve_event
Enclosure ペイロード pl_enclosure_final
Gold Rush ペイロード pl_goldrush
Gravestone ペイロード pl_rumble_event
Hoodoo ペイロード pl_hoodoo_final
Precipice[OfficialSupport 1] ペイロード pl_precipice_event_final
Swiftwater ペイロード pl_swiftwater_final1
Thunder Mountain ペイロード pl_thundermountain
Upward ペイロード pl_upward
Pier ペイロード pl_pier
Wutville[OfficialSupport 1] ペイロード pl_wutville_event
  1. a b Precipice と Wutville にて、BLUボットがとあるスポーン地点を離れる際に動けなくなってしまいます。なのでBLUチームがほとんどもしくは全く死なず、スポーン地点の付近にカートがある場合のみBLUチームが勝利できるようになっています。

サポートされていないマップでボットを使用する方法

  1. コンソールに "sv_cheats 1" と入力する
  2. コンソールに "nav_generate" と入力する
  3. ゲームのAIパスが自動生成されるのを待つ
  4. Mマップが再ロードされる (ナビゲーションファイルは保存されるため、前のステップを繰り返す必要はありません)
  5. コンソールを開き、 ""tf_bot_add <数値>"" のように入力してボットを追加する

注)既にボットが居る状態でナビゲーションメッシュをいじると、ゲームが落ちる可能性があります。

上記の手順を1度行ったマップなら、ボット追加コマンド "tf_bot_add <number>" 以外の手順を繰り返す必要はありません。

自動生成されたメッシュは、コントロールポイント、キングオブザヒル、ペイロードおよび旗取りのゲームモードにてその効果を発揮します。 Mannpower マップの場合、ボットは旗取りモードとして動きます。しかしボットは Grappling Hook を使わず、パワーアップを取得しても効果的に使う事が出来ません。

公式がボットの動きをサポートしていないマップ

AIボットコマンド

より詳細なコマンドの情報については、こちらをご覧ください。

サポートされているマップでは、サーバー管理者がコンソールに以下のコマンドを入力することでAIボットを使用できます。[2]

コマンド 解説
tf_bot_add このコマンドを使うと、ランダムに選ばれたクラスが任意のチームに参加します。ボットの名前もランダムに選ばれます。
構文
tf_bot_add [<count>] [<class>] [<team>] [<difficulty>] [<name>]
変数
<count>
追加したいボットの数を指定できます。何も入力しなかった場合は1体スポーンします。
サーバーの最大人数を超えてしまう数値を入力した場合、エラーメッセージが表示されて失敗します。
mp_teams_unbalance_limitの値が低すぎる場合、片方のチームだけにボットを複数作成しようとしても自動でオートバランスが行われます。
<class>
ボットのクラスを指定できます。クラス名を入力する場合はDemomanEngineerHeavyWeaponsMedicPyroScoutSoldierSniperSpyという表記を使います。
<team>
ボットを追加するチームを指定できます。チーム名を入力する場合はREDおよびBLUEという表記を使います。
<difficulty>
ボットのレベル(難易度)を指定できます。指定する場合はeasynormalhardexpertという表記を使います。
<name>
ボットの名前を指定できます。
tf_bot_add 3 heavyweapons red easy を入力すれば、EasyレベルのREDヘビーを3体追加できます。
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>
ボットのクラスを指定できます。クラス名を入力する場合はDemomanEngineerHeavyWeaponsMedicPyroScoutSoldierSniperSpyという表記を使います。デフォルトは"" (空白)です。
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 0の場合、ボットは常にクラスを変えてリスポーンします。
構文
tf_bot_keep_class_after_death <integer>
変数
<integer>
1か0で指定します。デフォルトは0(無効)です。
tf_bot_keep_class_after_death 1 を入力すれば、ボットはクラスを変更しません。
tf_bot_kick ボットを1人、もしくは全員削除します。
構文
tf_bot_kick <name/all>
変数
<name/all>
削除したいボットの名前もしくは全員かを指定できます。
tf_bot_kick CEDA を入力すれば、「CEDA」という名前のボットを消すことができます。tf_bot_kill のコマンドと同様、「Black Mesa」などの2単語で構成される名前を入力する際は tf_bot_kick "Black Mesa" という風に引用符(””)で囲む必要があります。
tf_bot_kill ボットを1人、もしくは全員殺します。
構文
tf_bot_kill <name/all>
変数
<name/all>
殺したいボットの名前もしくは全員かを指定できます。
tf_bot_kill CEDA tf_bot_kill CEDA を入力すれば、「CEDA」という名前のボットを殺すことができます。tf_bot_kick のコマンドと同様、「Black Mesa」などの2単語で構成される名前を入力する際は tf_bot_kill "Black Mesa" という風に引用符(””)で囲む必要があります。
tf_bot_melee_only ボットが近接武器のみを使うかどうか指定できます。
構文
tf_bot_melee_only <integer>
変数
<integer>
1か0で指定します。デフォルトは0(無効)です。
tf_bot_melee_only 1 を入力すれば、近接武器のみを使用するボットを生成できます。
tf_bot_prefix_name_with_difficulty 0以外の場合、名前の前にそれぞれの難易度表記が付いたボットを生成できます。
構文
tf_bot_prefix_name_with_difficulty <integer>
変数
<integer>
1か0で指定します。デフォルトは0(無効)です。
tf_bot_prefix_name_with_difficulty 1 を入力すれば、"Normal Aimbot" や "Expert Saxton Hale" といった風にボットの名雨に前に難易度表記を付けられます。
tf_bot_quota ボットの上限数を指定できます。tf_bot_quota_mode が "fill" もしくは "match" の場合のみ設定できます。
構文
tf_bot_quota <integer>
変数
<integer>
0~サーバー内プレイヤー上限数の間の数値で指定します。デフォルトは0です。
tf_bot_quota 2 と、tf_bot_quota_modematch と指定した場合、プレイヤー1人につき2体のボットが追加されます。
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 - 人間のプレイヤー数)人のボットをゲームに参加させることができます。
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
変数
なし

AIボットの現状について

AIボットは完全にリリースされている状態です。[要出典]Hatless アップデートを経て、かつてバグの多かったスパイボットを含め、全てのボットが正常に動くようになりました。AIボットはキングオブザヒルマップのほとんどと、ペイロードマップのいくつか、そして攻撃/防衛マップのDustbowlGorge旗取りマップ、そしてMann Manorで正常に機能します。 (最後の2つは、tf_bot_add をコマンドに入力する必要があります。)サポートされていないマップでボットを使用する際は、とある手順を踏む必要があります。ただし必ずしも人間のように動いてくれるとは限りません。

ボットは Hightower にある手すりを飛び越えられず、またスポーンした後にどこかにスタックしてしまうので、どのペイロードレースマップでも正しく動いてくれません。またボットは、他のPLRマップにてダンスパーティーをします(これは将来的に修正されるかもしれません)。[要出典]

AIボットの行動パターン

  • 現在、ボットのロードアウトはデフォルトのみです (カスタムMODもしくはプラグインを使えばデフォルト以外のロードアウトにできます)。
  • 初級難易度のボットはサブ武器、近接武器をめったに使いません。上級難易度のボットはメイン武器の弾薬が切れた場合や、敵との距離を考慮した場合にサブ武器に切り替えて使用します。
  • ボットは特殊ジャンプ(ロケットジャンプ等)や装置の運搬をしません。
  • ボットは敵を殺した直後に挑発をする事があります。周りからの攻撃を受けていても挑発を実行します。また、ボットは敵の機密情報を運んでいる際に挑発はしません。Mann vs. Machineロボット達も同じ振る舞いをします。
  • スパイのボット(およびプレイヤー)の変装に、他のボットは一切気付きません。しかし彼らに触れてしまったり、サッピングや攻撃、 および透明化をするとそれを目撃したボット全員に気付かれてしまいます。見えない場所で変装するか、死ぬか、Dead Ringerで擬死でもしないと、ボットたちは誰がスパイなのかをずっと覚えています。
  • 中級以上の難易度のパイロは、敵の攻撃に対して圧縮ブラストを使ってきます。
  • スナイパーやエンジニアが「メディック!」と呼びかけても、メディックボットはまず他のクラスを回復しに行きます。
  • メディックボットは人間のプレイヤーのパイロ、ソルジャー、デモマン、ヘビーを優先的にポケットしてくれます。他のクラスを選んだ場合はあまりポケットしてくれません。
  • チャージゲージが満タンなメディックボットは、回復対象が傷つくとすぐさまユーバーチャージを展開します。このシステムは Mann vs. Machineユーバー・メディックにも適用されています。
  • ボットはセットアップタイムに攻撃することはありません(例外としてデモマンボットはセットアップタイム中に粘着爆弾を仕掛けます)。
  • エンジニアボットはテレポーターをアップグレード(もしくはサッパー除去)しません。また、セントリーガンを修復しない時もあります。
  • エンジニアボットは、仲間のエンジニアの装置が自分のターゲットの障害物にならない限り、仲間の装置を修理もしくはアップグレードする事はありません。
  • 攻撃/防衛もしくはペイロードマップのセットアップタイム中にて、攻撃チームのエンジニア、スナイパー、スパイ以外のボットはリスポーン位置から動きません。
  • スパイボットは自身の存在がバレた場合、バックスタブを諦めてリボルバーを撃ちながら後退します。
  • デモマンボットはセントリーガンで1回死ぬとその設置位置を記憶して、セントリーガンの射程圏外に立ち粘着爆弾を仕掛けて破壊を試みます。この際に壁や天井が障害物になる事もあります。
  • スナイパーボットは、スコープを覗いても敵が居なかった場合、ボイスコマンドの「ネガティブ」をつぶやきます。

バグ

  • ボットは壁に向かって歩いたり、攻撃したりする。
  • スパイボットもしくはプレイヤーが透明化/解除および変装/解除すると、他のボットはよそをしていても背後を振り向きこちらを見る。これはスパイボットもしくはプレイヤーが発する足音や武器の音に反応してこちらを見ているわけではない。
  • まれにテレポーターをボットが取り合い、スタックしてしまうことがある。
  • ボットが「スパイだ!」や「前進!」のボイスコマンドを使用しても、そのテキストは表示されない。
  • プレイヤーを回復中メディックボットは、自身のヘルスがかなり低下しても攻撃を避けたりヘルスキットを拾ったりしない。
  • ボットは挑発中に動けるので、Holiday Punchが効かない。
  • 攻撃を受けたメディックボットは注射銃で反撃できない事があり、たまに骨用電ノコを構えたり、ごくまれにメディガンを使うことがある。
  • メディックボットは注射銃を使う際に、エイムが定まらなかったり、発射物の重力を補正できなかったりする。これはAIコードが注射銃をヒットスキャン武器として認識できていない可能性がある。
  • スパイボットは難易度にかかわらず、透明化した敵のスパイ(ボットまたはプレイヤー)が正体を現した際にそれを見て後を追うことができてしまう。
  • スパイが敵チームに居ないクラスに変装しても(ボットはこのような事はしない)、敵に触れるとスパイだと言われてしまう。
  • ボットはオートバランスに反することは絶対ない。特定のチームに特定のクラスのボットを追加したいならば mp_teams_unbalance_limit の値を0にする必要がある。
  • エンジニアボットは自分が建てた装置を、敵に破壊されるまで放置してしまう事がある。
  • ヘビーボットは弾薬が切れてもミニガンを回し続ける事がある(上級以下の難易度でよく起こる)。
  • 試合に負けたメディックボットは、虐殺タイムの最中に周りに敵が居なければ自殺する事がある。コマンドを使用してもプレイヤーはこれを真似できない。
  • ロードアウトメニューのプレビューをBLUチームに設定していると、REDのボットがBLUとして表示されてしまう。
  • ナビゲーションメッシュを生成しても、以下のマップではボットは正常に動かない。(スパイボットおよびスナイパーボットは動く可能性がある。)
  • 近接武器を構えたボットは、弾薬を補給しても近接武器を構えたままの事がある。
    • 対処としてそのボットを殺すか、ランダムにクラスを変更してやれば直る。
  • ジャングル・インフェルノ アップデート を経て、特定のコマンド(例えば tf_bot_add 5 pyro blue normal など)で出現させたボットはリスポーン地点で死んでしまうようになった。対処として sv_cheats を1にし、tf_bot_reevaluate_class_in_spawnroom 0 を入力すると良い。

AIボット名

TFボットは様々な名前を持つようにプログラミングされており、TF2用語や 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チーム」に「Blu Hoovy」という名の「ヘビー」を追加することができます。

第三者ボット

現在TF2用に開発されているボットはRCbot2のみです。Cheeseh 氏によって開発および管理されており、このサイトで確認できます。

もしくは、[APG]財団のビルドを使う手もあります。このビルドはTF2の最新アップデートに対応しており、ボットが破損するのを防ぐことができます。しかしボットを正常に動かすためには最新の Hookinfo を探す必要があります。これを使用して、Hookinfo ツールから config.ini のオフセット値を調整してください。 (最新版は2020年6月19日の v1.3-APG)

ボットはウェイポイントシステムで動作するため、コマンドを使うのではなくあらかじめプレイヤーが手動でセットアップする必要があります。RCBot2は独自のボットなので通常のTFボットと一緒に動作させることも可能です。

RCBot2の特徴

  • ソルジャーボットはロケットジャンプ、デモマンボットは粘着ジャンプをすることができます。(マップにウェイポイントがある場合のみ)
  • エンジニアボットは旗取りマップやその他のマップで正しく動作します。
  • ボットは「ハンツマン」や「喉ごしガツン!アトミックパンチ」などのカスタムロードアウトを使用します。
  • ボットはスパイチェックをします。スパイがいずれかのボットに変装し、変装の対象になったボットがそれを目撃した場合、スパイを攻撃し始めます。
  • ボットは音声コマンドを使用します。TFボットと異なり、テキストログにも内容が表示されます。
  • ボットは Mann VS Machine の防衛側に参加できますが、アップグレードの購入はしません。
  • CPマップで遊ぶ際、ボットたちはラウンド開始まで動き回ります。まるで人間のプレイヤーのように、音声コマンドを発しながら近接武器でランダムに殴り合います。
  • エンジニアボットはある程度時間が経過すると装置を運搬できるようになります。
  • ボットのエイム力や度胸などの情報をカスタマイズすることが可能です。
  • エンジニアボットは自分のセントリーガンのアップグレードが完了すると、仲間のエンジニアのセントリーガンをアップグレードしたり、サッパーを除去したりしてくれます。
  • ボットがセントリーガンの標的にされて逃げ切れた場合、「前方にセントリーガン!」のボイスコマンドを使用します。
  • エンジニアボットはテレポーターをウェイポイントがある場所に設置し、またアップグレードも行います。
  • 時々、敵のメディックボットが変装したスパイを回復してしまうことがあります。
  • スパイボットが接近したターゲットが振り向いた場合、スパイボットは向こうがまたよそ見をするまで離れます。
  • スカウトボットはダブルジャンプができます。しかしソルジャーボットやデモマンボットと同様に、ウェイポイントが無いとできません。
  • スカウトボットは「喉ごしガツン!アトミックパンチ」を効果的に使用できます(いったん後退し、飲んでからまた前線に向かうなど)。
  • メディックボットはヘルスが減ったクラスを平等に回復してくれます。しかしソルジャーとヘビーは他のクラスより優先度が高いです。
  • ボットは仲間をバックスタブしたスパイを即座に攻撃しません。ボットはスパイを目で追うか、そのスパイが攻撃されているか確認しなくてはなりません。
  • ディスペンサーやメディガンで回復したボットは「ありがとよ!」のボイスコマンドを使用します。
  • ボットは頻繁に振り向いてスパイチェックをします。
  • RCBot2には「信用」システムが存在し、仲間がスパイか否かや、バックスタブに対応するため攻撃するか観察するかなどを考えます。
  • RCBot2はTFボットと違って、マリオカートやペイロードマップなどの複雑なマップに加え plr_hightower_event、sd_doomsday_event、sd_doomsday などのハロウィーンマップで正常に動きます。

RCBot2のバグ

  • ウェイポイントの性質上、RCBot2のパスはTFボットほど予測不可能に作られておらず、RCBot2は他のボットと頻繁にぶつかり、どちらかが死ぬまでお互いスタックしてしまうことがある。
    • スパイボットも同じ理由でプレイヤーにぶつかったまま動けなくなることがある。スパイボットは設定された範囲しか移動できず、一定の軌道上にとどまる。
  • エンジニアボットはディスペンサーの設置に手こずる。かつ自分の意志で自由な場所に配置する。
  • デモマンボットは敵が粘着爆弾の上に立っているかどうかが分かり、敵が視界にいなくても爆破させることができる。
  • エンジニアボットはたまにセントリーガンの向きを間違える。
  • RCbot2はウェイポイントの設定されていない場所に飛ばされると、そこから動けなくなる。例えば Nucleus の屋根付近など。
  • RCbot2はヘルスキットを拾った際にも「ありがとよ!」のボイスコマンドを使用する。
  • RCbot2は泳いだ後に移動速度が低下してしまう。
  • RCbot2は武器を使う際に相手の動きを予測できない。
  • メディックボットは、特にチャージゲージが満タンの際、一人のプレイヤーにポケットすることはない。
  • スパイボットは敵エンジニアの装置を壊すために積極的に動いたり、すぐさまサッパーを仕掛けたりしない。
  • SourceMod のプラグインの一部はRCBot2の smac_cvars.smx と相性が悪い可能性がある。しかし [APG]RoboCop[CL] 氏が「config.ini」の中に「sm plugins unload <PLUGIN-NAME>」を追加することでこれを回避している。

不具合があった場合は必ずRCbotのウェブサイトまたは Discord の Bots-Unitedチャンネルに報告して下さい。Team Fortress wiki と Valve 社はRCbot2について一切責任を負いません。

パペットボット

パペットボットにはAIコードが無く、自身で動き回ったり何かをすることはできません。パペットボットはパペットのように扱えるので、プレイヤーを追いかけさせたり武器を使わせたりと、プレイヤーのコマンドに従って動かすことができます。使用用途は主にテストで、以下に示すような指示をしてやると こんなことも出来たりします。

パペットボットコマンド

全てのコマンドが正常に機能するわけではなく、省かれている作業コマンドもあります。

AIボットにこのコマンドを指示した場合は、うまく機能したりしなかったりします。 注)値を入れずにコマンドを送信すると、現在の設定と簡単な説明が表示されます。

コマンド 解説
bot このコマンドを使うと、指定したクラスが指定された名前で、指定されたチームに参加します。チームおよびボットの名前が省略された場合はランダムに選ばれます。
構文
bot [<teamname/number>] [<classname>] [<name>] [<number>]
変数
<number>
追加したいボットの数を指定できます。
<teamname/number>
ボットを追加したいチームをアルファベットもしくは数字で指定できます。チームを指定する場合は REDもしくは1BLU もしくは 0という表記を使います
<classname>
ボットのクラスを指定できます。クラス名を入力する場合はDemomanEngineerHeavyWeaponsMedicPyroScoutSoldierSniperSpyという表記を使います。
<teleport>
カーソルで狙っている場所にボットをテレポートできます。
<targetdummy>
スポーンさせたボットのヘルスが減るのを防ぎます。
<name>
どんな名前でもOKです。既に同じ名前のボットがいる場合は、名前の先頭に括弧で囲まれたナンバーが追加されます。例えばJoe、(1)Joe、(2)Joeという感じになります。名前を指定しなかった場合は「bot」の後ろにナンバーが付いたものになります。例えば最初のボットがBot01、次がBot02、と続いていきます。
bot -team red -class Engineer -name joe
bot_changeclass ボットを全員、指定するクラスに変更できます。
構文
bot_changeclass <name> <classname>
変数
<name>
ターゲットボットの名前を指定できます。
<classname>
ボットを切り替えたいクラスの名前です。デフォルトは "" (または空白)です。
bot_changeclass bot01 Soldier
bot_changeteams

ボットを全員、チーム変更させます。 BLUチームに居たボットならばREDに切り替わり、その逆も同じです。

bot_command 指定されたボットに代わって、指定されたコマンドを送信します。
構文
bot_command <name/all> <console command>
変数
<name/all>
コマンドの送信先であるボットの名前およびIDを入力します。「all」を指定した場合すべてのボットにコマンドが送信されます。
<console command>
コンソールコマンドにリストされているもの、およびチートを指定できます。
例1
bot_command bot01 "voicemenu 0 0"
例2
bot_command bot01 "taunt"
スロットのコマンド(slot1、slot2など)は bot_command では機能しませんが、bot_forcefireweaponを使う事でそのクラスの全てのボットに武器を発射させ、その後停止させることが可能です。しかしながらそのクラスのボット全体のみしか機能しません。
bot_dontmove ボットの移動を許可もしくは制限できます。1でボットは移動不可能になりますが、その場でジャンプしたり体の向きを変える事はできます。 このコマンドとbot_mimicを組み合わせれば、ボットを指定した場所へ移動し、そこで待機させることもできます。
構文
bot_dontmove <integer>
変数
<integer>
1でボットの移動を許可できます。デフォルトは0(移動制限)の状態です。
bot_dontmove 1
bot_forceattack このコマンドを使えば、ボットが今構えている武器を自動で発射できます。bot_forceattack2が0に設定されている場合、ボットは primary_fire を実行します。bot_forceattack2が1に設定されている場合、ボットは secondary_fire を実行します。

bot_mimicが1(有効)になっている場合、何も起こらないのでご注意ください。

構文
bot_forceattack <integer>
変数
<integer>
1に設定した場合、全てのボットが銃を発砲します。デフォルトは0(無効)です。
bot_forceattack 1
bot_forceattack2 bot_forceattackを1に設定していると、全てのボットが現在構えている武器で secondary_fire を実行します。
構文
bot_forceattack2 <integer>
変数
<integer>
1に設定すればボットは secondary_fire を実行し、0ならば primary_fire を実行します。
bot_forceattack2 1
bot_forceattack_down これを0に設定していれば、ボットは発射ボタンを何回も押すような状態になります(粘着爆弾ランチャーで役立つ)。1にすれば、押し続けているような状態になります(ミニガンで役立つ)。
構文
bot_forceattack_down <0/1>
変数
<integer>
1もしくは0。0で無効になります。
bot_forceattack_down 1
bot_forcefireweapon ボットが構える武器を指定した武器に切り替え、強制的に武器を発射させます。指定した武器を持っていない場合は何も起こりません。
構文
bot_forcefireweapon <weapon filename>
filename は通常 tf_weapon_ <武器名>となります。
bot_forcefireweapon tf_weapon_fists すべてのヘビーボットの武器をに切り替えさせて連続的に攻撃させ、他のボットは攻撃を停止します。
bot_forcefireweapon tf_weapon_shotgun_pyro すべてのパイロボットの武器をショットガンに切り替えさせて連続的に攻撃させ、他のボットは攻撃を停止します。
ボット全員の攻撃をやめさせたいのであれば、存在しない武器のファイル名を指定するだけです。tf_weapon が含まれていない物はTF2の武器と見なされない為、bot_forcefireweapon ,,等の指定をすればボットは攻撃をしません。
bot_jump ボット全員に繰り返しジャンプをさせる事ができます。
構文
bot_jump <integer>
変数
<integer>
1でボットが全員、ジャンプを繰り返します。デフォルトは0(無効)です。
bot_jump 1
bot_crouch ボット全員をしゃがみ状態にできます。
構文
bot_crouch <integer>
変数
<integer>
1でボットが全員、しゃがんだ状態になります。デフォルトは0(無効)です。
bot_crouch 1
bot_kick 名前を指定してボットを削除したり、チームごと、または全員削除したりできます。
構文
bot_kick <name/team>
指定したボットが死にます。
bot_kick bot01 「bot01」という名前のボットをキックします。
bot_kick red REDチームのボットをまるごとキックします。
bot_kick blue BLUチームのボットをまるごとキックします。
bot_kick all サーバー内のボット全員をキックします。
bot_kill ボットを殺せます。
構文
bot_kill <name>
変数
<name>
指定したボットが死にます。
bot_kill bot01
bot_mirror 指定したボットがプレイヤーのロードアウト(クラス、装飾アイテム、武器)をそっくり真似ますが、いくつかバグがあります。デモマンのプレイヤーがアリババズ・ウィーブーツとシールド系武器を装備している場合、それを真似たボットはモデル上だと同じものを装備しているように見えますが、使っている武器はグレネードランチャー粘着爆弾ランチャーになったままです。ロードアウトを真似たボットが死ぬとそれ以前のロードアウトは引き継がれない為、再び bot_mirror を入力する必要があります。
構文
bot_mirror <name>
name にロードアウトを真似させたいボットの名前を入力します。
bot_mirror bot01
bot_mimic インデックスごとに、ボットがプレヤーのコマンドを真似します。

ボットはプレイヤーの移動、方向転換、ジャンプ、発砲などのキー入力を全て真似します。ボットはメディックコール、武器の切り替え、および挑発は真似できないのでご注意ください。

bot_forceattackはこのコマンドに上書きされますが、bot_dontmoveは上書きされません。

構文
bot_mimic <integer>
変数
<integer>
1か0で指定します。デフォルトは0(無効)です。
bot_mimic 1
bot_mimic_inverse

ボットの動きをプレイヤーと反転させます。左に行けばボットは右に、前に行けばボットは後ろに移動します。 ボットがどの方向を向いているかは、影響しません。

構文
bot_mimic_inverse <integer>
変数
<integer>
1か0で指定します。デフォルトは0(無効)です。
bot_mimic_inverse 1
bot_mimic_yaw_offset

ボットの進行方向を相殺します。 ボットはプレイヤー目線から、指定した角度に向かって進行します。デフォルトの値は180で、ボットが全員プレイヤーの方を向きます。値を0にすれば、ボット全員がプレイヤーと同じ方向を見るようになります。

構文
bot_mimic_yaw_offset <0-360>
角度を入力し、方向を指定します。
bot_mimic_yaw_offset 180
bot_randomnames
構文
bot_randomnames <0>
変数
<integer>
1か0で指定します。デフォルトは0(無効)です。
bot_randomnames 1
bot_refill エンジニアのメタルを含む、ボット全員の弾薬とヘルスを回復します。
構文
bot_refill
bot_saveme bot_command <name> "voicemenu 0 0"を全員に入力する事と同じで、このコマンドはボット全員がメディックを呼ぶようになります。
構文
bot_saveme <integer>
変数
<integer>
1でボットが全員、メディックを呼ぶようになります。デフォルトは0(無効)です。
bot_selectweaponslot ボットに、指定した武器に切り替えるように強制します。対象となるボットは代わりにcc_bot_selectweaponで指定します。
構文
bot_selectweaponslot <n>
変数
<n>
n の値は切り替えさせたい武器のスロットナンバーです。
0 = メイン武器; 1 = サブ武器; 2 = 近接武器; 3 = その他の武器
bot_selectweaponslot 2
bot_teleport ボットを選び、指定した場所にテレポートさせる事ができます。

自分が経っている場所はコンソールにStatusを入力すれば確認できます。

構文
bot_teleport <name> <X> <Y> <Z> <Pitch> <Yaw> <Roll>
nameにはテレポートさせたいボットの名前もしくはIDを入れましょう。
変数
<name>
テレポートさせたいボットの名前を入れます。
<X> <Y> <Z>
テレポートさせたいマップの座標を入れます。
<Pitch> <Yaw> <Roll>
ボットを向かせたい方向を選びます。
bot_teleport bot01 -4815 1385 -447 0 0 0
bot_whack 指定したボットに致命傷を負わせます。通常は、現在構えている武器でボットを殺すことになります。このコマンドはおそらく開発中のテストプレイで使用されるものです。チームメイトのボットは mp_friendlyfire が1になっている場合だけこのコマンドで殺せます。0になっている場合、何も起こりません。
構文
bot_whack <name>
変数
<name>
攻撃したいボットの名前を入れます。
bot_whack bot01
cc_bot_selectweapon ボットに、指定した武器に切り替えるように強制します。
構文
cc_bot_selectweapon <name> <n>
変数
<n>
n の値は切り替えさせたい武器のスロットナンバーです。
0 = メイン武器; 1 = サブ武器; 2 = 近接武器; 3 = その他の武器
<name>
武器を切り替えさせたいボットの名前を入れます。
cc_bot_selectweapon bot12 2
bot_hurt このコマンドを使うと、指定したクラスが指定された名前で、指定されたチームに参加します。チームおよびボットの名前が省略された場合はランダムに選ばれます。
構文
bot_hurt [<name>] [<team>] [<damage>]
変数
<name>
ダメージを与えたいボットの名前を入れます。
<team>
ダメージを与えたいボットのチームを指定できます。チーム名はREDおよびBLUEall のどれかを入力できます。
<damage>
ボットに受けさせるダメージ量を指定できます。値がマイナスになる場合はボットをオーバーヒールします。
<burn>
ボットに火を付けますが、ボットは延焼ダメージを受けません。
bot_hurt -name joe -team red -damage 150

備考

  • ボットの種類にかかわらず、nb_selectnb_warp_selected_here などのデバッグコマンドで制御することも可能です。

参照