Half-Life 1 Game Events

From AlliedModders Wiki
Revision as of 11:28, 3 December 2013 by DynamicBits (talk | contribs) (TutorClose: Added ModList, grammar)
Jump to: navigation, search


Introduction

In AMX Mod X you are able to hook in-game messages/events with register_message / register_event. Here are the list of messages/events and their arguments which can be read with get_msg_arg_* / read_data.

  • See the Advanced Scripting article for more on events and messages.
  • See messages.inc and message_const.inc from amxmodx/scriptong/include folder or Messaging functions and Message constants for full messages control including blocking, argument alteration and much more.
  • Type meta game in the server console to list messages for the current mod.
  • Damaged Soul's Message Logging plugin for AMX Mod X can be used to log messages and their parameters on a live server.


ADStop

Supported Mods: Counter-Strike • Counter-Strike: Condition Zero


Note: No Information is available for this message.
Note: This message has no arguments.

Name: ADStop
Structure:


AllowSpec

Supported Mods: Counter-Strike • Counter-Strike: Condition Zero • Half-Life: Opposing Force • Team Fortress Classic


Changes whether or not "SPECTATE" appears on the change team menu. Called whenever the allow_spectators CVar is changed, with its new value sent as the byte.

Note: This changes how the change team menu appears, but spectating functionality is based off of the actual CVar value.

Name: AllowSpec
Structure:
byte Allowed


AmmoPickup

Supported Mods: Counter-Strike • Counter-Strike: Condition Zero • Day of Defeat • Deathmatch Classic • Half-Life: Opposing Force • Natural Selection • Ricochet • Sven Co-op • Team Fortress Classic • Half-Life Deathmatch


Temporarily draws HUD ammo amount and correspoding ammo HUD icon in the middle of the right side of the screen.

Note: Draw time is depend on the hud_drawhistory_time client CVar value.
Note: See CS Weapons Information for more information.

Name: AmmoPickup
Structure:
byte AmmoID
byte Ammount


AmmoX

Supported Mods: Counter-Strike • Counter-Strike: Condition Zero • Day of Defeat • Deathmatch Classic • Half-Life: Opposing Force • Natural Selection • Ricochet • Sven Co-op • Team Fortress Classic • Half-Life Deathmatch


Updates the green bar indicator in the HUD weapons list. Also updates HUD backpack ammo number in the lower right corner of the screen in case the given ammo type are compatible with the current weapon.

Note: See CS Weapons Information for more information.

Name: AmmoX
Structure:
byte AmmoID
byte Ammount


ArmorType

Supported Mods: Counter-Strike • Counter-Strike: Condition Zero


Draws/removes helmet HUD icon. If flag is set to 1 the helmet HUD icon will be drawn (located right on the armor icon).

Name: ArmorType
Structure:
byte Flag


BarTime

Supported Mods: Counter-Strike • Counter-Strike: Condition Zero


Draws a HUD progress bar which is filled from 0% to 100% for the time Duration seconds. Once the bar is fully filled it will be removed from the screen automatically.

Note: Set Duration to 0 to hide the bar.

Name: BarTime
Structure:
short Duration


BarTime2

Supported Mods: Counter-Strike • Counter-Strike: Condition Zero


The same as BarTime, but StartPercent specifies how much of the bar is (already) filled.

Note: Display time can be calculated with this formula: (1 - (StartPercent / 100)) / Duration

Name: BarTime2
Structure:
short Duration
short StartPercent


Battery

Supported Mods: Counter-Strike • Counter-Strike: Condition Zero • Deathmatch Classic • Half-Life: Opposing Force • Natural Selection • Ricochet • Sven Co-op • Team Fortress Classic • Half-Life Deathmatch


This message updates the icon and numerical armor value on the HUD.

Name: Battery
Structure:
short Armor


BlinkAcct

Supported Mods: Counter-Strike • Counter-Strike: Condition Zero


This message makes a player's money display flash rapidly, a total of BlinkAmt times.

Name: BlinkAcct
Structure:
byte BlinkAmt


BombDrop

Supported Mods: Counter-Strike • Counter-Strike: Condition Zero


This message is sent when the bomb is dropped or planted by a player.

The first three arguments are the origin of the dropped bomb. The last argument is set to 0 if the bomb was dropped due to voluntary dropping or death/disconnect. It is set to 1 if the bomb was planted, which will trigger the round timer to hide. It also will show the dropped bomb on the Terrorist team's radar in the location specified by the first three arguments.

Name: BombDrop
Structure:
coord CoordX
coord CoordY
coord CoordZ
byte Flag


BombPickup

Supported Mods: Counter-Strike • Counter-Strike: Condition Zero


This message just tells the clients that the bomb has been picked up. It will cause the dropped bomb to disappear from the Terrorist team's radar.

Note: This message has no arguments.

Name: BombPickup
Structure:


BotProgress

