Difference between revisions of "Bots"

From Team Fortress Wiki
Jump to: navigation, search
(I've translated about 70% of text from English to Polish. I DON'T USE ANY TRANSLATOR. I'll translate rest od the text tommorow.)
Line 1: Line 1:
[[Image:Tr_dustbowl0003.jpg|right|thumb|300px|Bot Żołnierza(Solider) na mapie [[Dustbowl (Trening)|Trening Na Dustbowl]] ]]
+
[[Image:Tr_dustbowl0003.jpg|right|thumb|300px|A [[Soldier]] bot in action on the [[Dustbowl (Training)|Dustbowl Training]] map.]]
{{Quotation|'''Bot Grubego''' podczas samorealizacji.|Moje pięści! Są zrobione ze stali!|sound=Heavy_specialweapon01.wav}}
+
{{Quotation|'''Heavy Bot''' on self-realization|My fists! They are made of STEEL!|sound=Heavy_specialweapon01.wav}}
  
 +
There are two types of '''bots''' in TF2: AI Bots and Puppet Bots. AI Bots are coded with sophisticated artificial intelligence designed to emulate player actions in game. Puppet Bots have no AI coding, but are useful for testing and
  
Są dwa typy botów w TF2: AI Bots i Puppet Bots. Boty AI mają zakodowaną sztuczną inteligencję zaprojektowaną do naśladowania zachowań graczy w grze. Buppet Bots nie posiadają Sztucznej inteligencji, ale są za to przydatne do testów i treningów. Wymagają serwera z włączonymi cheatami oraz wyłączonymi osiągnięciami (achievements).
+
training. They require the server to have [[Cheats]] enabled, which also disables Achievements.
  
Spis treści
+
==AI Bots==
 +
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
  
    * 1 Boty AI
+
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.
          o 1.1 Obecny status botów AI
 
                + 1.1.1 Używanie botów na nieobsługiwanej mapie.
 
                + 1.1.2 Zachowanie botów AI
 
          o 1.2 Komendy do botów
 
    * 2 Puppet Bots
 
          o 2.1 Komendy do "Puppet Bots"
 
          o 2.2 Imiona botów
 
    * 3 Referencje
 
  
Boty AI
+
AI Bots can be indirectly controlled to an extent:
 +
* Any friendly bot that you place your crosshair over during [[Setup time]] will taunt.
 +
* A [[Medic]] bot will heal you if you press the, "Medic!" [[Voice commands|voice command]].
 +
* If a Medic bot is healing you and has an [[ÜberCharge]] ready, using the voice commands, "Go go go!" or, "Activate Charge!" will cause the bot to activate his ÜberCharge.
  
Boty AI są stworzone po to, aby naśladować ludzkich graczy i nie są bezpośrednio kontrolowane. Dodatkowo ich klasy są wybierane losowo. Używają wyrafinowanego kodu AI AI code, w oparciu o PlayerBot oraz infected AI występującym w serii Left 4 Dead.
+
===Current AI Bot Status=== 
[1] Boty AI nie wymagają serwera z włączonymi oszustwami (cheats) w związku z tym Osiągnięcia są dostępne podczas gry z nimi.
+
AI Bots are in beta testing and will become more sophisticated as they are updated. Currently, not all classes have proper AI support, a good example being the [[Spy]]. Spy bots will run away from the player or other enemies if they are
  
Boty mogą być kontrolowane bezpośrednio w zakresie:
+
approached while facing them and will never use their [[Cloak]]. Bots can only play as a Spy in [[List of game modes#Highlander|Highlander mode]], by typing ''"tf_bot_force_class Spy"'' into the
  
    * Każdy przyjazne Bot na którego najedziesz celownikiem podczas "Setupa" będzie Tauntować (eng. wyśmiewać)
+
[http://developer.valvesoftware.com/wiki/Developer_Console console], or by setting class restrictions with a third party program.  
    * Bot-Medyk będzie Cię leczyć gdy go zawolasz ( domyślnie klawisz E)
+
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
    * Gdy Bot-Medyk Cię leczy i ma gotowy ładunek ÜberCharge używając komendy głowowej "Go go go!" lub "Activate Charge!" spowoduje aktywację ÜberCharge.
 
  
Obecny status botów AI.
+
possible by following certain steps; however, they will not emulate human players as well.
  
Boty AI są w fazie testów (BETA), będą bardziej "sprywni" gdy zrobisz Update. Obecnie nie wszyskie klasy mają wsparcie AI - na przykład Szpieg. Bot-Szpieg ucieka od gracza jeżeli zostanie zauważony i nigdy nie używają kamuflażu(cloak).
+
''Note: A [http://forums.steampowered.com/forums/showthread.php?t=1264447 pack of pre-made bot meshes] has been compiled for many popular maps.''
Boty mogą grać jako szpieg w trybie Highlander, poprzez wpisanie "tf_bot_force_class Spy" w konsoli lub poprzez użycie innego programu. Boty AI działają poprawnie tylko na większości oficjalnych map King of the Hill, Payload, Dustbowl i Mann Manor (Boty mogą tylko być dodane poprzez komędę "tf_bot_add". Używanie Botów na niewspomaganych mapach jest możliwe po wykonaniu poniższych czynności; lecz nie będą dobrze "udawać" ludzkiego gracza tak dobrze.
 
  
PS: Gotowa [http://forums.steampowered.com/forums/showthread.php?t=1264447 paczka botów] jest dostępna dla wielu popularnych map.
+
====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
  
Używanie botów na niewspomaganej mapie.
+
''Note: Bots do not work on [[Capture the Flag]] maps, even if the above tutorial is followed.''
  
  1. Wpisz "sv_cheats 1" w konsoli.
+
====AI Bot Behavior====
  2. Wpisz "nav_generate"
+
* Bots currently can not use or equip unlockable content, including: non-standard [[Weapons]], [[Hats]], or [[Miscellaneous items]].  
  3. Poczekaj dopóki gra nie stworzy "Ścierzek AI"
+
* Bots currently can not [[Jumping|jump]], [[Rocketjump#Rocket jumps|rocket jump]] or [[Stickyjump#Sticky jumps|sticky jump]].
  4. Mapa się przeładuje, powyższe czynności nie będą musiały być wykonywane ponownie.
+
* 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.
  5. Włącz konsole i wpisz "tf_bot_add <ilość>"
+
* 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.
Note: Boty nie działają na mapach typu CTF(Zabierz Flage), nawet gdy powyższe kroki zostaną wykonane poprawnie.
+
* Pyro bots will use the [[Compression blast]] against projectiles regularly.
  
Zachowanie botów.
+
===AI Bot Commands===
 
+
To use AI bots on supported maps, the server administrator should type the following commands into the console:
    * Boty nie mogą obecnie użyć zawartości odblokowywanej - bronie, czapki etc.
 
    * Boty aktualnie nie potrafią skakać.
 
    * Gdy bot zabije gracza to losuje czy ma go "wyśmiać"(taunt), Bot będzie wyśmiewać gracza nawet podczas ostrzału.
 
    * Gdy bot zobaczy ukrytego wrogiego Szpiega to będzie oglądać jego ruchy. Bot niezaatakuje ukrytego szpiega dopóki Szpieg nie zaatakuje, albo nie wpadnie na wrogiego Bota.
 
    * Boty Pyro będą regularnie używać Strumienia Sprężonego Powietrza (Compression blast) przeciwko pociskami (rakiety).
 
 
 
 
 
 
 
 
 
Komendy do Botów.
 
 
 
Żeby używać botów na obsługiwanych mapach, administrator serwera musi wpisać te komendy w konsoli:
 
  
 
{| class="wikitable grid"
 
{| class="wikitable grid"
Line 64: Line 52:
 
|-
 
|-
 
|{{nw|<big>'''tf_bot_add'''</big>}}
 
|{{nw|<big>'''tf_bot_add'''</big>}}
|To polecenie stworzy dodatkowego bota losowej klasy oraz drużyny. Zostanie mu dodany nick.
+
|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 [<''ilosc''>] [<''klasa''>] [<''druzyna''>] [<''trudnosc''>]</code>
+
;Syntax: <code>tf_bot_add [<''count''>] [<''class''>] [<''team''>] [<''difficulty''>]</code>
  
 
;Parameters:
 
;Parameters:
:<code><''ilosc''></code>
+
:<code><''count''></code>
::Ustawia ilość botów, które się zrespawnują.
+
::Specifies the number of bots to spawn.  If omitted, one bot is spawned.
::Jeżeli ustawisz ilość botów większą niż maximum slotów na serwerze spowoduje to, że boty "zamarzną" (freeze). Jeżeli chcesz grać sam z botami ustaw 23.
+
::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
:<code><''klasa''></code>
 
::Nazwy ''klasa'' klas mogą być następujące: ''[[Demoman]]'', ''[[Engineer]]'', ''[[Heavy]]Weapons'', ''[[Medic]]'', ''[[Pyro]]'', ''[[Scout]]'', ''[[Soldier]]'', ''[[Sniper]]'', lub ''[[Spy]]''
 
  
:<code><''drużyna''></code>
+
than 23 bots.
::Ustawia drużynę, do której ma dołączyć bot, może to być ''[[red]]'' oraz ''[[blue]]''.
 
  
:<code><''poziom trudności></code>
+
:<code><''class''></code>
::Ustawia poziom trudności. Poziomy trudności są takie: ''easy'', ''normal'', i ''hard''.
+
::The ''classname'' of the class can be ''[[Demoman]]'', ''[[Engineer]]'', ''[[Heavy]]Weapons'', ''[[Medic]]'', ''[[Pyro]]'', ''[[Scout]]'', ''[[Soldier]]'', ''[[Sniper]]'', or ''[[Spy]]''
  
;Przykład: <code>tf_bot_add red 3 heavyweapons easy</code> - doda trzech Grubych do drużyne RED z łatwym (easy) poziomem trudności.
+
:<code><''team''></code>
 +
::Specifies the team name to assign the bot, where ''team'' can be ''[[red]]'' or ''[[blue]]''.
 +
 
 +
:<code><''difficulty></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.
 
|-
 
|-
 
|{{nw|<big>'''tf_bot_difficulty'''</big>}}
 
|{{nw|<big>'''tf_bot_difficulty'''</big>}}
|Ustawia poziom trudności botów włączających się do gry (ich skill)  
+
|Defines the skill of bots joining the game.  
  
;Syntax: <code>tf_bot_difficulty <''poziom''></code>
+
;Syntax: <code>tf_bot_difficulty <''level''></code>
  
 
;Parameters:
 
;Parameters:
 
:<code><''level''></code>
 
:<code><''level''></code>
::Ustawia poziom trudności Botów - tak jak wyżj tylko wykorzystuje się cyfry. Można użyć następujących: 0=easy, 1=normal, 2=hard, 3=expert. Domyślne to "Normal" (1).
+
::Sets the difficulty level for the bots. Values are: 0=easy, 1=normal, 2=hard, 3=expert. Default is "Normal" (1).
  
;Przykład: <code>tf_bot_difficulty 2</code> - wszystkie zrespawnowane boty po użyciu tej komendy będą miały poziom trudności "Hard".
+
;Example: <code>tf_bot_difficulty 2</code> will set all bots created after this command to "Hard" difficulty.
 
|-
 
|-
 
|{{nw|<big>'''tf_bot_force_class'''</big>}}
 
|{{nw|<big>'''tf_bot_force_class'''</big>}}
|Ta komęda ustawia klasę '''wszystkim''' botom.
+
|If set to a class name, all TFBots will respawn as that class.
  
 
;Syntax: <code>tf_bot_force_class <''class''></code>
 
;Syntax: <code>tf_bot_force_class <''class''></code>
  
;Parametry:
+
;Parameters:
:<code><''klasa''></code>
+
:<code><''class''></code>
::Ustawia klasę, klasy są następujące: ''[[Demoman]]'', ''[[Engineer]]'', ''[[Heavy]]Weapons'', ''[[Medic]]'', ''[[Pyro]]'', ''[[Scout]]'', ''[[Soldier]]'', ''[[Sniper]]'', lub ''[[Spy]]''. Domyślne to "" (blank).
+
::The ''classname'' of the class can be ''[[Demoman]]'', ''[[Engineer]]'', ''[[Heavy]]Weapons'', ''[[Medic]]'', ''[[Pyro]]'', ''[[Scout]]'', ''[[Soldier]]'', ''[[Sniper]]'', or ''[[Spy]]''. Default is "" (aka blank).
  
;Przykład: <code>tf_bot_force_class medic</code> Wszystkie boty zrespią się jako Medycy.
+
;Example: <code>tf_bot_force_class medic</code> will make all TFbots respawn as Medic.
 
|-
 
|-
 
|{{nw|<big>'''tf_bot_join_after_player'''</big>}}
 
|{{nw|<big>'''tf_bot_join_after_player'''</big>}}
|Jeżeli liczba nie jest zerem to boty poczekają z wejściem do gry dopóki Gracz nie zacznie grać.
+
|If nonzero, bots wait until a player joins before entering the game.
  
 
;Syntax: <code>tf_bot_join_after_player <''integer''></code>
 
;Syntax: <code>tf_bot_join_after_player <''integer''></code>
  
;Parametry:
+
;Parameters:
 
:<code><''integer''></code>
 
:<code><''integer''></code>
::Wybierz od 0 do 1 (domyślne to 1)
+
::Either 1 or 0. Default is 1 (enabled).
  
;Przykład: <code>tf_bot_join_after_player 0</code> spowoduje to, że boty wejdą do gry przed graczem nie czekając na niego.
+
;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.
 
|-
 
|-
 
|{{nw|<big>'''tf_bot_keep_class_after_death'''</big>}}
 
|{{nw|<big>'''tf_bot_keep_class_after_death'''</big>}}
|Jeżeli wartość wynosi 0 to boty zawsze się odrodzą z inną klasą.
+
|If zero, bots will always respawn as a different class.
  
 
;Syntax: <code>tf_bot_keep_class_after_death <''integer''></code>
 
;Syntax: <code>tf_bot_keep_class_after_death <''integer''></code>
  
;Parametry:
+
;Parameters:
 
:<code><''integer''></code>
 
:<code><''integer''></code>
::Od 0 do 1. Domyślne 0(Wyłączone)
+
::Either 1 or 0. Default is 0 (disabled).
  
;Przykład: <code>tf_bot_keep_class_after_death 1</code> Boty po śmierci nie zmienią klasy.
+
;Example: <code>tf_bot_keep_class_after_death 1</code> will prevent TFBots from changing class.
 
|-
 
|-
 
|{{nw|<big>'''tf_bot_kick'''</big>}}
 
|{{nw|<big>'''tf_bot_kick'''</big>}}
 
|
 
|
Wpisanie tej komendy wyrzuci jednego bota.
+
This command will remove one or all AI bots.
  
;Syntax: <code>tf_bot_kick <''imię/all''></code>
+
;Syntax: <code>tf_bot_kick <''name/all''></code>
  
;Parametry:
+
;Parameters:
:<code><''Imię/all''></code>
+
:<code><''name/all''></code>
::Wpisujesz albo imię bota (nick) lub "all" żeby wyrzucić wszystkie.
+
::Specifies the name of bot to remove or all.
  
;Przykład: <code>tf_bot_kick CEDA</code> Wyrzuci bota o nicku "CEDA" jeżeli taki jest w grze.
+
;Example: <code>tf_bot_kick CEDA</code> will kick the TFbot named "CEDA" if one exists.
 
|-
 
|-
 
|{{nw|<big>'''tf_bot_prefix_name_with_difficulty'''</big>}}
 
|{{nw|<big>'''tf_bot_prefix_name_with_difficulty'''</big>}}
|Jeżeli różne od zera to doda poziom trudności bota do jego nazwy.
+
|If nonzero, append the skill level of the bot to the bot's name
  
 
;Syntax: <code>tf_bot_prefix_name_with_difficulty <''integer''></code>
 
;Syntax: <code>tf_bot_prefix_name_with_difficulty <''integer''></code>
  
;Parametry:
+
;Parameters:
 
:<code><''integer''></code>
 
:<code><''integer''></code>
::Wpisz 0 lub 1. Domyślnie 0 (wyłączone).
+
::Either 1 or 0. Default is 0 (disabled).
  
;Example: <code>tf_bot_prefix_name_with_difficulty 1</code> Spowoduje to, że nicki botów będą zależne od poziomu trudności np: "1 Aimbot" (normal) and "3 Saxton Hale" (expert).
+
;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).
 
|-
 
|-
 
|{{nw|<big>'''tf_bot_quota'''</big>}}
 
|{{nw|<big>'''tf_bot_quota'''</big>}}
|Określa całkowitą liczbę botów w grze. Działa tylko jeżeli "tf_bot_quota_mode" = "fill" albo "match".
+
|Determines the total number of tf bots in the game. Only has effect is "tf_bot_quota_mode" = "fill" or "match".
  
 
;Syntax: <code>tf_bot_quota <''integer''></code>
 
;Syntax: <code>tf_bot_quota <''integer''></code>
  
;Parametry:
+
;Parameters:
 
:<code><''integer''></code>
 
:<code><''integer''></code>
::Numery powyżej 0. Określa ile graczy może umieścić serwer. Domyślnie 0.
+
::Whole number between 0 and how many players the server can hold. Default is 0.
  
;Przykład: <code>tf_bot_quota 2</code>, if tf_bot_quota_mode = match, Doda dwa boty do serwera za dwóch ludzi.
+
;Example: <code>tf_bot_quota 2</code>, if tf_bot_quota_mode = match, will add two bots to the server for every one human.
 
|-
 
|-
 
|{{nw|<big>'''tf_bot_quota_mode'''</big>}}
 
|{{nw|<big>'''tf_bot_quota_mode'''</big>}}
|Określa typ części.
+
|Determines the type of quota.
 +
 
 
;Syntax: <code>tf_bot_quota_mode<''normal/fill/match''></code>
 
;Syntax: <code>tf_bot_quota_mode<''normal/fill/match''></code>
  
Line 174: Line 166:
 
|}
 
|}
  
==Boty Puppet==
+
==Puppet Bots==
Te boty nie mają kodu AI, nie mogą się ruszać ani atakować. Te boty mogą być używane jako lalki, gracze mogą nimi manipulować - kazać iść za sobą czy strzelać. Ten typ botów jest używany do róznych celów. Umiejętne manipulowanie nimi może stworzyć ładną scenkę.
+
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
===Komendy Botów Puppet===
+
 
Nie wszystkie poniższe komendy działają.
+
Bots are mainly used for testing purposes and can also create stunning visuals if manipulated accordingly.
  
''Notka: wpisywanie komend bez żadnych watości spowoduje wyświetlenie krótkiego opisu.''
+
===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"
Line 196: Line 191:
 
::The ''classname'' of the class can be ''[[Demoman]]'', ''[[Engineer]]'', ''[[Heavy]]Weapons'', ''[[Medic]]'', ''[[Pyro]]'', ''[[Scout]]'', ''[[Soldier]]'', ''[[Sniper]]'', or ''[[Spy]]''
 
::The ''classname'' of the class can be ''[[Demoman]]'', ''[[Engineer]]'', ''[[Heavy]]Weapons'', ''[[Medic]]'', ''[[Pyro]]'', ''[[Scout]]'', ''[[Soldier]]'', ''[[Sniper]]'', or ''[[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'' 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.
 
;Example: <code>bot -team red -class Engineer -name joe</code>
 
;Example: <code>bot -team red -class Engineer -name joe</code>
 
|-
 
|-
Line 217: Line 214:
 
;Example 2: bot_command bot01 "taunt"
 
;Example 2: bot_command bot01 "taunt"
  
::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.
+
::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.
 
|-
 
|-
 
|{{nw|<big>'''bot_defend'''</big>}}
 
|{{nw|<big>'''bot_defend'''</big>}}
Line 224: Line 223:
 
|-
 
|-
 
|{{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.
+
|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.
  
 
;Syntax: <code>bot_dontmove <''0/1''></code>
 
;Syntax: <code>bot_dontmove <''0/1''></code>
Line 231: Line 232:
 
|-
 
|-
 
|{{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.
+
|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.
  
 
Note this does nothing if <code>bot_mimic</code> is active (set to ''1'').
 
Note this does nothing if <code>bot_mimic</code> is active (set to ''1'').
Line 247: Line 250:
 
|-
 
|-
 
|{{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).
+
|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).
  
 
;Syntax: <code>bot_forceattack_down <''0/1''></code>
 
;Syntax: <code>bot_forceattack_down <''0/1''></code>
Line 293: Line 298:
 
|
 
|
  
===Imiona botów===
+
===AI Bot Names===
Boty mają zaprogramowane różne imiona, wiele z nich zostało nadane przez Valve. Zawierają zawsze trochę odniesień do TF2. ich imiona zostały także określone na forum Steam. <!--Jeżeli znalazłeś imiona, które nie występują na liście to je dodaj, dzięki-->
+
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-->
 
{|
 
{|
 
| valign="top" |
 
| valign="top" |
Line 419: Line 426:
 
;Example: bot_whack bot109
 
;Example: bot_whack bot109
 
|}
 
|}
 
[[User:Mikolaj9559|Mikolaj9559]] 20:26, 8 December 2010 (UTC)
 
  
 
==References==
 
==References==

Revision as of 20:27, 8 December 2010

My fists! They are made of STEEL!
Heavy Bot on self-realization

There are two types of bots in TF2: AI Bots and Puppet Bots. AI Bots are coded with sophisticated artificial intelligence designed to emulate player actions in game. Puppet Bots have no AI coding, but are useful for testing and

training. They require the server to have Cheats enabled, which also disables Achievements.

AI Bots

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.[1] AI Bots do not require the server to have cheats enabled; therefore, achievements are enabled while playing with them.

AI Bots can be indirectly controlled to an extent:

  • Any friendly bot that you place your crosshair over during Setup time will taunt.
  • A Medic bot will heal you if you press the, "Medic!" voice command.
  • If a Medic bot is healing you and has an ÜberCharge ready, using the voice commands, "Go go go!" or, "Activate Charge!" will cause the bot to activate his ÜberCharge.

Current AI Bot Status

AI Bots are in beta testing and will become more sophisticated as they are updated. Currently, not all classes have proper AI support, a good example being the Spy. Spy bots will run away from the player or other enemies if they are

approached while facing them and will never use their Cloak. 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

  1. Type "sv_cheats 1" in console
  2. Type "nav_generate" in console
  3. Wait while the game generates AI paths
  4. Map will reload (navigation has been saved and the previous step doesn't need to be repeated)
  5. 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.
Syntax
tf_bot_add [<count>] [<class>] [<team>] [<difficulty>]
Parameters
<count>
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.

<class>
The classname of the class can be Demoman, Engineer, HeavyWeapons, Medic, Pyro, Scout, Soldier, Sniper, or Spy
<team>
Specifies the team name to assign the bot, where team can be red or blue.
<difficulty>
Sets the difficulty level for the bot, where difficulty can be easy, normal, or hard.
Example
tf_bot_add red 3 heavyweapons easy will add three Heavies to the RED team at the easy skill level.
tf_bot_difficulty Defines the skill of bots joining the game.
Syntax
tf_bot_difficulty <level>
Parameters
<level>
Sets the difficulty level for the bots. Values are: 0=easy, 1=normal, 2=hard, 3=expert. Default is "Normal" (1).
Example
tf_bot_difficulty 2 will set all bots created after this command to "Hard" difficulty.
tf_bot_force_class If set to a class name, all TFBots will respawn as that class.
Syntax
tf_bot_force_class <class>
Parameters
<class>
The classname of the class can be Demoman, Engineer, HeavyWeapons, Medic, Pyro, Scout, Soldier, Sniper, or Spy. Default is "" (aka blank).
Example
tf_bot_force_class medic will make all TFbots respawn as Medic.
tf_bot_join_after_player If nonzero, bots wait until a player joins before entering the game.
Syntax
tf_bot_join_after_player <integer>
Parameters
<integer>
Either 1 or 0. Default is 1 (enabled).
Example
tf_bot_join_after_player 0 will make TFBots join the game when added even if no players are on a team.
tf_bot_keep_class_after_death If zero, bots will always respawn as a different class.
Syntax
tf_bot_keep_class_after_death <integer>
Parameters
<integer>
Either 1 or 0. Default is 0 (disabled).
Example
tf_bot_keep_class_after_death 1 will prevent TFBots from changing class.
tf_bot_kick

This command will remove one or all AI bots.

Syntax
tf_bot_kick <name/all>
Parameters
<name/all>
Specifies the name of bot to remove or all.
Example
tf_bot_kick CEDA will kick the TFbot named "CEDA" if one exists.
tf_bot_prefix_name_with_difficulty If nonzero, append the skill level of the bot to the bot's name
Syntax
tf_bot_prefix_name_with_difficulty <integer>
Parameters
<integer>
Either 1 or 0. Default is 0 (disabled).
Example
tf_bot_prefix_name_with_difficulty 1 will cause added bots to have names like "1 Aimbot" (normal) and "3 Saxton Hale" (expert).
tf_bot_quota Determines the total number of tf bots in the game. Only has effect is "tf_bot_quota_mode" = "fill" or "match".
Syntax
tf_bot_quota <integer>
Parameters
<integer>
Whole number between 0 and how many players the server can hold. Default is 0.
Example
tf_bot_quota 2, if tf_bot_quota_mode = match, will add two bots to the server for every one human.
tf_bot_quota_mode Determines the type of quota.
Syntax
tf_bot_quota_mode<normal/fill/match>
Parameters
normal/fill/match
If 'normal', the server will never add/remove TFbots without explicit commands and bot_quota has no effect.
If 'fill', the server will adjust bots to keep N players in the game, where N is bot_quota.
If 'match', the server will maintain a 1:N ratio of humans to bots, where N is bot_quota.
Example
tf_bot_quota_mode fill will always keep (bot_quota - # of human players) bots in the game.

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.
Syntax
bot -team <teamname/number> -class <classname> -name <botname>
Parameters
-team teamname/number
Specifies the team name or number to assign the bot. Where name/number can be RED or 1, BLU or 0
-class classname
The classname of the class can be Demoman, Engineer, HeavyWeapons, Medic, Pyro, Scout, Soldier, Sniper, or Spy
-name botname
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.

Example
bot -team red -class Engineer -name joe
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.
Syntax
bot_command <botname> <console command>
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, 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_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.

Syntax
bot_dontmove <0/1>
Bot is allowed to move, or not.
Example
bot_dontmove 1
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_mimic is active (set to 1).

Syntax
bot_forceattack <0/1>
Bot will not fire if set to 0 and fire repeatedly if set to 1.
Example
bot_forceattack 1
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.
Syntax
bot_forceattack2 <0/1>
Bot will use its weapon's secondary_fire when set to 1, primary_fire when set to 0
Example
bot_forceattack2 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).

Syntax
bot_forceattack_down <0/1>
On when set to 1, off when set to 0
Example
bot_forceattack_down 1
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)

Syntax
bot_forcefireweapon <weapon filename>
filename is usually tf_weapon_ <weapon name>.
Examples
bot_forcefireweapon tf_weapon_fists makes all Heavy bots switch to and repeatedly attack with their Fists, and all other bots stop attacking.

bot_forcefireweapon tf_weapon_shotgun_pyro makes all Pyro bots switch to and repeatedly fire their Shotguns, and all other bots stop attacking.

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.
bot_kill

Kills the specified bot.

Syntax
bot_kill <bot name>
Makes the specified bot commit suicide.
Example
bot_kill bot01
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_forceattack but does not override bot_dontmove.

Syntax
bot_mimic <0/1>
On when set to 1, off when set to 0
Example
bot_mimic 1
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.

Syntax
bot_mimic_yaw_offset <0-360>
Set the direction by specifying angle in degrees
Example
bot_mimic_yaw_offset 180
bot_randomnames

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.

;Syntax: bot_randomnames <0/1>
On when set to 1, off when set to 0
Example
bot_randomnames 1
bot_refill Refills all bots' Ammo counts, including Metal for Engineers.

Syntax: bot_refill

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_saveme <0/1>

On when set to 1, off when set to 0
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.

Syntax
bot_selectweaponslot <n>
Set n to weapon slot that bots should switch to.
Example
bot_selectweaponslot 2
bot_teleport Teleports a specified bot to a given coordinate.

Map coordinates of where you are standing can be found by typing Status in the console.

Syntax
bot_teleport <botname> <X> <Y> <Z> <Pitch> <Yaw> <Roll>
Where botname is the bot name or id to teleport.
X Y Z are the map coordinates.
Pitch Yaw Roll is the direction the bot should face.
Example
bot_teleport bot01 -4815 1385 -447 0 0 0
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.
Syntax
bot_whack <botname>
Where botname is the name of bot to "whack".
Example
bot_whack bot109

References