This article's documentation is for anything that uses the Source engine. Click here for more information.

globalname

From Valve Developer Community
Revision as of 14:24, 29 March 2025 by Nescius (talk | contribs)
Jump to navigation Jump to search
Icon-under construction-blue.png
This is a draft page. It is a work in progress open to editing by anyone.
Remember to check for any notes left by the tagger at this article's talk page.
Todo: somebody fact check and remove draft

globalname is a keyvalue available in all Source Source games. It's a name to designate two entities in different maps as being logically the same entity. When player transitions from map A to B the entity in map B with matching globalname will get most of its properties from entity that was in map A like origin, angles, color etc. (model for example is not transferred). If the entity was killed in map A it will not spawn in map B.

Warning.pngWarning:Setting this in round based games will cause an entity to not respawn on round restart because entities are killed when round ends.
Icon-Important.pngImportant:Don't use in Left 4 Dead seriesLeft 4 Dead series Left 4 Dead series as the transition works differently and globalname is not used in this manner.
PlacementTip.gifPlacement Tip:This is important when wanting to transition brush entities as brush models are saved within a map file and is the reason model is one of the properties that isn't transferred.

Other ways to ensure no duplicate (logically same) entities between transition is properly utilizing logic_auto outputs like OnNewGame, OnMapTransition.

Example

Note.pngNote:There are several in Half-Life 2 Half-Life 2
Todo: more examples?

d1_canals_05 / d1_canals_06

To properly preserve states of the following entities

  • func_breakables (on the left with globalnames 05.breakable02_1 to 05.breakable02_6)
  • func_physboxes (on the right with globalnames 05.breakable01_1 and 05.breakable01_2)
D1 canals 05-d1 canals 06-transition-example-1.jpg


After destroying the func_breakables then using dump_globals command we can see global states 05.breakable02_1 to 05.breakable02_6 marked as Dead which will ensure they will not spawn in next map.

D1 canals 05-d1 canals 06-transition-example-2.jpg
] dump_globals 
is_pc: d1_canals_05 (On) = 217026304
-- Globals --
05.breakable01_2: d1_canals_05 (On) = 12110476
skill.cfg: d1_canals_05 (On) = 0
05.breakable01_1: d1_canals_05 (On) = 12110476
is_console: d1_canals_05 (Off) = 1560839504
05.breakable02_4: d1_canals_05 (Dead) = 12110476
05.breakable02_1: d1_canals_05 (Dead) = 12110476
05.breakable02_5: d1_canals_05 (Dead) = 12110476
05.breakable02_6: d1_canals_05 (Dead) = 12110476
05.breakable02_2: d1_canals_05 (Dead) = 12110476
05.breakable02_3: d1_canals_05 (Dead) = 12110476

Changing one of the func_physboxes color to red using ent_fire !picker color "255 0 0" for the sake of demonstration.

D1 canals 05-d1 canals 06-transition-example-3.jpg

After transition we can see states were preserved and model name being different (*112 and *113 in d5 changed to *162 and *161 in d6).

D1 canals 05-d1 canals 06-transition-example-4.jpg

See also