Left 4 Dead 2/Scripting/Game Events: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
(Created page with ":''Refer back to Game Events (Source) for more events.'' === player_death === {{qnotice|a game event, name may be 32 charaters long; this extents the original player_death...")
 
m (add player_connect_full and player_say)
 
(57 intermediate revisions by 7 users not shown)
Line 1: Line 1:
:''Refer back to [[Game Events (Source)]] for more events.''
[[Category:Left 4 Dead 2]]
=== player_death ===
{{Back|Left 4 Dead 2 Level Creation}}
{{qnotice|a game event, name may be 32 charaters long; this extents the original player_death by a new fields}}<br>
{{Wikipage port|page=Left_4_Dead_2_Events|alt=Left 4 Dead 2 Events|website=https://wiki.alliedmods.net|sitename=AlliedModders Wiki|no"wiki"prefix=1}}
{{begin-hl2msg|player_death|string}}
:''Refer back to [https://wiki.alliedmods.net/Game_Events_(Source) Game Events (Source)] for more events.''
{{hl2msg|short|userid|user ID who died}}
{{toc-right}}
{{hl2msg|long|entityid|entity ID who died, userid should be used first, to get the dead Player. Otherwise, it is not a player, so use this.}}
{{hl2msg|short|attacker|user ID who killed}}
{{hl2msg|string|attackername|What type of zombie, so we don't have zombie names}}
{{hl2msg|long|attackerentid|if killer not a player, the entindex of who killed.  Again, use attacker first}}
{{hl2msg|string|weapon|weapon name killer used}}
{{hl2msg|bool|headshot|signals a headshot}}
{{hl2msg|bool|attackerisbot|is the attacker a bot}}
{{hl2msg|string|victimname|What type of zombie, so we don't have zombie names}}
{{hl2msg|bool|victimisbot|is the victim a bot}}
{{hl2msg|bool|abort|did the victim abort}}
{{hl2msg|long|type|damage type}}
{{hl2msg|float|victim_x|}}
{{hl2msg|float|victim_y|}}
{{hl2msg|float|victim_z|}}
{{end-hl2msg}}


=== player_hurt ===
== player_death ==
{{qnotice|Registers all playable classes (Hunter, Smoker, Boomer, Tank, Survivors). See infected_hurt for Witch and Common Infected}}<br>
a game event, name may be 32 charaters long; this extents the original player_death by a new fields
{{begin-hl2msg|player_hurt|string}}
* <b>userid</b> <small>(short)</small> - user ID who died
{{hl2msg|1|local|Not networked}}
* <b>entityid</b> <small>(long)</small> - entity ID who died, userid should be used first, to get the dead Player.  Otherwise, it is not a player, so use this.
{{hl2msg|short|userid|user ID who was hurt}}
* <b>attacker</b> <small>(short)</small> - user ID who killed
{{hl2msg|short|attacker|user id who attacked}}
* <b>attackername</b> <small>(string)</small> - What type of zombie, so we don't have zombie names
{{hl2msg|long|attackerentid|entity id who attacked, if attacker not a player, and userid therefore invalid}}
* <b>attackerentid</b> <small>(long)</small> - if killer not a player, the entindex of who killed.  Again, use attacker first
{{hl2msg|short|health|remaining health points}}
* <b>weapon</b> <small>(string)</small> - weapon name killer used
{{hl2msg|byte|armor|remaining armor points}}
* <b>headshot</b> <small>(bool)</small> - signals a headshot
{{hl2msg|string|weapon|weapon name attacker used, if not the world}}
* <b>attackerisbot</b> <small>(bool)</small> - is the attacker a bot
{{hl2msg|short|dmg_health|damage done to health}}
* <b>victimname</b> <small>(string)</small> - What type of zombie, so we don't have zombie names
{{hl2msg|byte|dmg_armor|damage done to armor}}
* <b>victimisbot</b> <small>(bool)</small> - is the victim a bot
{{hl2msg|byte|hitgroup|hitgroup that was damaged}}
* <b>abort</b> <small>(bool)</small> - did the victim abort
{{hl2msg|long|type|damage type}}
* <b>type</b> <small>(long)</small> - damage type
{{end-hl2msg}}
* <b>victim_x</b> <small>(float)</small> -
=== player_team ===
* <b>victim_y</b> <small>(float)</small> -
{{qnotice|player change his team}}<br>
* <b>victim_z</b> <small>(float)</small> -
{{begin-hl2msg|player_team|string}}
 
{{hl2msg|short|userid|user ID on server}}
== player_hurt ==
{{hl2msg|byte|team|team id}}
Registers all playable classes (Hunter, Smoker, Boomer, Tank, Survivors). See infected_hurt for Witch and Common Infected
{{hl2msg|byte|oldteam|old team id}}
* <b>local</b> <small>(1)</small> - Not networked
{{hl2msg|bool|disconnect|team change because player disconnects}}
* <b>userid</b> <small>(short)</small> - user ID who was hurt
{{hl2msg|string|name|}}
* <b>attacker</b> <small>(short)</small> - user id who attacked
{{hl2msg|bool|isbot|}}
* <b>attackerentid</b> <small>(long)</small> - entity id who attacked, if attacker not a player, and userid therefore invalid
{{end-hl2msg}}
* <b>health</b> <small>(short)</small> - remaining health points
=== player_bot_replace ===
* <b>armor</b> <small>(byte)</small> - remaining armor points
{{qnotice|Bot replaced a player}}<br>
* <b>weapon</b> <small>(string)</small> - weapon name attacker used, if not the world
{{begin-hl2msg|player_bot_replace|string}}
* <b>dmg_health</b> <small>(short)</small> - damage done to health
{{hl2msg|short|player|user ID of the player}}
* <b>dmg_armor</b> <small>(byte)</small> - damage done to armor
{{hl2msg|short|bot|user ID of the bot}}
* <b>hitgroup</b> <small>(byte)</small> - hitgroup that was damaged
{{end-hl2msg}}
* <b>type</b> <small>(long)</small> - damage type
=== bot_player_replace ===
 
{{qnotice|Player replaced a bot}}<br>
== player_activate ==
{{begin-hl2msg|bot_player_replace|string}}
Earliest game event that generates when a CTerrorPlayer entity is being spawned
{{hl2msg|short|bot|user ID of the bot}}
* <b>userid</b> <small>(short)</small> - user ID on server
{{hl2msg|short|player|user ID of the player}}
 
{{end-hl2msg}}
== player_team ==
=== player_afk ===
player change his team
{{qnotice|}}<br>
* <b>userid</b> <small>(short)</small> - user ID on server
{{begin-hl2msg|player_afk|string}}
* <b>team</b> <small>(byte)</small> - team id
{{hl2msg|short|player|user ID of the player}}
* <b>oldteam</b> <small>(byte)</small> - old team id
{{end-hl2msg}}
* <b>disconnect</b> <small>(bool)</small> - team change because player disconnects
=== weapon_fire ===
* <b>name</b> <small>(string)</small> -
{{qnotice|}}<br>
* <b>isbot</b> <small>(bool)</small> -
{{begin-hl2msg|weapon_fire|string}}
 
{{hl2msg|1|local|don't network this, its way too spammy}}
== player_bot_replace ==
{{hl2msg|short|userid|}}
Bot replaced a player
{{hl2msg|string|weapon|used weapon name}}
* <b>player</b> <small>(short)</small> - user ID of the player
{{hl2msg|short|weaponid|used weapon ID}}
* <b>bot</b> <small>(short)</small> - user ID of the bot
{{hl2msg|short|count|number of bullets}}
 
{{end-hl2msg}}
== bot_player_replace ==
=== weapon_fire_on_empty ===
Player replaced a bot
{{qnotice|}}<br>
* <b>bot</b> <small>(short)</small> - user ID of the bot
{{begin-hl2msg|weapon_fire_on_empty|string}}
* <b>player</b> <small>(short)</small> - user ID of the player
{{hl2msg|1|local|don't network this, its way too spammy}}
 
{{hl2msg|short|userid|}}
{{tip|Imagine using slot operator when reading the name of these events <code>bot <- player</code> to remember whether bot is being replaced or a player}}
{{hl2msg|string|weapon|weapon name used}}
 
{{hl2msg|short|count|number of bullets}}
== player_afk ==
{{end-hl2msg}}
* <b>player</b> <small>(short)</small> - user ID of the player
=== weapon_reload ===
 
{{qnotice|}}<br>
== weapon_fire ==
{{begin-hl2msg|weapon_reload|string}}
{{Note | It will fire before firing the weapon, even if it's being interrupted.
{{hl2msg|short|userid|}}
For example: interrupting a molotov throw by switching right before it's about to be thrown. }}
{{hl2msg|bool|manual|player manually started the reload}}
* <b>local</b> <small>(1)</small> - don't network this, its way too spammy
{{end-hl2msg}}
* <b>userid</b> <small>(short)</small> -
=== weapon_zoom ===
* <b>weapon</b> <small>(string)</small> - used weapon name
{{qnotice|}}<br>
* <b>weaponid</b> <small>(short)</small> - used weapon ID
{{begin-hl2msg|weapon_zoom|string}}
* <b>count</b> <small>(short)</small> - number of bullets
{{hl2msg|short|userid|}}
 
{{end-hl2msg}}
== weapon_fire_on_empty ==
=== ability_use ===
 
{{qnotice|}}<br>
* <b>local</b> <small>(1)</small> - don't network this, its way too spammy
* <b>userid</b> <small>(short)</small> -
* <b>weapon</b> <small>(string)</small> - weapon name used
* <b>count</b> <small>(short)</small> - number of bullets
 
== weapon_reload ==
 
* <b>userid</b> <small>(short)</small> -  
* <b>manual</b> <small>(bool)</small> - player manually started the reload
 
== weapon_zoom ==
 
* <b>userid</b> <small>(short)</small> -  
 
== ability_use ==
{{eventnote|Called|When an infected uses their ability}}
{{eventnote|Called|When an infected uses their ability}}
{{eventnote|Issues|Doesn't fire for jockey}}
{{eventnote|Issues|Doesn't fire for jockey}}
{{begin-hl2msg|ability_use|string}}
{{hl2msg|short|userid|}}
{{hl2msg|string|ability|Classname of ability. Possible values:
*ability_lunge
*ability_toungue
*ability_vomit
*ability_charge
*ability_spit
*ability_throw
for the Hunter, Smoker, Boomer, Charger, Spitter and Tank respectively.}}
{{hl2msg|short|context|enum of the way it was used (different for each ability)}}
{{end-hl2msg}}


=== ammo_pickup ===
* <b>userid</b> <small>(short)</small> -
{{qnotice|}}<br>
* <b>ability</b> <small>(string)</small> - Classname of ability. Possible values: 'ability_tongue', 'ability_vomit', 'ability_lunge', 'ability_spit', 'ability_charge', 'ability_throw' for the Smoker, Boomer, Hunter, Spitter, Charger and Tank respectively.
{{begin-hl2msg|ammo_pickup|string}}
* <b>context</b> <small>(short)</small> - enum of the way it was used (different for each ability)
{{hl2msg|short|userid|The player who got some ammo from a weapon_ammo_spawner}}
 
{{end-hl2msg}}
== ammo_pickup ==
=== item_pickup ===
 
{{qnotice|}}<br>
* <b>userid</b> <small>(short)</small> - The player who got some ammo from a weapon_ammo_spawner
{{begin-hl2msg|item_pickup|string}}
 
{{hl2msg|short|userid|}}
== item_pickup ==
{{hl2msg|string|item|either a weapon such as 'tmp' or 'hegrenade', or an item such as 'nvgs'}}
 
{{end-hl2msg}}
* <b>userid</b> <small>(short)</small> -
=== grenade_bounce ===
* <b>item</b> <small>(string)</small> - either a weapon such as 'tmp' or 'hegrenade', or an item such as 'nvgs'
{{qnotice|}}<br>
 
{{begin-hl2msg|grenade_bounce|string}}
== golden_crowbar_pickup ==
{{hl2msg|short|userid|}}
 
{{end-hl2msg}}
* <b>userid</b> <small>(short)</small> -  The player who picked up the crowbar
=== hegrenade_detonate ===
 
{{qnotice|}}<br>
== grenade_bounce ==
{{begin-hl2msg|hegrenade_detonate|string}}
When a player's thrown pipebomb is currently bouncing.
{{hl2msg|short|userid|}}
* <b>userid</b> <small>(short)</small> -
{{end-hl2msg}}
 
=== bullet_impact ===
== hegrenade_detonate ==
{{qnotice|}}<br>
 
{{begin-hl2msg|bullet_impact|string}}
* <b>userid</b> <small>(short)</small> -  
{{hl2msg|short|userid|}}
* <b>x</b> <small>(float)</small> -
{{hl2msg|float|x|}}
* <b>y</b> <small>(float)</small> -  
{{hl2msg|float|y|}}
* <b>z</b> <small>(float)</small> -
{{hl2msg|float|z|}}
 
{{end-hl2msg}}
== bullet_impact ==
=== player_footstep ===
{{bug*|Will not fire for the grenade launcher and miniguns.|only=l4d2}}
{{qnotice|}}<br>
* <b>userid</b> <small>(short)</small> -
{{begin-hl2msg|player_footstep|string}}
* <b>x</b> <small>(float)</small> -  
{{hl2msg|short|userid|}}
* <b>y</b> <small>(float)</small> -
{{end-hl2msg}}
* <b>z</b> <small>(float)</small> -
=== player_jump ===
 
{{qnotice|}}<br>
== player_footstep ==
{{begin-hl2msg|player_jump|string}}
 
{{hl2msg|short|userid|}}
* <b>userid</b> <small>(short)</small> -
{{end-hl2msg}}
 
=== player_blind ===
== player_jump ==
{{qnotice|}}<br>
 
{{begin-hl2msg|player_blind|string}}
* <b>userid</b> <small>(short)</small> -  
{{hl2msg|short|userid|}}
 
{{end-hl2msg}}
== player_blind ==
=== player_falldamage ===
 
{{qnotice|}}<br>
* <b>userid</b> <small>(short)</small> -  
{{begin-hl2msg|player_falldamage|string}}
 
{{hl2msg|short|userid|Who got hurt}}
== player_falldamage ==
{{hl2msg|float|damage|for how much}}
 
{{hl2msg|short|causer|Who caused them to do so (if anyone)}}
* <b>userid</b> <small>(short)</small> - Who got hurt
{{end-hl2msg}}
* <b>damage</b> <small>(float)</small> - for how much
=== player_ledge_grab ===
* <b>causer</b> <small>(short)</small> - Who caused them to do so (if anyone)
{{qnotice|}}<br>
 
{{begin-hl2msg|player_ledge_grab|string}}
== player_ledge_grab ==
{{hl2msg|short|userid|Who grabbed the ledge}}
 
{{hl2msg|short|causer|Who caused them to do so (if anyone)}}
* <b>userid</b> <small>(short)</small> - Who grabbed the ledge
{{end-hl2msg}}
* <b>causer</b> <small>(short)</small> - Who caused them to do so (if anyone)
=== player_ledge_release ===
 
{{qnotice|}}<br>
== player_ledge_release ==
{{begin-hl2msg|player_ledge_release|string}}
 
{{hl2msg|short|userid|person who released from the ledge}}
* <b>userid</b> <small>(short)</small> - person who released from the ledge
{{end-hl2msg}}
 
=== door_moving ===
== door_moving ==
{{qnotice|}}<br>
 
{{begin-hl2msg|door_moving|string}}
* <b>entindex</b> <small>(long)</small> -  
{{hl2msg|long|entindex|}}
* <b>userid</b> <small>(short)</small> -
{{hl2msg|short|userid|}}
 
{{end-hl2msg}}
== door_open ==
=== door_open ===
 
{{qnotice|}}<br>
* <b>userid</b> <small>(short)</small> - Who opened the door
{{begin-hl2msg|door_open|string}}
* <b>checkpoint</b> <small>(bool)</small> - Is the door a checkpoint door
{{hl2msg|short|userid|Who opened the door}}
* <b>closed</b> <small>(bool)</small> - Was the door closed when it started opening?
{{hl2msg|bool|checkpoint|Is the door a checkpoint door}}
 
{{hl2msg|bool|closed|Was the door closed when it started opening?}}
== door_close ==
{{end-hl2msg}}
 
=== door_close ===
* <b>userid</b> <small>(short)</small> - Who closed the door
{{qnotice|}}<br>
* <b>checkpoint</b> <small>(bool)</small> - Is the door a checkpoint door
{{begin-hl2msg|door_close|string}}
 
{{hl2msg|short|userid|Who closed the door}}
== door_unlocked ==
{{hl2msg|bool|checkpoint|Is the door a checkpoint door}}
 
{{end-hl2msg}}
* <b>userid</b> <small>(short)</small> - Who opened the door
=== door_unlocked ===
* <b>checkpoint</b> <small>(bool)</small> - Is the door a checkpoint door
{{qnotice|}}<br>
 
{{begin-hl2msg|door_unlocked|string}}
== rescue_door_open ==
{{hl2msg|short|userid|Who opened the door}}
 
{{hl2msg|bool|checkpoint|Is the door a checkpoint door}}
* <b>userid</b> <small>(short)</small> - Who opened the door
{{end-hl2msg}}
* <b>entindex</b> <small>(long)</small> - door that opened
=== rescue_door_open ===
 
{{qnotice|}}<br>
== waiting_checkpoint_door_used ==
{{begin-hl2msg|rescue_door_open|string}}
Someone tried to open a checkpoint door that is locked till everyone loads in
{{hl2msg|short|userid|Who opened the door}}
* <b>userid</b> <small>(short)</small> - player who tried to open it
{{hl2msg|long|entindex|door that opened}}
* <b>entindex</b> <small>(long)</small> - door that was used
{{end-hl2msg}}
 
=== waiting_checkpoint_door_used ===
== waiting_door_used_versus ==
{{qnotice|Someone tried to open a checkpoint door that is locked till everyone loads in}}<br>
Someone tried to open a checkpoint door that is locked till everyone loads in
{{begin-hl2msg|waiting_checkpoint_door_used|string}}
* <b>userid</b> <small>(short)</small> - player who tried to open it
{{hl2msg|short|userid|player who tried to open it}}
* <b>entindex</b> <small>(long)</small> - door that was used
{{hl2msg|long|entindex|door that was used}}
 
{{end-hl2msg}}
== waiting_checkpoint_button_used ==
=== waiting_door_used_versus ===
Someone tried to push a button that's locked until everyone is gathered
{{qnotice|Someone tried to open a checkpoint door that is locked till everyone loads in}}<br>
* <b>userid</b> <small>(short)</small> - player who tried to open it
{{begin-hl2msg|waiting_door_used_versus|string}}
 
{{hl2msg|short|userid|player who tried to open it}}
== success_checkpoint_button_used ==
{{hl2msg|long|entindex|door that was used}}
Someone pushed a button that's locked until everyone is gathered
{{end-hl2msg}}
* <b>userid</b> <small>(short)</small> - player who openned it
=== waiting_checkpoint_button_used ===
 
{{qnotice|Someone tried to push a button that's locked until everyone is gathered}}<br>
== round_freeze_end ==
{{begin-hl2msg|waiting_checkpoint_button_used|string}}
* <b>None</b> <small>(None)</small> -
{{hl2msg|short|userid|player who tried to open it}}
 
{{end-hl2msg}}
== round_start ==
=== success_checkpoint_button_used ===
* <b>timelimit</b> <small>(long)</small> - round time limit in seconds
{{qnotice|Someone pushed a button that's locked until everyone is gathered}}<br>
* <b>fraglimit</b> <small>(long)</small> - frag limit in seconds
{{begin-hl2msg|success_checkpoint_button_used|string}}
* <b>objective</b> <small>(string)</small> - round objective
{{hl2msg|short|userid|player who openned it}}
 
{{end-hl2msg}}
== round_start_pre_entity ==
=== round_freeze_end ===
 
{{qnotice|}}<br>
* <b>None</b> <small>(None)</small> -
{{begin-hl2msg|round_freeze_end|string}}
 
{{hl2msg|None|None|}}
== round_start_post_nav ==
{{end-hl2msg}}
 
=== round_start_pre_entity ===
* <b>None</b> <small>(None)</small> -
{{qnotice|}}<br>
 
{{begin-hl2msg|round_start_pre_entity|string}}
== nav_blocked ==
{{hl2msg|None|None|}}
 
{{end-hl2msg}}
* <b>area</b> <small>(long)</small> -
=== round_start_post_nav ===
* <b>blocked</b> <small>(bool)</small> -
{{qnotice|}}<br>
 
{{begin-hl2msg|round_start_post_nav|string}}
== nav_generate ==
{{hl2msg|None|None|}}
 
{{end-hl2msg}}
* <b>None</b> <small>(None)</small> -
=== nav_blocked ===
 
{{qnotice|}}<br>
== round_end_message ==
{{begin-hl2msg|nav_blocked|string}}
 
{{hl2msg|long|area|}}
* <b>winner</b> <small>(byte)</small> - winner team/user i
{{hl2msg|bool|blocked|}}
* <b>reason</b> <small>(byte)</small> - reson why team won
{{end-hl2msg}}
* <b>message</b> <small>(string)</small> - end round message
=== nav_generate ===
 
{{qnotice|}}<br>
== round_end ==
{{begin-hl2msg|nav_generate|string}}
 
{{hl2msg|None|None|}}
* <b>winner</b> <small>(byte)</small> - winner team/user i
{{end-hl2msg}}
* <b>reason</b> <small>(byte)</small> - reson why team won
=== round_end_message ===
* <b>message</b> <small>(string)</small> - end round message
{{qnotice|}}<br>
* <b>time</b> <small>(float)</small> -  
{{begin-hl2msg|round_end_message|string}}
 
{{hl2msg|byte|winner|winner team/user i}}
== vote_ended ==
{{hl2msg|byte|reason|reson why team won}}
{{hl2msg|string|message|end round message}}
{{end-hl2msg}}
=== round_end ===
{{qnotice|}}<br>
{{begin-hl2msg|round_end|string}}
{{hl2msg|byte|winner|winner team/user i}}
{{hl2msg|byte|reason|reson why team won}}
{{hl2msg|string|message|end round message}}
{{hl2msg|float|time|}}
{{end-hl2msg}}
=== vote_ended ===
{{qnotice|}}<br>
{{begin-hl2msg|vote_ended|string}}
{{hl2msg|None|None|}}
{{end-hl2msg}}
=== vote_started ===
{{qnotice|}}<br>
{{begin-hl2msg|vote_started|string}}
{{hl2msg|string|issue|}}
{{hl2msg|string|param1|}}
{{hl2msg|string|votedata|}}
{{hl2msg|byte|team|}}
{{hl2msg|long|initiator|entity id of the player who initiated the vote}}
{{hl2msg|1|reliable|this event is reliable}}
{{end-hl2msg}}


=== vote_changed ===
* <b>None</b> <small>(None)</small> -  
{{qnotice|}}<br>
{{begin-hl2msg|vote_changed|string}}
{{hl2msg|byte|yesVotes|}}
{{hl2msg|byte|noVotes|}}
{{hl2msg|byte|potentialVotes|}}
{{end-hl2msg}}
=== vote_passed ===
{{qnotice|}}<br>
{{begin-hl2msg|vote_passed|string}}
{{hl2msg|string|details|}}
{{hl2msg|string|param1|}}
{{hl2msg|byte|team|}}
{{hl2msg|1|reliable|this event is reliable}}
{{end-hl2msg}}


=== vote_failed ===
== vote_started ==
{{qnotice|}}<br>
{{begin-hl2msg|vote_failed|string}}
{{hl2msg|byte|team|}}
{{hl2msg|1|reliable|this event is reliable}}
{{end-hl2msg}}


=== vote_cast_yes ===
* <b>issue</b> <small>(string)</small> -  
{{qnotice|}}<br>
* <b>param1</b> <small>(string)</small> -  
{{begin-hl2msg|vote_cast_yes|string}}
* <b>votedata</b> <small>(string)</small> -  
{{hl2msg|byte|team|}}
* <b>team</b> <small>(byte)</small> -  
{{hl2msg|long|entityid|entity id of the voter}}
* <b>initiator</b> <small>(long)</small> - entity id of the player who initiated the vote
{{end-hl2msg}}
* <b>reliable</b> <small>(1)</small> - this event is reliable
=== vote_cast_no ===
{{qnotice|}}<br>
{{begin-hl2msg|vote_cast_no|string}}
{{hl2msg|byte|team|}}
{{hl2msg|long|entityid|entity id of the voter}}
{{end-hl2msg}}
=== infected_hurt ===
{{qnotice|Registers for non-playable classes (Common Infected, Witch). See player_hurt for other playable classes}}<br>
{{begin-hl2msg|infected_hurt|string}}
{{hl2msg|1|local|don't network this, its way too spammy}}
{{hl2msg|short|attacker|player userid who attacked}}
{{hl2msg|long|entityid|entity id of infected}}
{{hl2msg|byte|hitgroup|hitgroup that was damaged}}
{{hl2msg|short|amount|how much damage was done}}
{{hl2msg|long|type|damage type}}
{{end-hl2msg}}
=== infected_death ===
{{qnotice|}}<br>
{{begin-hl2msg|infected_death|string}}
{{hl2msg|short|attacker|user ID who killed}}
{{hl2msg|short|infected_id|ID of the infected that died}}
{{hl2msg|short|gender|gender (type) of the infected}}
{{hl2msg|short|weapon_id|ID of the weapon used}}
{{hl2msg|bool|headshot|signals a headshot}}
{{hl2msg|bool|minigun|signals a minigun kill}}
{{hl2msg|bool|blast|signals a death from blast damage}}
{{hl2msg|bool|submerged|indicates the infected was submerged}}
{{end-hl2msg}}
=== hostname_changed ===
{{qnotice|}}<br>
{{begin-hl2msg|hostname_changed|string}}
{{hl2msg|string|hostname|}}
{{end-hl2msg}}
=== difficulty_changed ===
{{qnotice|}}<br>
{{begin-hl2msg|difficulty_changed|string}}
{{hl2msg|short|newDifficulty|}}
{{hl2msg|short|oldDifficulty|}}
{{end-hl2msg}}
=== finale_start ===
{{qnotice|}}<br>
{{begin-hl2msg|finale_start|string}}
{{hl2msg|short|rushes|}}
{{end-hl2msg}}
=== finale_rush ===
{{qnotice|}}<br>
{{begin-hl2msg|finale_rush|string}}
{{hl2msg|None|None|}}
{{end-hl2msg}}
=== finale_escape_start ===
{{qnotice|}}<br>
{{begin-hl2msg|finale_escape_start|string}}
{{hl2msg|None|None|}}
{{end-hl2msg}}
=== finale_vehicle_incoming ===
{{qnotice|}}<br>
{{begin-hl2msg|finale_vehicle_incoming|string}}
{{hl2msg|string|campaign|}}
{{end-hl2msg}}
=== finale_vehicle_ready ===
{{qnotice|}}<br>
{{begin-hl2msg|finale_vehicle_ready|string}}
{{hl2msg|string|campaign|}}
{{end-hl2msg}}
=== finale_vehicle_leaving ===
{{qnotice|}}<br>
{{begin-hl2msg|finale_vehicle_leaving|string}}
{{hl2msg|short|survivorcount|number of survivors that made it out}}
{{end-hl2msg}}
=== finale_win ===
{{qnotice|}}<br>
{{begin-hl2msg|finale_win|string}}
{{hl2msg|string|map_name|}}
{{hl2msg|short|difficulty|}}
{{end-hl2msg}}
=== mission_lost ===
{{qnotice|As in, the survivor team failed.  Opposite of finale_win, but not necessarily during the finale.}}<br>
{{begin-hl2msg|mission_lost|string}}
{{hl2msg|None|None|}}
{{end-hl2msg}}
=== finale_radio_start ===
{{qnotice|}}<br>
{{begin-hl2msg|finale_radio_start|string}}
{{hl2msg|short|health|}}
{{end-hl2msg}}
=== finale_radio_damaged ===
{{qnotice|}}<br>
{{begin-hl2msg|finale_radio_damaged|string}}
{{hl2msg|short|health|}}
{{end-hl2msg}}
=== final_reportscreen ===
{{qnotice|Right before the final report screen comes up, let awards possibly fire}}<br>
{{begin-hl2msg|final_reportscreen|string}}
{{hl2msg|None|None|}}
{{end-hl2msg}}
=== map_transition ===
{{qnotice|When campaign cinematics start}}<br>
{{begin-hl2msg|map_transition|string}}
{{hl2msg|None|None|}}
{{end-hl2msg}}


=== player_transitioned ===
{{qnotice|When campaign cinematics end and player is transitioned to first person view}}<br>
{{begin-hl2msg|player_transitioned|string}}
{{hl2msg|short|userid|the person that just finished transitioning}}
{{end-hl2msg}}


=== heal_begin ===
== vote_changed ==
{{qnotice|}}<br>
 
{{begin-hl2msg|heal_begin|string}}
* <b>yesVotes</b> <small>(byte)</small> -
{{hl2msg|short|userid|person doing the healing}}
* <b>noVotes</b> <small>(byte)</small> -
{{hl2msg|short|subject|person being healed}}
* <b>potentialVotes</b> <small>(byte)</small> -
{{end-hl2msg}}
 
=== heal_success ===
== vote_passed ==
{{qnotice|}}<br>
 
{{begin-hl2msg|heal_success|string}}
* <b>details</b> <small>(string)</small> -
{{hl2msg|short|userid|person doing the healing}}
* <b>param1</b> <small>(string)</small> -
{{hl2msg|short|subject|person being healed}}
* <b>team</b> <small>(byte)</small> -
{{hl2msg|short|health_restored|amount of health restored}}
* <b>reliable</b> <small>(1)</small> - this event is reliable
{{end-hl2msg}}
 
=== heal_end ===
 
{{qnotice|}}<br>
== vote_failed ==
 
* <b>team</b> <small>(byte)</small> -
* <b>reliable</b> <small>(1)</small> - this event is reliable
 
 
== vote_cast_yes ==
 
* <b>team</b> <small>(byte)</small> -
* <b>entityid</b> <small>(long)</small> - entity id of the voter
 
== vote_cast_no ==
 
* <b>team</b> <small>(byte)</small> -
* <b>entityid</b> <small>(long)</small> - entity id of the voter
 
== infected_hurt ==
Registers for non-playable classes (Common Infected, Witch). See player_hurt for other playable classes
* <b>local</b> <small>(1)</small> - don't network this, its way too spammy
* <b>attacker</b> <small>(short)</small> - player userid who attacked
* <b>entityid</b> <small>(long)</small> - entity id of infected
* <b>hitgroup</b> <small>(byte)</small> - hitgroup that was damaged
* <b>amount</b> <small>(short)</small> - how much damage was done
* <b>type</b> <small>(long)</small> - damage type
 
== infected_death ==
 
* <b>attacker</b> <small>(short)</small> - user ID who killed
* <b>infected_id</b> <small>(short)</small> - ID of the infected that died
* <b>gender</b> <small>(short)</small> - gender (type) of the infected
* <b>weapon_id</b> <small>(short)</small> - ID of the weapon used
* <b>headshot</b> <small>(bool)</small> - signals a headshot
* <b>minigun</b> <small>(bool)</small> - signals a minigun kill
* <b>blast</b> <small>(bool)</small> - signals a death from blast damage
* <b>submerged</b> <small>(bool)</small> - indicates the infected was submerged
 
== hostname_changed ==
 
* <b>hostname</b> <small>(string)</small> -
 
== difficulty_changed ==
It appears that strDifficulty is z_difficulty value
* <b>newDifficulty</b> <small>(short)</small> -
* <b>oldDifficulty</b> <small>(short)</small> -
* <b>strDifficulty</b> <small>(string)</small> -
 
 
== finale_start ==
 
* <b>rushes</b> <small>(short)</small> -
 
== finale_rush ==
 
* <b>None</b> <small>(None)</small> -
 
== finale_escape_start ==
 
* <b>None</b> <small>(None)</small> -  
 
== finale_vehicle_incoming ==
 
* <b>campaign</b> <small>(string)</small> -
 
== finale_vehicle_ready ==
 
* <b>campaign</b> <small>(string)</small> -
 
== finale_vehicle_leaving ==
 
* <b>survivorcount</b> <small>(short)</small> - number of survivors that made it out
 
== finale_win ==
 
* <b>map_name</b> <small>(string)</small> -
* <b>difficulty</b> <small>(short)</small> -
 
== mission_lost ==
As in, the survivor team failed.  Opposite of finale_win, but not necessarily during the finale.
* <b>None</b> <small>(None)</small> -
 
== finale_radio_start ==
 
* <b>health</b> <small>(short)</small> -
 
== finale_radio_damaged ==
 
* <b>health</b> <small>(short)</small> -
 
== final_reportscreen ==
Right before the final report screen comes up, let awards possibly fire
* <b>None</b> <small>(None)</small> -
 
== map_transition ==
When campaign cinematics start
* <b>None</b> <small>(None)</small> -
 
 
== player_transitioned ==
When campaign cinematics end and player is transitioned to first person view
* <b>userid</b> <small>(short)</small> - the person that just finished transitioning
 
 
== heal_begin ==
 
* <b>userid</b> <small>(short)</small> - person doing the healing
* <b>subject</b> <small>(short)</small> - person being healed
 
== heal_success ==
 
* <b>userid</b> <small>(short)</small> - person doing the healing
* <b>subject</b> <small>(short)</small> - person being healed
* <b>health_restored</b> <small>(short)</small> - amount of health restored
 
== heal_end ==
{{eventnote|Issues|subject is broken for this event, it always appears to be the player doing the healing}}
{{eventnote|Issues|subject is broken for this event, it always appears to be the player doing the healing}}
{{begin-hl2msg|heal_end|string}}
{{hl2msg|short|userid|person doing the healing}}
{{hl2msg|short|subject|person being healed}}
{{end-hl2msg}}


=== heal_interrupted ===
* <b>userid</b> <small>(short)</small> - person doing the healing
{{qnotice|}}<br>
* <b>subject</b> <small>(short)</small> - person being healed
{{begin-hl2msg|heal_interrupted|string}}
 
{{hl2msg|short|userid|person who was being healed, but moved.}}
 
{{hl2msg|short|subject|person being healed}}
== heal_interrupted ==
{{end-hl2msg}}
 
=== ammo_pack_used ===
* <b>userid</b> <small>(short)</small> - person who was being healed, but moved.
{{qnotice|}}<br>
* <b>subject</b> <small>(short)</small> - person being healed
{{begin-hl2msg|ammo_pack_used|string}}
 
{{hl2msg|short|userid|person giving the ammo}}
== ammo_pack_used ==
{{hl2msg|short|subject|person receiving ammo}}
 
{{end-hl2msg}}
* <b>userid</b> <small>(short)</small> - person giving the ammo
=== give_weapon ===
* <b>subject</b> <small>(short)</small> - person receiving ammo
{{qnotice|}}<br>
 
{{begin-hl2msg|give_weapon|string}}
== give_weapon ==
{{hl2msg|short|userid|The giver of the weapon}}
 
{{hl2msg|short|recipient|The recipient of the weapon}}
* <b>userid</b> <small>(short)</small> - The giver of the weapon
{{hl2msg|short|weapon|The ID of the weapon given}}
* <b>recipient</b> <small>(short)</small> - The recipient of the weapon
{{end-hl2msg}}
* <b>weapon</b> <small>(short)</small> - The ID of the weapon given
=== pills_used ===
 
{{qnotice|}}<br>
== pills_used ==
{{begin-hl2msg|pills_used|string}}
 
{{hl2msg|short|userid|person who had the pills}}
* <b>userid</b> <small>(short)</small> - person who had the pills
{{hl2msg|short|subject|person swallowing the pills}}
* <b>subject</b> <small>(short)</small> - person swallowing the pills
{{end-hl2msg}}
 
=== pills_used_fail ===
== pills_used_fail ==
{{qnotice|}}<br>
 
{{begin-hl2msg|pills_used_fail|string}}
* <b>userid</b> <small>(short)</small> - person who tried to use the pills
{{hl2msg|short|userid|person who tried to use the pills}}
 
{{end-hl2msg}}
== ammo_pack_used_fail_no_weapon ==
=== ammo_pack_used_fail_no_weapon ===
 
{{qnotice|}}<br>
* <b>userid</b> <small>(short)</small> - person who tried to use the ammo pack
{{begin-hl2msg|ammo_pack_used_fail_no_weapon|string}}
* <b>subject</b> <small>(short)</small> - person it failed to help
{{hl2msg|short|userid|person who tried to use the ammo pack}}
 
{{hl2msg|short|subject|person it failed to help}}
== ammo_pack_used_fail_full ==
{{end-hl2msg}}
 
=== ammo_pack_used_fail_full ===
* <b>userid</b> <small>(short)</small> - person who tried to use the ammo pack
{{qnotice|}}<br>
* <b>subject</b> <small>(short)</small> - person it failed to help
{{begin-hl2msg|ammo_pack_used_fail_full|string}}
 
{{hl2msg|short|userid|person who tried to use the ammo pack}}
== ammo_pack_used_fail_doesnt_use_ammo ==
{{hl2msg|short|subject|person it failed to help}}
 
{{end-hl2msg}}
* <b>userid</b> <small>(short)</small> - person who tried to use the ammo pack
=== ammo_pack_used_fail_doesnt_use_ammo ===
* <b>subject</b> <small>(short)</small> - person it failed to help
{{qnotice|}}<br>
 
{{begin-hl2msg|ammo_pack_used_fail_doesnt_use_ammo|string}}
== ammo_pile_weapon_cant_use_ammo ==
{{hl2msg|short|userid|person who tried to use the ammo pack}}
 
{{hl2msg|short|subject|person it failed to help}}
* <b>userid</b> <small>(short)</small> - person who tried to use an ammo pile with a grenade launcher
{{end-hl2msg}}
 
=== ammo_pile_weapon_cant_use_ammo ===
== defibrillator_begin ==
{{qnotice|}}<br>
 
{{begin-hl2msg|ammo_pile_weapon_cant_use_ammo|string}}
* <b>userid</b> <small>(short)</small> - person who is defibrillating.
{{hl2msg|short|userid|person who tried to use an ammo pile with a grenade launcher}}
* <b>subject</b> <small>(short)</small> - person being revived
{{end-hl2msg}}
 
=== defibrillator_begin ===
== defibrillator_used ==
{{qnotice|}}<br>
 
{{begin-hl2msg|defibrillator_begin|string}}
* <b>userid</b> <small>(short)</small> - person who used the defibrillator
{{hl2msg|short|userid|person who is defibrillating.}}
* <b>subject</b> <small>(short)</small> - person it helped
{{hl2msg|short|subject|person being revived}}
 
{{end-hl2msg}}
== defibrillator_used_fail ==
=== defibrillator_used ===
 
{{qnotice|}}<br>
* <b>userid</b> <small>(short)</small> - person who tried to use the defibrillator
{{begin-hl2msg|defibrillator_used|string}}
* <b>subject</b> <small>(short)</small> - person it failed to help
{{hl2msg|short|userid|person who used the defibrillator}}
 
{{hl2msg|short|subject|person it helped}}
== defibrillator_interrupted ==
{{end-hl2msg}}
 
=== defibrillator_used_fail ===
* <b>userid</b> <small>(short)</small> - person who was defibrillating, but moved.
{{qnotice|}}<br>
* <b>subject</b> <small>(short)</small> - person being revived
{{begin-hl2msg|defibrillator_used_fail|string}}
 
{{hl2msg|short|userid|person who tried to use the defibrillator}}
== upgrade_pack_begin ==
{{hl2msg|short|subject|person it failed to help}}
 
{{end-hl2msg}}
* <b>userid</b> <small>(short)</small> - person who is deploying the pack
=== defibrillator_interrupted ===
 
{{qnotice|}}<br>
== upgrade_pack_used ==
{{begin-hl2msg|defibrillator_interrupted|string}}
 
{{hl2msg|short|userid|person who was defibrillating, but moved.}}
* <b>upgradeid</b> <small>(short)</small> - entity index of the deployed upgrade pack (either {{ent|upgrade_ammo_explosive}} or {{ent|upgrade_ammo_incendiary}})
{{hl2msg|short|subject|person being revived}}
* <b>userid</b> <small>(short)</small> - person who is deploying the pack
{{end-hl2msg}}
 
=== upgrade_pack_begin ===
== upgrade_item_already_used ==
{{qnotice|}}<br>
 
{{begin-hl2msg|upgrade_pack_begin|string}}
* <b>userid</b> <small>(short)</small> - person who tried to use an ammo upgrade twice
{{hl2msg|short|userid|person who is deploying the pack}}
* <b>upgradeclass</b> <small>(string)</small> - classname of the upgrade we tried to use
{{end-hl2msg}}
 
=== upgrade_pack_used ===
== upgrade_failed_no_primary ==
{{qnotice|}}<br>
 
{{begin-hl2msg|upgrade_pack_used|string}}
* <b>userid</b> <small>(short)</small> - person who tried to use an upgrade without having a primary weapon
{{hl2msg|short|upgradeid|}}
* <b>upgrade</b> <small>(string)</small> - name of the upgrade we tried to use, eg "INCENDIARY_AMMO"
{{hl2msg|short|userid|person who is deploying the pack}}
 
{{end-hl2msg}}
== dead_survivor_visible ==
=== upgrade_item_already_used ===
 
{{qnotice|}}<br>
* <b>userid</b> <small>(short)</small> - The player who sees the entity
{{begin-hl2msg|upgrade_item_already_used|string}}
* <b>subject</b> <small>(long)</small> - Entindex of the entity they see
{{hl2msg|short|userid|person who tried to use an ammo upgrade twice}}
* <b>deadplayer</b> <small>(short)</small> - user id of the dead player represented
{{hl2msg|string|upgradeclass|classname of the upgrade we tried to use}}
 
{{end-hl2msg}}
== adrenaline_used ==
=== upgrade_failed_no_primary ===
 
{{qnotice|}}<br>
* <b>userid</b> <small>(short)</small> - person who had and used the adrenaline
{{begin-hl2msg|upgrade_failed_no_primary|string}}
 
{{hl2msg|short|userid|person who tried to use an upgrade without having a primary weapon}}
== revive_begin ==
{{hl2msg|string|upgrade|name of the upgrade we tried to use, eg "INCENDIARY_AMMO"}}
 
{{end-hl2msg}}
* <b>userid</b> <small>(short)</small> - person doing the reviving
=== dead_survivor_visible ===
* <b>subject</b> <small>(short)</small> - person being revived
{{qnotice|}}<br>
 
{{begin-hl2msg|dead_survivor_visible|string}}
== revive_success ==
{{hl2msg|short|userid|The player who sees the entity}}
 
{{hl2msg|long|subject|Entindex of the entity they see}}
* <b>userid</b> <small>(short)</small> - person doing the reviving
{{hl2msg|short|deadplayer|user id of the dead player represented}}
* <b>subject</b> <small>(short)</small> - person who was revived
{{end-hl2msg}}
* <b>lastlife</b> <small>(bool)</small> - person revived will die if they fall again
=== adrenaline_used ===
* <b>ledge_hang</b> <small>(bool)</small> - 1 if person revived was ledge hanging
{{qnotice|}}<br>
 
{{begin-hl2msg|adrenaline_used|string}}
== revive_end ==
{{hl2msg|short|userid|person who had and used the adrenaline}}
 
{{end-hl2msg}}
* <b>userid</b> <small>(short)</small> - person doing the reviving
=== revive_begin ===
* <b>subject</b> <small>(short)</small> - person being revived
{{qnotice|}}<br>
* <b>ledge_hang</b> <small>(bool)</small> - person is ledge hanging
{{begin-hl2msg|revive_begin|string}}
 
{{hl2msg|short|userid|person doing the reviving}}
== drag_begin ==
{{hl2msg|short|subject|person being revived}}
 
{{end-hl2msg}}
* <b>userid</b> <small>(short)</small> - person doing the dragging
=== revive_success ===
* <b>subject</b> <small>(short)</small> - person being dragged
{{qnotice|}}<br>
 
{{begin-hl2msg|revive_success|string}}
== drag_end ==
{{hl2msg|short|userid|person doing the reviving}}
 
{{hl2msg|short|subject|person who was revived}}
* <b>userid</b> <small>(short)</small> - person doing the dragging
{{hl2msg|bool|lastlife|person revived will die if they fall again}}
* <b>subject</b> <small>(short)</small> - person being dragged
{{hl2msg|bool|ledge_hang|1 if person revived was ledge hanging}}
 
{{end-hl2msg}}
== player_incapacitated ==
=== revive_end ===
when a player becomes incapacitated.  This is also called when a tank is killed.
{{qnotice|}}<br>
* <b>userid</b> <small>(short)</small> - person who became incapacitated
{{begin-hl2msg|revive_end|string}}
* <b>attacker</b> <small>(short)</small> - user ID who made us incapacitated
{{hl2msg|short|userid|person doing the reviving}}
* <b>attackerentid</b> <small>(long)</small> - if attacker not player, entindex of who made us incapacitated
{{hl2msg|short|subject|person being revived}}
* <b>weapon</b> <small>(string)</small> - weapon name attacker used
{{hl2msg|bool|ledge_hang|person is ledge hanging}}
* <b>type</b> <small>(long)</small> - damage type
{{end-hl2msg}}
 
=== drag_begin ===
== player_incapacitated_start ==
{{qnotice|}}<br>
when a player is about to become incapacitated, so you can see his last living state
{{begin-hl2msg|drag_begin|string}}
* <b>userid</b> <small>(short)</small> - person who became incapacitated
{{hl2msg|short|userid|person doing the dragging}}
* <b>attacker</b> <small>(short)</small> - user ID who made us incapacitated
{{hl2msg|short|subject|person being dragged}}
* <b>attackerentid</b> <small>(long)</small> - if attacker not player, entindex of who made us incapacitated
{{end-hl2msg}}
* <b>weapon</b> <small>(string)</small> - weapon name attacker used
=== drag_end ===
* <b>type</b> <small>(long)</small> - damage type
{{qnotice|}}<br>
 
{{begin-hl2msg|drag_end|string}}
== player_entered_start_area ==
{{hl2msg|short|userid|person doing the dragging}}
when a player spawns into the player start area
{{hl2msg|short|subject|person being dragged}}
* <b>userid</b> <small>(short)</small> - person who entered
{{end-hl2msg}}
 
=== player_incapacitated ===
== player_first_spawn ==
{{qnotice|when a player becomes incapacitated.  This is also called when a tank is killed.}}<br>
when a player spawns for the first time in a given mission
{{begin-hl2msg|player_incapacitated|string}}
* <b>userid</b> <small>(short)</small> - person who spawned
{{hl2msg|short|userid|person who became incapacitated}}
* <b>map_name</b> <small>(string)</small> -  
{{hl2msg|short|attacker|user ID who made us incapacitated}}
* <b>isbot</b> <small>(bool)</small> -
{{hl2msg|long|attackerentid|if attacker not player, entindex of who made us incapacitated}}
 
{{hl2msg|string|weapon|weapon name attacker used}}
 
{{hl2msg|long|type|damage type}}
== player_left_start_area ==
{{end-hl2msg}}
when a player leaves the player start area
=== player_incapacitated_start ===
* <b>userid</b> <small>(short)</small> - person who left
{{qnotice|when a player is about to become incapacitated, so you can see his last living state}}<br>
 
{{begin-hl2msg|player_incapacitated_start|string}}
== player_left_safe_area ==
{{hl2msg|short|userid|person who became incapacitated}}
when a player leaves the safe area
{{hl2msg|short|attacker|user ID who made us incapacitated}}
* <b>userid</b> <small>(short)</small> - person who left
{{hl2msg|long|attackerentid|if attacker not player, entindex of who made us incapacitated}}
* <b>playercount</b> <small>(byte)</small> -
{{hl2msg|string|weapon|weapon name attacker used}}
 
{{hl2msg|long|type|damage type}}
== player_entered_checkpoint ==
{{end-hl2msg}}
when a basecombatcharacter enters a checkpoint area
=== player_entered_start_area ===
* <b>userid</b> <small>(short)</small> - player who entered
{{qnotice|when a player spawns into the player start area}}<br>
* <b>entityid</b> <small>(long)</small> - If not a player, the entity index of the one entering
{{begin-hl2msg|player_entered_start_area|string}}
* <b>door</b> <small>(long)</small> - Entindex of the checkpoint door the player entered to get here.
{{hl2msg|short|userid|person who entered}}
* <b>area</b> <small>(long)</small> -  
{{end-hl2msg}}
* <b>doorname</b> <small>(string)</small> - name of the entity they see
=== player_first_spawn ===
 
{{qnotice|when a player spawns for the first time in a given mission}}<br>
== player_left_checkpoint ==
{{begin-hl2msg|player_first_spawn|string}}
when a player leaves a checkpoint area
{{hl2msg|short|userid|person who spawned}}
* <b>userid</b> <small>(short)</small> - player who left
{{hl2msg|string|map_name|}}
* <b>entityid</b> <small>(long)</small> - If not a player, the entity index of the one exiting
{{hl2msg|bool|isbot|}}
* <b>area</b> <small>(long)</small> -
{{end-hl2msg}}
 
{{qnotice|This Event doesnt exist anymore 1.10.2012}}<br><br>
== player_shoved ==
{{eventnote|Issues|Will not fire when shoving a survivor that is currently in combat.}}
* <b>userid</b> <small>(short)</small> - player index who was shoved
* <b>attacker</b> <small>(short)</small> - player index who attacked them
 
== entity_shoved ==
 
* <b>entityid</b> <small>(short)</small> - the entity index of the one who was shoved
* <b>attacker</b> <small>(short)</small> - player index who attacked them
 
== player_jump_apex ==
 
* <b>userid</b> <small>(short)</small> - player who jumped
 
== player_blocked ==
 
* <b>userid</b> <small>(short)</small> - player index who was trying to move
* <b>blocker</b> <small>(short)</small> - player index who kept them from moving
 
== player_now_it ==
 
* <b>userid</b> <small>(short)</small> - Player who is now it
* <b>attacker</b> <small>(short)</small> - player that did the it-ing
* <b>exploded</b> <small>(bool)</small> - whether it was vomit or explosion
* <b>infected</b> <small>(bool)</small> - is the vomit infectious
* <b>by_boomer</b> <small>(bool)</small> - came from a boomer
 
== player_no_longer_it ==
 
* <b>userid</b> <small>(short)</small> - Player who is now no longer it
 
== witch_harasser_set ==
 
* <b>userid</b> <small>(short)</small> - Player who woke up the witch
* <b>witchid</b> <small>(long)</small> - Entindex of witch woken up
* <b>first</b> <small>(bool)</small> - First time the witch set a harasser
 
== witch_spawn ==
 
* <b>witchid</b> <small>(long)</small> - Entindex of witch spawning right now.
 
== witch_killed ==
 
* <b>userid</b> <small>(short)</small> - Player who killed the witch
* <b>witchid</b> <small>(long)</small> - Entindex of witch that was killed.
* <b>oneshot</b> <small>(bool)</small> - TRUE if the Witch was killed with one shot
* <b>melee_only</b> <small>(bool)</small> - TRUE if the witch was only killed by melee attacks (no blast, burn, or bullet damage)
* <b>bride</b> <small>(bool)</small> - bride variant?
 
== tank_spawn ==
 
* <b>userid</b> <small>(short)</small> - User ID of the tank spawning now
* <b>tankid</b> <small>(long)</small> - Entindex of tank spawning right now.
 
== melee_kill ==
 
* <b>userid</b> <small>(short)</small> - Player who bashed the infected
* <b>entityid</b> <small>(long)</small> - Entindex of infected what got killed
* <b>ambush</b> <small>(bool)</small> - Infected was unaware when killed
 
== area_cleared ==
 
* <b>userid</b> <small>(short)</small> - person who cleared the area
* <b>area</b> <small>(long)</small> - id of the cleared area
 
== award_earned ==
 
* <b>userid</b> <small>(short)</small> - player who earned the award
* <b>entityid</b> <small>(long)</small> - client likes ent id
* <b>subjectentid</b> <small>(long)</small> - entity id of other party in the award, if any
* <b>award</b> <small>(short)</small> - id of award earned


=== player_left_start_area ===
== tongue_grab ==
{{qnotice|when a player leaves the player start area}}<br>
{{begin-hl2msg|player_left_start_area|string}}
{{hl2msg|short|userid|person who left}}
{{end-hl2msg}}
=== player_entered_checkpoint ===
{{qnotice|when a basecombatcharacter enters a checkpoint area}}<br>
{{begin-hl2msg|player_entered_checkpoint|string}}
{{hl2msg|short|userid|player who entered}}
{{hl2msg|long|entityid|If not a player, the entity index of the one entering}}
{{hl2msg|long|door|Entindex of the checkpoint door the player entered to get here.}}
{{hl2msg|long|area|}}
{{hl2msg|string|doorname|name of the entity they see}}
{{end-hl2msg}}
=== player_left_checkpoint ===
{{qnotice|when a player leaves a checkpoint area}}<br>
{{begin-hl2msg|player_left_checkpoint|string}}
{{hl2msg|short|userid|player who left}}
{{hl2msg|long|entityid|If not a player, the entity index of the one exiting}}
{{hl2msg|long|area|}}
{{end-hl2msg}}
=== player_shoved ===
{{qnotice|}}<br>
{{begin-hl2msg|player_shoved|string}}
{{hl2msg|short|userid|player index who was shoved}}
{{hl2msg|short|attacker|player index who attacked them}}
{{end-hl2msg}}
=== entity_shoved ===
{{qnotice|}}<br>
{{begin-hl2msg|entity_shoved|string}}
{{hl2msg|short|entityid|the entity index of the one who was shoved}}
{{hl2msg|short|attacker|player index who attacked them}}
{{end-hl2msg}}
=== player_jump_apex ===
{{qnotice|}}<br>
{{begin-hl2msg|player_jump_apex|string}}
{{hl2msg|short|userid|player who jumped}}
{{end-hl2msg}}
=== player_blocked ===
{{qnotice|}}<br>
{{begin-hl2msg|player_blocked|string}}
{{hl2msg|short|userid|player index who was trying to move}}
{{hl2msg|short|blocker|player index who kept them from moving}}
{{end-hl2msg}}
=== player_now_it ===
{{qnotice|}}<br>
{{begin-hl2msg|player_now_it|string}}
{{hl2msg|short|userid|Player who is now it}}
{{hl2msg|short|attacker|player that did the it-ing}}
{{hl2msg|bool|exploded|whether it was vomit or explosion}}
{{hl2msg|bool|infected|is the vomit infectious}}
{{hl2msg|bool|by_boomer|came from a boomer}}
{{end-hl2msg}}
=== player_no_longer_it ===
{{qnotice|}}<br>
{{begin-hl2msg|player_no_longer_it|string}}
{{hl2msg|short|userid|Player who is now no longer it}}
{{end-hl2msg}}
=== witch_harasser_set ===
{{qnotice|}}<br>
{{begin-hl2msg|witch_harasser_set|string}}
{{hl2msg|short|userid|Player who woke up the witch}}
{{hl2msg|long|witchid|Entindex of witch woken up}}
{{hl2msg|bool|first|First time the witch set a harasser}}
{{end-hl2msg}}
=== witch_spawn ===
{{qnotice|}}<br>
{{begin-hl2msg|witch_spawn|string}}
{{hl2msg|long|witchid|Entindex of witch spawning right now.}}
{{end-hl2msg}}
=== witch_killed ===
{{qnotice|}}<br>
{{begin-hl2msg|witch_killed|string}}
{{hl2msg|short|userid|Player who killed the witch}}
{{hl2msg|long|witchid|Entindex of witch that was killed.}}
{{hl2msg|bool|oneshot|TRUE if the Witch was killed with one shot}}
{{end-hl2msg}}
=== tank_spawn ===
{{qnotice|}}<br>
{{begin-hl2msg|tank_spawn|string}}
{{hl2msg|short|userid|User ID of the tank spawning now}}
{{hl2msg|long|tankid|Entindex of tank spawning right now.}}
{{end-hl2msg}}
=== melee_kill ===
{{qnotice|}}<br>
{{begin-hl2msg|melee_kill|string}}
{{hl2msg|short|userid|Player who bashed the infected}}
{{hl2msg|long|entityid|Entindex of infected what got killed}}
{{hl2msg|bool|ambush|Infected was unaware when killed}}
{{end-hl2msg}}
=== area_cleared ===
{{qnotice|}}<br>
{{begin-hl2msg|area_cleared|string}}
{{hl2msg|short|userid|person who cleared the area}}
{{hl2msg|long|area|id of the cleared area}}
{{end-hl2msg}}
=== award_earned ===
{{qnotice|}}<br>
{{begin-hl2msg|award_earned|string}}
{{hl2msg|short|userid|player who earned the award}}
{{hl2msg|long|entityid|client likes ent id}}
{{hl2msg|long|subjectentid|entity id of other party in the award, if any}}
{{hl2msg|short|award|id of award earned}}
{{end-hl2msg}}
=== tongue_grab ===
{{qnotice|}}<br>
{{begin-hl2msg|tongue_grab|string}}
{{hl2msg|short|userid|player who did the grabbing}}
{{hl2msg|short|victim|player that got grabbed}}
{{end-hl2msg}}
=== tongue_broke_bent ===
{{qnotice|}}<br>
{{begin-hl2msg|tongue_broke_bent|string}}
{{hl2msg|short|userid|Tongue owner}}
{{end-hl2msg}}
=== tongue_broke_victim_died ===
{{qnotice|}}<br>
{{begin-hl2msg|tongue_broke_victim_died|string}}
{{hl2msg|short|userid|Tongue owner}}
{{end-hl2msg}}
=== tongue_release ===
{{qnotice|Fired in all cases where the tongue releases a victim, whether choked or not, etc.}}<br>
{{begin-hl2msg|tongue_release|string}}
{{hl2msg|short|userid|The tongue owner}}
{{hl2msg|short|victim|The (now released) victim}}
{{hl2msg|long|distance|Distance the victim was dragged.}}
{{end-hl2msg}}


=== choke_start ===
* <b>userid</b> <small>(short)</small> - player who did the grabbing
{{qnotice|}}<br>
* <b>victim</b> <small>(short)</small> - player that got grabbed
{{begin-hl2msg|choke_start|string}}
{{hl2msg|short|userid|The choker}}
{{hl2msg|short|victim|The person being choked}}
{{end-hl2msg}}
=== choke_end ===
{{qnotice|}}<br>
{{begin-hl2msg|choke_end|string}}
{{hl2msg|short|userid|The choker}}
{{hl2msg|short|victim|The person being choked}}
{{end-hl2msg}}
=== choke_stopped ===
{{qnotice|}}<br>
{{begin-hl2msg|choke_stopped|string}}
{{hl2msg|short|userid|Who stopped it}}
{{hl2msg|short|victim|And who was being choked}}
{{hl2msg|short|smoker|The tongue owner}}
{{hl2msg|short|release_type|How did it break?}}
{{end-hl2msg}}
=== tongue_pull_stopped ===
{{qnotice|Called when a smoker tongue is cleared on a dragging player. Includes cuts.}}<br>
{{begin-hl2msg|tongue_pull_stopped|string}}
{{hl2msg|short|userid|Who stopped it}}
{{hl2msg|short|victim|And who was being pulled}}
{{hl2msg|short|smoker|The tongue owner}}
{{hl2msg|short|release_type|How did it break?}}
{{end-hl2msg}}


=== lunge_shove ===
== tongue_broke_bent ==
{{qnotice|}}<br>
 
{{begin-hl2msg|lunge_shove|string}}
* <b>userid</b> <small>(short)</small> - Tongue owner
{{hl2msg|short|userid|player who did the lunging}}
 
{{hl2msg|short|victim|player that got lunged}}
== tongue_broke_victim_died ==
{{end-hl2msg}}
 
=== lunge_pounce ===
* <b>userid</b> <small>(short)</small> - Tongue owner
{{qnotice|}}<br>
 
{{begin-hl2msg|lunge_pounce|string}}
== tongue_release ==
{{hl2msg|short|userid|player who did the lunging}}
Fired in all cases where the tongue releases a victim, whether choked or not, etc.{{Note |
{{hl2msg|short|victim|player that got lunged}}
* Fires twice in all release cases, except <code>tongue_broke_bent</code> where it only fires once.
{{hl2msg|long|distance|Distance from pounce start to contact}}
* Second firation will return distance and victim parameters as 0.}}
{{end-hl2msg}}
 
=== pounce_end ===
* <b>userid</b> <small>(short)</small> - The tongue owner
{{qnotice|}}<br>
* <b>victim</b> <small>(short)</small> - The (now released) victim
{{begin-hl2msg|pounce_end|string}}
* <b>distance</b> <small>(long)</small> - Distance the victim was dragged.
{{hl2msg|short|userid|Who stopped it}}
 
{{hl2msg|short|victim|And who was being pounced}}
 
{{end-hl2msg}}
== choke_start ==
=== pounce_stopped ===
 
{{qnotice|}}<br>
* <b>userid</b> <small>(short)</small> - The choker
{{begin-hl2msg|pounce_stopped|string}}
* <b>victim</b> <small>(short)</small> - The person being choked
{{hl2msg|short|userid|Who stopped it}}
 
{{hl2msg|short|victim|And who was being pounced}}
== choke_end ==
{{end-hl2msg}}
 
=== fatal_vomit ===
* <b>userid</b> <small>(short)</small> - The choker
{{qnotice|}}<br>
* <b>victim</b> <small>(short)</small> - The person being choked
{{begin-hl2msg|fatal_vomit|string}}
 
{{hl2msg|short|userid|Who vomited}}
 
{{hl2msg|short|victim|And who was killed or incapped}}
== choke_stopped ==
{{end-hl2msg}}
Called when a smoker tongue is cleared on a choked player, fires alongside <code>choke_end</code> (<code>choke_stopped</code> fires first).{{Note |Does not fire when (<code>choke_end</code> still fires):
=== survivor_call_for_help ===
* The smoker is staggered with propane/oxygen tank, pipe bomb, explosive ammo, grenade launcher, boomer explosion, and charger impact.
{{qnotice|}}<br>
* Another special takes over the pinned survivor or kills the smoker.
{{begin-hl2msg|survivor_call_for_help|string}}
* The smoker is killed by gascan, firework box, molotov, and incendiary ammo.
{{hl2msg|short|userid|The actual player entity who is awaiting rescue.}}
* The smoker ledge-hanged the survivor.
{{hl2msg|long|subject|SurvivorRescue entity representing the player who needs to be rescued from the closet (used for position)}}
* Using Stagger() on either the smoker or the survivor.}}
{{end-hl2msg}}
{{eventnote|Issues|While the event does not fire while staggering the smoker with the methods above, it will fire when it is killed using only the grenade launcher and explosive ammo.}}
=== survivor_rescued ===
 
{{qnotice|}}<br>
* <b>userid</b> <small>(short)</small> - Who stopped it
{{begin-hl2msg|survivor_rescued|string}}
* <b>victim</b> <small>(short)</small> - And who was being choked
{{hl2msg|short|rescuer|player that did the rescuing}}
* <b>smoker</b> <small>(short)</small> - The tongue owner
{{hl2msg|short|victim|the survivor being rescued}}
* <b>release_type</b> <small>(short)</small> - How did it break?
{{end-hl2msg}}
 
=== survivor_rescue_abandoned ===
 
{{qnotice|}}<br>
== tongue_pull_stopped ==
{{begin-hl2msg|survivor_rescue_abandoned|string}}
Called when a smoker tongue is cleared on a dragging player. Includes cuts.{{Note |Does not fire when:
{{hl2msg|None|None|}}
* The smoker is staggered with propane/oxygen tank, pipe bomb, explosive ammo, grenade launcher, boomer explosion, and charger impact.
{{end-hl2msg}}
* Another special takes over the pinned survivor or kills the smoker.
=== relocated ===
* The smoker is killed by gascan, firework box, molotov, and incendiary ammo.
{{qnotice|}}<br>
* The smoker ledge-hanged the survivor.
{{begin-hl2msg|relocated|string}}
* Using Stagger() on either the smoker or the survivor.}}
{{hl2msg|short|userid|player who was relocated}}
{{eventnote|Issues|While the event does not fire while staggering the smoker with the methods above, it will fire when it is killed using only the grenade launcher and explosive ammo.}}
{{end-hl2msg}}
 
=== respawning ===
* <b>userid</b> <small>(short)</small> - Who stopped it
{{qnotice|}}<br>
* <b>victim</b> <small>(short)</small> - And who was being pulled
{{begin-hl2msg|respawning|string}}
* <b>smoker</b> <small>(short)</small> - The tongue owner
{{hl2msg|short|userid|player who started respawning}}
* <b>release_type</b> <small>(short)</small> - How did it break?
{{end-hl2msg}}
* <b>damage_type</b> <small>(long)</small> - bullet, slash, chainsaw
=== tank_frustrated ===
 
{{qnotice|}}<br>
 
{{begin-hl2msg|tank_frustrated|string}}
== lunge_shove ==
{{hl2msg|short|userid|player who was culled}}
 
{{end-hl2msg}}
* <b>userid</b> <small>(short)</small> - player who did the lunging
=== weapon_given ===
* <b>victim</b> <small>(short)</small> - player that got lunged
{{qnotice|}}<br>
 
{{begin-hl2msg|weapon_given|string}}
== lunge_pounce ==
{{hl2msg|short|userid|player who got the weapon}}
 
{{hl2msg|short|giver|player that did the giving}}
* <b>userid</b> <small>(short)</small> - player who did the lunging
{{hl2msg|short|weapon|weapon id given}}
* <b>victim</b> <small>(short)</small> - player that got lunged
{{hl2msg|short|weaponentid|weapon entity id}}
* <b>distance</b> <small>(long)</small> - Distance from pounce start to contact
{{end-hl2msg}}
* <b>damage</b> <small>(short)</small> -  
=== weapon_drop ===
 
{{qnotice|}}<br>
== pounce_end ==
 
* <b>userid</b> <small>(short)</small> - Player who did the pouncing
* <b>victim</b> <small>(short)</small> - And who was being pounced
 
== pounce_stopped ==
Fires whenever a player clearing a hunter dominating a survivor, fires alongside <code>pounce_end</code> (<code>pounce_stopped</code> is fired first).
{{Note |
* Will not fire if staggered by pipe bomb, propane/oxygen tank, explosive ammo, grenade_launcher, boomer explosion, charger impact, and Stagger(). (<code>pounce_end</code> will still fire)
* Fires if the hunter killed by any methods above, except boomer explosion and charger impact.
* A special that kills the hunter will return userid as the special's userid.
* Killing the hunter by shoving will fire this event before player_hurt. However, killing it by any other means will fire the event after player_hurt.
}}
{{eventnote|Issues|Shoving a hunter right after it pounces a survivor will not release the survivor, but the event will still fire.}}
* <b>userid</b> <small>(short)</small> - Who stopped it
* <b>victim</b> <small>(short)</small> - And who was being pounced
 
== pounce_attempt_stopped ==
 
* <b>userid</b> <small>(short)</small> - Who stopped it
* <b>weaponid</b> <small>(short)</small> - used weapon ID
 
== fatal_vomit ==
 
* <b>userid</b> <small>(short)</small> - Who vomited
* <b>victim</b> <small>(short)</small> - And who was killed or incapped
 
== survivor_call_for_help ==
 
* <b>userid</b> <small>(short)</small> - The actual player entity who is awaiting rescue.
* <b>subject</b> <small>(long)</small> - SurvivorRescue entity representing the player who needs to be rescued from the closet (used for position)
 
== survivor_rescued ==
 
* <b>rescuer</b> <small>(short)</small> - player that did the rescuing
* <b>victim</b> <small>(short)</small> - the survivor being rescued
* <b>dooridx</b> <small>(long)</small> - ent index of the rescue door
 
== survivor_rescue_abandoned ==
 
* <b>None</b> <small>(None)</small> -
 
== relocated ==
 
* <b>userid</b> <small>(short)</small> - player who was relocated
 
== respawning ==
 
* <b>userid</b> <small>(short)</small> - player who started respawning
 
== tank_frustrated ==
 
* <b>userid</b> <small>(short)</small> - player who was culled
 
== weapon_given ==
 
* <b>userid</b> <small>(short)</small> - player who got the weapon
* <b>giver</b> <small>(short)</small> - player that did the giving
* <b>weapon</b> <small>(short)</small> - weapon id given
* <b>weaponentid</b> <small>(short)</small> - weapon entity id
 
== weapon_drop ==
{{eventnote|Called|When an item is removed from a survivor's inventory}}
{{eventnote|Called|When an item is removed from a survivor's inventory}}
{{eventnote|Related Events|Called before heal_success, defibrillator_used, upgrade_pack_used, but called after pills_used and adrenaline_used}}
{{eventnote|Related Events|Called before heal_success, defibrillator_used, upgrade_pack_used, but called after pills_used and adrenaline_used}}
{{begin-hl2msg|weapon_drop|string}}
{{hl2msg|short|userid|player who dropped the weapon}}
{{hl2msg|string|item|either a weapon such as 'tmp' or 'hegrenade', or an item such as 'nvgs'}}
{{hl2msg|short|propid|entindex of the dropped weapon}}
{{end-hl2msg}}
=== break_breakable ===
{{qnotice|Override from gameevents.res}}<br>
{{begin-hl2msg|break_breakable|string}}
{{hl2msg|short|userid|userid of breaker}}
{{hl2msg|long|entindex|entindex of thing breaking}}
{{hl2msg|byte|material|BREAK_GLASS, BREAK_WOOD, etc}}
{{hl2msg|bool|hulkonly|SF_BREAK_HULK_ONLY}}
{{end-hl2msg}}
=== achievement_earned ===
{{qnotice|}}<br>
{{begin-hl2msg|achievement_earned|string}}
{{hl2msg|byte|player|entindex of the player}}
{{hl2msg|short|achievement|achievement ID}}
{{end-hl2msg}}
=== spec_target_updated ===
{{qnotice|}}<br>
{{begin-hl2msg|spec_target_updated|string}}
{{hl2msg|None|None|}}
{{end-hl2msg}}
=== spawner_give_item ===
{{qnotice|A spawner has given a player an item (weapon, pills, ammo, health kit, etc)}}<br>
{{begin-hl2msg|spawner_give_item|string}}
{{hl2msg|short|userid|Item recipient}}
{{hl2msg|string|item|Name of item given}}
{{hl2msg|long|spawner|entindex of the spawner entity}}
{{end-hl2msg}}
=== create_panic_event ===
{{qnotice|A panic event has been created, though not necessarily started}}<br>
{{begin-hl2msg|create_panic_event|string}}
{{hl2msg|short|userid|player who was started the panic}}
{{end-hl2msg}}
=== explain_pills ===
{{qnotice|}}<br>
{{begin-hl2msg|explain_pills|string}}
{{hl2msg|long|subject|The weapon_pain_pills spawner that will be indicated}}
{{end-hl2msg}}
=== explain_weapons ===
{{qnotice|}}<br>
{{begin-hl2msg|explain_weapons|string}}
{{hl2msg|long|subject|The weapon_pain_pills spawner that will be indicated}}
{{end-hl2msg}}
=== entity_visible ===
{{qnotice|}}<br>
{{begin-hl2msg|entity_visible|string}}
{{hl2msg|short|userid|The player who sees the entity}}
{{hl2msg|long|subject|Entindex of the entity they see}}
{{hl2msg|string|classname|Classname of the entity they see}}
{{hl2msg|string|entityname|name of the entity they see}}
{{end-hl2msg}}
=== weapon_spawn_visible ===
{{qnotice|}}<br>
{{begin-hl2msg|weapon_spawn_visible|string}}
{{hl2msg|short|userid|The player who sees the entity}}
{{hl2msg|long|subject|Entindex of the entity they see}}
{{hl2msg|string|weaponname|weapon name, or "melee"}}
{{hl2msg|string|subtype|melee weapon name}}
{{end-hl2msg}}
=== boomer_near ===
{{qnotice|}}<br>
{{begin-hl2msg|boomer_near|string}}
{{hl2msg|short|userid|The boomer}}
{{hl2msg|short|victim|The survivor whom the boomer has gotten very close to}}
{{end-hl2msg}}
=== explain_pre_radio ===
{{qnotice|explain the rescue radio will remind you to ready for the finale}}<br>
{{begin-hl2msg|explain_pre_radio|string}}
{{hl2msg|short|userid|}}
{{hl2msg|long|subject|}}
{{end-hl2msg}}
=== started_pre_radio ===
{{qnotice|explain the rescue radio will remind you to ready for the finale}}<br>
{{begin-hl2msg|started_pre_radio|string}}
{{hl2msg|short|userid|}}
{{hl2msg|long|subject|}}
{{end-hl2msg}}
=== explain_radio ===
{{qnotice|explain the rescue radio will start the finale}}<br>
{{begin-hl2msg|explain_radio|string}}
{{hl2msg|short|userid|}}
{{hl2msg|long|subject|}}
{{end-hl2msg}}
=== explain_gas_truck ===
{{qnotice|explain how pulling the lever on the gas truck will start the finale}}<br>
{{begin-hl2msg|explain_gas_truck|string}}
{{hl2msg|short|userid|}}
{{hl2msg|long|subject|The lever}}
{{end-hl2msg}}
=== explain_panic_button ===
{{qnotice|explain that pressing this button will start a panic event.}}<br>
{{begin-hl2msg|explain_panic_button|string}}
{{hl2msg|short|userid|}}
{{hl2msg|long|subject|The panic button}}
{{end-hl2msg}}
=== explain_elevator_button ===
{{qnotice|explain how to operate the hospital elevator button.}}<br>
{{begin-hl2msg|explain_elevator_button|string}}
{{hl2msg|short|userid|}}
{{hl2msg|long|subject|The button}}
{{end-hl2msg}}
=== explain_lift_button ===
{{qnotice|explain how to operate the lift button.}}<br>
{{begin-hl2msg|explain_lift_button|string}}
{{hl2msg|short|userid|}}
{{hl2msg|long|subject|The lift button}}
{{end-hl2msg}}
=== explain_church_door ===
{{qnotice|explain how to provoke the crazy church guy.}}<br>
{{begin-hl2msg|explain_church_door|string}}
{{hl2msg|short|userid|}}
{{hl2msg|long|subject|The saferoom door}}
{{end-hl2msg}}
=== explain_emergency_door ===
{{qnotice|explain how to open the emergency door.}}<br>
{{begin-hl2msg|explain_emergency_door|string}}
{{hl2msg|short|userid|}}
{{hl2msg|long|subject|The door}}
{{end-hl2msg}}
=== explain_crane ===
{{qnotice|explain how to lower the box on the crane.}}<br>
{{begin-hl2msg|explain_crane|string}}
{{hl2msg|short|userid|}}
{{hl2msg|long|subject|The lever/button}}
{{end-hl2msg}}
=== explain_bridge ===
{{qnotice|explain how to close the gates to make a bridge.}}<br>
{{begin-hl2msg|explain_bridge|string}}
{{hl2msg|short|userid|}}
{{hl2msg|long|subject|The button}}
{{end-hl2msg}}
=== explain_gas_can_panic ===
{{qnotice|explain how to shoot the gas can.}}<br>
{{begin-hl2msg|explain_gas_can_panic|string}}
{{hl2msg|short|userid|}}
{{hl2msg|long|subject|The gas can}}
{{end-hl2msg}}
=== explain_van_panic ===
{{qnotice|explain how to start the van.}}<br>
{{begin-hl2msg|explain_van_panic|string}}
{{hl2msg|short|userid|}}
{{hl2msg|long|subject|The van}}
{{end-hl2msg}}
=== explain_mainstreet ===
{{qnotice|explain how to lower the forklift}}<br>
{{begin-hl2msg|explain_mainstreet|string}}
{{hl2msg|short|userid|}}
{{hl2msg|long|subject|The forklift}}
{{end-hl2msg}}
=== explain_train_lever ===
{{qnotice|explain how to operate the train lever.}}<br>
{{begin-hl2msg|explain_train_lever|string}}
{{hl2msg|short|userid|}}
{{hl2msg|long|subject|The lever on box car}}
{{end-hl2msg}}
=== explain_disturbance ===
{{qnotice|explain that disturbances (car alarm) attract infected horde}}<br>
{{begin-hl2msg|explain_disturbance|string}}
{{hl2msg|short|userid|}}
{{hl2msg|long|subject|The source of disturbance}}
{{end-hl2msg}}
=== explain_scavenge_goal ===
{{qnotice|explain where to put the scavenge mode items}}<br>
{{begin-hl2msg|explain_scavenge_goal|string}}
{{hl2msg|short|userid|}}
{{hl2msg|long|subject|The collection device}}
{{end-hl2msg}}
=== explain_scavenge_leave_area ===
{{qnotice|explain that leaving the area, starts round}}<br>
{{begin-hl2msg|explain_scavenge_leave_area|string}}
{{hl2msg|short|userid|}}
{{hl2msg|long|subject|The entity}}
{{end-hl2msg}}
=== begin_scavenge_overtime ===
{{qnotice|enter overtime in a scavenge round}}<br>
{{begin-hl2msg|begin_scavenge_overtime|string}}
{{end-hl2msg}}
=== scavenge_round_start ===
{{qnotice|a scavenge round has begun}}<br>
{{begin-hl2msg|scavenge_round_start|string}}
{{hl2msg|byte|round|round number, 1 based}}
{{hl2msg|bool|firsthalf|start of the first half of the round}}
{{end-hl2msg}}


=== scavenge_round_halftime ===
* <b>userid</b> <small>(short)</small> - player who dropped the weapon
{{qnotice|a scavenge round is in halftime}}<br>
* <b>item</b> <small>(string)</small> - either a weapon such as 'tmp' or 'hegrenade', or an item such as 'nvgs'
{{begin-hl2msg|scavenge_round_halftime|string}}
* <b>propid</b> <small>(short)</small> - entindex of the dropped weapon
{{end-hl2msg}}
 
=== scavenge_round_finished ===
== weapon_drop_to_prop ==
{{qnotice|a scavenge round has ended}}<br>
When a player drops an item that turns into a prop, such as gas can, firework box, propane tank, oxygen tank, cola bottles, gnome, etc.
{{begin-hl2msg|scavenge_round_finished|string}}
* <b>userid</b> <small>(short)</small> - player who dropped the weapon
{{end-hl2msg}}
* <b>item</b> <small>(string)</small> - weapon string "weapon_*"
=== scavenge_score_tied ===
* <b>propid</b> <small>(short)</small> - entindex of the dropped weapon
{{qnotice|a team just tied the score}}<br>
 
{{begin-hl2msg|scavenge_score_tied|string}}
== break_breakable ==
{{end-hl2msg}}
Override from gameevents.res
=== versus_round_start ===
* <b>userid</b> <small>(short)</small> - userid of breaker
{{qnotice|a versus round has begun}}<br>
* <b>entindex</b> <small>(long)</small> - entindex of thing breaking
{{begin-hl2msg|versus_round_start|string}}
* <b>material</b> <small>(byte)</small> - BREAK_GLASS, BREAK_WOOD, etc
{{end-hl2msg}}
* <b>hulkonly</b> <small>(bool)</small> - SF_BREAK_HULK_ONLY
=== gascan_pour_blocked ===
* <b>achievement</b> <small>(short)</small> - tag to identify achievement on the client
{{qnotice|can't pour the gas, someone else already is}}<br>
 
{{begin-hl2msg|gascan_pour_blocked|string}}
== achievement_earned ==
{{hl2msg|short|userid|}}
 
{{end-hl2msg}}
* <b>player</b> <small>(byte)</small> - entindex of the player
=== gascan_pour_completed ===
* <b>achievement</b> <small>(short)</small> - achievement ID
{{qnotice|player finished pouring a can}}<br>
 
{{begin-hl2msg|gascan_pour_completed|string}}
== spec_target_updated ==
{{hl2msg|short|userid|}}
 
{{end-hl2msg}}
* <b>None</b> <small>(None)</small> -
=== gascan_dropped ===
 
{{qnotice|}}<br>
== spawner_give_item ==
{{begin-hl2msg|gascan_dropped|string}}
A spawner has given a player an item (weapon, pills, ammo, health kit, etc)
{{hl2msg|short|userid|}}
* <b>userid</b> <small>(short)</small> - Item recipient
{{end-hl2msg}}
* <b>item</b> <small>(string)</small> - Name of item given
=== gascan_pour_interrupted ===
* <b>spawner</b> <small>(long)</small> - entindex of the spawner entity
{{qnotice|we got interuppted pouring the gas can}}<br>
 
{{begin-hl2msg|gascan_pour_interrupted|string}}
== create_panic_event ==
{{hl2msg|short|userid|person who interuppted us}}
A panic event has been created, though not necessarily started
{{end-hl2msg}}
* <b>userid</b> <small>(short)</small> - player who was started the panic
=== scavenge_match_finished ===
 
{{qnotice|}}<br>
== explain_pills ==
{{begin-hl2msg|scavenge_match_finished|string}}
 
{{hl2msg|byte|winners|winner team}}
* <b>subject</b> <small>(long)</small> - The weapon_pain_pills spawner that will be indicated
{{end-hl2msg}}
 
=== versus_match_finished ===
== explain_weapons ==
{{qnotice|}}<br>
 
{{begin-hl2msg|versus_match_finished|string}}
* <b>subject</b> <small>(long)</small> - The weapon_pain_pills spawner that will be indicated
{{hl2msg|byte|winners|winner team}}
 
{{end-hl2msg}}
== entity_visible ==
=== use_target ===
 
{{qnotice|a new use target has been found}}<br>
* <b>userid</b> <small>(short)</small> - The player who sees the entity
{{begin-hl2msg|use_target|string}}
* <b>subject</b> <small>(long)</small> - Entindex of the entity they see
{{hl2msg|long|targetid|Entindex of the use target}}
* <b>classname</b> <small>(string)</small> - Classname of the entity they see
{{hl2msg|string|classname|classname of the use target}}
* <b>entityname</b> <small>(string)</small> - name of the entity they see
{{hl2msg|bool|isprop|is this a prop that can be carried}}
 
{{end-hl2msg}}
== weapon_spawn_visible ==
=== player_use ===
 
{{qnotice|a new use target has been found}}<br>
* <b>userid</b> <small>(short)</small> - The player who sees the entity
* <b>subject</b> <small>(long)</small> - Entindex of the entity they see
* <b>weaponname</b> <small>(string)</small> - weapon name, or "melee"
* <b>subtype</b> <small>(string)</small> - melee weapon name
 
== boomer_near ==
 
* <b>userid</b> <small>(short)</small> - The boomer
* <b>victim</b> <small>(short)</small> - The survivor whom the boomer has gotten very close to
 
== explain_pre_radio ==
explain the rescue radio will remind you to ready for the finale
* <b>userid</b> <small>(short)</small> -
* <b>subject</b> <small>(long)</small> -  
 
== started_pre_radio ==
explain the rescue radio will remind you to ready for the finale
* <b>userid</b> <small>(short)</small> -
* <b>subject</b> <small>(long)</small> -
 
== explain_radio ==
explain the rescue radio will start the finale
* <b>userid</b> <small>(short)</small> -
* <b>subject</b> <small>(long)</small> -  
 
== explain_gas_truck ==
explain how pulling the lever on the gas truck will start the finale
* <b>userid</b> <small>(short)</small> -
* <b>subject</b> <small>(long)</small> - The lever
 
== explain_panic_button ==
explain that pressing this button will start a panic event.
* <b>userid</b> <small>(short)</small> -
* <b>subject</b> <small>(long)</small> - The panic button
 
== explain_elevator_button ==
explain how to operate the hospital elevator button.
* <b>userid</b> <small>(short)</small> -
* <b>subject</b> <small>(long)</small> - The button
 
== explain_lift_button ==
explain how to operate the lift button.
* <b>userid</b> <small>(short)</small> -
* <b>subject</b> <small>(long)</small> - The lift button
 
== explain_church_door ==
explain how to provoke the crazy church guy.
* <b>userid</b> <small>(short)</small> -
* <b>subject</b> <small>(long)</small> - The saferoom door
 
== explain_emergency_door ==
explain how to open the emergency door.
* <b>userid</b> <small>(short)</small> -
* <b>subject</b> <small>(long)</small> - The door
 
== explain_crane ==
explain how to lower the box on the crane.
* <b>userid</b> <small>(short)</small> -
* <b>subject</b> <small>(long)</small> - The lever/button
 
== explain_bridge ==
explain how to close the gates to make a bridge.
* <b>userid</b> <small>(short)</small> -
* <b>subject</b> <small>(long)</small> - The button
 
== explain_gas_can_panic ==
explain how to shoot the gas can.
* <b>userid</b> <small>(short)</small> -
* <b>subject</b> <small>(long)</small> - The gas can
 
== explain_van_panic ==
explain how to start the van.
* <b>userid</b> <small>(short)</small> -
* <b>subject</b> <small>(long)</small> - The van
 
== explain_mainstreet ==
explain how to lower the forklift
* <b>userid</b> <small>(short)</small> -
* <b>subject</b> <small>(long)</small> - The forklift
 
== explain_train_lever ==
explain how to operate the train lever.
* <b>userid</b> <small>(short)</small> -
* <b>subject</b> <small>(long)</small> - The lever on box car
 
== explain_disturbance ==
explain that disturbances (car alarm) attract infected horde
* <b>userid</b> <small>(short)</small> -
* <b>subject</b> <small>(long)</small> - The source of disturbance
 
== explain_scavenge_goal ==
explain where to put the scavenge mode items
* <b>userid</b> <small>(short)</small> -
* <b>subject</b> <small>(long)</small> - The collection device
 
== explain_scavenge_leave_area ==
explain that leaving the area, starts round
* <b>userid</b> <small>(short)</small> -
* <b>subject</b> <small>(long)</small> - The entity
 
== begin_scavenge_overtime ==
enter overtime in a scavenge round
 
== scavenge_round_start ==
a scavenge round has begun
* <b>round</b> <small>(byte)</small> - round number, 1 based
* <b>firsthalf</b> <small>(bool)</small> - start of the first half of the round
 
 
== scavenge_round_halftime ==
a scavenge round is in halftime
 
== scavenge_round_finished ==
a scavenge round has ended
 
== scavenge_score_tied ==
a team just tied the score
 
== versus_round_start ==
a versus round has begun
 
== gascan_pour_blocked ==
can't pour the gas, someone else already is
* <b>userid</b> <small>(short)</small> -
 
== gascan_pour_completed ==
player finished pouring a can
* <b>userid</b> <small>(short)</small> -  
 
== gascan_dropped ==
 
* <b>userid</b> <small>(short)</small> -
 
== gascan_pour_interrupted ==
we got interuppted pouring the gas can
* <b>userid</b> <small>(short)</small> - person who interuppted us
 
== scavenge_match_finished ==
 
* <b>winners</b> <small>(byte)</small> - winner team
 
== versus_match_finished ==
 
* <b>winners</b> <small>(byte)</small> - winner team
 
== use_target ==
a new use target has been found
* <b>targetid</b> <small>(long)</small> - Entindex of the use target
* <b>classname</b> <small>(string)</small> - classname of the use target
* <b>isprop</b> <small>(bool)</small> - is this a prop that can be carried
 
== player_use ==
{{eventnote|Called|When a Survivor presses +USE on a useable entity. i.e. Weapons, items, doors}}
{{eventnote|Called|When a Survivor presses +USE on a useable entity. i.e. Weapons, items, doors}}
{{eventnote|Related Events|If targetid is an item, item_pickup will be called prior to player_use}}
{{eventnote|Related Events|If targetid is an item, item_pickup will be called prior to player_use}}
{{begin-hl2msg|player_use|string}}
{{Note | It will not fire when using a mounted gun.}}  
{{hl2msg|short|userid|userid of user}}
 
{{hl2msg|long|targetid|Entindex of the used entity}}
* <b>userid</b> <small>(short)</small> - userid of user
{{end-hl2msg}}
* <b>targetid</b> <small>(long)</small> - Entindex of the used entity
=== friendly_fire ===
 
{{qnotice|}}<br>
== friendly_fire ==
{{begin-hl2msg|friendly_fire|string}}
 
{{hl2msg|short|attacker|player who fired the weapon}}
* <b>attacker</b> <small>(short)</small> - player who fired the weapon
{{hl2msg|short|victim|player who got shot}}
* <b>victim</b> <small>(short)</small> - player who got shot
{{hl2msg|short|guilty|player who was at fault}}
* <b>guilty</b> <small>(short)</small> - player who was at fault
{{hl2msg|long|type|damage type}}
* <b>type</b> <small>(long)</small> - damage type
{{end-hl2msg}}
 
=== gameinstructor_draw ===
== gameinstructor_draw ==
{{qnotice|}}<br>
 
{{begin-hl2msg|gameinstructor_draw|string}}
* <b>None</b> <small>(None)</small> -
{{hl2msg|None|None|}}
 
{{end-hl2msg}}
== gameinstructor_nodraw ==
=== gameinstructor_nodraw ===
 
{{qnotice|}}<br>
* <b>None</b> <small>(None)</small> -
{{begin-hl2msg|gameinstructor_nodraw|string}}
 
{{hl2msg|None|None|}}
== request_weapon_stats ==
{{end-hl2msg}}
 
=== request_weapon_stats ===
* <b>userid</b> <small>(short)</small> - userid of user requesting their stats
{{qnotice|}}<br>
 
{{begin-hl2msg|request_weapon_stats|string}}
== player_talking_state ==
{{hl2msg|short|userid|userid of user requesting their stats}}
 
{{end-hl2msg}}
* <b>player</b> <small>(byte)</small> -  
=== player_talking_state ===
* <b>istalking</b> <small>(bool)</small> -
{{qnotice|}}<br>
 
{{begin-hl2msg|player_talking_state|string}}
== weapon_pickup ==
{{hl2msg|byte|player|}}
client event for player has picked up a weapon. If that does not work, try using the "item_pickup" event.
{{hl2msg|bool|istalking|}}
* <b>context</b> <small>(byte)</small> - split screen message context
{{end-hl2msg}}
* <b>weaponid</b> <small>(byte)</small> -
=== weapon_pickup ===
* <b>weaponslot</b> <small>(byte)</small> -
{{qnotice|client event for player has picked up a weapon. If that does not work, try using the "item_pickup" event.}}<br>
* <b>dropped_by_infected</b> <small>(byte)</small> - gender of the Infected that dropped the weapon
{{begin-hl2msg|weapon_pickup|string}}
 
{{hl2msg|byte|context|split screen message context}}
 
{{hl2msg|byte|weaponid|}}
== hunter_punched ==
{{hl2msg|byte|weaponslot|}}
 
{{hl2msg|byte|dropped_by_infected|gender of the Infected that dropped the weapon}}
* <b>userid</b> <small>(short)</small> - player who caused ignition
{{end-hl2msg}}
* <b>hunteruserid</b> <small>(long)</small> - user ID of Hunter
* <b>islunging</b> <small>(bool)</small> - TRUE if the Hunter was in the act of lunging
 
== hunter_headshot ==
 
* <b>userid</b> <small>(short)</small> - player who made the headshot
* <b>hunteruserid</b> <small>(long)</small> - user ID of Hunter
* <b>islunging</b> <small>(bool)</small> - TRUE if the Hunter was in the act of lunging
 
== zombie_ignited ==
 
* <b>userid</b> <small>(short)</small> - player who caused ignition
* <b>gender</b> <small>(short)</small> - gender (type) of the infected
* <b>entityid</b> <small>(long)</small> - entity ID of Tank
* <b>victimname</b> <small>(string)</small> - "Witch", "Tank", "Hunter", "Smoker", or "Infected"
* <b>fire_ammo</b> <small>(bool)</small> - true if incendiary ammo was used
 
== boomer_exploded ==
{{eventnote|Related Events|Fires after <code>player_death</code>}}
* <b>userid</b> <small>(short)</small> - Boomer that exploded
* <b>attacker</b> <small>(short)</small> - player who caused the explosion
* <b>splashedbile</b> <small>(bool)</small> - Exploding boomer splashed bile on Survivors
 
== non_pistol_fired ==
 
* <b>userid</b> <small>(short)</small> - User that fired a non-pistol weapon
 
== weapon_fire_at_40 ==
This is networked, special event for game instructor
* <b>userid</b> <small>(short)</small> -
* <b>weapon</b> <small>(string)</small> - used weapon name
* <b>weaponid</b> <small>(short)</small> - used weapon ID
* <b>count</b> <small>(short)</small> - number of bullets
 
 
== total_ammo_below_40 ==
sent for any ammo type, except those with max ammo 1, or infinite ammo, like pistols
* <b>userid</b> <small>(short)</small> -
 
== player_hurt_concise ==
Abbreviated version of 'player_hurt' that is networked
* <b>userid</b> <small>(short)</small> - user ID who was hurt
* <b>attackerentid</b> <small>(long)</small> - entity id who attacked, if attacker not a player, and userid therefore invalid
* <b>type</b> <small>(long)</small> - damage type
* <b>dmg_health</b> <small>(short)</small> - damage done to health
 
 
== tank_killed ==
 
{{eventnote|Issues|It will not fire if the tank is not a bot.}}
 
* <b>userid</b> <small>(short)</small> - user ID of dead tank
* <b>attacker</b> <small>(short)</small> - user id of killer
* <b>solo</b> <small>(bool)</small> - TRUE if a player single-handedly killed the Tank
* <b>melee_only</b> <small>(bool)</small> - TRUE if the tank was only killed by melee attacks (no blast, burn, or bullet damage)
* <b>l4d1_only</b> <small>(bool)</small> - TRUE if l4d1 survivors inflicted damage and the l4d2 survivors did not)
 
== tank_rock_killed ==
 
* <b>userid</b> <small>(short)</small> - user id of killer
 


=== hunter_punched ===
== achievement_write_failed ==
{{qnotice|}}<br>
Used for a notification message when an achievement fails to write
{{begin-hl2msg|hunter_punched|string}}
* <b>None</b> <small>(None)</small> -  
{{hl2msg|short|userid|player who caused ignition}}
{{hl2msg|long|hunteruserid|user ID of Hunter}}
{{hl2msg|bool|islunging|TRUE if the Hunter was in the act of lunging}}
{{end-hl2msg}}
=== hunter_headshot ===
{{qnotice|}}<br>
{{begin-hl2msg|hunter_headshot|string}}
{{hl2msg|short|userid|player who made the headshot}}
{{hl2msg|long|hunteruserid|user ID of Hunter}}
{{hl2msg|bool|islunging|TRUE if the Hunter was in the act of lunging}}
{{end-hl2msg}}
=== zombie_ignited ===
{{qnotice|}}<br>
{{begin-hl2msg|zombie_ignited|string}}
{{hl2msg|short|userid|player who caused ignition}}
{{hl2msg|short|gender|gender (type) of the infected}}
{{hl2msg|long|entityid|entity ID of Tank}}
{{hl2msg|string|victimname|"Witch", "Tank", "Hunter", "Smoker", or "Infected"}}
{{hl2msg|bool|fire_ammo|true if incendiary ammo was used}}
{{end-hl2msg}}
=== boomer_exploded ===
{{qnotice|}}<br>
{{begin-hl2msg|boomer_exploded|string}}
{{hl2msg|short|userid|Boomer that exploded}}
{{hl2msg|short|attacker|player who caused the explosion}}
{{hl2msg|bool|splashedbile|Exploding boomer splashed bile on Survivors}}
{{end-hl2msg}}
=== non_pistol_fired ===
{{qnotice|}}<br>
{{begin-hl2msg|non_pistol_fired|string}}
{{hl2msg|short|userid|User that fired a non-pistol weapon}}
{{end-hl2msg}}
=== weapon_fire_at_40 ===
{{qnotice|This is networked, special event for game instructor}}<br>
{{begin-hl2msg|weapon_fire_at_40|string}}
{{hl2msg|short|userid|}}
{{hl2msg|string|weapon|used weapon name}}
{{hl2msg|short|weaponid|used weapon ID}}
{{hl2msg|short|count|number of bullets}}
{{end-hl2msg}}


=== total_ammo_below_40 ===
{{qnotice|sent for any ammo type, except those with max ammo 1, or infinite ammo, like pistols}}<br>
{{begin-hl2msg|total_ammo_below_40|string}}
{{hl2msg|short|userid|}}
{{end-hl2msg}}
=== player_hurt_concise ===
{{qnotice|Abbreviated version of 'player_hurt' that is networked}}<br>
{{begin-hl2msg|player_hurt_concise|string}}
{{hl2msg|short|userid|user ID who was hurt}}
{{hl2msg|long|attackerentid|entity id who attacked, if attacker not a player, and userid therefore invalid}}
{{hl2msg|long|type|damage type}}
{{hl2msg|short|dmg_health|damage done to health}}
{{end-hl2msg}}


=== tank_killed ===
== ghost_spawn_time ==
{{qnotice|}}<br>
Used for clients to know how long until they become a ghost (and can spawn)
{{begin-hl2msg|tank_killed|string}}
* <b>userid</b> <small>(short)</small> - user ID of the player that is becoming a ghost
{{hl2msg|short|userid|user ID of dead tank}}
* <b>spawntime</b> <small>(short)</small> - How long of a wait until player is a ghost
{{hl2msg|short|attacker|user id of killer}}
{{hl2msg|bool|solo|TRUE if a player single-handedly killed the Tank}}
{{hl2msg|bool|melee_only|TRUE if the tank was only killed by melee attacks (no blast, burn, or bullet damage)}}
{{hl2msg|bool|l4d1_only|TRUE if l4d1 survivors inflicted damage and the l4d2 survivors did not)}}
{{end-hl2msg}}


=== achievement_write_failed ===
{{qnotice|Used for a notification message when an achievement fails to write}}<br>
{{begin-hl2msg|achievement_write_failed|string}}
{{hl2msg|None|None|}}
{{end-hl2msg}}


=== ghost_spawn_time ===
== survival_at_30min ==
{{qnotice|Used for clients to know how long until they become a ghost (and can spawn)}}<br>
Used to know when we elapse 30 minutes on a survival map
{{begin-hl2msg|ghost_spawn_time|string}}
{{hl2msg|short|userid|user ID of the player that is becoming a ghost}}
{{hl2msg|short|spawntime|How long of a wait until player is a ghost}}
{{end-hl2msg}}


=== survival_at_30min ===
== survival_at_10min ==
{{qnotice|Used to know when we elapse 30 minutes on a survival map}}<br>
Used to know when we elapse 10 minutes on a survival map
{{begin-hl2msg|survival_at_30min|string}}
{{end-hl2msg}}
=== explain_pre_drawbridge ===
{{qnotice|Point out the button that will start the gauntlet finale.}}<br>
{{begin-hl2msg|explain_pre_drawbridge|string}}
{{hl2msg|short|userid|}}
{{hl2msg|long|subject|}}
{{end-hl2msg}}
=== explain_drawbridge ===
{{qnotice|}}<br>
{{begin-hl2msg|explain_drawbridge|string}}
{{hl2msg|short|userid|}}
{{hl2msg|long|subject|}}
{{end-hl2msg}}
=== explain_perimeter ===
{{qnotice|}}<br>
{{begin-hl2msg|explain_perimeter|string}}
{{hl2msg|short|userid|}}
{{hl2msg|long|subject|}}
{{end-hl2msg}}
=== explain_deactivate_alarm ===
{{qnotice|}}<br>
{{begin-hl2msg|explain_deactivate_alarm|string}}
{{hl2msg|short|userid|}}
{{hl2msg|long|subject|}}
{{end-hl2msg}}
=== explain_impound_lot ===
{{qnotice|}}<br>
{{begin-hl2msg|explain_impound_lot|string}}
{{hl2msg|short|userid|}}
{{hl2msg|long|subject|}}
{{end-hl2msg}}
=== explain_decon ===
{{qnotice|}}<br>
{{begin-hl2msg|explain_decon|string}}
{{hl2msg|short|userid|}}
{{hl2msg|long|subject|}}
{{end-hl2msg}}
=== explain_mall_window ===
{{qnotice|}}<br>
{{begin-hl2msg|explain_mall_window|string}}
{{hl2msg|short|userid|}}
{{hl2msg|long|subject|}}
{{end-hl2msg}}
=== explain_mall_alarm ===
{{qnotice|}}<br>
{{begin-hl2msg|explain_mall_alarm|string}}
{{hl2msg|short|userid|}}
{{hl2msg|long|subject|}}
{{end-hl2msg}}
=== explain_coaster ===
{{qnotice|}}<br>
{{begin-hl2msg|explain_coaster|string}}
{{hl2msg|short|userid|}}
{{hl2msg|long|subject|}}
{{end-hl2msg}}
=== explain_coaster_stop ===
{{qnotice|}}<br>
{{begin-hl2msg|explain_coaster_stop|string}}
{{hl2msg|short|userid|}}
{{hl2msg|long|subject|}}
{{end-hl2msg}}
=== explain_decon_wait ===
{{qnotice|}}<br>
{{begin-hl2msg|explain_decon_wait|string}}
{{hl2msg|short|userid|}}
{{hl2msg|long|subject|}}
{{end-hl2msg}}
=== gauntlet_finale_start ===
{{qnotice|}}<br>
{{begin-hl2msg|gauntlet_finale_start|string}}
{{end-hl2msg}}
=== explain_float ===
{{qnotice|}}<br>
{{begin-hl2msg|explain_float|string}}
{{hl2msg|short|userid|}}
{{hl2msg|long|subject|}}
{{end-hl2msg}}
=== explain_ferry_button ===
{{qnotice|}}<br>
{{begin-hl2msg|explain_ferry_button|string}}
{{hl2msg|short|userid|}}
{{hl2msg|long|subject|}}
{{end-hl2msg}}
=== explain_hatch_button ===
{{qnotice|}}<br>
{{begin-hl2msg|explain_hatch_button|string}}
{{hl2msg|short|userid|}}
{{hl2msg|long|subject|}}
{{end-hl2msg}}
=== explain_shack_button ===
{{qnotice|}}<br>
{{begin-hl2msg|explain_shack_button|string}}
{{hl2msg|short|userid|}}
{{hl2msg|long|subject|}}
{{end-hl2msg}}
=== upgrade_incendiary_ammo ===
{{qnotice|}}<br>
{{begin-hl2msg|upgrade_incendiary_ammo|string}}
{{hl2msg|short|userid|}}
{{end-hl2msg}}
=== upgrade_explosive_ammo ===
{{qnotice|}}<br>
{{begin-hl2msg|upgrade_explosive_ammo|string}}
{{hl2msg|short|userid|}}
{{end-hl2msg}}
=== receive_upgrade ===
{{qnotice|}}<br>
{{begin-hl2msg|receive_upgrade|string}}
{{hl2msg|short|userid|}}
{{hl2msg|string|upgrade|}}
{{end-hl2msg}}
=== explain_vehicle_arrival ===
{{qnotice|}}<br>
{{begin-hl2msg|explain_vehicle_arrival|string}}
{{hl2msg|long|subject|}}
{{end-hl2msg}}
=== mounted_gun_start ===
{{qnotice|}}<br>
{{begin-hl2msg|mounted_gun_start|string}}
{{hl2msg|short|userid|}}
{{hl2msg|long|subject|}}
{{end-hl2msg}}
=== mounted_gun_overheated ===
{{qnotice|}}<br>
{{begin-hl2msg|mounted_gun_overheated|string}}
{{hl2msg|short|userid|}}
{{end-hl2msg}}
=== explain_burger_sign ===
{{qnotice|}}<br>
{{begin-hl2msg|explain_burger_sign|string}}
{{hl2msg|short|userid|}}
{{hl2msg|long|subject|}}
{{end-hl2msg}}
=== explain_carousel_button ===
{{qnotice|}}<br>
{{begin-hl2msg|explain_carousel_button|string}}
{{hl2msg|short|userid|}}
{{hl2msg|long|subject|}}
{{end-hl2msg}}
=== explain_carousel_destination ===
{{qnotice|}}<br>
{{begin-hl2msg|explain_carousel_destination|string}}
{{hl2msg|short|userid|}}
{{hl2msg|long|subject|}}
{{end-hl2msg}}
=== explain_stage_lighting ===
{{qnotice|}}<br>
{{begin-hl2msg|explain_stage_lighting|string}}
{{hl2msg|short|userid|}}
{{hl2msg|long|subject|}}
{{end-hl2msg}}
=== explain_stage_finale_start ===
{{qnotice|}}<br>
{{begin-hl2msg|explain_stage_finale_start|string}}
{{hl2msg|short|userid|}}
{{hl2msg|long|subject|}}
{{end-hl2msg}}
=== explain_stage_survival_start ===
{{qnotice|}}<br>
{{begin-hl2msg|explain_stage_survival_start|string}}
{{hl2msg|short|userid|}}
{{hl2msg|long|subject|}}
{{end-hl2msg}}
=== ability_out_of_range ===
{{qnotice|}}<br>
{{begin-hl2msg|ability_out_of_range|string}}
{{hl2msg|short|userid|}}
{{hl2msg|string|ability|ability classname}}
{{end-hl2msg}}
=== explain_stage_pyrotechnics ===
{{qnotice|}}<br>
{{begin-hl2msg|explain_stage_pyrotechnics|string}}
{{hl2msg|short|userid|}}
{{hl2msg|long|subject|}}
{{end-hl2msg}}
=== explain_c3m4_radio1 ===
{{qnotice|}}<br>
{{begin-hl2msg|explain_c3m4_radio1|string}}
{{hl2msg|short|userid|}}
{{hl2msg|long|subject|}}
{{end-hl2msg}}
=== explain_c3m4_radio2 ===
{{qnotice|}}<br>
{{begin-hl2msg|explain_c3m4_radio2|string}}
{{hl2msg|short|userid|}}
{{hl2msg|long|subject|}}
{{end-hl2msg}}
=== explain_gates_are_open ===
{{qnotice|}}<br>
{{begin-hl2msg|explain_gates_are_open|string}}
{{hl2msg|short|userid|}}
{{hl2msg|long|subject|}}
{{end-hl2msg}}
=== explain_c2m4_ticketbooth ===
{{qnotice|}}<br>
{{begin-hl2msg|explain_c2m4_ticketbooth|string}}
{{hl2msg|short|userid|}}
{{hl2msg|long|subject|}}
{{end-hl2msg}}
=== explain_c3m4_rescue ===
{{qnotice|}}<br>
{{begin-hl2msg|explain_c3m4_rescue|string}}
{{hl2msg|short|userid|}}
{{hl2msg|long|subject|}}
{{end-hl2msg}}
=== explain_hotel_elevator_doors ===
{{qnotice|}}<br>
{{begin-hl2msg|explain_hotel_elevator_doors|string}}
{{hl2msg|short|userid|}}
{{hl2msg|long|subject|}}
{{end-hl2msg}}
=== explain_gun_shop_tanker ===
{{qnotice|}}<br>
{{begin-hl2msg|explain_gun_shop_tanker|string}}
{{hl2msg|short|userid|}}
{{hl2msg|long|subject|}}
{{end-hl2msg}}
=== explain_gun_shop ===
{{qnotice|}}<br>
{{begin-hl2msg|explain_gun_shop|string}}
{{hl2msg|short|userid|}}
{{hl2msg|long|subject|}}
{{end-hl2msg}}
=== explain_store_alarm ===
{{qnotice|}}<br>
{{begin-hl2msg|explain_store_alarm|string}}
{{hl2msg|short|userid|}}
{{hl2msg|long|subject|}}
{{end-hl2msg}}
=== explain_store_item ===
{{qnotice|}}<br>
{{begin-hl2msg|explain_store_item|string}}
{{hl2msg|short|userid|}}
{{hl2msg|long|subject|}}
{{end-hl2msg}}
=== explain_store_item_stop ===
{{qnotice|}}<br>
{{begin-hl2msg|explain_store_item_stop|string}}
{{hl2msg|short|userid|}}
{{hl2msg|long|subject|}}
{{end-hl2msg}}
=== explain_survival_generic ===
{{qnotice|}}<br>
{{begin-hl2msg|explain_survival_generic|string}}
{{hl2msg|short|userid|}}
{{hl2msg|long|subject|}}
{{end-hl2msg}}
=== explain_survival_alarm ===
{{qnotice|}}<br>
{{begin-hl2msg|explain_survival_alarm|string}}
{{hl2msg|short|userid|}}
{{hl2msg|long|subject|}}
{{end-hl2msg}}
=== explain_survival_radio ===
{{qnotice|}}<br>
{{begin-hl2msg|explain_survival_radio|string}}
{{hl2msg|short|userid|}}
{{hl2msg|long|subject|}}
{{end-hl2msg}}
=== explain_survival_carousel ===
{{qnotice|}}<br>
{{begin-hl2msg|explain_survival_carousel|string}}
{{hl2msg|short|userid|}}
{{hl2msg|long|subject|}}
{{end-hl2msg}}
=== explain_return_item ===
{{qnotice|}}<br>
{{begin-hl2msg|explain_return_item|string}}
{{hl2msg|short|userid|}}
{{hl2msg|long|subject|}}
{{end-hl2msg}}
=== explain_save_items ===
{{qnotice|}}<br>
{{begin-hl2msg|explain_save_items|string}}
{{hl2msg|short|userid|}}
{{hl2msg|long|subject|}}
{{end-hl2msg}}
=== spit_burst ===
{{qnotice|Triggers even after Spitter's death.}}<br>
{{eventnote|Called|Triggers when Spitter's spit hits the ground.}}
{{begin-hl2msg|spit_burst|string}}
{{hl2msg|short|userid|}}
{{hl2msg|long|subject|}}
{{end-hl2msg}}


=== entered_spit ===
== explain_pre_drawbridge ==
{{qnotice|}}<br>
Point out the button that will start the gauntlet finale.
{{begin-hl2msg|entered_spit|string}}
* <b>userid</b> <small>(short)</small> -
{{hl2msg|short|userid|}}
* <b>subject</b> <small>(long)</small> -
{{hl2msg|long|subject|}}
 
{{end-hl2msg}}
== explain_drawbridge ==
=== temp_c4m1_getgas ===
 
{{qnotice|}}<br>
* <b>userid</b> <small>(short)</small> -
{{begin-hl2msg|temp_c4m1_getgas|string}}
* <b>subject</b> <small>(long)</small> -
{{hl2msg|short|userid|}}
 
{{hl2msg|long|subject|}}
== explain_perimeter ==
{{end-hl2msg}}
 
=== temp_c4m3_return_to_boat ===
* <b>userid</b> <small>(short)</small> -
{{qnotice|}}<br>
* <b>subject</b> <small>(long)</small> -
{{begin-hl2msg|temp_c4m3_return_to_boat|string}}
 
{{hl2msg|short|userid|}}
== explain_deactivate_alarm ==
{{hl2msg|long|subject|}}
 
{{end-hl2msg}}
* <b>userid</b> <small>(short)</small> -
=== explain_c1m4_finale ===
* <b>subject</b> <small>(long)</small> -
{{qnotice|}}<br>
 
{{begin-hl2msg|explain_c1m4_finale|string}}
== explain_impound_lot ==
{{hl2msg|short|userid|}}
 
{{hl2msg|long|subject|}}
* <b>userid</b> <small>(short)</small> -
{{end-hl2msg}}
* <b>subject</b> <small>(long)</small> -
=== c1m4_scavenge_instructions ===
 
{{qnotice|}}<br>
== explain_decon ==
{{begin-hl2msg|c1m4_scavenge_instructions|string}}
 
{{hl2msg|short|userid|}}
* <b>userid</b> <small>(short)</small> -
{{hl2msg|long|subject|}}
* <b>subject</b> <small>(long)</small> -
{{end-hl2msg}}
 
=== punched_clown ===
== explain_mall_window ==
{{qnotice|}}<br>
 
{{begin-hl2msg|punched_clown|string}}
* <b>userid</b> <small>(short)</small> -
{{hl2msg|short|userid|player who punched the clown}}
* <b>subject</b> <small>(long)</small> -
{{end-hl2msg}}
 
=== charger_killed ===
== explain_mall_alarm ==
{{qnotice|}}<br>
 
{{begin-hl2msg|charger_killed|string}}
* <b>userid</b> <small>(short)</small> -
{{hl2msg|short|userid|user ID of dead charger}}
* <b>subject</b> <small>(long)</small> -
{{hl2msg|short|attacker|user id of killer}}
 
{{hl2msg|bool|melee|TRUE if a player killed the charger with a melee weapon}}
== explain_coaster ==
{{hl2msg|bool|charging|TRUE if the charger was charging when it died}}
 
{{end-hl2msg}}
* <b>userid</b> <small>(short)</small> -
=== spitter_killed ===
* <b>subject</b> <small>(long)</small> -
{{qnotice|}}<br>
 
== explain_coaster_stop ==
 
* <b>userid</b> <small>(short)</small> -
* <b>subject</b> <small>(long)</small> -
 
== explain_decon_wait ==
 
* <b>userid</b> <small>(short)</small> -
* <b>subject</b> <small>(long)</small> -  
 
== gauntlet_finale_start ==
 
 
== explain_float ==
 
* <b>userid</b> <small>(short)</small> -
* <b>subject</b> <small>(long)</small> -
 
== explain_ferry_button ==
 
* <b>userid</b> <small>(short)</small> -
* <b>subject</b> <small>(long)</small> -
 
== explain_hatch_button ==
 
* <b>userid</b> <small>(short)</small> -
* <b>subject</b> <small>(long)</small> -
 
== explain_shack_button ==
 
* <b>userid</b> <small>(short)</small> -
* <b>subject</b> <small>(long)</small> -  
 
== upgrade_incendiary_ammo ==
 
* <b>userid</b> <small>(short)</small> -
 
== upgrade_explosive_ammo ==
 
* <b>userid</b> <small>(short)</small> -
 
== receive_upgrade ==
 
* <b>userid</b> <small>(short)</small> -  
* <b>upgrade</b> <small>(string)</small> -
 
== explain_vehicle_arrival ==
 
* <b>subject</b> <small>(long)</small> -
 
== mounted_gun_start ==
 
* <b>userid</b> <small>(short)</small> -
* <b>subject</b> <small>(long)</small> -
 
== mounted_gun_overheated ==
 
* <b>userid</b> <small>(short)</small> -
 
== explain_burger_sign ==
 
* <b>userid</b> <small>(short)</small> -
* <b>subject</b> <small>(long)</small> -
 
== explain_carousel_button ==
 
* <b>userid</b> <small>(short)</small> -
* <b>subject</b> <small>(long)</small> -
 
== explain_carousel_destination ==
 
* <b>userid</b> <small>(short)</small> -
* <b>subject</b> <small>(long)</small> -
 
== explain_stage_lighting ==
 
* <b>userid</b> <small>(short)</small> -
* <b>subject</b> <small>(long)</small> -  
 
== explain_stage_finale_start ==
 
* <b>userid</b> <small>(short)</small> -
* <b>subject</b> <small>(long)</small> -
 
== explain_stage_survival_start ==
 
* <b>userid</b> <small>(short)</small> -
* <b>subject</b> <small>(long)</small> -
 
== ability_out_of_range ==
 
* <b>userid</b> <small>(short)</small> -  
* <b>ability</b> <small>(string)</small> - ability classname
 
== explain_stage_pyrotechnics ==
 
* <b>userid</b> <small>(short)</small> -
* <b>subject</b> <small>(long)</small> -
 
== explain_c3m4_radio1 ==
 
* <b>userid</b> <small>(short)</small> -
* <b>subject</b> <small>(long)</small> -
 
== explain_c3m4_radio2 ==
 
* <b>userid</b> <small>(short)</small> -
* <b>subject</b> <small>(long)</small> -
 
== explain_gates_are_open ==
 
* <b>userid</b> <small>(short)</small> -
* <b>subject</b> <small>(long)</small> -
 
== explain_c2m4_ticketbooth ==
 
* <b>userid</b> <small>(short)</small> -
* <b>subject</b> <small>(long)</small> -  
 
== explain_c3m4_rescue ==
 
* <b>userid</b> <small>(short)</small> -
* <b>subject</b> <small>(long)</small> -
 
== explain_hotel_elevator_doors ==
 
* <b>userid</b> <small>(short)</small> -
* <b>subject</b> <small>(long)</small> -  
 
== explain_gun_shop_tanker ==
 
* <b>userid</b> <small>(short)</small> -
* <b>subject</b> <small>(long)</small> -
 
== explain_gun_shop ==
 
* <b>userid</b> <small>(short)</small> -
* <b>subject</b> <small>(long)</small> -
 
== explain_store_alarm ==
 
* <b>userid</b> <small>(short)</small> -
* <b>subject</b> <small>(long)</small> -
 
== explain_store_item ==
 
* <b>userid</b> <small>(short)</small> -
* <b>subject</b> <small>(long)</small> -  
 
== explain_store_item_stop ==
 
* <b>userid</b> <small>(short)</small> -
* <b>subject</b> <small>(long)</small> -
 
== explain_survival_generic ==
 
* <b>userid</b> <small>(short)</small> -
* <b>subject</b> <small>(long)</small> -  
 
== explain_survival_alarm ==
 
* <b>userid</b> <small>(short)</small> -
* <b>subject</b> <small>(long)</small> -
 
== explain_survival_radio ==
 
* <b>userid</b> <small>(short)</small> -
* <b>subject</b> <small>(long)</small> -
 
== explain_survival_carousel ==
 
* <b>userid</b> <small>(short)</small> -
* <b>subject</b> <small>(long)</small> -
 
== explain_return_item ==
 
* <b>userid</b> <small>(short)</small> -
* <b>subject</b> <small>(long)</small> -  
 
== explain_save_items ==
 
* <b>userid</b> <small>(short)</small> -
* <b>subject</b> <small>(long)</small> -
 
== spit_burst ==
Triggers even after Spitter's death.{{eventnote|Called|Triggers when Spitter's spit hits the ground.}}
 
* <b>userid</b> <small>(short)</small> -
* <b>subject</b> <small>(long)</small> -
 
 
== entered_spit ==
 
* <b>userid</b> <small>(short)</small> -
* <b>subject</b> <small>(long)</small> -  
 
== temp_c4m1_getgas ==
 
* <b>userid</b> <small>(short)</small> -
* <b>subject</b> <small>(long)</small> -
 
== temp_c4m3_return_to_boat ==
 
* <b>userid</b> <small>(short)</small> -
* <b>subject</b> <small>(long)</small> -  
 
== explain_c1m4_finale ==
 
* <b>userid</b> <small>(short)</small> -
* <b>subject</b> <small>(long)</small> -
 
== c1m4_scavenge_instructions ==
 
* <b>userid</b> <small>(short)</small> -
* <b>subject</b> <small>(long)</small> -
 
== punched_clown ==
 
* <b>userid</b> <small>(short)</small> - player who punched the clown
 
== charger_killed ==
 
* <b>userid</b> <small>(short)</small> - user ID of dead charger
* <b>attacker</b> <small>(short)</small> - user id of killer
* <b>melee</b> <small>(bool)</small> - TRUE if a player killed the charger with a melee weapon
* <b>charging</b> <small>(bool)</small> - TRUE if the charger was charging when it died
 
== spitter_killed ==
{{eventnote|Called|Triggers in Spitter's death.}}
{{eventnote|Called|Triggers in Spitter's death.}}
{{begin-hl2msg|spitter_killed|string}}
{{hl2msg|short|userid|user ID of dead spitter}}
{{hl2msg|short|attacker|user id of killer}}
{{hl2msg|bool|has_spit|TRUE if the spitter spit at some point}}
{{end-hl2msg}}


=== jockey_ride ===
* <b>userid</b> <small>(short)</small> - user ID of dead spitter
{{qnotice|}}<br>
* <b>attacker</b> <small>(short)</small> - user id of killer
{{begin-hl2msg|jockey_ride|string}}
* <b>has_spit</b> <small>(bool)</small> - TRUE if the spitter spit at some point
{{hl2msg|short|userid|player who did the lunging}}
 
{{hl2msg|short|victim|player that got lunged}}
 
{{end-hl2msg}}
== jockey_ride ==
=== jockey_ride_end ===
 
{{qnotice|}}<br>
* <b>userid</b> <small>(short)</small> - player who did the lunging
{{begin-hl2msg|jockey_ride_end|string}}
* <b>victim</b> <small>(short)</small> - player that got lunged
{{hl2msg|short|userid|player who did the lunging}}
 
{{hl2msg|short|victim|player that got lunged}}
== jockey_ride_end ==
{{hl2msg|short|rescuer|Who stopped it}}
Fires in all cases where a jockey releases the survivor.{{Note |rescuer will return 0 when:
{{hl2msg|float|ride_length|Duration of our ride}}
* The jockey is being cleared by shoving.
{{end-hl2msg}}
* Another special takes over the jockeyed survivor.
=== jockey_killed ===
* The commons kill the biled jockey.
{{qnotice|}}<br>
* The jockey incaps the survivor, including ledge-hangs.
{{begin-hl2msg|jockey_killed|string}}
* The jockey is killed or stumbled by a charger impact.
{{hl2msg|short|userid|user ID of dead jockey}}
}}
{{hl2msg|short|attacker|user id of killer}}
{{Note |
{{end-hl2msg}}
* A jockey stumbled by a boomer explosion will return rescuer parameter as the boomer's userid.
=== non_melee_fired ===
* Using Stagger() on the jockey will return rescuer parameter as the jockey's userid.
{{qnotice|}}<br>
* Using Stagger() on the survivor will return rescuer parameter as the survivor's userid.}}
{{begin-hl2msg|non_melee_fired|string}}
 
{{hl2msg|short|userid|User that fired a non-melee weapon}}
* <b>userid</b> <small>(short)</small> - player who did the lunging
{{end-hl2msg}}
* <b>victim</b> <small>(short)</small> - player that got lunged
=== infected_decapitated ===
* <b>rescuer</b> <small>(short)</small> - Who stopped it
{{qnotice|}}<br>
* <b>ride_length</b> <small>(float)</small> - Duration of our ride
{{begin-hl2msg|infected_decapitated|string}}
 
{{hl2msg|short|userid|userid of the player who did the decapitation}}
 
{{hl2msg|string|weapon|melee weapon name}}
== jockey_punched ==
{{end-hl2msg}}
 
* <b>userid</b> <small>(short)</small> - user ID of player that shoved the jockey
* <b>jockeyuserid</b> <small>(long)</small> - user ID of Jockey
* <b>islunging</b> <small>(bool)</small> -  TRUE if Jockey was in the act of lunging
 
== jockey_headshot ==
 
* <b>userid</b> <small>(short)</small> - user ID of player that landed a headshot on the Jockey
* <b>jockeyuserid</b> <small>(long)</small> - user ID of Jockey
* <b>islunging</b> <small>(bool)</small> - TRUE if Jockey was in the act of lunging
 
== jockey_killed ==
 
* <b>userid</b> <small>(short)</small> - user ID of dead jockey
* <b>attacker</b> <small>(short)</small> - user id of killer
* <b>weapon</b> <small>(string)</small> - weapon name
 
== non_melee_fired ==
 
* <b>userid</b> <small>(short)</small> - User that fired a non-melee weapon
 
== infected_decapitated ==
 
* <b>userid</b> <small>(short)</small> - userid of the player who did the decapitation
* <b>weapon</b> <small>(string)</small> - melee weapon name
 
 
== upgrade_pack_added ==
 
* <b>upgradeid</b> <small>(short)</small> -
* <b>userid</b> <small>(short)</small> -  
 
== vomit_bomb_tank ==
 
* <b>userid</b> <small>(short)</small> - userid of the player who used the bomb
 
== triggered_car_alarm ==
 
* <b>userid</b> <small>(short)</small> - user ID of player who activated car alarm
 
== panic_event_finished ==
 
 
== charger_charge_start ==
The moment when the charger starts charging{{eventnote|Issues|Called more than once per ability use. For consistency, check ability_use}}
{{eventnote|Issues|Can be called after charger_charge_end. Use ability_use for an alternative start to end relationship.}}
 
* <b>userid</b> <small>(short)</small> - user ID of the charger
 
 
== charger_charge_end ==
 
* <b>userid</b> <small>(short)</small> - user ID of the charger
 
== charger_carry_start ==
The moment when the charger grabs a survivor
{{bug*|Will not fire when charger stops charging right after it carries a survivor, usually happens when the survivor is near a wall. Subsequently, <code>charger_carry_end</code> will not fire.|only=l4d2}}
* <b>userid</b> <small>(short)</small> - user ID of the charger
* <b>victim</b> <small>(short)</small> - user ID of the player who was charged
 
== charger_carry_end ==
The moment when the charger stops charging a survivor (and will soon start pummeling)
* <b>userid</b> <small>(short)</small> - user ID of the charger
* <b>victim</b> <small>(short)</small> - user ID of the player who was charged
 
== charger_carry_kill ==
{{Note | Seems to only work on competitive gamemodes, like versus.}}  
When a charger kills a survivor with a carry.
* <b>userid</b> <small>(short)</small> - user ID of the charger
* <b>victim</b> <small>(short)</small> - user ID of the victim
 
== charger_impact ==
When a charger impacts a survivor they aren't carrying
* <b>userid</b> <small>(short)</small> - user ID of the charger
* <b>victim</b> <small>(short)</small> - user ID of the player who was impacted
 
== charger_pummel_start ==
The moment when the charger starts pummeling a survivor
* <b>userid</b> <small>(short)</small> - user ID of the charger
* <b>victim</b> <small>(short)</small> - user ID of the player who was charged
 
== charger_pummel_end ==
When the charger is cleared from the survivor or the survivor dies.
{{Note |
* Killing the charger or survivor being pummeled to death will return rescuer as 0.
* It will only return rescuer as the survivor's userid when staggered by pipe bomb, explosive ammo, propane/oxygen tank.
* Using Stagger() on the survivor will return rescuer as 0.
* Using Stagger() on the charger will return rescuer as the charger's userid.}}  
* <b>userid</b> (short) - user ID of the charger
* <b>victim</b> (short) - user ID of the player who was charged
* <b>rescuer</b> (short) - user ID of the player who rescued them
 
== strongman_bell_knocked_off ==
The arcade bell on c2m4_barns
* <b>userid</b> <small>(short)</small> -
* <b>subject</b> <small>(short)</small> -
 
== molotov_thrown ==
 
* <b>userid</b> <small>(short)</small> -
 
== gas_can_forced_drop ==
 
* <b>userid</b> <small>(short)</small> - player that forced the drop
* <b>victim</b> <small>(short)</small> - player that dropped it
 
== explain_need_gnome_to_continue ==
 
* <b>none</b> <small>(none)</small> -
 
== explain_survivor_glows_disabled ==
 
* <b>userid</b> <small>(short)</small> - The player we're explaining to
 
== explain_item_glows_disabled ==
 
* <b>userid</b> <small>(short)</small> - The player we're explaining to
 
== explain_rescue_disabled ==
 
* <b>userid</b> <small>(short)</small> - The player we're explaining to
 
== explain_bodyshots_reduced ==
 
* <b>userid</b> <small>(short)</small> - The player we're explaining to
 
== explain_witch_instant_kill ==
 
* <b>userid</b> <small>(short)</small> - The player we're explaining to
 
== set_instructor_group_enabled ==
 
* <b>group</b> <small>(string)</small> -
* <b>enabled</b> <small>(short)</small> -
 
== stashwhacker_game_won ==
 
* <b>userid</b> <small>(short)</small> -
* <b>subject</b> <small>(short)</small> -
 
== versus_marker_reached ==
 
* <b>userid</b> <small>(short)</small> -
* <b>marker</b> <small>(short)</small> -
 
== start_score_animation ==
 
 
== survival_round_start ==
 
 
== scavenge_gas_can_destroyed ==
 
* <b>userid</b> <small>(short)</small> - The player that destroyed it
 
== explain_sewer_gate ==
 
* <b>userid</b> <small>(short)</small> -
* <b>subject</b> <small>(long)</small> -
 
== explain_sewer_run ==
 
* <b>userid</b> <small>(short)</small> -
* <b>subject</b> <small>(long)</small> -
 
== explain_c6m3_finale ==
 
* <b>userid</b> <small>(short)</small> -
* <b>subject</b> <small>(long)</small> -
 
== finale_bridge_lowering ==
 
* <b>userid</b> <small>(short)</small> -
* <b>subject</b> <small>(long)</small> -
 
== m60_streak_ended ==
I was holding down the m60 trigger, and now I'm not
* <b>none</b> <small>(none)</small> -
 
== chair_charged ==
 
* <b>userid</b> <small>(short)</small> -
 
== song_played ==
 
* <b>none</b> <small>(none)</small> -
 
== foot_locker_opened ==
 
* <b>userid</b> <small>(short)</small> -
 
== player_connect_full ==
 
* <b>userid</b> <small>(short)</small> -
 
== player_say ==


=== upgrade_pack_added ===
* <b>userid</b> <small>(short)</small> -
{{qnotice|}}<br>
* <b>text</b> <small>(string)</small> -
{{begin-hl2msg|upgrade_pack_added|string}}
{{hl2msg|short|upgradeid|}}
{{hl2msg|short|userid|}}
{{end-hl2msg}}
=== vomit_bomb_tank ===
{{qnotice|}}<br>
{{begin-hl2msg|vomit_bomb_tank|string}}
{{hl2msg|short|userid|userid of the player who used the bomb}}
{{end-hl2msg}}
=== triggered_car_alarm ===
{{qnotice|}}<br>
{{begin-hl2msg|triggered_car_alarm|string}}
{{end-hl2msg}}
=== panic_event_finished ===
{{qnotice|}}<br>
{{begin-hl2msg|panic_event_finished|string}}
{{end-hl2msg}}
=== charger_charge_start ===
{{qnotice|The moment when the charger starts charging}}<br>
{{begin-hl2msg|charger_charge_start|string}}
{{hl2msg|short|userid|user ID of the charger}}
{{end-hl2msg}}
=== charger_charge_end ===
{{qnotice|}}<br>
{{begin-hl2msg|charger_charge_end|string}}
{{hl2msg|short|userid|user ID of the charger}}
{{end-hl2msg}}
=== charger_carry_start ===
{{qnotice|The moment when the charger grabs a survivor}}<br>
{{begin-hl2msg|charger_carry_start|string}}
{{hl2msg|short|userid|user ID of the charger}}
{{hl2msg|short|victim|user ID of the player who was charged}}
{{end-hl2msg}}
=== charger_carry_end ===
{{qnotice|The moment when the charger stops charging a survivor (and will soon start pummeling)}}<br>
{{begin-hl2msg|charger_carry_end|string}}
{{hl2msg|short|userid|user ID of the charger}}
{{hl2msg|short|victim|user ID of the player who was charged}}
{{end-hl2msg}}
=== charger_impact ===
{{qnotice|When a charger impacts a survivor they aren't carrying}}<br>
{{begin-hl2msg|charger_impact|string}}
{{hl2msg|short|userid|user ID of the charger}}
{{hl2msg|short|victim|user ID of the player who was impacted}}
{{end-hl2msg}}
=== charger_pummel_start ===
{{qnotice|The moment when the charger starts pummeling a survivor}}<br>
{{begin-hl2msg|charger_pummel_start|string}}
{{hl2msg|short|userid|user ID of the charger}}
{{hl2msg|short|victim|user ID of the player who was charged}}
{{end-hl2msg}}
=== charger_pummel_end ===
{{qnotice|When the charger is cleared from the survivor or the survivor dies.}}<br>
{{begin-hl2msg|charger_pummel_end|string}}
{{hl2msg|short|userid|user ID of the charger}}
{{hl2msg|short|victim|}}
{{hl2msg|short|rescuer|user ID of the player who rescued them}}
{{end-hl2msg}}
=== strongman_bell_knocked_off ===
{{qnotice|The arcade bell on c2m4_barns}}<br>
{{begin-hl2msg|strongman_bell_knocked_off|string}}
{{hl2msg|short|userid|}}
{{hl2msg|short|subject|}}
{{end-hl2msg}}
=== molotov_thrown ===
{{qnotice|}}<br>
{{begin-hl2msg|molotov_thrown|string}}
{{hl2msg|short|userid|}}
{{end-hl2msg}}
=== gas_can_forced_drop ===
{{qnotice|}}<br>
{{begin-hl2msg|gas_can_forced_drop|string}}
{{hl2msg|short|userid|player that forced the drop}}
{{hl2msg|short|victim|player that dropped it}}
{{end-hl2msg}}
=== explain_need_gnome_to_continue ===
{{qnotice|}}<br>
{{begin-hl2msg|explain_need_gnome_to_continue|string}}
{{hl2msg|none|none|}}
{{end-hl2msg}}
=== explain_survivor_glows_disabled ===
{{qnotice|}}<br>
{{begin-hl2msg|explain_survivor_glows_disabled|string}}
{{hl2msg|short|userid|The player we're explaining to}}
{{end-hl2msg}}
=== explain_item_glows_disabled ===
{{qnotice|}}<br>
{{begin-hl2msg|explain_item_glows_disabled|string}}
{{hl2msg|short|userid|The player we're explaining to}}
{{end-hl2msg}}
=== explain_rescue_disabled ===
{{qnotice|}}<br>
{{begin-hl2msg|explain_rescue_disabled|string}}
{{hl2msg|short|userid|The player we're explaining to}}
{{end-hl2msg}}
=== explain_bodyshots_reduced ===
{{qnotice|}}<br>
{{begin-hl2msg|explain_bodyshots_reduced|string}}
{{hl2msg|short|userid|The player we're explaining to}}
{{end-hl2msg}}
=== explain_witch_instant_kill ===
{{qnotice|}}<br>
{{begin-hl2msg|explain_witch_instant_kill|string}}
{{hl2msg|short|userid|The player we're explaining to}}
{{end-hl2msg}}
=== set_instructor_group_enabled ===
{{qnotice|}}<br>
{{begin-hl2msg|set_instructor_group_enabled|string}}
{{hl2msg|string|group|}}
{{hl2msg|short|enabled|}}
{{end-hl2msg}}
=== stashwhacker_game_won ===
{{qnotice|}}<br>
{{begin-hl2msg|stashwhacker_game_won|string}}
{{hl2msg|short|userid|}}
{{hl2msg|short|subject|}}
{{end-hl2msg}}
=== versus_marker_reached ===
{{qnotice|}}<br>
{{begin-hl2msg|versus_marker_reached|string}}
{{hl2msg|short|userid|}}
{{hl2msg|short|marker|}}
{{end-hl2msg}}
=== start_score_animation ===
{{qnotice|}}<br>
{{begin-hl2msg|start_score_animation|string}}
{{end-hl2msg}}
=== survival_round_start ===
{{qnotice|}}<br>
{{begin-hl2msg|survival_round_start|string}}
{{end-hl2msg}}
=== scavenge_gas_can_destroyed ===
{{qnotice|}}<br>
{{begin-hl2msg|scavenge_gas_can_destroyed|string}}
{{hl2msg|short|userid|The player that destroyed it}}
{{end-hl2msg}}
=== explain_sewer_gate ===
{{qnotice|}}<br>
{{begin-hl2msg|explain_sewer_gate|string}}
{{hl2msg|short|userid|}}
{{hl2msg|long|subject|}}
{{end-hl2msg}}
=== explain_sewer_run ===
{{qnotice|}}<br>
{{begin-hl2msg|explain_sewer_run|string}}
{{hl2msg|short|userid|}}
{{hl2msg|long|subject|}}
{{end-hl2msg}}
=== explain_c6m3_finale ===
{{qnotice|}}<br>
{{begin-hl2msg|explain_c6m3_finale|string}}
{{hl2msg|short|userid|}}
{{hl2msg|long|subject|}}
{{end-hl2msg}}
=== finale_bridge_lowering ===
{{qnotice|}}<br>
{{begin-hl2msg|finale_bridge_lowering|string}}
{{hl2msg|short|userid|}}
{{hl2msg|long|subject|}}
{{end-hl2msg}}
=== m60_streak_ended ===
{{qnotice|I was holding down the m60 trigger, and now I'm not}}<br>
{{begin-hl2msg|m60_streak_ended|string}}
{{hl2msg|none|none|}}
{{end-hl2msg}}
=== chair_charged ===
{{qnotice|}}<br>
{{begin-hl2msg|chair_charged|string}}
{{hl2msg|short|userid|}}
{{end-hl2msg}}
=== song_played ===
{{qnotice|}}<br>
{{begin-hl2msg|song_played|string}}
{{hl2msg|none|none|}}
{{end-hl2msg}}
=== foot_locker_opened ===
{{qnotice|}}<br>
{{begin-hl2msg|foot_locker_opened|string}}
{{hl2msg|short|userid|}}
{{end-hl2msg}}

Latest revision as of 02:46, 25 August 2025

Left 4 Dead 2 Level Creation
Refer back to Game Events (Source) for more events.

player_death

a game event, name may be 32 charaters long; this extents the original player_death by a new fields

  • userid (short) - user ID who died
  • entityid (long) - entity ID who died, userid should be used first, to get the dead Player. Otherwise, it is not a player, so use this.
  • attacker (short) - user ID who killed
  • attackername (string) - What type of zombie, so we don't have zombie names
  • attackerentid (long) - if killer not a player, the entindex of who killed. Again, use attacker first
  • weapon (string) - weapon name killer used
  • headshot (bool) - signals a headshot
  • attackerisbot (bool) - is the attacker a bot
  • victimname (string) - What type of zombie, so we don't have zombie names
  • victimisbot (bool) - is the victim a bot
  • abort (bool) - did the victim abort
  • type (long) - damage type
  • victim_x (float) -
  • victim_y (float) -
  • victim_z (float) -

player_hurt

Registers all playable classes (Hunter, Smoker, Boomer, Tank, Survivors). See infected_hurt for Witch and Common Infected

  • local (1) - Not networked
  • userid (short) - user ID who was hurt
  • attacker (short) - user id who attacked
  • attackerentid (long) - entity id who attacked, if attacker not a player, and userid therefore invalid
  • health (short) - remaining health points
  • armor (byte) - remaining armor points
  • weapon (string) - weapon name attacker used, if not the world
  • dmg_health (short) - damage done to health
  • dmg_armor (byte) - damage done to armor
  • hitgroup (byte) - hitgroup that was damaged
  • type (long) - damage type

player_activate

Earliest game event that generates when a CTerrorPlayer entity is being spawned

  • userid (short) - user ID on server

player_team

player change his team

  • userid (short) - user ID on server
  • team (byte) - team id
  • oldteam (byte) - old team id
  • disconnect (bool) - team change because player disconnects
  • name (string) -
  • isbot (bool) -

player_bot_replace

Bot replaced a player

  • player (short) - user ID of the player
  • bot (short) - user ID of the bot

bot_player_replace

Player replaced a bot

  • bot (short) - user ID of the bot
  • player (short) - user ID of the player
Tip.pngTip:Imagine using slot operator when reading the name of these events bot <- player to remember whether bot is being replaced or a player

player_afk

  • player (short) - user ID of the player

weapon_fire

Note.pngNote: It will fire before firing the weapon, even if it's being interrupted. For example: interrupting a molotov throw by switching right before it's about to be thrown.
  • local (1) - don't network this, its way too spammy
  • userid (short) -
  • weapon (string) - used weapon name
  • weaponid (short) - used weapon ID
  • count (short) - number of bullets

weapon_fire_on_empty

  • local (1) - don't network this, its way too spammy
  • userid (short) -
  • weapon (string) - weapon name used
  • count (short) - number of bullets

weapon_reload

  • userid (short) -
  • manual (bool) - player manually started the reload

weapon_zoom

  • userid (short) -

ability_use

Called: When an infected uses their ability
Issues: Doesn't fire for jockey

  • userid (short) -
  • ability (string) - Classname of ability. Possible values: 'ability_tongue', 'ability_vomit', 'ability_lunge', 'ability_spit', 'ability_charge', 'ability_throw' for the Smoker, Boomer, Hunter, Spitter, Charger and Tank respectively.
  • context (short) - enum of the way it was used (different for each ability)

ammo_pickup

  • userid (short) - The player who got some ammo from a weapon_ammo_spawner

item_pickup

  • userid (short) -
  • item (string) - either a weapon such as 'tmp' or 'hegrenade', or an item such as 'nvgs'

golden_crowbar_pickup

  • userid (short) - The player who picked up the crowbar

grenade_bounce

When a player's thrown pipebomb is currently bouncing.

  • userid (short) -

hegrenade_detonate

  • userid (short) -
  • x (float) -
  • y (float) -
  • z (float) -

bullet_impact

Icon-Bug.pngBug*:Will not fire for the grenade launcher and miniguns.
  • userid (short) -
  • x (float) -
  • y (float) -
  • z (float) -

player_footstep

  • userid (short) -

player_jump

  • userid (short) -

player_blind

  • userid (short) -

player_falldamage

  • userid (short) - Who got hurt
  • damage (float) - for how much
  • causer (short) - Who caused them to do so (if anyone)

player_ledge_grab

  • userid (short) - Who grabbed the ledge
  • causer (short) - Who caused them to do so (if anyone)

player_ledge_release

  • userid (short) - person who released from the ledge

door_moving

  • entindex (long) -
  • userid (short) -

door_open

  • userid (short) - Who opened the door
  • checkpoint (bool) - Is the door a checkpoint door
  • closed (bool) - Was the door closed when it started opening?

door_close

  • userid (short) - Who closed the door
  • checkpoint (bool) - Is the door a checkpoint door

door_unlocked

  • userid (short) - Who opened the door
  • checkpoint (bool) - Is the door a checkpoint door

rescue_door_open

  • userid (short) - Who opened the door
  • entindex (long) - door that opened

waiting_checkpoint_door_used

Someone tried to open a checkpoint door that is locked till everyone loads in

  • userid (short) - player who tried to open it
  • entindex (long) - door that was used

waiting_door_used_versus

Someone tried to open a checkpoint door that is locked till everyone loads in

  • userid (short) - player who tried to open it
  • entindex (long) - door that was used

waiting_checkpoint_button_used

Someone tried to push a button that's locked until everyone is gathered

  • userid (short) - player who tried to open it

success_checkpoint_button_used

Someone pushed a button that's locked until everyone is gathered

  • userid (short) - player who openned it

round_freeze_end

  • None (None) -

round_start

  • timelimit (long) - round time limit in seconds
  • fraglimit (long) - frag limit in seconds
  • objective (string) - round objective

round_start_pre_entity

  • None (None) -

round_start_post_nav

  • None (None) -

nav_blocked

  • area (long) -
  • blocked (bool) -

nav_generate

  • None (None) -

round_end_message

  • winner (byte) - winner team/user i
  • reason (byte) - reson why team won
  • message (string) - end round message

round_end

  • winner (byte) - winner team/user i
  • reason (byte) - reson why team won
  • message (string) - end round message
  • time (float) -

vote_ended

  • None (None) -

vote_started

  • issue (string) -
  • param1 (string) -
  • votedata (string) -
  • team (byte) -
  • initiator (long) - entity id of the player who initiated the vote
  • reliable (1) - this event is reliable


vote_changed

  • yesVotes (byte) -
  • noVotes (byte) -
  • potentialVotes (byte) -

vote_passed

  • details (string) -
  • param1 (string) -
  • team (byte) -
  • reliable (1) - this event is reliable


vote_failed

  • team (byte) -
  • reliable (1) - this event is reliable


vote_cast_yes

  • team (byte) -
  • entityid (long) - entity id of the voter

vote_cast_no

  • team (byte) -
  • entityid (long) - entity id of the voter

infected_hurt

Registers for non-playable classes (Common Infected, Witch). See player_hurt for other playable classes

  • local (1) - don't network this, its way too spammy
  • attacker (short) - player userid who attacked
  • entityid (long) - entity id of infected
  • hitgroup (byte) - hitgroup that was damaged
  • amount (short) - how much damage was done
  • type (long) - damage type

infected_death

  • attacker (short) - user ID who killed
  • infected_id (short) - ID of the infected that died
  • gender (short) - gender (type) of the infected
  • weapon_id (short) - ID of the weapon used
  • headshot (bool) - signals a headshot
  • minigun (bool) - signals a minigun kill
  • blast (bool) - signals a death from blast damage
  • submerged (bool) - indicates the infected was submerged

hostname_changed

  • hostname (string) -

difficulty_changed

It appears that strDifficulty is z_difficulty value

  • newDifficulty (short) -
  • oldDifficulty (short) -
  • strDifficulty (string) -


finale_start

  • rushes (short) -

finale_rush

  • None (None) -

finale_escape_start

  • None (None) -

finale_vehicle_incoming

  • campaign (string) -

finale_vehicle_ready

  • campaign (string) -

finale_vehicle_leaving

  • survivorcount (short) - number of survivors that made it out

finale_win

  • map_name (string) -
  • difficulty (short) -

mission_lost

As in, the survivor team failed. Opposite of finale_win, but not necessarily during the finale.

  • None (None) -

finale_radio_start

  • health (short) -

finale_radio_damaged

  • health (short) -

final_reportscreen

Right before the final report screen comes up, let awards possibly fire

  • None (None) -

map_transition

When campaign cinematics start

  • None (None) -


player_transitioned

When campaign cinematics end and player is transitioned to first person view

  • userid (short) - the person that just finished transitioning


heal_begin

  • userid (short) - person doing the healing
  • subject (short) - person being healed

heal_success

  • userid (short) - person doing the healing
  • subject (short) - person being healed
  • health_restored (short) - amount of health restored

heal_end

Issues: subject is broken for this event, it always appears to be the player doing the healing

  • userid (short) - person doing the healing
  • subject (short) - person being healed


heal_interrupted

  • userid (short) - person who was being healed, but moved.
  • subject (short) - person being healed

ammo_pack_used

  • userid (short) - person giving the ammo
  • subject (short) - person receiving ammo

give_weapon

  • userid (short) - The giver of the weapon
  • recipient (short) - The recipient of the weapon
  • weapon (short) - The ID of the weapon given

pills_used

  • userid (short) - person who had the pills
  • subject (short) - person swallowing the pills

pills_used_fail

  • userid (short) - person who tried to use the pills

ammo_pack_used_fail_no_weapon

  • userid (short) - person who tried to use the ammo pack
  • subject (short) - person it failed to help

ammo_pack_used_fail_full

  • userid (short) - person who tried to use the ammo pack
  • subject (short) - person it failed to help

ammo_pack_used_fail_doesnt_use_ammo

  • userid (short) - person who tried to use the ammo pack
  • subject (short) - person it failed to help

ammo_pile_weapon_cant_use_ammo

  • userid (short) - person who tried to use an ammo pile with a grenade launcher

defibrillator_begin

  • userid (short) - person who is defibrillating.
  • subject (short) - person being revived

defibrillator_used

  • userid (short) - person who used the defibrillator
  • subject (short) - person it helped

defibrillator_used_fail

  • userid (short) - person who tried to use the defibrillator
  • subject (short) - person it failed to help

defibrillator_interrupted

  • userid (short) - person who was defibrillating, but moved.
  • subject (short) - person being revived

upgrade_pack_begin

  • userid (short) - person who is deploying the pack

upgrade_pack_used

upgrade_item_already_used

  • userid (short) - person who tried to use an ammo upgrade twice
  • upgradeclass (string) - classname of the upgrade we tried to use

upgrade_failed_no_primary

  • userid (short) - person who tried to use an upgrade without having a primary weapon
  • upgrade (string) - name of the upgrade we tried to use, eg "INCENDIARY_AMMO"

dead_survivor_visible

  • userid (short) - The player who sees the entity
  • subject (long) - Entindex of the entity they see
  • deadplayer (short) - user id of the dead player represented

adrenaline_used

  • userid (short) - person who had and used the adrenaline

revive_begin

  • userid (short) - person doing the reviving
  • subject (short) - person being revived

revive_success

  • userid (short) - person doing the reviving
  • subject (short) - person who was revived
  • lastlife (bool) - person revived will die if they fall again
  • ledge_hang (bool) - 1 if person revived was ledge hanging

revive_end

  • userid (short) - person doing the reviving
  • subject (short) - person being revived
  • ledge_hang (bool) - person is ledge hanging

drag_begin

  • userid (short) - person doing the dragging
  • subject (short) - person being dragged

drag_end

  • userid (short) - person doing the dragging
  • subject (short) - person being dragged

player_incapacitated

when a player becomes incapacitated. This is also called when a tank is killed.

  • userid (short) - person who became incapacitated
  • attacker (short) - user ID who made us incapacitated
  • attackerentid (long) - if attacker not player, entindex of who made us incapacitated
  • weapon (string) - weapon name attacker used
  • type (long) - damage type

player_incapacitated_start

when a player is about to become incapacitated, so you can see his last living state

  • userid (short) - person who became incapacitated
  • attacker (short) - user ID who made us incapacitated
  • attackerentid (long) - if attacker not player, entindex of who made us incapacitated
  • weapon (string) - weapon name attacker used
  • type (long) - damage type

player_entered_start_area

when a player spawns into the player start area

  • userid (short) - person who entered

player_first_spawn

when a player spawns for the first time in a given mission

  • userid (short) - person who spawned
  • map_name (string) -
  • isbot (bool) -


player_left_start_area

when a player leaves the player start area

  • userid (short) - person who left

player_left_safe_area

when a player leaves the safe area

  • userid (short) - person who left
  • playercount (byte) -

player_entered_checkpoint

when a basecombatcharacter enters a checkpoint area

  • userid (short) - player who entered
  • entityid (long) - If not a player, the entity index of the one entering
  • door (long) - Entindex of the checkpoint door the player entered to get here.
  • area (long) -
  • doorname (string) - name of the entity they see

player_left_checkpoint

when a player leaves a checkpoint area

  • userid (short) - player who left
  • entityid (long) - If not a player, the entity index of the one exiting
  • area (long) -

player_shoved

Issues: Will not fire when shoving a survivor that is currently in combat.

  • userid (short) - player index who was shoved
  • attacker (short) - player index who attacked them

entity_shoved

  • entityid (short) - the entity index of the one who was shoved
  • attacker (short) - player index who attacked them

player_jump_apex

  • userid (short) - player who jumped

player_blocked

  • userid (short) - player index who was trying to move
  • blocker (short) - player index who kept them from moving

player_now_it

  • userid (short) - Player who is now it
  • attacker (short) - player that did the it-ing
  • exploded (bool) - whether it was vomit or explosion
  • infected (bool) - is the vomit infectious
  • by_boomer (bool) - came from a boomer

player_no_longer_it

  • userid (short) - Player who is now no longer it

witch_harasser_set

  • userid (short) - Player who woke up the witch
  • witchid (long) - Entindex of witch woken up
  • first (bool) - First time the witch set a harasser

witch_spawn

  • witchid (long) - Entindex of witch spawning right now.

witch_killed

  • userid (short) - Player who killed the witch
  • witchid (long) - Entindex of witch that was killed.
  • oneshot (bool) - TRUE if the Witch was killed with one shot
  • melee_only (bool) - TRUE if the witch was only killed by melee attacks (no blast, burn, or bullet damage)
  • bride (bool) - bride variant?

tank_spawn

  • userid (short) - User ID of the tank spawning now
  • tankid (long) - Entindex of tank spawning right now.

melee_kill

  • userid (short) - Player who bashed the infected
  • entityid (long) - Entindex of infected what got killed
  • ambush (bool) - Infected was unaware when killed

area_cleared

  • userid (short) - person who cleared the area
  • area (long) - id of the cleared area

award_earned

  • userid (short) - player who earned the award
  • entityid (long) - client likes ent id
  • subjectentid (long) - entity id of other party in the award, if any
  • award (short) - id of award earned

tongue_grab

  • userid (short) - player who did the grabbing
  • victim (short) - player that got grabbed

tongue_broke_bent

  • userid (short) - Tongue owner

tongue_broke_victim_died

  • userid (short) - Tongue owner

tongue_release

Fired in all cases where the tongue releases a victim, whether choked or not, etc.

Note.pngNote:
  • Fires twice in all release cases, except tongue_broke_bent where it only fires once.
  • Second firation will return distance and victim parameters as 0.
  • userid (short) - The tongue owner
  • victim (short) - The (now released) victim
  • distance (long) - Distance the victim was dragged.


choke_start

  • userid (short) - The choker
  • victim (short) - The person being choked

choke_end

  • userid (short) - The choker
  • victim (short) - The person being choked


choke_stopped

Called when a smoker tongue is cleared on a choked player, fires alongside choke_end (choke_stopped fires first).

Note.pngNote:Does not fire when (choke_end still fires):
  • The smoker is staggered with propane/oxygen tank, pipe bomb, explosive ammo, grenade launcher, boomer explosion, and charger impact.
  • Another special takes over the pinned survivor or kills the smoker.
  • The smoker is killed by gascan, firework box, molotov, and incendiary ammo.
  • The smoker ledge-hanged the survivor.
  • Using Stagger() on either the smoker or the survivor.

Issues: While the event does not fire while staggering the smoker with the methods above, it will fire when it is killed using only the grenade launcher and explosive ammo.

  • userid (short) - Who stopped it
  • victim (short) - And who was being choked
  • smoker (short) - The tongue owner
  • release_type (short) - How did it break?


tongue_pull_stopped

Called when a smoker tongue is cleared on a dragging player. Includes cuts.

Note.pngNote:Does not fire when:
  • The smoker is staggered with propane/oxygen tank, pipe bomb, explosive ammo, grenade launcher, boomer explosion, and charger impact.
  • Another special takes over the pinned survivor or kills the smoker.
  • The smoker is killed by gascan, firework box, molotov, and incendiary ammo.
  • The smoker ledge-hanged the survivor.
  • Using Stagger() on either the smoker or the survivor.

Issues: While the event does not fire while staggering the smoker with the methods above, it will fire when it is killed using only the grenade launcher and explosive ammo.

  • userid (short) - Who stopped it
  • victim (short) - And who was being pulled
  • smoker (short) - The tongue owner
  • release_type (short) - How did it break?
  • damage_type (long) - bullet, slash, chainsaw


lunge_shove

  • userid (short) - player who did the lunging
  • victim (short) - player that got lunged

lunge_pounce

  • userid (short) - player who did the lunging
  • victim (short) - player that got lunged
  • distance (long) - Distance from pounce start to contact
  • damage (short) -

pounce_end

  • userid (short) - Player who did the pouncing
  • victim (short) - And who was being pounced

pounce_stopped

Fires whenever a player clearing a hunter dominating a survivor, fires alongside pounce_end (pounce_stopped is fired first).

Note.pngNote:
  • Will not fire if staggered by pipe bomb, propane/oxygen tank, explosive ammo, grenade_launcher, boomer explosion, charger impact, and Stagger(). (pounce_end will still fire)
  • Fires if the hunter killed by any methods above, except boomer explosion and charger impact.
  • A special that kills the hunter will return userid as the special's userid.
  • Killing the hunter by shoving will fire this event before player_hurt. However, killing it by any other means will fire the event after player_hurt.

Issues: Shoving a hunter right after it pounces a survivor will not release the survivor, but the event will still fire.

  • userid (short) - Who stopped it
  • victim (short) - And who was being pounced

pounce_attempt_stopped

  • userid (short) - Who stopped it
  • weaponid (short) - used weapon ID

fatal_vomit

  • userid (short) - Who vomited
  • victim (short) - And who was killed or incapped

survivor_call_for_help

  • userid (short) - The actual player entity who is awaiting rescue.
  • subject (long) - SurvivorRescue entity representing the player who needs to be rescued from the closet (used for position)

survivor_rescued

  • rescuer (short) - player that did the rescuing
  • victim (short) - the survivor being rescued
  • dooridx (long) - ent index of the rescue door

survivor_rescue_abandoned

  • None (None) -

relocated

  • userid (short) - player who was relocated

respawning

  • userid (short) - player who started respawning

tank_frustrated

  • userid (short) - player who was culled

weapon_given

  • userid (short) - player who got the weapon
  • giver (short) - player that did the giving
  • weapon (short) - weapon id given
  • weaponentid (short) - weapon entity id

weapon_drop

Called: When an item is removed from a survivor's inventory
Related Events: Called before heal_success, defibrillator_used, upgrade_pack_used, but called after pills_used and adrenaline_used

  • userid (short) - player who dropped the weapon
  • item (string) - either a weapon such as 'tmp' or 'hegrenade', or an item such as 'nvgs'
  • propid (short) - entindex of the dropped weapon

weapon_drop_to_prop

When a player drops an item that turns into a prop, such as gas can, firework box, propane tank, oxygen tank, cola bottles, gnome, etc.

  • userid (short) - player who dropped the weapon
  • item (string) - weapon string "weapon_*"
  • propid (short) - entindex of the dropped weapon

break_breakable

Override from gameevents.res

  • userid (short) - userid of breaker
  • entindex (long) - entindex of thing breaking
  • material (byte) - BREAK_GLASS, BREAK_WOOD, etc
  • hulkonly (bool) - SF_BREAK_HULK_ONLY
  • achievement (short) - tag to identify achievement on the client

achievement_earned

  • player (byte) - entindex of the player
  • achievement (short) - achievement ID

spec_target_updated

  • None (None) -

spawner_give_item

A spawner has given a player an item (weapon, pills, ammo, health kit, etc)

  • userid (short) - Item recipient
  • item (string) - Name of item given
  • spawner (long) - entindex of the spawner entity

create_panic_event

A panic event has been created, though not necessarily started

  • userid (short) - player who was started the panic

explain_pills

  • subject (long) - The weapon_pain_pills spawner that will be indicated

explain_weapons

  • subject (long) - The weapon_pain_pills spawner that will be indicated

entity_visible

  • userid (short) - The player who sees the entity
  • subject (long) - Entindex of the entity they see
  • classname (string) - Classname of the entity they see
  • entityname (string) - name of the entity they see

weapon_spawn_visible

  • userid (short) - The player who sees the entity
  • subject (long) - Entindex of the entity they see
  • weaponname (string) - weapon name, or "melee"
  • subtype (string) - melee weapon name

boomer_near

  • userid (short) - The boomer
  • victim (short) - The survivor whom the boomer has gotten very close to

explain_pre_radio

explain the rescue radio will remind you to ready for the finale

  • userid (short) -
  • subject (long) -

started_pre_radio

explain the rescue radio will remind you to ready for the finale

  • userid (short) -
  • subject (long) -

explain_radio

explain the rescue radio will start the finale

  • userid (short) -
  • subject (long) -

explain_gas_truck

explain how pulling the lever on the gas truck will start the finale

  • userid (short) -
  • subject (long) - The lever

explain_panic_button

explain that pressing this button will start a panic event.

  • userid (short) -
  • subject (long) - The panic button

explain_elevator_button

explain how to operate the hospital elevator button.

  • userid (short) -
  • subject (long) - The button

explain_lift_button

explain how to operate the lift button.

  • userid (short) -
  • subject (long) - The lift button

explain_church_door

explain how to provoke the crazy church guy.

  • userid (short) -
  • subject (long) - The saferoom door

explain_emergency_door

explain how to open the emergency door.

  • userid (short) -
  • subject (long) - The door

explain_crane

explain how to lower the box on the crane.

  • userid (short) -
  • subject (long) - The lever/button

explain_bridge

explain how to close the gates to make a bridge.

  • userid (short) -
  • subject (long) - The button

explain_gas_can_panic

explain how to shoot the gas can.

  • userid (short) -
  • subject (long) - The gas can

explain_van_panic

explain how to start the van.

  • userid (short) -
  • subject (long) - The van

explain_mainstreet

explain how to lower the forklift

  • userid (short) -
  • subject (long) - The forklift

explain_train_lever

explain how to operate the train lever.

  • userid (short) -
  • subject (long) - The lever on box car

explain_disturbance

explain that disturbances (car alarm) attract infected horde

  • userid (short) -
  • subject (long) - The source of disturbance

explain_scavenge_goal

explain where to put the scavenge mode items

  • userid (short) -
  • subject (long) - The collection device

explain_scavenge_leave_area

explain that leaving the area, starts round

  • userid (short) -
  • subject (long) - The entity

begin_scavenge_overtime

enter overtime in a scavenge round

scavenge_round_start

a scavenge round has begun

  • round (byte) - round number, 1 based
  • firsthalf (bool) - start of the first half of the round


scavenge_round_halftime

a scavenge round is in halftime

scavenge_round_finished

a scavenge round has ended

scavenge_score_tied

a team just tied the score

versus_round_start

a versus round has begun

gascan_pour_blocked

can't pour the gas, someone else already is

  • userid (short) -

gascan_pour_completed

player finished pouring a can

  • userid (short) -

gascan_dropped

  • userid (short) -

gascan_pour_interrupted

we got interuppted pouring the gas can

  • userid (short) - person who interuppted us

scavenge_match_finished

  • winners (byte) - winner team

versus_match_finished

  • winners (byte) - winner team

use_target

a new use target has been found

  • targetid (long) - Entindex of the use target
  • classname (string) - classname of the use target
  • isprop (bool) - is this a prop that can be carried

player_use

Called: When a Survivor presses +USE on a useable entity. i.e. Weapons, items, doors
Related Events: If targetid is an item, item_pickup will be called prior to player_use

Note.pngNote: It will not fire when using a mounted gun.
  • userid (short) - userid of user
  • targetid (long) - Entindex of the used entity

friendly_fire

  • attacker (short) - player who fired the weapon
  • victim (short) - player who got shot
  • guilty (short) - player who was at fault
  • type (long) - damage type

gameinstructor_draw

  • None (None) -

gameinstructor_nodraw

  • None (None) -

request_weapon_stats

  • userid (short) - userid of user requesting their stats

player_talking_state

  • player (byte) -
  • istalking (bool) -

weapon_pickup

client event for player has picked up a weapon. If that does not work, try using the "item_pickup" event.

  • context (byte) - split screen message context
  • weaponid (byte) -
  • weaponslot (byte) -
  • dropped_by_infected (byte) - gender of the Infected that dropped the weapon


hunter_punched

  • userid (short) - player who caused ignition
  • hunteruserid (long) - user ID of Hunter
  • islunging (bool) - TRUE if the Hunter was in the act of lunging

hunter_headshot

  • userid (short) - player who made the headshot
  • hunteruserid (long) - user ID of Hunter
  • islunging (bool) - TRUE if the Hunter was in the act of lunging

zombie_ignited

  • userid (short) - player who caused ignition
  • gender (short) - gender (type) of the infected
  • entityid (long) - entity ID of Tank
  • victimname (string) - "Witch", "Tank", "Hunter", "Smoker", or "Infected"
  • fire_ammo (bool) - true if incendiary ammo was used

boomer_exploded

Related Events: Fires after player_death

  • userid (short) - Boomer that exploded
  • attacker (short) - player who caused the explosion
  • splashedbile (bool) - Exploding boomer splashed bile on Survivors

non_pistol_fired

  • userid (short) - User that fired a non-pistol weapon

weapon_fire_at_40

This is networked, special event for game instructor

  • userid (short) -
  • weapon (string) - used weapon name
  • weaponid (short) - used weapon ID
  • count (short) - number of bullets


total_ammo_below_40

sent for any ammo type, except those with max ammo 1, or infinite ammo, like pistols

  • userid (short) -

player_hurt_concise

Abbreviated version of 'player_hurt' that is networked

  • userid (short) - user ID who was hurt
  • attackerentid (long) - entity id who attacked, if attacker not a player, and userid therefore invalid
  • type (long) - damage type
  • dmg_health (short) - damage done to health


tank_killed

Issues: It will not fire if the tank is not a bot.

  • userid (short) - user ID of dead tank
  • attacker (short) - user id of killer
  • solo (bool) - TRUE if a player single-handedly killed the Tank
  • melee_only (bool) - TRUE if the tank was only killed by melee attacks (no blast, burn, or bullet damage)
  • l4d1_only (bool) - TRUE if l4d1 survivors inflicted damage and the l4d2 survivors did not)

tank_rock_killed

  • userid (short) - user id of killer


achievement_write_failed

Used for a notification message when an achievement fails to write

  • None (None) -


ghost_spawn_time

Used for clients to know how long until they become a ghost (and can spawn)

  • userid (short) - user ID of the player that is becoming a ghost
  • spawntime (short) - How long of a wait until player is a ghost


survival_at_30min

Used to know when we elapse 30 minutes on a survival map

survival_at_10min

Used to know when we elapse 10 minutes on a survival map

explain_pre_drawbridge

Point out the button that will start the gauntlet finale.

  • userid (short) -
  • subject (long) -

explain_drawbridge

  • userid (short) -
  • subject (long) -

explain_perimeter

  • userid (short) -
  • subject (long) -

explain_deactivate_alarm

  • userid (short) -
  • subject (long) -

explain_impound_lot

  • userid (short) -
  • subject (long) -

explain_decon

  • userid (short) -
  • subject (long) -

explain_mall_window

  • userid (short) -
  • subject (long) -

explain_mall_alarm

  • userid (short) -
  • subject (long) -

explain_coaster

  • userid (short) -
  • subject (long) -

explain_coaster_stop

  • userid (short) -
  • subject (long) -

explain_decon_wait

  • userid (short) -
  • subject (long) -

gauntlet_finale_start

explain_float

  • userid (short) -
  • subject (long) -

explain_ferry_button

  • userid (short) -
  • subject (long) -

explain_hatch_button

  • userid (short) -
  • subject (long) -

explain_shack_button

  • userid (short) -
  • subject (long) -

upgrade_incendiary_ammo

  • userid (short) -

upgrade_explosive_ammo

  • userid (short) -

receive_upgrade

  • userid (short) -
  • upgrade (string) -

explain_vehicle_arrival

  • subject (long) -

mounted_gun_start

  • userid (short) -
  • subject (long) -

mounted_gun_overheated

  • userid (short) -

explain_burger_sign

  • userid (short) -
  • subject (long) -

explain_carousel_button

  • userid (short) -
  • subject (long) -

explain_carousel_destination

  • userid (short) -
  • subject (long) -

explain_stage_lighting

  • userid (short) -
  • subject (long) -

explain_stage_finale_start

  • userid (short) -
  • subject (long) -

explain_stage_survival_start

  • userid (short) -
  • subject (long) -

ability_out_of_range

  • userid (short) -
  • ability (string) - ability classname

explain_stage_pyrotechnics

  • userid (short) -
  • subject (long) -

explain_c3m4_radio1

  • userid (short) -
  • subject (long) -

explain_c3m4_radio2

  • userid (short) -
  • subject (long) -

explain_gates_are_open

  • userid (short) -
  • subject (long) -

explain_c2m4_ticketbooth

  • userid (short) -
  • subject (long) -

explain_c3m4_rescue

  • userid (short) -
  • subject (long) -

explain_hotel_elevator_doors

  • userid (short) -
  • subject (long) -

explain_gun_shop_tanker

  • userid (short) -
  • subject (long) -

explain_gun_shop

  • userid (short) -
  • subject (long) -

explain_store_alarm

  • userid (short) -
  • subject (long) -

explain_store_item

  • userid (short) -
  • subject (long) -

explain_store_item_stop

  • userid (short) -
  • subject (long) -

explain_survival_generic

  • userid (short) -
  • subject (long) -

explain_survival_alarm

  • userid (short) -
  • subject (long) -

explain_survival_radio

  • userid (short) -
  • subject (long) -

explain_survival_carousel

  • userid (short) -
  • subject (long) -

explain_return_item

  • userid (short) -
  • subject (long) -

explain_save_items

  • userid (short) -
  • subject (long) -

spit_burst

Triggers even after Spitter's death.Called: Triggers when Spitter's spit hits the ground.

  • userid (short) -
  • subject (long) -


entered_spit

  • userid (short) -
  • subject (long) -

temp_c4m1_getgas

  • userid (short) -
  • subject (long) -

temp_c4m3_return_to_boat

  • userid (short) -
  • subject (long) -

explain_c1m4_finale

  • userid (short) -
  • subject (long) -

c1m4_scavenge_instructions

  • userid (short) -
  • subject (long) -

punched_clown

  • userid (short) - player who punched the clown

charger_killed

  • userid (short) - user ID of dead charger
  • attacker (short) - user id of killer
  • melee (bool) - TRUE if a player killed the charger with a melee weapon
  • charging (bool) - TRUE if the charger was charging when it died

spitter_killed

Called: Triggers in Spitter's death.

  • userid (short) - user ID of dead spitter
  • attacker (short) - user id of killer
  • has_spit (bool) - TRUE if the spitter spit at some point


jockey_ride

  • userid (short) - player who did the lunging
  • victim (short) - player that got lunged

jockey_ride_end

Fires in all cases where a jockey releases the survivor.

Note.pngNote:rescuer will return 0 when:
  • The jockey is being cleared by shoving.
  • Another special takes over the jockeyed survivor.
  • The commons kill the biled jockey.
  • The jockey incaps the survivor, including ledge-hangs.
  • The jockey is killed or stumbled by a charger impact.
Note.pngNote:
  • A jockey stumbled by a boomer explosion will return rescuer parameter as the boomer's userid.
  • Using Stagger() on the jockey will return rescuer parameter as the jockey's userid.
  • Using Stagger() on the survivor will return rescuer parameter as the survivor's userid.
  • userid (short) - player who did the lunging
  • victim (short) - player that got lunged
  • rescuer (short) - Who stopped it
  • ride_length (float) - Duration of our ride


jockey_punched

  • userid (short) - user ID of player that shoved the jockey
  • jockeyuserid (long) - user ID of Jockey
  • islunging (bool) - TRUE if Jockey was in the act of lunging

jockey_headshot

  • userid (short) - user ID of player that landed a headshot on the Jockey
  • jockeyuserid (long) - user ID of Jockey
  • islunging (bool) - TRUE if Jockey was in the act of lunging

jockey_killed

  • userid (short) - user ID of dead jockey
  • attacker (short) - user id of killer
  • weapon (string) - weapon name

non_melee_fired

  • userid (short) - User that fired a non-melee weapon

infected_decapitated

  • userid (short) - userid of the player who did the decapitation
  • weapon (string) - melee weapon name


upgrade_pack_added

  • upgradeid (short) -
  • userid (short) -

vomit_bomb_tank

  • userid (short) - userid of the player who used the bomb

triggered_car_alarm

  • userid (short) - user ID of player who activated car alarm

panic_event_finished

charger_charge_start

The moment when the charger starts chargingIssues: Called more than once per ability use. For consistency, check ability_use
Issues: Can be called after charger_charge_end. Use ability_use for an alternative start to end relationship.

  • userid (short) - user ID of the charger


charger_charge_end

  • userid (short) - user ID of the charger

charger_carry_start

The moment when the charger grabs a survivor

Icon-Bug.pngBug*:Will not fire when charger stops charging right after it carries a survivor, usually happens when the survivor is near a wall. Subsequently, charger_carry_end will not fire.
  • userid (short) - user ID of the charger
  • victim (short) - user ID of the player who was charged

charger_carry_end

The moment when the charger stops charging a survivor (and will soon start pummeling)

  • userid (short) - user ID of the charger
  • victim (short) - user ID of the player who was charged

charger_carry_kill

Note.pngNote: Seems to only work on competitive gamemodes, like versus.

When a charger kills a survivor with a carry.

  • userid (short) - user ID of the charger
  • victim (short) - user ID of the victim

charger_impact

When a charger impacts a survivor they aren't carrying

  • userid (short) - user ID of the charger
  • victim (short) - user ID of the player who was impacted

charger_pummel_start

The moment when the charger starts pummeling a survivor

  • userid (short) - user ID of the charger
  • victim (short) - user ID of the player who was charged

charger_pummel_end

When the charger is cleared from the survivor or the survivor dies.

Note.pngNote:
  • Killing the charger or survivor being pummeled to death will return rescuer as 0.
  • It will only return rescuer as the survivor's userid when staggered by pipe bomb, explosive ammo, propane/oxygen tank.
  • Using Stagger() on the survivor will return rescuer as 0.
  • Using Stagger() on the charger will return rescuer as the charger's userid.
  • userid (short) - user ID of the charger
  • victim (short) - user ID of the player who was charged
  • rescuer (short) - user ID of the player who rescued them
  • strongman_bell_knocked_off

    The arcade bell on c2m4_barns

    • userid (short) -
    • subject (short) -

    molotov_thrown

    • userid (short) -

    gas_can_forced_drop

    • userid (short) - player that forced the drop
    • victim (short) - player that dropped it

    explain_need_gnome_to_continue

    • none (none) -

    explain_survivor_glows_disabled

    • userid (short) - The player we're explaining to

    explain_item_glows_disabled

    • userid (short) - The player we're explaining to

    explain_rescue_disabled

    • userid (short) - The player we're explaining to

    explain_bodyshots_reduced

    • userid (short) - The player we're explaining to

    explain_witch_instant_kill

    • userid (short) - The player we're explaining to

    set_instructor_group_enabled

    • group (string) -
    • enabled (short) -

    stashwhacker_game_won

    • userid (short) -
    • subject (short) -

    versus_marker_reached

    • userid (short) -
    • marker (short) -

    start_score_animation

    survival_round_start

    scavenge_gas_can_destroyed

    • userid (short) - The player that destroyed it

    explain_sewer_gate

    • userid (short) -
    • subject (long) -

    explain_sewer_run

    • userid (short) -
    • subject (long) -

    explain_c6m3_finale

    • userid (short) -
    • subject (long) -

    finale_bridge_lowering

    • userid (short) -
    • subject (long) -

    m60_streak_ended

    I was holding down the m60 trigger, and now I'm not

    • none (none) -

    chair_charged

    • userid (short) -

    song_played

    • none (none) -

    foot_locker_opened

    • userid (short) -

    player_connect_full

    • userid (short) -

    player_say

    • userid (short) -
    • text (string) -