Botit

From Team Fortress Wiki
Jump to: navigation, search
Soldier-botti toiminnassa Dustbowl (Harjoitus) -kartassa.
Ihmisjoukkuetoverisi saattavat ehkä tuomita sinut, mutta entä nämä sieluttomat robotit? KYLLÄ. Eivät ne nekään ole sokeita. Mutta ne OVAT mykkiä, joten epäpätevyytesi jää salaisuudeksi, jonka he ottavat mukanaan hautaan.
Soldier

Team Fortress 2:ssa on kahta erilaista bottityyppiä: tekoälylliset botit sekä "nukkebotit". Tekoälylliset botit on koodattu hienostuneella tekoälyllä ja ne on suunniteltu matkimaan pelaajan käyttäytymistä pelissä. Tekoälyllisiä botteja voi käyttää ilman koodien käyttöä. Nukkeboteilla ei ole tekoälyä, mutta ne ovat käteviä testaukseen ja harjoitteluun. Nukkebotit kuitenkin vaativat palvelimen, jolla koodit ovat päällä. Koodien päälle laittaminen kuitenkin poistaa saavutukset käytöstä.

Tekoälylliset botit

Tekoälylliset botit on suunniteltu matkimaan ihmispelaajia ja näin ollen niitä ei voi ohjata suoraan. Lisäksi, botit valitsevat luokkansa satunnaisesti. Tekoälylliset botit käyttävät hienostunutta tekoälyä, perustuen PlayerBot- ja Infected AI -tekoälyihin, jotka ovat käytössä Left 4 Dead -pelisarjassa.[1] Tekoälylliset botit eivät vaadi koodien päälle laittamista palvelimella, joten saavutukset ovat käytössä pelatessa tekoälyllisten bottien kanssa. On kuitenkin olemassa eräs poikkeus; botit eivät näe kuvaa tappajastaan kuollessaan, mikä tarkoittaa sitä että pelaaja ei voi saavuttaa Deathcam-saavutuksia bottien kanssa. Bottien tappaminen kummallisella aseella ei nosta aseen tappolukemaa.

Tekoälyllisiä botteja voidaan ohjata vain seuraavissa määrin:

  • Mikä tahansa oman joukkueen tai vastustajan joukkueen botti, joka on tähtäimessäsi valmistautumisvaiheen aikana, tekee pilkan.
  • Medic-botti parantaa sinua, jos käytät "Medic!"-äänikomentoa.
  • Jos Medic-botti parantaa pelaajaa ja botilla on Ylilataus valmiina, hän aktivoi Ylilatauksen välittömästi mikäli pelaaja käyttää "Go go go!"- tai "Activate Charge!" -äänikomentoa.
  • Medic-botti, jolla on Ylilataus valmiina, aktivoi Ylilatauksen välittömästi mikäli hän loukkaantuu.
  • Botti tekee Yläfemma!-pilkan, mikäli hän havaitsee joukkuekaverin tekemässä kyseistä pilkkaa.

Tämänhetkinen tekoälyllisten bottien tila

Tekoälylliset botit ovat beta-testauksessa ja ne olevat olemaan kehittyneempiä sitä mukaa kun niitä päivitetään. Tällä hetkellä kaikki luokat toimivat kunnolla Hatuttoman päivityksen ansiosta, mukaan lukien aikoinaan viallinen Spy. Tekoälylliset botit toimivat kunnolla vain useimmissa Kukkulan kuningas -kartoissa, joissain Pommilasti-kartoissa, Hyökkäys/Puolustus-kartoissa Dustbowl ja Gorge, Lipunryöstö-kartoissa sekä Mann Manor -kartassa (kahdessa viimeisemmistä, botteja voidaan lisätä vain käyttämällä tf_bot_add -komentoa). Tekoälyllisten bottien käyttö niitä tukemattomissa kartoissa on mahdollista muutamien toimenpiteiden jälkeen, mutta ne eivät matki ihmispelaajia yhtä hyvin kuin tekoälyllisiä botteja tukevissa kartoissa.

Huomio: monista yleisimmistä kartoista on tehty valmiiksi paketti bottireittejä, jotta niitä ei tarvitsisi tehdä itse.

Tekoälyllisten bottien nimet

