Logic auto: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
(Added SiN Episodes: Emergence outputs and moved some stuff around for consistency with other entity pages)
(CS:S and CS:GO investigation. Moved flag info to flag. Linked map_background.)
Line 4: Line 4:
{{base point|logic_auto|sprite=1}} It fires [[output]]s immediately after a map loads, unlike most other 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.
{{base point|logic_auto|sprite=1}} It fires [[output]]s immediately after a map loads, unlike most other 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.


If the "Remove on fire" flag is set, the <code>logic_auto</code> is deleted after firing. Delayed outputs will still work, however.
{{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.}}
{{Note | {{css}} Every time the round is reset, this entity fires either the <code>OnNewGame</code> or <code>OnBackgroundMap</code> output (see below). All other outputs are unused.}}
{{Note | {{csgo}} Every time the round is reset, including resets for warmup and resets in any other [[game mode]], this entity fires the 4 outputs <code>OnMultiNewRound</code>, <code>OnNewGame</code>/<code>OnBackgroundMap</code> (exactly one of these, see below), <code>OnMapSpawn</code> and <code>OnMultiNewMap</code> in this order. When a map is loaded, these are also fired, except the first, <code>OnMultiNewRound</code>. All other outputs are unused.}}
{{clr}}
{{clr}}


== Keyvalues ==
== Keyvalues ==
{{KV|Global State to Read|choices|If set, this specifies a global state to check before firing. The <code>OnMapSpawn</code> output will only fire if the global state is set. Valve's [[FGD]]s always include the HL2 global states here, but any value can be entered. See [[env_global]] for a list of default global states in each game.}}
{{KV|Global State to Read|intn=globalstate|choices|If set, this specifies a global state to check before firing. The <code>OnMapSpawn</code> output will only fire if the global state is set. Valve's [[FGD]]s always include the {{game link|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 ==
== Flags ==
* 1 : Remove on fire
{{Fl|1|Remove on fire|Whether the <code>logic_auto</code> is deleted after firing. Delayed outputs will still work, however.}}


== Outputs ==
== Outputs ==
Line 20: Line 21:
{{IO|OnLoadGame|Fired when the map is loaded from a saved 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|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.}}
{{IO|OnBackgroundMap|Fired when the map is loaded as a background to the main menu using {{ent|map_background}}.}}
{{IO|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.}}}}
{{IO|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.}}}}
{{IO|OnMultiNewRound|Fired only in multiplayer, when a new round is started. Only fired in multiplayer games that use round-based gameplay. {{confirm|Doesn't seem to work in {{css}}?}}}}
{{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={{sin}}|Fired when the map is loaded for any reason if the game is in low-violence mode.}}
{{IO|OnViolenceLow|only={{sin}}|Fired when the map is loaded for any reason if the game is in low-violence mode.}}
{{IO|OnViolenceHigh|only={{sin}}|Fired when the map is loaded for any reason if the game is not in low-violence mode.}}
{{IO|OnViolenceHigh|only={{sin}}|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 20:02, 25 August 2021

Template:Otherlang2

Template:Base point 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.pngWarning: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.
Note.pngNote: Counter-Strike: Source Every time the round is reset, this entity fires either the OnNewGame or OnBackgroundMap output (see below). All other outputs are unused.
Note.pngNote: Counter-Strike: Global Offensive Every time the round is reset, including resets for warmup and resets in any other game mode, this entity fires the 4 outputs OnMultiNewRound, OnNewGame/OnBackgroundMap (exactly one of these, see below), OnMapSpawn and OnMultiNewMap in this order. When a map is loaded, these are also fired, except the first, OnMultiNewRound. All other outputs are unused.

Keyvalues

Global State to Read (globalstate) <choices>
If set, this specifies a global state to check before firing. The OnMapSpawn output will only fire if the global state is set. Valve's FGDs always include the Half-Life 2 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 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.
Icon-Bug.pngBug: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 SiN)
Fired when the map is loaded for any reason if the game is in low-violence mode.
OnViolenceHigh  (only in SiN)
Fired when the map is loaded for any reason if the game is not in low-violence mode.