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