Bots

From Team Fortress Wiki
Jump to: navigation, search
Un bot Soldier en action sur la carte Dustbowl Training.
Cette page traite des joueurs contrôlés par ordinateur dans le jeu Team Fortress 2.Pour les bots dans Team Fortress Classic, voir Bots (Classic). Pour les bots sur le Wiki de Team Fortress, voir Category:User bots. Pour les robots introduit dans la mise à jour Mann vs. Machine, voir Robots. Pour d'autres termes, voir Robot.
«
Mes poings! Ils sont en ACIER!
Un Bot Heavy conscient de lui-même
»

Un bot (ou un BOT) est un joueur contrôlé par l'ordinateur sur un serveur. Il y a deux types de bot dans Team Fortress 2 : les bots IA et les "marionnettes". Les bots IA possèdent une intelligence artificielle (IA) sophistiquée conçue pour imiter les actions des joueurs dans le jeu et peuvent être utilisés sans utiliser les codes de triche. Les bots marionnettes n'ont pas d'IA propre mais sont très utiles pour l'entrainement ou pour les essais. Les bots marionnettes nécessitent un serveur où les codes de triche sont activés, ce qui, par conséquent, désactive les succès.

Bots avec IA

Ces bots peuvent prendre la place de joueurs humains. Ils ne peuvent être qu'invoqués, ils ne peuvent pas être directement contrôlés. De plus, on ne peut choisir la classe des bots invoqués -- le jeu choisit pour vous.

Cependant, les bots apparaissant dans certaines classes peuvent être indirectement contrôlés, jusqu'à un certain point: un bot Medic vous soignera si vous l'appelez à l'aide(Touche "E" par défaut sur PC). Si un bot Medic vous soigne et qu'il possède une ÜberCharge prête, l'utilisation de la commande vocale "Go go go!" (Par défaut "W" puis "3" sur PC) ou de "Activate Charge!" (par défaut "X" puis "7" sur PC) forcera le bot à activer son ÜberCharge!

A propos de ce texte:

  • Les bots sont toujours en bêta-test.
  • Toutes les classes ne sont pas représentées, par exemple pas de Spy; Il est probable qu'un humain Spy ait un comportement trop complexe pour qu'il soit efficacement reproduit par une intelligence artificielle. Valve travaille probablement dessus.
  • Ils fonctionnent sans souci sur la plupart des maps officielles de type Roi de la colline et cp_dustbowl.
  • Les bots ne peuvent actuellement pas, ou ne pourront pas, sauter, faire des rocket jumps ou des sticky jumps volontairement.
  • Les bots n'utilisent pas à l'heure actuelle les objets débloquables ou trouvables (Chapeaux, armes, divers).

Bugs

  • Quand un Bot utilise les commandes de voix (comme "Spy!" ou "Bougez!"), aucun texte l'indiquant s'affiche dans la fenêtre de chat.
  • Les Engineer peuvent passer et rester dans leurs Bâtiments
  • Les Bots peuvent parfois se déplacer pendant qu'ils font une Raillerie.
  • Les Engineers peuvent ignorer leurs Bâtiments a part si ils se font détruire.
  • Les Bots peuvent rarement rester bloqué dans un téléporter.
  • Pour le moment, les Bots ne fonctionnent pas dans ces Modes De Jeux:
Course à la charge utile
Mann Vs. Machine*
Livraison Spéciale

