BOT作成

Last-modified: 2017-04-27 (木) 12:12:36

TF2では、ゲーム中にBOTを追加して一緒にプレイすることができます。
BOTを操作して、目的の場所まで動かしたり、あなたを攻撃させたり、SGを作らせたりできます。
※WAR!アップデートにより、KOTHマップのみでBOT対戦が行える様になりました。
※詳しくは、GAME LIFE 「Botを試験的に導入」

BOT関連コマンド

BOTを追加したり、情報を設定したりするコマンドです。
これらのコマンドは、実行する前に
sv_cheats 1
を設定しておく必要があります。
また、チームのバランス制限を無しにしておかないと、
BOTを追加してunevenな状態にすることができません。
チームのバランス制限を無しにするときは、
mp_teams_unbalance_limit 0
を設定しておく必要があります。

コマンド内容
botこのコマンドは、ゲームにbotを追加します。
文法:
 bot -team <チーム名> -class <クラス名> -name <BOTの名前>

引数:
 -team <チーム名>:BOTをどのチームに所属させるかを指定します。<チーム名>の部分には、BLUかREDのどちらかを指定します。
 -class <クラス名>:BOTをどのクラスにするかを指定します。<クラス名>の部分には、Scout、Soldier、Pyro、Demoman、HeavyWeapons、Engineer、Medic、Sniper、Spyのうちどれかを指定します。
 -name <BOTの名前>:追加するBOTに与える名前を指定します。

使用例:
 bot -team RED -class Soldier -name testbot
 これで、REDチームにtestbotという名前のSoldierのBOTが追加されます。
bot_changeclassこのコマンドは、ゲーム中の全てのBOTのクラスを指定したクラスに変更します。現在のところ未実装のようです。
bot_changeteamsこのコマンドは、ゲーム中の全てのBOTが所属しているチームを変更します。REDチームに所属していたBOTはBLUチームへ、BLUチームへ所属していたBOTはREDチームに変更されます。
文法:
 bot_changeteams

引数:
ありません。

使用例:
 bot_teamchange
 これで、全てのBOTのチームが切り替わります。
bot_commandこのコマンドは、指定したBOTに特定の動作を行わせます。(自分が実験したときには、+forward等の移動系コマンドは実行されたりしなかったりするようです。)
文法:
 bot_command <BOTの名前> <実行させたいコマンド>

引数:
 <BOTの名前>:コマンドを実行させたいBOTの名前を指定します。
 <実行させたいコマンド>:BOTに実行させたいコマンドを指定します。

使用例:
 bot_command testbot taunt
 これで、testbotという名前のBOTにtaunt(挑発)させることができます。
bot_defendこのコマンドは、指定したチームのBOTに守備を行わせるコマンドです。現在のところ未実装のようです。
bot_dontmoveこのコマンドは、BOTの移動を行うかどうかを指定します。実行すると全てのBOTがforward,back,moveleft,moverightやfireの動きを行わなくなります。(方向転換とジャンプはするようです。)
文法:
 bot_dontmove <スイッチ>

引数:
 <スイッチ>:BOTの動きを止める場合は1、動きを止めない場合は0を指定します。

使用例:
 bot_dontmove 1
 これで、全てのBOTの動きが止まります。
bot_forceattack
(旧bot_flipout)
このコマンドは、BOTを攻撃状態にします。このコマンドを実行すると、全てのBOTが現在選択している武器をその場で向いている方向に打ち続けます。
文法:
 bot_forceattack <スイッチ>

引数:
 <スイッチ>:BOTに攻撃を行わせる場合は1、攻撃をやめさせる場合は0を指定します。

使用例:
 bot_forceattack 1
 これで、全てのBOTが持っている武器を使いbot_forceattack2で選択した攻撃をし続けまたは繰返します。
bot_forceattack2このコマンドは、bot_forceattackコマンドでBOTを攻撃状態にした場合、どちらの攻撃(+attack/+attack2)を行わせるかを指定します。
文法:
 bot_forceattack2 <スイッチ>

引数:
 <スイッチ>:セカンダリ攻撃(+attack2 右クリック)させる場合には1、プライマリ攻撃(+attack 左クリック)させる場合には0を指定します。

使用例:
 bot_forceattack2 1
 これで、全てのBOTがセカンダリ攻撃するようになります。
bot_forceattack_down
(旧bot_forceattackon)
このコマンドは、BOTの攻撃ボタンを押しっ放しにするかどうかを変更します。ヘビーのガトリングガンのように攻撃ボタンを押しっ放しにする必要がある武器と、スカウトのピストルのように攻撃ボタンを繰り返し押す必要がある武器を切り替えてBOTに使わせる場合、このコマンドで攻撃ボタンの押し方を変更できます。
文法:
 bot_forceattack_down <スイッチ>

引数:
 <スイッチ>:BOTの攻撃ボタンを押しっ放しにさせる場合は1、攻撃ボタンを繰り返し押させる場合には0を指定します。

使用例:
 bot_forceattack_down 1
 これで、全てのBOTが攻撃ボタンを押し続ける状態になります。
