Counter-Strike: Source/Scripting/Game Events
This article lists game events in Counter-Strike Source. 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_earned_local
- 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)
bomb_abortdefuse
- userid (short) - player who was defusing
bomb_abortplant
- userid (short) - player who is planting the bomb
- site (short) - bombsite index
bomb_beep
- entindex (long) - c4 entity
bomb_begindefuse
- userid (short) - player who is defusing
- haskit (bool)
bomb_beginplant
- userid (short) - player who is planting the bomb
- site (short) - bombsite index
bomb_defused
- userid (short) - player who defused the bomb
- site (short) - bombsite index
bomb_dropped
- userid (short) - player who dropped the bomb
bomb_exploded
- userid (short) - player who planted the bomb
- site (short) - bombsite index
bomb_pickup
- userid (short) - player who picked up the bomb
bomb_planted
- userid (short) - player who planted the bomb
- site (short) - bombsite index
- posx (short) - position x
- posy (short) - position y
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
bullet_impact
Impact position of a bullet fired by a weapon. This is sent for every impact including penetration.
- userid (short) - Player ID who fired
- x (float) - world coordinate X
- y (float) - world coordinate Y
- z (float) - world coordinate Z
cart_updated
christmas_gift_grab
- userid (short)
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
cs_win_panel_match
- t_score (short)
- ct_score (short)
- t_kd (float)
- ct_kd (float)
- t_objectives_done (short)
- ct_objectives_done (short)
- t_money_earned (long)
- ct_money_earned (long)
cs_win_panel_round
- show_timer_defend (bool)
- show_timer_attack (bool)
- timer_time (short)
- final_event (byte) - define in cs_gamerules.h
- funfact_token (string)
- funfact_player (short)
- funfact_data1 (long)
- funfact_data2 (long)
- funfact_data3 (long)
door_moving
- entindex (long)
- userid (short)
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
flashbang_detonate
- userid (short)
- x (float)
- y (float)
- z (float)
freezecam_started
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
grenade_bounce
- userid (short)
hegrenade_detonate
- userid (short)
- x (float)
- y (float)
- z (float)
helicopter_grenade_punt_miss
hide_freezepanel
hltv_changed_mode
- oldmode (short)
- newmode (short)
- obs_target (short)
hltv_changed_target
- mode (short)
- old_target (short)
- obs_target (short)
host_quit
hostage_call_for_help
- hostage (short) - hostage entity index
hostage_follows
- userid (short) - player who touched the hostage
- hostage (short) - hostage entity index
hostage_hurt
- userid (short) - player who hurt the hostage
- hostage (short) - hostage entity index
hostage_killed
- userid (short) - player who killed the hostage
- hostage (short) - hostage entity index
hostage_rescued
- userid (short) - player who rescued the hostage
- hostage (short) - hostage entity index
- site (short) - rescue site index
hostage_rescued_all
hostage_stops_following
- userid (short) - player who rescued the hostage
- hostage (short) - hostage entity index
inventory_updated
item_pickup
- userid (short)
- item (string) - either a weapon such as 'tmp' or 'hegrenade', or an item such as 'nvgs'
item_schema_initialized
leave_vehicle
- vehicle (long) - entindex of the vehicle
match_end_conditions
- frags (long)
- max_rounds (long)
- win_rounds (long)
- time (long)
- area (long)
- blocked (bool)
physgun_pickup
- entindex (long) - entity picked up
player_activate
- userid (short) - user ID on server
player_avenged_teammate
- avenger_id (short)
- avenged_player_id (short)
player_blind
- userid (short)
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
- 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 characters long
- userid (short) - user ID who died
- attacker (short) - user ID who killed
- weapon (string) - weapon name killer used
- headshot (bool) - singals a headshot
- dominated (short) - did killer dominate victim with this kill
- revenge (short) - did killer get revenge on victim with this kill
player_decal
- userid (short)
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_falldamage
- userid (short)
- damage (float)
player_footstep
- userid (short)
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
- armor (byte) - remaining armor points
- weapon (string) - weapon name attacker used, if not the world
- dmg_health (byte) - damage done to health
- dmg_armor (byte) - damage done to armor
- hitgroup (byte) - hitgroup that was damaged
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_jump
- userid (short)
player_radio
- userid (short)
- slot (short)
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

weapon_fire
instead.- userid (short) - user ID on server
- weapon (byte) - weapon ID
- mode (byte) - weapon mode
player_spawn
This event will be sent once when the player entity is created, i.e. they joined the server or they are loading in after a map change. In this case, their team is equal to 0 (unassigned). Each time afterwards, the event will only be fired when the player spawns alive on terrorist or counter-terrorist. This is also fired once when SourceTV is loaded in.
- userid (short) - user ID on server
player_stats_updated
- forceupload (bool)
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

Use
input- 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_freeze_end
round_mvp
- userid (short)
- reason (short)
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
show_freezepanel
- killer (short) - entindex of the killer entity
single_player_death
smokegrenade_detonate
- userid (short)
- x (float)
- y (float)
- z (float)
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
vip_escaped
- userid (short) - player who was the VIP
vip_killed
- userid (short) - player who was the VIP
- attacker (short) - user ID who killed the VIP
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)
weapon_fire
Sent when a weapon is fired. Also sent when attacking with the knife.
- userid (short)
- weapon (string) - weapon name used
weapon_fire_on_empty
Sent when a weapon is attempted to be fired with no ammo remaining.
- userid (short)
- weapon (string) - weapon name used
weapon_reload
- userid (short)
weapon_zoom
- userid (short)