This article's documentation is for anything that uses the Source engine. Click here for more information.

Env global: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
(Transferred infotable from logic_auto)
(formatting + additional info)
 
(49 intermediate revisions by 18 users not shown)
Line 1: Line 1:
{{lang|Env global}}
{{LanguageBar}}
{{Entity also in GoldSrc}}
{{TabsBar|main=gs|base=env_global}}
{{infotable|env_global|img=[[File:Env global.png]]|type=e0|engine=2|in=0}} controls game-specific global states, such as whether the [[weapon_physcannon|gravity gun]] should become the super gravity gun in {{game link|Half-Life 2}}.
{{Ent not in fgd}}
{{CD|CEnvGlobal|file1=logicentities.cpp}}
{{This is a|logical entity|name=env_global|sprite=1}} It controls game-specific global states, such as whether the [[weapon_physcannon|gravity gun]] should become the super gravity gun in {{Half-Life 2|2}}.


Global states persist across level transitions, regardless of their status. Global states are not stored until an <code>env_global</code> receives any commands that modify the state, such as turning it on or off or changing the counter. Use the <code>Set Initial State</code> [[flag]] for the global to be added on spawn.
Global states persist across level transitions, regardless of their status. Global states are not stored until an <code>env_global</code> receives any commands that modify the state, such as turning it on or off or changing the counter. Use the <code>Set Initial State</code> [[flag]] for the global to be added on spawn.
Line 9: Line 11:
Globals and their current state (in integer form) are added to all entities' response data for use in the [[Response System]].
Globals and their current state (in integer form) are added to all entities' response data for use in the [[Response System]].


{{tip|[[logic_auto]] can read a global state and fire outputs if the state is turned <code>on</code>.}}
{{tip|{{ent|logic_auto}} can read a global state and fire outputs if the state is turned <code>on</code>.}}