Supported Mods: Counter-Strike • Counter-Strike: Condition Zero


This message is sent when CZ's bots are learning a new map. It displays a progress bar in the middle of the screen, with some header text. The bar doesn't move, and you can't do anything while the bar is displayed. This is a different style of progress bar than from the BarTime event. This really doesn't display well in CS.

Note: Flag can be 0 (update bar), 1 (create new bar), or 2 (remove bar). When using flag 0, send all arguments. When using flag 1, send only Flag and Header. When using flag 2, send only Flag.

Name: BotProgress
Structure:
byte Flag
byte Progress
string Header


BotVoice

Supported Mods: Counter-Strike • Counter-Strike: Condition Zero


This message displays (or hides) the voice icon above a user's head and the talking icon on the right side of the screen. This is called by CZ for bots; it's not called for regular players, although you can specify a regular player (non-bot) for the PlayerIndex. Status is 1 for talking, or 0 for not talking.

Name: BotVoice
Structure:
byte Status
byte PlayerIndex


Brass

Supported Mods: Counter-Strike • Counter-Strike: Condition Zero


This message creates a brass shell. Used, for example, by the AWP, after firing.

Name: Brass
Structure:
byte MessageID
coord StartX
coord StartY
coord StartZ
coord VelocityX?
coord VelocityY?
coord VelocityZ?
coord UnknownX
coord UnknownY
coord UnknownZ
angle Rotation
short ModelIndex
byte BounceSoundType
byte Life
byte PlayerID


BuyClose

Supported Mods: Counter-Strike • Counter-Strike: Condition Zero


This message forces the buy menu to close. This is not called when the player manually closes the buy menu; it's only called when the game forces them to do so (e.g. walking outside of the buy zone, getting killed, etcetera).

Note: This message has no arguments.

Name: BuyClose
Structure:


CapMsg

Supported Mods: Day of Defeat


This displays a message like "Player captured the Allied plaza for the Axis". An example PointName is POINT_CAEN_AXISPLAZA.

Name: CapMsg
Structure:
byte PlayerID
string PointName
byte TeamID


ClCorpse

Supported Mods: Counter-Strike • Counter-Strike: Condition Zero • Day of Defeat


This message spawns a player's corpse. ModelName is the player's model name, for example: "leet". Delay is a delay before animation playback, which can be a negative value.

Note: Coord and Delay is multiplied by 128.
Note: In CS, argument #10 is always equal to 0.

Name: ClCorpse
Structure:
string ModelName
long CoordX
long CoordY
long CoordZ
coord Angle0
coord Angle1
coord Angle2
long Delay
byte Sequence
byte ClassID?
byte TeamID
byte PlayerID


Crosshair

Supported Mods: Counter-Strike • Counter-Strike: Condition Zero


This message draws/removes a crosshair. If Flag is set to 1 the crosshair will be drawn.

Note: This crosshair looks not like the regular one, but like the one that is drawn in spectator mode.

Name: Crosshair
Structure:
byte Flag


CurWeapon

Supported Mods: Counter-Strike • Counter-Strike: Condition Zero • Day of Defeat • Deathmatch Classic • Half-Life: Opposing Force • Natural Selection • Ricochet • Sven Co-op • Team Fortress Classic • Half-Life Deathmatch


This message updates the numerical magazine ammo count and the corresponding ammo type icon on the HUD.

Note: See CS Weapons Information for more information on Counter-Strike weapons.

Name: CurWeapon
Structure:
byte IsActive
byte WeaponID
byte ClipAmmo


CZCareer

Supported Mods: Counter-Strike • Counter-Strike: Condition Zero


This message supplies certain updates to the player regarding Condition Zero single-player missions.

Note: See the CZCareer page for more information.
Note: Using an invalid type has no repercussions whatsoever. Therefore, you can use this to make your own custom communications (you can send any number of arguments of any type after the first string).
Note: The Type argument is case-sensitive.
Note: This event does nothing in CS and CZ multiplayer.

Name: CZCareer
Structure:
string Type
* Parameters


CZCareerHUD

Supported Mods: Counter-Strike • Counter-Strike: Condition Zero


This message displays certain HUD elements regarding Condition Zero single-player missions.

Note: See the CZCareerHUD page for more information.
Note: Using an invalid type has no repercussions whatsoever. Therefore, you can use this to make your own custom communications (you can send any number of arguments of any type after the first string).
Note: The Type argument is case-sensitive.
Note: This event has some limited functionality in CS and CZ multi-player (albeit better in CZ).

Name: CZCareerHUD
Structure:
string Type
* Parameters


Damage

Supported Mods: Counter-Strike • Counter-Strike: Condition Zero • Deathmatch Classic • Half-Life: Opposing Force • Natural Selection • Ricochet • Sven Co-op • Team Fortress Classic • Half-Life Deathmatch


