logic_auto fires outputs immediately after a map loads, unlike most other entities that wait for input first. It can be set to check a global state before firing, which allows you to fire events based on what took place in a previous map.
Warning: Attempting to directly access or modify the player may cause Access Violation errors, because the outputs are fired before the player has spawned. Adding a slight time delay may overcome this.
Warning: This entity counts as an edict, not a logical entity as one would expect, and therefore it can contribute to the entity limit. If this is an issue, use logic_relay and its OnSpawn output.
Note: In
CS:GO the output OnMultiNewRound is actually fired in response to the game events round_start and teamplay_round_start and does not depend on the Global State to Read. When a round is reset, it is fired before the previous 3, but not when a map is loaded.
Keyvalues
- Global State to Read
(globalstate) <choices>
- If set, this specifies a global state to check before firing. Outputs are only fired if this global state exists and if it is turned on.
Note: Valve's FGDs always include the
Half-Life 2 global states here, but any value can be entered. See env_global for a list of default global states in each game.
Flags
- [
1 ] : Remove on fire
- Whether the
logic_auto is deleted after firing. Delayed outputs will still work, however.
Outputs
OnMapSpawn
- Fired when the map is loaded for any reason including saves.
Bug:
Also fires when a new round starts, making it behave identically to OnMultiNewRound, except that it is also fired when the map is loaded. To do: Confirm if present in other games.
OnNewGame
- Fired when the map is loaded to start a new game.
OnLoadGame
- Fired when the map is loaded from a saved game.
OnMapTransition
- Fired when the map is loaded due to a level transition.
OnBackgroundMap
- Fired when the map is loaded as a background to the main menu using
map_background.
OnMultiNewMap
- Fired only in multiplayer, when a new map is loaded.
Bug: except:
Also fires when a new round starts, making it behave identically to OnMultiNewRound, except that it is also fired when the map is loaded. To do: Confirm if present in any game.
OnMultiNewRound
- Fired only in multiplayer, when a new round is started. Only fired in multiplayer games that use round-based gameplay.
OnViolenceLow (only in
)
- Fired when the map is loaded for any reason if the game is in low-violence mode.
OnViolenceHigh (only in
)
- Fired when the map is loaded for any reason if the game is not in low-violence mode.