bot_forcefireweaponこのコマンドは、BOTに指定の武器を使用させます。現在のところ未実装のようです。このコマンドを実行すると、該当のBOTが選択した武器を使用します。
文法:
 bot_forcefireweapon <武器名>

引数:
 <武器名>:BOTに武器名を使用させます。

使用例:
 bot_forcefireweapon tf_weapon_medigun
 これでBOTのMedicが、持っている武器をMedigunにし使用します。
bot_killこのコマンドは、指定のBOTをSATSUGAIします。現在のところ未実装のようです。
bot_mimicこのコマンドは、BOTにプレーヤーの真似をさせます。このコマンドを実行すると、プレーヤーが実行した行動を全てのBOTが真似します。(サーバ上の誰の動きの真似をするかは未検証です。)
文法:
 bot_mimic <スイッチ>

引数:
 <スイッチ>:BOTにプレーヤーの真似をさせる場合は1、プレーヤーの真似をやめさせる場合は0を指定します。

使用例:
 bot_mimic 1
 これで、全てのBOTがプレーヤーの真似をします。
bot_mimic_yaw_offsetこのコマンドは、bot_mimicでBOTに行動を真似させる場合に、BOTが向く方向を指定します。このコマンドによって、BOTの向く方向をプレイヤーが向いている方向から指定した角度だけずらすことができます。
文法:
 bot_mimic_yaw_offset <ずらす角度(0-360)>

引数:
 <スイッチ>:プレーヤーの向いている方向からBOTの向く方向をどれだけずらすかを指定します。180を指定すると、BOTはプレイヤーの方向を向きます。0を指定すると、プレイヤーと同じ方向を向きます。

使用例:
 bot_mimic_yaw_offset 90
 これで、全てのBOTがプレイヤーの向いている方向に対して90度横を向きます。
bot_randomnamesこのコマンドは、追加するBOTの名前をランダムな名前に設定します。botコマンドでBOTを追加する場合、-nameの引数を省略すると、通常「Bot01」、「Bot02」等の名前でBOTが追加されます。このコマンドを実行すると、どうやら、開発中に使用された名前が指定されるようです。("Yet more Bot names, medium size", "Another bot", "This is a medium Bot", "This is a super long bot name t"等)
文法:
 bot_randomnames <スイッチ>

引数:
 <スイッチ>:BOTの名前をランダムにする場合には1、ランダムな名前をやめる場合には0を指定します。

使用例:
 bot_randomnames 1
 これで、追加されるBOTに与えられる名前がランダムな名前になります。
bot_refillこのコマンドは、BOTの弾薬やメタルを補充します。
文法:
 bot_refill

引数:
 ありません。

使用例:
 bot_refill
 これで、全てのBOTの弾薬とメタルが補給されます。
bot_savemeこのコマンドは、BOTにメディックを呼ばせます。bot_command botname "voicecommand 0 0"を実行するのと同じです。
文法:
 bot_saveme <スイッチ>

引数:
 <スイッチ>:BOTにメディックを呼ばせる場合には1、メディックを呼ぶのを止めさせる場合には0を指定します。

使用例:
 bot_saveme 1
 これで、全てのBOTがメディックを呼びます。
bot_selectweaponslotこのコマンドは、BOTに指定のスロットの武器を選択させます。このコマンドは、1番目のBOTにしか適用されないようです。
文法:
 bot_selectweaponslot <スロット番号>

引数:
 <スロット番号>:BOTに使用させたい武器のスロットを指定します。

使用例:
 bot_selectweaponslot 1
 これで、BOTがスロット1の武器を選択します。
bot_teleportこのコマンドは、指定したBOTを指定した地点に移動させます。
文法:
 bot_teleport <BOT名> <x> <y> <z> <pitch> <yaw> <roll>

引数:
 <BOT名>:移動させたいBOTの名前を指定します。
 <x> <y> <z>:BOTを移動させたい座標を指定します。
 <pitch> <yaw> <roll>:BOTに向かせたい方向を指定します。

使用例:
 bot_teleport Bot01 1000 0 1000 0 0 0
 これで、Bot01という名前のBOTが座標(1000,0,1000)の位置へ移動し、(0,0,0)の方向を向きます。
bot_whack現在プレーヤーが選択している武器によるダメージを指定のBOTへ与え、BOTを殺します。このコマンドは、恐らく開発段階で使用されていたものでしょう。
文法:
 bot_whack <BOT名>

引数:
 <BOT名>:killしたいBOTの名前を指定します。

使用例:
 bot_whack Bot01
 これで、Bot01という名前のBOTがプレイヤーによってkillされます。

