info_gamemode

info_gamemode is a point entity available in the Left 4 Dead series. When a map is loaded, this entity can fire outputs depending on the current game mode. This allows the all game modes to be available in a single map instead of having separate maps for each game mode.
Contents
Keyvalues
Targetname:
- Name
(targetname)<string> - The targetname that other entities refer to this entity by.
Angles:
- Pitch Yaw Roll (Y Z X)
(angles)<angle> - This entity's orientation in the world. Pitch is rotation around the Y axis, yaw is the rotation around the Z axis, roll is the rotation around the X axis.
Inputs
Targetname:
Kill- Removes this entity from the world.
KillHierarchy- Removes this entity and its children from the world.
Note: Entities already remove orphaned children upon being removed, but this input removes all children on the same frame, being marginally faster than Kill.
AddOutput<string>- Adds a keyvalue/output to this entity. It can be potentially very dangerous, use with care.
KV Format:<key> <value>
I/O Format:<output name> <targetname>:<inputname>:<parameter>:<delay>:<max times to fire, -1 means infinite>
FireUser1toFireUser4- Fire the
OnUseroutputs; see User Inputs and Outputs.
Use!FGD- Same as a player invoking +use; may not do anything depending on the entity. Can also be invoked by firing an output that does not specify an input.
RunScriptFile<script>(in all games since
)- Execute a VScript file from disk, without file extension. The script contents are merged with the script scope of the receiving entity.
RunScriptCode<string>(in all games since
)- Execute a string of VScript source code in the scope of the entity receiving the input. String quotation may be needed when fired via console.
Bug: In
, the code is executed in the script scope of the entity that fires the output, not the one receiving the input.
Warning: Never try to pass string parameters to a script function with this input. It will corrupt the VMF structure because of the nested quotation marks, which then must be removed manually with a text editor.
CallScriptFunction<string>(in all games since
) !FGD- Execute a VScript function in the scope of the receiving entity.
SetLocalOrigin<coordinates>(in all games since
) !FGD- Send this entity to a spot in the map. If the entity is parented to something, it will be offset from the parent by this amount.
Outputs
OnCoop- Fired when the map spawns in coop games.
OnVersus- Fired when the map spawns in versus games.
OnSurvival- Fired when the map spawns in survival games.
OnSurvivalPostIO(in all games since
)- Fired after all entity IO generated by
OnSurvivalhas finished
OnScavengePostIO(in all games since
)- Fired after all entity IO generated by
OnScavengehas finished
OnScavengeMatchStart(in all games since
)- Fired on the first map load of a scavenge match. Doesn't fire on round restarts.
OnNavAnalyze(in all games since
)- Fired when the map is loaded with -navanalyze on the command line.
Targetname:
OnUser1toOnUser4- These outputs each fire in response to the firing of the like-numbered
FireUser1toFireUser4Input; see User Inputs and Outputs.