Tekoälylliset botit on ohjelmoitu ottamaan eri nimet. Monet nimet ovat viittauksia Team Fortress 2:een, Valven muihin peleihin ja tietokoneohjelmointiin. Monia näistä nimistä on ehdotettu Steamin foorumeilla.

Bottien käyttö niitä tukemattomissa kartoissa

  1. Laita sv_cheats 1 konsoliin
  2. Laita nav_generate konsoliin
  3. Odota, kunnes peli tekee kulkureitit tekoälyllisille boteille
  4. Kartta latautuu uudestaan (kulkureitit on tallennettu ja aikasempia vaiheita ei tarvitse toistaa)
  5. Avaa konsoli ja laita tf_bot_add <numero> konsoliin lisätäksesi botteja
  6. Laita sv_cheats 0 konsoliin, kun olet tehnyt aiemmat vaiheet (tämä on valinnainen vaihe, mutta jos et laita sv_cheats 0 konsoliin, saavutukset ovat pois päältä).

Botteja voidaan käyttää missä tahansa kartassa seuraamalla edellämainittuja vaiheita. Vaiheita ei tarvitse suorittaa seuraavalla kerralla uudelleen missään muussa määrin kuin bottien lisäämisessä käyttäen tf_bot_add <numero> -komentoa aina kun botteja pitää lisätä.

Kartat joissa on virallinen tuki tekoälyllisille boteille

Tekoälyllisten bottien käyttäytyminen

  • Tällä hetkellä botit käyttävät vain perusesineitä.
  • Helpon vaikeustason botit käyttävät vain harvoin, jos koskaan, muuta asetta kuin heidän ensisijaista asetta.
  • Spy- ja Sniper-botteja ei ole helpolla vaikeustasolla. Heitä on vain normaalilla tai sitä hankalammilla vaikeusasteilla.
  • Botit eivät voi tällä hetkellä suorittaa erikoishyppyjä (kuten rakettihyppyjä) tai kantaa rakennuksia (sen sijaan Engineer-botit tuhoavat rakennukset kun tavoite etenee).
  • Jos botti tappaa pelaajan, kyseinen botti suorittaa arvonnan päättääkseen, pilkkaako hän välittömästi tapon jälkeen. Mikäli arvonnan tuloksena on myönteinen vastaus, botti pilkkaa vaikka olisi vihollistulen alla.
  • Muut botit jättävät Spy-botit (ja pelaajat) todenmukaisesti huomiotta käytettäessä valepukua. Kuitenkin 'kosketuksesta' vihollisbotin kanssa, Tyhjentäjää asetettaessa, ampuessa tai verhoutuessa, kaikki botit jotka näkivät sen tapahtuvat vakuuttuu kyseisen botin/pelaajan olevan Spy, eivätkä he unohda sitä valepukua joka Spylla oli käytössä tapahtuman aikaan kunnes Spy vaihtaa valepukua tai 'vakuuttunut botti/vakuuttuneet botit' kuolee/kuolevat.
  • Pyro-botit käyttävät ilmapuhallusta projektiileja ja vastustajia vastaan harvinaisen usein, mikäli Pyro-bottien vaikeustaso on hankalampi kuin helppo.
  • Medic-botit parantavat yleensä muita luokkia ennen Snipereita (paitsi Engineerejä he parantavat vielä vähemmissä määrin), vaikka "Medic!"-äänikomentoa käyttäisikin.
  • Medic-botti, jolla on Ylilataus valmiina, käyttää sen välittömästi mikäli hän loukkaantuu.
  • Jos ekspertti-vaikeustason naamioitunut Spy näkee vihollisen verhoutuvan, hän pystyy seuraamaan näkymättömänä olevaa vihollis-Spyta, vaikka verhoutuminen ei välkkyisikään.
  • Botit eivät hyökkää valmistautumisvaiheen aikana ellei heidän kimppuun hyökätä ensin (poikkeuksena Demoman-botit jotka asettavat tahmapommeja).
  • Engineer-botit voivat rakentaa Vartiotykin kummalliseen paikkaan ennen kuin he tuhoavat sen välittömästi. Sen jälkeen he etsivät metallia ja toistavat prosessin.
  • Engineer-boteilla ei ole tapana parantaa Teleporttejaan, ja joskus he eivät korjaa Vartiotykkejään, vaikka ne eivät olisikaan vihollistulen alla.
  • Botit, lukuunottamatta Engineer-, Sniper-, ja Spy-botteja, pysyvät syntymispaikoillaan valmistautumisvaiheessa, mikäli kartta on Hyökkäys/Puolustus-kartta tai Pommilasti-kartta.

