Targetname

From Valve Developer Community
< Hr
Jump to navigation Jump to search
English (en)Hrvatski (hr)Translate (Translate)

Targetname je osnovna Keyvalue(en) dostupna u svim Source Source igrama. Targetname (prevedeno: ime cilja) (također poznato jednostavno kao Name) je ime entiteta. Ciljno ime nije potrebno za postojanje entiteta, ali općenito mora biti prisutno da bi entitet igrao ulogu u I/O sustav(en).

Bilješke

  • Entiteti također mogu biti meta njihovih classname(en) (npr. prop_dynamic).
  • Imena ciljeva ne moraju biti jedinstvena, mogu se dijeliti (a unosi će se slati svakom). Duplicirani nazivi ciljeva prikazani su podebljanim fontom.
  • Nazivi ciljeva ne mogu sadržavati ! ili * znakova (vidi dolje).
  • Nazivi ciljeva također ne mogu sadržavati , znakova ako namjeravate koristiti entitet kao nadređenog, jer se to koristi za postavljanje točke privitka(en).

Instance

  • Instance(en) može koristiti popravke imena prefiksa ili postfiksa i automatski će generirati prefiks ako nisu navedeni parametri.
  • Prefiksi i postfiksi odvojeni su jednom crticom, npr. hall_a3-door_02.
  • Postavljanje @ simbol na početku naziva cilja (e.g. @exit_door) će zaobići popravak imenovanja za taj određeni entitet. Ako @exit_door i exit_door_relay bili dio instance s prefiksom Door_01, nazivi entiteta bili bi @exit_door i Door_01-exit_door_relay.

Događaji Igrača

U većini igara za više igrača, bilo kojem entitetu sa sljedećim imenima ciljeva bit će poslan unos Use(en) kada se taj događaj dogodi.

  • game_playerdie - Pali svaki put kad player umre. Igrač koji je umro je !activator.
  • game_playerkill - Pali svaki put kad player ubije drugog igrača, ubojica je !activator.
  • game_playerjoin - Pali svaki put kad player pridruži igri, igrač koji se pridruži je !activator.
    Icon-Bug.pngGreška:game_playerjoin nije otpušten od botove(en).  [todo tested in?]
  • game_playerspawn - Pali svaki put kad Pojavljuje se player, s igračem koji se pojavljuje kao !activator.
    Icon-Bug.pngGreška:game_playerspawn ne funkcionira u Counter-Strike: SourceCounter-Strike: Global OffensiveTeam Fortress 2.  [todo tested in?]
  • game_playerleave - Pali se svaki put kad player napusti igru. !activator neće raditi u ovom slučaju, jer entitet player više ne postoji.
Potvrdi:U kojim igrama game_playerjoin i game_playerspawn zapravo rade?
Tip.pngSavjet:U Team Fortress 2Left 4 Dead 2, koristite English (en)VScript zakačke događaja koji također nude dodatne informacije uz svaki događaj (kao što je napadač o smrti itd.). Ekvivalentni nazivi događaja su player_spawn, player_death i player_disconnect.

Podudaranje imena

Dok traži entitet, Source može koristiti nekoliko proširenih značajki podudaranja koje su korisne u raznim situacijama. Koriste se za ciljanje entiteta s nepoznatim ili djelomično poznatim imenom, a najčešće se koriste u I/O lancima, ali se također mogu koristiti u ključnim vrijednostima koje ciljaju entitete, poput filtra KV u filter_activator_name/klasa(en) ili nadređeno(en) polje entiteta. Proširene značajke su:

  • zamjenski znakovi
Source podržava * zamjenske znakove u ograničenoj mjeri. To znači da će traženje area1* odgovarati svim ciljevima koji počinju s area1, poput area1_portal ili area1_door, ali ne area2_door. Ovi zamjenski znakovi također su ograničeni na * na kraju, što znači složenije zamjenske znakove poput *_door ili area*_door neće funkcionirati.
Note.pngNapomena:Mapbase Mapbase ima podršku za složeno podudaranje zamjenskih znakova poput *_door, area*_door, ar*a*_d*r, ? zamjenski znakovi itd.
Note.pngNapomena:Hammer ne prepoznaje većinu ovih oblika podudaranja i vidjet će ih kao pogreške u uređivaču, ali će raditi u igri.

I/O sustav(en) također podržava podudaranje naziva klase, koje se podudara prema nazivu klase entiteta, a ne prema nazivu cilja. Ovo koristi sve iste značajke proširenog podudaranja navedene gore. Neki drugi dijelovi Izvora podržavaju podudaranje naziva klase, ali to obično nije slučaj osim ako nije drugačije navedeno.

