Events

As demo files are parsed events are emitted. Callbacks can be registered for each event. The arguments passed to the callbacks are described for each event below.


baseline_create

An instance baseline has been created.

Callback arguments:
class_id:Server class ID.
table:Data table for this server class.
baseline:Instance baseline object.
change

An entity’s property has been changed.

Callback arguments:
entity:Entity being created or updated.
table_name:Table which contains the property being updated.
var_name:Name of property being updated.
value:New value of property.
datatable_ready

Data table has been created and all pending baselines have been handled.

Callback arguments:
table:Data table instance
demo_packet

An event for each type of demo packet will be emitted. Demo packets are instances of SVC and NET classes.

Callback arguments:
class_name:Name of packet.
packet:Instance of approprite NET_ or SVC_ class.

The following is a list of all demo packet types:

  • net_NOP
  • net_Disconnect
  • net_File
  • net_SplitScreenUser
  • net_Tick
  • net_StringCmd
  • net_SetConVar
  • net_SignonState
  • net_PlayerAvatarData
  • svc_ServerInfo
  • svc_SendTable
  • svc_ClassInfo
  • svc_SetPause
  • svc_CreateStringTable
  • svc_UpdateStringTable
  • svc_VoiceInit
  • svc_VoiceData
  • svc_Print
  • svc_Sounds
  • svc_SetView
  • svc_FixAngle
  • svc_CrosshairAngle
  • svc_BSPDecal
  • svc_SplitScreen
  • svc_UserMessage
  • svc_EntityMessage
  • svc_GameEvent
  • svc_PacketEntities
  • svc_TempEntities
  • svc_Prefetch
  • svc_Menu
  • svc_GameEventList
  • svc_GetCvarValue
  • svc_PaintmapData
  • svc_CmdKeyValues
  • svc_EncryptedData
  • svc_HltvReplay
  • svc_Broadcast_Command
end
Processing has finished.
game_event

An event for the specific type of game event will be emitted.

Callback arguments:
event:Game event object.
msg:The original message of type SVC_GameEvent which triggered this event.