This message is sent when a player takes damage, to display the red locational indicators. The last three arguments are the origin of the damage inflicter or victim origin if inflicter isn't found. DamageType is a bitwise value which usually consists of a single bit.

Note: To capture this message, you should use "b" as the third parameter in the register_event() function.

Name: Damage
Structure:
byte DamageSave
byte DamageTake
long DamageType
coord CoordX
coord CoordY
coord CoordZ


DeathMsg

Supported Mods: Counter-Strike • Counter-Strike: Condition Zero • Day of Defeat • Deathmatch Classic • Half-Life: Opposing Force • Natural Selection • Ricochet • Sven Co-op • Team Fortress Classic • Half-Life Deathmatch


This event is fired to all players (MSG_ALL or MSG_BROADCAST) to notify them of a death. This generates the HUD message the client sees in the upper right corner of their screen.
It also prints the console text message "KillerName killed VictimName with TruncatedWeaponName" or "*** KillerName killed VictimName with a headshot from TruncatedWeaponName ***"

Note: This message has different parameters depending upon the mod.
Note: KillerID may not always be a Player ID. It would be 0 if a player died from fall/acid/radiation/fire/etc damage/lack of oxygen or from touch to a "trigger_hurt" entity, in which cases TruncatedWeaponName will be "worldspawn" and "trigger_hurt" respectively.
Note: For vehicle kills, TruncatedWeaponName could be "vehicle", "tank", etc.

Name: DeathMsg
Structure:
byte KillerID
byte VictimID
string TruncatedWeaponName


Counter-Strike

Note: TruncatedWeaponName doesn't contain a "weapon_" prefix. See CS Weapons Information for more information.
Note: For a grenade kill, TruncatedWeaponName isn't "hegrenade", but rather "grenade", which is the actual classname of a thrown grenade.

Name: DeathMsg
Structure:
byte KillerID
byte VictimID
byte IsHeadshot
string TruncatedWeaponName


Day of Defeat

Name: DeathMsg
Structure:
byte KillerID
byte VictimID
byte WeaponID


FlashBat

Supported Mods: Counter-Strike • Counter-Strike: Condition Zero • Deathmatch Classic • Half-Life: Opposing Force • Ricochet • Sven Co-op • Team Fortress Classic • Half-Life Deathmatch


This message updates the flashlight battery charge on the HUD.

Name: FlashBat
Structure:
byte ChargePercentage


Flashlight

Supported Mods: Counter-Strike • Counter-Strike: Condition Zero • Deathmatch Classic • Half-Life: Opposing Force • Natural Selection • Ricochet • Sven Co-op • Team Fortress Classic • Half-Life Deathmatch


This message updates the flashlight state and battery charge on the HUD. If Flag is set to 1 the flashlight HUD icon will be shown as active.

Name: Flashlight
Structure:
byte Flag
byte ChargePercent


Fog

Supported Mods: Counter-Strike • Counter-Strike: Condition Zero • Natural Selection • Sven Co-op


Note: mp_Fog 1 for fog in Counter-Strike

Name: Fog
Structure:
byte FogValue
byte FogValue
byte Unknown


ForceCam

Supported Mods: Counter-Strike • Counter-Strike: Condition Zero


This message is sent whenever mp_forcecam or mp_forcechasecam are changed, with their new values passed. There is presumably a third CVar that this tracks, but which one is currently unknown. Note that this message doesn't actually change any of the spectating rules for the client.

Note: Even if mp_forcechasecam is set to 2, it is sent by this message as 1.

Name: ForceCam
Structure:
byte ForcecamValue
byte ForcechasecamValue
byte Unknown


Frags

Supported Mods: Day of Defeat


This message sets a player's kills, as seen on the scoreboard.

Name: Frags
Structure:
byte PlayerID
short Kills


GameMode

Supported Mods: Counter-Strike • Counter-Strike: Condition Zero • Deathmatch Classic • Half-Life: Opposing Force • Ricochet • Sven Co-op • Team Fortress Classic • Half-Life Deathmatch


This message informs the client of the current game mode.

Name: GameMode
Structure:
byte Game mode


GameTitle

Supported Mods: Counter-Strike • Counter-Strike: Condition Zero • Deathmatch Classic • Half-Life: Opposing Force • Natural Selection • Ricochet • Sven Co-op • Team Fortress Classic • Half-Life Deathmatch


Note: No Information is available for this message.

Name: GameTitle
Structure:
byte Unknown


Geiger

Supported Mods: Counter-Strike • Counter-Strike: Condition Zero • Deathmatch Classic • Half-Life: Opposing Force • Natural Selection • Ricochet • Sven Co-op • Team Fortress Classic • Half-Life Deathmatch


This message signals the client to notify the player of the radiation level through special sound signals. Distance is the distance to the hazard area.

Name: Geiger
Structure:
byte Distance


Health

