Logic auto: Difference between revisions
Jump to navigation
Jump to search
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
Note:In
Counter-Strike: Source and
Counter-Strike: Global Offensive when a map loads and when the round is reset (
CS:GO including resets for warmup and resets in any other game mode), this entity fires the 3 outputs
Note:In
CS:GO the output
m (→Keyvalues) |
(-io template, OnMapSpawn description) |
||
Line 14: | Line 14: | ||
==Outputs== | ==Outputs== | ||
{{ | {{IO|OnMapSpawn|Fired shortly after the entity spawns (''including loading saves'').}} | ||
{{ | {{IO|OnNewGame|Fired when the map is loaded to start a new game.}} | ||
{{ | {{IO|OnLoadGame|Fired when the map is loaded from a saved game.}} | ||
{{ | {{IO|OnMapTransition|Fired when the map is loaded due to a level transition.}} | ||
{{ | {{IO|OnBackgroundMap|Fired when the map is loaded as a background to the main menu using {{ent|Map (console command)|alt=map_background}}.}} | ||
{{ | {{IO|OnMultiNewMap|Fired only in multiplayer, when a new map is loaded.{{bug|except: {{tf2}} Also fires when a new round starts, making it behave identically to <code>OnMultiNewRound</code>, except that it is also fired when the map is loaded. {{todo|Confirm if present in any game.}}}} }} | ||
{{ | {{IO|OnMultiNewRound|Fired only in multiplayer, when a new round is started. Only fired in multiplayer games that use round-based gameplay.}} | ||
{{ | {{IO|OnViolenceLow|only={{sineps}}|Fired when the map is loaded for any reason if the game is in low-violence mode.}} | ||
{{ | {{IO|OnViolenceHigh|only={{sineps}}|Fired when the map is loaded for any reason if the game is not in low-violence mode.}} |
Revision as of 21:35, 24 August 2023
It 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.
![]() |
---|
CLogicAuto |
![]() |


OnSpawn
output.



OnNewGame
/OnBackgroundMap
(exactly one of these, see below), OnMapSpawn
and OnMultiNewMap
in this order.

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 shortly after the entity spawns (including loading saves).
- 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.Todo: Confirm if present in any game.[todo tested in ?]
- OnMultiNewRound
- Fired only in multiplayer, when a new round is started. Only fired in multiplayer games that use round-based gameplay.