Half-Life 2: Deathmatch/Scripting/Game Events
This article lists game events in Half-Life 2: Deathmatch. These were retrieved from serverevents.res
, gameevents.res
and modevents.res
in the resource
folder.

params.class
, as class
is a reserved word in Squirrel. Instead, use string indexing like so: params["class"]

scripts/vscripts/
folder and run script_execute showevents
in console.achievement_earned
- player (byte) - entindex of the player
- achievement (short) - achievement ID
achievement_event
- achievement_name (string) - non-localized name of achievement
- cur_val (short) - # of steps toward achievement
- max_val (short) - total # of steps in achievement
achievement_increment
- achievement_id (long) - ID of achievement that went up
- cur_val (short) - # of steps toward achievement
- max_val (short) - total # of steps in achievement
ammo_pickup
- ammo_index (long)
- amount (long)
- total (long)
base_player_teleported
- entindex (short)
bonus_updated
- numadvanced (short)
- numbronze (short)
- numsilver (short)
- numgold (short)
break_breakable
- entindex (long)
- userid (short)
- material (byte) - BREAK_GLASS, BREAK_WOOD, etc
break_prop
- entindex (long)
- userid (short)
browse_replays
cart_updated
client_beginconnect
client tries to connect to server
- address (string) - Name we used to connect to the server
- ip (long)
- port (short) - server port
- source (string) - what caused us to attempt this connection? (blank for general command line, "serverbrowser", "quickplay", etc)
client_connected
client has completed the challenge / handshake process and is in SIGNONSTATE_CONNECTED
- address (string) - Name we used to connect to the server
- ip (long)
- port (short) - server port
client_disconnect
client side disconnect message
- message (string) - Why are we disconnecting? This could be a localization token or an English-language string
client_fullconnect
- address (string) - Name we used to connect to the server
- ip (long)
- port (short) - server port
econ_inventory_connected
enter_vehicle
- vehicle (long) - entindex of the vehicle
entered_performance_mode
entity_killed
- entindex_killed (long)
- entindex_attacker (long)
- entindex_inflictor (long)
- damagebits (long)
flare_ignite_npc
- entindex (long) - entity ignited
game_end
a game ended
- winner (byte) - winner team/user id
game_init
sent when a new game is started
game_message
a message send by game logic to everyone
- target (byte) - 0 = console, 1 = HUD
- text (string) - the message text
game_newmap
send when new map is completely loaded
- mapname (string) - map name
game_start
a new game starts
- roundslimit (long) - max round
- timelimit (long) - time limit
- fraglimit (long) - frag limit
- objective (string) - round objective
gameui_activate
gameui_hide
gc_lost_session
gc_new_session
helicopter_grenade_punt_miss
hltv_changed_mode
- oldmode (short)
- newmode (short)
- obs_target (short)
hltv_changed_target
- mode (short)
- old_target (short)
- obs_target (short)
host_quit
inventory_updated
item_schema_initialized
leave_vehicle
- vehicle (long) - entindex of the vehicle
physgun_pickup
- entindex (long) - entity picked up
player_activate
- userid (short) - user ID on server
player_changename
- userid (short) - user ID on server
- oldname (string) - players old (current) name
- newname (string) - players new name
player_chat
a public player chat
- teamonly (bool) - true if team only chat
- userid (short) - chatting player
- text (string) - chat text
player_class
a player changed his class
- userid (short) - user ID on server
- class (string) - new player class / model
player_connect
a new client connected - we should only really have server listeners for this, due to the IP being exposed
- name (string) - player name
- index (byte) - player slot (entity index-1)
- userid (short) - user ID on server (unique on server)
- networkid (string) - player network (i.e steam) id
- address (string) - ip:port
- bot (short) - is a bot
player_connect_client
a new client connected
- name (string) - player name
- index (byte) - player slot (entity index-1)
- userid (short) - user ID on server (unique on server)
- networkid (string) - player network (i.e steam) id
- bot (short) - is a bot
player_death
a game event, name may be 32 charaters long
- userid (short) - user ID who died
- attacker (short) - user ID who killed
- weapon (string) - weapon name killed used
player_disconnect
a client was disconnected
- userid (short) - user ID on server
- reason (string) - "self", "kick", "ban", "cheat", "error"
- name (string) - player name
- networkid (string) - player network (i.e steam) id
- bot (short) - is a bot
player_hintmessage
- hintmessage (string) - localizable string of a hint
player_hurt
- userid (short) - player index who was hurt
- attacker (short) - player index who attacked
- health (byte) - remaining health points
player_info
a player changed his name
- name (string) - player name
- index (byte) - player slot (entity index-1)
- userid (short) - user ID on server (unique on server)
- networkid (string) - player network (i.e steam) id
- bot (bool) - true if player is a AI bot
player_say
- userid (short) - user ID on server
- text (string) - the say text
player_score
players scores changed
- userid (short) - user ID on server
- kills (short) - # of kills
- deaths (short) - # of deaths
- score (short) - total game score
player_shoot
player shoot his weapon
- userid (short) - user ID on server
- weapon (byte) - weapon ID
- mode (byte) - weapon mode
player_spawn
player spawned in game
- 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
- autoteam (bool) - true if the player was auto assigned to the team
- silent (bool) - if true wont print the team join messages
- name (string) - player's name
player_use
- userid (short) - user ID on server
- entity (short) - entity used by player
ragdoll_dissolved
- entindex (long)
replay_saved
replay_youtube_stats
- views (long)
- likes (long)
- favorited (long)
round_end
- winner (byte) - winner team/user i
- reason (byte) - reson why team won
- message (string) - end round message
round_start
- timelimit (long) - round time limit in seconds
- fraglimit (long) - frag limit in seconds
- objective (string) - round objective
server_addban
- name (string) - player name
- userid (short) - user ID on server
- networkid (string) - player network (i.e steam) id
- ip (string) - IP address
- duration (string) - length of the ban
- by (string) - banned by...
- kicked (bool) - whether the player was also kicked
server_changelevel_failed
- levelname (string) - The level name that failed changelevel
server_cvar
a server console var has changed
- cvarname (string) - cvar name, eg "mp_roundtime"
- cvarvalue (string) - new cvar value
server_message
a generic server message
- text (string) - the message text
server_removeban
- networkid (string) - player network (i.e steam) id
- ip (string) - IP address
- by (string) - removed by...
server_shutdown
server shut down
- reason (string) - reason why server was shut down
server_spawn
send once a server starts
- hostname (string) - public host name
- address (string) - hostame, IP or DNS name
- ip (long)
- port (short) - server port
- game (string) - game dir
- mapname (string) - map name
- maxplayers (long) - max players
- os (string) - WIN32, LINUX
- dedicated (bool) - true if dedicated server
- password (bool) - true if password protected
single_player_death
spec_target_updated
store_pricesheet_updated
take_armor
- amount (long)
- total (long)
take_health
- amount (long)
- total (long)
- entindex (long)
team_info
info about team
- teamid (byte) - unique team id
- teamname (string) - team name eg "Team Blue"
team_score
team score changed
- teamid (byte) - team id
- score (short) - total team score
teamplay_broadcast_audio
emits a sound to everyone on a team
- team (byte) - unique team id
- sound (string) - name of the sound to emit
teamplay_round_start
round restart
- full_reset (bool) - is this a full reset of the map
user_data_downloaded
fired when achievements/stats are downloaded from Steam or XBox Live
vote_cast
- vote_option (byte) - which option the player voted on
- team (short)
- entityid (long) - entity id of the voter
- voteidx (long)
vote_changed
- vote_option1 (byte)
- vote_option2 (byte)
- vote_option3 (byte)
- vote_option4 (byte)
- vote_option5 (byte)
- potentialVotes (byte)
- voteidx (long)
vote_ended
vote_failed
- team (byte)
- voteidx (long)
vote_options
- count (byte) - Number of options - up to MAX_VOTE_OPTIONS
- option1 (string)
- option2 (string)
- option3 (string)
- option4 (string)
- option5 (string)
- voteidx (long)
vote_passed
- details (string)
- param1 (string)
- team (byte)
- voteidx (long)
vote_started
- issue (string)
- param1 (string)
- team (byte)
- initiator (long) - entity id of the player who initiated the vote
- voteidx (long)
weapon_equipped
- class (string)
- entindex (long)
- owner_entindex (long)