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: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
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
Note:In  Counter-Strike: Source and
 Counter-Strike: Source and  Counter-Strike: Global Offensive when a map loads and when the round is reset (
 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
 CS:GO including resets for warmup and resets in any other game mode), this entity fires the 3 outputs 
 Note:In
Note:In  CS:GO the output
 CS:GO the output 
		
	
| m (Equalizer5118 moved page Logic auto to Logic auto/en) | mNo edit summary | ||
| Line 9: | Line 9: | ||
| }} | }} | ||
| {{ | {{Entity|logic_auto|type=e0}} It fires [[Inputs and Outputs#Outputs|output]]s immediately after a map loads, unlike most other [[Entity|entities]] that wait for input first. It can be set to check a [[env_global|global state]] before firing, which allows you to fire events based on what took place in a previous map. | ||
| {{CD|CLogicAuto|file1=logicauto.cpp}} | {{CD|CLogicAuto|file1=logicauto.cpp}} | ||
| {{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|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.}} | ||
Revision as of 09:50, 13 May 2023
| logic_auto | |
|---|---|
|  | |
| Type | Point entity | 
| Engine |    | 
| Availability | In all games | 
Template:Entity 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.
|  Class hierarchy | 
|---|
| CLogicAuto | 
|  logicauto.cpp | 
 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: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
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
Note:In  Counter-Strike: Source and
 Counter-Strike: Source and  Counter-Strike: Global Offensive when a map loads and when the round is reset (
 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
 CS:GO including resets for warmup and resets in any other game mode), this entity fires the 3 outputs OnNewGame/OnBackgroundMap (exactly one of these, see below), OnMapSpawn and OnMultiNewMap in this order. Note:In
Note:In  CS:GO the output
 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 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. 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: Bug: Also fires when a new round starts, making it behave identically to Also fires when a new round starts, making it behave identically toOnMultiNewRound, except that it is also fired when the map is loaded.Todo: Confirm if present in other games.[todo tested in ?]
- 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: Bug:except: Also fires when a new round starts, making it behave identically to Also fires when a new round starts, making it behave identically toOnMultiNewRound, 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.
- 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.

