Supported Mods: Counter-Strike • Counter-Strike: Condition Zero • Day of Defeat • Deathmatch Classic • Half-Life: Opposing Force • Natural Selection • Ricochet • Sven Co-op • Team Fortress Classic • Half-Life Deathmatch


This message updates the numerical health value on the HUD.

Name: Health
Structure:
byte Health


HideWeapon

Supported Mods: Counter-Strike • Counter-Strike: Condition Zero • Day of Defeat • Deathmatch Classic • Half-Life: Opposing Force • Natural Selection • Ricochet • Sven Co-op • Team Fortress Classic • Half-Life Deathmatch


This message hides the specified HUD elements.
Flags:

  1   (1<<0)  -  crosshair, ammo, weapons list
  2   (1<<1)  -  flashlight, +
  4   (1<<2)  -  ALL
  8   (1<<3)  -  radar, health, armor, +
 16   (1<<4)  -  timer, +
 32   (1<<5)  -  money, +
 64   (1<<6)  -  crosshair
128   (1<<7)  -  +

Symbol + mean that an additional crosshair will be drawn. That crosshair looks exactly like the one from Crosshair message.

Name: HideWeapon
Structure:
byte Flags


HLTV

Supported Mods: Counter-Strike • Counter-Strike: Condition Zero • Day of Defeat


This message is sent for HLTV and is unique for each round-start.
On new round is fired 2 messages:

// reset all players health for HLTV
MESSAGE_BEGIN( MSG_SPEC, gmsgHLTV );
WRITE_BYTE( 0 );   // 0 = all players
WRITE_BYTE( 100 | 128 );
MESSAGE_END();
// reset all players FOV for HLTV MESSAGE_BEGIN( MSG_SPEC, gmsgHLTV ); WRITE_BYTE( 0 ); // all players WRITE_BYTE( 0 ); MESSAGE_END();
Name: HLTV
Structure:
byte ClientID
byte Flags


HostageK

Supported Mods: Counter-Strike • Counter-Strike: Condition Zero


This message temporarily draws a blinking red dot on the CT players' radar when a hostage is killed.

Name: HostageK
Structure:
byte HostageID


HostagePos

Supported Mods: Counter-Strike • Counter-Strike: Condition Zero


This message draws/updates the blue mark on the CT players' radar which indicates the corresponding hostage's position.

Note: It is called with Flag set to 1 on player HUD full update.

Name: HostagePos
Structure:
byte Flag
byte HostageID
coord CoordX
coord CoordY
coord CoordZ


HudText

Supported Mods: Counter-Strike • Counter-Strike: Condition Zero • Day of Defeat • Deathmatch Classic • Half-Life: Opposing Force • Natural Selection • Ricochet • Sven Co-op • Team Fortress Classic • Half-Life Deathmatch


This message prints HUD text.

Note: Prints message with specified style in titles.txt with small signs (like in HL)

Name: HudText
Structure:
string TextCode
byte InitHUDstyle


HudTextArgs

Supported Mods: Counter-Strike • Counter-Strike: Condition Zero


This message prints HUD text.

Note: An example of TextCode could be "#Hint_you_have_the_bomb".
Note: Prints message with specified style in titles.txt with Big signs (CS Default)
Note: If you have problems specifying the last two arguments, use 1 and 0 respectively.

Name: HudTextArgs
Structure:
string TextCode
byte InitHUDstyle
byte NumberOfSubMessages
string SubMsg
string SubMsg
string ...


HudTextPro

Supported Mods: Counter-Strike • Counter-Strike: Condition Zero


This message prints HUD text.

Note: Prints message with specified style in titles.txt with Big signs (CS Default)

Name: HudText
Structure:
string TextCode
byte InitHUDstyle


InitHUD

Supported Mods: Counter-Strike • Counter-Strike: Condition Zero • Day of Defeat • Deathmatch Classic • Half-Life: Opposing Force • Natural Selection • Ricochet • Sven Co-op • Team Fortress Classic • Half-Life Deathmatch


This message initializes the HUD.

Note: This message has no arguments.

Name: InitHUD
Structure:


InitObj

Supported Mods: Day of Defeat


This message updates the flags (axis/allies/objective flags, not programming flags) displayed to the client when a point is captured.

Name: InitObj
Structure:
byte TotalObjectives
Objective ...
...


TotalObjectives represents the number of Objective sub-messages that are present. Each Objective sub-message is in the following format:

Name: Objective
Structure:
short EntityID?
byte ObjectiveID?
byte TeamID
byte Unknown
byte Unknown
byte Unknown
byte Unknown
coord CoordX?
coord CoordY?


If a map has 5 objectives, this message will have 46 arguments (1 + 5 * 9).

ItemPickup

Supported Mods: Counter-Strike • Counter-Strike: Condition Zero • Deathmatch Classic • Half-Life: Opposing Force • Natural Selection • Ricochet • Sven Co-op • Team Fortress Classic • Half-Life Deathmatch