Tip.pngSavjet:lako nije izvedivo u nekim situacijama, većina implementacija VScript(en) podržava iteraciju samostalnog entiteta i sadrži alate za usporedbu nizova, regex, itd., dopuštajući gotovo bilo koju vrstu podudaranja imena.

Ključne riječi

Sljedeći posebni nazivi ciljeva mogu se koristiti za dinamički odabir entiteta.

Note.pngNapomena:Ne mogu svi parametri entiteta procijeniti ove nazive ciljeva. Na primjer, SetParent unos može procijeniti !activator parametar, ali igračev unos SetFogController ne može procijeniti !activator/!caller i treba koristiti ciljno ime željenog env_fog_controller-a.
!activator
Entitet koji je započeo trenutni I/O lanac.
  Ako igrač uđe u okidač(en) koji aktivira logic_relay, igrač je !activator izlaza releja.
!self
Entitet iz kojeg potječe trenutni unos.
  Ako igrač uđe u okidač koji aktivira logic_relay, relej je !self njegovih rezultata.
Poseban slučaj: 
  • Ako logic_relay aktivira ForceSpawnAtEntityOrigin !self env_entity_maker-u s OnTrigger, entitet !self je sam env_entity_maker.
!caller
Entitet iz kojeg potječe trenutni izlaz.
Ako igrač uđe u okidač koji aktivira logic_relay, okidač je !caller izlaza releja.
Poseban slučaj: 
  • Ako logic_relay aktivira ForceSpawnAtEntityOrigin !caller env_entity_maker-u s OnTrigger, entitet !caller je sam relej.
  • Za entitete kao što su filter_activator_[xxxx] ili logic_case, !caller od TestActivator ili PickRandom/PickRandomShuffle je sam filter_activator_[xxxx]/logic_case, a ne entitet koji je pokrenuo unos.
Note.pngNapomena:Pojedinačni unosi mogu nadjačati entitet koji cilja !caller! Ovo se radi pomoću point_entity_finder, math_counter, logic_case, i filter entiteta.
!player
Cilja igrača.
  U igrama za više igrača, cilja na prvog igrača koji se pridružio poslužitelju.
Note.pngNapomena:Prilikom testiranja imena entiteta, ovo se ponaša prema očekivanjima, podudarajući se ako je entitet igrač.
Tip.pngSavjet:Za ciljanje svih igrača na poslužitelju koristite naziv klase player.
Icon-Bug.pngGreška:U Portalu 2, entiteti nadređeni pomoću parametra parentname ne uspijevaju nadređeni pri pokretanju karte.  [todo tested in?]
PlacementTip.pngRaditi okolo:Umjesto toga upotrijebite logic auto(en) i SetParent unos.
!player_blue(samo u Portal 2)
U Portal 2 Coop, ovo cilja na ATLAS (igrač 1).
!player_orange(samo u Portal 2)
U Portal 2 Coop, ovo cilja na P-Body (igrač 2).
!pvsplayer
Prvi igrač pronađen u entitetu Set potencijalne vidljivosti(en). PVS koji se koristi preuzet je od entiteta koji pretražuje ili od aktivatora ako ne postoji entitet koji pretražuje. Ako niti ne postoji aktivator, vraća se prvi igrač u igri (tj. !player).
!picker
Prvi entitet ispod igračevog križića; uglavnom samo za otklanjanje pogrešaka. Entiteti bez kolizije mogu se odabrati samo ciljanjem na njihovo podrijetlo.
  U igrama za više igrača koristi se prvi igrač koji se pridružio poslužitelju.

FindNamedEntity Ključne riječi

Ove su ključne riječi dostupne samo u FindNamedEntity, metodi specifičnoj za NPC-ove koju pretražuju samo određeni sustavi (npr. koreografirane scene) a "ne" stvarima poput I/O sustava.

Napraviti: Mapbase Mapbase čini ovo dostupnim za I/O pretraživanja. Je li to slučaj u nekoj drugoj grani?
!speechtarget
Entitet koji !caller traži zbog English (en)Pogledaj glumca ili English (en)Lice Glumac koreografski događaj.
!friend
!caller najbliži prijateljski NPC. Ovo vraća igrača na NPC-ovima koji ne potječu od CAI_PlayerAlly.
!enemy
Trenutni neprijatelj !caller.

Bilješke o ključnim riječima

  • I !activator i !caller mogu se razlikovati za određene unose, što ovisi o implementaciji svakog ulaza. U većini slučajeva to je na neželjeni način, poput GetValue za math_counter.
  • Kada je "Ciljni entitet" izlaza prazan, !self je nije postavljeno na vrijednost !caller.
  • Nazive ciljeva koji se koriste u polju nadjačavanja parametara izlaza procjenjuje entitet koji "prima" izlaz, a ne onaj koji ga šalje.

Vidi također

Stub

Ovaj članak ili odjeljak je stub. Možete pomoći dodajući mu.