Bugit

  • Kun botit käyttävät äänikomentoja (kuten "Spy!" ja "Move Up!"), kyseisten viestien tekstit eivät näy.
  • Engineer-botit voivat seistä omien rakennustensa sisällä.
  • Botit voivat liikkua pilkatessaan.
  • Kun määrittelee botin joukkueen konsolin kautta, on välttämättä otettava joukkueiden epätasapaino pois päältä.
  • Engineer-botit yrittävät joskus parantaa vartiotykkejään haulikolla.

Tekoälyllisten bottien komennot

Käyttääksesi tekoälyllisiä botteja niitä tukevissa kartoissa, palvelimen ylläpitäjän on laitettava seuraavat komennot konsoliin:[2]

Komento Kuvaus
tf_bot_add Tämä komento luo yhden tai useamman tekoälyllisen botin. Boteille tulee luokat satunnaisesti ja ne menevät satunnaiseen joukkueeseen. Boteille tulee myös huvittavat, ihmismäiset nimet.
Syntaksi
tf_bot_add [<lukumäärä>] [<luokka>] [<joukkue>] [<vaikeusaste>]
Parametrit
<lukumäärä>
Määrittää kuinka monta bottia luodaan. Jos tätä kohtaa ei määritellä, peli luo yhden botin.
Kuitenkin, jos lukumäärä on suurempi kuin pelaajien enimmäismäärä, johon lasketaan ihmispelaajat mukaan, botit pysähtyvät paikoilleen. Näin ollen, jos palvelimen enimmäispelaajamäärä on 24 (mikä on oletusarvo) ja palvelimella on yksi ihmispelaaja, älä luo enempää kuin 23 bottia.
<luokka>
Luokkien niminä toimii Demoman, Engineer, HeavyWeapons, Medic, Pyro, Scout, Soldier, Sniper, tai Spy
<joukkue>
Määrittää joukkueen, johon botti luodaan. Joukkueitten niminä toimii red tai blue.
<vaikeusaste>
Määrittää botin vaikeusasteen. Vaikeusasteina toimii easy (helppo), normal (normaali) tai hard (vaikea).
Esimerkki
tf_bot_add red 3 heavyweapons easy luo kolme helpon vaikeustason Heavya RED-joukkueeseen.
tf_bot_difficulty Määrittää peliin liittyvien bottien vaikeuasteen.
Syntaksi
tf_bot_difficulty <vaikeusaste>
Parametrit
<vaikeusaste>
Määrittää bottien vaikeusasteen. Arvot ovat: 0=helppo, 1=normaali, 2=vaikea, 3=ekspertti. Oletusarvona on "normaali" (1).
Esimerkki
tf_bot_difficulty 2 asettaa kaikkien tämän komennon käyttämisen jälkeen luotujen bottien vaikeusasteeksi "vaikean".
tf_bot_force_class Jos komentoon on määritelty luokka, kaikki botit käyttävät kyseistä luokkaa.
Syntaksi
tf_bot_force_class <luokka>
Parametrit
<luokka>
Luokkien niminä toimii Demoman, Engineer, HeavyWeapons, Medic, Pyro, Scout, Soldier, Sniper, tai Spy. Oletuksena on "" (alias tyhjä).
Esimerkki
tf_bot_force_class medic saa kaikki botit syntymään Mediceinä.
tf_bot_join_after_player Jos luvuksi on asetettu jokin muu kuin nolla, botit odottavat pelaajan liittymistä ennen kuin botit liittyvät peliin.
Syntaksi
tf_bot_join_after_player <kokonaisluku>
Parametrit
<kokonaisluku>
Joko 1 tai 0. Oletuksena on 1 (päällä).
Esimerkki
tf_bot_join_after_player 0 saa kaikki botit liittymään peliin vaikka joukkueessa ei olisi yhtään pelaajaa.
tf_bot_keep_class_after_death Jos arvona on nolla, botit syntyvät aina eri luokkana kuolemisen jälkeen.
Syntaksi
tf_bot_keep_class_after_death <kokonaisluku>
Parametrit
<kokonaisluku>
Joko 1 tai 0. Oletuksena on 0 (pois päältä).
Example
tf_bot_keep_class_after_death 1 estää botteja vaihtamasta luokkaa kuolemisen jälkeen.
tf_bot_kick