This message temporarily draws a corresponding item HUD icon in the middle of the right side of the screen.

Note: Draw time is dependent on the hud_drawhistory_time client CVar value.

Name: ItemPickup
Structure:
string ItemName


ItemStatus

Supported Mods: Counter-Strike • Counter-Strike: Condition Zero


This message notifies the client about carried items.
Example of some item bits:

1   (1<<0)  -  nightvision goggles
2   (1<<1)  -  defusal kit
Name: ItemStatus
Structure:
byte ItemsBitSum


Location

Supported Mods: Counter-Strike • Counter-Strike: Condition Zero


This message is sent when a player changes zones on a map.

Name: Location
Structure:
byte PlayerId
string LocationName


Money

Supported Mods: Counter-Strike • Counter-Strike: Condition Zero


This message updates the amount of money on the HUD. If the Flag is 1, the amount of money added will also be displayed.

Name: Money
Structure:
long Amount
byte Flag


MOTD

Supported Mods: Counter-Strike • Counter-Strike: Condition Zero • Day of Defeat • Deathmatch Classic • Half-Life: Opposing Force • Natural Selection • Ricochet • Sven Co-op • Team Fortress Classic • Half-Life Deathmatch


This message displays the MOTD window.

Note: Max. Text length is 60. A larger MOTD is sent in multiple messages. Flag will be set to 1 for the final segment.

Name: MOTD
Structure:
byte Flag
string Text


NVGToggle

Supported Mods: Counter-Strike • Counter-Strike: Condition Zero


This message toggles night vision mode. For Flag: 1 is on, 0 is off.

Name: NVGToggle
Structure:
byte Flag


ObjScore

Supported Mods: Day of Defeat


This message sets a player's score, as seen on the scoreboard.

Name: ObjScore
Structure:
byte PlayerID
short Score


PClass

Supported Mods: Day of Defeat


Note: No Information is available for this message.

Name: PClass
Structure:
byte PlayerID?
byte Unknown


PStatus

Supported Mods: Day of Defeat


Note: No Information is available for this message.

Name: PStatus
Structure:
byte PlayerID?
byte Unknown


Radar

Supported Mods: Counter-Strike • Counter-Strike: Condition Zero


This message draws/updates the dot on the HUD radar which indicates the given player position.

Note: This works for teammates only.

Name: Radar
Structure:
byte PlayerID
coord CoordX
coord CoordY
coord CoordZ


ReceiveW

Supported Mods: Counter-Strike • Counter-Strike: Condition Zero


This message tells the client which visual weather effect to be executed client side, if client's cl_weather CVar is above 0.

Note: Main part of CBasePlayer::SendWeatherInfo() function that is sent in CBasePlayer :: UpdateClientData() when player offset m_fInitHUD is 1
(right after putinserver or after fullupdate command)
Mode: 1 is for rain effect, 2 is for snow effect
Though mode 0 is never sent by the game itself, it removes the weather effect.
Alternatively send mode 1 and mode 2 with judicious delays (time for effect to disappear) to make both rain and snow effect

Name: ReceiveW
Structure:
byte Mode


ReloadSound

Supported Mods: Counter-Strike • Counter-Strike: Condition Zero


This message plays generic reload sounds.

Note: Setting IsNotShotgun to 1 will play weapons/generic_reload.wav
Note: Setting IsNotShotgun to 0 will play weapons/generic_shot_reload.wav

Name: ReloadSound
Structure:
byte Volume * 255
byte IsNotShotgun


ReqState

Supported Mods: Counter-Strike • Counter-Strike: Condition Zero • Day of Defeat • Deathmatch Classic • Natural Selection • Ricochet • Sven Co-op • Team Fortress Classic • Half-Life Deathmatch


Note: No Information is available for this message.
Note: This message has no arguments.

Name: ReqState
Structure:


ResetHUD

Supported Mods: Counter-Strike • Counter-Strike: Condition Zero • Day of Defeat • Deathmatch Classic • Half-Life: Opposing Force • Natural Selection • Ricochet • Sven Co-op • Team Fortress Classic • Half-Life Deathmatch


This message resets the HUD.

Note: This message has no arguments.

Name: ResetHUD
Structure:


ResetSens

Supported Mods: Day of Defeat


This message resets the client's sensitivity?

Note: This message has no arguments.

Name: ResetSens
Structure:


RoundTime

Supported Mods: Counter-Strike • Counter-Strike: Condition Zero


This message updates the round timer on the HUD. Time is in seconds.

Name: RoundTime
Structure:
short Time


SayText

Supported Mods: Counter-Strike • Counter-Strike: Condition Zero • Day of Defeat • Deathmatch Classic • Half-Life: Opposing Force • Natural Selection • Ricochet • Sven Co-op • Team Fortress Classic • Half-Life Deathmatch


