Team Fortress 2/Scripting/Game Events: Difference between revisions
No edit summary |
(Distinguished Clientside events based on the SDK 2013 Build of Team Fortress 2) |
||
Line 3: | Line 3: | ||
{{warning|Some events have parameter 'class' which cannot be accessed with dot syntax, i.e. <code>params.class</code>, as <code>class</code> is a reserved word in Squirrel. Instead, use string indexing like so: <code>params["class"]</code>}} | {{warning|Some events have parameter 'class' which cannot be accessed with dot syntax, i.e. <code>params.class</code>, as <code>class</code> is a reserved word in Squirrel. Instead, use string indexing like so: <code>params["class"]</code>}} | ||
{{tip|To see what events fire during the game, download [https://raw.githubusercontent.com/ficool2/vscript_tf/refs/heads/main/scripts/vscripts/showevents.nut this script] (right click and ''Save Page''), place it into your <code>tf/scripts/vscripts/</code> folder and run <code>script_execute showevents</code> in console.}} | {{tip|To see what events fire during the game, download [https://raw.githubusercontent.com/ficool2/vscript_tf/refs/heads/main/scripts/vscripts/showevents.nut this script] (right click and ''Save Page''), place it into your <code>tf/scripts/vscripts/</code> folder and run <code>script_execute showevents</code> in console.}} | ||
{{todo| | {{todo|Check which events are shared (if possible?)}} | ||
== achievement_earned == | == Serverside == | ||
==== achievement_earned ==== | |||
* <b>player</b> <small>(byte)</small> - entindex of the player | * <b>player</b> <small>(byte)</small> - entindex of the player | ||
* <b>achievement</b> <small>(short)</small> - achievement ID | * <b>achievement</b> <small>(short)</small> - achievement ID | ||
== | === achievement_event === | ||
== | |||
* <b>achievement_name</b> <small>(string)</small> - non-localized name of achievement | * <b>achievement_name</b> <small>(string)</small> - non-localized name of achievement | ||
* <b>cur_val</b> <small>(short)</small> - # of steps toward achievement | * <b>cur_val</b> <small>(short)</small> - # of steps toward achievement | ||
* <b>max_val</b> <small>(short)</small> - total # of steps in achievement | * <b>max_val</b> <small>(short)</small> - total # of steps in achievement | ||
== achievement_increment == | === achievement_increment === | ||
* <b>achievement_id</b> <small>(long)</small> - ID of achievement that went up | * <b>achievement_id</b> <small>(long)</small> - ID of achievement that went up | ||
* <b>cur_val</b> <small>(short)</small> - # of steps toward achievement | * <b>cur_val</b> <small>(short)</small> - # of steps toward achievement | ||
* <b>max_val</b> <small>(short)</small> - total # of steps in achievement | * <b>max_val</b> <small>(short)</small> - total # of steps in achievement | ||
== | === ammo_pickup === | ||
== | |||
* <b>ammo_index</b> <small>(long)</small> | * <b>ammo_index</b> <small>(long)</small> | ||
* <b>amount</b> <small>(long)</small> | * <b>amount</b> <small>(long)</small> | ||
* <b>total</b> <small>(long)</small> | * <b>total</b> <small>(long)</small> | ||
== arena_match_maxstreak == | === arena_match_maxstreak === | ||
* <b>team</b> <small>(byte)</small> | * <b>team</b> <small>(byte)</small> | ||
* <b>streak</b> <small>(byte)</small> | * <b>streak</b> <small>(byte)</small> | ||
== | === arena_round_start === | ||
== | |||
called when round is active, players can move | called when round is active, players can move | ||
== arena_win_panel == | === arena_win_panel === | ||
* <b>panel_style</b> <small>(byte)</small> - for client to determine layout | * <b>panel_style</b> <small>(byte)</small> - for client to determine layout | ||
* <b>winning_team</b> <small>(byte)</small> | * <b>winning_team</b> <small>(byte)</small> | ||
Line 83: | Line 74: | ||
* <b>player_6_kills</b> <small>(short)</small> | * <b>player_6_kills</b> <small>(short)</small> | ||
== arrow_impact == | === arrow_impact === | ||
* <b>attachedEntity</b> <small>(short)</small> | * <b>attachedEntity</b> <small>(short)</small> | ||
* <b>shooter</b> <small>(short)</small> | * <b>shooter</b> <small>(short)</small> | ||
Line 96: | Line 87: | ||
* <b>isCrit</b> <small>(bool)</small> | * <b>isCrit</b> <small>(bool)</small> | ||
== | === bonus_updated === | ||
== | |||
* <b>numadvanced</b> <small>(short)</small> | * <b>numadvanced</b> <small>(short)</small> | ||
* <b>numbronze</b> <small>(short)</small> | * <b>numbronze</b> <small>(short)</small> | ||
Line 105: | Line 93: | ||
* <b>numgold</b> <small>(short)</small> | * <b>numgold</b> <small>(short)</small> | ||
== break_breakable == | === break_breakable === | ||
* <b>entindex</b> <small>(long)</small> | * <b>entindex</b> <small>(long)</small> | ||
* <b>userid</b> <small>(short)</small> | * <b>userid</b> <small>(short)</small> | ||
* <b>material</b> <small>(byte)</small> - BREAK_GLASS, BREAK_WOOD, etc | * <b>material</b> <small>(byte)</small> - BREAK_GLASS, BREAK_WOOD, etc | ||
== break_prop == | === break_prop === | ||
* <b>entindex</b> <small>(long)</small> | * <b>entindex</b> <small>(long)</small> | ||
* <b>userid</b> <small>(short)</small> | * <b>userid</b> <small>(short)</small> | ||
== | === building_healed === | ||
== | |||
* <b>building</b> <small>(short)</small> | * <b>building</b> <small>(short)</small> | ||
* <b>healer</b> <small>(short)</small> | * <b>healer</b> <small>(short)</small> | ||
* <b>amount</b> <small>(short)</small> | * <b>amount</b> <small>(short)</small> | ||
== | === christmas_gift_grab === | ||
== | |||
* <b>userid</b> <small>(short)</small> | * <b>userid</b> <small>(short)</small> | ||
== cl_drawline == | === cl_drawline === | ||
* <b>player</b> <small>(byte)</small> - index of the player | * <b>player</b> <small>(byte)</small> - index of the player | ||
* <b>panel</b> <small>(byte)</small> - type of panel | * <b>panel</b> <small>(byte)</small> - type of panel | ||
Line 138: | Line 117: | ||
* <b>y</b> <small>(float)</small> | * <b>y</b> <small>(float)</small> | ||
== client_beginconnect == | === client_beginconnect === | ||
client tries to connect to server | client tries to connect to server | ||
* <b>address</b> <small>(string)</small> - Name we used to connect to the server | * <b>address</b> <small>(string)</small> - Name we used to connect to the server | ||
Line 145: | Line 124: | ||
* <b>source</b> <small>(string)</small> - what caused us to attempt this connection? (blank for general command line, "serverbrowser", "quickplay", etc) | * <b>source</b> <small>(string)</small> - what caused us to attempt this connection? (blank for general command line, "serverbrowser", "quickplay", etc) | ||
== client_connected == | === client_connected === | ||
client has completed the challenge / handshake process and is in SIGNONSTATE_CONNECTED | client has completed the challenge / handshake process and is in SIGNONSTATE_CONNECTED | ||
* <b>address</b> <small>(string)</small> - Name we used to connect to the server | * <b>address</b> <small>(string)</small> - Name we used to connect to the server | ||
Line 151: | Line 130: | ||
* <b>port</b> <small>(short)</small> - server port | * <b>port</b> <small>(short)</small> - server port | ||
== client_disconnect == | === client_disconnect === | ||
client side disconnect message | client side disconnect message | ||
* <b>message</b> <small>(string)</small> - Why are we disconnecting? This could be a localization token or an English-language string | * <b>message</b> <small>(string)</small> - Why are we disconnecting? This could be a localization token or an English-language string | ||
== client_fullconnect == | === client_fullconnect === | ||
* <b>address</b> <small>(string)</small> - Name we used to connect to the server | * <b>address</b> <small>(string)</small> - Name we used to connect to the server | ||
* <b>ip</b> <small>(long)</small> | * <b>ip</b> <small>(long)</small> | ||
* <b>port</b> <small>(short)</small> - server port | * <b>port</b> <small>(short)</small> - server port | ||
== competitive_stats_update == | === competitive_stats_update === | ||
* <b>index</b> <small>(short)</small> - entindex of the player | * <b>index</b> <small>(short)</small> - entindex of the player | ||
* <b>kills_rank</b> <small>(byte)</small> - num std deviations above | * <b>kills_rank</b> <small>(byte)</small> - num std deviations above | ||
Line 168: | Line 147: | ||
* <b>support_rank</b> <small>(byte)</small> | * <b>support_rank</b> <small>(byte)</small> | ||
== competitive_victory == | === competitive_victory === | ||
== conga_kill == | === conga_kill === | ||
* <b>index</b> <small>(short)</small> - entindex of the player | * <b>index</b> <small>(short)</small> - entindex of the player | ||
== controlpoint_endtouch == | === controlpoint_endtouch === | ||
* <b>player</b> <small>(short)</small> - entindex of the player | * <b>player</b> <small>(short)</small> - entindex of the player | ||
* <b>area</b> <small>(short)</small> - index of the control point area | * <b>area</b> <small>(short)</small> - index of the control point area | ||
== controlpoint_fake_capture == | === controlpoint_fake_capture === | ||
* <b>player</b> <small>(short)</small> - entindex of the player | * <b>player</b> <small>(short)</small> - entindex of the player | ||
* <b>int_data</b> <small>(short)</small> | * <b>int_data</b> <small>(short)</small> | ||
== controlpoint_fake_capture_mult == | === controlpoint_fake_capture_mult === | ||
* <b>player</b> <small>(short)</small> - entindex of the player | * <b>player</b> <small>(short)</small> - entindex of the player | ||
* <b>int_data</b> <small>(short)</small> | * <b>int_data</b> <small>(short)</small> | ||
== | === controlpoint_pulse_element === | ||
== | |||
* <b>player</b> <small>(short)</small> - entindex of the player | * <b>player</b> <small>(short)</small> - entindex of the player | ||
== controlpoint_starttouch == | === controlpoint_starttouch === | ||
* <b>player</b> <small>(short)</small> - entindex of the player | * <b>player</b> <small>(short)</small> - entindex of the player | ||
* <b>area</b> <small>(short)</small> - index of the control point area | * <b>area</b> <small>(short)</small> - index of the control point area | ||
== | === controlpoint_updatecapping === | ||
== | |||
* <b>index</b> <small>(short)</small> - index of the cap being updated | * <b>index</b> <small>(short)</small> - index of the cap being updated | ||
== controlpoint_updateimages == | === controlpoint_updateimages === | ||
* <b>index</b> <small>(short)</small> - index of the cap being updated | * <b>index</b> <small>(short)</small> - index of the cap being updated | ||
== controlpoint_updatelayout == | === controlpoint_updatelayout === | ||
* <b>index</b> <small>(short)</small> - index of the cap being updated | * <b>index</b> <small>(short)</small> - index of the cap being updated | ||
== controlpoint_updateowner == | === controlpoint_updateowner === | ||
* <b>index</b> <small>(short)</small> - index of the cap being updated | * <b>index</b> <small>(short)</small> - index of the cap being updated | ||
== cross_spectral_bridge == | === cross_spectral_bridge === | ||
* <b>player</b> <small>(short)</small> - userid of the player that crossed | * <b>player</b> <small>(short)</small> - userid of the player that crossed | ||
== crossbow_heal == | === crossbow_heal === | ||
* <b>healer</b> <small>(byte)</small> - userid of the Healer | * <b>healer</b> <small>(byte)</small> - userid of the Healer | ||
* <b>target</b> <small>(byte)</small> - userid of the player that got hit | * <b>target</b> <small>(byte)</small> - userid of the player that got hit | ||
* <b>amount</b> <small>(short)</small> - amount that was healed | * <b>amount</b> <small>(short)</small> - amount that was healed | ||
== ctf_flag_captured == | === ctf_flag_captured === | ||
* <b>capping_team</b> <small>(short)</small> | * <b>capping_team</b> <small>(short)</small> | ||
* <b>capping_team_score</b> <small>(short)</small> | * <b>capping_team_score</b> <small>(short)</small> | ||
== damage_mitigated == | === damage_mitigated === | ||
* <b>mitigator</b> <small>(byte)</small> - userid of the player who provided the mitigation | * <b>mitigator</b> <small>(byte)</small> - userid of the player who provided the mitigation | ||
* <b>damaged</b> <small>(byte)</small> - userid of the player who took the damage | * <b>damaged</b> <small>(byte)</small> - userid of the player who took the damage | ||
Line 232: | Line 201: | ||
* <b>itemdefindex</b> <small>(short)</small> - defindex of the item that provided the mitigation | * <b>itemdefindex</b> <small>(short)</small> - defindex of the item that provided the mitigation | ||
== damage_prevented == | === damage_prevented === | ||
* <b>preventor</b> <small>(short)</small> - Who prevented the damage | * <b>preventor</b> <small>(short)</small> - Who prevented the damage | ||
* <b>victim</b> <small>(short)</small> - Who took the damage that was prevented | * <b>victim</b> <small>(short)</small> - Who took the damage that was prevented | ||
Line 238: | Line 207: | ||
* <b>condition</b> <small>(short)</small> - Which condition did the preventing | * <b>condition</b> <small>(short)</small> - Which condition did the preventing | ||
== damage_resisted == | === damage_resisted === | ||
* <b>entindex</b> <small>(byte)</small> | * <b>entindex</b> <small>(byte)</small> | ||
== deadringer_cheat_death == | === deadringer_cheat_death === | ||
* <b>spy</b> <small>(byte)</small> - userid of the Spy that cheat the death | * <b>spy</b> <small>(byte)</small> - userid of the Spy that cheat the death | ||
* <b>attacker</b> <small>(byte)</small> - userid of the player that caused the cheat death to happen | * <b>attacker</b> <small>(byte)</small> - userid of the player that caused the cheat death to happen | ||
== demoman_det_stickies == | === demoman_det_stickies === | ||
* <b>player</b> <small>(short)</small> - entindex of the detonating player | * <b>player</b> <small>(short)</small> - entindex of the detonating player | ||
== deploy_buff_banner == | === deploy_buff_banner === | ||
* <b>buff_type</b> <small>(byte)</small> - type of buff (skin index) | * <b>buff_type</b> <small>(byte)</small> - type of buff (skin index) | ||
* <b>buff_owner</b> <small>(short)</small> - user ID of the person who gets the banner | * <b>buff_owner</b> <small>(short)</small> - user ID of the person who gets the banner | ||
== doomsday_rocket_open == | === doomsday_rocket_open === | ||
* <b>team</b> <small>(byte)</small> - which team opened the rocket | * <b>team</b> <small>(byte)</small> - which team opened the rocket | ||
== | === duel_status === | ||
== | |||
* <b>killer</b> <small>(short)</small> | * <b>killer</b> <small>(short)</small> | ||
* <b>score_type</b> <small>(short)</small> | * <b>score_type</b> <small>(short)</small> | ||
Line 266: | Line 232: | ||
* <b>target_score</b> <small>(short)</small> | * <b>target_score</b> <small>(short)</small> | ||
== | === enter_vehicle === | ||
== | |||
* <b>vehicle</b> <small>(long)</small> - entindex of the vehicle | * <b>vehicle</b> <small>(long)</small> - entindex of the vehicle | ||
== | === entity_killed === | ||
== | |||
* <b>entindex_killed</b> <small>(long)</small> | * <b>entindex_killed</b> <small>(long)</small> | ||
* <b>entindex_attacker</b> <small>(long)</small> | * <b>entindex_attacker</b> <small>(long)</small> | ||
Line 279: | Line 241: | ||
* <b>damagebits</b> <small>(long)</small> | * <b>damagebits</b> <small>(long)</small> | ||
== environmental_death == | === environmental_death === | ||
* <b>killer</b> <small>(byte)</small> - index of the killer | * <b>killer</b> <small>(byte)</small> - index of the killer | ||
* <b>victim</b> <small>(byte)</small> - index of the victim | * <b>victim</b> <small>(byte)</small> - index of the victim | ||
== escape_hell == | === escape_hell === | ||
* <b>player</b> <small>(short)</small> - userid of the player that escaped | * <b>player</b> <small>(short)</small> - userid of the player that escaped | ||
== escaped_loot_island == | === escaped_loot_island === | ||
* <b>player</b> <small>(short)</small> - userid of the escaping player | * <b>player</b> <small>(short)</small> - userid of the escaping player | ||
== | === eyeball_boss_escape_imminent === | ||
* <b>level</b> <small>(short)</small> | * <b>level</b> <small>(short)</small> | ||
* <b>time_remaining</b> <small>(byte)</small> | * <b>time_remaining</b> <small>(byte)</small> | ||
== eyeball_boss_escaped == | === eyeball_boss_escaped === | ||
* <b>level</b> <small>(short)</small> | * <b>level</b> <small>(short)</small> | ||
== eyeball_boss_killed == | === eyeball_boss_killed === | ||
* <b>level</b> <small>(short)</small> | * <b>level</b> <small>(short)</small> | ||
== eyeball_boss_killer == | === eyeball_boss_killer === | ||
* <b>level</b> <small>(short)</small> | * <b>level</b> <small>(short)</small> | ||
* <b>player_entindex</b> <small>(byte)</small> | * <b>player_entindex</b> <small>(byte)</small> | ||
== eyeball_boss_stunned == | === eyeball_boss_stunned === | ||
* <b>level</b> <small>(short)</small> | * <b>level</b> <small>(short)</small> | ||
* <b>player_entindex</b> <small>(byte)</small> | * <b>player_entindex</b> <small>(byte)</small> | ||
== eyeball_boss_summoned == | === eyeball_boss_summoned === | ||
* <b>level</b> <small>(short)</small> | * <b>level</b> <small>(short)</small> | ||
== fish_notice == | === fish_notice === | ||
* <b>userid</b> <small>(short)</small> - user ID who died | * <b>userid</b> <small>(short)</small> - user ID who died | ||
* <b>victim_entindex</b> <small>(long)</small> | * <b>victim_entindex</b> <small>(long)</small> | ||
Line 340: | Line 288: | ||
* <b>assister_fallback</b> <small>(string)</small> - contains a string to use if "assister" is -1 | * <b>assister_fallback</b> <small>(string)</small> - contains a string to use if "assister" is -1 | ||
== fish_notice__arm == | === fish_notice__arm === | ||
* <b>userid</b> <small>(short)</small> - user ID who died | * <b>userid</b> <small>(short)</small> - user ID who died | ||
* <b>victim_entindex</b> <small>(long)</small> | * <b>victim_entindex</b> <small>(long)</small> | ||
Line 356: | Line 304: | ||
* <b>assister_fallback</b> <small>(string)</small> - contains a string to use if "assister" is -1 | * <b>assister_fallback</b> <small>(string)</small> - contains a string to use if "assister" is -1 | ||
== flag_carried_in_detection_zone = | === flag_carried_in_detection_zone === | ||
== flare_ignite_npc == | === flare_ignite_npc === | ||
* <b>entindex</b> <small>(long)</small> - entity ignited | * <b>entindex</b> <small>(long)</small> - entity ignited | ||
== game_end == | === game_end === | ||
a game ended | a game ended | ||
* <b>winner</b> <small>(byte)</small> - winner team/user id | * <b>winner</b> <small>(byte)</small> - winner team/user id | ||
== game_init == | === game_init === | ||
sent when a new game is started | sent when a new game is started | ||
== game_message == | === game_message === | ||
a message send by game logic to everyone | a message send by game logic to everyone | ||
* <b>target</b> <small>(byte)</small> - 0 = console, 1 = HUD | * <b>target</b> <small>(byte)</small> - 0 = console, 1 = HUD | ||
* <b>text</b> <small>(string)</small> - the message text | * <b>text</b> <small>(string)</small> - the message text | ||
== | === game_start === | ||
== | |||
a new game starts | a new game starts | ||
* <b>roundslimit</b> <small>(long)</small> - max round | * <b>roundslimit</b> <small>(long)</small> - max round | ||
Line 390: | Line 329: | ||
* <b>objective</b> <small>(string)</small> - round objective | * <b>objective</b> <small>(string)</small> - round objective | ||
== gameui_activate = | === gameui_activate === | ||
== | === gameui_hide === | ||
== | === halloween_boss_killed === | ||
== | |||
* <b>boss</b> <small>(short)</small> - 1=HHH 2=Monoculus 3=Merasmus | * <b>boss</b> <small>(short)</small> - 1=HHH 2=Monoculus 3=Merasmus | ||
* <b>killer</b> <small>(short)</small> - userid of the killing player | * <b>killer</b> <small>(short)</small> - userid of the killing player | ||
== halloween_duck_collected == | === halloween_duck_collected === | ||
* <b>collector</b> <small>(short)</small> - userid of the collecting player | * <b>collector</b> <small>(short)</small> - userid of the collecting player | ||
== halloween_pumpkin_grab == | === halloween_pumpkin_grab === | ||
* <b>userid</b> <small>(short)</small> | * <b>userid</b> <small>(short)</small> | ||
== halloween_skeleton_killed == | === halloween_skeleton_killed === | ||
* <b>player</b> <small>(short)</small> - userid of the player that killed the skeleton | * <b>player</b> <small>(short)</small> - userid of the player that killed the skeleton | ||
== halloween_soul_collected == | === halloween_soul_collected === | ||
* <b>intended_target</b> <small>(byte)</small> - userid of the intended target | * <b>intended_target</b> <small>(byte)</small> - userid of the intended target | ||
* <b>collecting_player</b> <small>(byte)</small> - userid of the player who picked up the soul | * <b>collecting_player</b> <small>(byte)</small> - userid of the player who picked up the soul | ||
* <b>soul_count</b> <small>(byte)</small> - number of souls collected (gift boxes) | * <b>soul_count</b> <small>(byte)</small> - number of souls collected (gift boxes) | ||
== helicopter_grenade_punt_miss == | === helicopter_grenade_punt_miss === | ||
== | === host_quit === | ||
== | |||
== | === intro_finish === | ||
== | |||
* <b>player</b> <small>(short)</small> - entindex of the player | * <b>player</b> <small>(short)</small> - entindex of the player | ||
== intro_nextcamera == | === intro_nextcamera === | ||
* <b>player</b> <small>(short)</small> - entindex of the player | * <b>player</b> <small>(short)</small> - entindex of the player | ||
== | === item_found === | ||
== | |||
* <b>player</b> <small>(byte)</small> - entindex of the player | * <b>player</b> <small>(byte)</small> - entindex of the player | ||
* <b>quality</b> <small>(byte)</small> - quality of the item | * <b>quality</b> <small>(byte)</small> - quality of the item | ||
Line 456: | Line 370: | ||
* <b>wear</b> <small>(float)</small> | * <b>wear</b> <small>(float)</small> | ||
== item_pickup == | === item_pickup === | ||
* <b>userid</b> <small>(short)</small> | * <b>userid</b> <small>(short)</small> | ||
* <b>item</b> <small>(string)</small> | * <b>item</b> <small>(string)</small> | ||
== item_schema_initialized == | === item_schema_initialized === | ||
== | === kill_in_hell === | ||
== | |||
* <b>killer</b> <small>(short)</small> - userid of the killer | * <b>killer</b> <small>(short)</small> - userid of the killer | ||
* <b>victim</b> <small>(short)</small> - userid of the victim | * <b>victim</b> <small>(short)</small> - userid of the victim | ||
== kill_refills_meter == | === kill_refills_meter === | ||
* <b>index</b> <small>(short)</small> - entindex of the player | * <b>index</b> <small>(short)</small> - entindex of the player | ||
== killed_capping_player == | === killed_capping_player === | ||
* <b>cp</b> <small>(byte)</small> - index of the point | * <b>cp</b> <small>(byte)</small> - index of the point | ||
* <b>killer</b> <small>(byte)</small> - index of the killer | * <b>killer</b> <small>(byte)</small> - index of the killer | ||
Line 479: | Line 389: | ||
* <b>assister</b> <small>(byte)</small> - index of the assister | * <b>assister</b> <small>(byte)</small> - index of the assister | ||
== | === leave_vehicle === | ||
== | |||
* <b>vehicle</b> <small>(long)</small> - entindex of the vehicle | * <b>vehicle</b> <small>(long)</small> - entindex of the vehicle | ||
== | === medic_death === | ||
* <b>userid</b> <small>(short)</small> - user ID who died | * <b>userid</b> <small>(short)</small> - user ID who died | ||
* <b>attacker</b> <small>(short)</small> - user ID who killed | * <b>attacker</b> <small>(short)</small> - user ID who killed | ||
Line 530: | Line 398: | ||
* <b>charged</b> <small>(bool)</small> - had a full ubercharge? | * <b>charged</b> <small>(bool)</small> - had a full ubercharge? | ||
== medic_defended == | === medic_defended === | ||
* <b>userid</b> <small>(short)</small> | * <b>userid</b> <small>(short)</small> | ||
* <b>medic</b> <small>(short)</small> | * <b>medic</b> <small>(short)</small> | ||
== medigun_shield_blocked_damage == | === medigun_shield_blocked_damage === | ||
* <b>userid</b> <small>(short)</small> - user ID of the player using the shield | * <b>userid</b> <small>(short)</small> - user ID of the player using the shield | ||
* <b>damage</b> <small>(float)</small> - damage that was blocked | * <b>damage</b> <small>(float)</small> - damage that was blocked | ||
== merasmus_escape_warning == | === merasmus_escape_warning === | ||
* <b>level</b> <small>(short)</small> | * <b>level</b> <small>(short)</small> | ||
* <b>time_remaining</b> <small>(byte)</small> | * <b>time_remaining</b> <small>(byte)</small> | ||
== merasmus_escaped == | === merasmus_escaped === | ||
* <b>level</b> <small>(short)</small> | * <b>level</b> <small>(short)</small> | ||
== merasmus_killed == | === merasmus_killed === | ||
* <b>level</b> <small>(short)</small> | * <b>level</b> <small>(short)</small> | ||
== merasmus_prop_found == | === merasmus_prop_found === | ||
* <b>player</b> <small>(short)</small> - userid of the player that found the prop Merasmus was hiding in | * <b>player</b> <small>(short)</small> - userid of the player that found the prop Merasmus was hiding in | ||
== merasmus_stunned == | === merasmus_stunned === | ||
* <b>player</b> <small>(short)</small> - userid of the stunning player | * <b>player</b> <small>(short)</small> - userid of the stunning player | ||
== merasmus_summoned == | === merasmus_summoned === | ||
* <b>level</b> <small>(short)</small> | * <b>level</b> <small>(short)</small> | ||
== minigame_win == | === minigame_win === | ||
* <b>team</b> <small>(byte)</small> - which team won the minigame | * <b>team</b> <small>(byte)</small> - which team won the minigame | ||
* <b>type</b> <small>(byte)</small> - what type of minigame was won | * <b>type</b> <small>(byte)</small> - what type of minigame was won | ||
== minigame_won == | === minigame_won === | ||
* <b>player</b> <small>(short)</small> - userid of the winning player | * <b>player</b> <small>(short)</small> - userid of the winning player | ||
* <b>game</b> <small>(short)</small> - index of the game | * <b>game</b> <small>(short)</small> - index of the game | ||
== mvm_adv_wave_complete_no_gates == | === mvm_adv_wave_complete_no_gates === | ||
* <b>index</b> <small>(short)</small> - wave index | * <b>index</b> <small>(short)</small> - wave index | ||
== mvm_adv_wave_killed_stun_radio == | === mvm_adv_wave_killed_stun_radio === | ||
== mvm_begin_wave == | === mvm_begin_wave === | ||
* <b>wave_index</b> <small>(short)</small> | * <b>wave_index</b> <small>(short)</small> | ||
* <b>max_waves</b> <small>(short)</small> | * <b>max_waves</b> <small>(short)</small> | ||
* <b>advanced</b> <small>(short)</small> | * <b>advanced</b> <small>(short)</small> | ||
== mvm_bomb_alarm_triggered == | === mvm_bomb_alarm_triggered === | ||
== mvm_bomb_carrier_killed == | === mvm_bomb_carrier_killed === | ||
* <b>level</b> <small>(short)</small> - upgrade level of the carrier | * <b>level</b> <small>(short)</small> - upgrade level of the carrier | ||
== mvm_bomb_deploy_reset_by_player == | === mvm_bomb_deploy_reset_by_player === | ||
* <b>player</b> <small>(short)</small> | * <b>player</b> <small>(short)</small> | ||
== mvm_bomb_reset_by_player == | === mvm_bomb_reset_by_player === | ||
* <b>player</b> <small>(short)</small> | * <b>player</b> <small>(short)</small> | ||
== mvm_creditbonus_all == | === mvm_creditbonus_all === | ||
== mvm_creditbonus_all_advanced == | === mvm_creditbonus_all_advanced === | ||
== mvm_creditbonus_wave == | === mvm_creditbonus_wave === | ||
== mvm_kill_robot_delivering_bomb == | === mvm_kill_robot_delivering_bomb === | ||
* <b>player</b> <small>(short)</small> - entindex of the player | * <b>player</b> <small>(short)</small> - entindex of the player | ||
== mvm_mannhattan_pit == | === mvm_mannhattan_pit === | ||
== mvm_medic_powerup_shared == | === mvm_medic_powerup_shared === | ||
* <b>player</b> <small>(short)</small> - entindex of the player | * <b>player</b> <small>(short)</small> - entindex of the player | ||
== mvm_mission_complete == | === mvm_mission_complete === | ||
* <b>mission</b> <small>(string)</small> | * <b>mission</b> <small>(string)</small> | ||
== mvm_mission_update == | === mvm_mission_update === | ||
* <b>class</b> <small>(short)</small> | * <b>class</b> <small>(short)</small> | ||
* <b>count</b> <small>(short)</small> | * <b>count</b> <small>(short)</small> | ||
== mvm_pickup_currency == | === mvm_pickup_currency === | ||
* <b>player</b> <small>(short)</small> - entindex of the player | * <b>player</b> <small>(short)</small> - entindex of the player | ||
* <b>currency</b> <small>(short)</small> | * <b>currency</b> <small>(short)</small> | ||
== mvm_quick_sentry_upgrade == | === mvm_quick_sentry_upgrade === | ||
* <b>player</b> <small>(short)</small> - entindex of the player | * <b>player</b> <small>(short)</small> - entindex of the player | ||
== mvm_reset_stats == | === mvm_reset_stats === | ||
== mvm_scout_marked_for_death == | === mvm_scout_marked_for_death === | ||
* <b>player</b> <small>(short)</small> - entindex of the player | * <b>player</b> <small>(short)</small> - entindex of the player | ||
== mvm_sentrybuster_detonate == | === mvm_sentrybuster_detonate === | ||
* <b>player</b> <small>(short)</small> - entindex of the target player | * <b>player</b> <small>(short)</small> - entindex of the target player | ||
* <b>det_x</b> <small>(float)</small> - origin of the sentry buster | * <b>det_x</b> <small>(float)</small> - origin of the sentry buster | ||
Line 625: | Line 493: | ||
* <b>det_z</b> <small>(float)</small> | * <b>det_z</b> <small>(float)</small> | ||
== mvm_sentrybuster_killed == | === mvm_sentrybuster_killed === | ||
* <b>sentry_buster</b> <small>(short)</small> - entindex | * <b>sentry_buster</b> <small>(short)</small> - entindex | ||
== mvm_sniper_headshot_currency == | === mvm_sniper_headshot_currency === | ||
* <b>userid</b> <small>(short)</small> - user ID of the player | * <b>userid</b> <small>(short)</small> - user ID of the player | ||
* <b>currency</b> <small>(short)</small> - currency collected | * <b>currency</b> <small>(short)</small> - currency collected | ||
== mvm_tank_destroyed_by_players == | === mvm_tank_destroyed_by_players === | ||
== mvm_wave_complete == | === mvm_wave_complete === | ||
* <b>advanced</b> <small>(bool)</small> - is this an advanced popfile | * <b>advanced</b> <small>(bool)</small> - is this an advanced popfile | ||
== mvm_wave_failed == | === mvm_wave_failed === | ||
== nav_blocked == | === nav_blocked === | ||
* <b>area</b> <small>(long)</small> | * <b>area</b> <small>(long)</small> | ||
* <b>blocked</b> <small>(bool)</small> | * <b>blocked</b> <small>(bool)</small> | ||
== npc_hurt == | === npc_hurt === | ||
Fired when an Engineer building ([[obj_sentrygun]], [[obj_dispenser]], [[obj_teleporter]]), [[base_boss]], MvM tank ([[tank_boss]]) or Halloween enemy ([[headless_hatman]], [[eyeball_boss]], [[merasmus]], [[tf_zombie]]) is damaged. | Fired when an Engineer building ([[obj_sentrygun]], [[obj_dispenser]], [[obj_teleporter]]), [[base_boss]], MvM tank ([[tank_boss]]) or Halloween enemy ([[headless_hatman]], [[eyeball_boss]], [[merasmus]], [[tf_zombie]]) is damaged. | ||
* <b>entindex</b> <small>(short)</small> | * <b>entindex</b> <small>(short)</small> | ||
Line 653: | Line 521: | ||
* <b>boss</b> <small>(short)</small> - 1=HHH 2=Monoculus 3=Merasmus | * <b>boss</b> <small>(short)</small> - 1=HHH 2=Monoculus 3=Merasmus | ||
== num_cappers_changed == | === num_cappers_changed === | ||
* <b>index</b> <small>(short)</small> - index of the trigger | * <b>index</b> <small>(short)</small> - index of the trigger | ||
* <b>count</b> <small>(byte)</small> - number of cappers (-1 for blocked) | * <b>count</b> <small>(byte)</small> - number of cappers (-1 for blocked) | ||
== object_deflected == | === object_deflected === | ||
* <b>userid</b> <small>(short)</small> - player who deflected the object | * <b>userid</b> <small>(short)</small> - player who deflected the object | ||
* <b>ownerid</b> <small>(short)</small> - owner of the object | * <b>ownerid</b> <small>(short)</small> - owner of the object | ||
Line 663: | Line 531: | ||
* <b>object_entindex</b> <small>(short)</small> - entindex of the object that got deflected | * <b>object_entindex</b> <small>(short)</small> - entindex of the object that got deflected | ||
== object_destroyed == | === object_destroyed === | ||
* <b>userid</b> <small>(short)</small> - user ID who died | * <b>userid</b> <small>(short)</small> - user ID who died | ||
* <b>attacker</b> <small>(short)</small> - user ID who killed | * <b>attacker</b> <small>(short)</small> - user ID who killed | ||
Line 674: | Line 542: | ||
* <b>team</b> <small>(short)</small> - building's team | * <b>team</b> <small>(short)</small> - building's team | ||
== object_detonated == | === object_detonated === | ||
* <b>userid</b> <small>(short)</small> - user ID of the object owner | * <b>userid</b> <small>(short)</small> - user ID of the object owner | ||
* <b>objecttype</b> <small>(short)</small> - type of object removed | * <b>objecttype</b> <small>(short)</small> - type of object removed | ||
* <b>index</b> <small>(short)</small> - index of the object removed | * <b>index</b> <small>(short)</small> - index of the object removed | ||
== object_removed == | === object_removed === | ||
* <b>userid</b> <small>(short)</small> - user ID of the object owner | * <b>userid</b> <small>(short)</small> - user ID of the object owner | ||
* <b>objecttype</b> <small>(short)</small> - type of object removed | * <b>objecttype</b> <small>(short)</small> - type of object removed | ||
* <b>index</b> <small>(short)</small> - index of the object removed | * <b>index</b> <small>(short)</small> - index of the object removed | ||
== overtime_nag == | === overtime_nag === | ||
== | === pass_ball_blocked === | ||
* <b>owner</b> <small>(short)</small> | * <b>owner</b> <small>(short)</small> | ||
* <b>blocker</b> <small>(short)</small> | * <b>blocker</b> <small>(short)</small> | ||
== pass_ball_stolen == | === pass_ball_stolen === | ||
* <b>victim</b> <small>(short)</small> | * <b>victim</b> <small>(short)</small> | ||
* <b>attacker</b> <small>(short)</small> | * <b>attacker</b> <small>(short)</small> | ||
== pass_free == | === pass_free === | ||
* <b>owner</b> <small>(short)</small> | * <b>owner</b> <small>(short)</small> | ||
* <b>attacker</b> <small>(short)</small> | * <b>attacker</b> <small>(short)</small> | ||
== pass_get == | === pass_get === | ||
* <b>owner</b> <small>(short)</small> | * <b>owner</b> <small>(short)</small> | ||
* <b>team</b> <small>(short)</small> | * <b>team</b> <small>(short)</small> | ||
== pass_pass_caught == | === pass_pass_caught === | ||
* <b>passer</b> <small>(short)</small> | * <b>passer</b> <small>(short)</small> | ||
* <b>catcher</b> <small>(short)</small> | * <b>catcher</b> <small>(short)</small> | ||
Line 736: | Line 576: | ||
* <b>duration</b> <small>(float)</small> | * <b>duration</b> <small>(float)</small> | ||
== pass_score == | === pass_score === | ||
* <b>scorer</b> <small>(short)</small> | * <b>scorer</b> <small>(short)</small> | ||
* <b>assister</b> <small>(short)</small> | * <b>assister</b> <small>(short)</small> | ||
* <b>points</b> <small>(byte)</small> | * <b>points</b> <small>(byte)</small> | ||
== path_track_passed == | === path_track_passed === | ||
* <b>index</b> <small>(short)</small> - [[CHandle|entity handle]] of the node being passed (not the index!) | * <b>index</b> <small>(short)</small> - [[CHandle|entity handle]] of the node being passed (not the index!) | ||
{{tip|To retrieve the entity index and therefore the script handle: <code>EntIndexToHScript(params.index & (Constants.Server.MAX_EDICTS - 1))</code>}} | {{tip|To retrieve the entity index and therefore the script handle: <code>EntIndexToHScript(params.index & (Constants.Server.MAX_EDICTS - 1))</code>}} | ||
== payload_pushed == | === payload_pushed === | ||
* <b>pusher</b> <small>(byte)</small> - userid of the player who pushed | * <b>pusher</b> <small>(byte)</small> - userid of the player who pushed | ||
* <b>distance</b> <small>(short)</small> - how far they pushed | * <b>distance</b> <small>(short)</small> - how far they pushed | ||
== physgun_pickup == | === physgun_pickup === | ||
* <b>entindex</b> <small>(long)</small> - entity picked up | * <b>entindex</b> <small>(long)</small> - entity picked up | ||
== player_abandoned_match == | === player_abandoned_match === | ||
* <b>game_over</b> <small>(bool)</small> | * <b>game_over</b> <small>(bool)</small> | ||
== | === player_activate === | ||
== | |||
* <b>userid</b> <small>(short)</small> - user ID on server | * <b>userid</b> <small>(short)</small> - user ID on server | ||
== player_askedforball == | === player_askedforball === | ||
* <b>userid</b> <small>(short)</small> | * <b>userid</b> <small>(short)</small> | ||
== | === player_buff === | ||
== | |||
* <b>userid</b> <small>(short)</small> - user ID of the player the buff is being applied to | * <b>userid</b> <small>(short)</small> - user ID of the player the buff is being applied to | ||
* <b>buff_owner</b> <small>(short)</small> - user ID of the player with the banner | * <b>buff_owner</b> <small>(short)</small> - user ID of the player with the banner | ||
* <b>buff_type</b> <small>(byte)</small> - type of buff | * <b>buff_type</b> <small>(byte)</small> - type of buff | ||
== player_builtobject == | === player_builtobject === | ||
* <b>userid</b> <small>(short)</small> - user ID of the builder | * <b>userid</b> <small>(short)</small> - user ID of the builder | ||
* <b>object</b> <small>(short)</small> - type of object built | * <b>object</b> <small>(short)</small> - type of object built | ||
* <b>index</b> <small>(short)</small> - index of the object | * <b>index</b> <small>(short)</small> - index of the object | ||
== player_buyback == | === player_buyback === | ||
* <b>player</b> <small>(short)</small> | * <b>player</b> <small>(short)</small> | ||
* <b>cost</b> <small>(short)</small> | * <b>cost</b> <small>(short)</small> | ||
== | === player_carryobject === | ||
== | |||
* <b>userid</b> <small>(short)</small> - user ID of the builder | * <b>userid</b> <small>(short)</small> - user ID of the builder | ||
* <b>object</b> <small>(short)</small> - type of object built | * <b>object</b> <small>(short)</small> - type of object built | ||
* <b>index</b> <small>(short)</small> - index of the object | * <b>index</b> <small>(short)</small> - index of the object | ||
== player_changeclass == | === player_changeclass === | ||
* <b>userid</b> <small>(short)</small> - user ID who changed class | * <b>userid</b> <small>(short)</small> - user ID who changed class | ||
* <b>class</b> <small>(short)</small> - class that they changed to | * <b>class</b> <small>(short)</small> - class that they changed to | ||
== player_changename == | === player_changename === | ||
* <b>userid</b> <small>(short)</small> - user ID on server | * <b>userid</b> <small>(short)</small> - user ID on server | ||
* <b>oldname</b> <small>(string)</small> - players old (current) name | * <b>oldname</b> <small>(string)</small> - players old (current) name | ||
* <b>newname</b> <small>(string)</small> - players new name | * <b>newname</b> <small>(string)</small> - players new name | ||
== player_chargedeployed == | === player_chargedeployed === | ||
* <b>userid</b> <small>(short)</small> - user ID of medic who deployed charge | * <b>userid</b> <small>(short)</small> - user ID of medic who deployed charge | ||
* <b>targetid</b> <small>(short)</small> - user ID of who the medic charged | * <b>targetid</b> <small>(short)</small> - user ID of who the medic charged | ||
== player_chat == | === player_chat === | ||
a public player chat | a public player chat | ||
* <b>teamonly</b> <small>(bool)</small> - true if team only chat | * <b>teamonly</b> <small>(bool)</small> - true if team only chat | ||
Line 811: | Line 639: | ||
* <b>text</b> <small>(string)</small> - chat text | * <b>text</b> <small>(string)</small> - chat text | ||
== player_class == | === player_class === | ||
a player changed his class | a player changed his class | ||
* <b>userid</b> <small>(short)</small> - user ID on server | * <b>userid</b> <small>(short)</small> - user ID on server | ||
* <b>class</b> <small>(string)</small> - new player class / model | * <b>class</b> <small>(string)</small> - new player class / model | ||
== player_connect == | === player_connect === | ||
A new client has connected. This does NOT fire between level changes as the player is already connected. Use <code>player_spawn</code> instead if you need to catch every player entity that is created. | A new client has connected. This does NOT fire between level changes as the player is already connected. Use <code>player_spawn</code> instead if you need to catch every player entity that is created. | ||
* <b>name</b> <small>(string)</small> - player name | * <b>name</b> <small>(string)</small> - player name | ||
Line 825: | Line 653: | ||
* <b>bot</b> <small>(short)</small> - is a bot | * <b>bot</b> <small>(short)</small> - is a bot | ||
== player_connect_client == | === player_connect_client === | ||
a new client connected | a new client connected | ||
* <b>name</b> <small>(string)</small> - player name | * <b>name</b> <small>(string)</small> - player name | ||
Line 833: | Line 661: | ||
* <b>bot</b> <small>(short)</small> - is a bot | * <b>bot</b> <small>(short)</small> - is a bot | ||
== | === player_death === | ||
Fired when a player dies. This shows up in the kill feed. | Fired when a player dies. This shows up in the kill feed. | ||
{{warning|This also fires when a Spy feigns death using the Dead Ringer. Make sure to check for this case using <code>if (params.death_flags & 32</code>)!}} | {{warning|This also fires when a Spy feigns death using the Dead Ringer. Make sure to check for this case using <code>if (params.death_flags & 32</code>)!}} | ||
Line 882: | Line 700: | ||
* <b>feign_death</b> <small>(bool)</small> - the victim is feign death | * <b>feign_death</b> <small>(bool)</small> - the victim is feign death | ||
== player_destroyed_pipebomb == | === player_destroyed_pipebomb === | ||
* <b>userid</b> <small>(short)</small> | * <b>userid</b> <small>(short)</small> | ||
== player_directhit_stun == | === player_directhit_stun === | ||
* <b>attacker</b> <small>(short)</small> - entindex of the attacker | * <b>attacker</b> <small>(short)</small> - entindex of the attacker | ||
* <b>victim</b> <small>(short)</small> - entindex of the victim | * <b>victim</b> <small>(short)</small> - entindex of the victim | ||
== player_disconnect == | === player_disconnect === | ||
A client has disconnected. The player handle and script scope still exists when this event fires, as it persists for a frame after disconnect. | A client has disconnected. The player handle and script scope still exists when this event fires, as it persists for a frame after disconnect. | ||
Line 898: | Line 716: | ||
* <b>bot</b> <small>(short)</small> - is a bot | * <b>bot</b> <small>(short)</small> - is a bot | ||
== player_domination == | === player_domination === | ||
* <b>dominator</b> <small>(short)</small> - userID of who gained domination | * <b>dominator</b> <small>(short)</small> - userID of who gained domination | ||
* <b>dominated</b> <small>(short)</small> - userID of who got dominated | * <b>dominated</b> <small>(short)</small> - userID of who got dominated | ||
* <b>dominations</b> <small>(short)</small> - Number of dominations this dominator has | * <b>dominations</b> <small>(short)</small> - Number of dominations this dominator has | ||
== player_dropobject == | === player_dropobject === | ||
* <b>userid</b> <small>(short)</small> - user ID of the builder | * <b>userid</b> <small>(short)</small> - user ID of the builder | ||
* <b>object</b> <small>(short)</small> - type of object built | * <b>object</b> <small>(short)</small> - type of object built | ||
* <b>index</b> <small>(short)</small> - index of the object | * <b>index</b> <small>(short)</small> - index of the object | ||
== player_escort_score == | === player_escort_score === | ||
* <b>player</b> <small>(byte)</small> | * <b>player</b> <small>(byte)</small> | ||
* <b>points</b> <small>(byte)</small> | * <b>points</b> <small>(byte)</small> | ||
== | === player_healed === | ||
== | |||
* <b>patient</b> <small>(short)</small> | * <b>patient</b> <small>(short)</small> | ||
* <b>healer</b> <small>(short)</small> | * <b>healer</b> <small>(short)</small> | ||
* <b>amount</b> <small>(short)</small> | * <b>amount</b> <small>(short)</small> | ||
== | === player_healedmediccall === | ||
== | |||
local player heals someone who called for medic. | local player heals someone who called for medic. | ||
* <b>userid</b> <small>(short)</small> - userid of person who got healed | * <b>userid</b> <small>(short)</small> - userid of person who got healed | ||
== player_healonhit == | === player_healonhit === | ||
* <b>amount</b> <small>(short)</small> | * <b>amount</b> <small>(short)</small> | ||
* <b>entindex</b> <small>(byte)</small> | * <b>entindex</b> <small>(byte)</small> | ||
* <b>weapon_def_index</b> <small>(long)</small> - item def index of the healing weapon | * <b>weapon_def_index</b> <small>(long)</small> - item def index of the healing weapon | ||
== player_highfive_cancel == | === player_highfive_cancel === | ||
* <b>entindex</b> <small>(byte)</small> | * <b>entindex</b> <small>(byte)</small> | ||
== player_highfive_start == | === player_highfive_start === | ||
* <b>entindex</b> <small>(byte)</small> | * <b>entindex</b> <small>(byte)</small> | ||
== player_highfive_success == | === player_highfive_success === | ||
* <b>initiator_entindex</b> <small>(byte)</small> | * <b>initiator_entindex</b> <small>(byte)</small> | ||
* <b>partner_entindex</b> <small>(byte)</small> | * <b>partner_entindex</b> <small>(byte)</small> | ||
== | === player_hurt === | ||
== | |||
* <b>userid</b> <small>(short)</small> | * <b>userid</b> <small>(short)</small> | ||
* <b>health</b> <small>(short)</small> - if <= 0, then this will play the killsound | * <b>health</b> <small>(short)</small> - if <= 0, then this will play the killsound | ||
Line 962: | Line 768: | ||
{{warning|A value of ''4'' is no damage effect. 0 is crits!}} | {{warning|A value of ''4'' is no damage effect. 0 is crits!}} | ||
== | === player_info === | ||
== | |||
a player changed his name | a player changed his name | ||
* <b>name</b> <small>(string)</small> - player name | * <b>name</b> <small>(string)</small> - player name | ||
Line 982: | Line 776: | ||
* <b>bot</b> <small>(bool)</small> - true if player is a AI bot | * <b>bot</b> <small>(bool)</small> - true if player is a AI bot | ||
== player_initial_spawn == | === player_initial_spawn === | ||
* <b>index</b> <small>(short)</small> - entindex of the player | * <b>index</b> <small>(short)</small> - entindex of the player | ||
== player_invulned == | === player_invulned === | ||
* <b>userid</b> <small>(short)</small> | * <b>userid</b> <small>(short)</small> | ||
* <b>medic_userid</b> <small>(short)</small> | * <b>medic_userid</b> <small>(short)</small> | ||
== | === player_killed_achievement_zone === | ||
== | |||
* <b>attacker</b> <small>(short)</small> - entindex of the attacker | * <b>attacker</b> <small>(short)</small> - entindex of the attacker | ||
* <b>victim</b> <small>(short)</small> - entindex of the victim | * <b>victim</b> <small>(short)</small> - entindex of the victim | ||
* <b>zone_id</b> <small>(short)</small> - type of area (0 for general, 1 for capture zone) | * <b>zone_id</b> <small>(short)</small> - type of area (0 for general, 1 for capture zone) | ||
== | === player_regenerate === | ||
== | === player_rocketpack_pushed === | ||
== | |||
* <b>pusher</b> <small>(short)</small> - userID of who pushed | * <b>pusher</b> <small>(short)</small> - userID of who pushed | ||
* <b>pushed</b> <small>(short)</small> - userID of who got pushed | * <b>pushed</b> <small>(short)</small> - userID of who got pushed | ||
== player_sapped_object == | === player_sapped_object === | ||
* <b>userid</b> <small>(short)</small> - user ID of the spy | * <b>userid</b> <small>(short)</small> - user ID of the spy | ||
* <b>ownerid</b> <small>(short)</small> - user ID of the building owner | * <b>ownerid</b> <small>(short)</small> - user ID of the building owner | ||
Line 1,022: | Line 800: | ||
* <b>sapperid</b> <small>(short)</small> - index of the sapper | * <b>sapperid</b> <small>(short)</small> - index of the sapper | ||
== player_say == | === player_say === | ||
* <b>userid</b> <small>(short)</small> - user ID on server | * <b>userid</b> <small>(short)</small> - user ID on server | ||
* <b>text</b> <small>(string)</small> - the say text | * <b>text</b> <small>(string)</small> - the say text | ||
== player_score == | === player_score === | ||
players scores changed | players scores changed | ||
* <b>userid</b> <small>(short)</small> - user ID on server | * <b>userid</b> <small>(short)</small> - user ID on server | ||
Line 1,033: | Line 811: | ||
* <b>score</b> <small>(short)</small> - total game score | * <b>score</b> <small>(short)</small> - total game score | ||
== player_score_changed == | === player_score_changed === | ||
* <b>player</b> <small>(byte)</small> | * <b>player</b> <small>(byte)</small> | ||
* <b>delta</b> <small>(short)</small> | * <b>delta</b> <small>(short)</small> | ||
== | === player_shoot === | ||
== | |||
{{note|Not implemented.}} | {{note|Not implemented.}} | ||
* <b>userid</b> <small>(short)</small> - user ID on server | * <b>userid</b> <small>(short)</small> - user ID on server | ||
Line 1,048: | Line 821: | ||
* <b>mode</b> <small>(byte)</small> - weapon mode | * <b>mode</b> <small>(byte)</small> - weapon mode | ||
== player_spawn == | === 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, <code>team</code> is equal to 0 (unassigned). Each time afterwards, the event will only be fired when the player spawns alive on red or blue team. This is also fired once when [[SourceTV]] is loaded in. | 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, <code>team</code> is equal to 0 (unassigned). Each time afterwards, the event will only be fired when the player spawns alive on red or blue team. This is also fired once when [[SourceTV]] is loaded in. | ||
Line 1,055: | Line 828: | ||
* <b>class</b> <small>(short)</small> - class they spawned as | * <b>class</b> <small>(short)</small> - class they spawned as | ||
== | === player_stealsandvich === | ||
== | |||
* <b>owner</b> <small>(short)</small> | * <b>owner</b> <small>(short)</small> | ||
* <b>target</b> <small>(short)</small> | * <b>target</b> <small>(short)</small> | ||
== player_stunned == | === player_stunned === | ||
* <b>stunner</b> <small>(short)</small> {{warning|If there's no attacker, this key won't exist (such as being stunned after hitting a wall with a bumper kart)}} | * <b>stunner</b> <small>(short)</small> {{warning|If there's no attacker, this key won't exist (such as being stunned after hitting a wall with a bumper kart)}} | ||
* <b>victim</b> <small>(short)</small> | * <b>victim</b> <small>(short)</small> | ||
Line 1,068: | Line 838: | ||
* <b>big_stun</b> <small>(bool)</small> | * <b>big_stun</b> <small>(bool)</small> | ||
== player_team == | === player_team === | ||
Fired when player joins a team. | Fired when player joins a team. | ||
* <b>userid</b> <small>(short)</small> - user ID on server | * <b>userid</b> <small>(short)</small> - user ID on server | ||
Line 1,078: | Line 848: | ||
* <b>name</b> <small>(string)</small> - player's name | * <b>name</b> <small>(string)</small> - player's name | ||
== player_teleported == | === player_teleported === | ||
* <b>userid</b> <small>(short)</small> - userid of the player | * <b>userid</b> <small>(short)</small> - userid of the player | ||
* <b>builderid</b> <small>(short)</small> - userid of the player who built the teleporter | * <b>builderid</b> <small>(short)</small> - userid of the player who built the teleporter | ||
* <b>dist</b> <small>(float)</small> - distance the player was teleported | * <b>dist</b> <small>(float)</small> - distance the player was teleported | ||
== player_turned_to_ghost == | === player_turned_to_ghost === | ||
* <b>userid</b> <small>(short)</small> - user ID of the player who changed to a ghost | * <b>userid</b> <small>(short)</small> - user ID of the player who changed to a ghost | ||
== player_upgraded == | === player_upgraded === | ||
== player_upgradedobject == | === player_upgradedobject === | ||
* <b>userid</b> <small>(short)</small> - user ID of the builder | * <b>userid</b> <small>(short)</small> - user ID of the builder | ||
* <b>object</b> <small>(short)</small> - type of object built | * <b>object</b> <small>(short)</small> - type of object built | ||
Line 1,094: | Line 864: | ||
* <b>isbuilder</b> <small>(bool)</small> | * <b>isbuilder</b> <small>(bool)</small> | ||
== player_use == | === player_use === | ||
* <b>userid</b> <small>(short)</small> - user ID on server | * <b>userid</b> <small>(short)</small> - user ID on server | ||
* <b>entity</b> <small>(short)</small> - entity used by player | * <b>entity</b> <small>(short)</small> - entity used by player | ||
== player_used_powerup_bottle == | === player_used_powerup_bottle === | ||
* <b>player</b> <small>(short)</small> | * <b>player</b> <small>(short)</small> | ||
* <b>type</b> <small>(short)</small> | * <b>type</b> <small>(short)</small> | ||
* <b>time</b> <small>(float)</small> | * <b>time</b> <small>(float)</small> | ||
== | === post_inventory_application === | ||
== | |||
Fired when the player has items resupplied, i.e. when the player spawns or touches resupply ([[func_regenerate]]). | Fired when the player has items resupplied, i.e. when the player spawns or touches resupply ([[func_regenerate]]). | ||
* <b>userid</b> <small>(short)</small> | * <b>userid</b> <small>(short)</small> | ||
== projectile_direct_hit == | === projectile_direct_hit === | ||
* <b>attacker</b> <small>(byte)</small> - index of the player who shot the projectile | * <b>attacker</b> <small>(byte)</small> - index of the player who shot the projectile | ||
* <b>victim</b> <small>(byte)</small> - index of the player who got direct-ht | * <b>victim</b> <small>(byte)</small> - index of the player who got direct-ht | ||
* <b>weapon_def_index</b> <small>(long)</small> - defindex of the direct hitting weapon | * <b>weapon_def_index</b> <small>(long)</small> - defindex of the direct hitting weapon | ||
== projectile_removed == | === projectile_removed === | ||
* <b>attacker</b> <small>(byte)</small> | * <b>attacker</b> <small>(byte)</small> | ||
* <b>weapon_def_index</b> <small>(long)</small> | * <b>weapon_def_index</b> <small>(long)</small> | ||
Line 1,120: | Line 888: | ||
* <b>num_direct_hit</b> <small>(byte)</small> | * <b>num_direct_hit</b> <small>(byte)</small> | ||
== pumpkin_lord_killed == | === pumpkin_lord_killed === | ||
== pumpkin_lord_summoned == | === pumpkin_lord_summoned === | ||
== pve_win_panel == | === pve_win_panel === | ||
* <b>panel_style</b> <small>(byte)</small> - for client to determine layout | * <b>panel_style</b> <small>(byte)</small> - for client to determine layout | ||
* <b>winning_team</b> <small>(byte)</small> | * <b>winning_team</b> <small>(byte)</small> | ||
* <b>winreason</b> <small>(byte)</small> - the reason the team won | * <b>winreason</b> <small>(byte)</small> - the reason the team won | ||
== quest_map_data_changed == | === quest_map_data_changed === | ||
* <b>igniter</b> <small>(short)</small> - entindex of the igniter | * <b>igniter</b> <small>(short)</small> - entindex of the igniter | ||
* <b>douser</b> <small>(short)</small> - entindex of the douser | * <b>douser</b> <small>(short)</small> - entindex of the douser | ||
* <b>victim</b> <small>(short)</small> - entindex of the victim | * <b>victim</b> <small>(short)</small> - entindex of the victim | ||
== | === quest_progress === | ||
== | |||
* <b>owner</b> <small>(short)</small> | * <b>owner</b> <small>(short)</small> | ||
* <b>scorer</b> <small>(short)</small> | * <b>scorer</b> <small>(short)</small> | ||
Line 1,148: | Line 909: | ||
* <b>quest_defindex</b> <small>(long)</small> | * <b>quest_defindex</b> <small>(long)</small> | ||
== | === ragdoll_dissolved === | ||
== | |||
* <b>entindex</b> <small>(long)</small> | * <b>entindex</b> <small>(long)</small> | ||
== raid_spawn_mob == | === raid_spawn_mob === | ||
== raid_spawn_squad == | === raid_spawn_squad === | ||
== rd_player_score_points == | === rd_player_score_points === | ||
* <b>player</b> <small>(short)</small> | * <b>player</b> <small>(short)</small> | ||
* <b>method</b> <small>(short)</small> | * <b>method</b> <small>(short)</small> | ||
* <b>amount</b> <small>(short)</small> | * <b>amount</b> <small>(short)</small> | ||
== rd_robot_impact == | === rd_robot_impact === | ||
* <b>entindex</b> <small>(short)</small> | * <b>entindex</b> <small>(short)</small> | ||
* <b>impulse_x</b> <small>(float)</small> | * <b>impulse_x</b> <small>(float)</small> | ||
Line 1,180: | Line 927: | ||
* <b>impulse_z</b> <small>(float)</small> | * <b>impulse_z</b> <small>(float)</small> | ||
== rd_robot_killed == | === rd_robot_killed === | ||
* <b>userid</b> <small>(short)</small> - user ID who died | * <b>userid</b> <small>(short)</small> - user ID who died | ||
* <b>victim_entindex</b> <small>(long)</small> | * <b>victim_entindex</b> <small>(long)</small> | ||
Line 1,191: | Line 938: | ||
* <b>weapon_logclassname</b> <small>(string)</small> - weapon name that should be printed on the log | * <b>weapon_logclassname</b> <small>(string)</small> - weapon name that should be printed on the log | ||
== | === recalculate_holidays === | ||
== | === recalculate_truce === | ||
== | === rematch_failed_to_create === | ||
== | |||
* <b>map_index</b> <small>(byte)</small> - what they voted for | * <b>map_index</b> <small>(byte)</small> - what they voted for | ||
* <b>vote</b> <small>(byte)</small> - what the vote was | * <b>vote</b> <small>(byte)</small> - what the vote was | ||
== remove_nemesis_relationships == | === remove_nemesis_relationships === | ||
* <b>player</b> <small>(short)</small> - entindex of the player who should reset | * <b>player</b> <small>(short)</small> - entindex of the player who should reset | ||
== replay_endrecord == | === replay_endrecord === | ||
== replay_replaysavailable == | === replay_replaysavailable === | ||
== | === replay_servererror === | ||
== | |||
* <b>error</b> <small>(string)</small> | * <b>error</b> <small>(string)</small> | ||
== replay_sessioninfo == | === replay_sessioninfo === | ||
Sent when the server begins recording, or when a client first connects - only sent once per recording session | Sent when the server begins recording, or when a client first connects - only sent once per recording session | ||
* <b>sn</b> <small>(string)</small> - session name | * <b>sn</b> <small>(string)</small> - session name | ||
Line 1,225: | Line 963: | ||
* <b>st</b> <small>(long)</small> - session start tick | * <b>st</b> <small>(long)</small> - session start tick | ||
== replay_startrecord == | === replay_startrecord === | ||
Sent when the server begins recording - only used to display UI | Sent when the server begins recording - only used to display UI | ||
== | === respawn_ghost === | ||
== | |||
* <b>reviver</b> <small>(short)</small> - userid of the reviving player | * <b>reviver</b> <small>(short)</small> - userid of the reviving player | ||
* <b>ghost</b> <small>(short)</small> - userid of the player that got revived | * <b>ghost</b> <small>(short)</small> - userid of the player that got revived | ||
== | === revive_player_complete === | ||
== | |||
* <b>entindex</b> <small>(short)</small> - entindex of the medic | * <b>entindex</b> <small>(short)</small> - entindex of the medic | ||
== revive_player_notify == | === revive_player_notify === | ||
* <b>entindex</b> <small>(short)</small> | * <b>entindex</b> <small>(short)</small> | ||
* <b>marker_entindex</b> <small>(short)</small> | * <b>marker_entindex</b> <small>(short)</small> | ||
== revive_player_stopped == | === revive_player_stopped === | ||
* <b>entindex</b> <small>(short)</small> | * <b>entindex</b> <small>(short)</small> | ||
== rocket_jump == | === rocket_jump === | ||
* <b>userid</b> <small>(short)</small> | * <b>userid</b> <small>(short)</small> | ||
* <b>playsound</b> <small>(bool)</small> | * <b>playsound</b> <small>(bool)</small> | ||
== rocket_jump_landed == | === rocket_jump_landed === | ||
* <b>userid</b> <small>(short)</small> | * <b>userid</b> <small>(short)</small> | ||
== rocketpack_landed == | === rocketpack_landed === | ||
* <b>userid</b> <small>(short)</small> | * <b>userid</b> <small>(short)</small> | ||
== rocketpack_launch == | === rocketpack_launch === | ||
* <b>userid</b> <small>(short)</small> | * <b>userid</b> <small>(short)</small> | ||
* <b>playsound</b> <small>(bool)</small> | * <b>playsound</b> <small>(bool)</small> | ||
== round_end == | === round_end === | ||
* <b>winner</b> <small>(byte)</small> - winner team/user i | * <b>winner</b> <small>(byte)</small> - winner team/user i | ||
* <b>reason</b> <small>(byte)</small> - reson why team won | * <b>reason</b> <small>(byte)</small> - reson why team won | ||
* <b>message</b> <small>(string)</small> - end round message | * <b>message</b> <small>(string)</small> - end round message | ||
== round_start == | === round_start === | ||
* <b>timelimit</b> <small>(long)</small> - round time limit in seconds | * <b>timelimit</b> <small>(long)</small> - round time limit in seconds | ||
* <b>fraglimit</b> <small>(long)</small> - frag limit in seconds | * <b>fraglimit</b> <small>(long)</small> - frag limit in seconds | ||
* <b>objective</b> <small>(string)</small> - round objective | * <b>objective</b> <small>(string)</small> - round objective | ||
== rps_taunt_event == | === rps_taunt_event === | ||
* <b>winner</b> <small>(short)</small> - entindex of the winning player | * <b>winner</b> <small>(short)</small> - entindex of the winning player | ||
* <b>winner_rps</b> <small>(byte)</small> - winner's selection | * <b>winner_rps</b> <small>(byte)</small> - winner's selection | ||
Line 1,280: | Line 1,010: | ||
* <b>loser_rps</b> <small>(byte)</small> - loser's selection | * <b>loser_rps</b> <small>(byte)</small> - loser's selection | ||
== | === scorestats_accumulated_reset === | ||
== | |||
Fired when round resets due to <code>mp_restartgame</code>. | Fired when round resets due to <code>mp_restartgame</code>. | ||
== scorestats_accumulated_update == | === scorestats_accumulated_update === | ||
Fired right before map entities are cleaned up for a round restart. | Fired right before map entities are cleaned up for a round restart. | ||
This event is not fired in Mann Vs Machine mode. For MvM, use <code>recalculate_holidays</code> and check if <code>GetRoundState() == 3</code> is true, which indicates a mission reset. | This event is not fired in Mann Vs Machine mode. For MvM, use <code>recalculate_holidays</code> and check if <code>GetRoundState() === 3</code> is true, which indicates a mission reset. | ||
== scout_grand_slam == | === scout_grand_slam === | ||
* <b>scout_id</b> <small>(short)</small> | * <b>scout_id</b> <small>(short)</small> | ||
* <b>target_id</b> <small>(short)</small> | * <b>target_id</b> <small>(short)</small> | ||
== | === sentry_on_go_active === | ||
== | |||
* <b>index</b> <small>(short)</small> | * <b>index</b> <small>(short)</small> | ||
== server_addban == | === server_addban === | ||
* <b>name</b> <small>(string)</small> - player name | * <b>name</b> <small>(string)</small> - player name | ||
* <b>userid</b> <small>(short)</small> - user ID on server | * <b>userid</b> <small>(short)</small> - user ID on server | ||
Line 1,312: | Line 1,034: | ||
* <b>kicked</b> <small>(bool)</small> - whether the player was also kicked | * <b>kicked</b> <small>(bool)</small> - whether the player was also kicked | ||
== server_changelevel_failed == | === server_changelevel_failed === | ||
* <b>levelname</b> <small>(string)</small> - The level name that failed changelevel | * <b>levelname</b> <small>(string)</small> - The level name that failed changelevel | ||
== server_cvar == | === server_cvar === | ||
a server console var has changed | a server console var has changed | ||
* <b>cvarname</b> <small>(string)</small> - cvar name, eg "mp_roundtime" | * <b>cvarname</b> <small>(string)</small> - cvar name, eg "mp_roundtime" | ||
* <b>cvarvalue</b> <small>(string)</small> - new cvar value | * <b>cvarvalue</b> <small>(string)</small> - new cvar value | ||
== server_message == | === server_message === | ||
a generic server message | a generic server message | ||
* <b>text</b> <small>(string)</small> - the message text | * <b>text</b> <small>(string)</small> - the message text | ||
== server_removeban == | === server_removeban === | ||
* <b>networkid</b> <small>(string)</small> - player network (i.e steam) id | * <b>networkid</b> <small>(string)</small> - player network (i.e steam) id | ||
* <b>ip</b> <small>(string)</small> - IP address | * <b>ip</b> <small>(string)</small> - IP address | ||
* <b>by</b> <small>(string)</small> - removed by... | * <b>by</b> <small>(string)</small> - removed by... | ||
== server_shutdown == | === server_shutdown === | ||
server shut down | server shut down | ||
* <b>reason</b> <small>(string)</small> - reason why server was shut down | * <b>reason</b> <small>(string)</small> - reason why server was shut down | ||
== server_spawn == | === server_spawn === | ||
send once a server starts | send once a server starts | ||
* <b>hostname</b> <small>(string)</small> - public host name | * <b>hostname</b> <small>(string)</small> - public host name | ||
Line 1,346: | Line 1,068: | ||
* <b>password</b> <small>(bool)</small> - true if password protected | * <b>password</b> <small>(bool)</small> - true if password protected | ||
== | === show_match_summary === | ||
* <b>success</b> <small>(bool)</small> | * <b>success</b> <small>(bool)</small> | ||
== show_vs_panel == | === show_vs_panel === | ||
* <b>show</b> <small>(bool)</small> | * <b>show</b> <small>(bool)</small> | ||
== single_player_death == | === single_player_death === | ||
== skeleton_killed_quest == | === skeleton_killed_quest === | ||
* <b>player</b> <small>(short)</small> - userid of the player that killed the skeleton | * <b>player</b> <small>(short)</small> - userid of the player that killed the skeleton | ||
== skeleton_king_killed_quest == | === skeleton_king_killed_quest === | ||
* <b>player</b> <small>(short)</small> - userid of the player that killed the skeleton | * <b>player</b> <small>(short)</small> - userid of the player that killed the skeleton | ||
== slap_notice == | === slap_notice === | ||
* <b>userid</b> <small>(short)</small> - user ID who died | * <b>userid</b> <small>(short)</small> - user ID who died | ||
* <b>victim_entindex</b> <small>(long)</small> | * <b>victim_entindex</b> <small>(long)</small> | ||
Line 1,399: | Line 1,098: | ||
* <b>assister_fallback</b> <small>(string)</small> - contains a string to use if "assister" is -1 | * <b>assister_fallback</b> <small>(string)</small> - contains a string to use if "assister" is -1 | ||
== special_score == | === special_score === | ||
* <b>player</b> <small>(byte)</small> - index of the scorer | * <b>player</b> <small>(byte)</small> - index of the scorer | ||
== spy_pda_reset == | === spy_pda_reset === | ||
== stats_resetround == | === stats_resetround === | ||
== sticky_jump == | === sticky_jump === | ||
* <b>userid</b> <small>(short)</small> | * <b>userid</b> <small>(short)</small> | ||
* <b>playsound</b> <small>(bool)</small> | * <b>playsound</b> <small>(bool)</small> | ||
== sticky_jump_landed == | === sticky_jump_landed === | ||
* <b>userid</b> <small>(short)</small> | * <b>userid</b> <small>(short)</small> | ||
== | === tagged_player_as_it === | ||
== | |||
* <b>player</b> <small>(short)</small> - userid of the tagging player | * <b>player</b> <small>(short)</small> - userid of the tagging player | ||
== take_armor == | === take_armor === | ||
* <b>amount</b> <small>(long)</small> | * <b>amount</b> <small>(long)</small> | ||
* <b>total</b> <small>(long)</small> | * <b>total</b> <small>(long)</small> | ||
== take_health == | === take_health === | ||
* <b>amount</b> <small>(long)</small> | * <b>amount</b> <small>(long)</small> | ||
* <b>total</b> <small>(long)</small> | * <b>total</b> <small>(long)</small> | ||
== team_info == | === team_info === | ||
info about team | info about team | ||
* <b>teamid</b> <small>(byte)</small> - unique team id | * <b>teamid</b> <small>(byte)</small> - unique team id | ||
* <b>teamname</b> <small>(string)</small> - team name eg "Team Blue" | * <b>teamname</b> <small>(string)</small> - team name eg "Team Blue" | ||
== team_leader_killed == | === team_leader_killed === | ||
* <b>killer</b> <small>(byte)</small> - index of the killer | * <b>killer</b> <small>(byte)</small> - index of the killer | ||
* <b>victim</b> <small>(byte)</small> - index of the victim | * <b>victim</b> <small>(byte)</small> - index of the victim | ||
== team_score == | === team_score === | ||
team score changed | team score changed | ||
* <b>teamid</b> <small>(byte)</small> - team id | * <b>teamid</b> <small>(byte)</small> - team id | ||
* <b>score</b> <small>(short)</small> - total team score | * <b>score</b> <small>(short)</small> - total team score | ||
== teamplay_alert == | === teamplay_alert === | ||
* <b>alert_type</b> <small>(short)</small> - which alert type is this (scramble, etc)? | * <b>alert_type</b> <small>(short)</small> - which alert type is this (scramble, etc)? | ||
== teamplay_broadcast_audio == | === teamplay_broadcast_audio === | ||
* <b>team</b> <small>(byte)</small> - which team should hear the broadcast. 0 will make everyone hear it. | * <b>team</b> <small>(byte)</small> - which team should hear the broadcast. 0 will make everyone hear it. | ||
* <b>sound</b> <small>(string)</small> - sound to play | * <b>sound</b> <small>(string)</small> - sound to play | ||
Line 1,451: | Line 1,147: | ||
* <b>player</b> <small>(short)</small> - entindex of the player source or -1 | * <b>player</b> <small>(short)</small> - entindex of the player source or -1 | ||
== teamplay_capture_blocked == | === teamplay_capture_blocked === | ||
* <b>cp</b> <small>(byte)</small> - index of the point that was blocked | * <b>cp</b> <small>(byte)</small> - index of the point that was blocked | ||
* <b>cpname</b> <small>(string)</small> - name of the point | * <b>cpname</b> <small>(string)</small> - name of the point | ||
Line 1,457: | Line 1,153: | ||
* <b>victim</b> <small>(byte)</small> - index of the player that died, causing the block | * <b>victim</b> <small>(byte)</small> - index of the player that died, causing the block | ||
== teamplay_capture_broken == | === teamplay_capture_broken === | ||
* <b>cp</b> <small>(byte)</small> | * <b>cp</b> <small>(byte)</small> | ||
* <b>cpname</b> <small>(string)</small> | * <b>cpname</b> <small>(string)</small> | ||
* <b>time_remaining</b> <small>(float)</small> | * <b>time_remaining</b> <small>(float)</small> | ||
== teamplay_flag_event == | === teamplay_flag_event === | ||
* <b>player</b> <small>(short)</small> - player this event involves | * <b>player</b> <small>(short)</small> - player this event involves | ||
* <b>carrier</b> <small>(short)</small> - the carrier if needed | * <b>carrier</b> <small>(short)</small> - the carrier if needed | ||
Line 1,469: | Line 1,165: | ||
* <b>team</b> <small>(byte)</small> - which team the flag belongs to | * <b>team</b> <small>(byte)</small> - which team the flag belongs to | ||
== teamplay_game_over == | === teamplay_game_over === | ||
* <b>reason</b> <small>(string)</small> - why the game is over ( timelimit, winlimit ) | * <b>reason</b> <small>(string)</small> - why the game is over ( timelimit, winlimit ) | ||
== teamplay_map_time_remaining == | === teamplay_map_time_remaining === | ||
* <b>seconds</b> <small>(short)</small> | * <b>seconds</b> <small>(short)</small> | ||
== teamplay_overtime_begin == | === teamplay_overtime_begin === | ||
== teamplay_overtime_end == | === teamplay_overtime_end === | ||
== teamplay_point_captured == | === teamplay_point_captured === | ||
* <b>cp</b> <small>(byte)</small> - index of the point that was captured | * <b>cp</b> <small>(byte)</small> - index of the point that was captured | ||
* <b>cpname</b> <small>(string)</small> - name of the point | * <b>cpname</b> <small>(string)</small> - name of the point | ||
Line 1,485: | Line 1,181: | ||
* <b>cappers</b> <small>(string)</small> - string where each character is a player index of someone that capped | * <b>cappers</b> <small>(string)</small> - string where each character is a player index of someone that capped | ||
== teamplay_point_locked == | === teamplay_point_locked === | ||
* <b>cp</b> <small>(byte)</small> - index of the point being captured | * <b>cp</b> <small>(byte)</small> - index of the point being captured | ||
* <b>cpname</b> <small>(string)</small> - name of the point | * <b>cpname</b> <small>(string)</small> - name of the point | ||
* <b>team</b> <small>(byte)</small> - which team currently owns the point | * <b>team</b> <small>(byte)</small> - which team currently owns the point | ||
== teamplay_point_startcapture == | === teamplay_point_startcapture === | ||
* <b>cp</b> <small>(byte)</small> - index of the point being captured | * <b>cp</b> <small>(byte)</small> - index of the point being captured | ||
* <b>cpname</b> <small>(string)</small> - name of the point | * <b>cpname</b> <small>(string)</small> - name of the point | ||
Line 1,498: | Line 1,194: | ||
* <b>captime</b> <small>(float)</small> - time between when this cap started and when the point last changed hands | * <b>captime</b> <small>(float)</small> - time between when this cap started and when the point last changed hands | ||
== teamplay_point_unlocked == | === teamplay_point_unlocked === | ||
* <b>cp</b> <small>(byte)</small> - index of the point being captured | * <b>cp</b> <small>(byte)</small> - index of the point being captured | ||
* <b>cpname</b> <small>(string)</small> - name of the point | * <b>cpname</b> <small>(string)</small> - name of the point | ||
* <b>team</b> <small>(byte)</small> - which team currently owns the point | * <b>team</b> <small>(byte)</small> - which team currently owns the point | ||
== teamplay_pre_round_time_left == | === teamplay_pre_round_time_left === | ||
* <b>time</b> <small>(short)</small> | * <b>time</b> <small>(short)</small> | ||
== teamplay_ready_restart == | === teamplay_ready_restart === | ||
== teamplay_restart_round == | === teamplay_restart_round === | ||
== teamplay_round_active == | === teamplay_round_active === | ||
called when round is active, players can move | called when round is active, players can move | ||
== teamplay_round_restart_seconds == | === teamplay_round_restart_seconds === | ||
* <b>seconds</b> <small>(short)</small> | * <b>seconds</b> <small>(short)</small> | ||
== teamplay_round_selected == | === teamplay_round_selected === | ||
* <b>round</b> <small>(string)</small> - name of the round selected | * <b>round</b> <small>(string)</small> - name of the round selected | ||
== | === teamplay_round_start === | ||
== | |||
round restart | round restart | ||
* <b>full_reset</b> <small>(bool)</small> - is this a full reset of the map | * <b>full_reset</b> <small>(bool)</small> - is this a full reset of the map | ||
== teamplay_round_win == | === teamplay_round_win === | ||
* <b>team</b> <small>(byte)</small> - which team won the round | * <b>team</b> <small>(byte)</small> - which team won the round | ||
* <b>winreason</b> <small>(byte)</small> - the reason the team won | * <b>winreason</b> <small>(byte)</small> - the reason the team won | ||
Line 1,535: | Line 1,228: | ||
* <b>was_sudden_death</b> <small>(byte)</small> - did a team win this after entering sudden death | * <b>was_sudden_death</b> <small>(byte)</small> - did a team win this after entering sudden death | ||
== teamplay_setup_finished == | === teamplay_setup_finished === | ||
== teamplay_suddendeath_begin == | === teamplay_suddendeath_begin === | ||
== teamplay_suddendeath_end == | === teamplay_suddendeath_end === | ||
== teamplay_team_ready == | === teamplay_team_ready === | ||
* <b>team</b> <small>(byte)</small> - which team is ready | * <b>team</b> <small>(byte)</small> - which team is ready | ||
== teamplay_teambalanced_player == | === teamplay_teambalanced_player === | ||
* <b>player</b> <small>(short)</small> - entindex of the player | * <b>player</b> <small>(short)</small> - entindex of the player | ||
* <b>team</b> <small>(byte)</small> - which team the player is being moved to | * <b>team</b> <small>(byte)</small> - which team the player is being moved to | ||
== teamplay_timer_flash == | === teamplay_timer_flash === | ||
* <b>time_remaining</b> <small>(short)</small> - how many seconds until the round ends | * <b>time_remaining</b> <small>(short)</small> - how many seconds until the round ends | ||
== teamplay_timer_time_added == | === teamplay_timer_time_added === | ||
* <b>timer</b> <small>(short)</small> - entindex of the timer | * <b>timer</b> <small>(short)</small> - entindex of the timer | ||
* <b>seconds_added</b> <small>(short)</small> - how many seconds were added to the round timer | * <b>seconds_added</b> <small>(short)</small> - how many seconds were added to the round timer | ||
== | === teamplay_waiting_abouttoend === | ||
== | |||
== teamplay_waiting_begins == | === teamplay_waiting_begins === | ||
== teamplay_waiting_ends == | === teamplay_waiting_ends === | ||
== teamplay_win_panel == | === teamplay_win_panel === | ||
* <b>panel_style</b> <small>(byte)</small> - for client to determine layout | * <b>panel_style</b> <small>(byte)</small> - for client to determine layout | ||
* <b>winning_team</b> <small>(byte)</small> | * <b>winning_team</b> <small>(byte)</small> | ||
Line 1,585: | Line 1,276: | ||
* <b>game_over</b> <small>(byte)</small> | * <b>game_over</b> <small>(byte)</small> | ||
== teams_changed == | === teams_changed === | ||
== tf_game_over == | === tf_game_over === | ||
* <b>reason</b> <small>(string)</small> - why the game is over ( timelimit, winlimit ) | * <b>reason</b> <small>(string)</small> - why the game is over ( timelimit, winlimit ) | ||
== tf_map_time_remaining == | === tf_map_time_remaining === | ||
* <b>seconds</b> <small>(long)</small> | * <b>seconds</b> <small>(long)</small> | ||
== throwable_hit == | === throwable_hit === | ||
* <b>userid</b> <small>(short)</small> - user ID who died | * <b>userid</b> <small>(short)</small> - user ID who died | ||
* <b>victim_entindex</b> <small>(long)</small> | * <b>victim_entindex</b> <small>(long)</small> | ||
Line 1,610: | Line 1,301: | ||
* <b>totalhits</b> <small>(short)</small> - Number of hits his player has done | * <b>totalhits</b> <small>(short)</small> - Number of hits his player has done | ||
== tournament_enablecountdown == | === tournament_enablecountdown === | ||
== tournament_stateupdate == | === tournament_stateupdate === | ||
* <b>userid</b> <small>(short)</small> - user ID on server | * <b>userid</b> <small>(short)</small> - user ID on server | ||
* <b>namechange</b> <small>(bool)</small> | * <b>namechange</b> <small>(bool)</small> | ||
Line 1,618: | Line 1,309: | ||
* <b>newname</b> <small>(string)</small> - players new name | * <b>newname</b> <small>(string)</small> - players new name | ||
== training_complete == | === training_complete === | ||
* <b>next_map</b> <small>(string)</small> - next map (if any) | * <b>next_map</b> <small>(string)</small> - next map (if any) | ||
* <b>map</b> <small>(string)</small> - the name of the map this screen is on. | * <b>map</b> <small>(string)</small> - the name of the map this screen is on. | ||
* <b>text</b> <small>(string)</small> - text to show | * <b>text</b> <small>(string)</small> - text to show | ||
== | === upgrades_file_changed === | ||
== | |||
* <b>path</b> <small>(string)</small> | * <b>path</b> <small>(string)</small> | ||
== | === vote_cast === | ||
== | |||
* <b>vote_option</b> <small>(byte)</small> - which option the player voted on | * <b>vote_option</b> <small>(byte)</small> - which option the player voted on | ||
* <b>team</b> <small>(short)</small> | * <b>team</b> <small>(short)</small> | ||
Line 1,639: | Line 1,323: | ||
* <b>voteidx</b> <small>(long)</small> | * <b>voteidx</b> <small>(long)</small> | ||
== vote_changed == | === vote_ended === | ||
=== vote_options === | |||
* <b>count</b> <small>(byte)</small> - Number of options - up to MAX_VOTE_OPTIONS | |||
* <b>option1</b> <small>(string)</small> | |||
* <b>option2</b> <small>(string)</small> | |||
* <b>option3</b> <small>(string)</small> | |||
* <b>option4</b> <small>(string)</small> | |||
* <b>option5</b> <small>(string)</small> | |||
* <b>voteidx</b> <small>(long)</small> | |||
=== weapon_equipped === | |||
* <b>class</b> <small>(string)</small> | |||
* <b>entindex</b> <small>(long)</small> | |||
=== winlimit_changed === | |||
* <b>delay</b> <small>(float)</small> | |||
== Clientside == | |||
=== spec_target_updated === | |||
=== show_freezepanel === | |||
* <b>killer</b> <small>(short)</small> - entindex of the killer entity | |||
=== hide_freezepanel === | |||
=== freezecam_started === | |||
=== controlpoint_initialized === | |||
=== controlpoint_unlock_updated === | |||
* <b>index</b> <small>(short)</small> - index of the cap being updated | |||
* <b>time</b> <small>(float)</small> - time | |||
=== controlpoint_timer_updated === | |||
* <b>index</b> <small>(short)</small> - index of the cap being updated | |||
* <b>time</b> <small>(float)</small> - time | |||
=== escort_speed === | |||
* <b>team</b> <small>(byte)</small> - which team | |||
* <b>speed</b> <small>(byte)</small> | |||
* <b>players</b> <small>(byte)</small> | |||
=== escort_progress === | |||
* <b>team</b> <small>(byte)</small> - which team | |||
* <b>progress</b> <small>(float)</small> | |||
* <b>reset</b> <small>(bool)</small> | |||
=== escort_recede === | |||
* <b>team</b> <small>(byte)</small> - which team | |||
* <b>recedetime</b> <small>(float)</small> | |||
=== vote_changed === | |||
* <b>vote_option1</b> <small>(byte)</small> | * <b>vote_option1</b> <small>(byte)</small> | ||
* <b>vote_option2</b> <small>(byte)</small> | * <b>vote_option2</b> <small>(byte)</small> | ||
Line 1,648: | Line 1,385: | ||
* <b>voteidx</b> <small>(long)</small> | * <b>voteidx</b> <small>(long)</small> | ||
== | === gameui_activated === | ||
=== gameui_hidden === | |||
=== game_newmap === | |||
send when new map is completely loaded | |||
* <b>mapname</b> <small>(string)</small> - map name | |||
=== items_acknowledged === | |||
* <b>blocker</b> <small>(short)</small> - entindex of the blocker | |||
* <b>victim</b> <small>(short)</small> - entindex of the victim | |||
== vote_failed == | === store_pricesheet_updated === | ||
=== cart_updated === | |||
=== inventory_updated === | |||
=== hltv_changed_mode === | |||
* <b>oldmode</b> <small>(short)</small> | |||
* <b>newmode</b> <small>(short)</small> | |||
* <b>obs_target</b> <small>(short)</small> | |||
=== hltv_changed_target === | |||
* <b>mode</b> <small>(short)</small> | |||
* <b>old_target</b> <small>(short)</small> | |||
* <b>obs_target</b> <small>(short)</small> | |||
=== vote_failed === | |||
* <b>team</b> <small>(byte)</small> | |||
* <b>voteidx</b> <small>(long)</small> | |||
=== vote_started === | |||
* <b>issue</b> <small>(string)</small> | |||
* <b>param1</b> <small>(string)</small> | |||
* <b>team</b> <small>(byte)</small> | |||
* <b>initiator</b> <small>(long)</small> - entity id of the player who initiated the vote | |||
* <b>voteidx</b> <small>(long)</small> | |||
=== vote_passed === | |||
* <b>details</b> <small>(string)</small> | |||
* <b>param1</b> <small>(string)</small> | |||
* <b>team</b> <small>(byte)</small> | * <b>team</b> <small>(byte)</small> | ||
* <b>voteidx</b> <small>(long)</small> | * <b>voteidx</b> <small>(long)</small> | ||
== vote_maps_changed == | === replay_saved === | ||
=== replay_youtube_stats === | |||
* <b>views</b> <small>(long)</small> | |||
* <b>likes</b> <small>(long)</small> | |||
* <b>favorited</b> <small>(long)</small> | |||
=== base_player_teleported === | |||
* <b>entindex</b> <small>(short)</small> | |||
=== browse_replays === | |||
=== entered_performance_mode === | |||
=== building_info_changed === | |||
* <b>building_type</b> <small>(byte)</small> | |||
* <b>object_mode</b> <small>(byte)</small> | |||
* <b>remove</b> <small>(byte)</small> | |||
=== scout_slamdoll_landed === | |||
* <b>target_index</b> <small>(short)</small> | |||
* <b>x</b> <small>(float)</small> | |||
* <b>y</b> <small>(float)</small> | |||
* <b>z</b> <small>(float)</small> | |||
=== localplayer_changeteam === | |||
=== localplayer_changeclass === | |||
=== localplayer_becameobserver === | |||
=== localplayer_changedisguise === | |||
* <b>disguised</b> <small>(bool)</small> | |||
=== localplayer_builtobject === | |||
* <b>object</b> <small>(short)</small> - type of object built | |||
* <b>object_mode</b> <small>(short)</small> - used for teleporters: entrance vs. exit | |||
* <b>index</b> <small>(short)</small> - index of the object | |||
=== localplayer_chargeready === | |||
local player has full medic charge | |||
=== localplayer_pickup_weapon === | |||
=== localplayer_respawn === | |||
=== localplayer_score_changed === | |||
* <b>score</b> <small>(short)</small> | |||
=== localplayer_winddown === | |||
local player minigun winddown | |||
=== player_account_changed === | |||
* <b>old_value</b> <small>(short)</small> | |||
* <b>new_value</b> <small>(short)</small> | |||
=== localplayer_healed === | |||
* <b>amount</b> <small>(short)</small> | |||
=== player_currency_changed === | |||
* <b>currency</b> <small>(short)</small> | |||
=== player_calledformedic === | |||
* <b>userid</b> <small>(short)</small> | |||
=== player_healedbymedic === | |||
* <b>medic</b> <small>(byte)</small> | |||
=== player_pinned === | |||
* <b>pinned</b> <small>(byte)</small> | |||
=== hide_annotation === | |||
* <b>id</b> <small>(long)</small> | |||
=== show_annotation === | |||
* <b>worldPosX</b> <small>(float)</small> | |||
* <b>worldPosY</b> <small>(float)</small> | |||
* <b>worldPosZ</b> <small>(float)</small> | |||
* <b>worldNormalX</b> <small>(float)</small> | |||
* <b>worldNormalY</b> <small>(float)</small> | |||
* <b>worldNormalZ</b> <small>(float)</small> | |||
* <b>id</b> <small>(long)</small> | |||
* <b>text</b> <small>(string)</small> - name (unlocalized) | |||
* <b>lifetime</b> <small>(float)</small> | |||
* <b>visibilityBitfield</b> <small>(long)</small> - bitfield of the players that can see this. If 0, everyone can see it | |||
{{warning|This was only intended for supporting 32 players, players above that index are not considered.}} | |||
* <b>follow_entindex</b> <small>(long)</small> - if this is set, follow this entity | |||
* <b>show_distance</b> <small>(bool)</small> | |||
* <b>play_sound</b> <small>(string)</small> | |||
* <b>show_effect</b> <small>(bool)</small> | |||
=== player_bonuspoints === | |||
* <b>points</b> <small>(short)</small> | |||
* <b>player_entindex</b> <small>(short)</small> | |||
* <b>source_entindex</b> <small>(short)</small> | |||
=== rd_team_points_changed === | |||
* <b>points</b> <small>(short)</small> | |||
* <b>team</b> <small>(byte)</small> | |||
* <b>method</b> <small>(byte)</small> | |||
=== quest_objective_completed === | |||
For prediction | |||
* <b>quest_item_id_low</b> <small>(long)</small> | |||
* <b>quest_item_id_hi</b> <small>(long)</small> | |||
* <b>quest_objective_id</b> <small>(long)</small> | |||
* <b>scorer_user_id</b> <small>(short)</small> | |||
=== quest_request === | |||
* <b>request</b> <small>(long)</small> | |||
* <b>msg</b> <small>(string)</small> - Protobuf serialized to a string | |||
=== quest_response === | |||
* <b>request</b> <small>(long)</small> | |||
* <b>success</b> <small>(bool)</small> | |||
* <b>msg</b> <small>(string)</small> - Protobuf serialized to a string | |||
=== quest_turn_in_state === | |||
* <b>state</b> <small>(short)</small> - Maps to EQuestTurnInState | |||
=== questlog_opened === | |||
=== lobby_updated === | |||
=== match_invites_updated === | |||
=== show_class_layout === | |||
* <b>show</b> <small>(bool)</small> | |||
=== arena_player_notification === | |||
* <b>player</b> <small>(byte)</small> | |||
* <b>message</b> <small>(byte)</small> | |||
=== mainmenu_stabilized === | |||
* <b>attacker</b> <small>(short)</small> | |||
* <b>victim</b> <small>(short)</small> | |||
* <b>assister</b> <small>(short)</small> | |||
=== player_stats_updated === | |||
* <b>forceupload</b> <small>(bool)</small> | |||
=== player_mvp === | |||
* <b>player</b> <small>(short)</small> | |||
=== party_chat === | |||
* <b>steamid</b> <small>(string)</small> - steamID (64-bit value converted to string) of user who said or did the thing. May be | |||
* <b>text</b> <small>(string)</small> - The message. May have different meaning for some types | |||
* <b>type</b> <small>(short)</small> - What sort of message? ETFPartyChatType enum | |||
=== party_member_join === | |||
* <b>steamid</b> <small>(string)</small> - steamID (64-bit value converted to string) of joined | |||
=== party_member_leave === | |||
* <b>steamid</b> <small>(string)</small> - steamID (64-bit value converted to string) of leaver | |||
=== party_criteria_changed === | |||
=== party_invites_changed === | |||
=== party_pref_changed === | |||
=== party_queue_state_changed === | |||
* <b>matchgroup</b> <small>(short)</small> - ETFMatchGroup | |||
=== party_updated === | |||
=== playing_commentary === | |||
=== achievement_earned_local === | |||
* <b>achievement</b> <small>(short)</small> | |||
=== user_data_downloaded === | |||
fired when achievements/stats are downloaded from Steam or XBox Live | |||
=== econ_inventory_connected === | |||
=== gc_lost_session === | |||
=== gc_new_session === | |||
=== player_hintmessage === | |||
* <b>hintmessage</b> <small>(string)</small> - localizable string of a hint | |||
=== restart_timer_time === | |||
* <b>time</b> <small>(byte)</small> - How much time is left | |||
=== teamplay_update_timer === | |||
=== teamplay_round_stalemate === | |||
* <b>reason</b> <small>(byte)</small> - why the stalemate is occuring | |||
=== player_ignited_inv === | |||
sent when a player is ignited by a pyro who is being invulned, only to the medic who's doing the invulning | |||
* <b>pyro_entindex</b> <small>(byte)</small> - entindex of the pyro who ignited the victim | |||
* <b>victim_entindex</b> <small>(byte)</small> - entindex of the player ignited by the pyro | |||
* <b>medic_entindex</b> <small>(byte)</small> - entindex of the medic releasing the invuln | |||
=== player_ignited === | |||
sent when a player is ignited, only to the two players involved | |||
* <b>pyro_entindex</b> <small>(byte)</small> - entindex of the pyro who ignited the victim | |||
* <b>victim_entindex</b> <small>(byte)</small> - entindex of the player ignited by the pyro | |||
* <b>weaponid</b> <small>(byte)</small> - weaponid of the weapon used | |||
=== player_damaged === | |||
* <b>amount</b> <small>(short)</small> | |||
* <b>type</b> <small>(long)</small> | |||
=== player_jarated === | |||
sent when a player is jarated, only to the two players involved | |||
* <b>thrower_entindex</b> <small>(byte)</small> - entindex of the player who threw the jarate | |||
* <b>victim_entindex</b> <small>(byte)</small> - entindex of the player receiving it | |||
=== player_jarated_fade === | |||
sent when a player is jarated, only to the two players involved | |||
* <b>thrower_entindex</b> <small>(byte)</small> - entindex of the player who threw the jarate | |||
* <b>victim_entindex</b> <small>(byte)</small> - entindex of the player receiving it | |||
=== player_shield_blocked === | |||
sent when a player is jarated, only to the two players involved | |||
* <b>attacker_entindex</b> <small>(byte)</small> - entindex of the player who threw the jarate | |||
* <b>blocker_entindex</b> <small>(byte)</small> - entindex of the player receiving it | |||
=== player_extinguished === | |||
sent when a burning player is extinguished by a medic | |||
* <b>victim</b> <small>(byte)</small> - entindex of the player that was extinguished | |||
* <b>healer</b> <small>(byte)</small> - entindex of the player who did the extinguishing | |||
* <b>itemdefindex</b> <small>(short)</small> - item defindex that did the extinguishing | |||
=== player_damage_dodged === | |||
* <b>damage</b> <small>(short)</small> | |||
=== flagstatus_update === | |||
* <b>userid</b> <small>(short)</small> - user ID of the player who now has the flag | |||
* <b>entindex</b> <small>(long)</small> - ent index of flag | |||
=== air_dash === | |||
* <b>player</b> <small>(byte)</small> | |||
=== landed === | |||
* <b>player</b> <small>(byte)</small> | |||
=== vote_maps_changed === | |||
* <b>type</b> <small>(byte)</small> | * <b>type</b> <small>(byte)</small> | ||
* <b>defindex</b> <small>(long)</small> | * <b>defindex</b> <small>(long)</small> | ||
Line 1,661: | Line 1,678: | ||
* <b>erase_history</b> <small>(bool)</small> | * <b>erase_history</b> <small>(bool)</small> | ||
== | === schema_updated === | ||
=== rd_rules_state_changed === | |||
== | === duck_xp_level_up === | ||
* <b> | * <b>level</b> <small>(short)</small> - leveled up to what | ||
== | === update_status_item === | ||
* <b> | * <b>index</b> <small>(byte)</small> | ||
* <b> | * <b>object</b> <small>(byte)</small> | ||
== | === parachute_deploy === | ||
* <b> | * <b>index</b> <small>(short)</small> - entindex of the player | ||
== | === parachute_holster === | ||
* <b> | * <b>index</b> <small>(short)</small> - entindex of the player |
Latest revision as of 10:46, 20 May 2025
This article lists game events in Team Fortress 2. These were retrieved from serverevents.res
, gameevents.res
, modevents.res
and replayevents.res
in the resource
folder.

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

tf/scripts/vscripts/
folder and run script_execute showevents
in console.Serverside
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)
arena_match_maxstreak
- team (byte)
- streak (byte)
arena_round_start
called when round is active, players can move
arena_win_panel
- panel_style (byte) - for client to determine layout
- winning_team (byte)
- winreason (byte) - the reason the team won
- cappers (string) - string where each character is a player index of someone that capped
- flagcaplimit (short) - if win reason was flag cap limit, the value of the flag cap limit
- blue_score (short) - red team score
- red_score (short) - blue team score
- blue_score_prev (short) - previous red team score
- red_score_prev (short) - previous blue team score
- round_complete (short) - is this a complete round, or the end of a mini-round
- player_1 (short)
- player_1_damage (short)
- player_1_healing (short)
- player_1_lifetime (short)
- player_1_kills (short)
- player_2 (short)
- player_2_damage (short)
- player_2_healing (short)
- player_2_lifetime (short)
- player_2_kills (short)
- player_3 (short)
- player_3_damage (short)
- player_3_healing (short)
- player_3_lifetime (short)
- player_3_kills (short)
- player_4 (short)
- player_4_damage (short)
- player_4_healing (short)
- player_4_lifetime (short)
- player_4_kills (short)
- player_5 (short)
- player_5_damage (short)
- player_5_healing (short)
- player_5_lifetime (short)
- player_5_kills (short)
- player_6 (short)
- player_6_damage (short)
- player_6_healing (short)
- player_6_lifetime (short)
- player_6_kills (short)
arrow_impact
- attachedEntity (short)
- shooter (short)
- boneIndexAttached (short)
- bonePositionX (float)
- bonePositionY (float)
- bonePositionZ (float)
- boneAnglesX (float)
- boneAnglesY (float)
- boneAnglesZ (float)
- projectileType (short)
- isCrit (bool)
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)
building_healed
- building (short)
- healer (short)
- amount (short)
christmas_gift_grab
- userid (short)
cl_drawline
- player (byte) - index of the player
- panel (byte) - type of panel
- line (byte) - type of line
- x (float)
- y (float)
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
competitive_stats_update
- index (short) - entindex of the player
- kills_rank (byte) - num std deviations above
- score_rank (byte)
- damage_rank (byte)
- healing_rank (byte)
- support_rank (byte)
competitive_victory
conga_kill
- index (short) - entindex of the player
controlpoint_endtouch
- player (short) - entindex of the player
- area (short) - index of the control point area
controlpoint_fake_capture
- player (short) - entindex of the player
- int_data (short)
controlpoint_fake_capture_mult
- player (short) - entindex of the player
- int_data (short)
controlpoint_pulse_element
- player (short) - entindex of the player
controlpoint_starttouch
- player (short) - entindex of the player
- area (short) - index of the control point area
controlpoint_updatecapping
- index (short) - index of the cap being updated
controlpoint_updateimages
- index (short) - index of the cap being updated
controlpoint_updatelayout
- index (short) - index of the cap being updated
controlpoint_updateowner
- index (short) - index of the cap being updated
cross_spectral_bridge
- player (short) - userid of the player that crossed
crossbow_heal
- healer (byte) - userid of the Healer
- target (byte) - userid of the player that got hit
- amount (short) - amount that was healed
ctf_flag_captured
- capping_team (short)
- capping_team_score (short)
damage_mitigated
- mitigator (byte) - userid of the player who provided the mitigation
- damaged (byte) - userid of the player who took the damage
- amount (short) - amount that was mitigated
- itemdefindex (short) - defindex of the item that provided the mitigation
damage_prevented
- preventor (short) - Who prevented the damage
- victim (short) - Who took the damage that was prevented
- amount (short) - How much got prevented
- condition (short) - Which condition did the preventing
damage_resisted
- entindex (byte)
deadringer_cheat_death
- spy (byte) - userid of the Spy that cheat the death
- attacker (byte) - userid of the player that caused the cheat death to happen
demoman_det_stickies
- player (short) - entindex of the detonating player
deploy_buff_banner
- buff_type (byte) - type of buff (skin index)
- buff_owner (short) - user ID of the person who gets the banner
doomsday_rocket_open
- team (byte) - which team opened the rocket
duel_status
- killer (short)
- score_type (short)
- initiator (short)
- target (short)
- initiator_score (short)
- target_score (short)
enter_vehicle
- vehicle (long) - entindex of the vehicle
entity_killed
- entindex_killed (long)
- entindex_attacker (long)
- entindex_inflictor (long)
- damagebits (long)
environmental_death
- killer (byte) - index of the killer
- victim (byte) - index of the victim
escape_hell
- player (short) - userid of the player that escaped
escaped_loot_island
- player (short) - userid of the escaping player
eyeball_boss_escape_imminent
- level (short)
- time_remaining (byte)
eyeball_boss_escaped
- level (short)
eyeball_boss_killed
- level (short)
eyeball_boss_killer
- level (short)
- player_entindex (byte)
eyeball_boss_stunned
- level (short)
- player_entindex (byte)
eyeball_boss_summoned
- level (short)
fish_notice
- userid (short) - user ID who died
- victim_entindex (long)
- inflictor_entindex (long) - ent index of inflictor (a sentry, for example)
- attacker (short) - user ID who killed
- weapon (string) - weapon name killer used
- weaponid (short) - ID of weapon killed used
- damagebits (long) - bits of type of damage
- customkill (short) - type of custom kill
- assister (short) - user ID of assister
- weapon_logclassname (string) - weapon name that should be printed on the log
- stun_flags (short) - victim's stun flags at the moment of death
- death_flags (short) - death flags.
- silent_kill (bool)
- assister_fallback (string) - contains a string to use if "assister" is -1
fish_notice__arm
- userid (short) - user ID who died
- victim_entindex (long)
- inflictor_entindex (long) - ent index of inflictor (a sentry, for example)
- attacker (short) - user ID who killed
- weapon (string) - weapon name killer used
- weaponid (short) - ID of weapon killed used
- damagebits (long) - bits of type of damage
- customkill (short) - type of custom kill
- assister (short) - user ID of assister
- weapon_logclassname (string) - weapon name that should be printed on the log
- stun_flags (short) - victim's stun flags at the moment of death
- death_flags (short) - death flags.
- silent_kill (bool)
- assister_fallback (string) - contains a string to use if "assister" is -1
flag_carried_in_detection_zone
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_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
halloween_boss_killed
- boss (short) - 1=HHH 2=Monoculus 3=Merasmus
- killer (short) - userid of the killing player
halloween_duck_collected
- collector (short) - userid of the collecting player
halloween_pumpkin_grab
- userid (short)
halloween_skeleton_killed
- player (short) - userid of the player that killed the skeleton
halloween_soul_collected
- intended_target (byte) - userid of the intended target
- collecting_player (byte) - userid of the player who picked up the soul
- soul_count (byte) - number of souls collected (gift boxes)
helicopter_grenade_punt_miss
host_quit
intro_finish
- player (short) - entindex of the player
intro_nextcamera
- player (short) - entindex of the player
item_found
- player (byte) - entindex of the player
- quality (byte) - quality of the item
- method (byte) - method by which we acquired the item
- itemdef (long) - the item definition index
- isstrange (byte)
- isunusual (byte)
- wear (float)
item_pickup
- userid (short)
- item (string)
item_schema_initialized
kill_in_hell
- killer (short) - userid of the killer
- victim (short) - userid of the victim
kill_refills_meter
- index (short) - entindex of the player
killed_capping_player
- cp (byte) - index of the point
- killer (byte) - index of the killer
- victim (byte) - index of the victim
- assister (byte) - index of the assister
leave_vehicle
- vehicle (long) - entindex of the vehicle
medic_death
- userid (short) - user ID who died
- attacker (short) - user ID who killed
- healing (short) - amount healed in this life
- charged (bool) - had a full ubercharge?
medic_defended
- userid (short)
- medic (short)
medigun_shield_blocked_damage
- userid (short) - user ID of the player using the shield
- damage (float) - damage that was blocked
merasmus_escape_warning
- level (short)
- time_remaining (byte)
merasmus_escaped
- level (short)
merasmus_killed
- level (short)
merasmus_prop_found
- player (short) - userid of the player that found the prop Merasmus was hiding in
merasmus_stunned
- player (short) - userid of the stunning player
merasmus_summoned
- level (short)
minigame_win
- team (byte) - which team won the minigame
- type (byte) - what type of minigame was won
minigame_won
- player (short) - userid of the winning player
- game (short) - index of the game
mvm_adv_wave_complete_no_gates
- index (short) - wave index
mvm_adv_wave_killed_stun_radio
mvm_begin_wave
- wave_index (short)
- max_waves (short)
- advanced (short)
mvm_bomb_alarm_triggered
mvm_bomb_carrier_killed
- level (short) - upgrade level of the carrier
mvm_bomb_deploy_reset_by_player
- player (short)
mvm_bomb_reset_by_player
- player (short)
mvm_creditbonus_all
mvm_creditbonus_all_advanced
mvm_creditbonus_wave
mvm_kill_robot_delivering_bomb
- player (short) - entindex of the player
mvm_mannhattan_pit
- player (short) - entindex of the player
mvm_mission_complete
- mission (string)
mvm_mission_update
- class (short)
- count (short)
mvm_pickup_currency
- player (short) - entindex of the player
- currency (short)
mvm_quick_sentry_upgrade
- player (short) - entindex of the player
mvm_reset_stats
mvm_scout_marked_for_death
- player (short) - entindex of the player
mvm_sentrybuster_detonate
- player (short) - entindex of the target player
- det_x (float) - origin of the sentry buster
- det_y (float)
- det_z (float)
mvm_sentrybuster_killed
- sentry_buster (short) - entindex
mvm_sniper_headshot_currency
- userid (short) - user ID of the player
- currency (short) - currency collected
mvm_tank_destroyed_by_players
mvm_wave_complete
- advanced (bool) - is this an advanced popfile
mvm_wave_failed
- area (long)
- blocked (bool)
npc_hurt
Fired when an Engineer building (obj_sentrygun, obj_dispenser, obj_teleporter), base_boss, MvM tank (tank_boss) or Halloween enemy (headless_hatman, eyeball_boss, merasmus, tf_zombie) is damaged.
- entindex (short)
- health (short)
- attacker_player (short)
- weaponid (short)
- damageamount (short)
- crit (bool)
- boss (short) - 1=HHH 2=Monoculus 3=Merasmus
num_cappers_changed
- index (short) - index of the trigger
- count (byte) - number of cappers (-1 for blocked)
object_deflected
- userid (short) - player who deflected the object
- ownerid (short) - owner of the object
- weaponid (short) - weapon id (0 means the player in ownerid was pushed)
- object_entindex (short) - entindex of the object that got deflected
object_destroyed
- userid (short) - user ID who died
- attacker (short) - user ID who killed
- assister (short) - user ID of assister
- weapon (string) - weapon name killer used
- weaponid (short) - id of the weapon used
- objecttype (short) - type of object destroyed
- index (short) - index of the object destroyed
- was_building (bool) - object was being built when it died
- team (short) - building's team
object_detonated
- userid (short) - user ID of the object owner
- objecttype (short) - type of object removed
- index (short) - index of the object removed
object_removed
- userid (short) - user ID of the object owner
- objecttype (short) - type of object removed
- index (short) - index of the object removed
overtime_nag
pass_ball_blocked
- owner (short)
- blocker (short)
pass_ball_stolen
- victim (short)
- attacker (short)
pass_free
- owner (short)
- attacker (short)
pass_get
- owner (short)
- team (short)
pass_pass_caught
- passer (short)
- catcher (short)
- dist (float)
- duration (float)
pass_score
- scorer (short)
- assister (short)
- points (byte)
path_track_passed
- index (short) - entity handle of the node being passed (not the index!)

EntIndexToHScript(params.index & (Constants.Server.MAX_EDICTS - 1))
payload_pushed
- pusher (byte) - userid of the player who pushed
- distance (short) - how far they pushed
physgun_pickup
- entindex (long) - entity picked up
player_abandoned_match
- game_over (bool)
player_activate
- userid (short) - user ID on server
player_askedforball
- userid (short)
player_buff
- userid (short) - user ID of the player the buff is being applied to
- buff_owner (short) - user ID of the player with the banner
- buff_type (byte) - type of buff
player_builtobject
- userid (short) - user ID of the builder
- object (short) - type of object built
- index (short) - index of the object
player_buyback
- player (short)
- cost (short)
player_carryobject
- userid (short) - user ID of the builder
- object (short) - type of object built
- index (short) - index of the object
player_changeclass
- userid (short) - user ID who changed class
- class (short) - class that they changed to
player_changename
- userid (short) - user ID on server
- oldname (string) - players old (current) name
- newname (string) - players new name
player_chargedeployed
- userid (short) - user ID of medic who deployed charge
- targetid (short) - user ID of who the medic charged
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 has connected. This does NOT fire between level changes as the player is already connected. Use player_spawn
instead if you need to catch every player entity that is created.
- 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
Fired when a player dies. This shows up in the kill feed.

if (params.death_flags & 32
)!- userid (short) - user ID who died
- victim_entindex (long)
- inflictor_entindex (long) - ent index of inflictor (a sentry, for example)
- attacker (short) - user ID who killed

GetPlayerFromUserID
, ALWAYS check if it's not null first! If the player died from the environment or NPCs, the attacker handle will be null.- weapon (string) - weapon name killer used
- weaponid (short) - ID of weapon killer used
- damagebits (long) - bits of type of damage
- customkill (short) - type of custom kill
- assister (short) - user ID of assister
- weapon_logclassname (string) - weapon name that should be printed on the log
- stun_flags (short) - victim's stun flags at the moment of death
- death_flags (short) - death flags
- silent_kill (bool)
- playerpenetratecount (short)
- assister_fallback (string) - contains a string to use if "assister" is -1
- kill_streak_total (short) - Kill streak count (level)
- kill_streak_wep (short) - Kill streak for killing weapon
- kill_streak_assist (short) - Kill streak for assister count
- kill_streak_victim (short) - Victims kill streak
- ducks_streaked (short) - Duck streak increment from this kill
- duck_streak_total (short) - Duck streak count for attacker
- duck_streak_assist (short) - Duck streak count for assister
- duck_streak_victim (short) - (former) duck streak count for victim
- rocket_jump (bool) - was the victim rocket jumping
- weapon_def_index (long) - item def index of weapon killer used
- crit_type (short) - Crit type of kill. 0: None 1: Mini 2: Full

death_flags
instead.- dominated (short) - did killer dominate victim with this kill
- assister_dominated (short) - did assister dominate victim with this kill
- revenge (short) - did killer get revenge on victim with this kill
- assister_revenge (short) - did assister get revenge on victim with this kill
- first_blood (bool) - was this a first blood kill
- feign_death (bool) - the victim is feign death
player_destroyed_pipebomb
- userid (short)
player_directhit_stun
- attacker (short) - entindex of the attacker
- victim (short) - entindex of the victim
player_disconnect
A client has disconnected. The player handle and script scope still exists when this event fires, as it persists for a frame after disconnect.
- 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_domination
- dominator (short) - userID of who gained domination
- dominated (short) - userID of who got dominated
- dominations (short) - Number of dominations this dominator has
player_dropobject
- userid (short) - user ID of the builder
- object (short) - type of object built
- index (short) - index of the object
player_escort_score
- player (byte)
- points (byte)
player_healed
- patient (short)
- healer (short)
- amount (short)
player_healedmediccall
local player heals someone who called for medic.
- userid (short) - userid of person who got healed
player_healonhit
- amount (short)
- entindex (byte)
- weapon_def_index (long) - item def index of the healing weapon
player_highfive_cancel
- entindex (byte)
player_highfive_start
- entindex (byte)
player_highfive_success
- initiator_entindex (byte)
- partner_entindex (byte)
player_hurt
- userid (short)
- health (short) - if <= 0, then this will play the killsound
- attacker (short)
- damageamount (short)
- custom (short)
- showdisguisedcrit (bool) - if our attribute specifically crits disguised enemies we need to show it on the client
- crit (bool) - legacy only, use
bonuseffect
- minicrit (bool) - legacy only, use
bonuseffect
- allseecrit (bool)
- weaponid (short)
- bonuseffect (byte) - type of damage effect, see constants page.

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_initial_spawn
- index (short) - entindex of the player
player_invulned
- userid (short)
- medic_userid (short)
player_killed_achievement_zone
- attacker (short) - entindex of the attacker
- victim (short) - entindex of the victim
- zone_id (short) - type of area (0 for general, 1 for capture zone)
player_regenerate
player_rocketpack_pushed
- pusher (short) - userID of who pushed
- pushed (short) - userID of who got pushed
player_sapped_object
- userid (short) - user ID of the spy
- ownerid (short) - user ID of the building owner
- object (byte)
- sapperid (short) - index of the sapper
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_score_changed
- player (byte)
- delta (short)
player_shoot

- 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, team
is equal to 0 (unassigned). Each time afterwards, the event will only be fired when the player spawns alive on red or blue team. This is also fired once when SourceTV is loaded in.
- userid (short) - user ID who spawned
- team (short) - team they spawned on
- class (short) - class they spawned as
player_stealsandvich
- owner (short)
- target (short)
player_stunned
- stunner (short)
Warning:If there's no attacker, this key won't exist (such as being stunned after hitting a wall with a bumper kart)
- victim (short)
- victim_capping (bool)
- big_stun (bool)
player_team
Fired when player joins a 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_teleported
- userid (short) - userid of the player
- builderid (short) - userid of the player who built the teleporter
- dist (float) - distance the player was teleported
player_turned_to_ghost
- userid (short) - user ID of the player who changed to a ghost
player_upgraded
player_upgradedobject
- userid (short) - user ID of the builder
- object (short) - type of object built
- index (short) - index of the object
- isbuilder (bool)
player_use
- userid (short) - user ID on server
- entity (short) - entity used by player
player_used_powerup_bottle
- player (short)
- type (short)
- time (float)
post_inventory_application
Fired when the player has items resupplied, i.e. when the player spawns or touches resupply (func_regenerate).
- userid (short)
projectile_direct_hit
- attacker (byte) - index of the player who shot the projectile
- victim (byte) - index of the player who got direct-ht
- weapon_def_index (long) - defindex of the direct hitting weapon
projectile_removed
- attacker (byte)
- weapon_def_index (long)
- num_hit (byte)
- num_direct_hit (byte)
pumpkin_lord_killed
pumpkin_lord_summoned
pve_win_panel
- panel_style (byte) - for client to determine layout
- winning_team (byte)
- winreason (byte) - the reason the team won
quest_map_data_changed
- igniter (short) - entindex of the igniter
- douser (short) - entindex of the douser
- victim (short) - entindex of the victim
quest_progress
- owner (short)
- scorer (short)
- type (byte)
- completed (bool)
- quest_defindex (long)
ragdoll_dissolved
- entindex (long)
raid_spawn_mob
raid_spawn_squad
rd_player_score_points
- player (short)
- method (short)
- amount (short)
rd_robot_impact
- entindex (short)
- impulse_x (float)
- impulse_y (float)
- impulse_z (float)
rd_robot_killed
- userid (short) - user ID who died
- victim_entindex (long)
- inflictor_entindex (long) - ent index of inflictor (a sentry, for example)
- attacker (short) - user ID who killed
- weapon (string) - weapon name killer used
- weaponid (short) - ID of weapon killed used
- damagebits (long) - bits of type of damage
- customkill (short) - type of custom kill
- weapon_logclassname (string) - weapon name that should be printed on the log
recalculate_holidays
recalculate_truce
rematch_failed_to_create
- map_index (byte) - what they voted for
- vote (byte) - what the vote was
remove_nemesis_relationships
- player (short) - entindex of the player who should reset
replay_endrecord
replay_replaysavailable
replay_servererror
- error (string)
replay_sessioninfo
Sent when the server begins recording, or when a client first connects - only sent once per recording session
- sn (string) - session name
- di (byte) - dump interval
- cb (long) - current block
- st (long) - session start tick
replay_startrecord
Sent when the server begins recording - only used to display UI
respawn_ghost
- reviver (short) - userid of the reviving player
- ghost (short) - userid of the player that got revived
revive_player_complete
- entindex (short) - entindex of the medic
revive_player_notify
- entindex (short)
- marker_entindex (short)
revive_player_stopped
- entindex (short)
rocket_jump
- userid (short)
- playsound (bool)
rocket_jump_landed
- userid (short)
rocketpack_landed
- userid (short)
rocketpack_launch
- userid (short)
- playsound (bool)
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
rps_taunt_event
- winner (short) - entindex of the winning player
- winner_rps (byte) - winner's selection
- loser (short) - entindex of the losing player
- loser_rps (byte) - loser's selection
scorestats_accumulated_reset
Fired when round resets due to mp_restartgame
.
scorestats_accumulated_update
Fired right before map entities are cleaned up for a round restart.
This event is not fired in Mann Vs Machine mode. For MvM, use recalculate_holidays
and check if GetRoundState() === 3
is true, which indicates a mission reset.
scout_grand_slam
- scout_id (short)
- target_id (short)
sentry_on_go_active
- index (short)
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_match_summary
- success (bool)
show_vs_panel
- show (bool)
single_player_death
skeleton_killed_quest
- player (short) - userid of the player that killed the skeleton
skeleton_king_killed_quest
- player (short) - userid of the player that killed the skeleton
slap_notice
- userid (short) - user ID who died
- victim_entindex (long)
- inflictor_entindex (long) - ent index of inflictor (a sentry, for example)
- attacker (short) - user ID who killed
- weapon (string) - weapon name killer used
- weaponid (short) - ID of weapon killed used
- damagebits (long) - bits of type of damage
- customkill (short) - type of custom kill
- assister (short) - user ID of assister
- weapon_logclassname (string) - weapon name that should be printed on the log
- stun_flags (short) - victim's stun flags at the moment of death
- death_flags (short) - death flags.
- silent_kill (bool)
- assister_fallback (string) - contains a string to use if "assister" is -1
special_score
- player (byte) - index of the scorer
spy_pda_reset
stats_resetround
sticky_jump
- userid (short)
- playsound (bool)
sticky_jump_landed
- userid (short)
tagged_player_as_it
- player (short) - userid of the tagging player
take_armor
- amount (long)
- total (long)
take_health
- amount (long)
- total (long)
team_info
info about team
- teamid (byte) - unique team id
- teamname (string) - team name eg "Team Blue"
team_leader_killed
- killer (byte) - index of the killer
- victim (byte) - index of the victim
team_score
team score changed
- teamid (byte) - team id
- score (short) - total team score
teamplay_alert
- alert_type (short) - which alert type is this (scramble, etc)?
teamplay_broadcast_audio
- team (byte) - which team should hear the broadcast. 0 will make everyone hear it.
- sound (string) - sound to play
- additional_flags (short) - additional sound flags to pass through to sound system
- player (short) - entindex of the player source or -1
teamplay_capture_blocked
- cp (byte) - index of the point that was blocked
- cpname (string) - name of the point
- blocker (byte) - index of the player that blocked the cap
- victim (byte) - index of the player that died, causing the block
teamplay_capture_broken
- cp (byte)
- cpname (string)
- time_remaining (float)
teamplay_flag_event
- player (short) - player this event involves
- carrier (short) - the carrier if needed
- eventtype (short) - pick up, capture, defend, dropped
- home (byte) - whether or not the flag was home (only set for TF_FLAGEVENT_PICKUP)
- team (byte) - which team the flag belongs to
teamplay_game_over
- reason (string) - why the game is over ( timelimit, winlimit )
teamplay_map_time_remaining
- seconds (short)
teamplay_overtime_begin
teamplay_overtime_end
teamplay_point_captured
- cp (byte) - index of the point that was captured
- cpname (string) - name of the point
- team (byte) - which team capped
- cappers (string) - string where each character is a player index of someone that capped
teamplay_point_locked
- cp (byte) - index of the point being captured
- cpname (string) - name of the point
- team (byte) - which team currently owns the point
teamplay_point_startcapture
- cp (byte) - index of the point being captured
- cpname (string) - name of the point
- team (byte) - which team currently owns the point
- capteam (byte) - which team is capping
- cappers (string) - string where each character is a player index of someone capping
- captime (float) - time between when this cap started and when the point last changed hands
teamplay_point_unlocked
- cp (byte) - index of the point being captured
- cpname (string) - name of the point
- team (byte) - which team currently owns the point
teamplay_pre_round_time_left
- time (short)
teamplay_ready_restart
teamplay_restart_round
teamplay_round_active
called when round is active, players can move
teamplay_round_restart_seconds
- seconds (short)
teamplay_round_selected
- round (string) - name of the round selected
teamplay_round_start
round restart
- full_reset (bool) - is this a full reset of the map
teamplay_round_win
- team (byte) - which team won the round
- winreason (byte) - the reason the team won
- flagcaplimit (short) - if win reason was flag cap limit, the value of the flag cap limit
- full_round (short) - was this a full round or a mini-round
- round_time (float) - elapsed time of this round
- losing_team_num_caps (short) - # of caps this round by losing team
- was_sudden_death (byte) - did a team win this after entering sudden death
teamplay_setup_finished
teamplay_suddendeath_begin
teamplay_suddendeath_end
teamplay_team_ready
- team (byte) - which team is ready
teamplay_teambalanced_player
- player (short) - entindex of the player
- team (byte) - which team the player is being moved to
teamplay_timer_flash
- time_remaining (short) - how many seconds until the round ends
teamplay_timer_time_added
- timer (short) - entindex of the timer
- seconds_added (short) - how many seconds were added to the round timer
teamplay_waiting_abouttoend
teamplay_waiting_begins
teamplay_waiting_ends
teamplay_win_panel
- panel_style (byte) - for client to determine layout
- winning_team (byte)
- winreason (byte) - the reason the team won
- cappers (string) - string where each character is a player index of someone that capped
- flagcaplimit (short) - if win reason was flag cap limit, the value of the flag cap limit
- blue_score (short) - red team score
- red_score (short) - blue team score
- blue_score_prev (short) - previous red team score
- red_score_prev (short) - previous blue team score
- round_complete (short) - is this a complete round, or the end of a mini-round
- rounds_remaining (short) - # of rounds remaining for wining team, if mini-round
- player_1 (short)
- player_1_points (short)
- player_2 (short)
- player_2_points (short)
- player_3 (short)
- player_3_points (short)
- killstreak_player_1 (short)
- killstreak_player_1_count (short)
- game_over (byte)
teams_changed
tf_game_over
- reason (string) - why the game is over ( timelimit, winlimit )
tf_map_time_remaining
- seconds (long)
throwable_hit
- userid (short) - user ID who died
- victim_entindex (long)
- inflictor_entindex (long) - ent index of inflictor (a sentry, for example)
- attacker (short) - user ID who killed
- weapon (string) - weapon name killer used
- weaponid (short) - ID of weapon killed used
- damagebits (long) - bits of type of damage
- customkill (short) - type of custom kill
- assister (short) - user ID of assister
- weapon_logclassname (string) - weapon name that should be printed on the log
- stun_flags (short) - victim's stun flags at the moment of death
- death_flags (short) - death flags.
- silent_kill (bool)
- assister_fallback (string) - contains a string to use if "assister" is -1
- totalhits (short) - Number of hits his player has done
tournament_enablecountdown
tournament_stateupdate
- userid (short) - user ID on server
- namechange (bool)
- readystate (short)
- newname (string) - players new name
training_complete
- next_map (string) - next map (if any)
- map (string) - the name of the map this screen is on.
- text (string) - text to show
upgrades_file_changed
- path (string)
vote_cast
- vote_option (byte) - which option the player voted on
- team (short)
- entityid (long) - entity id of the voter
- voteidx (long)
vote_ended
vote_options
- count (byte) - Number of options - up to MAX_VOTE_OPTIONS
- option1 (string)
- option2 (string)
- option3 (string)
- option4 (string)
- option5 (string)
- voteidx (long)
weapon_equipped
- class (string)
- entindex (long)
winlimit_changed
- delay (float)
Clientside
spec_target_updated
show_freezepanel
- killer (short) - entindex of the killer entity
hide_freezepanel
freezecam_started
controlpoint_initialized
controlpoint_unlock_updated
- index (short) - index of the cap being updated
- time (float) - time
controlpoint_timer_updated
- index (short) - index of the cap being updated
- time (float) - time
escort_speed
- team (byte) - which team
- speed (byte)
- players (byte)
escort_progress
- team (byte) - which team
- progress (float)
- reset (bool)
escort_recede
- team (byte) - which team
- recedetime (float)
vote_changed
- vote_option1 (byte)
- vote_option2 (byte)
- vote_option3 (byte)
- vote_option4 (byte)
- vote_option5 (byte)
- potentialVotes (byte)
- voteidx (long)
gameui_activated
game_newmap
send when new map is completely loaded
- mapname (string) - map name
items_acknowledged
- blocker (short) - entindex of the blocker
- victim (short) - entindex of the victim
store_pricesheet_updated
cart_updated
inventory_updated
hltv_changed_mode
- oldmode (short)
- newmode (short)
- obs_target (short)
hltv_changed_target
- mode (short)
- old_target (short)
- obs_target (short)
vote_failed
- 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)
vote_passed
- details (string)
- param1 (string)
- team (byte)
- voteidx (long)
replay_saved
replay_youtube_stats
- views (long)
- likes (long)
- favorited (long)
base_player_teleported
- entindex (short)
browse_replays
entered_performance_mode
building_info_changed
- building_type (byte)
- object_mode (byte)
- remove (byte)
scout_slamdoll_landed
- target_index (short)
- x (float)
- y (float)
- z (float)
localplayer_changeteam
localplayer_changeclass
localplayer_becameobserver
localplayer_changedisguise
- disguised (bool)
localplayer_builtobject
- object (short) - type of object built
- object_mode (short) - used for teleporters: entrance vs. exit
- index (short) - index of the object
localplayer_chargeready
local player has full medic charge
localplayer_pickup_weapon
localplayer_respawn
localplayer_score_changed
- score (short)
localplayer_winddown
local player minigun winddown
player_account_changed
- old_value (short)
- new_value (short)
localplayer_healed
- amount (short)
player_currency_changed
- currency (short)
player_calledformedic
- userid (short)
player_healedbymedic
- medic (byte)
player_pinned
- pinned (byte)
hide_annotation
- id (long)
show_annotation
- worldPosX (float)
- worldPosY (float)
- worldPosZ (float)
- worldNormalX (float)
- worldNormalY (float)
- worldNormalZ (float)
- id (long)
- text (string) - name (unlocalized)
- lifetime (float)
- visibilityBitfield (long) - bitfield of the players that can see this. If 0, everyone can see it

- follow_entindex (long) - if this is set, follow this entity
- show_distance (bool)
- play_sound (string)
- show_effect (bool)
player_bonuspoints
- points (short)
- player_entindex (short)
- source_entindex (short)
rd_team_points_changed
- points (short)
- team (byte)
- method (byte)
quest_objective_completed
For prediction
- quest_item_id_low (long)
- quest_item_id_hi (long)
- quest_objective_id (long)
- scorer_user_id (short)
quest_request
- request (long)
- msg (string) - Protobuf serialized to a string
quest_response
- request (long)
- success (bool)
- msg (string) - Protobuf serialized to a string
quest_turn_in_state
- state (short) - Maps to EQuestTurnInState
questlog_opened
lobby_updated
match_invites_updated
show_class_layout
- show (bool)
arena_player_notification
- player (byte)
- message (byte)
- attacker (short)
- victim (short)
- assister (short)
player_stats_updated
- forceupload (bool)
player_mvp
- player (short)
party_chat
- steamid (string) - steamID (64-bit value converted to string) of user who said or did the thing. May be
- text (string) - The message. May have different meaning for some types
- type (short) - What sort of message? ETFPartyChatType enum
party_member_join
- steamid (string) - steamID (64-bit value converted to string) of joined
party_member_leave
- steamid (string) - steamID (64-bit value converted to string) of leaver
party_criteria_changed
party_invites_changed
party_pref_changed
party_queue_state_changed
- matchgroup (short) - ETFMatchGroup
party_updated
playing_commentary
achievement_earned_local
- achievement (short)
user_data_downloaded
fired when achievements/stats are downloaded from Steam or XBox Live
econ_inventory_connected
gc_lost_session
gc_new_session
player_hintmessage
- hintmessage (string) - localizable string of a hint
restart_timer_time
- time (byte) - How much time is left
teamplay_update_timer
teamplay_round_stalemate
- reason (byte) - why the stalemate is occuring
player_ignited_inv
sent when a player is ignited by a pyro who is being invulned, only to the medic who's doing the invulning
- pyro_entindex (byte) - entindex of the pyro who ignited the victim
- victim_entindex (byte) - entindex of the player ignited by the pyro
- medic_entindex (byte) - entindex of the medic releasing the invuln
player_ignited
sent when a player is ignited, only to the two players involved
- pyro_entindex (byte) - entindex of the pyro who ignited the victim
- victim_entindex (byte) - entindex of the player ignited by the pyro
- weaponid (byte) - weaponid of the weapon used
player_damaged
- amount (short)
- type (long)
player_jarated
sent when a player is jarated, only to the two players involved
- thrower_entindex (byte) - entindex of the player who threw the jarate
- victim_entindex (byte) - entindex of the player receiving it
player_jarated_fade
sent when a player is jarated, only to the two players involved
- thrower_entindex (byte) - entindex of the player who threw the jarate
- victim_entindex (byte) - entindex of the player receiving it
player_shield_blocked
sent when a player is jarated, only to the two players involved
- attacker_entindex (byte) - entindex of the player who threw the jarate
- blocker_entindex (byte) - entindex of the player receiving it
player_extinguished
sent when a burning player is extinguished by a medic
- victim (byte) - entindex of the player that was extinguished
- healer (byte) - entindex of the player who did the extinguishing
- itemdefindex (short) - item defindex that did the extinguishing
player_damage_dodged
- damage (short)
flagstatus_update
- userid (short) - user ID of the player who now has the flag
- entindex (long) - ent index of flag
air_dash
- player (byte)
landed
- player (byte)
vote_maps_changed
- type (byte)
- defindex (long)
- created (bool)
- deleted (bool)
- erase_history (bool)
schema_updated
rd_rules_state_changed
duck_xp_level_up
- level (short) - leveled up to what
update_status_item
- index (byte)
- object (byte)
parachute_deploy
- index (short) - entindex of the player
parachute_holster
- index (short) - entindex of the player