Tämä komento poistaa yhden tai kaikki botit.

Syntaksi
tf_bot_kick <nimi/all>
Parametrit
<nimi/all>
Määrittää poistettavan botin nimen tai määrittää arvoksi "all" (kaikki).
Esimerkki
tf_bot_kick CEDA poistaa botin nimeltä "CEDA", mikäli sen niminen botti on palvelimella.
tf_bot_prefix_name_with_difficulty Jos arvona on jokin muu kuin nolla, botin nimeen liitetään sen vaikeusaste
Syntaksi
tf_bot_prefix_name_with_difficulty <kokonaisluku>
Parametrit
<kokonaisluku>
Joko 1 tai 0. Oletuksena on 0 (pois päältä).
Esimerkki
tf_bot_prefix_name_with_difficulty 1 muuttaa bottien nimet muotoon "1 Aimbot" (normaali-vaikeusaste) ja "3 Saxton Hale" (ekspertti-vaikeusaste).
tf_bot_quota Määrittää pelissä olevien bottien määrän. Komennolla on vaikutusta vain, jos "tf_bot_quota_mode" = "fill" tai "match".
Syntaksi
tf_bot_quota <kokonaisluku>
Parametrit
<kokonaisluku>
Mikä tahansa kokonaisluku nollan ja palvelimen enimmäispelaajamäärän väliltä. Oletuksena on 0.
Esimerkki
tf_bot_quota 2, lisää kaksi bottia palvelimelle jokaista ihmispelaajaa kohti, jos tf_bot_quota_mode = match
tf_bot_quota_mode Määrittää edellisen komennon tyypin.
Syntaksi
tf_bot_quota_mode<normal/fill/match>
Parametrit
normal/fill/match
Jos 'normal', palvelin ei koskaan lisää/poista botteja ilman selviä komentoja. Jos 'normal', bot_quota -komennolla ei ole vaikutusta.
Jos 'fill', palvelin säätää bottien määrää, jotta palvelimella olisi n määrä pelaajia. Arvo n on bot_quota.
Jos 'match', palvelin pitää 1:n suhteen pelaajien ja bottien välillä. Arvo n on bot_quota.
Esimerkki
tf_bot_quota_mode fill pitää aina (bot_quota - <ihmispelaajien määrä>) verran botteja pelissä.
tf_bot_taunt_victim_chance Määrittää kuinka usein botti pilkkaa tapettuaan ihmispelaajan.
Syntaksi
tf_bot_taunt_victim_chance <kokonaisluku>
Parametrit
<kokonaisluku>
Mikä tahansa kokonaisluku nollan ja sadan väliltä. Oletusarvo on 20.
Esimerkkejä
tf_bot_taunt_victim_chance 0 Botit eivät koskaan pilkkaa tapettuaan ihmispelaajan.
tf_bot_tauntvictim_chance 100 Botit pilkkaavat aina tapettuaan ihmispelaajan.
tf_bot_melee_only Määrittää käyttääkö botti pelkästään lähitaisteluaseita vai ei.
Syntaksi
tf_bot_melee_only <kokonaisluku>
Parametrit
<kokonaisluku>
Joko 1 tai 0. Oletuksena on 0 (pois päältä).
Esimerkki
tf_bot_melee_only 1 saa botit käyttämään vain lähitaisteluaseitaan.

Nukkebotit

Nukkeboteilla ei ole tekoälyä eivätkä he voi liikkua tai toimia omin päin. Näitä botteja voidaan kuitenkin ohjailla kuin nukkeja: pelaajat voivat määrätä nukkebotit seuraamaan pelaajan komentoja kuten seuraamaan pelaajaa tai ampumaan. Nukkebotteja käytetään pääasiassa testaustarkoituksiin, mutta niillä voidaan tehdä myös upeita esityksiä, kuten tässä.

Nukkebottien komennot