This message prints say HUD text. The second argument can be a predefined string or a custom one. In the latter case, the last two arguments aren't required.
Examples of predefined Counter-Strike string values include #Cstrike_Chat_AllDead and #Cstrike_Name_Change.

Note: For #Cstrike_Name_Change String2 is an old name and String3 is a new name.

Name: SayText
Structure:
byte SenderID
string String1
string String2
string String3


Scenario

Supported Mods: Counter-Strike • Counter-Strike: Condition Zero


If Active is 0, this display will be hidden. If Active is 1, this displays Sprite (valid names listed in sprites/hud.txt) to the right of the round timer with an alpha value of Alpha (100-255). If FlashRate is nonzero, then the sprite will flash from the given alpha to an alpha of 100, at a rate of FlashRate (measured in ???). This is used by CZ to display how many hostages remain unrescued, and also to display the ticking bomb when it is planted.

Scenario message in CS, using the following parameters: 1, d_mp5navy, 150

Note: If Active is 0, don't send any other arguments afterwards. Also, you don't need to send either short if FlashRate is just going to be 0.
Note: This works in both CS and CZ!
Note: In CZ (and possibly CS), if someone respawns after the bomb has been planted, their Scenario event will not work at all until the next round.

Name: Scenario
Structure:
byte Active
string Sprite
byte Alpha
short FlashRate
short Unknown


Scope

Supported Mods: Day of Defeat


Note: No Information is available for this message.

Name: Scope
Structure:
byte Unknown


ScoreAttrib

Supported Mods: Counter-Strike • Counter-Strike: Condition Zero


This message updates the scoreboard attribute for the specified player. For the 2nd argument, 0 is nothing, (1<<0) i.e. 1 is dead, (1<<1) i.e. 2 is bomb, (1<<2) i.e. 4 is VIP.

Note: Flags is a bitwise value so if VIP player is dying with the bomb the Flags will be 7 i.e. bit sum of all flags.

Name: ScoreAttrib
Structure:
byte PlayerID
byte Flags


ScoreInfo

Supported Mods: Counter-Strike • Counter-Strike: Condition Zero • Day of Defeat • Deathmatch Classic • Half-Life: Opposing Force • Natural Selection • Ricochet • Sven Co-op • Team Fortress Classic • Half-Life Deathmatch


This message updates the scoreboard with the given player's Score and Deaths. In Counter-Strike, the score is based on the number of frags and the bomb detonating or being defused.

Note: In CS the 4th argument (ClassID) is always equal to 0.

Name: ScoreInfo
Structure:
byte PlayerID
short Score
short Deaths
short ClassID
short TeamID


ScoreShort

Supported Mods: Day of Defeat


This message updates a player's Score, Kills, and Deaths as seen on the scoreboard. This message is only sent for the victim.

Note: The fifth argument was always 1 in my testing.

Name: ScoreShort
Structure:
byte PlayerID
short Score
short Kills
short Deaths
short Unknown


ScreenFade

Supported Mods: Counter-Strike • Counter-Strike: Condition Zero • Day of Defeat • Deathmatch Classic • Half-Life: Opposing Force • Natural Selection • Ricochet • Sven Co-op • Team Fortress Classic • Half-Life Deathmatch


This message fades the screen.

Note: Duration and HoldTime is in special units. 1 second is equal to (1<<12) i.e. 4096 units.

Flags (from HLSDK):

FFADE_IN         0x0000 // Just here so we don't pass 0 into the function
FFADE_OUT        0x0001 // Fade out (not in)
FFADE_MODULATE   0x0002 // Modulate (don't blend)
FFADE_STAYOUT    0x0004 // ignores the duration, stays faded out until new ScreenFade message received
Name: ScreenFade
Structure:
short Duration
short HoldTime
short Flags
byte ColorR
byte ColorG
byte ColorB
byte Alpha


ScreenShake

Supported Mods: Counter-Strike • Counter-Strike: Condition Zero • Day of Defeat • Deathmatch Classic • Half-Life: Opposing Force • Natural Selection • Ricochet • Sven Co-op • Team Fortress Classic • Half-Life Deathmatch


This message shakes the screen.

Note: All arguments is in special units. 1 second is equal to (1<<12) i.e. 4096 units.

Name: ScreenShake
Structure:
short Amplitude
short Duration
short Frequency


SendAudio

Supported Mods: Counter-Strike • Counter-Strike: Condition Zero


This message plays the specified audio. An example of AudioCode could be "%!MRAD_rounddraw".

Name: SendAudio
Structure:
byte SenderID
string AudioCode
short Pitch


ServerName

Supported Mods: Counter-Strike • Counter-Strike: Condition Zero • Day of Defeat • Deathmatch Classic • Half-Life: Opposing Force • Natural Selection • Sven Co-op • Team Fortress Classic • Half-Life Deathmatch


