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 networked 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 networked 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 
 Note:All activators of these outputs are NULL and caller is this entity. (see special targetnames)
Note:All activators of these outputs are NULL and caller is this entity. (see special targetnames)
		
	
| No edit summary | No edit summary | ||
| (27 intermediate revisions by 8 users not shown) | |||
| Line 1: | Line 1: | ||
| {{ | {{LanguageBar}} | ||
| {{TabsBar|main=Logic auto}} | |||
| {{this is a|logical entity|name=logic_auto|sprite=1}}   | |||
| {{CD|CLogicAuto|file1=logicauto.cpp}} | |||
| 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. | 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. | ||
| {{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_t|edict]], not a logical entity as one would expect, and therefore it can contribute to the [[entity limit]]. If this is an issue, use {{ent|logic_relay}} and its <code>OnSpawn</code> output.}} | {{warning|This entity counts as an [[edict_t|edict]], not a logical entity as one would expect, and therefore it can contribute to the networked [[entity limit]]. If this is an issue, use {{ent|logic_relay}} and its <code>OnSpawn</code> output.}} | ||
| {{note|In {{css|4}} and {{csgo|4}} when a map loads and when the round is reset ({{csgo|nt=1|4}} including resets for warmup and resets in any other [[CS:GO Game Modes|game mode]]), this entity fires the 3 outputs <code>OnNewGame</code>/<code>OnBackgroundMap</code> (exactly one of these, see below), <code>OnMapSpawn</code> and <code>OnMultiNewMap</code> in this order.}} | {{note|In {{css|4}} and {{csgo|4}} when a map loads and when the round is reset ({{csgo|nt=1|4}} including resets for warmup and resets in any other [[CS:GO Game Modes|game mode]]), this entity fires the 3 outputs <code>OnNewGame</code>/<code>OnBackgroundMap</code> (exactly one of these, see below), <code>OnMapSpawn</code> and <code>OnMultiNewMap</code> in this order.}} | ||
| {{note|In {{csgo|nt=1|4}} the output <code>OnMultiNewRound</code> is actually fired in response to the game events <code>round_start</code> and <code>teamplay_round_start</code> and does not depend on the <code>Global State to Read</code>. When a round is reset, it is fired before the previous 3, but not when a map is loaded.}} | {{note|In {{csgo|nt=1|4}} the output <code>OnMultiNewRound</code> is actually fired in response to the game events <code>round_start</code> and <code>teamplay_round_start</code> and does not depend on the <code>Global State to Read</code>. When a round is reset, it is fired before the previous 3, but not when a map is loaded.}} | ||
| ==Keyvalues== | == Keyvalues == | ||
| {{ | {{KV|Global State to Read|intn=globalstate|string 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 [[FGD]]s always include the {{hl2|4}} global states here, but any value can be entered. See {{ent|env_global}} for a list of default global states in each game.}}}} | ||
| ==Flags== | ==Flags== | ||
| {{ | {{fl|1|Remove on fire|Whether the {{ent|logic_auto}} is deleted after firing. Delayed outputs will still work, however.}} | ||
| ==Outputs== | ==Outputs== | ||
| {{ | {{O|OnMapSpawn|Fired shortly after the entity spawns (''including loading saves'').}} | ||
| {{ | {{O|OnNewGame|Fired when the map is loaded to start a new game.}} | ||
| {{ | {{O|OnLoadGame|Fired when the map is loaded from a saved game.}} | ||
| {{ | {{O|OnMapTransition|Fired when the map is loaded due to a level transition.}} | ||
| {{ | {{O|OnBackgroundMap|Fired when the map is loaded as a background to the main menu using {{ent|Map (console command)|alt=map_background}}.}} | ||
| {{ | {{O|OnMultiNewMap|Fired shortly after the entity spawns but only in multiplayer and if the round wasn't restarted | ||
| {{ | :{{note|In {{l4ds}} fires only on first map load in a session. Any subsequent round restart or transition to next chapter will have OnMultiNewRound fired}} | ||
| {{ | }} | ||
| {{ | {{O|OnMultiNewRound|Fired shortly after the entity spawns but only in multiplayer and if round was restarted}} {{warning|{{tf2}} Does not get fired when tournament mode is enabled (<code>mp_tournament</code> 1). Use <code>OnMapSpawn</code> instead}} | ||
| {{O|OnDemoMapSpawn|Fired when the map is loaded in Demo Mode.|only={{l4d2}}}} | |||
| {{expand|title=Only in {{sineps|4}}| | |||
| {{O|OnViolenceLow|Fired when the map is loaded for any reason if the game is in low-violence mode.}} | |||
| {{O|OnViolenceHigh|Fired when the map is loaded for any reason if the game is not in low-violence mode.}} | |||
| }} | |||
| {{note|All activators of these outputs are NULL and caller is this entity. (see [[Targetname#Special targetnames|special targetnames]])}} | |||
| == See Also == | |||
| * {{l4dseries}} {{ent|info_gamemode}} | |||
| * {{goldsrc}} {{ent|trigger_auto|engine=goldsrc}} | |||
| [[Category:IO System]] | |||
Latest revision as of 04:06, 20 May 2025

logic_auto  is a   logical entity  available in all  Source games.
 Source games. 
|  Class hierarchy | 
|---|
| CLogicAuto | 
|  logicauto.cpp | 
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.
 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 networked 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 networked 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) <string 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
- Remove on fire : [1]
- 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 shortly after the entity spawns but only in multiplayer and if the round wasn't restarted
- OnMultiNewRound
- Fired shortly after the entity spawns but only in multiplayer and if round was restarted
| 
 
 | 
 Note:All activators of these outputs are NULL and caller is this entity. (see special targetnames)
Note:All activators of these outputs are NULL and caller is this entity. (see special targetnames)






