{{note|{{css}}{{csgo}}{{l4d2}} This entity is {{not in FGD}}.}}
{{warning|Using <code>env_global</code> in '''Multiplayer''' on {{css|4}}, {{dods|4}}, {{tf2|4}} and {{gmod|4}} is higly unstable as it is prone to randomly break on new rounds, which then fires all outputs. {{todo|more tests on this to confirm and replication steps. Is this the case for all round-based multiplayer games, or only certain ones?}} }}
{{tip|An alternative if transitioning to a different map is not in the question is to use a [[preserved entity]] which remains between round restarts. [https://gamebanana.com/mods/312987 Level System - Permanent Entities]}}


{{code class|CEnvGlobal|logicentities.cpp}}
== Flags ==
{{Fl|1|Set Initial State|Whether this entity defines the global state when the map starts.}}


==ConVars/Commands==
== Keyvalues ==
{{varcom|start}}
{{KV Targetname}}
{{varcom|dump_globals|||Dumps data for all set global states.}}
{{KV|Global State to Set|string choices|intn=globalstate|The global state this entity is linked to. Valve's [[FGD]]s always include the HL2 states, but the actual functional ones vary by game. Global states are not exclusive to these choices and any text can be used, though they will not have any special behavior. See {{↓|Special Global States}}}}
{{varcom|global_set|globalname state||Set the status of a global state. First parameter is the name of it, second is a number.
 
*0 {{=}} off
{{KV|Initial State|integer choices|intn=initialstate|Used by <code>Set Initial State</code> to determine what the global state should be set to when the map starts.
*1 {{=}} on
:*0: Off
*2 {{=}} dead
:*1: On
A global can also be created instantly with this command.}}
:*2: Dead
{{varcom|end}}
}}
{{KV|Counter|since={{hl2ep2}}|int|intn=counter|An integer counter value associated with this global.}}
 
== Inputs ==
{{I|TurnOn|Sets the global's state to ON.}}
{{I|TurnOff|Sets the global's state to OFF.}}
{{I|Toggle|Switches state of the global between ON and OFF.}}
{{I|Remove|Set state of global to DEAD.}}
{{I|AddToCounter|param=int|Adds the specified amount to the counter.|since={{hl2ep2}}}}
{{I|SetCounter|param=int|Sets the value of the counter.|since={{hl2ep2}}}}
{{I|GetCounter|Fires this entity's <code>Counter</code> output.|since={{hl2ep2}}}}


==Flags==
== Outputs ==
{{Fl|1|Set Initial State|Whether this entity defines the global state when the map starts.}}
{{O|Counter|param=int|Outputs the integer value of this entity. May depend on global state.|since={{hl2ep2}}}}
{{bug|tested={{src13}}|{{mapbase|not}} Unusable because there is an aliasing problem for this key (the keyvalue and the output have the same name).
:{{fix|To make it work, simply change its name in the source code {{mono|DEFINE_OUTPUT}} declaration.|code}}}}


==Keyvalues==
== Special Global States ==
{{KV|Global State to Set|choices|intn=globalstate|The global state this entity is linked to. Valve's [[FGD]]s always include the HL2 states, but the actual functional ones vary by game. Global states are not exclusive to these choices and any text can be used, though they will not have any special behavior.}}
Global state values that have special effect when set in [[#Keyvalues|Global State to set ↑]].


=== {{hl2}} [[Half-Life 2]] ===
=== {{source|2}} ===
{{note|<kbd>is_pc</kbd> and <kbd>is_console</kbd> exist by default and are automatically set to ON / OFF. (they are created in {{ent|worldspawn}} Spawn function) }}
{| class="wikitable"
! Internal Name || Editor Name || Description
|-
| {{mono|is_pc}} || Game is running on a PC || Whether the game is running on a PC.
|-
| {{mono|is_console}} || Game is running on a console || Whether the game is running on a game console (such as {{360}}, {{ps3}}, {{switch}}<!-- confirmed that these does something on all 3 consoles.-->). {{example|First example can be seen in {{portal}} <kbd>testchmb_a_00</kbd>, which triggers {{ent|logic_auto}} to kill {{ent|env_hudhint}} entity (named as {{code|hint_move_ctrls}}), causing hint for keyboard movement (move left & right and forward & backward) to not show up (because users can simply move using thumbsticks). </br>Another example can be seen used in {{portal}} <kbd>escape_02</kbd> in {{ent|logic_auto}}.}}
|-
| {{mono|skill.cfg}} || {{!fgd}} || Used for [https://github.com/ValveSoftware/source-sdk-2013/blob/ceb6d4d78370879986d911df9bdf27f2d931759b/src/game/shared/gamerules.cpp#L257C6-L257C16 handling difficulty settings logic]
|}
 
=== {{hl2|2}} ===
{| class="wikitable"
{| class="wikitable"
|-
|-
! Internal Name || Editor Name || Description
! Internal Name || Editor Name || Description
|-
|-
| gordon_precriminal || Gordon pre-criminal || Creates the pre-criminal behavior seen in [[Point Insertion]].
| {{mono|gordon_precriminal || Gordon pre-criminal || Creates the pre-criminal behavior seen in [[Point Insertion]]. Also prevents [[weapon_stunstick|stun stick]] damage from cops.
|-
|-
| antlion_allied || Antlions are player allies || Makes antlions friendly to the player and allows them to listen to [[weapon_bugbait|bugbait]], as seen in the [[Nova Prospekt]] chapters.
| {{mono|antlion_allied}} || Antlions are player allies || Makes [[npc_antlion|antlions]] friendly to the player and allows them to listen to [[weapon_bugbait|bugbait]], as seen in the [[Nova Prospekt]] chapters.
|-
|-
| suit_no_sprint || Suit sprint function not yet enabled || Disables the HEV suit's sprint function.<br/>(not required if the HEV suit is not equipped)
| {{mono|suit_no_sprint}} || Suit sprint function not yet enabled || Disables the HEV suit's sprint function.<br/>(not required if the HEV suit is not equipped)
|-
|-
| super_phys_gun || Super phys gun is enabled || Enables the supercharged gravity gun seen in the Citadel levels of [[Half-Life 2]] and [[Episode One]].<br/>{{note|The super gravity gun isn't available in [[Half-Life 2: Deathmatch]] or [[Portal]].}}
| {{mono|super_phys_gun}} || Super phys gun is enabled || Enables the supercharged gravity gun seen in the Citadel levels of [[Half-Life 2]] and [[Episode One]].<br/>{{note|The super gravity gun isn't available in [[Half-Life 2: Deathmatch]] or [[Portal]].}}
|-
|-
| friendly_encounter || Friendly encounter sequence (lower weapons, etc.) || Indicates a friendly encounter sequence.<br/>(This appears to just keep the player's weapons lowered.)
| {{mono|friendly_encounter}} || Friendly encounter sequence (lower weapons, etc.) || Indicates a friendly encounter sequence.<br/>(This appears to just keep the player's weapons lowered.)
|-
|-
| citizens_passive {{not in FGD}} || Citizens are *not* player allies (cannot be commanded) || Makes citizens neutral to the Combine and the player.<br/>(also done by <code>gordon_precriminal</code>)
| {{not in FGD}} {{mono|citizens_passive}} || Citizens are *not* player allies (cannot be commanded) || Makes citizens neutral to the Combine and the player.<br/>(also done by <code>gordon_precriminal</code>)
|-
|-
| gordon_invulnerable || Gordon is invulnerable || Makes the player invulnerable to damage.<br/>(Retains knockback, view punches, etc. unlike [[god]] mode)
| {{mono|gordon_invulnerable}} || Gordon is invulnerable || Makes the player invulnerable to damage.<br/>(Retains knockback, view punches, etc. unlike [[god]] mode)
|-
|-
| no_seagulls_on_jeep || Don't spawn seagulls on the jeep || Prevents [[npc_seagull|seagulls]] from spawning on the jeep.
| {{mono|no_seagulls_on_jeep}} || Don't spawn seagulls on the jeep || Prevents [[npc_seagull|seagulls]] from spawning on the jeep.
|-
|-
| ep2_alyx_injured || Episode 2: Alyx injured || {{EP2 add}} Episodic only. Invokes Alyx's "injured" behavior:
| {{mono|ep2_alyx_injured}} || Episode 2: Alyx injured || {{since|{{hl2ep2}}}} Episodic only. Invokes Alyx's "injured" behavior:
*Triples bullet spread for {{ent|weapon_alyxgun}}
*Triples bullet spread for {{ent|weapon_alyxgun}}
*Increases time between shots
*Increases time between shots
{{note|This applies to all NPCs with a <code>weapon_alyxgun</code>, not just Alyx.}}
{{note|This applies to all NPCs with a <code>weapon_alyxgun</code>, not just Alyx.}}
|-
|-
| ep_alyx_darknessmode || Episodic: Alyx darkness mode || {{EP1 add}} Episodic only. Enables "darkness mode", as seen during the "Lowlife" chapter of [[Episode One]].<br/>Despite the name, this also affects the player, zombies, and even fires in various ways to make them more suitable for darkness.
| {{mono|ep_alyx_darknessmode}} || Episodic: Alyx darkness mode || {{since|{{hl2ep1}}}} Episodic only. Enables "darkness mode", as seen during the "Lowlife" chapter of [[Episode One]].<br/>Despite the name, this also affects the player, zombies, and even fires in various ways to make them more suitable for darkness:
*Enables [[dlight]]s on burning props
*Zombine sprint chance increases when flashlight is off
*Alyx can only see zombies lit with the flashlight
*If Alyx is in darkness she will turn away from zombies
|-
|-
| hunters_to_run_over || Ep2 Counter: Hunters to run over before they dodge || {{EP2 add}} Episodic only. The number of hunters that should be ran over before they start dodging vehicles.<br/>By default, hunters will try to dodge incoming vehicles.<br/>If this global is declared and its counter is greater than 0, hunters will not try to dodge incoming vehicles.<br/>Instead, this global's counter will decrement by 1 each time a hunter is killed by a vehicle.<br/>When it reaches 0, hunters will return to dodging vehicles.
| hunters_to_run_over || Ep2 Counter: Hunters to run over before they dodge || {{since|{{hl2ep2}}}} Episodic only. The number of hunters that should be ran over before they start dodging vehicles.<br/>By default, hunters will try to dodge incoming vehicles.<br/>If this global is declared and its counter is greater than 0, hunters will not try to dodge incoming vehicles.<br/>Instead, this global's counter will decrement by 1 each time a hunter is killed by a vehicle.<br/>When it reaches 0, hunters will return to dodging vehicles.
|}
 
=== {{css}} [[Counter-Strike: Source]],<br>{{csgo}} [[Counter-Strike: Global Offensive]] ===
{| class="wikitable"
! Internal Name || Editor Name || Description
|-
| is_pc || Game is running on a PC || Whether the game is running on a PC.
|-
| is_console || Game is running on a console || Whether the game is running on a console.{{clarify}}
|}
|}


Line 76: Line 99:
! Internal Name || Editor Name || Description
! Internal Name || Editor Name || Description
|-
|-
| portalgun_nospawn || Spawn without Portalgun || Disables the player recieving the [[weapon_portalgun|Portal Gun]] on spawn. ''(Doesn't appear to work!)''
| {{not in FGD}} portalgun_nospawn || Spawn without Portalgun || Disables the player recieving the [[weapon_portalgun|Portal Gun]] on spawn.
{{todo|Might be for Coop? In singleplayer the portal gun is given on spawn [[Weapon_portalgun#Spawning with a portal gun|through a VScript]], not code.}}
{{note|Used in <code>mp_coop_start</code>, but doesn't seem to do anything. See [[weapon_portalgun#Spawning with a portal gun|here]] for how to prevent the player from spawning with a portal gun.}}
|-
|-
| no_pinging_blue || Prevent Pinging ATLAS || In Co-op, prevents ATLAS (blue ballbot) from using their Ping Tool.
| {{not in FGD}} {{mono|no_pinging_blue}} || Prevent Pinging ATLAS || In Co-op, prevents ATLAS (blue ballbot) from using their Ping Tool.
|-
|-
| no_pinging_orange || Prevent Pinging P-Body || In Co-op, prevents P-Body (orange eggbot) from using their Ping Tool.
| {{not in FGD}} {{mono|no_pinging_orange}} || Prevent Pinging P-Body || In Co-op, prevents P-Body (orange eggbot) from using their Ping Tool.
|-
|-
| no_taunting_blue || Prevent Taunting ATLAS || In Co-op, prevents ATLAS (blue ballbot) from performing gestures.
| {{not in FGD}} {{mono|no_taunting_blue}} || Prevent Taunting ATLAS || In Co-op, prevents ATLAS (blue ballbot) from performing gestures.
|-
|-
| no_taunting_orange || Prevent Taunting P-Body || In Co-op, prevents P-Body (orange eggbot) from performing gestures.
| {{not in FGD}} {{mono|no_taunting_orange}} || Prevent Taunting P-Body || In Co-op, prevents P-Body (orange eggbot) from performing gestures.
|}
|}
{{Note|{{p2ce|4}} has support for both {{p2|4}} and {{hl2|4}} global states.}}


=== {{bms}} [[Black Mesa (Source)|Black Mesa]] ===
=== {{bms}} [[Black Mesa (Source)|Black Mesa]] ===
Line 93: Line 117:
! Internal Name || Editor Name || Description
! Internal Name || Editor Name || Description
|-
|-
| predisaster || Pre-Disaster || {{todo|Probably used for pre-disaster NPC behavior, figure out exactly what it does.}}
| {{mono|predisaster}} || Pre-Disaster || Makes scientist and guard NPCs use pre-disaster speech (greetings, idles, busy responses).<br/>{{note|Effects only follow and talk behavior.}}{{bug|If player has 25 or less health - scientists will fully ignore player interaction, instead of speaking or healing.|hidetested=1}}
|-
|-
| friendly_encounter || Friendly encounter sequence (lower weapons, etc.) || Indicates a friendly encounter sequence.<br/>(This appears to just keep the player's weapons lowered.)
| {{mono|friendly_encounter}} || Friendly encounter sequence (lower weapons, etc.) || Indicates a friendly encounter sequence.<br/>(This appears to just keep the player's weapons lowered).<br/>{{bug|Doesn't work.|hidetested=1}}
|-
|-
| gordon_invulnerable || Gordon is invulnerable || Makes the player invulnerable to damage.<br/>(Retains knockback, view punches, etc. unlike [[god]] mode)
| {{mono|gordon_invulnerable}} || Gordon is invulnerable || Makes the player invulnerable to damage.<br/>(Retains knockback, view punches, etc. unlike [[god]] mode)<br/>{{bug|Doesn't work.|hidetested=1}}
|}
|}


{{todo|There may be more of these in other games.}}
{{todo|There may be more of these in other games.}}


{{KV|Initial State|choices|intn=initialstate|Used by <code>Set Initial State</code> to determine what the global state should be set to when the map starts.
== Console Commands ==
:*0: Off
{{varcom|start}}
:*1: On
{{varcom|dump_globals|||Dumps data for all set global states.}}
:*2: Dead
{{varcom|global_set|globalname state||Set the status of a global state. First parameter is the name of it, second is a number.
}}
*0 {{=}} off
{{KV|Counter|since=EP2|int|intn=counter|An integer counter value associated with this global.
*1 {{=}} on
 
*2 {{=}} dead
{{bug|There is an aliasing problem for this keyvalue (keyvalue and output have the same name). To make it work, simply change its name in the source code DEFINE_OUTPUT declaration.}}}}
A global can also be created instantly with this command.}}
{{KV BaseEntity|css=1}}
{{varcom|end}}
 
==Inputs==
{{IO|TurnOn|Sets the global's state to ON.}}
{{IO|TurnOff|Sets the global's state to OFF.}}
{{IO|Toggle|Switches state of the global between ON and OFF.}}
{{IO|Remove|Set state of global to DEAD.}}
{{IO|AddToCounter|param=int|Adds the specified amount to the counter.|since=EP2}}
{{IO|SetCounter|param=int|Sets the value of the counter.|since=EP2}}
{{IO|GetCounter|Fires this entity's <code>Counter</code> output.|since=EP2}}
{{I BaseEntity|prel4d=1}}


==Outputs==
== See Also ==
{{IO|Counter|param=int|Outputs the integer value of this entity. May depend on global state.|since=EP2}}
* {{ent|logic_auto}}
{{O Targetname|l4d=1}}
* {{cmd|dump_globals}}

Latest revision as of 11:32, 16 June 2025

English (en)Translate (Translate)
Icon-NotInFGD.png
This entity is not in the Counter-Strike: SourceDay of Defeat: SourceTeam Fortress 2Left 4 DeadLeft 4 Dead 2Counter-Strike: Global Offensive FGD by default.
See below for instructions on making it available.
C++ Class hierarchy
CEnvGlobal
CLogicalEntity
CServerOnlyEntity
CBaseEntity
C++ logicentities.cpp
Env global.png

env_global is a logical entity available in all Source Source games. It controls game-specific global states, such as whether the gravity gun should become the super gravity gun in Half-Life 2 Half-Life 2.

Global states persist across level transitions, regardless of their status. Global states are not stored until an env_global receives any commands that modify the state, such as turning it on or off or changing the counter. Use the Set Initial State flag for the global to be added on spawn.

To remove a global from the table entirely, set the global's state to "Dead" using the Remove input. This will cause the global to remove itself on the next level transition.

Globals and their current state (in integer form) are added to all entities' response data for use in the Response System.

Tip.pngTip:logic_auto can read a global state and fire outputs if the state is turned on.
Warning.pngWarning:Using env_global in Multiplayer on Counter-Strike: Source Counter-Strike: Source, Day of Defeat: Source Day of Defeat: Source, Team Fortress 2 Team Fortress 2 and Garry's Mod Garry's Mod is higly unstable as it is prone to randomly break on new rounds, which then fires all outputs.
Todo: more tests on this to confirm and replication steps. Is this the case for all round-based multiplayer games, or only certain ones?
Tip.pngTip:An alternative if transitioning to a different map is not in the question is to use a preserved entity which remains between round restarts. Level System - Permanent Entities

Flags

Set Initial State : [1]
Whether this entity defines the global state when the map starts.

Keyvalues

Name (targetname) <string>[ Edit ]
The name that other entities refer to this entity by, via Inputs/Outputs or other keyvalues (e.g. parentname or target).
Also displayed in Hammer's 2D views and Entity Report.
See also:  Generic Keyvalues, Inputs and Outputs available to all entities

Global State to Set (globalstate) <string choices>
The global state this entity is linked to. Valve's FGDs always include the HL2 states, but the actual functional ones vary by game. Global states are not exclusive to these choices and any text can be used, though they will not have any special behavior. See Special Global States ↓


Initial State (initialstate) <integer choices>
Used by Set Initial State to determine what the global state should be set to when the map starts.
  • 0: Off
  • 1: On
  • 2: Dead
Counter (counter) <integer> (in all games since Half-Life 2: Episode Two)
An integer counter value associated with this global.

Inputs

TurnOn
Sets the global's state to ON.
TurnOff
Sets the global's state to OFF.
Toggle
Switches state of the global between ON and OFF.
Remove
Set state of global to DEAD.
AddToCounter <integerRedirectInput/integer> (in all games since Half-Life 2: Episode Two)
Adds the specified amount to the counter.
SetCounter <integerRedirectInput/integer> (in all games since Half-Life 2: Episode Two)
Sets the value of the counter.
GetCounter  (in all games since Half-Life 2: Episode Two)
Fires this entity's Counter output.

Outputs

Counter <integerRedirectOutput/integer> (in all games since Half-Life 2: Episode Two)
Outputs the integer value of this entity. May depend on global state.
Icon-Bug.pngBug:(not in Mapbase) Unusable because there is an aliasing problem for this key (the keyvalue and the output have the same name).
Cpp.pngCode Fix:To make it work, simply change its name in the source code DEFINE_OUTPUT declaration.
  (tested in: Source 2013)

Special Global States

Global state values that have special effect when set in Global State to set ↑.

Source Source

Note.pngNote:is_pc and is_console exist by default and are automatically set to ON / OFF. (they are created in worldspawn Spawn function)
Internal Name Editor Name Description
is_pc Game is running on a PC Whether the game is running on a PC.
is_console Game is running on a console Whether the game is running on a game console (such as Xbox 360, PlayStation 3, Nintendo Switch).
PlacementTip.pngExample:First example can be seen in Portal testchmb_a_00, which triggers logic_auto to kill env_hudhint entity (named as hint_move_ctrls), causing hint for keyboard movement (move left & right and forward & backward) to not show up (because users can simply move using thumbsticks).
Another example can be seen used in Portal escape_02 in logic_auto.
skill.cfg !FGD Used for handling difficulty settings logic

Half-Life 2 Half-Life 2

Internal Name Editor Name Description
gordon_precriminal Gordon pre-criminal Creates the pre-criminal behavior seen in Point Insertion. Also prevents stun stick damage from cops.
antlion_allied Antlions are player allies Makes antlions friendly to the player and allows them to listen to bugbait, as seen in the Nova Prospekt chapters.
suit_no_sprint Suit sprint function not yet enabled Disables the HEV suit's sprint function.
(not required if the HEV suit is not equipped)
super_phys_gun Super phys gun is enabled Enables the supercharged gravity gun seen in the Citadel levels of Half-Life 2 and Episode One.
Note.pngNote:The super gravity gun isn't available in Half-Life 2: Deathmatch or Portal.
friendly_encounter Friendly encounter sequence (lower weapons, etc.) Indicates a friendly encounter sequence.
(This appears to just keep the player's weapons lowered.)
!FGD citizens_passive Citizens are *not* player allies (cannot be commanded) Makes citizens neutral to the Combine and the player.
(also done by gordon_precriminal)
gordon_invulnerable Gordon is invulnerable Makes the player invulnerable to damage.
(Retains knockback, view punches, etc. unlike god mode)
no_seagulls_on_jeep Don't spawn seagulls on the jeep Prevents seagulls from spawning on the jeep.
ep2_alyx_injured Episode 2: Alyx injured (in all games since Half-Life 2: Episode Two) Episodic only. Invokes Alyx's "injured" behavior:
Note.pngNote:This applies to all NPCs with a weapon_alyxgun, not just Alyx.
ep_alyx_darknessmode Episodic: Alyx darkness mode (in all games since Half-Life 2: Episode One) Episodic only. Enables "darkness mode", as seen during the "Lowlife" chapter of Episode One.
Despite the name, this also affects the player, zombies, and even fires in various ways to make them more suitable for darkness:
  • Enables dlights on burning props
  • Zombine sprint chance increases when flashlight is off
  • Alyx can only see zombies lit with the flashlight
  • If Alyx is in darkness she will turn away from zombies
hunters_to_run_over Ep2 Counter: Hunters to run over before they dodge (in all games since Half-Life 2: Episode Two) Episodic only. The number of hunters that should be ran over before they start dodging vehicles.
By default, hunters will try to dodge incoming vehicles.
If this global is declared and its counter is greater than 0, hunters will not try to dodge incoming vehicles.
Instead, this global's counter will decrement by 1 each time a hunter is killed by a vehicle.
When it reaches 0, hunters will return to dodging vehicles.

Portal 2 Portal 2

Internal Name Editor Name Description
!FGD portalgun_nospawn Spawn without Portalgun Disables the player recieving the Portal Gun on spawn.
Note.pngNote:Used in mp_coop_start, but doesn't seem to do anything. See here for how to prevent the player from spawning with a portal gun.
!FGD no_pinging_blue Prevent Pinging ATLAS In Co-op, prevents ATLAS (blue ballbot) from using their Ping Tool.
!FGD no_pinging_orange Prevent Pinging P-Body In Co-op, prevents P-Body (orange eggbot) from using their Ping Tool.
!FGD no_taunting_blue Prevent Taunting ATLAS In Co-op, prevents ATLAS (blue ballbot) from performing gestures.
!FGD no_taunting_orange Prevent Taunting P-Body In Co-op, prevents P-Body (orange eggbot) from performing gestures.
Note.pngNote:Portal 2: Community Edition Portal 2: Community Edition has support for both Portal 2 Portal 2 and Half-Life 2 Half-Life 2 global states.

Black Mesa Black Mesa

Internal Name Editor Name Description
predisaster Pre-Disaster Makes scientist and guard NPCs use pre-disaster speech (greetings, idles, busy responses).
Note.pngNote:Effects only follow and talk behavior.
Icon-Bug.pngBug:If player has 25 or less health - scientists will fully ignore player interaction, instead of speaking or healing.
friendly_encounter Friendly encounter sequence (lower weapons, etc.) Indicates a friendly encounter sequence.
(This appears to just keep the player's weapons lowered).
Icon-Bug.pngBug:Doesn't work.
gordon_invulnerable Gordon is invulnerable Makes the player invulnerable to damage.
(Retains knockback, view punches, etc. unlike god mode)
Icon-Bug.pngBug:Doesn't work.
Todo: There may be more of these in other games.

Console Commands

Cvar/Command Parameters or default value Descriptor Effect
dump_globals Dumps data for all set global states.
global_set globalname state Set the status of a global state. First parameter is the name of it, second is a number.
  • 0 = off
  • 1 = on
  • 2 = dead
A global can also be created instantly with this command.

See Also