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
(Corrected CS:S outputs. All outputs depend on the global state KV (if set). OnMultiNewRound is an exception in CS:GO (see source code).) |
mNo edit summary |
||
Line 1: | Line 1: | ||
{{lang|Logic auto | {{lang|Logic auto|$title=logic_auto}} | ||
{{ | {{infotable|logic_auto|img=[[File:Logic auto.png]]|type=e0|engine=2|in=0}} 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]], not a logical entity as one would expect, and therefore it can contribute to the [[entity limit]]. If this is an issue, use | {{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.}} | ||
{{ | {{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.}} | ||
== Keyvalues == | ==Keyvalues== | ||
{{ | {{def|Global State to Read|intn=globalstate|type=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== | ||
{{ | {{def|num=1|Remove on fire}} Whether the {{ent|logic_auto}} is deleted after firing. Delayed outputs will still work, however. | ||
== Outputs == | ==Outputs== | ||
{{ | {{def|code=1|OnMapSpawn}} Fired when the map is loaded for any reason ''including saves''. | ||
{{ | {{def|code=1|OnNewGame}} Fired when the map is loaded to start a new game. | ||
{{ | {{def|code=1|OnLoadGame}} Fired when the map is loaded from a saved game. | ||
{{ | {{def|code=1|OnMapTransition}} Fired when the map is loaded due to a level transition. | ||
{{ | {{def|code=1|OnBackgroundMap}} Fired when the map is loaded as a background to the main menu using {{ent|Map (ConCommand)|alt=map_background}}. | ||
{{ | {{def|code=1|OnMultiNewMap}} Fired only in multiplayer, when a new map is loaded.{{bug|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.}} | ||
{{ | {{def|code=1|OnMultiNewRound}} Fired only in multiplayer, when a new round is started. Only fired in multiplayer games that use round-based gameplay. | ||
{{ | {{def|code=1|OnViolenceLow|add={{sin|only}}}} Fired when the map is loaded for any reason if the game is in low-violence mode. | ||
{{ | {{def|code=1|OnViolenceHigh|add={{sin|only}}}} Fired when the map is loaded for any reason if the game is not in low-violence mode. | ||
[[Category:IO System]] | [[Category:IO System]] |
Revision as of 06:08, 28 July 2022
logic_auto | |
---|---|
![]() | |
Type | Point entity |
Engine | ![]() |
Availability | In all games |
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.


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 when the map is loaded for any reason including 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: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 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.