Counter-Strike: Global Offensive 'gameevents.res'
October 18, 2016
Counter-Strike: Global Offensive 'gameevents.res' file.
Updated 19/10/2016
//=========== (C) Copyright 1999 Valve, L.L.C. All rights reserved. ===========
//
// The copyright to the contents herein is the property of Valve, L.L.C.
// The contents may be used and/or copied only with the written permission of
// Valve, L.L.C., or in accordance with the terms and conditions stipulated in
// the agreement/contract under which the contents have been supplied.
//=============================================================================
// No spaces in event names, max length 32
// All strings are case sensitive
// total game event byte length must be < 1024
//
// valid data key types are:
// none : value is not networked
// string : a zero terminated string
// bool : unsigned int, 1 bit
// byte : unsigned int, 8 bit
// short : signed int, 16 bit
// long : signed int, 32 bit
// float : float, 32 bit
"gameevents"
{
"team_info" // info about team
{
"teamid" "byte" // unique team id
"teamname" "string" // team name eg "Team Blue"
}
"team_score" // team score changed
{
"teamid" "byte" // team id
"score" "short" // total team score
}
"teamplay_broadcast_audio" // emits a sound to everyone on a team
{
"team" "byte" // unique team id
"sound" "string" // name of the sound to emit
}
"gameui_hidden"
{}
"items_gifted"
{
"player" "short" // entity used by player
"itemdef" "long"
"numgifts" "short"
"giftidx" "long"
"accountid" "long"
}
//////////////////////////////////////////////////////////////////////
// Player events
//////////////////////////////////////////////////////////////////////
"player_team" // player change his team
{
"userid" "short" // user ID on server
"team" "byte" // team id
"oldteam" "byte" // old team id
"disconnect" "bool" // team change because player disconnects
"autoteam" "bool" // true if the player was auto assigned to the team
"silent" "bool" // if true wont print the team join messages
"isbot" "bool" // true if player is a bot
}
"player_class" // a player changed his class
{
"userid" "short" // user ID on server
"class" "string" // new player class / model
}
"player_death" // a game event, name may be 32 charaters long
{
"userid" "short" // user ID who died
"attacker" "short" // user ID who killed
}
"player_hurt"
{
"userid" "short" // player index who was hurt
"attacker" "short" // player index who attacked
"health" "byte" // remaining health points
}
"player_chat" // a public player chat
{
"teamonly" "bool" // true if team only chat
"userid" "short" // chatting player
"text" "string" // chat 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_spawn" // player spawned in game
{
"userid" "short" // user ID on server
"teamnum" "short"
}
"player_shoot" // player shoot his weapon
{
"userid" "short" // user ID on server
"weapon" "byte" // weapon ID
"mode" "byte" // weapon mode
}
"player_use"
{
"userid" "short" // user ID on server
"entity" "short" // entity used by player
}
"player_changename"
{
"userid" "short" // user ID on server
"oldname" "string" // players old (current) name
"newname" "string" // players new name
}
"player_hintmessage"
{
"hintmessage" "string" // localizable string of a hint
}
//////////////////////////////////////////////////////////////////////
// Game events
//////////////////////////////////////////////////////////////////////
"game_init" // sent when a new game is started
{
}
"game_newmap" // send when new map is completely loaded
{
"mapname" "string" // map name
}
"game_start" // a new game starts
{
"roundslimit" "long" // max round
"timelimit" "long" // time limit
"fraglimit" "long" // frag limit
"objective" "string" // round objective
}
"game_end" // a game ended
{
"winner" "byte" // winner team/user id
}
"round_start"
{
"timelimit" "long" // round time limit in seconds
"fraglimit" "long" // frag limit in seconds
"objective" "string" // round objective
}
"round_announce_match_point"
{
}
"round_announce_final"
{
}
"round_announce_last_round_half"
{
}
"round_announce_match_start"
{
}
"round_announce_warmup"
{
}
"round_end"
{
"winner" "byte" // winner team/user i
"reason" "byte" // reson why team won
"message" "string" // end round message
"legacy" "byte" // server-generated legacy value
}
"round_end_upload_stats"
{
}
"round_officially_ended"
{
}
"round_time_warning"
{
}
"ugc_map_info_received"
{
"published_file_id" "uint64"
}
"ugc_map_unsubscribed"
{
"published_file_id" "uint64"
}
"ugc_map_download_error"
{
"published_file_id" "uint64"
"error_code" "long"
}
"ugc_file_download_finished"
{
"hcontent" "uint64" // id of this specific content (may be image or map)
}
"ugc_file_download_start"
{
"hcontent" "uint64" // id of this specific content (may be image or map)
"published_file_id" "uint64" // id of the associated content package
}
// Fired when a match ends or is restarted
"begin_new_match"
{
}
"round_start_pre_entity"
{
}
"teamplay_round_start" // round restart
{
"full_reset" "bool" // is this a full reset of the map
}
"hostname_changed"
{
"hostname" "string"
}
"difficulty_changed"
{
"newDifficulty" "short"
"oldDifficulty" "short"
"strDifficulty" "string" // new difficulty as string
}
"finale_start"
{
"rushes" "short"
}
"game_message" // a message send by game logic to everyone
{
"target" "byte" // 0 = console, 1 = HUD
"text" "string" // the message text
}
"dm_bonus_weapon_start"
{
"time" "short" // The length of time that this bonus lasts
"wepID" "short" // The weapon ID of the bonus weapon
"Pos" "short" // Loadout position of the bonus weapon
}
// "survival_announce_player_left"
// {
// "alive" "short" // The # of players left alive
// }
"survival_announce_phase"
{
"phase" "short" // The phase #
}
"break_breakable"
{
"entindex" "long"
"userid" "short"
"material" "byte" // BREAK_GLASS, BREAK_WOOD, etc
}
"break_prop"
{
"entindex" "long"
"userid" "short"
}
"player_decal"
{
"userid" "short"
}
"entity_killed"
{
"entindex_killed" "long"
"entindex_attacker" "long"
"entindex_inflictor" "long"
"damagebits" "long"
}
"bonus_updated"
{
"numadvanced" "short"
"numbronze" "short"
"numsilver" "short"
"numgold" "short"
}
"player_stats_updated"
{
"forceupload" "bool"
}
"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
}
// sent whenever an achievement that's tracked on the HUD increases
"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
}
"achievement_earned"
{
"player" "byte" // entindex of the player
"achievement" "short" // achievement ID
}
// Used for a notification message when an achievement fails to write
"achievement_write_failed"
{
}
"physgun_pickup"
{
"entindex" "long" // entity picked up
}
"flare_ignite_npc"
{
"entindex" "long" // entity ignited
}
"helicopter_grenade_punt_miss"
{
}
"user_data_downloaded" // fired when achievements/stats are downloaded from Steam or XBox Live
{
}
"ragdoll_dissolved"
{
"entindex" "long"
}
"gameinstructor_draw"
{
}
"gameinstructor_nodraw"
{
}
"map_transition"
{
}
"entity_visible"
{
"userid" "short" // The player who sees the entity
"subject" "short" // Entindex of the entity they see
"classname" "string" // Classname of the entity they see
"entityname" "string" // name of the entity they see
}
"set_instructor_group_enabled"
{
"group" "string"
"enabled" "short"
}
"instructor_server_hint_create" //create a hint using data supplied entirely by the server/map. Intended for hints to smooth playtests before content is ready to make the hint unneccessary. NOT INTENDED AS A SHIPPABLE CRUTCH
{
"hint_name" "string" // what to name the hint. For referencing it again later (e.g. a kill command for the hint instead of a timeout)
"hint_replace_key" "string" // type name so that messages of the same type will replace each other
"hint_target" "long" // entity id that the hint should display at
"hint_activator_userid" "short" // userid id of the activator
"hint_timeout" "short" // how long in seconds until the hint automatically times out, 0 = never
"hint_icon_onscreen" "string" // the hint icon to use when the hint is onscreen. e.g. "icon_alert_red"
"hint_icon_offscreen" "string" // the hint icon to use when the hint is offscreen. e.g. "icon_alert"
"hint_caption" "string" // the hint caption. e.g. "#ThisIsDangerous"
"hint_activator_caption" "string" // the hint caption that only the activator sees e.g. "#YouPushedItGood"
"hint_color" "string" // the hint color in "r,g,b" format where each component is 0-255
"hint_icon_offset" "float" // how far on the z axis to offset the hint from entity origin
"hint_range" "float" // range before the hint is culled
"hint_flags" "long" // hint flags
"hint_binding" "string" // bindings to use when use_binding is the onscreen icon
"hint_gamepad_binding" "string" // gamepad bindings to use when use_binding is the onscreen icon
"hint_allow_nodraw_target" "bool" // if false, the hint will dissappear if the target entity is invisible
"hint_nooffscreen" "bool" // if true, the hint will not show when outside the player view
"hint_forcecaption" "bool" // if true, the hint caption will show even if the hint is occluded
"hint_local_player_only" "bool" // if true, only the local player will see the hint
}
"instructor_server_hint_stop" //destroys a server/map created hint
{
"hint_name" "string" // The hint to stop. Will stop ALL hints with this name
}
"read_game_titledata" // read user titledata from profile
{
"controllerId" "short" // Controller id of user
}
"write_game_titledata" // write user titledata in profile
{
"controllerId" "short" // Controller id of user
}
"reset_game_titledata" // reset user titledata; do not automatically write profile
{
"controllerId" "short" // Controller id of user
}
"weapon_reload_database" // development feature
{
}
/////////////////////////////////////////////
// Client side VoteController talking to HUD
/////////////////////////////////////////////
"vote_ended"
{
}
"vote_started"
{
"issue" "string"
"param1" "string"
"team" "byte"
"initiator" "long" // entity id of the player who initiated the vote
}
"vote_changed"
{
"vote_option1" "byte"
"vote_option2" "byte"
"vote_option3" "byte"
"vote_option4" "byte"
"vote_option5" "byte"
"potentialVotes" "byte"
}
"vote_passed"
{
"details" "string"
"param1" "string"
"team" "byte"
}
"vote_failed"
{
"team" "byte"
}
"vote_cast"
{
"vote_option" "byte" // which option the player voted on
"team" "short"
"entityid" "long" // entity id of the voter
}
"vote_options"
{
"count" "byte" // Number of options - up to MAX_VOTE_OPTIONS
"option1" "string"
"option2" "string"
"option3" "string"
"option4" "string"
"option5" "string"
}
"endmatch_mapvote_selecting_map"
{
"count" "byte" // Number of "ties"
"slot1" "byte"
"slot2" "byte"
"slot3" "byte"
"slot4" "byte"
"slot5" "byte"
"slot6" "byte"
"slot7" "byte"
"slot8" "byte"
"slot9" "byte"
"slot10" "byte"
}
"endmatch_cmm_start_reveal_items"
{
}
//////////////////////////////////////////////////////////////////////
// Economy events
//////////////////////////////////////////////////////////////////////
"inventory_updated"
{
}
"cart_updated"
{
}
"store_pricesheet_updated"
{
}
"gc_connected"
{
}
"item_schema_initialized"
{
}
"client_loadout_changed"
{
}
"add_player_sonar_icon"
{
"userid" "short"
"pos_x" "float"
"pos_y" "float"
"pos_z" "float"
}
//////////////////////////////////////////////////////////////////////
// Debug events
//////////////////////////////////////////////////////////////////////
"add_bullet_hit_marker"
{
"userid" "short"
"bone" "short"
"pos_x" "short"
"pos_y" "short"
"pos_z" "short"
"ang_x" "short"
"ang_y" "short"
"ang_z" "short"
"start_x" "short"
"start_y" "short"
"start_z" "short"
"hit" "bool"
}
"verify_client_hit"
{
"userid" "short"
"pos_x" "float"
"pos_y" "float"
"pos_z" "float"
"timestamp" "float"
}
}
Comments