This message sends the server name to a client.

Name: ServerName
Structure:
string ServerName


SetFOV

Supported Mods: Counter-Strike • Counter-Strike: Condition Zero • Day of Defeat • Deathmatch Classic • Half-Life: Opposing Force • Natural Selection • Ricochet • Sven Co-op • Team Fortress Classic • Half-Life Deathmatch


This message sets the specified field of view.

Name: SetFOV
Structure:
byte Degrees


ShadowIdx

Supported Mods: Counter-Strike • Counter-Strike: Condition Zero


Note: No Information is available for this message.

Name: ShadowIdx
Structure:
long Unknown


ShowMenu

Supported Mods: Counter-Strike • Counter-Strike: Condition Zero • Day of Defeat • Deathmatch Classic • Half-Life: Opposing Force • Natural Selection • Ricochet • Sven Co-op • Team Fortress Classic • Half-Life Deathmatch


This message displays a "menu" to a player (text on the left side of the screen). It acts like AMXX's show_menu (in fact, this is how AMXX shows a menu).

Note: Multipart should be 1 if your menu takes up multiple messages (i.e.: string is too big to fit into one). On the final message, Multipart should be 0.

Name: ShowMenu
Structure:
short KeysBitSum
char Time
byte Multipart
string Text


ShowTimer

Supported Mods: Counter-Strike • Counter-Strike: Condition Zero


This message forces the round timer to display.

Note: This message has no arguments.

Name: ShowTimer
Structure:


SpecHealth

Supported Mods: Counter-Strike • Counter-Strike: Condition Zero • Team Fortress Classic


Note: No Information is available for this message.

Name: SpecHealth
Structure:
byte Health?


SpecHealth2

Supported Mods: Counter-Strike • Counter-Strike: Condition Zero


This message updates a spectator's screen with the name and health of the given player.

Name: SpecHealth2
Structure:
byte Health
byte PlayerID


Spectator

Supported Mods: Counter-Strike • Counter-Strike: Condition Zero • Day of Defeat • Half-Life: Opposing Force • Ricochet • Sven Co-op • Team Fortress Classic


This message is sent when a player becomes an observer/spectator.

Note: On join to Spectators this usually is fired twice in a row.

Name: Spectator
Structure:
byte ClientID
byte Unknown


StatusIcon

Supported Mods: Counter-Strike • Counter-Strike: Condition Zero • Half-Life: Opposing Force • Team Fortress Classic


This message draws/removes the specified status HUD icon. For Status, 0 is Hide Icon, 1 is Show Icon, 2 is Flash Icon. Color arguments are optional and are required only if Status isn't equal to 0.

Name: StatusIcon
Structure:
byte Status
string SpriteName
byte ColorR
byte ColorG
byte ColorB


StatusValue

Supported Mods: Counter-Strike • Counter-Strike: Condition Zero • Day of Defeat • Deathmatch Classic • Natural Selection • Team Fortress Classic • Half-Life Deathmatch


This message sends/updates the status values. For Flag, 1 is TeamRelation, 2 is PlayerID, and 3 is Health. For TeamRelation, 1 is Teammate player, 2 is Non-Teammate player, 3 is Hostage. If TeamRelation is Hostage, PlayerID will be 0 or will be not sent at all.
Usually this is fired as a triple message, for example:

{1,  2}  -  non-teammate player
{2, 17}  -  player index is 17
{3, 59}  -  player health is 59
Name: StatusValue
Structure:
byte Flag
short Value


StatusText

Supported Mods: Counter-Strike • Counter-Strike: Condition Zero • Deathmatch Classic • Natural Selection • Team Fortress Classic • Half-Life Deathmatch


This message specifies the status text format.

Name: StatusText
Structure:
byte Unknown
string Text


TaskTime

Supported Mods: Counter-Strike • Counter-Strike: Condition Zero


This message displays a secondary timer above the round timer. It is used for Condition Zero singleplayer missions.
If Time is -1, the timer dissappears. If Time is any other negative value, it is displayed as green instead of yellow, and considered positive.
If Active is true, timer counts down. Otherwise, it is paused.
If Fade is above zero, the timer will slowly fade out after that many seconds have passed (even if the timer is inactive).

Note: This event can only be used on missions that have an objective requiring a secondary timer!

Name: TaskTime
Structure:
short Time
byte Active
byte Fade


TeamInfo

Supported Mods: Counter-Strike • Counter-Strike: Condition Zero • Deathmatch Classic • Half-Life: Opposing Force • Natural Selection • Ricochet • Sven Co-op • Team Fortress Classic • Half-Life Deathmatch


This message sets the team information for the given player.

Note: In CS TeamName is either "UNASSIGNED", "TERRORIST", "CT" or "SPECTATOR".

Name: TeamInfo
Structure:
byte PlayerID
string TeamName


TeamScore

