Bots/zh-hans
“ | 我的拳头可是用钢铁做的!
点击试听
— 重机枪手机器人的自我描述
|
” |
在军团要塞2中有两种机器人:智能机器人以及木偶机器人。智能机器人使用了先进的人工智能代码进行编程,因此他们能学习玩家们在游戏中的动作。木偶机器人没有人工智能因此它们不会进行活动,但是它们对游戏测试以及训练有着显著帮助。要是用他们必须在建立服务器时开启作弊模式,此时将不能完成成就。
目录
智能机器人
智能机器人能够学习玩家的动作并且不会受玩家直接控制。同时,他们都是以随机方式选择兵种的。他们使用复杂的人工智能代码编程,即使用求生之路中生还者机器人以及被感染者机器人的代码设置[1] 添加智能机器人不需要服务器开启作弊模式,因此可以借此完成各种成就。
智能机器人在以下情况能够间接被玩家进行一定程度的控制:
- 在准备时间内,任何被你准心指着的机器人会摆出嘲讽动作,需要玩家也进行嘲讽。
- 当你使用"Medic!" 语音指令时,附近的己方医生机器人会为你治疗。
- 当为你治疗的医生机器人的超级冲锋就绪时,使用"Go go go!"或者"Activate Charge!"语音指令会让其启动超级冲锋。
目前智能机器人的情况
智能机器人目前还算是在测试阶段而且随着每次游戏更新智能机器人都会得到一定改进。目前,并不是所有兵种都具有完善的AI智能,间谍就是个好例子。当玩家或者敌人望着间谍机器人时,他就会立刻跑开,而且也从不使用隐身功能。Bots can only play as a Spy in Highlander mode, by typing "tf_bot_force_class Spy" into the console, or by setting class restrictions with a third party program. AI Bots only work properly for most official King of the Hill maps, some Payload maps, Dustbowl, 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.
Note: A pack of pre-made bot meshes has been compiled for many popular maps.
Using Bots on Unsupported Maps
- 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
Note: Bots do not work on Capture the Flag maps, even if the above tutorial is followed.
AI Bot Behavior
- Bots currently can not use or equip unlockable content, including: non-standard Weapons, Hats, or Miscellaneous items.
- Bots currently can not jump, rocket jump or sticky jump.
- 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 or bumps into one of the bots.
- Pyro bots will use the Compression blast against projectiles regularly.
AI Bot Commands
To use AI bots on supported maps, the server administrator should type the following commands into the console:
Command | Description |
---|---|
tf_bot_add | This command will create one or more AI bots of random classes on random teams. They will also be assigned amusing human-like names.
|
tf_bot_difficulty | Defines the skill of bots joining the game.
|
tf_bot_force_class | If set to a class name, all TFBots will respawn as that class.
|
tf_bot_join_after_player | If nonzero, bots wait until a player joins before entering the game.
|
tf_bot_keep_class_after_death | If zero, bots will always respawn as a different class.
|
tf_bot_kick |
This command will remove one or all AI bots.
|
tf_bot_prefix_name_with_difficulty | If nonzero, append the skill level of the bot to the bot's name
|
tf_bot_quota | Determines the total number of tf bots in the game. Only has effect is "tf_bot_quota_mode" = "fill" or "match".
|
tf_bot_quota_mode | Determines the type of quota.
|
Puppet Bots
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.
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.
Command | Description | |||
---|---|---|---|---|
bot | 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.
| |||
bot_changeclass | Force all bots to change to the specified class.
Does not seem to be implemented, nothing happens. | |||
bot_changeteams |
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. | |||
bot_command | Sends specified command on behalf of specified bot.
| |||
bot_defend | Set to a team number, and that team will all keep their combat shields raised.
For instance, Heavies will spin their miniguns. | |||
bot_dontmove | 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 bot_mimic you can move bots to where you want them and leave them there.
| |||
bot_forceattack | This will make all the bots automatically fire whatever weapon they currently have selected. If bot_forceattack2 is set to 0, then the bots will execute primary_fire. If bot_forceattack2 is set to 1, then the bots will execute secondary_fire.
Note this does nothing if
| |||
bot_forceattack2 | This will make all the bots execute secondary_fire on whatever weapon they currently have selected when bot_forceattack is set to 1.
| |||
bot_forceattack_down | 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 Pistol, but not for the Heavy's Minigun). If this is set to 1 then the bot will act as if it is holding down the fire button (useful for the Heavy).
| |||
bot_forcefireweapon | 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)
| |||
bot_kill |
Kills the specified bot.
| |||
bot_mimic | Bot uses usercmd of player by index.
The bot will execute all keystrokes issued by a player, mimicking movements, turns, jumps, fire, etc. Note this overrides
| |||
bot_mimic_yaw_offset |
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.
| |||
bot_randomnames |
AI Bot NamesThe AI Bots are programmed to have different names, with many of their names being references to Valve's other works. They also include some references to Team Fortress as well. Many of these names have been requested on the Steam forums.
bot_randomnames <0/1>
| |||
bot_refill | Refills all bots' Ammo counts, including Metal for Engineers.
Syntax: | |||
bot_saveme | This makes all the bots call for a Medic, equivalent to issuing bot_command <botname> "voicemenu 0 0" to every bot.
Syntax:
| |||
bot_selectweaponslot | This makes the first bot select weapon in specified weapon slot.
0 = primary; 1 = secondary; 2 = melee; 3 = special Note this only works for the first bot spawned. There doesn't seem to be a way to specify other bots.
| |||
bot_teleport | Teleports a specified bot to a given coordinate.
Map coordinates of where you are standing can be found by typing
| |||
bot_whack | Delivers lethal damage from player to specified bot. This basically kills the bot with the currently selected weapon, probably used for testing during development.
|