Kaikki komennot eivät toimi ja jotkin toimivat komennot on jätetty pois

Huomio: komennon asettaminen ilman mitään arvoja näyttää komennon nykyiset asetukset ja lyhyen kuvauksen.

Komento Kuvaus
bot Tämä komento luo botin määrättyyn joukkueeseen ja määrää botille tietyn hahmoluokan sekä nimen. Mikäli joukkuetta tai nimeä ei ole määritelty, ne määrätään botille satunnaisesti.
Syntaksi
bot -team <joukkueen nimi/numero> -class <luokkanimi> -name <botin nimi>
Parametrit
-team joukkueen nimi/numero
Määrittää botin joukkueen nimen tai numeron perusteella. Joukkueen nimi/numero voi olla RED / 1 tai BLU / 0
-class luokkanimi
Luokan luokkanimi voi olla Demoman, Engineer, Heavy, Medic, Pyro, Scout, Soldier, Sniper, tai Spy
-name botin nimi
Botin nimi voi olla mikä tahansa. Jos pelissä on jo samanniminen botti, nimen alkuun lisätään suluissa kasvava numero (ensimmäisenä numerona lisätään 1). Esimerkkinä joe, (1)joe, (2)joe, jne. Mikäli nimeä ei ole määritelty, nimenä toimii "bot", jonka perään lisätään kasvava numero alkaen luvusta 01; esimerkkinä ensimmäinen botti olisi bot01, seuraava olisi bot02 jne.
Esimerkki
bot -team red -class Engineer -name joe
bot_changeclass Pakottaa kaikki botit vaihtamaan tiettyyn hahmoluokkaan.

Ei näytä olevan käytössä, mitään ei tapahdu.

bot_changeteams

Saa kaikki botit vaihtamaan joukkuetta. Saa kaikki botit vaihtamaan joukkuetta. Jos botti oli RED-joukkueessa, komento saa botin vaihtamaan BLU-joukkueeseen ja päin vastoin.

bot_command Lähettää tietyn komennon botin puolesta.
Syntaksi
bot_command <botin nimi> <konsolikomento>
Botin nimi on sen botin nimi tai id, joka suorittaa komennon.
Konsolikomento voi olla mikä tahansa komento joka on listattu Scripting/fi#Konsolikomennot-listassa.
Esimerkki 1
bot_command bot01 "voicemenu 0 0"
Esimerkki 2
bot_command bot01 "taunt"
Paikkakomennot (slot1, slot2, jne.) eivät toimi bot_command -komennon kanssa, mutta komennolla bot_forcefireweapon, tietyn luokan botit saadaan vaihtamaan aseesta toiseen ja ampumaan ja lopettamaan ampumisen. Kuitenkin vain kaikki kyseisen luokan botit saadaan tekemään niin.
bot_defend Set to a team number, and that team will all keep their combat shields raised.

For instance, Heavies will spin their miniguns.

Not implemented at present.

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 bots can be moved to certain areas and left there.
Syntax
bot_dontmove <0/1>
Bot is allowed to move, or not.
Example
bot_dontmove 1
bot_flipout When on, this command will make the bots fire the current weapon selected. Default is to use primary_fire, but if bot_forceattack2 is set to 1 then secondary fire is used.

Not implemented at present.

Syntax
bot_flipout <0/1>
On when set to 1. Off when set to 0.
Example
bot_flipout 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_forceattackon When firing, do not tap fire, hold it down. When this command is set to 0, the bot acts like it is continuously tapping the fire button (useful for the Pistol, but not for the Heavy's Minigun). If this command is set to 1, the bots acts as if it is holding down the fire button (useful for the Heavy's Minigun).
Syntax
bot_forceattackon <0/1>
On when set to 1. Off when set to 0.
Example
bot_forceattackon 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 Stickybomb Launcher). If this is set to 1 then the bot will act as if it is holding down the fire button (useful for the Minigun).
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. It should be noted that bots will not mimic Medic calls, weapon switches, or taunts.

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_inverse

Inverts the movement of the bots; moving left makes the bots move right, moving forwards makes the bots move backwards, etc.

The direction which the bot is looking is not affected.

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

Viittaukset

  1. Team Fortress Official Blog - Erectin a dispenser
  2. WeGame.com - About Team Fortress 2: List of Commands