BOTの使用例

 1.サーバを作成してマップをロードします。(リスポーンルームが一つしかないので、Gravel pitが良いでしょう)
 2.BLUチームにジョインしてEngineerになります。
 3.次のコマンドを実行します。
  sv_cheats 1
  mp_teams_unbalance_limit 0
  bot -class Engineer -name testbot
  bot_mimic_yaw_offset 0
  bot_mimic 1
  これで、武器選択や移動などあなたの行動をすべて真似するEngineerのBOTがBLUチームに追加されます。
  ところが、SGやディスペンサー設置等のコマンドは実行してくれません。あなたがビルドメニューを選択し、
  各種設備を選択しても、BOTは設備を建ててくれません。
  そこで、bot_commandコマンドを使用し、botにBUILDコマンドを実行させます。
  ちなみに、buildコマンドで設置できる設備は、
  build 0:ディスペンサー
  build 1:テレポーター入口
  build 2:SG
  build 3:テレポーター出口
  です。
 4.3で追加されたBOTはあなたの真似をするので、うまく操ってBOTがSGを立てられる場所まで連れて行きます。
 5.次のコマンドを実行します。
  bot_command testbot "build 2"
  コマンドを実行すると、EngineerのBOTがSG作成用のツールボックスを抱えます。
 6.プレイヤーが攻撃ボタンを押すとBOTがSGを設置します。ここで、
  bot_mimic 0
  bot_forceattack 1
  を実行すると、botはその場でSGをレンチでたたき続けます。
  SGを立てる前に、付近にディスペンサーを立てさせてやれば、SGをLv3までレベルアップさせることができます。

おまけ
 sv_cheats 1
 bot -team RED -class Medic -name Medic01
 bot -team RED -class Heavy -name Heavy01

 bot_teleport Heavy01 -1900 -510 -110 0 180 0
 bot_teleport Medic01 -1800 -510 -110 0 180 0

 bot_forceattack2 1
 bot_forcefireweapon tf_weapon_medigun

 これでcharge/uberを繰り返すペアが出来上がります。
 bot_teleportのパラメータはクライアントでその場所へ行き、コンソールコマンドgetposで解ります。

BOTで遊ぶ用のBOT

//BOTの初期設定を行うスクリプト
alias +bot_mode_start "sv_cheats 1;mp_teams_unbalance_limit 0;bot_mimic_yaw_offset 0;bot_mimic 1"
//F1キーでBOTの初期設定を行います。
bind "F1" +bot_mode_start
//BOTを追加するスクリプト
alias +add_red_random_bot "bot -team RED"
alias +add_blu_random_bot "bot -team BLU"
//F5キーで青BOT追加、F6キーで赤BOT追加
bind "F5" +add_red_random_bot
bind "F6" +add_blu_random_bot
//BOTの挙動を変更するスクリプト
alias +bot_mimicnize "bot_mimic 1;"
alias +bot_unmimicnize "bot_mimic 0;"
//F9でBOTがプレイヤーの真似を開始、F10で真似を止めます。
bind "F9" +bot_mimicnize
bind "F10" +bot_unmimicnize

RCBOT2について

CS:SスタイルのBOTが公開されました。自動で動くので(実際はWaypaointというポイントに沿って動いている)1人で練習ができます。

ダウンロードは http://rcbot.bots-united.com/forums/index.php?showforum=14

インストール

1.rcbot2のフォルダを、[C:\Program Files\Steam\steamapps\アカウント名]に入れる(TeamFortress2フォルダではない)

2.HPB_bot2.dllを[C:\Program Files\Steam\steamapps\アカウント名\team fortress 2\bin]に入れる。

3.ゲームを起動して、コンソールを開いて「plugin_load ..\bin\HPB_Bot2」と入れる。

4.サーバーを建てる。(初期ではctfしか対応してないほかにはgoldrush)

5.コンソールから[sv_cheats 1]と入れ、「rcbot addbot」と入れればBOTが入ってくる。

コメント

  • mvm currency_give 3000000 全角 -- 2013-01-04 (金) 12:18:02
  • マップのリスポーン時間はmp_respawnwavetimeの設定を変えることで変更 -- 2013-01-04 (金) 12:27:07
  • メディーバルモードの可能なマップはcp_degrootkeepだけです。サーバーの設定でtf_medievalを 1 に変更すれば他のマップでも可能です -- 2013-01-04 (金) 19:44:54
  • wellなどのマップで解説モードをoffにするには、コンソールに commentary 0 -- 2013-01-19 (土) 10:02:32
  • これやったら攻撃できなくなるんだけどどうすればいいですか -- 2013-03-21 (木) 20:34:44
  • コンソールってどうやって開くんですか? -- 2013-08-03 (土) 11:11:39
  • メニュー画面→設定(キーボード)→開発者のコンソールON/OFF(クリックで黄色表示)→キーを編集→(例えば)pに変更。さらに、詳細→開発者コンソールを有効にするにチェック。あとは、通常画面の時にpを押せばいい。違ってたらごめん -- 2013-08-10 (土) 20:55:13
  • https://wiki.teamfortress.com/wiki/Bots/ja ウィキ -- 2015-10-17 (土) 19:52:56
  • tf_bot_add 23 ボット -- 2015-11-01 (日) 18:11:27
  • コマンドの開き方がわかりません 教えてください! -- 2017-03-19 (日) 19:10:52