(*Note: Les Bots ajouté par le serveur dans l’équipe RED ne bougeront pas, mis a part le Spy qui fonctionne parfaitement et qui n'hésitera pas d'aller poignarder les Robots. d'autre part, le Medic ne fera que vous suivre et vous soigner.)

Commandes pour les bot avec IA

Pour utiliser les bots avec IA sur les map supportées, il suffit d'ouvrir la console et de taper les commandes suivantes:

Commande Description

tf_bot_add

Cette commande va créer un ou plusieurs bots avec IA de classe aléatoire dans une équipe au hasard. Ils porteront des noms humoristiques.

Syntaxe
tf_bot_add [<nombre>] [<classe>] [<équipe>] [<difficulté>]
Paramètres
<nombre>
Spécifie le <nombre> de bots à créer. Si le champ n'est pas renseigné, un seul bot sera créé.
Spécifier un nombre plus grand que la limite maximum de joueur sur le serveur (pensez à prendre en compte les joueur humains pendant le calcul) cause un arrêt des bots (i.e. Ils ne bougent plus). Donc si votre serveur peut accueillir 24 joueurs (limite par défaut) et que vous êtes le seul humain à jouer, ne créez pas plus de 23 bots.
<classe>
La <classe> peut prendre les valeurs suivantes: Demoman, Engineer, HeavyWeapons, Medic, Pyro, Scout, Soldier, Sniper ou Spy.
<équipe>
Spécifie l'équipe que doit rejoindre le bot créé. <équipe> peut prendre la valeur RED ou BLU
<difficulté>
Définit le niveau de difficulté du bot créé. <difficulté> peut être easy(facile), normal(normale), or hard(difficile).
Exemple
tf_bot_add red 3 heavyweapons easy ajoutera 3 Heavys à l'équipe RED avec le niveau de difficulté facile.

tf_bot_difficulty

Définit la difficulté de tout les bots rejoignant la partie.

Syntaxe
tf_bot_difficulty <niveau>
Paramètres
<niveau>
Définit un niveau de difficulté pour les bots. Les valeurs possible de <niveau> sont: 0=facile, 1=normale, 2=difficile, 3=expert. Par défaut le niveau de difficulté est à 1.
Exemple
tf_bot_difficulty 2 tout les bots crées après cette commande seront de niveau difficile.

tf_bot_force_class

Si renseigné par le nom d'une classe, tous les bots seront de cette classe.

Syntaxe
tf_bot_force_class <classe>
Paramètres
<classe>
La <classe> peut pendre les valeurs suivantes: Demoman, Engineer, HeavyWeapons, Medic, Pyro, Scout, Soldier, Sniper ou Spy. Par défaut le champ est laissé vide. (i.e. "").
Exemple
tf_bot_force_class medic changera tout les bots présents en Medic lors de leur prochain respawn.

tf_bot_join_after_player

Si non nul, les bots attendront la présence d'un joueur pour rejoindre la partie.

Syntaxe
tf_bot_join_after_player <entier>
Paramètres
<entier>
Soit 1, soit 0. Par défaut <entier> est à 1 (activé).
Exemple
tf_bot_join_after_player 0 permettra aux bots de rejoindre la partie même si aucun joueur humain n'est présent.

tf_bot_keep_class_after_death

Si nul, les bots choisiront une classe différente lors de leurs réapparitions.

Syntaxe
tf_bot_keep_class_after_death <entier>
Paramètres
<entier>
Soit 1, soit 0. Par défaut à 0 (désactivé).
Exemple
tf_bot_keep_class_after_death 1 Empêchera les bots de changer de classe.

tf_bot_kick

Cette commande supprimera un ou tous les bots de la partie.

Syntaxe
tf_bot_kick <nom/all>
Paramètres
<nom/all>
Spécifie le nom du bot à supprimer ou les supprime tous (all).
Exemple
tf_bot_kick CEDA supprimera le bot nommé "CEDA" s'il existe.

tf_bot_prefix_name_with_difficulty

Si non nul, rajoute le niveau de difficulté du bot dans son nom.

Syntaxe
tf_bot_prefix_name_with_difficulty <entier>
Paramètres
<entier>
Soit 1, soit 0. Par défaut à 0 (désactivé).
Exemple
tf_bot_prefix_name_with_difficulty 1 donnera des noms comme "1 Aimbot" (normal) et "3 Saxton Hale" (expert).

tf_bot_quota

Fixe la limite du nombre total de bots dans le jeu. N'a d'effet que si "tf_bot_quota_mode" = "fill" ou "match".

Syntaxe
tf_bot_quota <entier>
Paramètres
<entier>
<entier> peut pendre un valeur entre 0 inclus et le nombre maximum que le serveur peut accueillir. Par défaut à 0.
Exemple
tf_bot_quota 2, Si tf_bot_quota_mode = match, ajoutera 2 bots pour 1 humain.

tf_bot_quota_mode

Détermine le type du quota.

Syntaxe
tf_bot_quota_mode<normal/fill/match>
Paramètres
normal/fill/match
Si 'normal', le serveur n'ajoutera/ne supprimera aucun bot de lui-même et la commande tf_bot_quota n'a pas d'effet.
Si 'fill', le serveur ajustera le nombre de bots pour qu'il y ait toujours N joueurs en jeu, N est la valeur de tf_bot_quota.
Si 'match', le serveur maintiendra un ratio de N bots pour 1 humain, N est la valeur de tf_bot_quota.
Exemple
tf_bot_quota_mode fill gardera toujours (bot_quota - nombre de joueurs humains) bots en jeu.


Il est possible d'utiliser les bot avec IA sur des maps non supportées, mais le résultat est sans garantie. Premièrement le serveur doit avoir les codes activés (sv_cheats 1), deuxièmement il faut générer le chemin des bots qui provoque un rechargement de la map, et troisièmement ces chemins ne fonctionnent généralement pas bien. Cependant si vous désirez tout de même utiliser des bots sur des maps non supportées, voici la marche à suivre:

  1. Ouvrez la console et tapez les commandes qui suivent
  2. sv_cheats 1
  3. nav_generate
  4. Attendez quelques instant (peut prendre plusieurs minutes) que le jeu génère les chemins des bots
  5. La map va se recharger (les chemins sont sauvegardés, pas besoin de refaire l'étape précédente)
  6. tf_bot_add <nombre>

De plus, un pack de chemins pour bots a été réalisé pour de nombreuses maps.

Note: Les bots ne marchent pas sur les maps de type Capture de l'intelligence ou Payload même avec le tutoriel vu plus haut. Il faudra une nouvelle mise à jour des bots.


Noms des bots

Les bots avec IA sont programmés pour prendre différents noms. De nombreux noms sont des références aux travaux de Valve, tel que Portal, Left 4 Dead 1 & 2, Half-Life, etc... Il y a également des références à Team Fortress. Beaucoup de ces noms ont été demandés par la communauté sur les forums de Steam.

Bots "marionnettes"

Les bots "marionnettes" ne comportent pas d'IA. Ils ne peuvent donc pas remplacer de vrais joueurs puisqu'ils sont dans l'incapacité d'agir d'eux-mêmes. Cependant, on peut les utiliser comme des poupées en leur faisant faire des actions simples tel le suivi du joueur ou le tir.

Ils sont principalement utiles pour tester le jeu. On peut également s'amuser en regardant une armée de parfaits soldats tirant leur roquettes à l'unisson ou alors exploser une douzaine d'ennemis impuissants avec une simple bombe collante.

Comme ils nécessitent que la valeur "sv_cheats" du serveur soit réglée sur 1, on ne peut pas utiliser des bots pour débloquer des succès.

Commandes pour les bots "marionnettes"

Plusieurs commandes peuvent ne pas marcher. Pour plus de clarté, nous avons préféré garder la liste complète de toutes les commandes. Il faut noter que si vous tapez une commande sans aucune valeur, la console vous affichera une fenêtre d'aide indiquant les commandes associés à celle tapée.

Commande Description

bot

Cette commande va créer un bot dans l'équipe voulue, avec la classe voulue, et un nom de votre choix. Si l'équipe ou le nom n'est pas renseigné, il sera aléatoire.

Syntaxe
bot -team <équipe/nombre> -class <classe> -name <nom>
Paramètres
-team équipe/nombre
Spécifie le nom ou le nombre de l'équipe dans laquelle le bot ira. équipe/nombre peut être RED ou 1, BLU ou 0
-class classe
La classe peut être Demoman, Engineer, HeavyWeapons, Medic, Pyro, Scout, Soldier, Sniper, ou Spy
-name nom
nom peut être n'importe quoi. S'il y a déjà quelqu'un avec le même nom, alors un nombre incrémental (commençant à 1) entouré de parenthèses sera ajouté au début du nom. Par exemple, joe, (1)joe, (2)joe, etc. Si aucun nom n'est donné, alors le nom sera "bot" suivi d'un nombre commençant par 01; par exemple, le premier bot sera bot01, le prochain sera bot02, et ainsi de suite.
Exemple
bot -team red -class Engineer -name joe

bot_changeclass

Force tout les bots à être de la classe spécifiée. Cette commande semble ne pas être implémentée, elle ne fait rien.

bot_changeteams

Tous les bots changent d'équipe. Si un bot est dans l'équipe RED, alors il va dans l'équipe BLU, et vice-versa.

bot_command

Envoie la commande spécifiée au bot spécifié.

Syntaxe
bot_command <nom> <commande console>
nom est le nom ou l'id du bot à qui envoyer la commande.
commande console peut être n'importe laquelle parmi celles listées dans les Scripting#Console Commands.
Exemple 1
bot_command bot01 "voicemenu 0 0"
Exemple 2
bot_command bot01 "taunt"

bot_defend

Appliquée à un numéro d'équipe, cette commande fait que cette équipe sera sur la défensive. Par exemple, les Heavies auront leur Minigun abaissé, prêt à tirer.

bot_dontmove

Autorise/Empêche les bots de se déplacer. Si à 1 les bots ne peuvent pas bouger mais ils peuvent tourner sur eux-même et sauter. L'utilisation de cette commande avec bot_mimic vous permettra d'amener les bots là où vous le désirez et les y laisser.

Syntaxe
bot_dontmove <0/1>
Autorise les bots à se déplacer, ou non.
Exemple
bot_dontmove 1

bot_forceattack

Cela force les bots à tout le temps attaquer avec l'arme couramment équipée. Si bot_forceattack2 est à 0, alors les bots utiliseront leur tir principal. Si bot_forceattack2 est à 1, alors les bots utiliseront leur tir secondaire.

Cette commande n'a aucun effet si bot_mimic est à 1 (active).

Syntaxe
bot_forceattack <0/1>
Le bot ne tirera pas si à 0, tirera sans relâche si à 1.
Exemple
bot_forceattack 1

bot_forceattack2

Force les bots à utiliser leur tir secondaire avec l'arme couramment équipée quand la commande bot_forceattack est à 1.

Syntaxe
bot_forceattack2 <0/1>
Les bots utiliseront leur tir secondaire si à 1, leur tir principal si à 0
Exemple
bot_forceattack2 1

bot_forceattack_down

Force les bots à tirer comme s'ils maintenaient le bouton. Si réglé sur 0, le bot tirera comme s'il appuyait rapidement sur le bouton de tir (utile pour le Pistolet, mais pas pour le Minigun du Heavy). Si cette commande est réglée sur 1, le bot se comportera comme s'il maintenait le bouton de tir enfoncé.

Syntaxe
bot_forceattack_down <0/1>
Activée lorsque réglée sur 1, désactivée lorsque réglée sur 0
Exemple
bot_forceattack_down 1

bot_forcefireweapon

Force les bots à équiper l'arme choisie pour tirer. Cette commande semble ne pas être implémentée, elle n'a aucun effet.

bot_kill

Tue le bot spécifié.

Syntaxe
bot_kill <nom>
Force le bot spécifié par nom à se suicider.
Exemple
bot_kill bot01

bot_mimic

Le bot imitera les mouvements du joueur, comme s'il appuyait sur les même touches au même moment.

Notez que cette commande est prioritaire par rapport à bot_forceattack mais pas par rapport à bot_dontmove.

Syntaxe
bot_mimic <0/1>
Activée lorsque réglée sur 1, désactivée lorsque réglée sur 0
Exemple
bot_mimic 1

bot_mimic_yaw_offset

Règle l'angle de vue (en degrés) des bots. Les bots regarderont dans une direction formant cet angle par rapport à celle dans laquelle le joueur regarde. Cette commande est réglée sur 180 par défaut, les bots sont donc face au joueur. Régler cette commande sur 0 forcera les bots à regarder dans la même direction que le joueur.

Syntaxe
bot_mimic_yaw_offset <0-360>
Indique la direction en changeant l'angle
Example
bot_mimic_yaw_offset 180

bot_randomnames

Donnera des noms aléatoirement choisis parmi la liste des noms aux bots,

Syntaxe
bot_randomnames <0/1>
Activée lorsque réglée sur 1, désactivée lorsque réglée sur 0
Exemple
bot_randomnames 1

bot_refill

Donne le plein de munitions aux bots, cette commande donne aussi du métal aux Engineers.

Syntaxe: bot_refill

bot_saveme

Tout les bots appellent un Medic à l'aide, équivalent à la commande bot_command <nom> "voicemenu 0 0" appliquée à chaque bot. Syntaxe: bot_saveme <0/1>

Actif si à 1, Non actif si à 0

bot_selectweaponslot

Force le premier bot à choisir une arme en particulier. 0 = primaire; 1 = secondaire; 2 = mêlée; 3 = spéciale Notez que cette commande ne marche que sur le premier bot apparu. Il ne semble pas y avoir de possibilité de l'utiliser sur d'autres bots.

Syntaxe
bot_selectweaponslot <n>
n est le numéro correspondant au type d'arme que le bot est censé prendre.
Exemple
bot_selectweaponslot 2

bot_teleport

Téléporte un bot à un endroit défini par des coordonnées précises. Les coordonnées de l'endroit auquel vous vous trouvez peuvent être obtenues en tapant Status dans la console.

Syntaxe
bot_teleport <nom> <X> <Y> <Z> <Pitch> <Yaw> <Roll>
nom et le nom ou l'id du bot à téléporter.
X Y Z sont les coordonnées de la carte.
Pitch Yaw Roll définissent la direction vers laquelle le bot regarde.
Exemple
bot_teleport bot01 -4815 1385 -447 0 0 0

bot_whack

Inflige des dégâts mortels sur le bot spécifié de la part du joueur. Cela revient à tuer le bot avec l'arme que vous avez équipé, probablement utilisé pour des tests lors du développement.

Syntaxe
bot_whack <nom>
Ou nom est le nom du bot à qui donner "un grand coup".
Exemple
bot_whack bot109

Binds et Alias Utiles

sv_lan 1

sv_cheats 1

mp_teams_unbalance_limit 0

alias +bot_shoot_primary "bot_selectweaponslot 0; bot_forceattack 1"

alias -bot_shoot_primary "bot_selectweaponslot 0; bot_forceattack 0"

alias +bot_shoot_secondary "bot_selectweaponslot 1; bot_forceattack 1"

alias -bot_shoot_secondary "bot_selectweaponslot 1; bot_forceattack 0"

bind n +bot_shoot_primary

bind m +bot_shoot_secondary

Appuyer sur n forcera le bot à utiliser son arme primaire (1er slot) et de tirer une fois. Appuyer sur m forcera le bot à selectionner son arme secondaire et à tirer une fois. Appuyer sur n ou m à la suite fait tirer le bot plusieurs fois. Si vous desirez utiliser le tir alternatif de certaines armes (par exemple le Lanceur de bombes collantes), tapez dans la console la commande bot_forceattack2 1 pour utiliser le tir alternatif, puis bot_forceattack2 0 pour revenir au tir classique. Bien sur vous pouvez faire un bind pour cette action.

Exemple de Scripts

  1. Créez un serveur sur une map de votre choix (Gravel Pit est un bon choix du fait qu'il n'y a qu'une zone de réapparition, ou les cartes "achievement_..." qui ont des zones de réapparition ouvertes).
  2. Rejoignez l'équipe BLU et restez dans la zone de réapparition.
  3. Ouvrez la console et tapez les commandes suivantes:
    sv_cheats 1
    mp_teams_unbalance_limit 0
    bot -class Engineer
    bot_mimic_yaw_offset 0
    bot_mimic 1
    Cela fait faire apparaître un bot Engineer BLU nommé "bot01" qui fera exactement ce que vous faites, c'est-à-dire marcher, changer d'arme et tirer en même temps que vous. Cependant il ne construira aucun bâtiment même si vous en construisez. Heureusement il y a une commande BUILD (construire) et la commande bot_command qui permet de donner des ordres au bot.
  4. Ouvrez la console et tapez:
    bot_command bot01 "build 3"
    Cela va démarrer le processus de construction, pour vous situer le bot voit le plan.
  5. Fermez la console et tirez - cela va lancer la construction d'une Mitrailleuse. Continuez de tirer pour que le bot frappe la Sentry Gun avec sa Clé à molette pour construire plus rapidement. Si vous voulez augmenter le niveau de la Sentry Gun, il faudra donner plus de métal aux bots via la commande bot_refill (à taper dans la console).

Autres Exemples

  1. L'exemple suivant fera apparaître un bot Medic et un Soldier dans l'équipe RED qui tireront jusqu'à ne plus avoir de munitions. Le Medic finira par équiper son Medi Gun pour soigner tous les joueurs à sa portée (Spy inclus). Le Soldier finira par donner des coups avec son arme de corps à corps à moins qu'il ne récupère des munitions, dans ce cas il recommencera à tirer des roquettes (Utile pour s'entrainer à renvoyer les roquettes avec le Pyro).
sv_cheats 1
mp_teams_unbalance_limit 0
bot -team red -class medic
bot -team red -class soldier
bot_mimic 0
bot_forceattack 1
bot_selectweaponslot 1
sv_cheats 0
retry
  1. Le script suivant fera apparaître un Sniper dans l'équipe RED qui passera son temps à regarder dans sa lunette et un Spy dans l'équipe RED qui passera son temps à se rendre invisible puis visible puis invisible etc. La commande retry vous permet de commencer une partie propre (sans sv_cheats).
sv_cheats 1
mp_teams_unbalance_limit 0
bot -team red -class sniper
bot -team red -class spy
bot_selectweaponslot 1
bot_mimic 0
bot_forceattack 1
bot_forceattack2 1
sv_cheats 0
retry
  1. Le script suivant fait apparaitre trois Scouts et trois Heavies dans l'équipe RED.
sv_cheats 1
mp_teams_unbalance_limit 0
bot -team red -class scout
bot -team red -class scout
bot -team red -class scout
bot -team red -class heavyweapons
bot -team red -class heavyweapons
bot -team red -class heavyweapons
sv_cheats 0
retry

Références