Supported Mods: Counter-Strike • Counter-Strike: Condition Zero • Day of Defeat • Deathmatch Classic • Half-Life: Opposing Force • Natural Selection • Ricochet • Sven Co-op • Team Fortress Classic • Half-Life Deathmatch


This message updates the team score on the scoreboard.

Note: This message has different parameters depending upon the mod.
Note: In CS TeamName is either "TERRORIST" or "CT".

Name: TeamScore
Structure:
string TeamName
short Score


Day of Defeat

Name: TeamScore
Structure:
byte TeamID
short Score


TextMsg

Supported Mods: Counter-Strike • Counter-Strike: Condition Zero • Day of Defeat • Deathmatch Classic • Half-Life: Opposing Force • Natural Selection • Ricochet • Sven Co-op • Team Fortress Classic • Half-Life Deathmatch


This message prints a custom or predefined text message.
There does not necessarily have to be a total of 6 arguments; there could be as little as 2. For example, you can send a message with the following:

Arg1: 1
Arg2: #Game_join_ct
Arg3: Pimp Daddy
Name: TextMsg
Structure:
byte DestinationType
string Message
string Submsg
string Submsg
string Submsg
string Submsg


Train

Supported Mods: Counter-Strike • Counter-Strike: Condition Zero • Deathmatch Classic • Half-Life: Opposing Force • Natural Selection • Ricochet • Sven Co-op • Team Fortress Classic • Half-Life Deathmatch


This message displays the speed bar used for controlling a train.

Note: Speed is as follows: 0 (disable display), 1 (neutral), 2 (slow speed), 3 (medium speed), 4 (maximum speed), 5 (reverse)

Name: Train
Structure:
byte Speed


TutorClose

Supported Mods: Counter-Strike • Counter-Strike: Condition Zero


This message closes all CZ-style tutor popups.

Note: This message has no arguments.

Name: TutorClose
Structure:


TutorLine

Note: No Information is available for this message.

Name: TutorLine
Structure:
short Unknown1
short Unknown2


TutorState

Note: No Information is available for this message.

Name: TutorState
Structure:
string Unknown


TutorText

Used to display a CZ-style tutor popup.

Note: If NumberOfSubMsgs is higher than 0, there should be such amount of write_string after this byte.
Note: TutorMessageEventId is index as listed in czero/tutordata.txt and starts from 0
Note: IsDead is the message receiver alive status

DEFAULT		1	// 1<<0 | GREEN  | INFO
FRIENDDEATH	2	// 1<<1 | RED    | SKULL
ENEMYDEATH	4	// 1<<2 | BLUE   | SKULL
SCENARIO	8	// 1<<3 | YELLOW | INFO
BUY		16	// 1<<4 | GREEN  | INFO
CAREER		32	// 1<<5 | GREEN  | INFO
HINT		64	// 1<<6 | GREEN  | INFO
INGAMEHINT	128	// 1<<7 | GREEN  | INFO
ENDGAME		256	// 1<<8 | YELLOW | INFO
Name: TutorText
Structure:
string String
byte NumberOfSubMsgs
string SubMessage
string ...
short TutorMessageEventId
short IsDead
short Type


ViewMode

Note: No Information is available for this message (HLSDK says this switches to first-person view, but it doesn't seem to function as so).
Note: This message has no arguments.

Name: ViewMode
Structure:


VGUIMenu

Displays a predefined VGUI menu.

Name: VGUIMenu
Structure:
byte MenuID
short KeysBitSum
char Time?
byte Multipart?
string Name?


VoiceMask

Used to tell a client who he can hear over the microphone.

Name: VoiceMask
Structure:
long AudiblePlayersIndexBitSum
long ServerBannedPlayersIndexBitSum


WeaponList

Configures the HUD weapons list.

Note: Fired on map initialization.
Note: SlotID starts from 0.

Flags (from HLSDK):

ITEM_FLAG_SELECTONEMPTY       1
ITEM_FLAG_NOAUTORELOAD        2
ITEM_FLAG_NOAUTOSWITCHEMPTY   4
ITEM_FLAG_LIMITINWORLD        8
ITEM_FLAG_EXHAUSTIBLE        16 // A player can totally exhaust their ammo supply and lose this weapon.

Note: See CS Weapons Information for more information.

Name: WeaponList
Structure:
string WeaponName
byte PrimaryAmmoID
byte PrimaryAmmoMaxAmount
byte SecondaryAmmoID
byte SecondaryAmmoMaxAmount
byte SlotID
byte NumberInSlot
byte WeaponID
byte Flags


WeapPickup

Temporarily draws correspoding weapon HUD icon in the middle of the right side of the screen.

Note: Draw time is depend on the hud_drawhistory_time client CVar value.
Note: Is fired right before weapon is picked up (notice "before").
Note: See CS Weapons Information for more information.

Name: WeapPickup
Structure:
byte WeaponID