Difference between revisions of "Bots/zh-hans"

From Team Fortress Wiki
Jump to: navigation, search
m
(21 intermediate revisions by 10 users not shown)
Line 1: Line 1:
[[Image:Tr_dustbowl0003.jpg|right|thumb|300px|A [[Soldier]] bot in action on the [[Dustbowl (Training)|Dustbowl Training]] map.]]
+
{{DISPLAYTITLE:电脑玩家}}
{{Quotation|'''重机枪手机器人'''的自我描述|我的拳头可是用钢铁做的!|sound=Heavy_specialweapon01.wav}}
+
[[Image:Tr_dustbowl0003.png|right|thumb|300px|一个[[Soldier/zh-hans|士兵]]机器人在[[Dustbowl (Training)/zh-hans|Dustbowl 训练]]地图中活动。]]
 +
{{correction}}
 +
 
 +
{{hatnote|这个页面是关于在游戏中的军团要塞 2 的电脑玩家。对于[[Team Fortress Wiki/zh-hans|军团要塞官方维基百科]]上的电脑用户,请参阅[[Help:Group_rights#Bots|机器人]]。对于介绍在[[Team Fortress Classic/zh-hans|《军团要塞:经典》]]的电脑玩家,请参阅[[Bots (Classic)/zh-hans|电脑玩家(经典)]]。对于介绍在[[Mann vs. Machine (update)/zh-hans|{{common strings|Mann vs. Machine}}]]的机器人,请参阅[[Robots/zh-hans|机器人]]。关于别的用处,请参见[[Robot/zh-hans|机器人]]。}}
 +
 
 +
{{Quotation|'''机枪手(电脑玩家)'''描述自己的钢铁拳头|我的拳头可是用钢铁做的!|sound=Heavy_specialweapon01.wav}}
 +
 
 +
一个 BOT,又称机器人或电脑玩家,是服务器上[https://support.steampowered.com/kb_article.php?ref=9073-WOHK-7760 被电脑控制的玩家]。在军团要塞 2 中有两种'''机器人''':智能机器人以及木偶机器人。智能机器人使用了先进的人工智能代码进行编程,因此它们能学习玩家们在游戏中的动作,并且不需要开启[[Cheats/zh-hans|作弊]]模式来使用;木偶机器人没有人工智能,因此它们不会自动进行活动,但是它们对游戏测试以及训练有着显著帮助。若要使用木偶机器人,则必须在建立服务器时开启作弊模式,此时将不能完成[[achievements/zh-hans|成就]]。
  
在军团要塞2中有两种'''机器人''':智能机器人以及木偶机器人。智能机器人使用了先进的人工智能代码进行编程,因此他们能学习玩家们在游戏中的动作。木偶机器人没有人工智能因此它们不会进行活动,但是它们对游戏测试以及训练有着显著帮助。要是用他们必须在建立服务器时开启[[Cheats|作弊]]模式,此时将不能完成成就。
 
 
==智能机器人==
 
==智能机器人==
智能机器人能够学习玩家的动作并且不会受玩家直接控制。同时,他们都是以随机方式选择兵种的。他们使用复杂的人工智能代码编程,即使用求生之路中生还者机器人以及被感染者机器人的代码设置<ref>[http://teamfortress.com/post.php?id=3279 Team Fortress Official Blog - Erectin a dispenser]</ref> 添加智能机器人不需要服务器开启作弊模式,因此可以借此完成各种成就。
+
智能机器人能够学习玩家的动作并且不会受玩家直接控制。同时,它们都是以随机方式选择[[classes/zh-hans|兵种]]的。他们使用复杂的人工智能代码编程,即使用''求生之路''一系列中生还者机器人以及被感染者机器人的代码设置。<ref>[http://teamfortress.com/post.php?id=3279 军团要塞官方日志 - "Erectin a dispenser"]</ref>添加智能机器人不需要服务器开启作弊模式,因此可以借此完成各种成就;不过有一个例外:机器人被杀后不会见到[[Deathcam/zh-hans|死亡摄像]];因此,玩家不能通过智能机器人得到与死亡摄像相关的成就。还有,用[[Strange/zh-hans|奇异]]属性的武器杀死机器人不会增加武器的杀敌计数,除非武器有着[[Strange Parts/zh-hans|奇异武器升级部件]]:机器人消灭数,则使杀敌数加到部件上而不是武器本身。
  
 
智能机器人在以下情况能够间接被玩家进行一定程度的控制:  
 
智能机器人在以下情况能够间接被玩家进行一定程度的控制:  
* 在[[Setup time|准备时间]]内,任何被你准心指着的机器人会摆出嘲讽动作,需要玩家也进行嘲讽。
+
* 在[[Setup time/zh-hans|准备阶段]]内,任何被你准心指着的机器人都会做出[[taunt/zh-hans|嘲讽]]。
* 当你使用"Medic!" [[Voice commands|语音指令]]时,附近的己方[[Medic|医生]]机器人会为你治疗。  
+
* 当你使用 "医生!" [[Voice commands/zh-hans|语音指令]]时,附近的己方[[Medic/zh-hans|医生]]机器人会为你治疗。  
* 当为你治疗的医生机器人的[[ÜberCharge|超级冲锋]]就绪时,使用"Go go go!"或者"Activate Charge!"语音指令会让其启动超级冲锋。
+
* 当治疗你的医生机器人的[[ÜberCharge/zh-hans|超级冲锋]]就绪时,使用 "冲!冲!冲!" 或者 "激活 Ubercharge!" 语音指令会让它立刻启动超级冲锋。
 +
* 受到重伤的医生机器人会马上启用自己的超级冲锋。
 +
* 机器人会试图参与同伴式嘲讽(例如[[High Five!/zh-hans|击掌]]或[[Conga/zh-hans|康茄舞]])。
  
 
===目前智能机器人的情况===   
 
===目前智能机器人的情况===   
智能机器人目前还算是在测试阶段而且随着每次游戏更新智能机器人都会得到一定改进。目前,并不是所有兵种都具有完善的AI智能,[[Spy|间谍]]就是个好例子。当玩家或者敌人望着间谍机器人时,他就会立刻跑开,而且也从不使用[[Cloak|隐身]]功能。目前可以通过创建[[List of game modes#Highlander|高地兵团模式]]地图、在[http://developer.valvesoftware.com/wiki/Developer_Console 控制台]中输入代码''"tf_bot_force_class Spy"''或是使用第三方软件来为游戏中增加间谍机器人。
+
智能机器人目前还算是在测试阶段而且随着每次游戏更新智能机器人都会得到一定改进。目前,经过[[Hatless Update/zh-hans|无帽子更新]],所有的兵种的智能机器人都能正常运作,包括曾经有问题的[[Spy/zh-hans|间谍]]。智能机器人只能在大部分官方的[[King of the Hill/zh-hans|山丘之王]]地图、某些[[Payload/zh-hans|推车]]地图、攻防型地图 [[Dustbowl/zh-hans|Dustbowl]] [[Gorge/zh-hans|Gorge]][[Capture the Flag/zh-hans|夺旗]]地图,以及 [[Mann Manor/zh-hans|Mann Manor]] 上正常工作(在尾段两个地图中,智能机器人只能通过在控制台输入 tf_bot_add 指令来添加)。其他地图也可以使用这个方法添加机器人;但它们无法正常行动。
大多数的[[King of the Hill|山丘之王]]模式地图、某些[[Payload|炸弹推车]]地图、[[Dustbowl|沙尘暴]]以及[[Mann Manor|麦恩庄园]]能添加智能机器人(通过在控制台输入tf_bot_add指令来添加机器人)。其他地图也可以使用这个方法添加机器人;但它们无法正常行动。
+
 
 +
''注:目前已经有一些较为流行的地图被添加了[http://forums.steampowered.com/forums/showthread.php?t=1264447 一个提前制造的机器人路线套装]''。
  
''注:目前已经有一些较为流行的地图被添加了[http://forums.steampowered.com/forums/showthread.php?t=1264447 机器人网格]''
+
====智能机器人名称====
 +
智能机器人都有不同的名字,很多指着''军团要塞 2'',Valve 其它的游戏,以及电脑编程。很多这些名字在 [[Steam Users' Forums|Steam 论坛]]上被要求的。<!--If you encounter other names that aren't on the list, please add them-->
 +
{{Bot names}}
  
 
====在不支持机器人的地图中添加机器人的步骤====
 
====在不支持机器人的地图中添加机器人的步骤====
# 在控制台中输入"sv_cheats 1"
+
{{hatnote| 相关文章:{{vdc|Navigation Meshes}}}}
# 在控制台中输入"nav_generate"
+
# 在控制台中输入 "<kbd>sv_cheats 1</kbd>"
# 等待系统为地图绘制路径点
+
# 在控制台中输入 "<kbd>nav_generate</kbd>"
# 重新载入地图(如果路径点已保存则不用重复之前步骤)
+
# 等待系统为地图绘制路径点。
# 打开控制台,输入''"tf_bot_add <number>"''来选择添加机器人的数目
+
# 重新载入地图(如果路径点已保存则不用重复之前步骤)。
 +
# 可选择修改绘制的路径来增入漏掉的数据并移除错误的数据。使用 "<kbd>nav_edit 1</kbd>" 来进入编辑模式。
 +
# 重载服务器(可选的,但是若不做,成就会仍然被禁用)。
 +
# 打开控制台,输入''"<kbd>tf_bot_add <数目></kbd>"''来选择添加机器人的数目。
 +
'''警告:如果开启着机器人时候编辑路径,游戏很可能会崩溃。'''
  
''注:即使使用以上步骤,目前也无法在[[Capture the Flag|情报争夺]]模式地图中正常使用机器人''
+
机器人可以在用上方绘制过路径的地图上使用,并不需要每一次都使用这些指令,除了 ''"<kbd>tf_bot_add <数目></kbd>"'' 来增入机器人。
 +
 
 +
机器人最好在控制点,山丘之王,推车,和夺旗地图上运用。在[[Mannpower/zh-hans|曼恩之力]]地图上,机器人会当作夺旗,但不会使用[[Grappling Hook/zh-hans|钩爪]]或机智地使用拿到的增益道具。
 +
 
 +
====官方支持机器人的地图====
 +
* [[Dustbowl/zh-hans|Dustbowl]]
 +
* [[Mann Manor/zh-hans|Mann Manor]]
 +
* [[Badlands (KOTH)/zh-hans|Badlands(山丘之王)]]
 +
* [[Lakeside/zh-hans|Lakeside]]
 +
* [[Nucleus (KOTH)/zh-hans|Nucleus(山丘之王)]]
 +
* [[Sawmill (KOTH)/zh-hans|Sawmill(山丘之王)]]
 +
* [[Viaduct/zh-hans|Viaduct]]
 +
* [[Badwater Basin/zh-hans|Badwater Basin]]
 +
* [[Gold Rush/zh-hans|Gold Rush]]
 +
* [[Hoodoo/zh-hans|Hoodoo]]
 +
* [[Thunder Mountain/zh-hans|Thunder Mountain]]
 +
* [[Upward/zh-hans|Upward]]
 +
* [[Gorge/zh-hans|Gorge]]
 +
* [[Barnblitz/zh-hans|Barnblitz]]
 +
* [[Kong King/zh-hans|Kong King]]
  
 
====智能机器人的行为====
 
====智能机器人的行为====
* 目前还不能为机器人装备成就物品,例如:非默认[[Weapons|武器]]、各种[[Hats|帽子]]或是[[Miscellaneous items|其他物品]]
+
* 机器人目前只会装备基础的[[loadout/zh-hans|配置]]
* 目前机器人还不懂得使用[[Jumping|跳跃]][[Rocketjump#Rocket jumps|火箭跳]]或是[[Stickyjump#Sticky jumps|黏弹跳]]
+
* 简单难度上的机器人会很少使用主武器之外的武器。更高等级的机器人会在主武器弹匣用完后换到并使用它们的副武器。
* 机器人在杀死玩家后,有几率立刻进行嘲讽,而且就算暴露在敌人火力下也会照做不误。
+
* [[Spy/zh-hans|间谍]][[Sniper/zh-hans|狙击手]]机器人不会在简单模式上出现,而只能在普通和更高的等级中出现。
* 如果机器人看见已经伪装的地方间谍,它会盯着那名间谍。机器人不会立刻攻击那名间谍直到间谍进行攻击,或是间谍和敌人撞在一起。
+
* 目前机器人还不懂得使用特殊的[[Jumping/zh-hans|跳跃]],例如[[Jumping/zh-hans#火箭跳|火箭跳]]或是[[Jumping/zh-hans#黏弹跳|黏弹跳]],还不能[[haul/zh-hans|搬运]]建筑。
* 火焰兵机器人会频繁使用[[Compression blast|压缩空气爆破]]来反弹敌方的火箭、榴弹等。
+
* 机器人在杀死玩家后,有几率立刻进行[[taunt/zh-hans|嘲讽]],而且就算暴露在敌人火力下也会照做不误。[[Mann vs. Machine (game mode)/zh-hans|曼恩 vs. 机器模式]]里的[[Robots/zh-hans|机器人]]有这种行为。
 +
* 间谍机器人(和玩家)在[[disguise/zh-hans|伪装]]着时会被其它的机器人忽略。但是,当碰到任何敌人机器人,[[Sapper/zh-hans|入侵]]建筑物,开火,或[[Cloak/zh-hans|隐形]]时,所有看到的机器人会将机器人/玩家称为间谍并不会忘记他,除非间谍在暗地里换伪装,暴露间谍的机器人死亡,或间谍用[[Dead Ringer/zh-hans|死亡之铃]]装死。
 +
* [[Pyro/zh-hans|火焰兵]]机器人会在非简单难度的游戏里十分频繁地使用[[Compression blast/zh-hans|压缩空气爆破]]来反弹敌方的飞行物。
 +
* [[Medic/zh-hans|医生]]机器人大部分时候会先治疗其它的兵种而不是狙击手(和到更小的程度,工程师),就算 "医生!" 的语音指令被使用。
 +
* 医生机器人通常喜欢治疗机枪手,士兵,爆破手,和火焰兵,若被玩家玩儿的。如果没有人类玩家玩儿其中的一个兵种,他则很少会被一直治疗着。
 +
* 超级冲锋准备就绪的医生机器人会在受伤时启用超级冲锋。[[Mann vs. Machine (game mode)/zh-hans|曼恩 vs. 机器模式]]里的 [[Über Medic/zh-hans|Über 医生]]有这种行为。
 +
* 如果一个伪装的间谍机器人在专家难度上见到敌人隐形,它会能够跟着他们,就算他们完全隐形并没有显示轮廓。
 +
* 机器人在准备阶段中不会开火除非它们先被攻击的(除了[[Demoman/zh-hans|爆破手]]机器人放下黏性炸弹)。
 +
* 工程师机器人不会升级自己的传送装置或从它移除电子工兵,有时还不会修复自己的步哨枪就算不处于交火下。
 +
* 除了工程师,间谍,和狙击手,机器人在[[Attack/Defend/zh-hans|攻/防]]或[[Payload/zh-hans|推车]]地图上会留在出生点上不动。
 +
* 间谍机器人,当被另一个机器人(或玩家)看到时,不会试图背刺而反会换到[[Revolver/zh-hans|左轮手枪]]边射击边撤退。
  
 
===智能机器人指令===
 
===智能机器人指令===
Line 41: Line 85:
 
|-
 
|-
 
|{{nw|<big>'''tf_bot_add'''</big>}}
 
|{{nw|<big>'''tf_bot_add'''</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''>]</code>
  
;Parameters:
+
;参数说明:
 
:<code><''count''></code>
 
:<code><''count''></code>
::Specifies the number of bots to spawn.  If omitted, one bot is spawned.
+
::加上这个参数会为服务器添加指定数量的机器人。如果不加这个参数,则每次只会增加一个机器人。
::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 you have a 24 player server (the default), and one human player, do not spawn more than 23 bots.
+
::使用这个参数时,如果添加的数目比服务器剩余位置还要多,例如一个24人服务器中有1名玩家,此时要想添加的机器人数目为25,那么只会在服务器中添加23个机器人。
  
 
:<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]]'', ''[[Engineer]]'', ''[[Heavy]]Weapons'', ''[[Medic]]'', ''[[Pyro]]'', ''[[Scout]]'', ''[[Soldier]]'', ''[[Sniper]]''或是''[[Spy]]''
  
 
:<code><''team''></code>
 
:<code><''team''></code>
::Specifies the team name to assign the bot, where ''team'' can be ''[[red]]'' or ''[[blue]]''.
+
::此处要填写的是想要机器人加入的队伍英文名称,例如''[[red]]''或者''[[blue]]''
  
 
:<code><''difficulty></code>
 
:<code><''difficulty></code>
::Sets the difficulty level for the bot, where ''difficulty'' can be ''easy'', ''normal'', or ''hard''.
+
::此处填写的是机器人的难度等级,例如''easy'', ''normal''或者''hard''
  
;Example: <code>tf_bot_add red 3 heavyweapons easy</code> will add three Heavies to the RED team at the easy skill level.
+
;例子: <code>tf_bot_add red 3 heavyweapons easy</code>意为在地图中为红队添加3个简单的重机枪手机器人。
 
|-
 
|-
 
|{{nw|<big>'''tf_bot_difficulty'''</big>}}
 
|{{nw|<big>'''tf_bot_difficulty'''</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)
  
;Example: <code>tf_bot_difficulty 2</code> will set all bots created after this command to "Hard" difficulty.
+
;例子: <code>tf_bot_difficulty 2</code>意为将所有机器人的等级设置成"困难"
 
|-
 
|-
 
|{{nw|<big>'''tf_bot_force_class'''</big>}}
 
|{{nw|<big>'''tf_bot_force_class'''</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).
+
::''class''处可以填写以下职业名称''[[Demoman]]'', ''[[Engineer]]'', ''[[Heavy]]Weapons'', ''[[Medic]]'', ''[[Pyro]]'', ''[[Scout]]'', ''[[Soldier]]'', ''[[Sniper]]''或是''[[Spy]]''。默认情况下是随机选择兵种。
  
;Example: <code>tf_bot_force_class medic</code> will make all TFbots respawn as Medic.
+
;例如: <code>tf_bot_force_class medic</code>意为所有机器人都会选择医生。
 
|-
 
|-
 
|{{nw|<big>'''tf_bot_join_after_player'''</big>}}
 
|{{nw|<big>'''tf_bot_join_after_player'''</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.
+
;例子: <code>tf_bot_join_after_player 0</code>意为即使没有玩家加入游戏,也会添加机器人。
 
|-
 
|-
 
|{{nw|<big>'''tf_bot_keep_class_after_death'''</big>}}
 
|{{nw|<big>'''tf_bot_keep_class_after_death'''</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(开启此功能)
  
;Example: <code>tf_bot_keep_class_after_death 1</code> will prevent TFBots from changing class.
+
;例子: <code>tf_bot_keep_class_after_death 1</code>意为不允许机器人更换兵种。
 
|-
 
|-
 
|{{nw|<big>'''tf_bot_kick'''</big>}}
 
|{{nw|<big>'''tf_bot_kick'''</big>}}
 
|
 
|
This command will remove one or all AI bots.
+
这个指令能将机器人踢出服务器。
  
;Syntax: <code>tf_bot_kick <''name/all''></code>
+
;指令语法: <code>tf_bot_kick <''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.
+
;例子: <code>tf_bot_kick CEDA</code>意为将名称为"CEDA"的机器人踢出。
 
|-
 
|-
 
|{{nw|<big>'''tf_bot_prefix_name_with_difficulty'''</big>}}
 
|{{nw|<big>'''tf_bot_prefix_name_with_difficulty'''</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_prefix_name_with_difficulty <''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).
+
;例子: <code>tf_bot_prefix_name_with_difficulty 1</code>以为机器人的名字会变为"1 Aimbot" (普通难度)或是"3 Saxton Hale" (专家难度).
 
|-
 
|-
 
|{{nw|<big>'''tf_bot_quota'''</big>}}
 
|{{nw|<big>'''tf_bot_quota'''</big>}}
|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" = "fill" or "match".
  
;Syntax: <code>tf_bot_quota <''integer''></code>
+
;指令语法: <code>tf_bot_quota <''integer''></code>
  
;Parameters:
+
;参数说明:
 
:<code><''integer''></code>
 
:<code><''integer''></code>
::Whole number between 0 and how many players the server can hold. Default is 0.
+
::设定的数字为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.
+
;例子: <code>tf_bot_quota 2</code>,如果tf_bot_quota_mode 设置为 match,则每有一名玩家加入服务器时,就添加2个机器人。服务器中每加入一名玩家时则会自动添加2个机器人。
 
|-
 
|-
 
|{{nw|<big>'''tf_bot_quota_mode'''</big>}}
 
|{{nw|<big>'''tf_bot_quota_mode'''</big>}}
|Determines the type of quota.
+
|决定机器人的分配类型。
  
;Syntax: <code>tf_bot_quota_mode<''normal/fill/match''></code>
+
;指令语法: <code>tf_bot_quota_mode<''normal/fill/match''></code>
  
;Parameters:
+
;参数说明:
 
:<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',服务器则不会增加或踢出任何机器人,除非有明确的指令;bot_quota的指令也无效。
::If 'fill', the server will adjust bots to keep N players in the game, where N is bot_quota.
+
::如果为'fill',服务器则会根据玩家人数,按照1:1的比例增加机器人玩家。
::If 'match', the server will maintain a 1:N ratio of humans to bots, where N is bot_quota.
+
::如果为'match',则服务器会根据玩家人数按照1:N的比例增加机器人,此处N是指 bot_quota 设定的参数。
  
;Example: <code>tf_bot_quota_mode fill</code> will always keep (bot_quota - # of human players) bots in the game.
+
;例子: <code>tf_bot_quota_mode fill</code>意为服务器永远保持与玩家人数相同数量的机器人玩家。
 
|}
 
|}
  
==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.
+
木偶机器人没有AI程序所以不会自行运动。这类机器人就像牵线木偶一样,玩家可以通过指令来控制他们的行为,例如跟随玩家动作或是开火。木偶机器人只要被用于测试方面,如果使用恰当的指令,还可利用它们制作惊人的视觉效果。
 +
===木偶机器人指令===
 +
并不是所有指令都有效果,但为了明确,下面列表中列出了所有的指令。
  
===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.''
 
  
 
{| class="wikitable grid"
 
{| class="wikitable grid"
! class="header" | Command
+
! class="header" | 指令
! class="header" | Description
+
! class="header" | 说明
 
|-
 
|-
 
|{{nw|<big>'''bot'''</big>}}
 
|{{nw|<big>'''bot'''</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 -team <''teamname/number''> -class <''classname''> -name <''botname''></code>
  
;Parameters:
+
;参数说明:
 
:<code>-team ''teamname/number''</code>
 
:<code>-team ''teamname/number''</code>
::Specifies the team name or number to assign the bot. Where ''name/number'' can be ''[[RED]]'' or ''1'', ''[[BLU]]'' or ''0''
+
::指定机器人的添加数目与加入的团队。''name/number''可以设置为''[[RED]]''或是''1''''[[BLU]]''或是''0''
 
:<code>-class ''classname''</code>
 
:<code>-class ''classname''</code>
::The ''classname'' of the class can be ''[[Demoman]]'', ''[[Engineer]]'', ''[[Heavy]]Weapons'', ''[[Medic]]'', ''[[Pyro]]'', ''[[Scout]]'', ''[[Soldier]]'', ''[[Sniper]]'', or ''[[Spy]]''
+
::''classname''可设置为''[[Demoman]]'', ''[[Engineer]]'', ''[[Heavy]]Weapons'', ''[[Medic]]'', ''[[Pyro]]'', ''[[Scout]]'', ''[[Soldier]]'', ''[[Sniper]]''以及''[[Spy]]''
 
:<code>-name ''botname''</code>
 
:<code>-name ''botname''</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.
+
::''botname''可以设置为任何参数。如果出现同名的机器人,则会在所有同名机器人前面增加一个数字来区分彼此(从1开始),从最早加入的那个机器人开始编号。例如, joe, (1)joe, (2)joe, 等等。如果不指定名字,则所有加入的机器人都已"bot"加上数字进行命。数字从01开始编号; 例如,第一个加入的机器人名字为 bot01,第二个为bot02,后面以此类推。
;Example: <code>bot -team red -class Engineer -name joe</code>
+
;例子: <code>bot -team red -class Engineer -name joe</code>这个代码的意思是:为红队添加一名工程师机器人,名字为joe。
 
|-
 
|-
 
|{{nw|<big>'''bot_changeclass'''</big>}}
 
|{{nw|<big>'''bot_changeclass'''</big>}}
|Force all bots to change to the specified class.
+
|强制所有机器人选择指定的兵种类型。
''Does not seem to be implemented, nothing happens.''
+
''此命令好像还不能正常使用。''
 
|-
 
|-
 
|{{nw|<big>'''bot_changeteams'''</big>}}
 
|{{nw|<big>'''bot_changeteams'''</big>}}
 
|
 
|
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>'''bot_command'''</big>}}
|Sends specified command on behalf of specified bot.
+
|命令指定的机器人做出特定的行为。
  
;Syntax: <code>bot_command <''botname''> <''console command''></code>
+
;指令语法: <code>bot_command <''botname''> <''console command''></code>
::''botname'' is the name or id of the bot to send the command to.
+
::''botname''填入的是你想要命令的机器人的名称。
::''console command'' can be any of the ones listed in [[Scripting#Console Commands]].
+
::''console command''填入的是你想要机器人所做的事情的指令,请查看[[Scripting#Console Commands|控制台指令]].
;Example 1: bot_command bot01 "voicemenu 0 0"
+
;例子 1: bot_command bot01 "voicemenu 0 0" 命令机器人01号使用语音菜单中的0 0选项
;Example 2: bot_command bot01 "taunt"
+
;例子2 2: bot_command bot01 "taunt" 命令机器人01号使用嘲讽动作
  
::The slot commands (slot1, slot2, etc.) do not work with bot_command, however with bot_forcefireweapon, you can make all bots in that class switch to that weapon and start firing, then make them stop. You can only make the entire group of bots in that class switch to that weapon, however.
+
::切换指令与bot_command不能同时生效,但是使用bot_forcefireweapon指令,可以让所有机器人切换到指定武器并且不停开火,也可以让它们停止开火。当然,你只能强制命令指定并种类型的机器人这么做。
 
|-
 
|-
 
|{{nw|<big>'''bot_defend'''</big>}}
 
|{{nw|<big>'''bot_defend'''</big>}}
|Set to a team number, and that team will all keep their combat shields raised.
+
|指定特定团队的所有机器人进行防御,此时指定队伍的所有机器人都将处于防御状态。
For instance, Heavies will spin their miniguns.
+
例如,重机枪手机器人使它们的机枪旋转起来。
 
|-
 
|-
 
|{{nw|<big>'''bot_dontmove'''</big>}}
 
|{{nw|<big>'''bot_dontmove'''</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> you can move bots to where you want them and leave them there.
+
|允许或禁止机器人进行移动。当指令设置为''1''时,所以机器人都不能够移动但它们依然能转身和跳跃。配合这个<code>bot_mimic</code>指令,你可以把机器人带到你想它们去的地方并且让它们呆在那里不动。
  
;Syntax: <code>bot_dontmove <''0/1''></code>
+
;指令语法: <code>bot_dontmove <''0/1''></code>
::Bot is allowed to move, or not.
+
::允许或禁止机器人进行移动。
;Example: <code>bot_dontmove 1</code>
+
;例子: <code>bot_dontmove 1</code>意为禁止所有机器人移动
 
|-
 
|-
 
|{{nw|<big>'''bot_forceattack'''</big>}}
 
|{{nw|<big>'''bot_forceattack'''</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/zh-hans|武器]]。如果<code>bot_forceattack2</code>指令设置成''0'',那么机器人会使用主武器开火。如果设置成''1'',那它们则使用副武器开火。
  
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 <''0/1''></code>
::Bot will not fire if set to ''0'' and fire repeatedly if set to ''1''.
+
::设置为''0''时,机器人则不会开火。设置为''1''时,机器人则会开火。
;Example: <code>bot_forceattack 1</code>
+
;例子: <code>bot_forceattack 1</code> 意为机器人会进行自动开火。
 
|-
 
|-
 
|{{nw|<big>'''bot_forceattack2'''</big>}}
 
|{{nw|<big>'''bot_forceattack2'''</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''.
+
|参见上一条指令。
 
 
;Syntax: <code>bot_forceattack2 <''0/1''></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>
 
 
|-
 
|-
 
|{{nw|<big>'''bot_forceattack_down'''</big>}}
 
|{{nw|<big>'''bot_forceattack_down'''</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 [[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).
+
|设置机器人的开火方式,分点射和连射两种。当设置为''0''时,机器人则会像不断点击开火键一样进行点射([[Pistol/zh-hans|手枪]]有效,但对[[Heavy/zh-hans|机枪手]][[Minigun/zh-hans|迷你机枪]]无效)。当设置为''1''时,机器人则会像按着开火键不放一样进行连射(对重机枪手来说有用)
  
;Syntax: <code>bot_forceattack_down <''0/1''></code>
+
;指令语法: <code>bot_forceattack_down <''0/1''></code>
::On when set to ''1'', off when set to ''0''
+
::''1''为开启,''0''为关闭
;Example: <code>bot_forceattack_down 1</code>
+
;例子: <code>bot_forceattack_down 1</code> 意为所有机器人进行连射。
 
|-
 
|-
 
|{{nw|<big>'''bot_forcefireweapon'''</big>}}
 
|{{nw|<big>'''bot_forcefireweapon'''</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)
+
如果一个机器人没有此种武器,则不会对其有影响。
;Syntax: <code>bot_forcefireweapon <''weapon filename''></code>
+
;指令语法: <code>bot_forcefireweapon <''weapon filename''></code>
::''filename'' is usually ''tf_weapon_ <weapon name>''.
+
::''filename''一般填武器的名称''tf_weapon_ <weapon name>''.
;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_fists</code> 会使所有[[Heavy/zh-hans|重机枪手]]使用他们的[[Fists/zh-hans|拳头]]进行攻击,而其他机器人则会原地待命。
<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_forcefireweapon tf_weapon_shotgun_pyro</code> 会使所有[[Pyro/zh-hans|火焰兵]]机器人使用[[Shotgun/zh-hans|霰弹枪]]开火,而且他机器人则原地待命。
  
::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 ,,''
+
::如果要想所有机器人停止开火,只需输入一个游戏中不存在的武器的名称即可。而且任何前端没有tf_weapon的武器不算军团要塞2的武器,因此机器人不会开火,例如''bot_forcefireweapon ,,''
::Bots' loadouts cannot be changed, therefore you cannot make them fire unlockable weapons.
+
::由于机器人的装备无法更换,因此无法命令他们使用非默认武器外的武器。
 
|-
 
|-
 
|{{nw|<big>'''bot_kill'''</big>}}
 
|{{nw|<big>'''bot_kill'''</big>}}
 
|
 
|
Kills the specified bot.
+
杀死指定机器人。
;Syntax: <code>bot_kill <''bot name''></code>
+
;指令语法: <code>bot_kill <''bot name''></code>
::Makes the specified bot commit suicide.
+
::强制指定机器人自杀。
;Example: <code>bot_kill bot01</code>
+
;例子: <code>bot_kill bot01</code> 意为强制让机器人01号自杀。
 
|-
 
|-
 
|{{nw|<big>'''bot_mimic'''</big>}}
 
|{{nw|<big>'''bot_mimic'''</big>}}
|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 <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 <''0/1''></code>
::On when set to ''1'', off when set to ''0''
+
::''1''表示开启,''0''表示关闭。
;Example: <code>bot_mimic 1</code>
+
;例子: <code>bot_mimic 1</code> 意为机器人模仿玩家动作。
 
|-
 
|-
 
|{{nw|<big>'''bot_mimic_yaw_offset'''</big>}}
 
|{{nw|<big>'''bot_mimic_yaw_offset'''</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>'''bot_randomnames'''</big>}}
|
+
|赋予机器人随机名字,名字列表如下
  
===AI Bot Names===
+
===机器人名称===
The 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. <!--If you encounter other names that aren't on the list, please add them-->
+
游戏中的机器人已经有很多被设定好的名字,其中一些与Valve出品的某些游戏有联系。当然有些与军团要塞2本本身有联系。有些名字这是根据STEAM社区论坛成员的要求而添加的。如果您遇到了列表中没有出现的名字,请帮助我们补充,谢谢。 <!--如果您遇到了列表中没有出现的名字,请帮助我们补充,谢谢-->
{|
+
{{Bot names}}
| valign="top" |
+
;指令格式: <code>bot_randomnames <''0/1''></code>
*[[Hacking#Aimbots|AimBot]]
+
::''1''为开启随机名字,''0''为关闭。
*AmNot
+
;例子: <code>bot_randomnames 1</code>
*[http://half-life.wikia.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://half-life.wikia.com/wiki/Chell Chell]
 
*[[Scout|Chucklenuts]]
 
*[http://half-life.wikia.com/wiki/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://half-life.wikia.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!]]
 
*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/Freeman The Freeman]
 
*[http://half-life.wikia.com/wiki/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>'''bot_refill'''</big>}}
|Refills all bots' Ammo counts, including [[Metal]] for Engineers.
+
|为所有机器人补充弹药,包括工程师的[[Metal/zh-hans|金属]]
  
Syntax: <code>bot_refill</code>
+
指令格式: <code>bot_refill</code>
 
|-
 
|-
 
|{{nw|<big>'''bot_saveme'''</big>}}
 
|{{nw|<big>'''bot_saveme'''</big>}}
|This makes all the bots call for a Medic, equivalent to issuing <code>bot_command <''botname''> "voicemenu 0 0"</code> to every bot.
+
|强制所有机器人呼叫医生,这相当于对所有机器人使用指令<code>bot_command <''botname''> "voicemenu 0 0"</code>
Syntax: <code>bot_saveme <''0/1''></code>
+
指令格式: <code>bot_saveme <''0/1''></code>
::On when set to ''1'', off when set to ''0''
+
::''1''为开启,''0''为关闭。
 
|-
 
|-
 
|{{nw|<big>'''bot_selectweaponslot'''</big>}}
 
|{{nw|<big>'''bot_selectweaponslot'''</big>}}
|This makes the first bot select weapon in specified weapon slot.
+
|让第一个加入的机器人切换指定的武器。
0 = primary; 1 = secondary; 2 = melee; 3 = special
+
0 = 主武器; 1 = 副武器; 2 = 近战武器; 3 = 特殊武器(例如间谍的烟盒,工程师的PDA)
Note this only works for the first bot spawned.  There doesn't seem to be a way to specify other bots.
+
这个指令只对最先加入的机器人有效。而且目前并未发现能对特定机器人生效。
  
;Syntax: <code>bot_selectweaponslot <''n''></code>
+
;指令格式: <code>bot_selectweaponslot <''n''></code>
::Set ''n'' to weapon slot that bots should switch to.
+
::''n''为上面提到的武器种类代码。
;Example: <code>bot_selectweaponslot 2</code>
+
;例子: <code>bot_selectweaponslot 2</code> 意为让第一个机器人切换到近战武器。
 
|-
 
|-
 
|{{nw|<big>'''bot_teleport'''</big>}}
 
|{{nw|<big>'''bot_teleport'''</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.
+
可以通过在控制台输入<code>Status</code>来查看玩家当前所在位置的地图坐标。
  
;Syntax: <code>bot_teleport <''botname''> <''X''> <''Y''> <''Z''> <''Pitch''> <''Yaw''> <''Roll''></code>
+
;指令格式: <code>bot_teleport <''botname''> <''X''> <''Y''> <''Z''> <''Pitch''> <''Yaw''> <''Roll''></code>
::Where ''botname'' is the bot name or id to teleport.
+
::''botname''指的是机器人的名字.
::<code>''X'' ''Y'' ''Z''</code> are the map coordinates.
+
::<code>''X'' ''Y'' ''Z''</code>指的是地图的坐标。
::<code>''Pitch'' ''Yaw'' ''Roll''</code> is the direction the bot should face.
+
::<code>''Pitch'' ''Yaw'' ''Roll''</code>指的是机器人传送后所要面对的方向。
;Example: <code>bot_teleport bot01 -4815 1385 -447 0 0 0</code>
+
;例子: <code>bot_teleport bot01 -4815 1385 -447 0 0 0</code> 意为传送机器人01号到坐标-4815 1385 -447,朝向为正前方。
 
|-
 
|-
 
|{{nw|<big>'''bot_whack'''</big>}}
 
|{{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''>
+
;指令格式: bot_whack <''botname''>
::Where ''botname'' is the name of bot to "whack".
+
::''botname''指的是指定机器人的名字。
;Example: bot_whack bot109
+
;例子: bot_whack bot109 意为给予机器人109号致命的伤害。
 
|}
 
|}
  
==References==
+
==参考文献==
 
<references/>  
 
<references/>  
  
[[Category:Customization]]
+
[[Category:Customization/zh-hans]]
[[Category:Gameplay]]
+
[[Category:Gameplay/zh-hans]]

Revision as of 07:05, 28 January 2023

一个士兵机器人在Dustbowl 训练地图中活动。
这个页面是关于在游戏中的军团要塞 2 的电脑玩家。对于军团要塞官方维基百科上的电脑用户,请参阅机器人。对于介绍在《军团要塞:经典》的电脑玩家,请参阅电脑玩家(经典)。对于介绍在曼恩 vs. 机器的机器人,请参阅机器人。关于别的用处,请参见机器人
我的拳头可是用钢铁做的!
机枪手(电脑玩家)描述自己的钢铁拳头

一个 BOT,又称机器人或电脑玩家,是服务器上被电脑控制的玩家。在军团要塞 2 中有两种机器人:智能机器人以及木偶机器人。智能机器人使用了先进的人工智能代码进行编程,因此它们能学习玩家们在游戏中的动作,并且不需要开启作弊模式来使用;木偶机器人没有人工智能,因此它们不会自动进行活动,但是它们对游戏测试以及训练有着显著帮助。若要使用木偶机器人,则必须在建立服务器时开启作弊模式,此时将不能完成成就

智能机器人

智能机器人能够学习玩家的动作并且不会受玩家直接控制。同时,它们都是以随机方式选择兵种的。他们使用复杂的人工智能代码编程,即使用求生之路一系列中生还者机器人以及被感染者机器人的代码设置。[1]添加智能机器人不需要服务器开启作弊模式,因此可以借此完成各种成就;不过有一个例外:机器人被杀后不会见到死亡摄像;因此,玩家不能通过智能机器人得到与死亡摄像相关的成就。还有,用奇异属性的武器杀死机器人不会增加武器的杀敌计数,除非武器有着奇异武器升级部件:机器人消灭数,则使杀敌数加到部件上而不是武器本身。

智能机器人在以下情况能够间接被玩家进行一定程度的控制:

  • 准备阶段内,任何被你准心指着的机器人都会做出嘲讽
  • 当你使用 "医生!" 语音指令时,附近的己方医生机器人会为你治疗。
  • 当治疗你的医生机器人的超级冲锋就绪时,使用 "冲!冲!冲!" 或者 "激活 Ubercharge!" 语音指令会让它立刻启动超级冲锋。
  • 受到重伤的医生机器人会马上启用自己的超级冲锋。
  • 机器人会试图参与同伴式嘲讽(例如击掌康茄舞)。

目前智能机器人的情况

智能机器人目前还算是在测试阶段而且随着每次游戏更新智能机器人都会得到一定改进。目前,经过无帽子更新,所有的兵种的智能机器人都能正常运作,包括曾经有问题的间谍。智能机器人只能在大部分官方的山丘之王地图、某些推车地图、攻防型地图 DustbowlGorge夺旗地图,以及 Mann Manor 上正常工作(在尾段两个地图中,智能机器人只能通过在控制台输入 tf_bot_add 指令来添加)。其他地图也可以使用这个方法添加机器人;但它们无法正常行动。

注:目前已经有一些较为流行的地图被添加了一个提前制造的机器人路线套装

智能机器人名称

智能机器人都有不同的名字,很多指着军团要塞 2,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


在不支持机器人的地图中添加机器人的步骤

相关文章:Navigation Meshes ,源于 Valve 开发者社区
  1. 在控制台中输入 "sv_cheats 1"。
  2. 在控制台中输入 "nav_generate"。
  3. 等待系统为地图绘制路径点。
  4. 重新载入地图(如果路径点已保存则不用重复之前步骤)。
  5. 可选择修改绘制的路径来增入漏掉的数据并移除错误的数据。使用 "nav_edit 1" 来进入编辑模式。
  6. 重载服务器(可选的,但是若不做,成就会仍然被禁用)。
  7. 打开控制台,输入"tf_bot_add <数目>"来选择添加机器人的数目。

警告:如果开启着机器人时候编辑路径,游戏很可能会崩溃。

机器人可以在用上方绘制过路径的地图上使用,并不需要每一次都使用这些指令,除了 "tf_bot_add <数目>" 来增入机器人。

机器人最好在控制点,山丘之王,推车,和夺旗地图上运用。在曼恩之力地图上,机器人会当作夺旗,但不会使用钩爪或机智地使用拿到的增益道具。

官方支持机器人的地图

智能机器人的行为

  • 机器人目前只会装备基础的配置
  • 简单难度上的机器人会很少使用主武器之外的武器。更高等级的机器人会在主武器弹匣用完后换到并使用它们的副武器。
  • 间谍狙击手机器人不会在简单模式上出现,而只能在普通和更高的等级中出现。
  • 目前机器人还不懂得使用特殊的跳跃,例如火箭跳或是黏弹跳,还不能搬运建筑。
  • 机器人在杀死玩家后,有几率立刻进行嘲讽,而且就算暴露在敌人火力下也会照做不误。曼恩 vs. 机器模式里的机器人有这种行为。
  • 间谍机器人(和玩家)在伪装着时会被其它的机器人忽略。但是,当碰到任何敌人机器人,入侵建筑物,开火,或隐形时,所有看到的机器人会将机器人/玩家称为间谍并不会忘记他,除非间谍在暗地里换伪装,暴露间谍的机器人死亡,或间谍用死亡之铃装死。
  • 火焰兵机器人会在非简单难度的游戏里十分频繁地使用压缩空气爆破来反弹敌方的飞行物。
  • 医生机器人大部分时候会先治疗其它的兵种而不是狙击手(和到更小的程度,工程师),就算 "医生!" 的语音指令被使用。
  • 医生机器人通常喜欢治疗机枪手,士兵,爆破手,和火焰兵,若被玩家玩儿的。如果没有人类玩家玩儿其中的一个兵种,他则很少会被一直治疗着。
  • 超级冲锋准备就绪的医生机器人会在受伤时启用超级冲锋。曼恩 vs. 机器模式里的 Über 医生有这种行为。
  • 如果一个伪装的间谍机器人在专家难度上见到敌人隐形,它会能够跟着他们,就算他们完全隐形并没有显示轮廓。
  • 机器人在准备阶段中不会开火除非它们先被攻击的(除了爆破手机器人放下黏性炸弹)。
  • 工程师机器人不会升级自己的传送装置或从它移除电子工兵,有时还不会修复自己的步哨枪就算不处于交火下。
  • 除了工程师,间谍,和狙击手,机器人在攻/防推车地图上会留在出生点上不动。
  • 间谍机器人,当被另一个机器人(或玩家)看到时,不会试图背刺而反会换到左轮手枪边射击边撤退。

智能机器人指令

为了在能使用智能机器人的地图中添加机器人,服务器管理员应在控制台中输入以下命令:

指令 说明
tf_bot_add 这个指令用于给双方队伍随机添加机器人,机器人的职业也是随机的。而且它们拥有有趣的名字。
指令语法
tf_bot_add [<count>] [<class>] [<team>] [<difficulty>]
参数说明
<count>
加上这个参数会为服务器添加指定数量的机器人。如果不加这个参数,则每次只会增加一个机器人。
使用这个参数时,如果添加的数目比服务器剩余位置还要多,例如一个24人服务器中有1名玩家,此时要想添加的机器人数目为25,那么只会在服务器中添加23个机器人。
<class>
此处所要填写的为机器人的兵种英文名称,例如Demoman, Engineer, HeavyWeapons, Medic, Pyro, Scout, Soldier, Sniper或是Spy
<team>
此处要填写的是想要机器人加入的队伍英文名称,例如red或者blue
<difficulty>
此处填写的是机器人的难度等级,例如easy, normal或者hard
例子
tf_bot_add red 3 heavyweapons easy意为在地图中为红队添加3个简单的重机枪手机器人。
tf_bot_difficulty 用以选择机器人的技能等级。
指令语法
tf_bot_difficulty <level>
参数说明
<level>
选择机器人的技能等级,用数字代替,例如: 0为简单, 1为普通, 2为困难, 3为专家。默认等级为"普通" (1)。
例子
tf_bot_difficulty 2意为将所有机器人的等级设置成"困难"。
tf_bot_force_class 如果填写一个兵种名称,则所有机器人都会选择此兵种。
指令语法
tf_bot_force_class <class>
参数说明
<class>
class处可以填写以下职业名称Demoman, Engineer, HeavyWeapons, Medic, Pyro, Scout, Soldier, Sniper或是Spy。默认情况下是随机选择兵种。
例如
tf_bot_force_class medic意为所有机器人都会选择医生。
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

这个指令能将机器人踢出服务器。

指令语法
tf_bot_kick <name/all>
参数说明
<name/all>
填写想要踢出的机器人名称或是踢出所有机器人。
例子
tf_bot_kick CEDA意为将名称为"CEDA"的机器人踢出。
tf_bot_prefix_name_with_difficulty 如果参数不为零,则会在机器人名称之前添加其技能等级代码。
指令语法
tf_bot_prefix_name_with_difficulty <integer>
参数说明
<integer>
可以填写 1 或者 0。默认为0(不开启此功能)。
例子
tf_bot_prefix_name_with_difficulty 1以为机器人的名字会变为"1 Aimbot" (普通难度)或是"3 Saxton Hale" (专家难度).
tf_bot_quota 这个指令是用来决定服务器中机器人玩家的数目的,其非默认参数设置只有两种:"tf_bot_quota_mode" = "fill" or "match".
指令语法
tf_bot_quota <integer>
参数说明
<integer>
设定的数字为0至服务器最大人数之间的一个数字。默认为0。
例子
tf_bot_quota 2,如果tf_bot_quota_mode 设置为 match,则每有一名玩家加入服务器时,就添加2个机器人。服务器中每加入一名玩家时则会自动添加2个机器人。
tf_bot_quota_mode 决定机器人的分配类型。
指令语法
tf_bot_quota_mode<normal/fill/match>
参数说明
normal/fill/match
如果为'normal',服务器则不会增加或踢出任何机器人,除非有明确的指令;bot_quota的指令也无效。
如果为'fill',服务器则会根据玩家人数,按照1:1的比例增加机器人玩家。
如果为'match',则服务器会根据玩家人数按照1:N的比例增加机器人,此处N是指 bot_quota 设定的参数。
例子
tf_bot_quota_mode fill意为服务器永远保持与玩家人数相同数量的机器人玩家。

木偶机器人

木偶机器人没有AI程序所以不会自行运动。这类机器人就像牵线木偶一样,玩家可以通过指令来控制他们的行为,例如跟随玩家动作或是开火。木偶机器人只要被用于测试方面,如果使用恰当的指令,还可利用它们制作惊人的视觉效果。

木偶机器人指令

并不是所有指令都有效果,但为了明确,下面列表中列出了所有的指令。

注: 只输入指令的主体部分但不输入参数部分时,并不会使指令生效,而且还会得到个间接的指令说明。

指令 说明
bot 使用这个指令时会为服务器中添加一个机器人,如果没有明确参数设定时,机器人则会随机选择的兵种与团队。
指令语法
bot -team <teamname/number> -class <classname> -name <botname>
参数说明
-team teamname/number
指定机器人的添加数目与加入的团队。name/number可以设置为RED或是1BLU或是0
-class classname
classname可设置为Demoman, Engineer, HeavyWeapons, Medic, Pyro, Scout, Soldier, Sniper以及Spy
-name botname
botname可以设置为任何参数。如果出现同名的机器人,则会在所有同名机器人前面增加一个数字来区分彼此(从1开始),从最早加入的那个机器人开始编号。例如, joe, (1)joe, (2)joe, 等等。如果不指定名字,则所有加入的机器人都已"bot"加上数字进行命。数字从01开始编号; 例如,第一个加入的机器人名字为 bot01,第二个为bot02,后面以此类推。
例子
bot -team red -class Engineer -name joe这个代码的意思是:为红队添加一名工程师机器人,名字为joe。
bot_changeclass 强制所有机器人选择指定的兵种类型。

此命令好像还不能正常使用。

bot_changeteams

让所有机器人强制更换团队。 这会强制所有的机器人交换团队,例如一个在红队的机器人更换到蓝队去,反之亦然。

bot_command 命令指定的机器人做出特定的行为。
指令语法
bot_command <botname> <console command>
botname填入的是你想要命令的机器人的名称。
console command填入的是你想要机器人所做的事情的指令,请查看控制台指令.
例子 1
bot_command bot01 "voicemenu 0 0" 命令机器人01号使用语音菜单中的0 0选项
例子2 2
bot_command bot01 "taunt" 命令机器人01号使用嘲讽动作
切换指令与bot_command不能同时生效,但是使用bot_forcefireweapon指令,可以让所有机器人切换到指定武器并且不停开火,也可以让它们停止开火。当然,你只能强制命令指定并种类型的机器人这么做。
bot_defend 指定特定团队的所有机器人进行防御,此时指定队伍的所有机器人都将处于防御状态。

例如,重机枪手机器人使它们的机枪旋转起来。

bot_dontmove 允许或禁止机器人进行移动。当指令设置为1时,所以机器人都不能够移动但它们依然能转身和跳跃。配合这个bot_mimic指令,你可以把机器人带到你想它们去的地方并且让它们呆在那里不动。
指令语法
bot_dontmove <0/1>
允许或禁止机器人进行移动。
例子
bot_dontmove 1意为禁止所有机器人移动
bot_forceattack 这会强制所有机器人开火,无论它们手上使用的是什么武器。如果bot_forceattack2指令设置成0,那么机器人会使用主武器开火。如果设置成1,那它们则使用副武器开火。

如果bot_mimic指令生效时(设置成1),那么强制开火指令就不会生效。

指令语法
bot_forceattack <0/1>
设置为0时,机器人则不会开火。设置为1时,机器人则会开火。
例子
bot_forceattack 1 意为机器人会进行自动开火。
bot_forceattack2 参见上一条指令。
bot_forceattack_down 设置机器人的开火方式,分点射和连射两种。当设置为0时,机器人则会像不断点击开火键一样进行点射(对手枪有效,但对机枪手迷你机枪无效)。当设置为1时,机器人则会像按着开火键不放一样进行连射(对重机枪手来说有用)。
指令语法
bot_forceattack_down <0/1>
1为开启,0为关闭
例子
bot_forceattack_down 1 意为所有机器人进行连射。
bot_forcefireweapon 强制拥有指定武器的机器人切换到此武器并进行开火。

如果一个机器人没有此种武器,则不会对其有影响。

指令语法
bot_forcefireweapon <weapon filename>
filename一般填武器的名称tf_weapon_ <weapon name>.
例子
bot_forcefireweapon tf_weapon_fists 会使所有重机枪手使用他们的拳头进行攻击,而其他机器人则会原地待命。

bot_forcefireweapon tf_weapon_shotgun_pyro 会使所有火焰兵机器人使用霰弹枪开火,而且他机器人则原地待命。

如果要想所有机器人停止开火,只需输入一个游戏中不存在的武器的名称即可。而且任何前端没有tf_weapon的武器不算军团要塞2的武器,因此机器人不会开火,例如bot_forcefireweapon ,,
由于机器人的装备无法更换,因此无法命令他们使用非默认武器外的武器。
bot_kill

杀死指定机器人。

指令语法
bot_kill <bot name>
强制指定机器人自杀。
例子
bot_kill bot01 意为强制让机器人01号自杀。
bot_mimic 机器人模拟玩家的动作。

机器人会模仿玩家的按键行为,即模仿玩家的人物动作。例如例如移动、转身、跳跃、开火等。

这个指令的效果会覆盖指令bot_forceattack的效果,但不会覆盖指令bot_dontmove的效果。

指令语法
bot_mimic <0/1>
1表示开启,0表示关闭。
例子
bot_mimic 1 意为机器人模仿玩家动作。
bot_mimic_yaw_offset

指定机器人的朝向。 机器人会转身面向一个指定的方向,其方向根据玩家而定。如果角度设置为180,则所有机器人都会面向玩家。设置为0时,所有机器人都会面向玩家所面向的方向。

指令语法
bot_mimic_yaw_offset <0-360>
设置机器人的朝向
例子
bot_mimic_yaw_offset 180
bot_randomnames 赋予机器人随机名字,名字列表如下

机器人名称

游戏中的机器人已经有很多被设定好的名字,其中一些与Valve出品的某些游戏有联系。当然有些与军团要塞2本本身有联系。有些名字这是根据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
指令格式
bot_randomnames <0/1>
1为开启随机名字,0为关闭。
例子
bot_randomnames 1
bot_refill 为所有机器人补充弹药,包括工程师的金属

指令格式: bot_refill

bot_saveme 强制所有机器人呼叫医生,这相当于对所有机器人使用指令bot_command <botname> "voicemenu 0 0"

指令格式: bot_saveme <0/1>

1为开启,0为关闭。
bot_selectweaponslot 让第一个加入的机器人切换指定的武器。

0 = 主武器; 1 = 副武器; 2 = 近战武器; 3 = 特殊武器(例如间谍的烟盒,工程师的PDA) 这个指令只对最先加入的机器人有效。而且目前并未发现能对特定机器人生效。

指令格式
bot_selectweaponslot <n>
n为上面提到的武器种类代码。
例子
bot_selectweaponslot 2 意为让第一个机器人切换到近战武器。
bot_teleport 传送指定的机器人到给定的坐标。

可以通过在控制台输入Status来查看玩家当前所在位置的地图坐标。

指令格式
bot_teleport <botname> <X> <Y> <Z> <Pitch> <Yaw> <Roll>
botname指的是机器人的名字.
X Y Z指的是地图的坐标。
Pitch Yaw Roll指的是机器人传送后所要面对的方向。
例子
bot_teleport bot01 -4815 1385 -447 0 0 0 意为传送机器人01号到坐标-4815 1385 -447,朝向为正前方。
bot_whack 给予机器人致命的伤害。这种伤害类型取决于玩家当前所使用的武器,这条指令可能是在开发过程中进行测试所用的。
指令格式
bot_whack <botname>
botname指的是指定机器人的名字。
例子
bot_whack bot109 意为给予机器人109号致命的伤害。

参考文献