From Valve Developer Community
Revision as of 03:47, 27 January 2008 by AlbocGetmo (talk | contribs)
Jump to: navigation, search

1 877 256 7894 overseas travel adventure 3433 sermon on john 15 9 17 impala borla unshakable foundations ida lee to locate a lost relative for free prim valley golf club what is nuclei with bad intent saylers old country kitchen medical caduceus clipart roman statesman lepidus amp bass small mitsubishi starion engine arizona chevrolet parker paregoric abuse mpeg vcd converter semi tire truck wholesale swahili cuisine kadir nelson biography vf solutions uniform au canada de nutrition pyramide edison fl ft mall myers indoor air quality lecture notes old huffy bicycles album breakaway clarkson kelly lyric ascension island fishing charters uhuhuh worldwide plaza radar detector legality mount olive nj summer camp administration alaska business small leia love pic mondo salon bloomington in abundant life christian fellowship palo alto startinfo.windowstyle poornam info sir jagadis chandra bose online muzik dinleyin shubbery omaha police auction white realty dixon il use muriatic acid arrow zeus electronics monopod monfrotto purchase condominiums example documentary scripts the middle child syndrome james morone brown abusing girl marble falls texas residential real estate indiana pepsi coliseum magazines for women in uk lucky bamboo next day delivery rpi hockey radio solar panel for house nitric oxide sources sunroom kits canada pine staining jonathan wheelwright m782 remote control dimmers arizona bingo in supply keith anderson xxl kentucky maytown language markup xpp abloy locks uk adult pic x authority of scripture scurty environmental in job planning uk 1969 car pace autism motor shaping skill art discount online supply art shipping crates miscrosoft adshooter spyware 14 2006 buy january mt online tb tracked ultram used sprint phones wersja pityrosporum yeast paul brown dodge wooly mammoth toys top music video codes klh dvd remote code american headdress native pack wolf site kanye lyric type west youre 3d dolphin screensavers welding services incorporated keithers top knobs tuscany virus screen goes black katamari on the swing lyrics landlord rental usb harddisk linux el paso texas phone company rick jilla


  • A targetname is not required for an entity to exist, but in some cases must be present for an entity to play a part in the I/O System.
  • A targetname must be stored in the map's entity data block, so avoid naming entities that don't need a name (i.e. aren't ever referenced by another entity). The comment field in Hammer is useful for describing entities that don't need targetnames, and doesn't get saved into the .bsp entity data block.
  • Targetnames do not need to be unique. As many entities as the mapper wants can share the same name, and they will all respond to the same inputs. Duplicated targetnames are displayed in bold font.
  • Targetnames are also useful for categorizing entities (area1_name, area2_name, etc.).
  • Targetnames cannot contain ! or * characters (see below).


There are several extended features to name searches that are useful in a variety of situations. The most common use is to target an entity with an unknown name that is somehow involved in the current I/O chain. The extended features are:

  • Wildcards
Name searching supports trailing * wildcards only. So searching for area1* will match any targetnames that start with area1 (i.e. area1_portal and area1_door, but not area2_door).
  • The I/O System is classname friendly, but Hammer isn't. This is the case that doesn't require a targetname for the I/O System.
An example of this is use of ent_fire with a classname as opposed to a targetname.


The following generic targetnames can be used in place of entity or class names, for situations where specifying either would be too restrictive:

Keyword Result
!player The player. Only useful in singleplayer.
Note.png Note: To target all players in a multiplayer game use player. This method can also target the player in a singleplayer game.
!activator The entity that started the current I/O chain. For example:
  • If an NPC walks into an appropriately flagged trigger_multiple, that NPC will be the !activator for the Trigger and OnStartTouch outputs, and any resulting I/O outputs from them.
  • If an entity kills another, it will be the !activator for its OnKilledNPC output.
!caller The entity that triggered the current I/O command. For example:
!self The entity from which the Output originates.
  • If a NPC kills another, it will be the !self for the OnKilledNPC output.
!pvsplayer The first player found in the entity's PVS.
  • The PVS used is taken from the entity doing the searching, or the activator in no searching entity exists.
  • If no activator exists, it returns the first player in the game (equivalent to !player).
!speechtarget The entity at which the caller is looking, as defined by the Look At Actor and Face Actor choreography events.
!picker The entity that the player is looking at. Only useful in single-player, and mostly only for debugging. Note that this only finds entities that are solid (i.e. can be hit by the invisible "bullet" fired to find the entity under the crosshair).

See also