The following is a list of game events for CS:GO:

  • achievement_earned
  • achievement_earned_local
  • achievement_event
  • achievement_increment
  • achievement_info_loaded
  • achievement_write_failed
  • add_bullet_hit_marker
  • add_player_sonar_icon
  • ammo_pickup
  • announce_phase_end
  • assassination_target_killed
  • begin_new_match
  • bomb_abortdefuse
  • bomb_abortplant
  • bomb_beep
  • bomb_begindefuse
  • bomb_beginplant
  • bomb_defused
  • bomb_dropped
  • bomb_exploded
  • bomb_pickup
  • bomb_planted
  • bonus_updated
  • bot_takeover
  • break_breakable
  • break_prop
  • bullet_impact
  • buymenu_close
  • buymenu_open
  • buytime_ended
  • cart_updated
  • client_disconnect
  • client_loadout_changed
  • cs_game_disconnected
  • cs_intermission
  • cs_match_end_restart
  • cs_pre_restart
  • cs_prev_next_spectator
  • cs_round_final_beep
  • cs_round_start_beep
  • cs_win_panel_match
  • cs_win_panel_round
  • decoy_detonate
  • decoy_firing
  • decoy_started
  • defuser_dropped
  • defuser_pickup
  • difficulty_changed
  • dm_bonus_weapon_start
  • door_moving
  • enable_restart_voting
  • endmatch_cmm_start_reveal_items
  • endmatch_mapvote_selecting_map
  • enter_bombzone
  • enter_buyzone
  • enter_rescue_zone
  • entity_killed
  • entity_visible
  • exit_bombzone
  • exit_buyzone
  • exit_rescue_zone
  • finale_start
  • flare_ignite_npc
  • flashbang_detonate
  • freezecam_started
  • game_end
  • game_init
  • gameinstructor_draw
  • gameinstructor_nodraw
  • game_message
  • game_newmap
  • game_start
  • gameui_hidden
  • gc_connected
  • gg_bonus_grenade_achieved
  • gg_final_weapon_achieved
  • gg_killed_enemy
  • gg_leader
  • gg_player_impending_upgrade
  • gg_player_levelup
  • ggprogressive_player_levelup
  • gg_reset_round_start_sounds
  • gg_team_leader
  • ggtr_player_levelup
  • grenade_bounce
  • grenade_thrown
  • hegrenade_detonate
  • helicopter_grenade_punt_miss
  • hide_freezepanel
  • hltv_cameraman
  • hltv_changed_mode
  • hltv_changed_target
  • hltv_chase
  • hltv_chat
  • hltv_fixed
  • hltv_message
  • hltv_rank_camera
  • hltv_rank_entity
  • hltv_status
  • hltv_title
  • hostage_call_for_help
  • hostage_follows
  • hostage_hurt
  • hostage_killed
  • hostage_rescued
  • hostage_rescued_all
  • hostage_stops_following
  • hostname_changed
  • inferno_expire
  • inferno_extinguish
  • inferno_startburn
  • inspect_weapon
  • instructor_server_hint_create
  • instructor_server_hint_stop
  • inventory_updated
  • item_equip
  • item_found
  • item_pickup
  • item_purchase
  • item_remove
  • item_schema_initialized
  • items_gifted
  • jointeam_failed
  • map_transition
  • match_end_conditions
  • material_default_complete
  • mb_input_lock_cancel
  • mb_input_lock_success
  • molotov_detonate
  • nav_blocked
  • nav_generate
  • nextlevel_changed
  • other_death
  • physgun_pickup
  • player_activate
  • player_avenged_teammate
  • player_blind
  • player_changename
  • player_chat
  • player_class
  • player_connect
  • player_connect_full
  • player_death
  • player_decal
  • player_disconnect
  • player_falldamage
  • player_footstep
  • player_given_c4
  • player_hintmessage
  • player_hurt
  • player_info
  • player_jump
  • player_radio
  • player_reset_vote
  • player_say
  • player_score
  • player_shoot
  • player_spawn
  • player_spawned
  • player_stats_updated
  • player_team
  • player_use
  • ragdoll_dissolved
  • read_game_titledata
  • repost_xbox_achievements
  • reset_game_titledata
  • reset_player_controls
  • round_announce_final
  • round_announce_last_round_half
  • round_announce_match_point
  • round_announce_match_start
  • round_announce_warmup
  • round_end
  • round_end_upload_stats
  • round_freeze_end
  • round_mvp
  • round_officially_ended
  • round_poststart
  • round_prestart
  • round_start
  • round_start_pre_entity
  • round_time_warning
  • seasoncoin_levelup
  • server_addban
  • server_cvar
  • server_message
  • server_pre_shutdown
  • server_removeban
  • server_shutdown
  • server_spawn
  • set_instructor_group_enabled
  • sfuievent
  • show_freezepanel
  • silencer_detach
  • silencer_off
  • silencer_on
  • smokegrenade_detonate
  • smokegrenade_expired
  • spec_mode_updated
  • spec_target_updated
  • start_halftime
  • start_vote
  • store_pricesheet_updated
  • survival_announce_phase
  • switch_team
  • tagrenade_detonate
  • teamchange_pending
  • team_info
  • teamplay_broadcast_audio
  • teamplay_round_start
  • team_score
  • tournament_reward
  • tr_exit_hint_trigger
  • trial_time_expired
  • tr_mark_best_time
  • tr_mark_complete
  • tr_player_flashbanged
  • tr_show_exit_msgbox
  • tr_show_finish_msgbox
  • ugc_file_download_finished
  • ugc_file_download_start
  • ugc_map_download_error
  • ugc_map_info_received
  • ugc_map_unsubscribed
  • update_matchmaking_stats
  • user_data_downloaded
  • verify_client_hit
  • vip_escaped
  • vip_killed
  • vote_cast
  • vote_changed
  • vote_ended
  • vote_failed
  • vote_options
  • vote_passed
  • vote_started
  • weapon_fire
  • weapon_fire_on_empty
  • weapon_outofammo
  • weapon_reload
  • weapon_zoom
  • weapon_zoom_rifle
  • write_game_titledata
  • write_profile_data
string_table_update

An entry in a string table has been updated.

Callback arguments:
table:String table instance.
index:Index of entry being updated.
entry:The updated entry.
user_data:User data for the updated entry.
tick_start

Start of new game tick.

Callback arguments:
current_tick:Tick which has just started.
tick_end

End of game tick.

Callback arguments:
current_tick:Tick which has just ended.
user_message

An event for the specific type of user message will be emitted for each user message command. A callback can be added for each specific type of user message.

def um_chat(msg_type, msg):
    assert msg_type == 'SayText2'

d = demofile(...)
d.add_callback('SayText2', um_chat)
Callback arguments:
message_type:One of types listed below.
message:Instance of the specied user message class.

The following is a list of all user message types:

  • VGUIMenu
  • Geiger
  • Train
  • HudText
  • SayText
  • SayText2
  • TextMsg
  • HudMsg
  • ResetHud
  • GameTitle
  • Shake
  • Fade
  • Rumble
  • CloseCaption
  • CloseCaptionDirect
  • SendAudio
  • RawAudio
  • VoiceMask
  • RequestState
  • Damage
  • RadioText
  • HintText
  • KeyHintText
  • ProcessSpottedEntityUpdate
  • ReloadEffect
  • AdjustMoney
  • UpdateTeamMoney
  • StopSpectatorMode
  • KillCam
  • DesiredTimescale
  • CurrentTimescale
  • AchievementEvent
  • MatchEndConditions
  • DisconnectToLobby
  • PlayerStatsUpdate
  • DisplayInventory
  • WarmupHasEnded
  • ClientInfo
  • XRankGet
  • XRankUpd
  • CallVoteFailed
  • VoteStart
  • VotePass
  • VoteFailed