<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.alliedmods.net/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=ConnorMcLeod</id>
	<title>AlliedModders Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.alliedmods.net/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=ConnorMcLeod"/>
	<link rel="alternate" type="text/html" href="https://wiki.alliedmods.net/Special:Contributions/ConnorMcLeod"/>
	<updated>2026-05-29T23:12:33Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.31.6</generator>
	<entry>
		<id>https://wiki.alliedmods.net/index.php?title=Half-Life_1_Game_Events&amp;diff=9512</id>
		<title>Half-Life 1 Game Events</title>
		<link rel="alternate" type="text/html" href="https://wiki.alliedmods.net/index.php?title=Half-Life_1_Game_Events&amp;diff=9512"/>
		<updated>2014-02-18T07:18:15Z</updated>

		<summary type="html">&lt;p&gt;ConnorMcLeod: /* SpecHealth */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Half-Life 1]]&lt;br /&gt;
[[Category:Scripting (AMX Mod X)]]&lt;br /&gt;
&lt;br /&gt;
= Introduction =&lt;br /&gt;
&lt;br /&gt;
In [[AMX Mod X]] you are able to hook in-game messages/events with [http://www.amxmodx.org/funcwiki.php?search=register_message&amp;amp;go=search register_message] / [http://www.amxmodx.org/funcwiki.php?go=func&amp;amp;id=26 register_event]. Here are the list of messages/events and their arguments which can be read with [http://www.amxmodx.org/funcwiki.php?search=get_msg_arg_&amp;amp;go=search get_msg_arg_*] / [http://www.amxmodx.org/funcwiki.php?go=func&amp;amp;id=132 read_data].&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
*See the [[Advanced Scripting (AMX Mod X)#Events.2FMessages|Advanced Scripting]] article for more on events and messages.&amp;lt;br&amp;gt;&lt;br /&gt;
*See messages.inc and message_const.inc from amxmodx/scriptong/include folder or [http://www.amxmodx.org/funcwiki.php?go=inc&amp;amp;id=47 Messaging functions] and [http://www.amxmodx.org/funcwiki.php?go=inc&amp;amp;id=48 Message constants] for full messages control including blocking, argument alteration and much more.&amp;lt;br&amp;gt;&lt;br /&gt;
*Type ''meta game'' in the server console to list messages for the current mod.&lt;br /&gt;
*Damaged Soul's [http://forums.alliedmods.net/showthread.php?p=66267 Message Logging plugin] for AMX Mod X can be used to log messages and their parameters on a live server.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= ADStop =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|ADStop}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= AlienInfo =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= AllowSpec =&lt;br /&gt;
{{ModList||cstrike|czero|gearbox|tfc}}&lt;br /&gt;
&lt;br /&gt;
This message changes whether or not &amp;quot;SPECTATE&amp;quot; appears on the change team menu. It is sent whenever the allow_spectators CVar is changed, with its new value sent as the byte.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This changes how the change team menu appears, but spectating functionality is based on the actual CVar value.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|AllowSpec|byte}}&lt;br /&gt;
{{hl1msg|byte|Allowed}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= AmmoPickup =&lt;br /&gt;
{{ModList||cstrike|czero|dod|dmc|gearbox|ns|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
This message temporarily draws [[HUD]] numerical ammo amount and corresponding ammo [[HUD]] icon in the middle of the right side of the screen.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Draw time depends on the ''hud_drawhistory_time'' client CVar value.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|See [[CS Weapons Information]] for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|AmmoPickup|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|AmmoID}}&lt;br /&gt;
{{hl1msg|byte|Ammount}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= AmmoShort =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= AmmoX =&lt;br /&gt;
{{ModList||cstrike|czero|dod|dmc|gearbox|ns|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
This message updates the green bar indicator in the [[HUD]] weapons list. It also updates [[HUD]] backpack ammo number in the lower right corner of the screen if the given ammo type is compatible with the current weapon.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|See [[CS Weapons Information]] for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|AmmoX|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|AmmoID}}&lt;br /&gt;
{{hl1msg|byte|Ammount}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ArmorType =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
This message draws/removes the helmet [[HUD]] icon. If flag is set to 1, the helmet [[HUD]] icon will be drawn (located right on the armor icon).&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|ArmorType|byte}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BalanceVar =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= BarTime =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
This message 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.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Set Duration to 0 to hide the bar.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|BarTime|short}}&lt;br /&gt;
{{hl1msg|short|Duration}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BarTime2 =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
The message is the same as [[#BarTime|BarTime]], but StartPercent specifies how much of the bar is (already) filled.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Display time can be calculated with this formula: ''(1 - (StartPercent / 100)) / Duration''}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|BarTime2|short, short}}&lt;br /&gt;
{{hl1msg|short|Duration}}&lt;br /&gt;
{{hl1msg|short|StartPercent}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Battery =&lt;br /&gt;
{{ModList||cstrike|czero|dmc|gearbox|ns|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
This message updates the icon and numerical armor value on the [[HUD]].&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|Battery|short}}&lt;br /&gt;
{{hl1msg|short|Armor}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Bench =&lt;br /&gt;
{{ModList||tfc}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= BlinkAcct =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
This message makes a player's money display flash rapidly, a total of BlinkAmt times.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|BlinkAcct|byte}}&lt;br /&gt;
{{hl1msg|byte|BlinkAmt}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BlipList =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= BloodPuff =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
This message creates a puff of blood at the specified coordinates.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|BloodPuff|coord, coord, coord}}&lt;br /&gt;
{{hl1msg|coord|CoordX}}&lt;br /&gt;
{{hl1msg|coord|CoordY}}&lt;br /&gt;
{{hl1msg|coord|CoordZ}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BombDrop =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
This message is sent when the bomb is dropped or planted by a player.&lt;br /&gt;
&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|BombDrop|coord, coord, coord, byte}}&lt;br /&gt;
{{hl1msg|coord|CoordX}}&lt;br /&gt;
{{hl1msg|coord|CoordY}}&lt;br /&gt;
{{hl1msg|coord|CoordZ}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BombPickup =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|BombPickup}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BotProgress =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|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.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|BotProgress|byte, byte, string}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{hl1msg|byte|Progress}}&lt;br /&gt;
{{hl1msg|string|Header}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BotVoice =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
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 &amp;lt;i&amp;gt;can&amp;lt;/i&amp;gt; specify a regular player (non-bot) for the PlayerIndex. Status is 1 for talking, or 0 for not talking.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|BotVoice|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|Status}}&lt;br /&gt;
{{hl1msg|byte|PlayerIndex}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Brass =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
This message creates a brass shell. Used, for example, by the AWP, after firing.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|Brass|byte, coord, coord, coord, coord, coord, coord, coord, coord, coord, angle, short, byte, byte, byte}}&lt;br /&gt;
{{hl1msg|byte|MessageID}}&lt;br /&gt;
{{hl1msg|coord|StartX}}&lt;br /&gt;
{{hl1msg|coord|StartY}}&lt;br /&gt;
{{hl1msg|coord|StartZ}}&lt;br /&gt;
{{hl1msg|coord|VelocityX?}}&lt;br /&gt;
{{hl1msg|coord|VelocityY?}}&lt;br /&gt;
{{hl1msg|coord|VelocityZ?}}&lt;br /&gt;
{{hl1msg|coord|UnknownX}}&lt;br /&gt;
{{hl1msg|coord|UnknownY}}&lt;br /&gt;
{{hl1msg|coord|UnknownZ}}&lt;br /&gt;
{{hl1msg|angle|Rotation}}&lt;br /&gt;
{{hl1msg|short|ModelIndex}}&lt;br /&gt;
{{hl1msg|byte|BounceSoundType}}&lt;br /&gt;
{{hl1msg|byte|Life}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BuildSt =&lt;br /&gt;
{{ModList||tfc}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= BuyClose =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
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).&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|BuyClose}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Camera =&lt;br /&gt;
{{ModList||svencoop}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= CameraMouse =&lt;br /&gt;
{{ModList||svencoop}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= CameraView =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= CancelProg =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= CapMsg =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
This displays a message like &amp;quot;Player captured the Allied plaza for the Axis&amp;quot;. An example PointName is ''POINT_CAEN_AXISPLAZA''.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|CapMsg|byte, string, byte}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{hl1msg|string|PointName}}&lt;br /&gt;
{{hl1msg|byte|TeamID}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= CbElec =&lt;br /&gt;
{{ModList||svencoop}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= ClanTimer =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= ClCorpse =&lt;br /&gt;
{{ModList||cstrike|czero|dod}}&lt;br /&gt;
&lt;br /&gt;
This message spawns a player's corpse. ModelName is the player's model name, for example: &amp;quot;leet&amp;quot;. Delay is a delay before animation playback, which can be a negative value.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Coord and Delay is multiplied by 128.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|In CS, argument #10 is always equal to 0.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*See [http://www.amxmodx.org/funcwiki.php?go=module&amp;amp;id=4#const_teams CS Team Constants] for team indices constants list.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|ClCorpse|string, long, long, long, coord, coord, coord, long, byte, byte, byte, byte}}&lt;br /&gt;
{{hl1msg|string|ModelName}}&lt;br /&gt;
{{hl1msg|long|CoordX}}&lt;br /&gt;
{{hl1msg|long|CoordY}}&lt;br /&gt;
{{hl1msg|long|CoordZ}}&lt;br /&gt;
{{hl1msg|coord|Angle0}}&lt;br /&gt;
{{hl1msg|coord|Angle1}}&lt;br /&gt;
{{hl1msg|coord|Angle2}}&lt;br /&gt;
{{hl1msg|long|Delay}}&lt;br /&gt;
{{hl1msg|byte|Sequence}}&lt;br /&gt;
{{hl1msg|byte|ClassID?}}&lt;br /&gt;
{{hl1msg|byte|TeamID}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ClientAreas =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= ClScript =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Concuss =&lt;br /&gt;
{{ModList||tfc}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Countdown =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= CreateBlood =&lt;br /&gt;
{{ModList||svencoop}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Crosshair =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
This message draws/removes a crosshair. If Flag is set to 1 the crosshair will be drawn.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This crosshair looks not like the regular one, but like the one that is drawn in spectator mode.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|Crosshair|byte}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= CTFScore =&lt;br /&gt;
{{ModList||gearbox}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= CurMarker =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= CurWeapon =&lt;br /&gt;
{{ModList||cstrike|czero|dod|dmc|gearbox|ns|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
This message updates the numerical magazine ammo count and the corresponding ammo type icon on the [[HUD]].&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|See [[CS Weapons Information]] for more information on Counter-Strike weapons.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|CurWeapon|byte, byte, byte}}&lt;br /&gt;
{{hl1msg|byte|IsActive}}&lt;br /&gt;
{{hl1msg|byte|WeaponID}}&lt;br /&gt;
{{hl1msg|byte|ClipAmmo}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= CustomIcon =&lt;br /&gt;
{{ModList||gearbox}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= CZCareer =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
This message supplies certain updates to the player regarding Condition Zero single-player missions.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|See the [[CZCareer]] page for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|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).}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|The Type argument is case-sensitive.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|This event does nothing in CS and CZ multiplayer.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|CZCareer|string,*}}&lt;br /&gt;
{{hl1msg|string|Type}}&lt;br /&gt;
{{hl1msg|*|Parameters}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= CZCareerHUD =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
This message displays certain [[HUD]] elements regarding Condition Zero single-player missions.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|See the [[CZCareerHUD]] page for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|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).}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|The Type argument is case-sensitive.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|This event has some limited functionality in CS and CZ multi-player (albeit better in CZ).}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|CZCareerHUD|string,*}}&lt;br /&gt;
{{hl1msg|string|Type}}&lt;br /&gt;
{{hl1msg|*|Parameters}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Damage =&lt;br /&gt;
{{ModList||cstrike|czero|dmc|gearbox|ns|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|To capture this message, you should use &amp;quot;b&amp;quot; as the third parameter in the register_event() function.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|Damage|byte, byte, long, coord, coord, coord}}&lt;br /&gt;
{{hl1msg|byte|DamageSave}}&lt;br /&gt;
{{hl1msg|byte|DamageTake}}&lt;br /&gt;
{{hl1msg|long|DamageType}}&lt;br /&gt;
{{hl1msg|coord|CoordX}}&lt;br /&gt;
{{hl1msg|coord|CoordY}}&lt;br /&gt;
{{hl1msg|coord|CoordZ}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= DeathMsg =&lt;br /&gt;
{{ModList||cstrike|czero|dod|dmc|gearbox|ns|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
It also prints the console text message &amp;quot;KillerName killed VictimName with TruncatedWeaponName&amp;quot; or &amp;quot;*** KillerName killed VictimName with a headshot from TruncatedWeaponName ***&amp;quot;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has different parameters depending upon the mod.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|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 &amp;quot;trigger_hurt&amp;quot; entity, in which cases TruncatedWeaponName will be &amp;quot;worldspawn&amp;quot; and &amp;quot;trigger_hurt&amp;quot; respectively.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|For vehicle kills, TruncatedWeaponName could be &amp;quot;vehicle&amp;quot;, &amp;quot;tank&amp;quot;, etc.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|In some mods, TruncatedWeaponName is &amp;quot;teammate&amp;quot; for a team kill, which shows a green skull in the HUD message.}}&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|DeathMsg|byte, byte, byte, string}}&lt;br /&gt;
{{hl1msg|byte|KillerID}}&lt;br /&gt;
{{hl1msg|byte|VictimID}}&lt;br /&gt;
{{hl1msg|string|TruncatedWeaponName}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
== Counter-Strike ==&lt;br /&gt;
{{qnotice|TruncatedWeaponName doesn't contain a &amp;quot;weapon_&amp;quot; prefix. See [[CS Weapons Information]] for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|For a grenade kill, TruncatedWeaponName isn't &amp;quot;hegrenade&amp;quot;, but rather &amp;quot;grenade&amp;quot;, which is the actual classname of a thrown grenade.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|DeathMsg|byte, byte, byte, string}}&lt;br /&gt;
{{hl1msg|byte|KillerID}}&lt;br /&gt;
{{hl1msg|byte|VictimID}}&lt;br /&gt;
{{hl1msg|byte|IsHeadshot}}&lt;br /&gt;
{{hl1msg|string|TruncatedWeaponName}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
== Day of Defeat ==&lt;br /&gt;
{{begin-hl1msg|DeathMsg|byte, byte, byte, string}}&lt;br /&gt;
{{hl1msg|byte|KillerID}}&lt;br /&gt;
{{hl1msg|byte|VictimID}}&lt;br /&gt;
{{hl1msg|byte|WeaponID}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= DebugCSP =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= DelEntHier =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= DelParts =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Detpack =&lt;br /&gt;
{{ModList||tfc}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= EditPS =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= EndRnd =&lt;br /&gt;
{{ModList||ricochet}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= EntHier =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Feign =&lt;br /&gt;
{{ModList||tfc}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= FlagIcon =&lt;br /&gt;
{{ModList||gearbox}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= FlagTimer =&lt;br /&gt;
{{ModList||gearbox}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= FlashBat =&lt;br /&gt;
{{ModList||cstrike|czero|dmc|gearbox|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
This message updates the flashlight battery charge on the [[HUD]].&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|FlashBat|byte}}&lt;br /&gt;
{{hl1msg|byte|ChargePercentage}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Flashlight =&lt;br /&gt;
{{ModList||cstrike|czero|dmc|gearbox|ns|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|Flashlight|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{hl1msg|byte|ChargePercent}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Fog =&lt;br /&gt;
{{ModList||cstrike|czero|ns|svencoop}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|mp_Fog 1 for fog in Counter-Strike}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|Fog|byte, byte, byte}}&lt;br /&gt;
{{hl1msg|byte|FogValue}}&lt;br /&gt;
{{hl1msg|byte|FogValue}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ForceCam =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Even if mp_forcechasecam is set to 2, it is sent by this message as 1.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|ForceCam|byte, byte, byte}}&lt;br /&gt;
{{hl1msg|byte|ForcecamValue}}&lt;br /&gt;
{{hl1msg|byte|ForcechasecamValue}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Frags =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
This message sets a player's kills, as seen on the scoreboard. This message is only sent for the killer.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|Frags|byte, short}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{hl1msg|short|Kills}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Frozen =&lt;br /&gt;
{{ModList||ricochet}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= GameMode =&lt;br /&gt;
{{ModList||cstrike|czero|dmc|gearbox|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
This message informs the client of the current game mode.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|GameMode|byte}}&lt;br /&gt;
{{hl1msg|byte|Game mode}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= GameRules =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= GameStatus =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= GameTitle =&lt;br /&gt;
{{ModList||cstrike|czero|dmc|gearbox|ns|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|GameTitle|byte}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= GargSplash =&lt;br /&gt;
{{ModList||svencoop}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Geiger =&lt;br /&gt;
{{ModList||cstrike|czero|dmc|gearbox|ns|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|Geiger|byte}}&lt;br /&gt;
{{hl1msg|byte|Distance}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Gib =&lt;br /&gt;
{{ModList||svencoop}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= HandSignal =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Health =&lt;br /&gt;
{{ModList||cstrike|czero|dod|dmc|gearbox|ns|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
This message updates the numerical health value on the [[HUD]].&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|Health|byte}}&lt;br /&gt;
{{hl1msg|byte|Health}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= HideWeapon =&lt;br /&gt;
{{ModList||cstrike|czero|dod|dmc|gearbox|ns|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
This message hides the specified [[HUD]] elements.&amp;lt;br&amp;gt;&lt;br /&gt;
Flags:&lt;br /&gt;
   1   (1&amp;lt;&amp;lt;0)  -  crosshair, ammo, weapons list&lt;br /&gt;
   2   (1&amp;lt;&amp;lt;1)  -  flashlight, +&lt;br /&gt;
   4   (1&amp;lt;&amp;lt;2)  -  ALL&lt;br /&gt;
   8   (1&amp;lt;&amp;lt;3)  -  radar, health, armor, +&lt;br /&gt;
  16   (1&amp;lt;&amp;lt;4)  -  timer, +&lt;br /&gt;
  32   (1&amp;lt;&amp;lt;5)  -  money, +&lt;br /&gt;
  64   (1&amp;lt;&amp;lt;6)  -  crosshair&lt;br /&gt;
 128   (1&amp;lt;&amp;lt;7)  -  +&lt;br /&gt;
Symbol + mean that an additional crosshair will be drawn. That crosshair looks exactly like the one from Crosshair message.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|HideWeapon|byte}}&lt;br /&gt;
{{hl1msg|byte|Flags}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= HLTV =&lt;br /&gt;
{{ModList||cstrike|czero|dod|}}&lt;br /&gt;
&lt;br /&gt;
This message is sent for HLTV and is unique for each round-start.&amp;lt;br&amp;gt;&lt;br /&gt;
On new round is fired 2 messages:&lt;br /&gt;
 // reset all players health for HLTV&lt;br /&gt;
 MESSAGE_BEGIN( MSG_SPEC, gmsgHLTV );&lt;br /&gt;
 WRITE_BYTE( 0 );   // 0 = all players&lt;br /&gt;
 WRITE_BYTE( 100 | 128 );&lt;br /&gt;
 MESSAGE_END();&amp;lt;br&amp;gt;&lt;br /&gt;
 // reset all players FOV for HLTV&lt;br /&gt;
 MESSAGE_BEGIN( MSG_SPEC, gmsgHLTV );&lt;br /&gt;
 WRITE_BYTE( 0 );   // all players&lt;br /&gt;
 WRITE_BYTE( 0 );&lt;br /&gt;
 MESSAGE_END();&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|HLTV|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|ClientID}}&lt;br /&gt;
{{hl1msg|byte|Flags}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= HostageK =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
This message temporarily draws a blinking red dot on the CT players' radar when a hostage is killed.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|HostageK|byte}}&lt;br /&gt;
{{hl1msg|byte|HostageID}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= HostagePos =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
This message draws/updates the blue mark on the CT players' radar which indicates the corresponding hostage's position.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|It is called with Flag set to 1 on player [[HUD]] full update.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|HostagePos|byte, byte, coord, coord, coord}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{hl1msg|byte|HostageID}}&lt;br /&gt;
{{hl1msg|coord|CoordX}}&lt;br /&gt;
{{hl1msg|coord|CoordY}}&lt;br /&gt;
{{hl1msg|coord|CoordZ}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= HudColor =&lt;br /&gt;
{{ModList||gearbox}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= HudText =&lt;br /&gt;
{{ModList||cstrike|czero|dod|dmc|gearbox|ns|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
This message prints [[HUD]] text.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Prints message with specified style in titles.txt with small signs (like in HL)}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|HudText|string, byte, byte}}&lt;br /&gt;
{{hl1msg|string|TextCode}}&lt;br /&gt;
{{hl1msg|byte|InitHUDstyle}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= HudText2 =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= HudTextArgs =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
This message prints [[HUD]] text.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|An example of TextCode could be &amp;quot;#Hint_you_have_the_bomb&amp;quot;.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|Prints message with specified style in titles.txt with Big signs (CS Default)}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|If you have problems specifying the last two arguments, use 1 and 0 respectively.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|HudTextArgs|string, byte, byte}}&lt;br /&gt;
{{hl1msg|string|TextCode}}&lt;br /&gt;
{{hl1msg|byte|InitHUDstyle}}&lt;br /&gt;
{{hl1msg|byte|NumberOfSubMessages}}&lt;br /&gt;
{{hl1msg|string|SubMsg}}&lt;br /&gt;
{{hl1msg|string|SubMsg}}&lt;br /&gt;
{{hl1msg|string|...}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= HudTextPro =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
This message prints [[HUD]] text.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Prints message with specified style in titles.txt with Big signs (CS Default)}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|HudText|string, byte, byte}}&lt;br /&gt;
{{hl1msg|string|TextCode}}&lt;br /&gt;
{{hl1msg|byte|InitHUDstyle}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= InitHUD =&lt;br /&gt;
{{ModList||cstrike|czero|dod|dmc|gearbox|ns|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
This message initializes the [[HUD]].&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|InitHUD}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= InitObj =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
This message updates the flags (axis/allies/objective flags, not programming flags) displayed to the client when a point is captured.&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|InitObj|byte,*,*}}&lt;br /&gt;
{{hl1msg|byte|TotalObjectives}}&lt;br /&gt;
{{hl1msg|Objective|...}}&lt;br /&gt;
{{hl1msg|...|}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
''TotalObjectives'' represents the number of ''Objective'' sub-messages that are present. Each ''Objective'' sub-message is in the following format:&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|Objective|short, byte, byte, byte, byte, byte, byte, coord, coord}}&lt;br /&gt;
{{hl1msg|short|EntityID?}}&lt;br /&gt;
{{hl1msg|byte|ObjectiveID?}}&lt;br /&gt;
{{hl1msg|byte|TeamID}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{hl1msg|coord|CoordX?}}&lt;br /&gt;
{{hl1msg|coord|CoordY?}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
If a map has 5 objectives, this message will have 46 arguments (1 + 5 * 9).&lt;br /&gt;
&lt;br /&gt;
= IssueOrder =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= ItemPickup =&lt;br /&gt;
{{ModList||cstrike|czero|dmc|gearbox|ns|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
This message temporarily draws a corresponding item [[HUD]] icon in the middle of the right side of the screen.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Draw time is dependent on the ''hud_drawhistory_time'' client CVar value.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|ItemPickup|string}}&lt;br /&gt;
{{hl1msg|string|ItemName}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Items =&lt;br /&gt;
{{ModList||tfc}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= ItemStatus =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
This message notifies the client about carried items.&amp;lt;br&amp;gt;&lt;br /&gt;
Example of some item bits:&lt;br /&gt;
 1   (1&amp;lt;&amp;lt;0)  -  nightvision goggles&lt;br /&gt;
 2   (1&amp;lt;&amp;lt;1)  -  defusal kit&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|ItemStatus|byte}}&lt;br /&gt;
{{hl1msg|byte|ItemsBitSum}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ListPS =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Location =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
This message is sent when a player changes zones on a map.&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|Location|byte, string}}&lt;br /&gt;
{{hl1msg|byte|PlayerId}}&lt;br /&gt;
{{hl1msg|string|LocationName}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= MapList =&lt;br /&gt;
{{ModList||svencoop}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= MapMarker =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= MiniMap =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Money =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
This message updates the amount of money on the [[HUD]]. If the Flag is 1, the amount of money added will also be displayed.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|Money|long, byte}}&lt;br /&gt;
{{hl1msg|long|Amount}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Monitor =&lt;br /&gt;
{{ModList||svencoop}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= MOTD =&lt;br /&gt;
{{ModList||cstrike|czero|dod|dmc|gearbox|ns|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
This message displays the MOTD window.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Max. Text length is 60. A larger MOTD is sent in multiple messages. Flag will be set to 1 for the final segment.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|MOTD|byte, string}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{hl1msg|string|Text}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= NextMap =&lt;br /&gt;
{{ModList||svencoop}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= NexusBytes =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= NVGToggle =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
This message toggles night vision mode. For Flag: 1 is on, 0 is off.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|NVGToggle|byte}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Object =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
This message is sent when a player picks up certain objects. The specified sprite will be displayed on the left side of the [[HUD]]. An example Sprite is ''sprites/mapsprites/ae_satchel2.spr''.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|Object|string}}&lt;br /&gt;
{{hl1msg|string|Sprite}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ObjScore =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
This message sets a player's score, as seen on the scoreboard.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|ObjScore|byte, short}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{hl1msg|short|Score}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= OldWeapon =&lt;br /&gt;
{{ModList||gearbox}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Particles =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= PClass =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|PClass|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|PlayerID?}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= PlayerIcon =&lt;br /&gt;
{{ModList||gearbox}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= PlayersIn =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= PlayHUDNot =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Playlist =&lt;br /&gt;
{{ModList||svencoop}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= PlyrBrowse =&lt;br /&gt;
{{ModList||gearbox}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Portal =&lt;br /&gt;
{{ModList||svencoop}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Powerup =&lt;br /&gt;
{{ModList||ricochet}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= ProfileInfo =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Progress =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= ProgUpdate =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= PShoot =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= PStatus =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
This message is sent along with [[#Object|Object]] when a player picks up an object. It may have other uses. When I picked up a satchel charge, the Unknown value was 5.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|PStatus|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|PlayerID?}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= PTeam =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= QItems =&lt;br /&gt;
{{ModList||dmc}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Radar =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
This message draws/updates the dot on the [[HUD]] radar which indicates the given player position.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This works for teammates only.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|Radar|byte, coord, coord, coord}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{hl1msg|coord|CoordX}}&lt;br /&gt;
{{hl1msg|coord|CoordY}}&lt;br /&gt;
{{hl1msg|coord|CoordZ}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= RampSprite =&lt;br /&gt;
{{ModList||svencoop}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= RandomPC =&lt;br /&gt;
{{ModList||tfc}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= ReceiveW =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
This message tells the client which visual weather effect to be executed client side, if client's cl_weather CVar is above 0.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Main part of CBasePlayer::SendWeatherInfo() function that is sent in CBasePlayer :: UpdateClientData() when player offset m_fInitHUD is 1&amp;lt;br&amp;gt;&lt;br /&gt;
(right after putinserver or after fullupdate command)&amp;lt;br&amp;gt;&lt;br /&gt;
Mode: 1 is for rain effect, 2 is for snow effect&amp;lt;br&amp;gt;&lt;br /&gt;
Though mode 0 is never sent by the game itself, it removes the weather effect.&amp;lt;br&amp;gt;&lt;br /&gt;
Alternatively send mode 1 and mode 2 with judicious delays (time for effect to disappear) to make both rain and snow effect}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|ReceiveW|byte}}&lt;br /&gt;
{{hl1msg|byte|Mode}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ReloadDone =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= ReloadSound =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
This message plays generic reload sounds.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Setting IsNotShotgun to 1 will play weapons/generic_reload.wav}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|Setting IsNotShotgun to 0 will play weapons/generic_shot_reload.wav}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|ReloadSound|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|Volume * 255}}&lt;br /&gt;
{{hl1msg|byte|IsNotShotgun}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ReqState =&lt;br /&gt;
{{ModList||cstrike|czero|dod|dmc|ns|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|ReqState}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ResetFade =&lt;br /&gt;
{{ModList||tfc}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= ResetHUD =&lt;br /&gt;
{{ModList||cstrike|czero|dod|dmc|gearbox|ns|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
This message resets the [[HUD]].&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|ResetHUD}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ResetSens =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
This message resets the client's sensitivity?&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|ResetSens}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Reward =&lt;br /&gt;
{{ModList||ricochet}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= RoundState =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= RoundTime =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
This message updates the round timer on the [[HUD]]. Time is in seconds.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|RoundTime|short}}&lt;br /&gt;
{{hl1msg|short|Time}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SayText =&lt;br /&gt;
{{ModList||cstrike|czero|dod|dmc|gearbox|ns|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
Examples of predefined Counter-Strike string values include #Cstrike_Chat_AllDead and #Cstrike_Name_Change.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|For #Cstrike_Name_Change String2 is an old name and String3 is a new name.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SayText|byte, string, string, string}}&lt;br /&gt;
{{hl1msg|byte|SenderID}}&lt;br /&gt;
{{hl1msg|string|String1}}&lt;br /&gt;
{{hl1msg|string|String2}}&lt;br /&gt;
{{hl1msg|string|String3}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Scenario =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[image:Cs_scenario_msg.jpg|frame|right|Scenario message in CS, using the following parameters: 1, d_mp5navy, 150]]&lt;br /&gt;
&lt;br /&gt;
{{qnotice|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.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|This works in both CS and CZ!}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|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.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|Scenario|byte, string, byte, short, short}}&lt;br /&gt;
{{hl1msg|byte|Active}}&lt;br /&gt;
{{hl1msg|string|Sprite}}&lt;br /&gt;
{{hl1msg|byte|Alpha}}&lt;br /&gt;
{{hl1msg|short|FlashRate}}&lt;br /&gt;
{{hl1msg|short|FlashDelay}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Scope =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|Scope|byte}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ScoreAttrib =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
This message updates the scoreboard attribute for the specified player. For the 2nd argument, 0 is nothing, (1&amp;lt;&amp;lt;0) i.e. 1 is dead, (1&amp;lt;&amp;lt;1) i.e. 2 is bomb, (1&amp;lt;&amp;lt;2) i.e. 4 is VIP.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|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.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|ScoreAttrib|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{hl1msg|byte|Flags}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ScoreInfo =&lt;br /&gt;
{{ModList||cstrike|czero|dod|dmc|gearbox|ns|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
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. In Team Fortress Classic, the score is based on the number of kills, suicides, and captures. Day of Defeat uses [[#ScoreShort|ScoreShort]] and [[#ObjScore|ObjScore]] instead of this message to update score and deaths.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|In CS the 4th argument (ClassID) is always equal to 0.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*See [http://www.amxmodx.org/funcwiki.php?go=module&amp;amp;id=4#const_teams CS Team Constants] for team indices constants list.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|ScoreInfo|byte, short, short, short, short}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{hl1msg|short|Score}}&lt;br /&gt;
{{hl1msg|short|Deaths}}&lt;br /&gt;
{{hl1msg|short|ClassID}}&lt;br /&gt;
{{hl1msg|short|TeamID}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ScoreInfoLong =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Although Metamod lists this message, it doesn't appear to be used or even a valid message name.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= ScoreShort =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
This message updates a player's Score, Kills, and Deaths as seen on the scoreboard. This message is only sent for the victim.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|The fifth argument appears to be the same as the ''refresh'' parameter used in [http://amxmodx.org/doc/source/functions/dodfun/dod_set_pl_deaths.htm dod_set_pl_deaths] and was always 1 in my testing.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|ScoreShort|byte, short, short, short, byte}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{hl1msg|short|Score}}&lt;br /&gt;
{{hl1msg|short|Kills}}&lt;br /&gt;
{{hl1msg|short|Deaths}}&lt;br /&gt;
{{hl1msg|short|Refresh?}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ScreenFade =&lt;br /&gt;
{{ModList||cstrike|czero|dod|dmc|gearbox|ns|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
This message fades the screen.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Duration and HoldTime is in special units. 1 second is equal to (1&amp;lt;&amp;lt;12) i.e. 4096 units.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Flags (from HLSDK):&lt;br /&gt;
 FFADE_IN         0x0000 // Just here so we don't pass 0 into the function&lt;br /&gt;
 FFADE_OUT        0x0001 // Fade out (not in)&lt;br /&gt;
 FFADE_MODULATE   0x0002 // Modulate (don't blend)&lt;br /&gt;
 FFADE_STAYOUT    0x0004 // ignores the duration, stays faded out until new ScreenFade message received&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|ScreenFade|short, short, short, byte, byte, byte, byte}}&lt;br /&gt;
{{hl1msg|short|Duration}}&lt;br /&gt;
{{hl1msg|short|HoldTime}}&lt;br /&gt;
{{hl1msg|short|Flags}}&lt;br /&gt;
{{hl1msg|byte|ColorR}}&lt;br /&gt;
{{hl1msg|byte|ColorG}}&lt;br /&gt;
{{hl1msg|byte|ColorB}}&lt;br /&gt;
{{hl1msg|byte|Alpha}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ScreenShake =&lt;br /&gt;
{{ModList||cstrike|czero|dod|dmc|gearbox|ns|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
This message shakes the screen.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|All arguments is in special units. 1 second is equal to (1&amp;lt;&amp;lt;12) i.e. 4096 units.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|ScreenShake|short, short, short}}&lt;br /&gt;
{{hl1msg|short|Amplitude}}&lt;br /&gt;
{{hl1msg|short|Duration}}&lt;br /&gt;
{{hl1msg|short|Frequency}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SecAmmoIcon =&lt;br /&gt;
{{ModList||tfc}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= SecAmmoVal =&lt;br /&gt;
{{ModList||tfc}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= SelAmmo =&lt;br /&gt;
{{ModList||dmc|gearbox|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= SendAudio =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
This message plays the specified audio. An example of AudioCode could be &amp;quot;%!MRAD_rounddraw&amp;quot;.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SendAudio|byte, string, short}}&lt;br /&gt;
{{hl1msg|byte|SenderID}}&lt;br /&gt;
{{hl1msg|string|AudioCode}}&lt;br /&gt;
{{hl1msg|short|Pitch}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ServerName =&lt;br /&gt;
{{ModList||cstrike|czero|dod|dmc|gearbox|ns|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
This message sends the server name to a client.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|ServerName|string}}&lt;br /&gt;
{{hl1msg|string|ServerName}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ServerVar =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= SetFOV =&lt;br /&gt;
{{ModList||cstrike|czero|dod|dmc|gearbox|ns|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
This message sets the specified field of view.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SetFOV|byte}}&lt;br /&gt;
{{hl1msg|byte|Degrees}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SetGmma =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= SetMenuTeam =&lt;br /&gt;
{{ModList||gearbox}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= SetObj =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SetObj|byte, byte, byte}}&lt;br /&gt;
{{hl1msg|byte|Unknown1}}&lt;br /&gt;
{{hl1msg|byte|Unknown2}}&lt;br /&gt;
{{hl1msg|byte|Unknown3}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SetOrder =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= SetRequest =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= SetSelect =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= SetTech =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= SetTopDown =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= SetUpgrades =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= SetupMap =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= ShadowIdx =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|ShadowIdx|long}}&lt;br /&gt;
{{hl1msg|long|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ShieldRic =&lt;br /&gt;
{{ModList||svencoop}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= ShkFlash =&lt;br /&gt;
{{ModList||svencoop}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= ShowMenu =&lt;br /&gt;
{{ModList||cstrike|czero|dod|dmc|gearbox|ns|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
This message displays a &amp;quot;menu&amp;quot; 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).&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|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.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|ShowMenu|short, char, byte, string}}&lt;br /&gt;
{{hl1msg|short|KeysBitSum}}&lt;br /&gt;
{{hl1msg|char|Time}}&lt;br /&gt;
{{hl1msg|byte|Multipart}}&lt;br /&gt;
{{hl1msg|string|Text}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ShowTimer =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
This message forces the round timer to display.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|ShowTimer}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Sky3D =&lt;br /&gt;
{{ModList||svencoop}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= SoundList =&lt;br /&gt;
{{ModList||svencoop}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= SoundNames =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Speaksent =&lt;br /&gt;
{{ModList||svencoop}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= SpecFade =&lt;br /&gt;
{{ModList||tfc}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= SpecHealth =&lt;br /&gt;
{{ModList||cstrike|czero|tfc}}&lt;br /&gt;
&lt;br /&gt;
This message updates a spectator's screen with health of the currently spectated player, on health change (on TakeDamage, doesn't seems to be sent anywhere else).&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Previous information has been checked on cs1.6/cz only}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SpecHealth|byte}}&lt;br /&gt;
{{hl1msg|byte|Health}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SpecHealth2 =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
This message updates a spectator's screen with the name and health of the given player when player is freshly spectated.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SpecHealth2|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|Health}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Spectator =&lt;br /&gt;
{{ModList||cstrike|czero|dod|gearbox|ricochet|svencoop|tfc}}&lt;br /&gt;
&lt;br /&gt;
This message is sent when a player becomes an observer/spectator.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|On join to Spectators this usually is fired twice in a row.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|Spectator|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|ClientID}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SporeTrail =&lt;br /&gt;
{{ModList||svencoop}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= SRDetonate =&lt;br /&gt;
{{ModList||svencoop}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= SRPrimed =&lt;br /&gt;
{{ModList||svencoop}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= SRPrimedOff =&lt;br /&gt;
{{ModList||svencoop}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= StartProg =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= StartProgF =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= StartRnd =&lt;br /&gt;
{{ModList||ricochet}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= StartSound =&lt;br /&gt;
{{ModList||svencoop}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= StatsInfo =&lt;br /&gt;
{{ModList||gearbox}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= StatsPlayer =&lt;br /&gt;
{{ModList||gearbox}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= StatusIcon =&lt;br /&gt;
{{ModList||cstrike|czero|gearbox|tfc}}&lt;br /&gt;
&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|StatusIcon|byte, string, byte, byte, byte}}&lt;br /&gt;
{{hl1msg|byte|Status}}&lt;br /&gt;
{{hl1msg|string|SpriteName}}&lt;br /&gt;
{{hl1msg|byte|ColorR}}&lt;br /&gt;
{{hl1msg|byte|ColorG}}&lt;br /&gt;
{{hl1msg|byte|ColorB}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= StatusText =&lt;br /&gt;
{{ModList||cstrike|czero|dmc|ns|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
This message specifies the status text format.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|StatusText|byte, string}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{hl1msg|string|Text}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= StatusValue =&lt;br /&gt;
{{ModList||cstrike|czero|dod|dmc|ns|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
Usually this is fired as a triple message, for example:&lt;br /&gt;
 {1,  2}  -  non-teammate player&lt;br /&gt;
 {2, 17}  -  player index is 17&lt;br /&gt;
 {3, 59}  -  player health is 59&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|StatusValue|byte, short}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{hl1msg|short|Value}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TaskTime =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
This message displays a secondary timer above the round timer. It is used for Condition Zero singleplayer missions.&amp;lt;br&amp;gt;&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
If Active is true, timer counts down. Otherwise, it is paused.&amp;lt;br&amp;gt;&lt;br /&gt;
If Fade is above zero, the timer will slowly fade out after that many seconds have passed (even if the timer is inactive).&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This event can only be used on missions that have an objective requiring a secondary timer!}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|TaskTime|short, byte, byte}}&lt;br /&gt;
{{hl1msg|short|Time}}&lt;br /&gt;
{{hl1msg|byte|Active}}&lt;br /&gt;
{{hl1msg|byte|Fade}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TE_CUSTOM =&lt;br /&gt;
{{ModList||svencoop}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= TeamFull =&lt;br /&gt;
{{ModList||gearbox}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= TeamInfo =&lt;br /&gt;
{{ModList||cstrike|czero|dmc|gearbox|ns|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
This message sets the team information for the given player.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|In CS TeamName is either &amp;quot;UNASSIGNED&amp;quot;, &amp;quot;TERRORIST&amp;quot;, &amp;quot;CT&amp;quot; or &amp;quot;SPECTATOR&amp;quot;.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|TeamInfo|byte, string}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{hl1msg|string|TeamName}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TeamNames =&lt;br /&gt;
{{ModList||gearbox|ns|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= TeamScore =&lt;br /&gt;
{{ModList||cstrike|czero|dod|dmc|gearbox|ns|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
This message updates the team score on the scoreboard.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has different parameters depending upon the mod.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|In CS TeamName is either &amp;quot;TERRORIST&amp;quot; or &amp;quot;CT&amp;quot;.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|TeamScore|string, short}}&lt;br /&gt;
{{hl1msg|string|TeamName}}&lt;br /&gt;
{{hl1msg|short|Score}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
== Day of Defeat ==&lt;br /&gt;
{{begin-hl1msg|TeamScore|byte, short}}&lt;br /&gt;
{{hl1msg|byte|TeamID}}&lt;br /&gt;
{{hl1msg|short|Score}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TechSlots =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= TextMsg =&lt;br /&gt;
{{ModList||cstrike|czero|dod|dmc|gearbox|ns|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
This message prints a custom or predefined text message.&amp;lt;br&amp;gt;&lt;br /&gt;
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:&lt;br /&gt;
 Arg1: 1&lt;br /&gt;
 Arg2: #Game_join_ct&lt;br /&gt;
 Arg3: Pimp Daddy&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|TextMsg|byte, string, string, string, string, string}}&lt;br /&gt;
{{hl1msg|byte|DestinationType}}&lt;br /&gt;
{{hl1msg|string|Message}}&lt;br /&gt;
{{hl1msg|string|Submsg}}&lt;br /&gt;
{{hl1msg|string|Submsg}}&lt;br /&gt;
{{hl1msg|string|Submsg}}&lt;br /&gt;
{{hl1msg|string|Submsg}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TimeEnd =&lt;br /&gt;
{{ModList||svencoop}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= TimeLeft =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= TimerStatus =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= ToxicCloud =&lt;br /&gt;
{{ModList||svencoop}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= TracerDecal =&lt;br /&gt;
{{ModList||svencoop}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Train =&lt;br /&gt;
{{ModList||cstrike|czero|dmc|gearbox|ns|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
This message displays the speed bar used for controlling a train.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Speed is as follows: 0 (disable display), 1 (neutral), 2 (slow speed), 3 (medium speed), 4 (maximum speed), 5 (reverse)}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|Train|byte}}&lt;br /&gt;
{{hl1msg|byte|Speed}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TurretLaser =&lt;br /&gt;
{{ModList||svencoop}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= TutorClose =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
This message closes all CZ-style tutor popups.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|TutorClose}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TutorLine =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|TutorLine}}&lt;br /&gt;
{{hl1msg|short|Unknown1}}&lt;br /&gt;
{{hl1msg|short|Unknown2}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TutorState =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|TutorState }}&lt;br /&gt;
{{hl1msg|string|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TutorText =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
This message is used to display a CZ-style tutor popup.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|If NumberOfSubMsgs is higher than 0, there should be such amount of write_string after this byte.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|TutorMessageEventId is indexed as listed in czero/tutordata.txt and starts from 0}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|IsDead is the message receiver alive status}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 DEFAULT		1	// 1&amp;lt;&amp;lt;0 | GREEN  | INFO&lt;br /&gt;
 FRIENDDEATH	2	// 1&amp;lt;&amp;lt;1 | RED    | SKULL&lt;br /&gt;
 ENEMYDEATH	4	// 1&amp;lt;&amp;lt;2 | BLUE   | SKULL&lt;br /&gt;
 SCENARIO	8	// 1&amp;lt;&amp;lt;3 | YELLOW | INFO&lt;br /&gt;
 BUY		16	// 1&amp;lt;&amp;lt;4 | GREEN  | INFO&lt;br /&gt;
 CAREER		32	// 1&amp;lt;&amp;lt;5 | GREEN  | INFO&lt;br /&gt;
 HINT		64	// 1&amp;lt;&amp;lt;6 | GREEN  | INFO&lt;br /&gt;
 INGAMEHINT	128	// 1&amp;lt;&amp;lt;7 | GREEN  | INFO&lt;br /&gt;
 ENDGAME		256	// 1&amp;lt;&amp;lt;8 | YELLOW | INFO&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|TutorText|string, byte, short, short, short}}&lt;br /&gt;
{{hl1msg|string|String}}&lt;br /&gt;
{{hl1msg|byte|NumberOfSubMsgs}}&lt;br /&gt;
{{hl1msg|string|SubMessage}}&lt;br /&gt;
{{hl1msg|string|...}}&lt;br /&gt;
{{hl1msg|short|TutorMessageEventId}}&lt;br /&gt;
{{hl1msg|short|IsDead}}&lt;br /&gt;
{{hl1msg|short|Type}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= UseSound =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= ValClass =&lt;br /&gt;
{{ModList||tfc}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= VGUIMenu =&lt;br /&gt;
{{ModList||cstrike|czero|dod|gearbox|svencoop|tfc|}}&lt;br /&gt;
&lt;br /&gt;
This message displays a predefined VGUI menu.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|VGUIMenu|byte, short, char, byte, string}}&lt;br /&gt;
{{hl1msg|byte|MenuID}}&lt;br /&gt;
{{hl1msg|short|KeysBitSum}}&lt;br /&gt;
{{hl1msg|char|Time?}}&lt;br /&gt;
{{hl1msg|byte|Multipart?}}&lt;br /&gt;
{{hl1msg|string|Name?}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ViewMode =&lt;br /&gt;
{{ModList||cstrike|czero|tfc}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message (HLSDK says this switches to first-person view, but it doesn't seem to function as so).}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|ViewMode}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= VoiceMask =&lt;br /&gt;
{{ModList||cstrike|czero|dod|dmc|ns|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
This message tells a client whom they can hear over the microphone.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|VoiceMask|long, long}}&lt;br /&gt;
{{hl1msg|long|AudiblePlayersIndexBitSum}}&lt;br /&gt;
{{hl1msg|long|ServerBannedPlayersIndexBitSum}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= VoteMenu =&lt;br /&gt;
{{ModList||svencoop}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= WaveStatus =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= WaveTime =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= WeaponList =&lt;br /&gt;
{{ModList||cstrike|czero|dod|dmc|gearbox|ns|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
This message configures the [[HUD]] weapons list.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This is fired on map initialization.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|SlotID starts from 0.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Flags (from HLSDK):&lt;br /&gt;
 ITEM_FLAG_SELECTONEMPTY       1&lt;br /&gt;
 ITEM_FLAG_NOAUTORELOAD        2&lt;br /&gt;
 ITEM_FLAG_NOAUTOSWITCHEMPTY   4&lt;br /&gt;
 ITEM_FLAG_LIMITINWORLD        8&lt;br /&gt;
 ITEM_FLAG_EXHAUSTIBLE        16 // A player can totally exhaust their ammo supply and lose this weapon.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|See [[CS Weapons Information]] for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|WeaponList|string, byte, byte, byte, byte, byte, byte, byte, byte}}&lt;br /&gt;
{{hl1msg|string|WeaponName}}&lt;br /&gt;
{{hl1msg|byte|PrimaryAmmoID}}&lt;br /&gt;
{{hl1msg|byte|PrimaryAmmoMaxAmount}}&lt;br /&gt;
{{hl1msg|byte|SecondaryAmmoID}}&lt;br /&gt;
{{hl1msg|byte|SecondaryAmmoMaxAmount}}&lt;br /&gt;
{{hl1msg|byte|SlotID}}&lt;br /&gt;
{{hl1msg|byte|NumberInSlot}}&lt;br /&gt;
{{hl1msg|byte|WeaponID}}&lt;br /&gt;
{{hl1msg|byte|Flags}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= WeapPickup =&lt;br /&gt;
{{ModList||cstrike|czero|dod|dmc|gearbox|ns|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
This message temporarily draws the corresponding weapon [[HUD]] icon in the middle of the right side of the screen.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Draw time depends on the ''hud_drawhistory_time'' client CVar value.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|This is fired right before weapon is picked up (notice ''&amp;quot;before&amp;quot;'').}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|See [[CS Weapons Information]] for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|WeapPickup|byte}}&lt;br /&gt;
{{hl1msg|byte|WeaponID}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Weather =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= WeatherFX =&lt;br /&gt;
{{ModList||svencoop}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= YouDied =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
This message is sent to a player when they die.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|YouDied|byte}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;/div&gt;</summary>
		<author><name>ConnorMcLeod</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.alliedmods.net/index.php?title=Half-Life_1_Game_Events&amp;diff=9511</id>
		<title>Half-Life 1 Game Events</title>
		<link rel="alternate" type="text/html" href="https://wiki.alliedmods.net/index.php?title=Half-Life_1_Game_Events&amp;diff=9511"/>
		<updated>2014-02-18T07:17:54Z</updated>

		<summary type="html">&lt;p&gt;ConnorMcLeod: /* SpecHealth */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Half-Life 1]]&lt;br /&gt;
[[Category:Scripting (AMX Mod X)]]&lt;br /&gt;
&lt;br /&gt;
= Introduction =&lt;br /&gt;
&lt;br /&gt;
In [[AMX Mod X]] you are able to hook in-game messages/events with [http://www.amxmodx.org/funcwiki.php?search=register_message&amp;amp;go=search register_message] / [http://www.amxmodx.org/funcwiki.php?go=func&amp;amp;id=26 register_event]. Here are the list of messages/events and their arguments which can be read with [http://www.amxmodx.org/funcwiki.php?search=get_msg_arg_&amp;amp;go=search get_msg_arg_*] / [http://www.amxmodx.org/funcwiki.php?go=func&amp;amp;id=132 read_data].&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
*See the [[Advanced Scripting (AMX Mod X)#Events.2FMessages|Advanced Scripting]] article for more on events and messages.&amp;lt;br&amp;gt;&lt;br /&gt;
*See messages.inc and message_const.inc from amxmodx/scriptong/include folder or [http://www.amxmodx.org/funcwiki.php?go=inc&amp;amp;id=47 Messaging functions] and [http://www.amxmodx.org/funcwiki.php?go=inc&amp;amp;id=48 Message constants] for full messages control including blocking, argument alteration and much more.&amp;lt;br&amp;gt;&lt;br /&gt;
*Type ''meta game'' in the server console to list messages for the current mod.&lt;br /&gt;
*Damaged Soul's [http://forums.alliedmods.net/showthread.php?p=66267 Message Logging plugin] for AMX Mod X can be used to log messages and their parameters on a live server.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= ADStop =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|ADStop}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= AlienInfo =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= AllowSpec =&lt;br /&gt;
{{ModList||cstrike|czero|gearbox|tfc}}&lt;br /&gt;
&lt;br /&gt;
This message changes whether or not &amp;quot;SPECTATE&amp;quot; appears on the change team menu. It is sent whenever the allow_spectators CVar is changed, with its new value sent as the byte.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This changes how the change team menu appears, but spectating functionality is based on the actual CVar value.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|AllowSpec|byte}}&lt;br /&gt;
{{hl1msg|byte|Allowed}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= AmmoPickup =&lt;br /&gt;
{{ModList||cstrike|czero|dod|dmc|gearbox|ns|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
This message temporarily draws [[HUD]] numerical ammo amount and corresponding ammo [[HUD]] icon in the middle of the right side of the screen.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Draw time depends on the ''hud_drawhistory_time'' client CVar value.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|See [[CS Weapons Information]] for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|AmmoPickup|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|AmmoID}}&lt;br /&gt;
{{hl1msg|byte|Ammount}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= AmmoShort =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= AmmoX =&lt;br /&gt;
{{ModList||cstrike|czero|dod|dmc|gearbox|ns|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
This message updates the green bar indicator in the [[HUD]] weapons list. It also updates [[HUD]] backpack ammo number in the lower right corner of the screen if the given ammo type is compatible with the current weapon.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|See [[CS Weapons Information]] for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|AmmoX|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|AmmoID}}&lt;br /&gt;
{{hl1msg|byte|Ammount}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ArmorType =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
This message draws/removes the helmet [[HUD]] icon. If flag is set to 1, the helmet [[HUD]] icon will be drawn (located right on the armor icon).&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|ArmorType|byte}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BalanceVar =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= BarTime =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
This message 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.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Set Duration to 0 to hide the bar.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|BarTime|short}}&lt;br /&gt;
{{hl1msg|short|Duration}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BarTime2 =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
The message is the same as [[#BarTime|BarTime]], but StartPercent specifies how much of the bar is (already) filled.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Display time can be calculated with this formula: ''(1 - (StartPercent / 100)) / Duration''}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|BarTime2|short, short}}&lt;br /&gt;
{{hl1msg|short|Duration}}&lt;br /&gt;
{{hl1msg|short|StartPercent}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Battery =&lt;br /&gt;
{{ModList||cstrike|czero|dmc|gearbox|ns|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
This message updates the icon and numerical armor value on the [[HUD]].&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|Battery|short}}&lt;br /&gt;
{{hl1msg|short|Armor}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Bench =&lt;br /&gt;
{{ModList||tfc}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= BlinkAcct =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
This message makes a player's money display flash rapidly, a total of BlinkAmt times.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|BlinkAcct|byte}}&lt;br /&gt;
{{hl1msg|byte|BlinkAmt}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BlipList =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= BloodPuff =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
This message creates a puff of blood at the specified coordinates.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|BloodPuff|coord, coord, coord}}&lt;br /&gt;
{{hl1msg|coord|CoordX}}&lt;br /&gt;
{{hl1msg|coord|CoordY}}&lt;br /&gt;
{{hl1msg|coord|CoordZ}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BombDrop =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
This message is sent when the bomb is dropped or planted by a player.&lt;br /&gt;
&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|BombDrop|coord, coord, coord, byte}}&lt;br /&gt;
{{hl1msg|coord|CoordX}}&lt;br /&gt;
{{hl1msg|coord|CoordY}}&lt;br /&gt;
{{hl1msg|coord|CoordZ}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BombPickup =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|BombPickup}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BotProgress =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|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.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|BotProgress|byte, byte, string}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{hl1msg|byte|Progress}}&lt;br /&gt;
{{hl1msg|string|Header}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BotVoice =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
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 &amp;lt;i&amp;gt;can&amp;lt;/i&amp;gt; specify a regular player (non-bot) for the PlayerIndex. Status is 1 for talking, or 0 for not talking.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|BotVoice|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|Status}}&lt;br /&gt;
{{hl1msg|byte|PlayerIndex}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Brass =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
This message creates a brass shell. Used, for example, by the AWP, after firing.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|Brass|byte, coord, coord, coord, coord, coord, coord, coord, coord, coord, angle, short, byte, byte, byte}}&lt;br /&gt;
{{hl1msg|byte|MessageID}}&lt;br /&gt;
{{hl1msg|coord|StartX}}&lt;br /&gt;
{{hl1msg|coord|StartY}}&lt;br /&gt;
{{hl1msg|coord|StartZ}}&lt;br /&gt;
{{hl1msg|coord|VelocityX?}}&lt;br /&gt;
{{hl1msg|coord|VelocityY?}}&lt;br /&gt;
{{hl1msg|coord|VelocityZ?}}&lt;br /&gt;
{{hl1msg|coord|UnknownX}}&lt;br /&gt;
{{hl1msg|coord|UnknownY}}&lt;br /&gt;
{{hl1msg|coord|UnknownZ}}&lt;br /&gt;
{{hl1msg|angle|Rotation}}&lt;br /&gt;
{{hl1msg|short|ModelIndex}}&lt;br /&gt;
{{hl1msg|byte|BounceSoundType}}&lt;br /&gt;
{{hl1msg|byte|Life}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BuildSt =&lt;br /&gt;
{{ModList||tfc}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= BuyClose =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
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).&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|BuyClose}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Camera =&lt;br /&gt;
{{ModList||svencoop}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= CameraMouse =&lt;br /&gt;
{{ModList||svencoop}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= CameraView =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= CancelProg =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= CapMsg =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
This displays a message like &amp;quot;Player captured the Allied plaza for the Axis&amp;quot;. An example PointName is ''POINT_CAEN_AXISPLAZA''.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|CapMsg|byte, string, byte}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{hl1msg|string|PointName}}&lt;br /&gt;
{{hl1msg|byte|TeamID}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= CbElec =&lt;br /&gt;
{{ModList||svencoop}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= ClanTimer =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= ClCorpse =&lt;br /&gt;
{{ModList||cstrike|czero|dod}}&lt;br /&gt;
&lt;br /&gt;
This message spawns a player's corpse. ModelName is the player's model name, for example: &amp;quot;leet&amp;quot;. Delay is a delay before animation playback, which can be a negative value.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Coord and Delay is multiplied by 128.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|In CS, argument #10 is always equal to 0.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*See [http://www.amxmodx.org/funcwiki.php?go=module&amp;amp;id=4#const_teams CS Team Constants] for team indices constants list.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|ClCorpse|string, long, long, long, coord, coord, coord, long, byte, byte, byte, byte}}&lt;br /&gt;
{{hl1msg|string|ModelName}}&lt;br /&gt;
{{hl1msg|long|CoordX}}&lt;br /&gt;
{{hl1msg|long|CoordY}}&lt;br /&gt;
{{hl1msg|long|CoordZ}}&lt;br /&gt;
{{hl1msg|coord|Angle0}}&lt;br /&gt;
{{hl1msg|coord|Angle1}}&lt;br /&gt;
{{hl1msg|coord|Angle2}}&lt;br /&gt;
{{hl1msg|long|Delay}}&lt;br /&gt;
{{hl1msg|byte|Sequence}}&lt;br /&gt;
{{hl1msg|byte|ClassID?}}&lt;br /&gt;
{{hl1msg|byte|TeamID}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ClientAreas =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= ClScript =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Concuss =&lt;br /&gt;
{{ModList||tfc}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Countdown =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= CreateBlood =&lt;br /&gt;
{{ModList||svencoop}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Crosshair =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
This message draws/removes a crosshair. If Flag is set to 1 the crosshair will be drawn.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This crosshair looks not like the regular one, but like the one that is drawn in spectator mode.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|Crosshair|byte}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= CTFScore =&lt;br /&gt;
{{ModList||gearbox}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= CurMarker =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= CurWeapon =&lt;br /&gt;
{{ModList||cstrike|czero|dod|dmc|gearbox|ns|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
This message updates the numerical magazine ammo count and the corresponding ammo type icon on the [[HUD]].&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|See [[CS Weapons Information]] for more information on Counter-Strike weapons.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|CurWeapon|byte, byte, byte}}&lt;br /&gt;
{{hl1msg|byte|IsActive}}&lt;br /&gt;
{{hl1msg|byte|WeaponID}}&lt;br /&gt;
{{hl1msg|byte|ClipAmmo}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= CustomIcon =&lt;br /&gt;
{{ModList||gearbox}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= CZCareer =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
This message supplies certain updates to the player regarding Condition Zero single-player missions.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|See the [[CZCareer]] page for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|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).}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|The Type argument is case-sensitive.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|This event does nothing in CS and CZ multiplayer.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|CZCareer|string,*}}&lt;br /&gt;
{{hl1msg|string|Type}}&lt;br /&gt;
{{hl1msg|*|Parameters}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= CZCareerHUD =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
This message displays certain [[HUD]] elements regarding Condition Zero single-player missions.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|See the [[CZCareerHUD]] page for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|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).}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|The Type argument is case-sensitive.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|This event has some limited functionality in CS and CZ multi-player (albeit better in CZ).}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|CZCareerHUD|string,*}}&lt;br /&gt;
{{hl1msg|string|Type}}&lt;br /&gt;
{{hl1msg|*|Parameters}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Damage =&lt;br /&gt;
{{ModList||cstrike|czero|dmc|gearbox|ns|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|To capture this message, you should use &amp;quot;b&amp;quot; as the third parameter in the register_event() function.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|Damage|byte, byte, long, coord, coord, coord}}&lt;br /&gt;
{{hl1msg|byte|DamageSave}}&lt;br /&gt;
{{hl1msg|byte|DamageTake}}&lt;br /&gt;
{{hl1msg|long|DamageType}}&lt;br /&gt;
{{hl1msg|coord|CoordX}}&lt;br /&gt;
{{hl1msg|coord|CoordY}}&lt;br /&gt;
{{hl1msg|coord|CoordZ}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= DeathMsg =&lt;br /&gt;
{{ModList||cstrike|czero|dod|dmc|gearbox|ns|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
It also prints the console text message &amp;quot;KillerName killed VictimName with TruncatedWeaponName&amp;quot; or &amp;quot;*** KillerName killed VictimName with a headshot from TruncatedWeaponName ***&amp;quot;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has different parameters depending upon the mod.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|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 &amp;quot;trigger_hurt&amp;quot; entity, in which cases TruncatedWeaponName will be &amp;quot;worldspawn&amp;quot; and &amp;quot;trigger_hurt&amp;quot; respectively.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|For vehicle kills, TruncatedWeaponName could be &amp;quot;vehicle&amp;quot;, &amp;quot;tank&amp;quot;, etc.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|In some mods, TruncatedWeaponName is &amp;quot;teammate&amp;quot; for a team kill, which shows a green skull in the HUD message.}}&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|DeathMsg|byte, byte, byte, string}}&lt;br /&gt;
{{hl1msg|byte|KillerID}}&lt;br /&gt;
{{hl1msg|byte|VictimID}}&lt;br /&gt;
{{hl1msg|string|TruncatedWeaponName}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
== Counter-Strike ==&lt;br /&gt;
{{qnotice|TruncatedWeaponName doesn't contain a &amp;quot;weapon_&amp;quot; prefix. See [[CS Weapons Information]] for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|For a grenade kill, TruncatedWeaponName isn't &amp;quot;hegrenade&amp;quot;, but rather &amp;quot;grenade&amp;quot;, which is the actual classname of a thrown grenade.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|DeathMsg|byte, byte, byte, string}}&lt;br /&gt;
{{hl1msg|byte|KillerID}}&lt;br /&gt;
{{hl1msg|byte|VictimID}}&lt;br /&gt;
{{hl1msg|byte|IsHeadshot}}&lt;br /&gt;
{{hl1msg|string|TruncatedWeaponName}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
== Day of Defeat ==&lt;br /&gt;
{{begin-hl1msg|DeathMsg|byte, byte, byte, string}}&lt;br /&gt;
{{hl1msg|byte|KillerID}}&lt;br /&gt;
{{hl1msg|byte|VictimID}}&lt;br /&gt;
{{hl1msg|byte|WeaponID}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= DebugCSP =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= DelEntHier =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= DelParts =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Detpack =&lt;br /&gt;
{{ModList||tfc}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= EditPS =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= EndRnd =&lt;br /&gt;
{{ModList||ricochet}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= EntHier =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Feign =&lt;br /&gt;
{{ModList||tfc}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= FlagIcon =&lt;br /&gt;
{{ModList||gearbox}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= FlagTimer =&lt;br /&gt;
{{ModList||gearbox}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= FlashBat =&lt;br /&gt;
{{ModList||cstrike|czero|dmc|gearbox|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
This message updates the flashlight battery charge on the [[HUD]].&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|FlashBat|byte}}&lt;br /&gt;
{{hl1msg|byte|ChargePercentage}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Flashlight =&lt;br /&gt;
{{ModList||cstrike|czero|dmc|gearbox|ns|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|Flashlight|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{hl1msg|byte|ChargePercent}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Fog =&lt;br /&gt;
{{ModList||cstrike|czero|ns|svencoop}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|mp_Fog 1 for fog in Counter-Strike}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|Fog|byte, byte, byte}}&lt;br /&gt;
{{hl1msg|byte|FogValue}}&lt;br /&gt;
{{hl1msg|byte|FogValue}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ForceCam =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Even if mp_forcechasecam is set to 2, it is sent by this message as 1.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|ForceCam|byte, byte, byte}}&lt;br /&gt;
{{hl1msg|byte|ForcecamValue}}&lt;br /&gt;
{{hl1msg|byte|ForcechasecamValue}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Frags =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
This message sets a player's kills, as seen on the scoreboard. This message is only sent for the killer.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|Frags|byte, short}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{hl1msg|short|Kills}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Frozen =&lt;br /&gt;
{{ModList||ricochet}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= GameMode =&lt;br /&gt;
{{ModList||cstrike|czero|dmc|gearbox|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
This message informs the client of the current game mode.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|GameMode|byte}}&lt;br /&gt;
{{hl1msg|byte|Game mode}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= GameRules =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= GameStatus =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= GameTitle =&lt;br /&gt;
{{ModList||cstrike|czero|dmc|gearbox|ns|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|GameTitle|byte}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= GargSplash =&lt;br /&gt;
{{ModList||svencoop}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Geiger =&lt;br /&gt;
{{ModList||cstrike|czero|dmc|gearbox|ns|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|Geiger|byte}}&lt;br /&gt;
{{hl1msg|byte|Distance}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Gib =&lt;br /&gt;
{{ModList||svencoop}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= HandSignal =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Health =&lt;br /&gt;
{{ModList||cstrike|czero|dod|dmc|gearbox|ns|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
This message updates the numerical health value on the [[HUD]].&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|Health|byte}}&lt;br /&gt;
{{hl1msg|byte|Health}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= HideWeapon =&lt;br /&gt;
{{ModList||cstrike|czero|dod|dmc|gearbox|ns|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
This message hides the specified [[HUD]] elements.&amp;lt;br&amp;gt;&lt;br /&gt;
Flags:&lt;br /&gt;
   1   (1&amp;lt;&amp;lt;0)  -  crosshair, ammo, weapons list&lt;br /&gt;
   2   (1&amp;lt;&amp;lt;1)  -  flashlight, +&lt;br /&gt;
   4   (1&amp;lt;&amp;lt;2)  -  ALL&lt;br /&gt;
   8   (1&amp;lt;&amp;lt;3)  -  radar, health, armor, +&lt;br /&gt;
  16   (1&amp;lt;&amp;lt;4)  -  timer, +&lt;br /&gt;
  32   (1&amp;lt;&amp;lt;5)  -  money, +&lt;br /&gt;
  64   (1&amp;lt;&amp;lt;6)  -  crosshair&lt;br /&gt;
 128   (1&amp;lt;&amp;lt;7)  -  +&lt;br /&gt;
Symbol + mean that an additional crosshair will be drawn. That crosshair looks exactly like the one from Crosshair message.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|HideWeapon|byte}}&lt;br /&gt;
{{hl1msg|byte|Flags}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= HLTV =&lt;br /&gt;
{{ModList||cstrike|czero|dod|}}&lt;br /&gt;
&lt;br /&gt;
This message is sent for HLTV and is unique for each round-start.&amp;lt;br&amp;gt;&lt;br /&gt;
On new round is fired 2 messages:&lt;br /&gt;
 // reset all players health for HLTV&lt;br /&gt;
 MESSAGE_BEGIN( MSG_SPEC, gmsgHLTV );&lt;br /&gt;
 WRITE_BYTE( 0 );   // 0 = all players&lt;br /&gt;
 WRITE_BYTE( 100 | 128 );&lt;br /&gt;
 MESSAGE_END();&amp;lt;br&amp;gt;&lt;br /&gt;
 // reset all players FOV for HLTV&lt;br /&gt;
 MESSAGE_BEGIN( MSG_SPEC, gmsgHLTV );&lt;br /&gt;
 WRITE_BYTE( 0 );   // all players&lt;br /&gt;
 WRITE_BYTE( 0 );&lt;br /&gt;
 MESSAGE_END();&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|HLTV|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|ClientID}}&lt;br /&gt;
{{hl1msg|byte|Flags}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= HostageK =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
This message temporarily draws a blinking red dot on the CT players' radar when a hostage is killed.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|HostageK|byte}}&lt;br /&gt;
{{hl1msg|byte|HostageID}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= HostagePos =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
This message draws/updates the blue mark on the CT players' radar which indicates the corresponding hostage's position.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|It is called with Flag set to 1 on player [[HUD]] full update.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|HostagePos|byte, byte, coord, coord, coord}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{hl1msg|byte|HostageID}}&lt;br /&gt;
{{hl1msg|coord|CoordX}}&lt;br /&gt;
{{hl1msg|coord|CoordY}}&lt;br /&gt;
{{hl1msg|coord|CoordZ}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= HudColor =&lt;br /&gt;
{{ModList||gearbox}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= HudText =&lt;br /&gt;
{{ModList||cstrike|czero|dod|dmc|gearbox|ns|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
This message prints [[HUD]] text.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Prints message with specified style in titles.txt with small signs (like in HL)}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|HudText|string, byte, byte}}&lt;br /&gt;
{{hl1msg|string|TextCode}}&lt;br /&gt;
{{hl1msg|byte|InitHUDstyle}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= HudText2 =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= HudTextArgs =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
This message prints [[HUD]] text.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|An example of TextCode could be &amp;quot;#Hint_you_have_the_bomb&amp;quot;.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|Prints message with specified style in titles.txt with Big signs (CS Default)}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|If you have problems specifying the last two arguments, use 1 and 0 respectively.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|HudTextArgs|string, byte, byte}}&lt;br /&gt;
{{hl1msg|string|TextCode}}&lt;br /&gt;
{{hl1msg|byte|InitHUDstyle}}&lt;br /&gt;
{{hl1msg|byte|NumberOfSubMessages}}&lt;br /&gt;
{{hl1msg|string|SubMsg}}&lt;br /&gt;
{{hl1msg|string|SubMsg}}&lt;br /&gt;
{{hl1msg|string|...}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= HudTextPro =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
This message prints [[HUD]] text.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Prints message with specified style in titles.txt with Big signs (CS Default)}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|HudText|string, byte, byte}}&lt;br /&gt;
{{hl1msg|string|TextCode}}&lt;br /&gt;
{{hl1msg|byte|InitHUDstyle}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= InitHUD =&lt;br /&gt;
{{ModList||cstrike|czero|dod|dmc|gearbox|ns|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
This message initializes the [[HUD]].&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|InitHUD}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= InitObj =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
This message updates the flags (axis/allies/objective flags, not programming flags) displayed to the client when a point is captured.&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|InitObj|byte,*,*}}&lt;br /&gt;
{{hl1msg|byte|TotalObjectives}}&lt;br /&gt;
{{hl1msg|Objective|...}}&lt;br /&gt;
{{hl1msg|...|}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
''TotalObjectives'' represents the number of ''Objective'' sub-messages that are present. Each ''Objective'' sub-message is in the following format:&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|Objective|short, byte, byte, byte, byte, byte, byte, coord, coord}}&lt;br /&gt;
{{hl1msg|short|EntityID?}}&lt;br /&gt;
{{hl1msg|byte|ObjectiveID?}}&lt;br /&gt;
{{hl1msg|byte|TeamID}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{hl1msg|coord|CoordX?}}&lt;br /&gt;
{{hl1msg|coord|CoordY?}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
If a map has 5 objectives, this message will have 46 arguments (1 + 5 * 9).&lt;br /&gt;
&lt;br /&gt;
= IssueOrder =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= ItemPickup =&lt;br /&gt;
{{ModList||cstrike|czero|dmc|gearbox|ns|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
This message temporarily draws a corresponding item [[HUD]] icon in the middle of the right side of the screen.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Draw time is dependent on the ''hud_drawhistory_time'' client CVar value.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|ItemPickup|string}}&lt;br /&gt;
{{hl1msg|string|ItemName}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Items =&lt;br /&gt;
{{ModList||tfc}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= ItemStatus =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
This message notifies the client about carried items.&amp;lt;br&amp;gt;&lt;br /&gt;
Example of some item bits:&lt;br /&gt;
 1   (1&amp;lt;&amp;lt;0)  -  nightvision goggles&lt;br /&gt;
 2   (1&amp;lt;&amp;lt;1)  -  defusal kit&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|ItemStatus|byte}}&lt;br /&gt;
{{hl1msg|byte|ItemsBitSum}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ListPS =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Location =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
This message is sent when a player changes zones on a map.&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|Location|byte, string}}&lt;br /&gt;
{{hl1msg|byte|PlayerId}}&lt;br /&gt;
{{hl1msg|string|LocationName}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= MapList =&lt;br /&gt;
{{ModList||svencoop}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= MapMarker =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= MiniMap =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Money =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
This message updates the amount of money on the [[HUD]]. If the Flag is 1, the amount of money added will also be displayed.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|Money|long, byte}}&lt;br /&gt;
{{hl1msg|long|Amount}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Monitor =&lt;br /&gt;
{{ModList||svencoop}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= MOTD =&lt;br /&gt;
{{ModList||cstrike|czero|dod|dmc|gearbox|ns|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
This message displays the MOTD window.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Max. Text length is 60. A larger MOTD is sent in multiple messages. Flag will be set to 1 for the final segment.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|MOTD|byte, string}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{hl1msg|string|Text}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= NextMap =&lt;br /&gt;
{{ModList||svencoop}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= NexusBytes =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= NVGToggle =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
This message toggles night vision mode. For Flag: 1 is on, 0 is off.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|NVGToggle|byte}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Object =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
This message is sent when a player picks up certain objects. The specified sprite will be displayed on the left side of the [[HUD]]. An example Sprite is ''sprites/mapsprites/ae_satchel2.spr''.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|Object|string}}&lt;br /&gt;
{{hl1msg|string|Sprite}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ObjScore =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
This message sets a player's score, as seen on the scoreboard.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|ObjScore|byte, short}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{hl1msg|short|Score}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= OldWeapon =&lt;br /&gt;
{{ModList||gearbox}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Particles =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= PClass =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|PClass|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|PlayerID?}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= PlayerIcon =&lt;br /&gt;
{{ModList||gearbox}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= PlayersIn =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= PlayHUDNot =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Playlist =&lt;br /&gt;
{{ModList||svencoop}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= PlyrBrowse =&lt;br /&gt;
{{ModList||gearbox}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Portal =&lt;br /&gt;
{{ModList||svencoop}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Powerup =&lt;br /&gt;
{{ModList||ricochet}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= ProfileInfo =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Progress =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= ProgUpdate =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= PShoot =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= PStatus =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
This message is sent along with [[#Object|Object]] when a player picks up an object. It may have other uses. When I picked up a satchel charge, the Unknown value was 5.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|PStatus|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|PlayerID?}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= PTeam =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= QItems =&lt;br /&gt;
{{ModList||dmc}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Radar =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
This message draws/updates the dot on the [[HUD]] radar which indicates the given player position.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This works for teammates only.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|Radar|byte, coord, coord, coord}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{hl1msg|coord|CoordX}}&lt;br /&gt;
{{hl1msg|coord|CoordY}}&lt;br /&gt;
{{hl1msg|coord|CoordZ}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= RampSprite =&lt;br /&gt;
{{ModList||svencoop}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= RandomPC =&lt;br /&gt;
{{ModList||tfc}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= ReceiveW =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
This message tells the client which visual weather effect to be executed client side, if client's cl_weather CVar is above 0.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Main part of CBasePlayer::SendWeatherInfo() function that is sent in CBasePlayer :: UpdateClientData() when player offset m_fInitHUD is 1&amp;lt;br&amp;gt;&lt;br /&gt;
(right after putinserver or after fullupdate command)&amp;lt;br&amp;gt;&lt;br /&gt;
Mode: 1 is for rain effect, 2 is for snow effect&amp;lt;br&amp;gt;&lt;br /&gt;
Though mode 0 is never sent by the game itself, it removes the weather effect.&amp;lt;br&amp;gt;&lt;br /&gt;
Alternatively send mode 1 and mode 2 with judicious delays (time for effect to disappear) to make both rain and snow effect}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|ReceiveW|byte}}&lt;br /&gt;
{{hl1msg|byte|Mode}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ReloadDone =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= ReloadSound =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
This message plays generic reload sounds.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Setting IsNotShotgun to 1 will play weapons/generic_reload.wav}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|Setting IsNotShotgun to 0 will play weapons/generic_shot_reload.wav}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|ReloadSound|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|Volume * 255}}&lt;br /&gt;
{{hl1msg|byte|IsNotShotgun}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ReqState =&lt;br /&gt;
{{ModList||cstrike|czero|dod|dmc|ns|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|ReqState}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ResetFade =&lt;br /&gt;
{{ModList||tfc}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= ResetHUD =&lt;br /&gt;
{{ModList||cstrike|czero|dod|dmc|gearbox|ns|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
This message resets the [[HUD]].&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|ResetHUD}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ResetSens =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
This message resets the client's sensitivity?&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|ResetSens}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Reward =&lt;br /&gt;
{{ModList||ricochet}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= RoundState =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= RoundTime =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
This message updates the round timer on the [[HUD]]. Time is in seconds.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|RoundTime|short}}&lt;br /&gt;
{{hl1msg|short|Time}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SayText =&lt;br /&gt;
{{ModList||cstrike|czero|dod|dmc|gearbox|ns|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
Examples of predefined Counter-Strike string values include #Cstrike_Chat_AllDead and #Cstrike_Name_Change.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|For #Cstrike_Name_Change String2 is an old name and String3 is a new name.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SayText|byte, string, string, string}}&lt;br /&gt;
{{hl1msg|byte|SenderID}}&lt;br /&gt;
{{hl1msg|string|String1}}&lt;br /&gt;
{{hl1msg|string|String2}}&lt;br /&gt;
{{hl1msg|string|String3}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Scenario =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[image:Cs_scenario_msg.jpg|frame|right|Scenario message in CS, using the following parameters: 1, d_mp5navy, 150]]&lt;br /&gt;
&lt;br /&gt;
{{qnotice|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.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|This works in both CS and CZ!}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|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.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|Scenario|byte, string, byte, short, short}}&lt;br /&gt;
{{hl1msg|byte|Active}}&lt;br /&gt;
{{hl1msg|string|Sprite}}&lt;br /&gt;
{{hl1msg|byte|Alpha}}&lt;br /&gt;
{{hl1msg|short|FlashRate}}&lt;br /&gt;
{{hl1msg|short|FlashDelay}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Scope =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|Scope|byte}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ScoreAttrib =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
This message updates the scoreboard attribute for the specified player. For the 2nd argument, 0 is nothing, (1&amp;lt;&amp;lt;0) i.e. 1 is dead, (1&amp;lt;&amp;lt;1) i.e. 2 is bomb, (1&amp;lt;&amp;lt;2) i.e. 4 is VIP.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|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.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|ScoreAttrib|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{hl1msg|byte|Flags}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ScoreInfo =&lt;br /&gt;
{{ModList||cstrike|czero|dod|dmc|gearbox|ns|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
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. In Team Fortress Classic, the score is based on the number of kills, suicides, and captures. Day of Defeat uses [[#ScoreShort|ScoreShort]] and [[#ObjScore|ObjScore]] instead of this message to update score and deaths.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|In CS the 4th argument (ClassID) is always equal to 0.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*See [http://www.amxmodx.org/funcwiki.php?go=module&amp;amp;id=4#const_teams CS Team Constants] for team indices constants list.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|ScoreInfo|byte, short, short, short, short}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{hl1msg|short|Score}}&lt;br /&gt;
{{hl1msg|short|Deaths}}&lt;br /&gt;
{{hl1msg|short|ClassID}}&lt;br /&gt;
{{hl1msg|short|TeamID}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ScoreInfoLong =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Although Metamod lists this message, it doesn't appear to be used or even a valid message name.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= ScoreShort =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
This message updates a player's Score, Kills, and Deaths as seen on the scoreboard. This message is only sent for the victim.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|The fifth argument appears to be the same as the ''refresh'' parameter used in [http://amxmodx.org/doc/source/functions/dodfun/dod_set_pl_deaths.htm dod_set_pl_deaths] and was always 1 in my testing.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|ScoreShort|byte, short, short, short, byte}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{hl1msg|short|Score}}&lt;br /&gt;
{{hl1msg|short|Kills}}&lt;br /&gt;
{{hl1msg|short|Deaths}}&lt;br /&gt;
{{hl1msg|short|Refresh?}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ScreenFade =&lt;br /&gt;
{{ModList||cstrike|czero|dod|dmc|gearbox|ns|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
This message fades the screen.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Duration and HoldTime is in special units. 1 second is equal to (1&amp;lt;&amp;lt;12) i.e. 4096 units.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Flags (from HLSDK):&lt;br /&gt;
 FFADE_IN         0x0000 // Just here so we don't pass 0 into the function&lt;br /&gt;
 FFADE_OUT        0x0001 // Fade out (not in)&lt;br /&gt;
 FFADE_MODULATE   0x0002 // Modulate (don't blend)&lt;br /&gt;
 FFADE_STAYOUT    0x0004 // ignores the duration, stays faded out until new ScreenFade message received&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|ScreenFade|short, short, short, byte, byte, byte, byte}}&lt;br /&gt;
{{hl1msg|short|Duration}}&lt;br /&gt;
{{hl1msg|short|HoldTime}}&lt;br /&gt;
{{hl1msg|short|Flags}}&lt;br /&gt;
{{hl1msg|byte|ColorR}}&lt;br /&gt;
{{hl1msg|byte|ColorG}}&lt;br /&gt;
{{hl1msg|byte|ColorB}}&lt;br /&gt;
{{hl1msg|byte|Alpha}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ScreenShake =&lt;br /&gt;
{{ModList||cstrike|czero|dod|dmc|gearbox|ns|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
This message shakes the screen.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|All arguments is in special units. 1 second is equal to (1&amp;lt;&amp;lt;12) i.e. 4096 units.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|ScreenShake|short, short, short}}&lt;br /&gt;
{{hl1msg|short|Amplitude}}&lt;br /&gt;
{{hl1msg|short|Duration}}&lt;br /&gt;
{{hl1msg|short|Frequency}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SecAmmoIcon =&lt;br /&gt;
{{ModList||tfc}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= SecAmmoVal =&lt;br /&gt;
{{ModList||tfc}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= SelAmmo =&lt;br /&gt;
{{ModList||dmc|gearbox|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= SendAudio =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
This message plays the specified audio. An example of AudioCode could be &amp;quot;%!MRAD_rounddraw&amp;quot;.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SendAudio|byte, string, short}}&lt;br /&gt;
{{hl1msg|byte|SenderID}}&lt;br /&gt;
{{hl1msg|string|AudioCode}}&lt;br /&gt;
{{hl1msg|short|Pitch}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ServerName =&lt;br /&gt;
{{ModList||cstrike|czero|dod|dmc|gearbox|ns|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
This message sends the server name to a client.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|ServerName|string}}&lt;br /&gt;
{{hl1msg|string|ServerName}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ServerVar =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= SetFOV =&lt;br /&gt;
{{ModList||cstrike|czero|dod|dmc|gearbox|ns|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
This message sets the specified field of view.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SetFOV|byte}}&lt;br /&gt;
{{hl1msg|byte|Degrees}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SetGmma =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= SetMenuTeam =&lt;br /&gt;
{{ModList||gearbox}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= SetObj =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SetObj|byte, byte, byte}}&lt;br /&gt;
{{hl1msg|byte|Unknown1}}&lt;br /&gt;
{{hl1msg|byte|Unknown2}}&lt;br /&gt;
{{hl1msg|byte|Unknown3}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SetOrder =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= SetRequest =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= SetSelect =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= SetTech =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= SetTopDown =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= SetUpgrades =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= SetupMap =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= ShadowIdx =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|ShadowIdx|long}}&lt;br /&gt;
{{hl1msg|long|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ShieldRic =&lt;br /&gt;
{{ModList||svencoop}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= ShkFlash =&lt;br /&gt;
{{ModList||svencoop}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= ShowMenu =&lt;br /&gt;
{{ModList||cstrike|czero|dod|dmc|gearbox|ns|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
This message displays a &amp;quot;menu&amp;quot; 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).&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|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.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|ShowMenu|short, char, byte, string}}&lt;br /&gt;
{{hl1msg|short|KeysBitSum}}&lt;br /&gt;
{{hl1msg|char|Time}}&lt;br /&gt;
{{hl1msg|byte|Multipart}}&lt;br /&gt;
{{hl1msg|string|Text}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ShowTimer =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
This message forces the round timer to display.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|ShowTimer}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Sky3D =&lt;br /&gt;
{{ModList||svencoop}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= SoundList =&lt;br /&gt;
{{ModList||svencoop}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= SoundNames =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Speaksent =&lt;br /&gt;
{{ModList||svencoop}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= SpecFade =&lt;br /&gt;
{{ModList||tfc}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= SpecHealth =&lt;br /&gt;
{{ModList||cstrike|czero|tfc}}&lt;br /&gt;
&lt;br /&gt;
This message updates a spectator's screen with health of the currently spectated player, on health change (on TakeDamage, doesn't seems to be sent anywhere else).&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|Previous information has been checked on cs1.6/cz only}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SpecHealth|byte}}&lt;br /&gt;
{{hl1msg|byte|Health}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SpecHealth2 =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
This message updates a spectator's screen with the name and health of the given player when player is freshly spectated.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SpecHealth2|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|Health}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Spectator =&lt;br /&gt;
{{ModList||cstrike|czero|dod|gearbox|ricochet|svencoop|tfc}}&lt;br /&gt;
&lt;br /&gt;
This message is sent when a player becomes an observer/spectator.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|On join to Spectators this usually is fired twice in a row.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|Spectator|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|ClientID}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SporeTrail =&lt;br /&gt;
{{ModList||svencoop}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= SRDetonate =&lt;br /&gt;
{{ModList||svencoop}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= SRPrimed =&lt;br /&gt;
{{ModList||svencoop}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= SRPrimedOff =&lt;br /&gt;
{{ModList||svencoop}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= StartProg =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= StartProgF =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= StartRnd =&lt;br /&gt;
{{ModList||ricochet}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= StartSound =&lt;br /&gt;
{{ModList||svencoop}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= StatsInfo =&lt;br /&gt;
{{ModList||gearbox}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= StatsPlayer =&lt;br /&gt;
{{ModList||gearbox}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= StatusIcon =&lt;br /&gt;
{{ModList||cstrike|czero|gearbox|tfc}}&lt;br /&gt;
&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|StatusIcon|byte, string, byte, byte, byte}}&lt;br /&gt;
{{hl1msg|byte|Status}}&lt;br /&gt;
{{hl1msg|string|SpriteName}}&lt;br /&gt;
{{hl1msg|byte|ColorR}}&lt;br /&gt;
{{hl1msg|byte|ColorG}}&lt;br /&gt;
{{hl1msg|byte|ColorB}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= StatusText =&lt;br /&gt;
{{ModList||cstrike|czero|dmc|ns|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
This message specifies the status text format.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|StatusText|byte, string}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{hl1msg|string|Text}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= StatusValue =&lt;br /&gt;
{{ModList||cstrike|czero|dod|dmc|ns|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
Usually this is fired as a triple message, for example:&lt;br /&gt;
 {1,  2}  -  non-teammate player&lt;br /&gt;
 {2, 17}  -  player index is 17&lt;br /&gt;
 {3, 59}  -  player health is 59&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|StatusValue|byte, short}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{hl1msg|short|Value}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TaskTime =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
This message displays a secondary timer above the round timer. It is used for Condition Zero singleplayer missions.&amp;lt;br&amp;gt;&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
If Active is true, timer counts down. Otherwise, it is paused.&amp;lt;br&amp;gt;&lt;br /&gt;
If Fade is above zero, the timer will slowly fade out after that many seconds have passed (even if the timer is inactive).&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This event can only be used on missions that have an objective requiring a secondary timer!}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|TaskTime|short, byte, byte}}&lt;br /&gt;
{{hl1msg|short|Time}}&lt;br /&gt;
{{hl1msg|byte|Active}}&lt;br /&gt;
{{hl1msg|byte|Fade}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TE_CUSTOM =&lt;br /&gt;
{{ModList||svencoop}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= TeamFull =&lt;br /&gt;
{{ModList||gearbox}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= TeamInfo =&lt;br /&gt;
{{ModList||cstrike|czero|dmc|gearbox|ns|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
This message sets the team information for the given player.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|In CS TeamName is either &amp;quot;UNASSIGNED&amp;quot;, &amp;quot;TERRORIST&amp;quot;, &amp;quot;CT&amp;quot; or &amp;quot;SPECTATOR&amp;quot;.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|TeamInfo|byte, string}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{hl1msg|string|TeamName}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TeamNames =&lt;br /&gt;
{{ModList||gearbox|ns|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= TeamScore =&lt;br /&gt;
{{ModList||cstrike|czero|dod|dmc|gearbox|ns|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
This message updates the team score on the scoreboard.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has different parameters depending upon the mod.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|In CS TeamName is either &amp;quot;TERRORIST&amp;quot; or &amp;quot;CT&amp;quot;.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|TeamScore|string, short}}&lt;br /&gt;
{{hl1msg|string|TeamName}}&lt;br /&gt;
{{hl1msg|short|Score}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
== Day of Defeat ==&lt;br /&gt;
{{begin-hl1msg|TeamScore|byte, short}}&lt;br /&gt;
{{hl1msg|byte|TeamID}}&lt;br /&gt;
{{hl1msg|short|Score}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TechSlots =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= TextMsg =&lt;br /&gt;
{{ModList||cstrike|czero|dod|dmc|gearbox|ns|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
This message prints a custom or predefined text message.&amp;lt;br&amp;gt;&lt;br /&gt;
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:&lt;br /&gt;
 Arg1: 1&lt;br /&gt;
 Arg2: #Game_join_ct&lt;br /&gt;
 Arg3: Pimp Daddy&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|TextMsg|byte, string, string, string, string, string}}&lt;br /&gt;
{{hl1msg|byte|DestinationType}}&lt;br /&gt;
{{hl1msg|string|Message}}&lt;br /&gt;
{{hl1msg|string|Submsg}}&lt;br /&gt;
{{hl1msg|string|Submsg}}&lt;br /&gt;
{{hl1msg|string|Submsg}}&lt;br /&gt;
{{hl1msg|string|Submsg}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TimeEnd =&lt;br /&gt;
{{ModList||svencoop}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= TimeLeft =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= TimerStatus =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= ToxicCloud =&lt;br /&gt;
{{ModList||svencoop}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= TracerDecal =&lt;br /&gt;
{{ModList||svencoop}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Train =&lt;br /&gt;
{{ModList||cstrike|czero|dmc|gearbox|ns|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
This message displays the speed bar used for controlling a train.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Speed is as follows: 0 (disable display), 1 (neutral), 2 (slow speed), 3 (medium speed), 4 (maximum speed), 5 (reverse)}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|Train|byte}}&lt;br /&gt;
{{hl1msg|byte|Speed}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TurretLaser =&lt;br /&gt;
{{ModList||svencoop}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= TutorClose =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
This message closes all CZ-style tutor popups.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|TutorClose}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TutorLine =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|TutorLine}}&lt;br /&gt;
{{hl1msg|short|Unknown1}}&lt;br /&gt;
{{hl1msg|short|Unknown2}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TutorState =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|TutorState }}&lt;br /&gt;
{{hl1msg|string|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TutorText =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
This message is used to display a CZ-style tutor popup.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|If NumberOfSubMsgs is higher than 0, there should be such amount of write_string after this byte.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|TutorMessageEventId is indexed as listed in czero/tutordata.txt and starts from 0}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|IsDead is the message receiver alive status}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 DEFAULT		1	// 1&amp;lt;&amp;lt;0 | GREEN  | INFO&lt;br /&gt;
 FRIENDDEATH	2	// 1&amp;lt;&amp;lt;1 | RED    | SKULL&lt;br /&gt;
 ENEMYDEATH	4	// 1&amp;lt;&amp;lt;2 | BLUE   | SKULL&lt;br /&gt;
 SCENARIO	8	// 1&amp;lt;&amp;lt;3 | YELLOW | INFO&lt;br /&gt;
 BUY		16	// 1&amp;lt;&amp;lt;4 | GREEN  | INFO&lt;br /&gt;
 CAREER		32	// 1&amp;lt;&amp;lt;5 | GREEN  | INFO&lt;br /&gt;
 HINT		64	// 1&amp;lt;&amp;lt;6 | GREEN  | INFO&lt;br /&gt;
 INGAMEHINT	128	// 1&amp;lt;&amp;lt;7 | GREEN  | INFO&lt;br /&gt;
 ENDGAME		256	// 1&amp;lt;&amp;lt;8 | YELLOW | INFO&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|TutorText|string, byte, short, short, short}}&lt;br /&gt;
{{hl1msg|string|String}}&lt;br /&gt;
{{hl1msg|byte|NumberOfSubMsgs}}&lt;br /&gt;
{{hl1msg|string|SubMessage}}&lt;br /&gt;
{{hl1msg|string|...}}&lt;br /&gt;
{{hl1msg|short|TutorMessageEventId}}&lt;br /&gt;
{{hl1msg|short|IsDead}}&lt;br /&gt;
{{hl1msg|short|Type}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= UseSound =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= ValClass =&lt;br /&gt;
{{ModList||tfc}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= VGUIMenu =&lt;br /&gt;
{{ModList||cstrike|czero|dod|gearbox|svencoop|tfc|}}&lt;br /&gt;
&lt;br /&gt;
This message displays a predefined VGUI menu.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|VGUIMenu|byte, short, char, byte, string}}&lt;br /&gt;
{{hl1msg|byte|MenuID}}&lt;br /&gt;
{{hl1msg|short|KeysBitSum}}&lt;br /&gt;
{{hl1msg|char|Time?}}&lt;br /&gt;
{{hl1msg|byte|Multipart?}}&lt;br /&gt;
{{hl1msg|string|Name?}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ViewMode =&lt;br /&gt;
{{ModList||cstrike|czero|tfc}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message (HLSDK says this switches to first-person view, but it doesn't seem to function as so).}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|ViewMode}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= VoiceMask =&lt;br /&gt;
{{ModList||cstrike|czero|dod|dmc|ns|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
This message tells a client whom they can hear over the microphone.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|VoiceMask|long, long}}&lt;br /&gt;
{{hl1msg|long|AudiblePlayersIndexBitSum}}&lt;br /&gt;
{{hl1msg|long|ServerBannedPlayersIndexBitSum}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= VoteMenu =&lt;br /&gt;
{{ModList||svencoop}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= WaveStatus =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= WaveTime =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= WeaponList =&lt;br /&gt;
{{ModList||cstrike|czero|dod|dmc|gearbox|ns|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
This message configures the [[HUD]] weapons list.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This is fired on map initialization.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|SlotID starts from 0.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Flags (from HLSDK):&lt;br /&gt;
 ITEM_FLAG_SELECTONEMPTY       1&lt;br /&gt;
 ITEM_FLAG_NOAUTORELOAD        2&lt;br /&gt;
 ITEM_FLAG_NOAUTOSWITCHEMPTY   4&lt;br /&gt;
 ITEM_FLAG_LIMITINWORLD        8&lt;br /&gt;
 ITEM_FLAG_EXHAUSTIBLE        16 // A player can totally exhaust their ammo supply and lose this weapon.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|See [[CS Weapons Information]] for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|WeaponList|string, byte, byte, byte, byte, byte, byte, byte, byte}}&lt;br /&gt;
{{hl1msg|string|WeaponName}}&lt;br /&gt;
{{hl1msg|byte|PrimaryAmmoID}}&lt;br /&gt;
{{hl1msg|byte|PrimaryAmmoMaxAmount}}&lt;br /&gt;
{{hl1msg|byte|SecondaryAmmoID}}&lt;br /&gt;
{{hl1msg|byte|SecondaryAmmoMaxAmount}}&lt;br /&gt;
{{hl1msg|byte|SlotID}}&lt;br /&gt;
{{hl1msg|byte|NumberInSlot}}&lt;br /&gt;
{{hl1msg|byte|WeaponID}}&lt;br /&gt;
{{hl1msg|byte|Flags}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= WeapPickup =&lt;br /&gt;
{{ModList||cstrike|czero|dod|dmc|gearbox|ns|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
This message temporarily draws the corresponding weapon [[HUD]] icon in the middle of the right side of the screen.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Draw time depends on the ''hud_drawhistory_time'' client CVar value.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|This is fired right before weapon is picked up (notice ''&amp;quot;before&amp;quot;'').}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|See [[CS Weapons Information]] for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|WeapPickup|byte}}&lt;br /&gt;
{{hl1msg|byte|WeaponID}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Weather =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= WeatherFX =&lt;br /&gt;
{{ModList||svencoop}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= YouDied =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
This message is sent to a player when they die.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|YouDied|byte}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;/div&gt;</summary>
		<author><name>ConnorMcLeod</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.alliedmods.net/index.php?title=Half-Life_1_Game_Events&amp;diff=9510</id>
		<title>Half-Life 1 Game Events</title>
		<link rel="alternate" type="text/html" href="https://wiki.alliedmods.net/index.php?title=Half-Life_1_Game_Events&amp;diff=9510"/>
		<updated>2014-02-18T07:17:30Z</updated>

		<summary type="html">&lt;p&gt;ConnorMcLeod: /* SpecHealth */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Half-Life 1]]&lt;br /&gt;
[[Category:Scripting (AMX Mod X)]]&lt;br /&gt;
&lt;br /&gt;
= Introduction =&lt;br /&gt;
&lt;br /&gt;
In [[AMX Mod X]] you are able to hook in-game messages/events with [http://www.amxmodx.org/funcwiki.php?search=register_message&amp;amp;go=search register_message] / [http://www.amxmodx.org/funcwiki.php?go=func&amp;amp;id=26 register_event]. Here are the list of messages/events and their arguments which can be read with [http://www.amxmodx.org/funcwiki.php?search=get_msg_arg_&amp;amp;go=search get_msg_arg_*] / [http://www.amxmodx.org/funcwiki.php?go=func&amp;amp;id=132 read_data].&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
*See the [[Advanced Scripting (AMX Mod X)#Events.2FMessages|Advanced Scripting]] article for more on events and messages.&amp;lt;br&amp;gt;&lt;br /&gt;
*See messages.inc and message_const.inc from amxmodx/scriptong/include folder or [http://www.amxmodx.org/funcwiki.php?go=inc&amp;amp;id=47 Messaging functions] and [http://www.amxmodx.org/funcwiki.php?go=inc&amp;amp;id=48 Message constants] for full messages control including blocking, argument alteration and much more.&amp;lt;br&amp;gt;&lt;br /&gt;
*Type ''meta game'' in the server console to list messages for the current mod.&lt;br /&gt;
*Damaged Soul's [http://forums.alliedmods.net/showthread.php?p=66267 Message Logging plugin] for AMX Mod X can be used to log messages and their parameters on a live server.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= ADStop =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|ADStop}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= AlienInfo =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= AllowSpec =&lt;br /&gt;
{{ModList||cstrike|czero|gearbox|tfc}}&lt;br /&gt;
&lt;br /&gt;
This message changes whether or not &amp;quot;SPECTATE&amp;quot; appears on the change team menu. It is sent whenever the allow_spectators CVar is changed, with its new value sent as the byte.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This changes how the change team menu appears, but spectating functionality is based on the actual CVar value.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|AllowSpec|byte}}&lt;br /&gt;
{{hl1msg|byte|Allowed}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= AmmoPickup =&lt;br /&gt;
{{ModList||cstrike|czero|dod|dmc|gearbox|ns|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
This message temporarily draws [[HUD]] numerical ammo amount and corresponding ammo [[HUD]] icon in the middle of the right side of the screen.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Draw time depends on the ''hud_drawhistory_time'' client CVar value.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|See [[CS Weapons Information]] for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|AmmoPickup|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|AmmoID}}&lt;br /&gt;
{{hl1msg|byte|Ammount}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= AmmoShort =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= AmmoX =&lt;br /&gt;
{{ModList||cstrike|czero|dod|dmc|gearbox|ns|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
This message updates the green bar indicator in the [[HUD]] weapons list. It also updates [[HUD]] backpack ammo number in the lower right corner of the screen if the given ammo type is compatible with the current weapon.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|See [[CS Weapons Information]] for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|AmmoX|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|AmmoID}}&lt;br /&gt;
{{hl1msg|byte|Ammount}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ArmorType =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
This message draws/removes the helmet [[HUD]] icon. If flag is set to 1, the helmet [[HUD]] icon will be drawn (located right on the armor icon).&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|ArmorType|byte}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BalanceVar =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= BarTime =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
This message 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.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Set Duration to 0 to hide the bar.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|BarTime|short}}&lt;br /&gt;
{{hl1msg|short|Duration}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BarTime2 =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
The message is the same as [[#BarTime|BarTime]], but StartPercent specifies how much of the bar is (already) filled.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Display time can be calculated with this formula: ''(1 - (StartPercent / 100)) / Duration''}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|BarTime2|short, short}}&lt;br /&gt;
{{hl1msg|short|Duration}}&lt;br /&gt;
{{hl1msg|short|StartPercent}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Battery =&lt;br /&gt;
{{ModList||cstrike|czero|dmc|gearbox|ns|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
This message updates the icon and numerical armor value on the [[HUD]].&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|Battery|short}}&lt;br /&gt;
{{hl1msg|short|Armor}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Bench =&lt;br /&gt;
{{ModList||tfc}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= BlinkAcct =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
This message makes a player's money display flash rapidly, a total of BlinkAmt times.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|BlinkAcct|byte}}&lt;br /&gt;
{{hl1msg|byte|BlinkAmt}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BlipList =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= BloodPuff =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
This message creates a puff of blood at the specified coordinates.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|BloodPuff|coord, coord, coord}}&lt;br /&gt;
{{hl1msg|coord|CoordX}}&lt;br /&gt;
{{hl1msg|coord|CoordY}}&lt;br /&gt;
{{hl1msg|coord|CoordZ}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BombDrop =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
This message is sent when the bomb is dropped or planted by a player.&lt;br /&gt;
&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|BombDrop|coord, coord, coord, byte}}&lt;br /&gt;
{{hl1msg|coord|CoordX}}&lt;br /&gt;
{{hl1msg|coord|CoordY}}&lt;br /&gt;
{{hl1msg|coord|CoordZ}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BombPickup =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|BombPickup}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BotProgress =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|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.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|BotProgress|byte, byte, string}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{hl1msg|byte|Progress}}&lt;br /&gt;
{{hl1msg|string|Header}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BotVoice =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
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 &amp;lt;i&amp;gt;can&amp;lt;/i&amp;gt; specify a regular player (non-bot) for the PlayerIndex. Status is 1 for talking, or 0 for not talking.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|BotVoice|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|Status}}&lt;br /&gt;
{{hl1msg|byte|PlayerIndex}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Brass =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
This message creates a brass shell. Used, for example, by the AWP, after firing.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|Brass|byte, coord, coord, coord, coord, coord, coord, coord, coord, coord, angle, short, byte, byte, byte}}&lt;br /&gt;
{{hl1msg|byte|MessageID}}&lt;br /&gt;
{{hl1msg|coord|StartX}}&lt;br /&gt;
{{hl1msg|coord|StartY}}&lt;br /&gt;
{{hl1msg|coord|StartZ}}&lt;br /&gt;
{{hl1msg|coord|VelocityX?}}&lt;br /&gt;
{{hl1msg|coord|VelocityY?}}&lt;br /&gt;
{{hl1msg|coord|VelocityZ?}}&lt;br /&gt;
{{hl1msg|coord|UnknownX}}&lt;br /&gt;
{{hl1msg|coord|UnknownY}}&lt;br /&gt;
{{hl1msg|coord|UnknownZ}}&lt;br /&gt;
{{hl1msg|angle|Rotation}}&lt;br /&gt;
{{hl1msg|short|ModelIndex}}&lt;br /&gt;
{{hl1msg|byte|BounceSoundType}}&lt;br /&gt;
{{hl1msg|byte|Life}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BuildSt =&lt;br /&gt;
{{ModList||tfc}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= BuyClose =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
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).&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|BuyClose}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Camera =&lt;br /&gt;
{{ModList||svencoop}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= CameraMouse =&lt;br /&gt;
{{ModList||svencoop}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= CameraView =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= CancelProg =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= CapMsg =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
This displays a message like &amp;quot;Player captured the Allied plaza for the Axis&amp;quot;. An example PointName is ''POINT_CAEN_AXISPLAZA''.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|CapMsg|byte, string, byte}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{hl1msg|string|PointName}}&lt;br /&gt;
{{hl1msg|byte|TeamID}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= CbElec =&lt;br /&gt;
{{ModList||svencoop}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= ClanTimer =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= ClCorpse =&lt;br /&gt;
{{ModList||cstrike|czero|dod}}&lt;br /&gt;
&lt;br /&gt;
This message spawns a player's corpse. ModelName is the player's model name, for example: &amp;quot;leet&amp;quot;. Delay is a delay before animation playback, which can be a negative value.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Coord and Delay is multiplied by 128.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|In CS, argument #10 is always equal to 0.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*See [http://www.amxmodx.org/funcwiki.php?go=module&amp;amp;id=4#const_teams CS Team Constants] for team indices constants list.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|ClCorpse|string, long, long, long, coord, coord, coord, long, byte, byte, byte, byte}}&lt;br /&gt;
{{hl1msg|string|ModelName}}&lt;br /&gt;
{{hl1msg|long|CoordX}}&lt;br /&gt;
{{hl1msg|long|CoordY}}&lt;br /&gt;
{{hl1msg|long|CoordZ}}&lt;br /&gt;
{{hl1msg|coord|Angle0}}&lt;br /&gt;
{{hl1msg|coord|Angle1}}&lt;br /&gt;
{{hl1msg|coord|Angle2}}&lt;br /&gt;
{{hl1msg|long|Delay}}&lt;br /&gt;
{{hl1msg|byte|Sequence}}&lt;br /&gt;
{{hl1msg|byte|ClassID?}}&lt;br /&gt;
{{hl1msg|byte|TeamID}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ClientAreas =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= ClScript =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Concuss =&lt;br /&gt;
{{ModList||tfc}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Countdown =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= CreateBlood =&lt;br /&gt;
{{ModList||svencoop}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Crosshair =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
This message draws/removes a crosshair. If Flag is set to 1 the crosshair will be drawn.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This crosshair looks not like the regular one, but like the one that is drawn in spectator mode.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|Crosshair|byte}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= CTFScore =&lt;br /&gt;
{{ModList||gearbox}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= CurMarker =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= CurWeapon =&lt;br /&gt;
{{ModList||cstrike|czero|dod|dmc|gearbox|ns|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
This message updates the numerical magazine ammo count and the corresponding ammo type icon on the [[HUD]].&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|See [[CS Weapons Information]] for more information on Counter-Strike weapons.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|CurWeapon|byte, byte, byte}}&lt;br /&gt;
{{hl1msg|byte|IsActive}}&lt;br /&gt;
{{hl1msg|byte|WeaponID}}&lt;br /&gt;
{{hl1msg|byte|ClipAmmo}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= CustomIcon =&lt;br /&gt;
{{ModList||gearbox}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= CZCareer =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
This message supplies certain updates to the player regarding Condition Zero single-player missions.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|See the [[CZCareer]] page for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|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).}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|The Type argument is case-sensitive.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|This event does nothing in CS and CZ multiplayer.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|CZCareer|string,*}}&lt;br /&gt;
{{hl1msg|string|Type}}&lt;br /&gt;
{{hl1msg|*|Parameters}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= CZCareerHUD =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
This message displays certain [[HUD]] elements regarding Condition Zero single-player missions.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|See the [[CZCareerHUD]] page for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|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).}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|The Type argument is case-sensitive.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|This event has some limited functionality in CS and CZ multi-player (albeit better in CZ).}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|CZCareerHUD|string,*}}&lt;br /&gt;
{{hl1msg|string|Type}}&lt;br /&gt;
{{hl1msg|*|Parameters}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Damage =&lt;br /&gt;
{{ModList||cstrike|czero|dmc|gearbox|ns|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|To capture this message, you should use &amp;quot;b&amp;quot; as the third parameter in the register_event() function.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|Damage|byte, byte, long, coord, coord, coord}}&lt;br /&gt;
{{hl1msg|byte|DamageSave}}&lt;br /&gt;
{{hl1msg|byte|DamageTake}}&lt;br /&gt;
{{hl1msg|long|DamageType}}&lt;br /&gt;
{{hl1msg|coord|CoordX}}&lt;br /&gt;
{{hl1msg|coord|CoordY}}&lt;br /&gt;
{{hl1msg|coord|CoordZ}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= DeathMsg =&lt;br /&gt;
{{ModList||cstrike|czero|dod|dmc|gearbox|ns|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
It also prints the console text message &amp;quot;KillerName killed VictimName with TruncatedWeaponName&amp;quot; or &amp;quot;*** KillerName killed VictimName with a headshot from TruncatedWeaponName ***&amp;quot;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has different parameters depending upon the mod.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|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 &amp;quot;trigger_hurt&amp;quot; entity, in which cases TruncatedWeaponName will be &amp;quot;worldspawn&amp;quot; and &amp;quot;trigger_hurt&amp;quot; respectively.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|For vehicle kills, TruncatedWeaponName could be &amp;quot;vehicle&amp;quot;, &amp;quot;tank&amp;quot;, etc.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|In some mods, TruncatedWeaponName is &amp;quot;teammate&amp;quot; for a team kill, which shows a green skull in the HUD message.}}&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|DeathMsg|byte, byte, byte, string}}&lt;br /&gt;
{{hl1msg|byte|KillerID}}&lt;br /&gt;
{{hl1msg|byte|VictimID}}&lt;br /&gt;
{{hl1msg|string|TruncatedWeaponName}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
== Counter-Strike ==&lt;br /&gt;
{{qnotice|TruncatedWeaponName doesn't contain a &amp;quot;weapon_&amp;quot; prefix. See [[CS Weapons Information]] for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|For a grenade kill, TruncatedWeaponName isn't &amp;quot;hegrenade&amp;quot;, but rather &amp;quot;grenade&amp;quot;, which is the actual classname of a thrown grenade.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|DeathMsg|byte, byte, byte, string}}&lt;br /&gt;
{{hl1msg|byte|KillerID}}&lt;br /&gt;
{{hl1msg|byte|VictimID}}&lt;br /&gt;
{{hl1msg|byte|IsHeadshot}}&lt;br /&gt;
{{hl1msg|string|TruncatedWeaponName}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
== Day of Defeat ==&lt;br /&gt;
{{begin-hl1msg|DeathMsg|byte, byte, byte, string}}&lt;br /&gt;
{{hl1msg|byte|KillerID}}&lt;br /&gt;
{{hl1msg|byte|VictimID}}&lt;br /&gt;
{{hl1msg|byte|WeaponID}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= DebugCSP =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= DelEntHier =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= DelParts =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Detpack =&lt;br /&gt;
{{ModList||tfc}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= EditPS =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= EndRnd =&lt;br /&gt;
{{ModList||ricochet}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= EntHier =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Feign =&lt;br /&gt;
{{ModList||tfc}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= FlagIcon =&lt;br /&gt;
{{ModList||gearbox}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= FlagTimer =&lt;br /&gt;
{{ModList||gearbox}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= FlashBat =&lt;br /&gt;
{{ModList||cstrike|czero|dmc|gearbox|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
This message updates the flashlight battery charge on the [[HUD]].&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|FlashBat|byte}}&lt;br /&gt;
{{hl1msg|byte|ChargePercentage}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Flashlight =&lt;br /&gt;
{{ModList||cstrike|czero|dmc|gearbox|ns|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|Flashlight|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{hl1msg|byte|ChargePercent}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Fog =&lt;br /&gt;
{{ModList||cstrike|czero|ns|svencoop}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|mp_Fog 1 for fog in Counter-Strike}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|Fog|byte, byte, byte}}&lt;br /&gt;
{{hl1msg|byte|FogValue}}&lt;br /&gt;
{{hl1msg|byte|FogValue}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ForceCam =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Even if mp_forcechasecam is set to 2, it is sent by this message as 1.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|ForceCam|byte, byte, byte}}&lt;br /&gt;
{{hl1msg|byte|ForcecamValue}}&lt;br /&gt;
{{hl1msg|byte|ForcechasecamValue}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Frags =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
This message sets a player's kills, as seen on the scoreboard. This message is only sent for the killer.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|Frags|byte, short}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{hl1msg|short|Kills}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Frozen =&lt;br /&gt;
{{ModList||ricochet}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= GameMode =&lt;br /&gt;
{{ModList||cstrike|czero|dmc|gearbox|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
This message informs the client of the current game mode.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|GameMode|byte}}&lt;br /&gt;
{{hl1msg|byte|Game mode}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= GameRules =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= GameStatus =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= GameTitle =&lt;br /&gt;
{{ModList||cstrike|czero|dmc|gearbox|ns|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|GameTitle|byte}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= GargSplash =&lt;br /&gt;
{{ModList||svencoop}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Geiger =&lt;br /&gt;
{{ModList||cstrike|czero|dmc|gearbox|ns|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|Geiger|byte}}&lt;br /&gt;
{{hl1msg|byte|Distance}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Gib =&lt;br /&gt;
{{ModList||svencoop}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= HandSignal =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Health =&lt;br /&gt;
{{ModList||cstrike|czero|dod|dmc|gearbox|ns|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
This message updates the numerical health value on the [[HUD]].&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|Health|byte}}&lt;br /&gt;
{{hl1msg|byte|Health}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= HideWeapon =&lt;br /&gt;
{{ModList||cstrike|czero|dod|dmc|gearbox|ns|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
This message hides the specified [[HUD]] elements.&amp;lt;br&amp;gt;&lt;br /&gt;
Flags:&lt;br /&gt;
   1   (1&amp;lt;&amp;lt;0)  -  crosshair, ammo, weapons list&lt;br /&gt;
   2   (1&amp;lt;&amp;lt;1)  -  flashlight, +&lt;br /&gt;
   4   (1&amp;lt;&amp;lt;2)  -  ALL&lt;br /&gt;
   8   (1&amp;lt;&amp;lt;3)  -  radar, health, armor, +&lt;br /&gt;
  16   (1&amp;lt;&amp;lt;4)  -  timer, +&lt;br /&gt;
  32   (1&amp;lt;&amp;lt;5)  -  money, +&lt;br /&gt;
  64   (1&amp;lt;&amp;lt;6)  -  crosshair&lt;br /&gt;
 128   (1&amp;lt;&amp;lt;7)  -  +&lt;br /&gt;
Symbol + mean that an additional crosshair will be drawn. That crosshair looks exactly like the one from Crosshair message.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|HideWeapon|byte}}&lt;br /&gt;
{{hl1msg|byte|Flags}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= HLTV =&lt;br /&gt;
{{ModList||cstrike|czero|dod|}}&lt;br /&gt;
&lt;br /&gt;
This message is sent for HLTV and is unique for each round-start.&amp;lt;br&amp;gt;&lt;br /&gt;
On new round is fired 2 messages:&lt;br /&gt;
 // reset all players health for HLTV&lt;br /&gt;
 MESSAGE_BEGIN( MSG_SPEC, gmsgHLTV );&lt;br /&gt;
 WRITE_BYTE( 0 );   // 0 = all players&lt;br /&gt;
 WRITE_BYTE( 100 | 128 );&lt;br /&gt;
 MESSAGE_END();&amp;lt;br&amp;gt;&lt;br /&gt;
 // reset all players FOV for HLTV&lt;br /&gt;
 MESSAGE_BEGIN( MSG_SPEC, gmsgHLTV );&lt;br /&gt;
 WRITE_BYTE( 0 );   // all players&lt;br /&gt;
 WRITE_BYTE( 0 );&lt;br /&gt;
 MESSAGE_END();&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|HLTV|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|ClientID}}&lt;br /&gt;
{{hl1msg|byte|Flags}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= HostageK =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
This message temporarily draws a blinking red dot on the CT players' radar when a hostage is killed.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|HostageK|byte}}&lt;br /&gt;
{{hl1msg|byte|HostageID}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= HostagePos =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
This message draws/updates the blue mark on the CT players' radar which indicates the corresponding hostage's position.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|It is called with Flag set to 1 on player [[HUD]] full update.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|HostagePos|byte, byte, coord, coord, coord}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{hl1msg|byte|HostageID}}&lt;br /&gt;
{{hl1msg|coord|CoordX}}&lt;br /&gt;
{{hl1msg|coord|CoordY}}&lt;br /&gt;
{{hl1msg|coord|CoordZ}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= HudColor =&lt;br /&gt;
{{ModList||gearbox}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= HudText =&lt;br /&gt;
{{ModList||cstrike|czero|dod|dmc|gearbox|ns|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
This message prints [[HUD]] text.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Prints message with specified style in titles.txt with small signs (like in HL)}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|HudText|string, byte, byte}}&lt;br /&gt;
{{hl1msg|string|TextCode}}&lt;br /&gt;
{{hl1msg|byte|InitHUDstyle}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= HudText2 =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= HudTextArgs =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
This message prints [[HUD]] text.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|An example of TextCode could be &amp;quot;#Hint_you_have_the_bomb&amp;quot;.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|Prints message with specified style in titles.txt with Big signs (CS Default)}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|If you have problems specifying the last two arguments, use 1 and 0 respectively.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|HudTextArgs|string, byte, byte}}&lt;br /&gt;
{{hl1msg|string|TextCode}}&lt;br /&gt;
{{hl1msg|byte|InitHUDstyle}}&lt;br /&gt;
{{hl1msg|byte|NumberOfSubMessages}}&lt;br /&gt;
{{hl1msg|string|SubMsg}}&lt;br /&gt;
{{hl1msg|string|SubMsg}}&lt;br /&gt;
{{hl1msg|string|...}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= HudTextPro =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
This message prints [[HUD]] text.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Prints message with specified style in titles.txt with Big signs (CS Default)}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|HudText|string, byte, byte}}&lt;br /&gt;
{{hl1msg|string|TextCode}}&lt;br /&gt;
{{hl1msg|byte|InitHUDstyle}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= InitHUD =&lt;br /&gt;
{{ModList||cstrike|czero|dod|dmc|gearbox|ns|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
This message initializes the [[HUD]].&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|InitHUD}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= InitObj =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
This message updates the flags (axis/allies/objective flags, not programming flags) displayed to the client when a point is captured.&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|InitObj|byte,*,*}}&lt;br /&gt;
{{hl1msg|byte|TotalObjectives}}&lt;br /&gt;
{{hl1msg|Objective|...}}&lt;br /&gt;
{{hl1msg|...|}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
''TotalObjectives'' represents the number of ''Objective'' sub-messages that are present. Each ''Objective'' sub-message is in the following format:&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|Objective|short, byte, byte, byte, byte, byte, byte, coord, coord}}&lt;br /&gt;
{{hl1msg|short|EntityID?}}&lt;br /&gt;
{{hl1msg|byte|ObjectiveID?}}&lt;br /&gt;
{{hl1msg|byte|TeamID}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{hl1msg|coord|CoordX?}}&lt;br /&gt;
{{hl1msg|coord|CoordY?}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
If a map has 5 objectives, this message will have 46 arguments (1 + 5 * 9).&lt;br /&gt;
&lt;br /&gt;
= IssueOrder =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= ItemPickup =&lt;br /&gt;
{{ModList||cstrike|czero|dmc|gearbox|ns|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
This message temporarily draws a corresponding item [[HUD]] icon in the middle of the right side of the screen.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Draw time is dependent on the ''hud_drawhistory_time'' client CVar value.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|ItemPickup|string}}&lt;br /&gt;
{{hl1msg|string|ItemName}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Items =&lt;br /&gt;
{{ModList||tfc}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= ItemStatus =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
This message notifies the client about carried items.&amp;lt;br&amp;gt;&lt;br /&gt;
Example of some item bits:&lt;br /&gt;
 1   (1&amp;lt;&amp;lt;0)  -  nightvision goggles&lt;br /&gt;
 2   (1&amp;lt;&amp;lt;1)  -  defusal kit&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|ItemStatus|byte}}&lt;br /&gt;
{{hl1msg|byte|ItemsBitSum}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ListPS =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Location =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
This message is sent when a player changes zones on a map.&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|Location|byte, string}}&lt;br /&gt;
{{hl1msg|byte|PlayerId}}&lt;br /&gt;
{{hl1msg|string|LocationName}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= MapList =&lt;br /&gt;
{{ModList||svencoop}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= MapMarker =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= MiniMap =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Money =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
This message updates the amount of money on the [[HUD]]. If the Flag is 1, the amount of money added will also be displayed.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|Money|long, byte}}&lt;br /&gt;
{{hl1msg|long|Amount}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Monitor =&lt;br /&gt;
{{ModList||svencoop}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= MOTD =&lt;br /&gt;
{{ModList||cstrike|czero|dod|dmc|gearbox|ns|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
This message displays the MOTD window.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Max. Text length is 60. A larger MOTD is sent in multiple messages. Flag will be set to 1 for the final segment.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|MOTD|byte, string}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{hl1msg|string|Text}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= NextMap =&lt;br /&gt;
{{ModList||svencoop}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= NexusBytes =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= NVGToggle =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
This message toggles night vision mode. For Flag: 1 is on, 0 is off.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|NVGToggle|byte}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Object =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
This message is sent when a player picks up certain objects. The specified sprite will be displayed on the left side of the [[HUD]]. An example Sprite is ''sprites/mapsprites/ae_satchel2.spr''.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|Object|string}}&lt;br /&gt;
{{hl1msg|string|Sprite}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ObjScore =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
This message sets a player's score, as seen on the scoreboard.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|ObjScore|byte, short}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{hl1msg|short|Score}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= OldWeapon =&lt;br /&gt;
{{ModList||gearbox}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Particles =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= PClass =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|PClass|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|PlayerID?}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= PlayerIcon =&lt;br /&gt;
{{ModList||gearbox}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= PlayersIn =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= PlayHUDNot =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Playlist =&lt;br /&gt;
{{ModList||svencoop}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= PlyrBrowse =&lt;br /&gt;
{{ModList||gearbox}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Portal =&lt;br /&gt;
{{ModList||svencoop}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Powerup =&lt;br /&gt;
{{ModList||ricochet}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= ProfileInfo =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Progress =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= ProgUpdate =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= PShoot =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= PStatus =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
This message is sent along with [[#Object|Object]] when a player picks up an object. It may have other uses. When I picked up a satchel charge, the Unknown value was 5.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|PStatus|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|PlayerID?}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= PTeam =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= QItems =&lt;br /&gt;
{{ModList||dmc}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Radar =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
This message draws/updates the dot on the [[HUD]] radar which indicates the given player position.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This works for teammates only.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|Radar|byte, coord, coord, coord}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{hl1msg|coord|CoordX}}&lt;br /&gt;
{{hl1msg|coord|CoordY}}&lt;br /&gt;
{{hl1msg|coord|CoordZ}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= RampSprite =&lt;br /&gt;
{{ModList||svencoop}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= RandomPC =&lt;br /&gt;
{{ModList||tfc}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= ReceiveW =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
This message tells the client which visual weather effect to be executed client side, if client's cl_weather CVar is above 0.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Main part of CBasePlayer::SendWeatherInfo() function that is sent in CBasePlayer :: UpdateClientData() when player offset m_fInitHUD is 1&amp;lt;br&amp;gt;&lt;br /&gt;
(right after putinserver or after fullupdate command)&amp;lt;br&amp;gt;&lt;br /&gt;
Mode: 1 is for rain effect, 2 is for snow effect&amp;lt;br&amp;gt;&lt;br /&gt;
Though mode 0 is never sent by the game itself, it removes the weather effect.&amp;lt;br&amp;gt;&lt;br /&gt;
Alternatively send mode 1 and mode 2 with judicious delays (time for effect to disappear) to make both rain and snow effect}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|ReceiveW|byte}}&lt;br /&gt;
{{hl1msg|byte|Mode}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ReloadDone =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= ReloadSound =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
This message plays generic reload sounds.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Setting IsNotShotgun to 1 will play weapons/generic_reload.wav}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|Setting IsNotShotgun to 0 will play weapons/generic_shot_reload.wav}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|ReloadSound|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|Volume * 255}}&lt;br /&gt;
{{hl1msg|byte|IsNotShotgun}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ReqState =&lt;br /&gt;
{{ModList||cstrike|czero|dod|dmc|ns|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|ReqState}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ResetFade =&lt;br /&gt;
{{ModList||tfc}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= ResetHUD =&lt;br /&gt;
{{ModList||cstrike|czero|dod|dmc|gearbox|ns|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
This message resets the [[HUD]].&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|ResetHUD}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ResetSens =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
This message resets the client's sensitivity?&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|ResetSens}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Reward =&lt;br /&gt;
{{ModList||ricochet}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= RoundState =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= RoundTime =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
This message updates the round timer on the [[HUD]]. Time is in seconds.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|RoundTime|short}}&lt;br /&gt;
{{hl1msg|short|Time}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SayText =&lt;br /&gt;
{{ModList||cstrike|czero|dod|dmc|gearbox|ns|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
Examples of predefined Counter-Strike string values include #Cstrike_Chat_AllDead and #Cstrike_Name_Change.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|For #Cstrike_Name_Change String2 is an old name and String3 is a new name.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SayText|byte, string, string, string}}&lt;br /&gt;
{{hl1msg|byte|SenderID}}&lt;br /&gt;
{{hl1msg|string|String1}}&lt;br /&gt;
{{hl1msg|string|String2}}&lt;br /&gt;
{{hl1msg|string|String3}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Scenario =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[image:Cs_scenario_msg.jpg|frame|right|Scenario message in CS, using the following parameters: 1, d_mp5navy, 150]]&lt;br /&gt;
&lt;br /&gt;
{{qnotice|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.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|This works in both CS and CZ!}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|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.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|Scenario|byte, string, byte, short, short}}&lt;br /&gt;
{{hl1msg|byte|Active}}&lt;br /&gt;
{{hl1msg|string|Sprite}}&lt;br /&gt;
{{hl1msg|byte|Alpha}}&lt;br /&gt;
{{hl1msg|short|FlashRate}}&lt;br /&gt;
{{hl1msg|short|FlashDelay}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Scope =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|Scope|byte}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ScoreAttrib =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
This message updates the scoreboard attribute for the specified player. For the 2nd argument, 0 is nothing, (1&amp;lt;&amp;lt;0) i.e. 1 is dead, (1&amp;lt;&amp;lt;1) i.e. 2 is bomb, (1&amp;lt;&amp;lt;2) i.e. 4 is VIP.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|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.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|ScoreAttrib|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{hl1msg|byte|Flags}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ScoreInfo =&lt;br /&gt;
{{ModList||cstrike|czero|dod|dmc|gearbox|ns|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
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. In Team Fortress Classic, the score is based on the number of kills, suicides, and captures. Day of Defeat uses [[#ScoreShort|ScoreShort]] and [[#ObjScore|ObjScore]] instead of this message to update score and deaths.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|In CS the 4th argument (ClassID) is always equal to 0.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*See [http://www.amxmodx.org/funcwiki.php?go=module&amp;amp;id=4#const_teams CS Team Constants] for team indices constants list.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|ScoreInfo|byte, short, short, short, short}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{hl1msg|short|Score}}&lt;br /&gt;
{{hl1msg|short|Deaths}}&lt;br /&gt;
{{hl1msg|short|ClassID}}&lt;br /&gt;
{{hl1msg|short|TeamID}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ScoreInfoLong =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Although Metamod lists this message, it doesn't appear to be used or even a valid message name.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= ScoreShort =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
This message updates a player's Score, Kills, and Deaths as seen on the scoreboard. This message is only sent for the victim.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|The fifth argument appears to be the same as the ''refresh'' parameter used in [http://amxmodx.org/doc/source/functions/dodfun/dod_set_pl_deaths.htm dod_set_pl_deaths] and was always 1 in my testing.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|ScoreShort|byte, short, short, short, byte}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{hl1msg|short|Score}}&lt;br /&gt;
{{hl1msg|short|Kills}}&lt;br /&gt;
{{hl1msg|short|Deaths}}&lt;br /&gt;
{{hl1msg|short|Refresh?}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ScreenFade =&lt;br /&gt;
{{ModList||cstrike|czero|dod|dmc|gearbox|ns|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
This message fades the screen.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Duration and HoldTime is in special units. 1 second is equal to (1&amp;lt;&amp;lt;12) i.e. 4096 units.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Flags (from HLSDK):&lt;br /&gt;
 FFADE_IN         0x0000 // Just here so we don't pass 0 into the function&lt;br /&gt;
 FFADE_OUT        0x0001 // Fade out (not in)&lt;br /&gt;
 FFADE_MODULATE   0x0002 // Modulate (don't blend)&lt;br /&gt;
 FFADE_STAYOUT    0x0004 // ignores the duration, stays faded out until new ScreenFade message received&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|ScreenFade|short, short, short, byte, byte, byte, byte}}&lt;br /&gt;
{{hl1msg|short|Duration}}&lt;br /&gt;
{{hl1msg|short|HoldTime}}&lt;br /&gt;
{{hl1msg|short|Flags}}&lt;br /&gt;
{{hl1msg|byte|ColorR}}&lt;br /&gt;
{{hl1msg|byte|ColorG}}&lt;br /&gt;
{{hl1msg|byte|ColorB}}&lt;br /&gt;
{{hl1msg|byte|Alpha}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ScreenShake =&lt;br /&gt;
{{ModList||cstrike|czero|dod|dmc|gearbox|ns|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
This message shakes the screen.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|All arguments is in special units. 1 second is equal to (1&amp;lt;&amp;lt;12) i.e. 4096 units.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|ScreenShake|short, short, short}}&lt;br /&gt;
{{hl1msg|short|Amplitude}}&lt;br /&gt;
{{hl1msg|short|Duration}}&lt;br /&gt;
{{hl1msg|short|Frequency}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SecAmmoIcon =&lt;br /&gt;
{{ModList||tfc}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= SecAmmoVal =&lt;br /&gt;
{{ModList||tfc}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= SelAmmo =&lt;br /&gt;
{{ModList||dmc|gearbox|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= SendAudio =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
This message plays the specified audio. An example of AudioCode could be &amp;quot;%!MRAD_rounddraw&amp;quot;.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SendAudio|byte, string, short}}&lt;br /&gt;
{{hl1msg|byte|SenderID}}&lt;br /&gt;
{{hl1msg|string|AudioCode}}&lt;br /&gt;
{{hl1msg|short|Pitch}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ServerName =&lt;br /&gt;
{{ModList||cstrike|czero|dod|dmc|gearbox|ns|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
This message sends the server name to a client.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|ServerName|string}}&lt;br /&gt;
{{hl1msg|string|ServerName}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ServerVar =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= SetFOV =&lt;br /&gt;
{{ModList||cstrike|czero|dod|dmc|gearbox|ns|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
This message sets the specified field of view.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SetFOV|byte}}&lt;br /&gt;
{{hl1msg|byte|Degrees}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SetGmma =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= SetMenuTeam =&lt;br /&gt;
{{ModList||gearbox}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= SetObj =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SetObj|byte, byte, byte}}&lt;br /&gt;
{{hl1msg|byte|Unknown1}}&lt;br /&gt;
{{hl1msg|byte|Unknown2}}&lt;br /&gt;
{{hl1msg|byte|Unknown3}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SetOrder =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= SetRequest =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= SetSelect =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= SetTech =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= SetTopDown =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= SetUpgrades =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= SetupMap =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= ShadowIdx =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|ShadowIdx|long}}&lt;br /&gt;
{{hl1msg|long|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ShieldRic =&lt;br /&gt;
{{ModList||svencoop}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= ShkFlash =&lt;br /&gt;
{{ModList||svencoop}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= ShowMenu =&lt;br /&gt;
{{ModList||cstrike|czero|dod|dmc|gearbox|ns|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
This message displays a &amp;quot;menu&amp;quot; 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).&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|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.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|ShowMenu|short, char, byte, string}}&lt;br /&gt;
{{hl1msg|short|KeysBitSum}}&lt;br /&gt;
{{hl1msg|char|Time}}&lt;br /&gt;
{{hl1msg|byte|Multipart}}&lt;br /&gt;
{{hl1msg|string|Text}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ShowTimer =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
This message forces the round timer to display.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|ShowTimer}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Sky3D =&lt;br /&gt;
{{ModList||svencoop}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= SoundList =&lt;br /&gt;
{{ModList||svencoop}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= SoundNames =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Speaksent =&lt;br /&gt;
{{ModList||svencoop}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= SpecFade =&lt;br /&gt;
{{ModList||tfc}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= SpecHealth =&lt;br /&gt;
{{ModList||cstrike|czero|tfc}}&lt;br /&gt;
&lt;br /&gt;
This message updates a spectator's screen with health of the currently spectated player, on health change (on TakeDamage, doesn't seems to be sent anywhere else).&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|Previous information has been checked on cs1.6/cz only}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SpecHealth|byte}}&lt;br /&gt;
{{hl1msg|byte|Health}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SpecHealth2 =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
This message updates a spectator's screen with the name and health of the given player when player is freshly spectated.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SpecHealth2|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|Health}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Spectator =&lt;br /&gt;
{{ModList||cstrike|czero|dod|gearbox|ricochet|svencoop|tfc}}&lt;br /&gt;
&lt;br /&gt;
This message is sent when a player becomes an observer/spectator.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|On join to Spectators this usually is fired twice in a row.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|Spectator|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|ClientID}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SporeTrail =&lt;br /&gt;
{{ModList||svencoop}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= SRDetonate =&lt;br /&gt;
{{ModList||svencoop}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= SRPrimed =&lt;br /&gt;
{{ModList||svencoop}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= SRPrimedOff =&lt;br /&gt;
{{ModList||svencoop}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= StartProg =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= StartProgF =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= StartRnd =&lt;br /&gt;
{{ModList||ricochet}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= StartSound =&lt;br /&gt;
{{ModList||svencoop}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= StatsInfo =&lt;br /&gt;
{{ModList||gearbox}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= StatsPlayer =&lt;br /&gt;
{{ModList||gearbox}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= StatusIcon =&lt;br /&gt;
{{ModList||cstrike|czero|gearbox|tfc}}&lt;br /&gt;
&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|StatusIcon|byte, string, byte, byte, byte}}&lt;br /&gt;
{{hl1msg|byte|Status}}&lt;br /&gt;
{{hl1msg|string|SpriteName}}&lt;br /&gt;
{{hl1msg|byte|ColorR}}&lt;br /&gt;
{{hl1msg|byte|ColorG}}&lt;br /&gt;
{{hl1msg|byte|ColorB}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= StatusText =&lt;br /&gt;
{{ModList||cstrike|czero|dmc|ns|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
This message specifies the status text format.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|StatusText|byte, string}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{hl1msg|string|Text}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= StatusValue =&lt;br /&gt;
{{ModList||cstrike|czero|dod|dmc|ns|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
Usually this is fired as a triple message, for example:&lt;br /&gt;
 {1,  2}  -  non-teammate player&lt;br /&gt;
 {2, 17}  -  player index is 17&lt;br /&gt;
 {3, 59}  -  player health is 59&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|StatusValue|byte, short}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{hl1msg|short|Value}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TaskTime =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
This message displays a secondary timer above the round timer. It is used for Condition Zero singleplayer missions.&amp;lt;br&amp;gt;&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
If Active is true, timer counts down. Otherwise, it is paused.&amp;lt;br&amp;gt;&lt;br /&gt;
If Fade is above zero, the timer will slowly fade out after that many seconds have passed (even if the timer is inactive).&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This event can only be used on missions that have an objective requiring a secondary timer!}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|TaskTime|short, byte, byte}}&lt;br /&gt;
{{hl1msg|short|Time}}&lt;br /&gt;
{{hl1msg|byte|Active}}&lt;br /&gt;
{{hl1msg|byte|Fade}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TE_CUSTOM =&lt;br /&gt;
{{ModList||svencoop}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= TeamFull =&lt;br /&gt;
{{ModList||gearbox}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= TeamInfo =&lt;br /&gt;
{{ModList||cstrike|czero|dmc|gearbox|ns|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
This message sets the team information for the given player.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|In CS TeamName is either &amp;quot;UNASSIGNED&amp;quot;, &amp;quot;TERRORIST&amp;quot;, &amp;quot;CT&amp;quot; or &amp;quot;SPECTATOR&amp;quot;.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|TeamInfo|byte, string}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{hl1msg|string|TeamName}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TeamNames =&lt;br /&gt;
{{ModList||gearbox|ns|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= TeamScore =&lt;br /&gt;
{{ModList||cstrike|czero|dod|dmc|gearbox|ns|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
This message updates the team score on the scoreboard.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has different parameters depending upon the mod.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|In CS TeamName is either &amp;quot;TERRORIST&amp;quot; or &amp;quot;CT&amp;quot;.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|TeamScore|string, short}}&lt;br /&gt;
{{hl1msg|string|TeamName}}&lt;br /&gt;
{{hl1msg|short|Score}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
== Day of Defeat ==&lt;br /&gt;
{{begin-hl1msg|TeamScore|byte, short}}&lt;br /&gt;
{{hl1msg|byte|TeamID}}&lt;br /&gt;
{{hl1msg|short|Score}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TechSlots =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= TextMsg =&lt;br /&gt;
{{ModList||cstrike|czero|dod|dmc|gearbox|ns|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
This message prints a custom or predefined text message.&amp;lt;br&amp;gt;&lt;br /&gt;
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:&lt;br /&gt;
 Arg1: 1&lt;br /&gt;
 Arg2: #Game_join_ct&lt;br /&gt;
 Arg3: Pimp Daddy&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|TextMsg|byte, string, string, string, string, string}}&lt;br /&gt;
{{hl1msg|byte|DestinationType}}&lt;br /&gt;
{{hl1msg|string|Message}}&lt;br /&gt;
{{hl1msg|string|Submsg}}&lt;br /&gt;
{{hl1msg|string|Submsg}}&lt;br /&gt;
{{hl1msg|string|Submsg}}&lt;br /&gt;
{{hl1msg|string|Submsg}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TimeEnd =&lt;br /&gt;
{{ModList||svencoop}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= TimeLeft =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= TimerStatus =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= ToxicCloud =&lt;br /&gt;
{{ModList||svencoop}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= TracerDecal =&lt;br /&gt;
{{ModList||svencoop}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Train =&lt;br /&gt;
{{ModList||cstrike|czero|dmc|gearbox|ns|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
This message displays the speed bar used for controlling a train.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Speed is as follows: 0 (disable display), 1 (neutral), 2 (slow speed), 3 (medium speed), 4 (maximum speed), 5 (reverse)}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|Train|byte}}&lt;br /&gt;
{{hl1msg|byte|Speed}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TurretLaser =&lt;br /&gt;
{{ModList||svencoop}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= TutorClose =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
This message closes all CZ-style tutor popups.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|TutorClose}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TutorLine =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|TutorLine}}&lt;br /&gt;
{{hl1msg|short|Unknown1}}&lt;br /&gt;
{{hl1msg|short|Unknown2}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TutorState =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|TutorState }}&lt;br /&gt;
{{hl1msg|string|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TutorText =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
This message is used to display a CZ-style tutor popup.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|If NumberOfSubMsgs is higher than 0, there should be such amount of write_string after this byte.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|TutorMessageEventId is indexed as listed in czero/tutordata.txt and starts from 0}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|IsDead is the message receiver alive status}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 DEFAULT		1	// 1&amp;lt;&amp;lt;0 | GREEN  | INFO&lt;br /&gt;
 FRIENDDEATH	2	// 1&amp;lt;&amp;lt;1 | RED    | SKULL&lt;br /&gt;
 ENEMYDEATH	4	// 1&amp;lt;&amp;lt;2 | BLUE   | SKULL&lt;br /&gt;
 SCENARIO	8	// 1&amp;lt;&amp;lt;3 | YELLOW | INFO&lt;br /&gt;
 BUY		16	// 1&amp;lt;&amp;lt;4 | GREEN  | INFO&lt;br /&gt;
 CAREER		32	// 1&amp;lt;&amp;lt;5 | GREEN  | INFO&lt;br /&gt;
 HINT		64	// 1&amp;lt;&amp;lt;6 | GREEN  | INFO&lt;br /&gt;
 INGAMEHINT	128	// 1&amp;lt;&amp;lt;7 | GREEN  | INFO&lt;br /&gt;
 ENDGAME		256	// 1&amp;lt;&amp;lt;8 | YELLOW | INFO&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|TutorText|string, byte, short, short, short}}&lt;br /&gt;
{{hl1msg|string|String}}&lt;br /&gt;
{{hl1msg|byte|NumberOfSubMsgs}}&lt;br /&gt;
{{hl1msg|string|SubMessage}}&lt;br /&gt;
{{hl1msg|string|...}}&lt;br /&gt;
{{hl1msg|short|TutorMessageEventId}}&lt;br /&gt;
{{hl1msg|short|IsDead}}&lt;br /&gt;
{{hl1msg|short|Type}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= UseSound =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= ValClass =&lt;br /&gt;
{{ModList||tfc}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= VGUIMenu =&lt;br /&gt;
{{ModList||cstrike|czero|dod|gearbox|svencoop|tfc|}}&lt;br /&gt;
&lt;br /&gt;
This message displays a predefined VGUI menu.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|VGUIMenu|byte, short, char, byte, string}}&lt;br /&gt;
{{hl1msg|byte|MenuID}}&lt;br /&gt;
{{hl1msg|short|KeysBitSum}}&lt;br /&gt;
{{hl1msg|char|Time?}}&lt;br /&gt;
{{hl1msg|byte|Multipart?}}&lt;br /&gt;
{{hl1msg|string|Name?}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ViewMode =&lt;br /&gt;
{{ModList||cstrike|czero|tfc}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message (HLSDK says this switches to first-person view, but it doesn't seem to function as so).}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|ViewMode}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= VoiceMask =&lt;br /&gt;
{{ModList||cstrike|czero|dod|dmc|ns|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
This message tells a client whom they can hear over the microphone.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|VoiceMask|long, long}}&lt;br /&gt;
{{hl1msg|long|AudiblePlayersIndexBitSum}}&lt;br /&gt;
{{hl1msg|long|ServerBannedPlayersIndexBitSum}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= VoteMenu =&lt;br /&gt;
{{ModList||svencoop}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= WaveStatus =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= WaveTime =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= WeaponList =&lt;br /&gt;
{{ModList||cstrike|czero|dod|dmc|gearbox|ns|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
This message configures the [[HUD]] weapons list.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This is fired on map initialization.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|SlotID starts from 0.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Flags (from HLSDK):&lt;br /&gt;
 ITEM_FLAG_SELECTONEMPTY       1&lt;br /&gt;
 ITEM_FLAG_NOAUTORELOAD        2&lt;br /&gt;
 ITEM_FLAG_NOAUTOSWITCHEMPTY   4&lt;br /&gt;
 ITEM_FLAG_LIMITINWORLD        8&lt;br /&gt;
 ITEM_FLAG_EXHAUSTIBLE        16 // A player can totally exhaust their ammo supply and lose this weapon.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|See [[CS Weapons Information]] for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|WeaponList|string, byte, byte, byte, byte, byte, byte, byte, byte}}&lt;br /&gt;
{{hl1msg|string|WeaponName}}&lt;br /&gt;
{{hl1msg|byte|PrimaryAmmoID}}&lt;br /&gt;
{{hl1msg|byte|PrimaryAmmoMaxAmount}}&lt;br /&gt;
{{hl1msg|byte|SecondaryAmmoID}}&lt;br /&gt;
{{hl1msg|byte|SecondaryAmmoMaxAmount}}&lt;br /&gt;
{{hl1msg|byte|SlotID}}&lt;br /&gt;
{{hl1msg|byte|NumberInSlot}}&lt;br /&gt;
{{hl1msg|byte|WeaponID}}&lt;br /&gt;
{{hl1msg|byte|Flags}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= WeapPickup =&lt;br /&gt;
{{ModList||cstrike|czero|dod|dmc|gearbox|ns|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
This message temporarily draws the corresponding weapon [[HUD]] icon in the middle of the right side of the screen.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Draw time depends on the ''hud_drawhistory_time'' client CVar value.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|This is fired right before weapon is picked up (notice ''&amp;quot;before&amp;quot;'').}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|See [[CS Weapons Information]] for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|WeapPickup|byte}}&lt;br /&gt;
{{hl1msg|byte|WeaponID}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Weather =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= WeatherFX =&lt;br /&gt;
{{ModList||svencoop}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= YouDied =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
This message is sent to a player when they die.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|YouDied|byte}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;/div&gt;</summary>
		<author><name>ConnorMcLeod</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.alliedmods.net/index.php?title=Half-Life_1_Game_Events&amp;diff=9509</id>
		<title>Half-Life 1 Game Events</title>
		<link rel="alternate" type="text/html" href="https://wiki.alliedmods.net/index.php?title=Half-Life_1_Game_Events&amp;diff=9509"/>
		<updated>2014-02-18T07:17:12Z</updated>

		<summary type="html">&lt;p&gt;ConnorMcLeod: /* SpecHealth */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Half-Life 1]]&lt;br /&gt;
[[Category:Scripting (AMX Mod X)]]&lt;br /&gt;
&lt;br /&gt;
= Introduction =&lt;br /&gt;
&lt;br /&gt;
In [[AMX Mod X]] you are able to hook in-game messages/events with [http://www.amxmodx.org/funcwiki.php?search=register_message&amp;amp;go=search register_message] / [http://www.amxmodx.org/funcwiki.php?go=func&amp;amp;id=26 register_event]. Here are the list of messages/events and their arguments which can be read with [http://www.amxmodx.org/funcwiki.php?search=get_msg_arg_&amp;amp;go=search get_msg_arg_*] / [http://www.amxmodx.org/funcwiki.php?go=func&amp;amp;id=132 read_data].&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
*See the [[Advanced Scripting (AMX Mod X)#Events.2FMessages|Advanced Scripting]] article for more on events and messages.&amp;lt;br&amp;gt;&lt;br /&gt;
*See messages.inc and message_const.inc from amxmodx/scriptong/include folder or [http://www.amxmodx.org/funcwiki.php?go=inc&amp;amp;id=47 Messaging functions] and [http://www.amxmodx.org/funcwiki.php?go=inc&amp;amp;id=48 Message constants] for full messages control including blocking, argument alteration and much more.&amp;lt;br&amp;gt;&lt;br /&gt;
*Type ''meta game'' in the server console to list messages for the current mod.&lt;br /&gt;
*Damaged Soul's [http://forums.alliedmods.net/showthread.php?p=66267 Message Logging plugin] for AMX Mod X can be used to log messages and their parameters on a live server.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= ADStop =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|ADStop}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= AlienInfo =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= AllowSpec =&lt;br /&gt;
{{ModList||cstrike|czero|gearbox|tfc}}&lt;br /&gt;
&lt;br /&gt;
This message changes whether or not &amp;quot;SPECTATE&amp;quot; appears on the change team menu. It is sent whenever the allow_spectators CVar is changed, with its new value sent as the byte.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This changes how the change team menu appears, but spectating functionality is based on the actual CVar value.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|AllowSpec|byte}}&lt;br /&gt;
{{hl1msg|byte|Allowed}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= AmmoPickup =&lt;br /&gt;
{{ModList||cstrike|czero|dod|dmc|gearbox|ns|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
This message temporarily draws [[HUD]] numerical ammo amount and corresponding ammo [[HUD]] icon in the middle of the right side of the screen.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Draw time depends on the ''hud_drawhistory_time'' client CVar value.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|See [[CS Weapons Information]] for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|AmmoPickup|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|AmmoID}}&lt;br /&gt;
{{hl1msg|byte|Ammount}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= AmmoShort =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= AmmoX =&lt;br /&gt;
{{ModList||cstrike|czero|dod|dmc|gearbox|ns|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
This message updates the green bar indicator in the [[HUD]] weapons list. It also updates [[HUD]] backpack ammo number in the lower right corner of the screen if the given ammo type is compatible with the current weapon.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|See [[CS Weapons Information]] for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|AmmoX|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|AmmoID}}&lt;br /&gt;
{{hl1msg|byte|Ammount}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ArmorType =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
This message draws/removes the helmet [[HUD]] icon. If flag is set to 1, the helmet [[HUD]] icon will be drawn (located right on the armor icon).&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|ArmorType|byte}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BalanceVar =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= BarTime =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
This message 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.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Set Duration to 0 to hide the bar.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|BarTime|short}}&lt;br /&gt;
{{hl1msg|short|Duration}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BarTime2 =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
The message is the same as [[#BarTime|BarTime]], but StartPercent specifies how much of the bar is (already) filled.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Display time can be calculated with this formula: ''(1 - (StartPercent / 100)) / Duration''}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|BarTime2|short, short}}&lt;br /&gt;
{{hl1msg|short|Duration}}&lt;br /&gt;
{{hl1msg|short|StartPercent}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Battery =&lt;br /&gt;
{{ModList||cstrike|czero|dmc|gearbox|ns|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
This message updates the icon and numerical armor value on the [[HUD]].&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|Battery|short}}&lt;br /&gt;
{{hl1msg|short|Armor}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Bench =&lt;br /&gt;
{{ModList||tfc}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= BlinkAcct =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
This message makes a player's money display flash rapidly, a total of BlinkAmt times.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|BlinkAcct|byte}}&lt;br /&gt;
{{hl1msg|byte|BlinkAmt}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BlipList =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= BloodPuff =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
This message creates a puff of blood at the specified coordinates.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|BloodPuff|coord, coord, coord}}&lt;br /&gt;
{{hl1msg|coord|CoordX}}&lt;br /&gt;
{{hl1msg|coord|CoordY}}&lt;br /&gt;
{{hl1msg|coord|CoordZ}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BombDrop =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
This message is sent when the bomb is dropped or planted by a player.&lt;br /&gt;
&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|BombDrop|coord, coord, coord, byte}}&lt;br /&gt;
{{hl1msg|coord|CoordX}}&lt;br /&gt;
{{hl1msg|coord|CoordY}}&lt;br /&gt;
{{hl1msg|coord|CoordZ}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BombPickup =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|BombPickup}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BotProgress =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|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.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|BotProgress|byte, byte, string}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{hl1msg|byte|Progress}}&lt;br /&gt;
{{hl1msg|string|Header}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BotVoice =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
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 &amp;lt;i&amp;gt;can&amp;lt;/i&amp;gt; specify a regular player (non-bot) for the PlayerIndex. Status is 1 for talking, or 0 for not talking.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|BotVoice|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|Status}}&lt;br /&gt;
{{hl1msg|byte|PlayerIndex}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Brass =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
This message creates a brass shell. Used, for example, by the AWP, after firing.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|Brass|byte, coord, coord, coord, coord, coord, coord, coord, coord, coord, angle, short, byte, byte, byte}}&lt;br /&gt;
{{hl1msg|byte|MessageID}}&lt;br /&gt;
{{hl1msg|coord|StartX}}&lt;br /&gt;
{{hl1msg|coord|StartY}}&lt;br /&gt;
{{hl1msg|coord|StartZ}}&lt;br /&gt;
{{hl1msg|coord|VelocityX?}}&lt;br /&gt;
{{hl1msg|coord|VelocityY?}}&lt;br /&gt;
{{hl1msg|coord|VelocityZ?}}&lt;br /&gt;
{{hl1msg|coord|UnknownX}}&lt;br /&gt;
{{hl1msg|coord|UnknownY}}&lt;br /&gt;
{{hl1msg|coord|UnknownZ}}&lt;br /&gt;
{{hl1msg|angle|Rotation}}&lt;br /&gt;
{{hl1msg|short|ModelIndex}}&lt;br /&gt;
{{hl1msg|byte|BounceSoundType}}&lt;br /&gt;
{{hl1msg|byte|Life}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BuildSt =&lt;br /&gt;
{{ModList||tfc}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= BuyClose =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
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).&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|BuyClose}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Camera =&lt;br /&gt;
{{ModList||svencoop}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= CameraMouse =&lt;br /&gt;
{{ModList||svencoop}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= CameraView =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= CancelProg =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= CapMsg =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
This displays a message like &amp;quot;Player captured the Allied plaza for the Axis&amp;quot;. An example PointName is ''POINT_CAEN_AXISPLAZA''.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|CapMsg|byte, string, byte}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{hl1msg|string|PointName}}&lt;br /&gt;
{{hl1msg|byte|TeamID}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= CbElec =&lt;br /&gt;
{{ModList||svencoop}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= ClanTimer =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= ClCorpse =&lt;br /&gt;
{{ModList||cstrike|czero|dod}}&lt;br /&gt;
&lt;br /&gt;
This message spawns a player's corpse. ModelName is the player's model name, for example: &amp;quot;leet&amp;quot;. Delay is a delay before animation playback, which can be a negative value.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Coord and Delay is multiplied by 128.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|In CS, argument #10 is always equal to 0.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*See [http://www.amxmodx.org/funcwiki.php?go=module&amp;amp;id=4#const_teams CS Team Constants] for team indices constants list.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|ClCorpse|string, long, long, long, coord, coord, coord, long, byte, byte, byte, byte}}&lt;br /&gt;
{{hl1msg|string|ModelName}}&lt;br /&gt;
{{hl1msg|long|CoordX}}&lt;br /&gt;
{{hl1msg|long|CoordY}}&lt;br /&gt;
{{hl1msg|long|CoordZ}}&lt;br /&gt;
{{hl1msg|coord|Angle0}}&lt;br /&gt;
{{hl1msg|coord|Angle1}}&lt;br /&gt;
{{hl1msg|coord|Angle2}}&lt;br /&gt;
{{hl1msg|long|Delay}}&lt;br /&gt;
{{hl1msg|byte|Sequence}}&lt;br /&gt;
{{hl1msg|byte|ClassID?}}&lt;br /&gt;
{{hl1msg|byte|TeamID}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ClientAreas =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= ClScript =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Concuss =&lt;br /&gt;
{{ModList||tfc}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Countdown =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= CreateBlood =&lt;br /&gt;
{{ModList||svencoop}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Crosshair =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
This message draws/removes a crosshair. If Flag is set to 1 the crosshair will be drawn.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This crosshair looks not like the regular one, but like the one that is drawn in spectator mode.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|Crosshair|byte}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= CTFScore =&lt;br /&gt;
{{ModList||gearbox}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= CurMarker =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= CurWeapon =&lt;br /&gt;
{{ModList||cstrike|czero|dod|dmc|gearbox|ns|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
This message updates the numerical magazine ammo count and the corresponding ammo type icon on the [[HUD]].&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|See [[CS Weapons Information]] for more information on Counter-Strike weapons.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|CurWeapon|byte, byte, byte}}&lt;br /&gt;
{{hl1msg|byte|IsActive}}&lt;br /&gt;
{{hl1msg|byte|WeaponID}}&lt;br /&gt;
{{hl1msg|byte|ClipAmmo}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= CustomIcon =&lt;br /&gt;
{{ModList||gearbox}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= CZCareer =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
This message supplies certain updates to the player regarding Condition Zero single-player missions.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|See the [[CZCareer]] page for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|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).}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|The Type argument is case-sensitive.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|This event does nothing in CS and CZ multiplayer.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|CZCareer|string,*}}&lt;br /&gt;
{{hl1msg|string|Type}}&lt;br /&gt;
{{hl1msg|*|Parameters}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= CZCareerHUD =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
This message displays certain [[HUD]] elements regarding Condition Zero single-player missions.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|See the [[CZCareerHUD]] page for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|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).}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|The Type argument is case-sensitive.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|This event has some limited functionality in CS and CZ multi-player (albeit better in CZ).}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|CZCareerHUD|string,*}}&lt;br /&gt;
{{hl1msg|string|Type}}&lt;br /&gt;
{{hl1msg|*|Parameters}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Damage =&lt;br /&gt;
{{ModList||cstrike|czero|dmc|gearbox|ns|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|To capture this message, you should use &amp;quot;b&amp;quot; as the third parameter in the register_event() function.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|Damage|byte, byte, long, coord, coord, coord}}&lt;br /&gt;
{{hl1msg|byte|DamageSave}}&lt;br /&gt;
{{hl1msg|byte|DamageTake}}&lt;br /&gt;
{{hl1msg|long|DamageType}}&lt;br /&gt;
{{hl1msg|coord|CoordX}}&lt;br /&gt;
{{hl1msg|coord|CoordY}}&lt;br /&gt;
{{hl1msg|coord|CoordZ}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= DeathMsg =&lt;br /&gt;
{{ModList||cstrike|czero|dod|dmc|gearbox|ns|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
It also prints the console text message &amp;quot;KillerName killed VictimName with TruncatedWeaponName&amp;quot; or &amp;quot;*** KillerName killed VictimName with a headshot from TruncatedWeaponName ***&amp;quot;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has different parameters depending upon the mod.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|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 &amp;quot;trigger_hurt&amp;quot; entity, in which cases TruncatedWeaponName will be &amp;quot;worldspawn&amp;quot; and &amp;quot;trigger_hurt&amp;quot; respectively.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|For vehicle kills, TruncatedWeaponName could be &amp;quot;vehicle&amp;quot;, &amp;quot;tank&amp;quot;, etc.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|In some mods, TruncatedWeaponName is &amp;quot;teammate&amp;quot; for a team kill, which shows a green skull in the HUD message.}}&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|DeathMsg|byte, byte, byte, string}}&lt;br /&gt;
{{hl1msg|byte|KillerID}}&lt;br /&gt;
{{hl1msg|byte|VictimID}}&lt;br /&gt;
{{hl1msg|string|TruncatedWeaponName}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
== Counter-Strike ==&lt;br /&gt;
{{qnotice|TruncatedWeaponName doesn't contain a &amp;quot;weapon_&amp;quot; prefix. See [[CS Weapons Information]] for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|For a grenade kill, TruncatedWeaponName isn't &amp;quot;hegrenade&amp;quot;, but rather &amp;quot;grenade&amp;quot;, which is the actual classname of a thrown grenade.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|DeathMsg|byte, byte, byte, string}}&lt;br /&gt;
{{hl1msg|byte|KillerID}}&lt;br /&gt;
{{hl1msg|byte|VictimID}}&lt;br /&gt;
{{hl1msg|byte|IsHeadshot}}&lt;br /&gt;
{{hl1msg|string|TruncatedWeaponName}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
== Day of Defeat ==&lt;br /&gt;
{{begin-hl1msg|DeathMsg|byte, byte, byte, string}}&lt;br /&gt;
{{hl1msg|byte|KillerID}}&lt;br /&gt;
{{hl1msg|byte|VictimID}}&lt;br /&gt;
{{hl1msg|byte|WeaponID}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= DebugCSP =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= DelEntHier =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= DelParts =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Detpack =&lt;br /&gt;
{{ModList||tfc}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= EditPS =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= EndRnd =&lt;br /&gt;
{{ModList||ricochet}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= EntHier =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Feign =&lt;br /&gt;
{{ModList||tfc}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= FlagIcon =&lt;br /&gt;
{{ModList||gearbox}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= FlagTimer =&lt;br /&gt;
{{ModList||gearbox}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= FlashBat =&lt;br /&gt;
{{ModList||cstrike|czero|dmc|gearbox|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
This message updates the flashlight battery charge on the [[HUD]].&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|FlashBat|byte}}&lt;br /&gt;
{{hl1msg|byte|ChargePercentage}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Flashlight =&lt;br /&gt;
{{ModList||cstrike|czero|dmc|gearbox|ns|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|Flashlight|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{hl1msg|byte|ChargePercent}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Fog =&lt;br /&gt;
{{ModList||cstrike|czero|ns|svencoop}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|mp_Fog 1 for fog in Counter-Strike}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|Fog|byte, byte, byte}}&lt;br /&gt;
{{hl1msg|byte|FogValue}}&lt;br /&gt;
{{hl1msg|byte|FogValue}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ForceCam =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Even if mp_forcechasecam is set to 2, it is sent by this message as 1.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|ForceCam|byte, byte, byte}}&lt;br /&gt;
{{hl1msg|byte|ForcecamValue}}&lt;br /&gt;
{{hl1msg|byte|ForcechasecamValue}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Frags =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
This message sets a player's kills, as seen on the scoreboard. This message is only sent for the killer.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|Frags|byte, short}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{hl1msg|short|Kills}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Frozen =&lt;br /&gt;
{{ModList||ricochet}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= GameMode =&lt;br /&gt;
{{ModList||cstrike|czero|dmc|gearbox|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
This message informs the client of the current game mode.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|GameMode|byte}}&lt;br /&gt;
{{hl1msg|byte|Game mode}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= GameRules =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= GameStatus =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= GameTitle =&lt;br /&gt;
{{ModList||cstrike|czero|dmc|gearbox|ns|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|GameTitle|byte}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= GargSplash =&lt;br /&gt;
{{ModList||svencoop}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Geiger =&lt;br /&gt;
{{ModList||cstrike|czero|dmc|gearbox|ns|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|Geiger|byte}}&lt;br /&gt;
{{hl1msg|byte|Distance}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Gib =&lt;br /&gt;
{{ModList||svencoop}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= HandSignal =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Health =&lt;br /&gt;
{{ModList||cstrike|czero|dod|dmc|gearbox|ns|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
This message updates the numerical health value on the [[HUD]].&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|Health|byte}}&lt;br /&gt;
{{hl1msg|byte|Health}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= HideWeapon =&lt;br /&gt;
{{ModList||cstrike|czero|dod|dmc|gearbox|ns|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
This message hides the specified [[HUD]] elements.&amp;lt;br&amp;gt;&lt;br /&gt;
Flags:&lt;br /&gt;
   1   (1&amp;lt;&amp;lt;0)  -  crosshair, ammo, weapons list&lt;br /&gt;
   2   (1&amp;lt;&amp;lt;1)  -  flashlight, +&lt;br /&gt;
   4   (1&amp;lt;&amp;lt;2)  -  ALL&lt;br /&gt;
   8   (1&amp;lt;&amp;lt;3)  -  radar, health, armor, +&lt;br /&gt;
  16   (1&amp;lt;&amp;lt;4)  -  timer, +&lt;br /&gt;
  32   (1&amp;lt;&amp;lt;5)  -  money, +&lt;br /&gt;
  64   (1&amp;lt;&amp;lt;6)  -  crosshair&lt;br /&gt;
 128   (1&amp;lt;&amp;lt;7)  -  +&lt;br /&gt;
Symbol + mean that an additional crosshair will be drawn. That crosshair looks exactly like the one from Crosshair message.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|HideWeapon|byte}}&lt;br /&gt;
{{hl1msg|byte|Flags}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= HLTV =&lt;br /&gt;
{{ModList||cstrike|czero|dod|}}&lt;br /&gt;
&lt;br /&gt;
This message is sent for HLTV and is unique for each round-start.&amp;lt;br&amp;gt;&lt;br /&gt;
On new round is fired 2 messages:&lt;br /&gt;
 // reset all players health for HLTV&lt;br /&gt;
 MESSAGE_BEGIN( MSG_SPEC, gmsgHLTV );&lt;br /&gt;
 WRITE_BYTE( 0 );   // 0 = all players&lt;br /&gt;
 WRITE_BYTE( 100 | 128 );&lt;br /&gt;
 MESSAGE_END();&amp;lt;br&amp;gt;&lt;br /&gt;
 // reset all players FOV for HLTV&lt;br /&gt;
 MESSAGE_BEGIN( MSG_SPEC, gmsgHLTV );&lt;br /&gt;
 WRITE_BYTE( 0 );   // all players&lt;br /&gt;
 WRITE_BYTE( 0 );&lt;br /&gt;
 MESSAGE_END();&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|HLTV|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|ClientID}}&lt;br /&gt;
{{hl1msg|byte|Flags}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= HostageK =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
This message temporarily draws a blinking red dot on the CT players' radar when a hostage is killed.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|HostageK|byte}}&lt;br /&gt;
{{hl1msg|byte|HostageID}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= HostagePos =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
This message draws/updates the blue mark on the CT players' radar which indicates the corresponding hostage's position.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|It is called with Flag set to 1 on player [[HUD]] full update.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|HostagePos|byte, byte, coord, coord, coord}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{hl1msg|byte|HostageID}}&lt;br /&gt;
{{hl1msg|coord|CoordX}}&lt;br /&gt;
{{hl1msg|coord|CoordY}}&lt;br /&gt;
{{hl1msg|coord|CoordZ}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= HudColor =&lt;br /&gt;
{{ModList||gearbox}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= HudText =&lt;br /&gt;
{{ModList||cstrike|czero|dod|dmc|gearbox|ns|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
This message prints [[HUD]] text.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Prints message with specified style in titles.txt with small signs (like in HL)}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|HudText|string, byte, byte}}&lt;br /&gt;
{{hl1msg|string|TextCode}}&lt;br /&gt;
{{hl1msg|byte|InitHUDstyle}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= HudText2 =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= HudTextArgs =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
This message prints [[HUD]] text.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|An example of TextCode could be &amp;quot;#Hint_you_have_the_bomb&amp;quot;.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|Prints message with specified style in titles.txt with Big signs (CS Default)}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|If you have problems specifying the last two arguments, use 1 and 0 respectively.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|HudTextArgs|string, byte, byte}}&lt;br /&gt;
{{hl1msg|string|TextCode}}&lt;br /&gt;
{{hl1msg|byte|InitHUDstyle}}&lt;br /&gt;
{{hl1msg|byte|NumberOfSubMessages}}&lt;br /&gt;
{{hl1msg|string|SubMsg}}&lt;br /&gt;
{{hl1msg|string|SubMsg}}&lt;br /&gt;
{{hl1msg|string|...}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= HudTextPro =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
This message prints [[HUD]] text.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Prints message with specified style in titles.txt with Big signs (CS Default)}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|HudText|string, byte, byte}}&lt;br /&gt;
{{hl1msg|string|TextCode}}&lt;br /&gt;
{{hl1msg|byte|InitHUDstyle}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= InitHUD =&lt;br /&gt;
{{ModList||cstrike|czero|dod|dmc|gearbox|ns|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
This message initializes the [[HUD]].&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|InitHUD}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= InitObj =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
This message updates the flags (axis/allies/objective flags, not programming flags) displayed to the client when a point is captured.&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|InitObj|byte,*,*}}&lt;br /&gt;
{{hl1msg|byte|TotalObjectives}}&lt;br /&gt;
{{hl1msg|Objective|...}}&lt;br /&gt;
{{hl1msg|...|}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
''TotalObjectives'' represents the number of ''Objective'' sub-messages that are present. Each ''Objective'' sub-message is in the following format:&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|Objective|short, byte, byte, byte, byte, byte, byte, coord, coord}}&lt;br /&gt;
{{hl1msg|short|EntityID?}}&lt;br /&gt;
{{hl1msg|byte|ObjectiveID?}}&lt;br /&gt;
{{hl1msg|byte|TeamID}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{hl1msg|coord|CoordX?}}&lt;br /&gt;
{{hl1msg|coord|CoordY?}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
If a map has 5 objectives, this message will have 46 arguments (1 + 5 * 9).&lt;br /&gt;
&lt;br /&gt;
= IssueOrder =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= ItemPickup =&lt;br /&gt;
{{ModList||cstrike|czero|dmc|gearbox|ns|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
This message temporarily draws a corresponding item [[HUD]] icon in the middle of the right side of the screen.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Draw time is dependent on the ''hud_drawhistory_time'' client CVar value.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|ItemPickup|string}}&lt;br /&gt;
{{hl1msg|string|ItemName}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Items =&lt;br /&gt;
{{ModList||tfc}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= ItemStatus =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
This message notifies the client about carried items.&amp;lt;br&amp;gt;&lt;br /&gt;
Example of some item bits:&lt;br /&gt;
 1   (1&amp;lt;&amp;lt;0)  -  nightvision goggles&lt;br /&gt;
 2   (1&amp;lt;&amp;lt;1)  -  defusal kit&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|ItemStatus|byte}}&lt;br /&gt;
{{hl1msg|byte|ItemsBitSum}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ListPS =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Location =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
This message is sent when a player changes zones on a map.&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|Location|byte, string}}&lt;br /&gt;
{{hl1msg|byte|PlayerId}}&lt;br /&gt;
{{hl1msg|string|LocationName}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= MapList =&lt;br /&gt;
{{ModList||svencoop}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= MapMarker =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= MiniMap =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Money =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
This message updates the amount of money on the [[HUD]]. If the Flag is 1, the amount of money added will also be displayed.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|Money|long, byte}}&lt;br /&gt;
{{hl1msg|long|Amount}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Monitor =&lt;br /&gt;
{{ModList||svencoop}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= MOTD =&lt;br /&gt;
{{ModList||cstrike|czero|dod|dmc|gearbox|ns|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
This message displays the MOTD window.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Max. Text length is 60. A larger MOTD is sent in multiple messages. Flag will be set to 1 for the final segment.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|MOTD|byte, string}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{hl1msg|string|Text}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= NextMap =&lt;br /&gt;
{{ModList||svencoop}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= NexusBytes =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= NVGToggle =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
This message toggles night vision mode. For Flag: 1 is on, 0 is off.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|NVGToggle|byte}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Object =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
This message is sent when a player picks up certain objects. The specified sprite will be displayed on the left side of the [[HUD]]. An example Sprite is ''sprites/mapsprites/ae_satchel2.spr''.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|Object|string}}&lt;br /&gt;
{{hl1msg|string|Sprite}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ObjScore =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
This message sets a player's score, as seen on the scoreboard.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|ObjScore|byte, short}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{hl1msg|short|Score}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= OldWeapon =&lt;br /&gt;
{{ModList||gearbox}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Particles =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= PClass =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|PClass|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|PlayerID?}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= PlayerIcon =&lt;br /&gt;
{{ModList||gearbox}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= PlayersIn =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= PlayHUDNot =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Playlist =&lt;br /&gt;
{{ModList||svencoop}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= PlyrBrowse =&lt;br /&gt;
{{ModList||gearbox}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Portal =&lt;br /&gt;
{{ModList||svencoop}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Powerup =&lt;br /&gt;
{{ModList||ricochet}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= ProfileInfo =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Progress =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= ProgUpdate =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= PShoot =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= PStatus =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
This message is sent along with [[#Object|Object]] when a player picks up an object. It may have other uses. When I picked up a satchel charge, the Unknown value was 5.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|PStatus|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|PlayerID?}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= PTeam =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= QItems =&lt;br /&gt;
{{ModList||dmc}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Radar =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
This message draws/updates the dot on the [[HUD]] radar which indicates the given player position.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This works for teammates only.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|Radar|byte, coord, coord, coord}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{hl1msg|coord|CoordX}}&lt;br /&gt;
{{hl1msg|coord|CoordY}}&lt;br /&gt;
{{hl1msg|coord|CoordZ}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= RampSprite =&lt;br /&gt;
{{ModList||svencoop}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= RandomPC =&lt;br /&gt;
{{ModList||tfc}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= ReceiveW =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
This message tells the client which visual weather effect to be executed client side, if client's cl_weather CVar is above 0.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Main part of CBasePlayer::SendWeatherInfo() function that is sent in CBasePlayer :: UpdateClientData() when player offset m_fInitHUD is 1&amp;lt;br&amp;gt;&lt;br /&gt;
(right after putinserver or after fullupdate command)&amp;lt;br&amp;gt;&lt;br /&gt;
Mode: 1 is for rain effect, 2 is for snow effect&amp;lt;br&amp;gt;&lt;br /&gt;
Though mode 0 is never sent by the game itself, it removes the weather effect.&amp;lt;br&amp;gt;&lt;br /&gt;
Alternatively send mode 1 and mode 2 with judicious delays (time for effect to disappear) to make both rain and snow effect}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|ReceiveW|byte}}&lt;br /&gt;
{{hl1msg|byte|Mode}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ReloadDone =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= ReloadSound =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
This message plays generic reload sounds.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Setting IsNotShotgun to 1 will play weapons/generic_reload.wav}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|Setting IsNotShotgun to 0 will play weapons/generic_shot_reload.wav}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|ReloadSound|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|Volume * 255}}&lt;br /&gt;
{{hl1msg|byte|IsNotShotgun}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ReqState =&lt;br /&gt;
{{ModList||cstrike|czero|dod|dmc|ns|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|ReqState}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ResetFade =&lt;br /&gt;
{{ModList||tfc}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= ResetHUD =&lt;br /&gt;
{{ModList||cstrike|czero|dod|dmc|gearbox|ns|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
This message resets the [[HUD]].&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|ResetHUD}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ResetSens =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
This message resets the client's sensitivity?&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|ResetSens}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Reward =&lt;br /&gt;
{{ModList||ricochet}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= RoundState =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= RoundTime =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
This message updates the round timer on the [[HUD]]. Time is in seconds.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|RoundTime|short}}&lt;br /&gt;
{{hl1msg|short|Time}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SayText =&lt;br /&gt;
{{ModList||cstrike|czero|dod|dmc|gearbox|ns|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
Examples of predefined Counter-Strike string values include #Cstrike_Chat_AllDead and #Cstrike_Name_Change.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|For #Cstrike_Name_Change String2 is an old name and String3 is a new name.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SayText|byte, string, string, string}}&lt;br /&gt;
{{hl1msg|byte|SenderID}}&lt;br /&gt;
{{hl1msg|string|String1}}&lt;br /&gt;
{{hl1msg|string|String2}}&lt;br /&gt;
{{hl1msg|string|String3}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Scenario =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[image:Cs_scenario_msg.jpg|frame|right|Scenario message in CS, using the following parameters: 1, d_mp5navy, 150]]&lt;br /&gt;
&lt;br /&gt;
{{qnotice|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.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|This works in both CS and CZ!}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|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.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|Scenario|byte, string, byte, short, short}}&lt;br /&gt;
{{hl1msg|byte|Active}}&lt;br /&gt;
{{hl1msg|string|Sprite}}&lt;br /&gt;
{{hl1msg|byte|Alpha}}&lt;br /&gt;
{{hl1msg|short|FlashRate}}&lt;br /&gt;
{{hl1msg|short|FlashDelay}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Scope =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|Scope|byte}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ScoreAttrib =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
This message updates the scoreboard attribute for the specified player. For the 2nd argument, 0 is nothing, (1&amp;lt;&amp;lt;0) i.e. 1 is dead, (1&amp;lt;&amp;lt;1) i.e. 2 is bomb, (1&amp;lt;&amp;lt;2) i.e. 4 is VIP.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|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.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|ScoreAttrib|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{hl1msg|byte|Flags}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ScoreInfo =&lt;br /&gt;
{{ModList||cstrike|czero|dod|dmc|gearbox|ns|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
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. In Team Fortress Classic, the score is based on the number of kills, suicides, and captures. Day of Defeat uses [[#ScoreShort|ScoreShort]] and [[#ObjScore|ObjScore]] instead of this message to update score and deaths.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|In CS the 4th argument (ClassID) is always equal to 0.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*See [http://www.amxmodx.org/funcwiki.php?go=module&amp;amp;id=4#const_teams CS Team Constants] for team indices constants list.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|ScoreInfo|byte, short, short, short, short}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{hl1msg|short|Score}}&lt;br /&gt;
{{hl1msg|short|Deaths}}&lt;br /&gt;
{{hl1msg|short|ClassID}}&lt;br /&gt;
{{hl1msg|short|TeamID}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ScoreInfoLong =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Although Metamod lists this message, it doesn't appear to be used or even a valid message name.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= ScoreShort =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
This message updates a player's Score, Kills, and Deaths as seen on the scoreboard. This message is only sent for the victim.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|The fifth argument appears to be the same as the ''refresh'' parameter used in [http://amxmodx.org/doc/source/functions/dodfun/dod_set_pl_deaths.htm dod_set_pl_deaths] and was always 1 in my testing.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|ScoreShort|byte, short, short, short, byte}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{hl1msg|short|Score}}&lt;br /&gt;
{{hl1msg|short|Kills}}&lt;br /&gt;
{{hl1msg|short|Deaths}}&lt;br /&gt;
{{hl1msg|short|Refresh?}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ScreenFade =&lt;br /&gt;
{{ModList||cstrike|czero|dod|dmc|gearbox|ns|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
This message fades the screen.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Duration and HoldTime is in special units. 1 second is equal to (1&amp;lt;&amp;lt;12) i.e. 4096 units.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Flags (from HLSDK):&lt;br /&gt;
 FFADE_IN         0x0000 // Just here so we don't pass 0 into the function&lt;br /&gt;
 FFADE_OUT        0x0001 // Fade out (not in)&lt;br /&gt;
 FFADE_MODULATE   0x0002 // Modulate (don't blend)&lt;br /&gt;
 FFADE_STAYOUT    0x0004 // ignores the duration, stays faded out until new ScreenFade message received&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|ScreenFade|short, short, short, byte, byte, byte, byte}}&lt;br /&gt;
{{hl1msg|short|Duration}}&lt;br /&gt;
{{hl1msg|short|HoldTime}}&lt;br /&gt;
{{hl1msg|short|Flags}}&lt;br /&gt;
{{hl1msg|byte|ColorR}}&lt;br /&gt;
{{hl1msg|byte|ColorG}}&lt;br /&gt;
{{hl1msg|byte|ColorB}}&lt;br /&gt;
{{hl1msg|byte|Alpha}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ScreenShake =&lt;br /&gt;
{{ModList||cstrike|czero|dod|dmc|gearbox|ns|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
This message shakes the screen.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|All arguments is in special units. 1 second is equal to (1&amp;lt;&amp;lt;12) i.e. 4096 units.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|ScreenShake|short, short, short}}&lt;br /&gt;
{{hl1msg|short|Amplitude}}&lt;br /&gt;
{{hl1msg|short|Duration}}&lt;br /&gt;
{{hl1msg|short|Frequency}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SecAmmoIcon =&lt;br /&gt;
{{ModList||tfc}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= SecAmmoVal =&lt;br /&gt;
{{ModList||tfc}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= SelAmmo =&lt;br /&gt;
{{ModList||dmc|gearbox|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= SendAudio =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
This message plays the specified audio. An example of AudioCode could be &amp;quot;%!MRAD_rounddraw&amp;quot;.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SendAudio|byte, string, short}}&lt;br /&gt;
{{hl1msg|byte|SenderID}}&lt;br /&gt;
{{hl1msg|string|AudioCode}}&lt;br /&gt;
{{hl1msg|short|Pitch}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ServerName =&lt;br /&gt;
{{ModList||cstrike|czero|dod|dmc|gearbox|ns|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
This message sends the server name to a client.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|ServerName|string}}&lt;br /&gt;
{{hl1msg|string|ServerName}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ServerVar =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= SetFOV =&lt;br /&gt;
{{ModList||cstrike|czero|dod|dmc|gearbox|ns|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
This message sets the specified field of view.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SetFOV|byte}}&lt;br /&gt;
{{hl1msg|byte|Degrees}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SetGmma =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= SetMenuTeam =&lt;br /&gt;
{{ModList||gearbox}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= SetObj =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SetObj|byte, byte, byte}}&lt;br /&gt;
{{hl1msg|byte|Unknown1}}&lt;br /&gt;
{{hl1msg|byte|Unknown2}}&lt;br /&gt;
{{hl1msg|byte|Unknown3}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SetOrder =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= SetRequest =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= SetSelect =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= SetTech =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= SetTopDown =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= SetUpgrades =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= SetupMap =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= ShadowIdx =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|ShadowIdx|long}}&lt;br /&gt;
{{hl1msg|long|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ShieldRic =&lt;br /&gt;
{{ModList||svencoop}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= ShkFlash =&lt;br /&gt;
{{ModList||svencoop}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= ShowMenu =&lt;br /&gt;
{{ModList||cstrike|czero|dod|dmc|gearbox|ns|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
This message displays a &amp;quot;menu&amp;quot; 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).&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|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.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|ShowMenu|short, char, byte, string}}&lt;br /&gt;
{{hl1msg|short|KeysBitSum}}&lt;br /&gt;
{{hl1msg|char|Time}}&lt;br /&gt;
{{hl1msg|byte|Multipart}}&lt;br /&gt;
{{hl1msg|string|Text}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ShowTimer =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
This message forces the round timer to display.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|ShowTimer}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Sky3D =&lt;br /&gt;
{{ModList||svencoop}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= SoundList =&lt;br /&gt;
{{ModList||svencoop}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= SoundNames =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Speaksent =&lt;br /&gt;
{{ModList||svencoop}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= SpecFade =&lt;br /&gt;
{{ModList||tfc}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= SpecHealth =&lt;br /&gt;
{{ModList||cstrike|czero|tfc}}&lt;br /&gt;
&lt;br /&gt;
This message updates a spectator's screen with health of the currently spectated player, on health change (on TakeDamage, doesn't seems to be sent anywhere else).&lt;br /&gt;
{{qnotice|Previous information has been checked on cs1.6/cz only}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SpecHealth|byte}}&lt;br /&gt;
{{hl1msg|byte|Health}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SpecHealth2 =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
This message updates a spectator's screen with the name and health of the given player when player is freshly spectated.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SpecHealth2|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|Health}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Spectator =&lt;br /&gt;
{{ModList||cstrike|czero|dod|gearbox|ricochet|svencoop|tfc}}&lt;br /&gt;
&lt;br /&gt;
This message is sent when a player becomes an observer/spectator.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|On join to Spectators this usually is fired twice in a row.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|Spectator|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|ClientID}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SporeTrail =&lt;br /&gt;
{{ModList||svencoop}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= SRDetonate =&lt;br /&gt;
{{ModList||svencoop}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= SRPrimed =&lt;br /&gt;
{{ModList||svencoop}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= SRPrimedOff =&lt;br /&gt;
{{ModList||svencoop}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= StartProg =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= StartProgF =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= StartRnd =&lt;br /&gt;
{{ModList||ricochet}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= StartSound =&lt;br /&gt;
{{ModList||svencoop}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= StatsInfo =&lt;br /&gt;
{{ModList||gearbox}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= StatsPlayer =&lt;br /&gt;
{{ModList||gearbox}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= StatusIcon =&lt;br /&gt;
{{ModList||cstrike|czero|gearbox|tfc}}&lt;br /&gt;
&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|StatusIcon|byte, string, byte, byte, byte}}&lt;br /&gt;
{{hl1msg|byte|Status}}&lt;br /&gt;
{{hl1msg|string|SpriteName}}&lt;br /&gt;
{{hl1msg|byte|ColorR}}&lt;br /&gt;
{{hl1msg|byte|ColorG}}&lt;br /&gt;
{{hl1msg|byte|ColorB}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= StatusText =&lt;br /&gt;
{{ModList||cstrike|czero|dmc|ns|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
This message specifies the status text format.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|StatusText|byte, string}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{hl1msg|string|Text}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= StatusValue =&lt;br /&gt;
{{ModList||cstrike|czero|dod|dmc|ns|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
Usually this is fired as a triple message, for example:&lt;br /&gt;
 {1,  2}  -  non-teammate player&lt;br /&gt;
 {2, 17}  -  player index is 17&lt;br /&gt;
 {3, 59}  -  player health is 59&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|StatusValue|byte, short}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{hl1msg|short|Value}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TaskTime =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
This message displays a secondary timer above the round timer. It is used for Condition Zero singleplayer missions.&amp;lt;br&amp;gt;&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
If Active is true, timer counts down. Otherwise, it is paused.&amp;lt;br&amp;gt;&lt;br /&gt;
If Fade is above zero, the timer will slowly fade out after that many seconds have passed (even if the timer is inactive).&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This event can only be used on missions that have an objective requiring a secondary timer!}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|TaskTime|short, byte, byte}}&lt;br /&gt;
{{hl1msg|short|Time}}&lt;br /&gt;
{{hl1msg|byte|Active}}&lt;br /&gt;
{{hl1msg|byte|Fade}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TE_CUSTOM =&lt;br /&gt;
{{ModList||svencoop}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= TeamFull =&lt;br /&gt;
{{ModList||gearbox}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= TeamInfo =&lt;br /&gt;
{{ModList||cstrike|czero|dmc|gearbox|ns|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
This message sets the team information for the given player.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|In CS TeamName is either &amp;quot;UNASSIGNED&amp;quot;, &amp;quot;TERRORIST&amp;quot;, &amp;quot;CT&amp;quot; or &amp;quot;SPECTATOR&amp;quot;.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|TeamInfo|byte, string}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{hl1msg|string|TeamName}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TeamNames =&lt;br /&gt;
{{ModList||gearbox|ns|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= TeamScore =&lt;br /&gt;
{{ModList||cstrike|czero|dod|dmc|gearbox|ns|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
This message updates the team score on the scoreboard.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has different parameters depending upon the mod.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|In CS TeamName is either &amp;quot;TERRORIST&amp;quot; or &amp;quot;CT&amp;quot;.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|TeamScore|string, short}}&lt;br /&gt;
{{hl1msg|string|TeamName}}&lt;br /&gt;
{{hl1msg|short|Score}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
== Day of Defeat ==&lt;br /&gt;
{{begin-hl1msg|TeamScore|byte, short}}&lt;br /&gt;
{{hl1msg|byte|TeamID}}&lt;br /&gt;
{{hl1msg|short|Score}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TechSlots =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= TextMsg =&lt;br /&gt;
{{ModList||cstrike|czero|dod|dmc|gearbox|ns|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
This message prints a custom or predefined text message.&amp;lt;br&amp;gt;&lt;br /&gt;
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:&lt;br /&gt;
 Arg1: 1&lt;br /&gt;
 Arg2: #Game_join_ct&lt;br /&gt;
 Arg3: Pimp Daddy&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|TextMsg|byte, string, string, string, string, string}}&lt;br /&gt;
{{hl1msg|byte|DestinationType}}&lt;br /&gt;
{{hl1msg|string|Message}}&lt;br /&gt;
{{hl1msg|string|Submsg}}&lt;br /&gt;
{{hl1msg|string|Submsg}}&lt;br /&gt;
{{hl1msg|string|Submsg}}&lt;br /&gt;
{{hl1msg|string|Submsg}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TimeEnd =&lt;br /&gt;
{{ModList||svencoop}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= TimeLeft =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= TimerStatus =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= ToxicCloud =&lt;br /&gt;
{{ModList||svencoop}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= TracerDecal =&lt;br /&gt;
{{ModList||svencoop}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Train =&lt;br /&gt;
{{ModList||cstrike|czero|dmc|gearbox|ns|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
This message displays the speed bar used for controlling a train.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Speed is as follows: 0 (disable display), 1 (neutral), 2 (slow speed), 3 (medium speed), 4 (maximum speed), 5 (reverse)}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|Train|byte}}&lt;br /&gt;
{{hl1msg|byte|Speed}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TurretLaser =&lt;br /&gt;
{{ModList||svencoop}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= TutorClose =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
This message closes all CZ-style tutor popups.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|TutorClose}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TutorLine =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|TutorLine}}&lt;br /&gt;
{{hl1msg|short|Unknown1}}&lt;br /&gt;
{{hl1msg|short|Unknown2}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TutorState =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|TutorState }}&lt;br /&gt;
{{hl1msg|string|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TutorText =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
This message is used to display a CZ-style tutor popup.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|If NumberOfSubMsgs is higher than 0, there should be such amount of write_string after this byte.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|TutorMessageEventId is indexed as listed in czero/tutordata.txt and starts from 0}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|IsDead is the message receiver alive status}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 DEFAULT		1	// 1&amp;lt;&amp;lt;0 | GREEN  | INFO&lt;br /&gt;
 FRIENDDEATH	2	// 1&amp;lt;&amp;lt;1 | RED    | SKULL&lt;br /&gt;
 ENEMYDEATH	4	// 1&amp;lt;&amp;lt;2 | BLUE   | SKULL&lt;br /&gt;
 SCENARIO	8	// 1&amp;lt;&amp;lt;3 | YELLOW | INFO&lt;br /&gt;
 BUY		16	// 1&amp;lt;&amp;lt;4 | GREEN  | INFO&lt;br /&gt;
 CAREER		32	// 1&amp;lt;&amp;lt;5 | GREEN  | INFO&lt;br /&gt;
 HINT		64	// 1&amp;lt;&amp;lt;6 | GREEN  | INFO&lt;br /&gt;
 INGAMEHINT	128	// 1&amp;lt;&amp;lt;7 | GREEN  | INFO&lt;br /&gt;
 ENDGAME		256	// 1&amp;lt;&amp;lt;8 | YELLOW | INFO&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|TutorText|string, byte, short, short, short}}&lt;br /&gt;
{{hl1msg|string|String}}&lt;br /&gt;
{{hl1msg|byte|NumberOfSubMsgs}}&lt;br /&gt;
{{hl1msg|string|SubMessage}}&lt;br /&gt;
{{hl1msg|string|...}}&lt;br /&gt;
{{hl1msg|short|TutorMessageEventId}}&lt;br /&gt;
{{hl1msg|short|IsDead}}&lt;br /&gt;
{{hl1msg|short|Type}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= UseSound =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= ValClass =&lt;br /&gt;
{{ModList||tfc}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= VGUIMenu =&lt;br /&gt;
{{ModList||cstrike|czero|dod|gearbox|svencoop|tfc|}}&lt;br /&gt;
&lt;br /&gt;
This message displays a predefined VGUI menu.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|VGUIMenu|byte, short, char, byte, string}}&lt;br /&gt;
{{hl1msg|byte|MenuID}}&lt;br /&gt;
{{hl1msg|short|KeysBitSum}}&lt;br /&gt;
{{hl1msg|char|Time?}}&lt;br /&gt;
{{hl1msg|byte|Multipart?}}&lt;br /&gt;
{{hl1msg|string|Name?}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ViewMode =&lt;br /&gt;
{{ModList||cstrike|czero|tfc}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message (HLSDK says this switches to first-person view, but it doesn't seem to function as so).}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|ViewMode}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= VoiceMask =&lt;br /&gt;
{{ModList||cstrike|czero|dod|dmc|ns|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
This message tells a client whom they can hear over the microphone.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|VoiceMask|long, long}}&lt;br /&gt;
{{hl1msg|long|AudiblePlayersIndexBitSum}}&lt;br /&gt;
{{hl1msg|long|ServerBannedPlayersIndexBitSum}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= VoteMenu =&lt;br /&gt;
{{ModList||svencoop}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= WaveStatus =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= WaveTime =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= WeaponList =&lt;br /&gt;
{{ModList||cstrike|czero|dod|dmc|gearbox|ns|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
This message configures the [[HUD]] weapons list.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This is fired on map initialization.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|SlotID starts from 0.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Flags (from HLSDK):&lt;br /&gt;
 ITEM_FLAG_SELECTONEMPTY       1&lt;br /&gt;
 ITEM_FLAG_NOAUTORELOAD        2&lt;br /&gt;
 ITEM_FLAG_NOAUTOSWITCHEMPTY   4&lt;br /&gt;
 ITEM_FLAG_LIMITINWORLD        8&lt;br /&gt;
 ITEM_FLAG_EXHAUSTIBLE        16 // A player can totally exhaust their ammo supply and lose this weapon.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|See [[CS Weapons Information]] for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|WeaponList|string, byte, byte, byte, byte, byte, byte, byte, byte}}&lt;br /&gt;
{{hl1msg|string|WeaponName}}&lt;br /&gt;
{{hl1msg|byte|PrimaryAmmoID}}&lt;br /&gt;
{{hl1msg|byte|PrimaryAmmoMaxAmount}}&lt;br /&gt;
{{hl1msg|byte|SecondaryAmmoID}}&lt;br /&gt;
{{hl1msg|byte|SecondaryAmmoMaxAmount}}&lt;br /&gt;
{{hl1msg|byte|SlotID}}&lt;br /&gt;
{{hl1msg|byte|NumberInSlot}}&lt;br /&gt;
{{hl1msg|byte|WeaponID}}&lt;br /&gt;
{{hl1msg|byte|Flags}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= WeapPickup =&lt;br /&gt;
{{ModList||cstrike|czero|dod|dmc|gearbox|ns|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
This message temporarily draws the corresponding weapon [[HUD]] icon in the middle of the right side of the screen.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Draw time depends on the ''hud_drawhistory_time'' client CVar value.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|This is fired right before weapon is picked up (notice ''&amp;quot;before&amp;quot;'').}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|See [[CS Weapons Information]] for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|WeapPickup|byte}}&lt;br /&gt;
{{hl1msg|byte|WeaponID}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Weather =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= WeatherFX =&lt;br /&gt;
{{ModList||svencoop}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= YouDied =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
This message is sent to a player when they die.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|YouDied|byte}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;/div&gt;</summary>
		<author><name>ConnorMcLeod</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.alliedmods.net/index.php?title=Half-Life_1_Game_Events&amp;diff=9508</id>
		<title>Half-Life 1 Game Events</title>
		<link rel="alternate" type="text/html" href="https://wiki.alliedmods.net/index.php?title=Half-Life_1_Game_Events&amp;diff=9508"/>
		<updated>2014-02-18T07:14:12Z</updated>

		<summary type="html">&lt;p&gt;ConnorMcLeod: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Half-Life 1]]&lt;br /&gt;
[[Category:Scripting (AMX Mod X)]]&lt;br /&gt;
&lt;br /&gt;
= Introduction =&lt;br /&gt;
&lt;br /&gt;
In [[AMX Mod X]] you are able to hook in-game messages/events with [http://www.amxmodx.org/funcwiki.php?search=register_message&amp;amp;go=search register_message] / [http://www.amxmodx.org/funcwiki.php?go=func&amp;amp;id=26 register_event]. Here are the list of messages/events and their arguments which can be read with [http://www.amxmodx.org/funcwiki.php?search=get_msg_arg_&amp;amp;go=search get_msg_arg_*] / [http://www.amxmodx.org/funcwiki.php?go=func&amp;amp;id=132 read_data].&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
*See the [[Advanced Scripting (AMX Mod X)#Events.2FMessages|Advanced Scripting]] article for more on events and messages.&amp;lt;br&amp;gt;&lt;br /&gt;
*See messages.inc and message_const.inc from amxmodx/scriptong/include folder or [http://www.amxmodx.org/funcwiki.php?go=inc&amp;amp;id=47 Messaging functions] and [http://www.amxmodx.org/funcwiki.php?go=inc&amp;amp;id=48 Message constants] for full messages control including blocking, argument alteration and much more.&amp;lt;br&amp;gt;&lt;br /&gt;
*Type ''meta game'' in the server console to list messages for the current mod.&lt;br /&gt;
*Damaged Soul's [http://forums.alliedmods.net/showthread.php?p=66267 Message Logging plugin] for AMX Mod X can be used to log messages and their parameters on a live server.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= ADStop =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|ADStop}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= AlienInfo =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= AllowSpec =&lt;br /&gt;
{{ModList||cstrike|czero|gearbox|tfc}}&lt;br /&gt;
&lt;br /&gt;
This message changes whether or not &amp;quot;SPECTATE&amp;quot; appears on the change team menu. It is sent whenever the allow_spectators CVar is changed, with its new value sent as the byte.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This changes how the change team menu appears, but spectating functionality is based on the actual CVar value.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|AllowSpec|byte}}&lt;br /&gt;
{{hl1msg|byte|Allowed}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= AmmoPickup =&lt;br /&gt;
{{ModList||cstrike|czero|dod|dmc|gearbox|ns|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
This message temporarily draws [[HUD]] numerical ammo amount and corresponding ammo [[HUD]] icon in the middle of the right side of the screen.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Draw time depends on the ''hud_drawhistory_time'' client CVar value.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|See [[CS Weapons Information]] for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|AmmoPickup|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|AmmoID}}&lt;br /&gt;
{{hl1msg|byte|Ammount}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= AmmoShort =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= AmmoX =&lt;br /&gt;
{{ModList||cstrike|czero|dod|dmc|gearbox|ns|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
This message updates the green bar indicator in the [[HUD]] weapons list. It also updates [[HUD]] backpack ammo number in the lower right corner of the screen if the given ammo type is compatible with the current weapon.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|See [[CS Weapons Information]] for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|AmmoX|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|AmmoID}}&lt;br /&gt;
{{hl1msg|byte|Ammount}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ArmorType =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
This message draws/removes the helmet [[HUD]] icon. If flag is set to 1, the helmet [[HUD]] icon will be drawn (located right on the armor icon).&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|ArmorType|byte}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BalanceVar =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= BarTime =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
This message 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.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Set Duration to 0 to hide the bar.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|BarTime|short}}&lt;br /&gt;
{{hl1msg|short|Duration}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BarTime2 =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
The message is the same as [[#BarTime|BarTime]], but StartPercent specifies how much of the bar is (already) filled.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Display time can be calculated with this formula: ''(1 - (StartPercent / 100)) / Duration''}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|BarTime2|short, short}}&lt;br /&gt;
{{hl1msg|short|Duration}}&lt;br /&gt;
{{hl1msg|short|StartPercent}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Battery =&lt;br /&gt;
{{ModList||cstrike|czero|dmc|gearbox|ns|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
This message updates the icon and numerical armor value on the [[HUD]].&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|Battery|short}}&lt;br /&gt;
{{hl1msg|short|Armor}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Bench =&lt;br /&gt;
{{ModList||tfc}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= BlinkAcct =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
This message makes a player's money display flash rapidly, a total of BlinkAmt times.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|BlinkAcct|byte}}&lt;br /&gt;
{{hl1msg|byte|BlinkAmt}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BlipList =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= BloodPuff =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
This message creates a puff of blood at the specified coordinates.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|BloodPuff|coord, coord, coord}}&lt;br /&gt;
{{hl1msg|coord|CoordX}}&lt;br /&gt;
{{hl1msg|coord|CoordY}}&lt;br /&gt;
{{hl1msg|coord|CoordZ}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BombDrop =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
This message is sent when the bomb is dropped or planted by a player.&lt;br /&gt;
&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|BombDrop|coord, coord, coord, byte}}&lt;br /&gt;
{{hl1msg|coord|CoordX}}&lt;br /&gt;
{{hl1msg|coord|CoordY}}&lt;br /&gt;
{{hl1msg|coord|CoordZ}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BombPickup =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|BombPickup}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BotProgress =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|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.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|BotProgress|byte, byte, string}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{hl1msg|byte|Progress}}&lt;br /&gt;
{{hl1msg|string|Header}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BotVoice =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
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 &amp;lt;i&amp;gt;can&amp;lt;/i&amp;gt; specify a regular player (non-bot) for the PlayerIndex. Status is 1 for talking, or 0 for not talking.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|BotVoice|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|Status}}&lt;br /&gt;
{{hl1msg|byte|PlayerIndex}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Brass =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
This message creates a brass shell. Used, for example, by the AWP, after firing.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|Brass|byte, coord, coord, coord, coord, coord, coord, coord, coord, coord, angle, short, byte, byte, byte}}&lt;br /&gt;
{{hl1msg|byte|MessageID}}&lt;br /&gt;
{{hl1msg|coord|StartX}}&lt;br /&gt;
{{hl1msg|coord|StartY}}&lt;br /&gt;
{{hl1msg|coord|StartZ}}&lt;br /&gt;
{{hl1msg|coord|VelocityX?}}&lt;br /&gt;
{{hl1msg|coord|VelocityY?}}&lt;br /&gt;
{{hl1msg|coord|VelocityZ?}}&lt;br /&gt;
{{hl1msg|coord|UnknownX}}&lt;br /&gt;
{{hl1msg|coord|UnknownY}}&lt;br /&gt;
{{hl1msg|coord|UnknownZ}}&lt;br /&gt;
{{hl1msg|angle|Rotation}}&lt;br /&gt;
{{hl1msg|short|ModelIndex}}&lt;br /&gt;
{{hl1msg|byte|BounceSoundType}}&lt;br /&gt;
{{hl1msg|byte|Life}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BuildSt =&lt;br /&gt;
{{ModList||tfc}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= BuyClose =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
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).&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|BuyClose}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Camera =&lt;br /&gt;
{{ModList||svencoop}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= CameraMouse =&lt;br /&gt;
{{ModList||svencoop}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= CameraView =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= CancelProg =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= CapMsg =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
This displays a message like &amp;quot;Player captured the Allied plaza for the Axis&amp;quot;. An example PointName is ''POINT_CAEN_AXISPLAZA''.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|CapMsg|byte, string, byte}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{hl1msg|string|PointName}}&lt;br /&gt;
{{hl1msg|byte|TeamID}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= CbElec =&lt;br /&gt;
{{ModList||svencoop}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= ClanTimer =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= ClCorpse =&lt;br /&gt;
{{ModList||cstrike|czero|dod}}&lt;br /&gt;
&lt;br /&gt;
This message spawns a player's corpse. ModelName is the player's model name, for example: &amp;quot;leet&amp;quot;. Delay is a delay before animation playback, which can be a negative value.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Coord and Delay is multiplied by 128.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|In CS, argument #10 is always equal to 0.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*See [http://www.amxmodx.org/funcwiki.php?go=module&amp;amp;id=4#const_teams CS Team Constants] for team indices constants list.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|ClCorpse|string, long, long, long, coord, coord, coord, long, byte, byte, byte, byte}}&lt;br /&gt;
{{hl1msg|string|ModelName}}&lt;br /&gt;
{{hl1msg|long|CoordX}}&lt;br /&gt;
{{hl1msg|long|CoordY}}&lt;br /&gt;
{{hl1msg|long|CoordZ}}&lt;br /&gt;
{{hl1msg|coord|Angle0}}&lt;br /&gt;
{{hl1msg|coord|Angle1}}&lt;br /&gt;
{{hl1msg|coord|Angle2}}&lt;br /&gt;
{{hl1msg|long|Delay}}&lt;br /&gt;
{{hl1msg|byte|Sequence}}&lt;br /&gt;
{{hl1msg|byte|ClassID?}}&lt;br /&gt;
{{hl1msg|byte|TeamID}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ClientAreas =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= ClScript =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Concuss =&lt;br /&gt;
{{ModList||tfc}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Countdown =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= CreateBlood =&lt;br /&gt;
{{ModList||svencoop}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Crosshair =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
This message draws/removes a crosshair. If Flag is set to 1 the crosshair will be drawn.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This crosshair looks not like the regular one, but like the one that is drawn in spectator mode.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|Crosshair|byte}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= CTFScore =&lt;br /&gt;
{{ModList||gearbox}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= CurMarker =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= CurWeapon =&lt;br /&gt;
{{ModList||cstrike|czero|dod|dmc|gearbox|ns|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
This message updates the numerical magazine ammo count and the corresponding ammo type icon on the [[HUD]].&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|See [[CS Weapons Information]] for more information on Counter-Strike weapons.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|CurWeapon|byte, byte, byte}}&lt;br /&gt;
{{hl1msg|byte|IsActive}}&lt;br /&gt;
{{hl1msg|byte|WeaponID}}&lt;br /&gt;
{{hl1msg|byte|ClipAmmo}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= CustomIcon =&lt;br /&gt;
{{ModList||gearbox}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= CZCareer =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
This message supplies certain updates to the player regarding Condition Zero single-player missions.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|See the [[CZCareer]] page for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|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).}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|The Type argument is case-sensitive.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|This event does nothing in CS and CZ multiplayer.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|CZCareer|string,*}}&lt;br /&gt;
{{hl1msg|string|Type}}&lt;br /&gt;
{{hl1msg|*|Parameters}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= CZCareerHUD =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
This message displays certain [[HUD]] elements regarding Condition Zero single-player missions.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|See the [[CZCareerHUD]] page for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|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).}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|The Type argument is case-sensitive.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|This event has some limited functionality in CS and CZ multi-player (albeit better in CZ).}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|CZCareerHUD|string,*}}&lt;br /&gt;
{{hl1msg|string|Type}}&lt;br /&gt;
{{hl1msg|*|Parameters}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Damage =&lt;br /&gt;
{{ModList||cstrike|czero|dmc|gearbox|ns|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|To capture this message, you should use &amp;quot;b&amp;quot; as the third parameter in the register_event() function.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|Damage|byte, byte, long, coord, coord, coord}}&lt;br /&gt;
{{hl1msg|byte|DamageSave}}&lt;br /&gt;
{{hl1msg|byte|DamageTake}}&lt;br /&gt;
{{hl1msg|long|DamageType}}&lt;br /&gt;
{{hl1msg|coord|CoordX}}&lt;br /&gt;
{{hl1msg|coord|CoordY}}&lt;br /&gt;
{{hl1msg|coord|CoordZ}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= DeathMsg =&lt;br /&gt;
{{ModList||cstrike|czero|dod|dmc|gearbox|ns|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
It also prints the console text message &amp;quot;KillerName killed VictimName with TruncatedWeaponName&amp;quot; or &amp;quot;*** KillerName killed VictimName with a headshot from TruncatedWeaponName ***&amp;quot;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has different parameters depending upon the mod.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|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 &amp;quot;trigger_hurt&amp;quot; entity, in which cases TruncatedWeaponName will be &amp;quot;worldspawn&amp;quot; and &amp;quot;trigger_hurt&amp;quot; respectively.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|For vehicle kills, TruncatedWeaponName could be &amp;quot;vehicle&amp;quot;, &amp;quot;tank&amp;quot;, etc.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|In some mods, TruncatedWeaponName is &amp;quot;teammate&amp;quot; for a team kill, which shows a green skull in the HUD message.}}&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|DeathMsg|byte, byte, byte, string}}&lt;br /&gt;
{{hl1msg|byte|KillerID}}&lt;br /&gt;
{{hl1msg|byte|VictimID}}&lt;br /&gt;
{{hl1msg|string|TruncatedWeaponName}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
== Counter-Strike ==&lt;br /&gt;
{{qnotice|TruncatedWeaponName doesn't contain a &amp;quot;weapon_&amp;quot; prefix. See [[CS Weapons Information]] for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|For a grenade kill, TruncatedWeaponName isn't &amp;quot;hegrenade&amp;quot;, but rather &amp;quot;grenade&amp;quot;, which is the actual classname of a thrown grenade.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|DeathMsg|byte, byte, byte, string}}&lt;br /&gt;
{{hl1msg|byte|KillerID}}&lt;br /&gt;
{{hl1msg|byte|VictimID}}&lt;br /&gt;
{{hl1msg|byte|IsHeadshot}}&lt;br /&gt;
{{hl1msg|string|TruncatedWeaponName}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
== Day of Defeat ==&lt;br /&gt;
{{begin-hl1msg|DeathMsg|byte, byte, byte, string}}&lt;br /&gt;
{{hl1msg|byte|KillerID}}&lt;br /&gt;
{{hl1msg|byte|VictimID}}&lt;br /&gt;
{{hl1msg|byte|WeaponID}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= DebugCSP =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= DelEntHier =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= DelParts =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Detpack =&lt;br /&gt;
{{ModList||tfc}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= EditPS =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= EndRnd =&lt;br /&gt;
{{ModList||ricochet}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= EntHier =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Feign =&lt;br /&gt;
{{ModList||tfc}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= FlagIcon =&lt;br /&gt;
{{ModList||gearbox}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= FlagTimer =&lt;br /&gt;
{{ModList||gearbox}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= FlashBat =&lt;br /&gt;
{{ModList||cstrike|czero|dmc|gearbox|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
This message updates the flashlight battery charge on the [[HUD]].&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|FlashBat|byte}}&lt;br /&gt;
{{hl1msg|byte|ChargePercentage}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Flashlight =&lt;br /&gt;
{{ModList||cstrike|czero|dmc|gearbox|ns|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|Flashlight|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{hl1msg|byte|ChargePercent}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Fog =&lt;br /&gt;
{{ModList||cstrike|czero|ns|svencoop}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|mp_Fog 1 for fog in Counter-Strike}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|Fog|byte, byte, byte}}&lt;br /&gt;
{{hl1msg|byte|FogValue}}&lt;br /&gt;
{{hl1msg|byte|FogValue}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ForceCam =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Even if mp_forcechasecam is set to 2, it is sent by this message as 1.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|ForceCam|byte, byte, byte}}&lt;br /&gt;
{{hl1msg|byte|ForcecamValue}}&lt;br /&gt;
{{hl1msg|byte|ForcechasecamValue}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Frags =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
This message sets a player's kills, as seen on the scoreboard. This message is only sent for the killer.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|Frags|byte, short}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{hl1msg|short|Kills}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Frozen =&lt;br /&gt;
{{ModList||ricochet}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= GameMode =&lt;br /&gt;
{{ModList||cstrike|czero|dmc|gearbox|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
This message informs the client of the current game mode.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|GameMode|byte}}&lt;br /&gt;
{{hl1msg|byte|Game mode}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= GameRules =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= GameStatus =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= GameTitle =&lt;br /&gt;
{{ModList||cstrike|czero|dmc|gearbox|ns|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|GameTitle|byte}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= GargSplash =&lt;br /&gt;
{{ModList||svencoop}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Geiger =&lt;br /&gt;
{{ModList||cstrike|czero|dmc|gearbox|ns|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|Geiger|byte}}&lt;br /&gt;
{{hl1msg|byte|Distance}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Gib =&lt;br /&gt;
{{ModList||svencoop}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= HandSignal =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Health =&lt;br /&gt;
{{ModList||cstrike|czero|dod|dmc|gearbox|ns|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
This message updates the numerical health value on the [[HUD]].&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|Health|byte}}&lt;br /&gt;
{{hl1msg|byte|Health}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= HideWeapon =&lt;br /&gt;
{{ModList||cstrike|czero|dod|dmc|gearbox|ns|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
This message hides the specified [[HUD]] elements.&amp;lt;br&amp;gt;&lt;br /&gt;
Flags:&lt;br /&gt;
   1   (1&amp;lt;&amp;lt;0)  -  crosshair, ammo, weapons list&lt;br /&gt;
   2   (1&amp;lt;&amp;lt;1)  -  flashlight, +&lt;br /&gt;
   4   (1&amp;lt;&amp;lt;2)  -  ALL&lt;br /&gt;
   8   (1&amp;lt;&amp;lt;3)  -  radar, health, armor, +&lt;br /&gt;
  16   (1&amp;lt;&amp;lt;4)  -  timer, +&lt;br /&gt;
  32   (1&amp;lt;&amp;lt;5)  -  money, +&lt;br /&gt;
  64   (1&amp;lt;&amp;lt;6)  -  crosshair&lt;br /&gt;
 128   (1&amp;lt;&amp;lt;7)  -  +&lt;br /&gt;
Symbol + mean that an additional crosshair will be drawn. That crosshair looks exactly like the one from Crosshair message.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|HideWeapon|byte}}&lt;br /&gt;
{{hl1msg|byte|Flags}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= HLTV =&lt;br /&gt;
{{ModList||cstrike|czero|dod|}}&lt;br /&gt;
&lt;br /&gt;
This message is sent for HLTV and is unique for each round-start.&amp;lt;br&amp;gt;&lt;br /&gt;
On new round is fired 2 messages:&lt;br /&gt;
 // reset all players health for HLTV&lt;br /&gt;
 MESSAGE_BEGIN( MSG_SPEC, gmsgHLTV );&lt;br /&gt;
 WRITE_BYTE( 0 );   // 0 = all players&lt;br /&gt;
 WRITE_BYTE( 100 | 128 );&lt;br /&gt;
 MESSAGE_END();&amp;lt;br&amp;gt;&lt;br /&gt;
 // reset all players FOV for HLTV&lt;br /&gt;
 MESSAGE_BEGIN( MSG_SPEC, gmsgHLTV );&lt;br /&gt;
 WRITE_BYTE( 0 );   // all players&lt;br /&gt;
 WRITE_BYTE( 0 );&lt;br /&gt;
 MESSAGE_END();&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|HLTV|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|ClientID}}&lt;br /&gt;
{{hl1msg|byte|Flags}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= HostageK =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
This message temporarily draws a blinking red dot on the CT players' radar when a hostage is killed.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|HostageK|byte}}&lt;br /&gt;
{{hl1msg|byte|HostageID}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= HostagePos =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
This message draws/updates the blue mark on the CT players' radar which indicates the corresponding hostage's position.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|It is called with Flag set to 1 on player [[HUD]] full update.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|HostagePos|byte, byte, coord, coord, coord}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{hl1msg|byte|HostageID}}&lt;br /&gt;
{{hl1msg|coord|CoordX}}&lt;br /&gt;
{{hl1msg|coord|CoordY}}&lt;br /&gt;
{{hl1msg|coord|CoordZ}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= HudColor =&lt;br /&gt;
{{ModList||gearbox}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= HudText =&lt;br /&gt;
{{ModList||cstrike|czero|dod|dmc|gearbox|ns|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
This message prints [[HUD]] text.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Prints message with specified style in titles.txt with small signs (like in HL)}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|HudText|string, byte, byte}}&lt;br /&gt;
{{hl1msg|string|TextCode}}&lt;br /&gt;
{{hl1msg|byte|InitHUDstyle}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= HudText2 =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= HudTextArgs =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
This message prints [[HUD]] text.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|An example of TextCode could be &amp;quot;#Hint_you_have_the_bomb&amp;quot;.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|Prints message with specified style in titles.txt with Big signs (CS Default)}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|If you have problems specifying the last two arguments, use 1 and 0 respectively.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|HudTextArgs|string, byte, byte}}&lt;br /&gt;
{{hl1msg|string|TextCode}}&lt;br /&gt;
{{hl1msg|byte|InitHUDstyle}}&lt;br /&gt;
{{hl1msg|byte|NumberOfSubMessages}}&lt;br /&gt;
{{hl1msg|string|SubMsg}}&lt;br /&gt;
{{hl1msg|string|SubMsg}}&lt;br /&gt;
{{hl1msg|string|...}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= HudTextPro =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
This message prints [[HUD]] text.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Prints message with specified style in titles.txt with Big signs (CS Default)}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|HudText|string, byte, byte}}&lt;br /&gt;
{{hl1msg|string|TextCode}}&lt;br /&gt;
{{hl1msg|byte|InitHUDstyle}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= InitHUD =&lt;br /&gt;
{{ModList||cstrike|czero|dod|dmc|gearbox|ns|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
This message initializes the [[HUD]].&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|InitHUD}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= InitObj =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
This message updates the flags (axis/allies/objective flags, not programming flags) displayed to the client when a point is captured.&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|InitObj|byte,*,*}}&lt;br /&gt;
{{hl1msg|byte|TotalObjectives}}&lt;br /&gt;
{{hl1msg|Objective|...}}&lt;br /&gt;
{{hl1msg|...|}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
''TotalObjectives'' represents the number of ''Objective'' sub-messages that are present. Each ''Objective'' sub-message is in the following format:&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|Objective|short, byte, byte, byte, byte, byte, byte, coord, coord}}&lt;br /&gt;
{{hl1msg|short|EntityID?}}&lt;br /&gt;
{{hl1msg|byte|ObjectiveID?}}&lt;br /&gt;
{{hl1msg|byte|TeamID}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{hl1msg|coord|CoordX?}}&lt;br /&gt;
{{hl1msg|coord|CoordY?}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
If a map has 5 objectives, this message will have 46 arguments (1 + 5 * 9).&lt;br /&gt;
&lt;br /&gt;
= IssueOrder =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= ItemPickup =&lt;br /&gt;
{{ModList||cstrike|czero|dmc|gearbox|ns|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
This message temporarily draws a corresponding item [[HUD]] icon in the middle of the right side of the screen.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Draw time is dependent on the ''hud_drawhistory_time'' client CVar value.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|ItemPickup|string}}&lt;br /&gt;
{{hl1msg|string|ItemName}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Items =&lt;br /&gt;
{{ModList||tfc}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= ItemStatus =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
This message notifies the client about carried items.&amp;lt;br&amp;gt;&lt;br /&gt;
Example of some item bits:&lt;br /&gt;
 1   (1&amp;lt;&amp;lt;0)  -  nightvision goggles&lt;br /&gt;
 2   (1&amp;lt;&amp;lt;1)  -  defusal kit&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|ItemStatus|byte}}&lt;br /&gt;
{{hl1msg|byte|ItemsBitSum}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ListPS =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Location =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
This message is sent when a player changes zones on a map.&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|Location|byte, string}}&lt;br /&gt;
{{hl1msg|byte|PlayerId}}&lt;br /&gt;
{{hl1msg|string|LocationName}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= MapList =&lt;br /&gt;
{{ModList||svencoop}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= MapMarker =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= MiniMap =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Money =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
This message updates the amount of money on the [[HUD]]. If the Flag is 1, the amount of money added will also be displayed.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|Money|long, byte}}&lt;br /&gt;
{{hl1msg|long|Amount}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Monitor =&lt;br /&gt;
{{ModList||svencoop}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= MOTD =&lt;br /&gt;
{{ModList||cstrike|czero|dod|dmc|gearbox|ns|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
This message displays the MOTD window.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Max. Text length is 60. A larger MOTD is sent in multiple messages. Flag will be set to 1 for the final segment.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|MOTD|byte, string}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{hl1msg|string|Text}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= NextMap =&lt;br /&gt;
{{ModList||svencoop}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= NexusBytes =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= NVGToggle =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
This message toggles night vision mode. For Flag: 1 is on, 0 is off.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|NVGToggle|byte}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Object =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
This message is sent when a player picks up certain objects. The specified sprite will be displayed on the left side of the [[HUD]]. An example Sprite is ''sprites/mapsprites/ae_satchel2.spr''.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|Object|string}}&lt;br /&gt;
{{hl1msg|string|Sprite}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ObjScore =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
This message sets a player's score, as seen on the scoreboard.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|ObjScore|byte, short}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{hl1msg|short|Score}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= OldWeapon =&lt;br /&gt;
{{ModList||gearbox}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Particles =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= PClass =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|PClass|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|PlayerID?}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= PlayerIcon =&lt;br /&gt;
{{ModList||gearbox}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= PlayersIn =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= PlayHUDNot =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Playlist =&lt;br /&gt;
{{ModList||svencoop}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= PlyrBrowse =&lt;br /&gt;
{{ModList||gearbox}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Portal =&lt;br /&gt;
{{ModList||svencoop}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Powerup =&lt;br /&gt;
{{ModList||ricochet}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= ProfileInfo =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Progress =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= ProgUpdate =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= PShoot =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= PStatus =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
This message is sent along with [[#Object|Object]] when a player picks up an object. It may have other uses. When I picked up a satchel charge, the Unknown value was 5.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|PStatus|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|PlayerID?}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= PTeam =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= QItems =&lt;br /&gt;
{{ModList||dmc}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Radar =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
This message draws/updates the dot on the [[HUD]] radar which indicates the given player position.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This works for teammates only.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|Radar|byte, coord, coord, coord}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{hl1msg|coord|CoordX}}&lt;br /&gt;
{{hl1msg|coord|CoordY}}&lt;br /&gt;
{{hl1msg|coord|CoordZ}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= RampSprite =&lt;br /&gt;
{{ModList||svencoop}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= RandomPC =&lt;br /&gt;
{{ModList||tfc}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= ReceiveW =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
This message tells the client which visual weather effect to be executed client side, if client's cl_weather CVar is above 0.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Main part of CBasePlayer::SendWeatherInfo() function that is sent in CBasePlayer :: UpdateClientData() when player offset m_fInitHUD is 1&amp;lt;br&amp;gt;&lt;br /&gt;
(right after putinserver or after fullupdate command)&amp;lt;br&amp;gt;&lt;br /&gt;
Mode: 1 is for rain effect, 2 is for snow effect&amp;lt;br&amp;gt;&lt;br /&gt;
Though mode 0 is never sent by the game itself, it removes the weather effect.&amp;lt;br&amp;gt;&lt;br /&gt;
Alternatively send mode 1 and mode 2 with judicious delays (time for effect to disappear) to make both rain and snow effect}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|ReceiveW|byte}}&lt;br /&gt;
{{hl1msg|byte|Mode}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ReloadDone =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= ReloadSound =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
This message plays generic reload sounds.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Setting IsNotShotgun to 1 will play weapons/generic_reload.wav}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|Setting IsNotShotgun to 0 will play weapons/generic_shot_reload.wav}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|ReloadSound|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|Volume * 255}}&lt;br /&gt;
{{hl1msg|byte|IsNotShotgun}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ReqState =&lt;br /&gt;
{{ModList||cstrike|czero|dod|dmc|ns|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|ReqState}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ResetFade =&lt;br /&gt;
{{ModList||tfc}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= ResetHUD =&lt;br /&gt;
{{ModList||cstrike|czero|dod|dmc|gearbox|ns|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
This message resets the [[HUD]].&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|ResetHUD}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ResetSens =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
This message resets the client's sensitivity?&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|ResetSens}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Reward =&lt;br /&gt;
{{ModList||ricochet}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= RoundState =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= RoundTime =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
This message updates the round timer on the [[HUD]]. Time is in seconds.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|RoundTime|short}}&lt;br /&gt;
{{hl1msg|short|Time}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SayText =&lt;br /&gt;
{{ModList||cstrike|czero|dod|dmc|gearbox|ns|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
Examples of predefined Counter-Strike string values include #Cstrike_Chat_AllDead and #Cstrike_Name_Change.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|For #Cstrike_Name_Change String2 is an old name and String3 is a new name.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SayText|byte, string, string, string}}&lt;br /&gt;
{{hl1msg|byte|SenderID}}&lt;br /&gt;
{{hl1msg|string|String1}}&lt;br /&gt;
{{hl1msg|string|String2}}&lt;br /&gt;
{{hl1msg|string|String3}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Scenario =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[image:Cs_scenario_msg.jpg|frame|right|Scenario message in CS, using the following parameters: 1, d_mp5navy, 150]]&lt;br /&gt;
&lt;br /&gt;
{{qnotice|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.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|This works in both CS and CZ!}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|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.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|Scenario|byte, string, byte, short, short}}&lt;br /&gt;
{{hl1msg|byte|Active}}&lt;br /&gt;
{{hl1msg|string|Sprite}}&lt;br /&gt;
{{hl1msg|byte|Alpha}}&lt;br /&gt;
{{hl1msg|short|FlashRate}}&lt;br /&gt;
{{hl1msg|short|FlashDelay}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Scope =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|Scope|byte}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ScoreAttrib =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
This message updates the scoreboard attribute for the specified player. For the 2nd argument, 0 is nothing, (1&amp;lt;&amp;lt;0) i.e. 1 is dead, (1&amp;lt;&amp;lt;1) i.e. 2 is bomb, (1&amp;lt;&amp;lt;2) i.e. 4 is VIP.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|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.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|ScoreAttrib|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{hl1msg|byte|Flags}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ScoreInfo =&lt;br /&gt;
{{ModList||cstrike|czero|dod|dmc|gearbox|ns|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
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. In Team Fortress Classic, the score is based on the number of kills, suicides, and captures. Day of Defeat uses [[#ScoreShort|ScoreShort]] and [[#ObjScore|ObjScore]] instead of this message to update score and deaths.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|In CS the 4th argument (ClassID) is always equal to 0.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*See [http://www.amxmodx.org/funcwiki.php?go=module&amp;amp;id=4#const_teams CS Team Constants] for team indices constants list.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|ScoreInfo|byte, short, short, short, short}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{hl1msg|short|Score}}&lt;br /&gt;
{{hl1msg|short|Deaths}}&lt;br /&gt;
{{hl1msg|short|ClassID}}&lt;br /&gt;
{{hl1msg|short|TeamID}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ScoreInfoLong =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Although Metamod lists this message, it doesn't appear to be used or even a valid message name.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= ScoreShort =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
This message updates a player's Score, Kills, and Deaths as seen on the scoreboard. This message is only sent for the victim.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|The fifth argument appears to be the same as the ''refresh'' parameter used in [http://amxmodx.org/doc/source/functions/dodfun/dod_set_pl_deaths.htm dod_set_pl_deaths] and was always 1 in my testing.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|ScoreShort|byte, short, short, short, byte}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{hl1msg|short|Score}}&lt;br /&gt;
{{hl1msg|short|Kills}}&lt;br /&gt;
{{hl1msg|short|Deaths}}&lt;br /&gt;
{{hl1msg|short|Refresh?}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ScreenFade =&lt;br /&gt;
{{ModList||cstrike|czero|dod|dmc|gearbox|ns|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
This message fades the screen.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Duration and HoldTime is in special units. 1 second is equal to (1&amp;lt;&amp;lt;12) i.e. 4096 units.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Flags (from HLSDK):&lt;br /&gt;
 FFADE_IN         0x0000 // Just here so we don't pass 0 into the function&lt;br /&gt;
 FFADE_OUT        0x0001 // Fade out (not in)&lt;br /&gt;
 FFADE_MODULATE   0x0002 // Modulate (don't blend)&lt;br /&gt;
 FFADE_STAYOUT    0x0004 // ignores the duration, stays faded out until new ScreenFade message received&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|ScreenFade|short, short, short, byte, byte, byte, byte}}&lt;br /&gt;
{{hl1msg|short|Duration}}&lt;br /&gt;
{{hl1msg|short|HoldTime}}&lt;br /&gt;
{{hl1msg|short|Flags}}&lt;br /&gt;
{{hl1msg|byte|ColorR}}&lt;br /&gt;
{{hl1msg|byte|ColorG}}&lt;br /&gt;
{{hl1msg|byte|ColorB}}&lt;br /&gt;
{{hl1msg|byte|Alpha}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ScreenShake =&lt;br /&gt;
{{ModList||cstrike|czero|dod|dmc|gearbox|ns|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
This message shakes the screen.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|All arguments is in special units. 1 second is equal to (1&amp;lt;&amp;lt;12) i.e. 4096 units.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|ScreenShake|short, short, short}}&lt;br /&gt;
{{hl1msg|short|Amplitude}}&lt;br /&gt;
{{hl1msg|short|Duration}}&lt;br /&gt;
{{hl1msg|short|Frequency}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SecAmmoIcon =&lt;br /&gt;
{{ModList||tfc}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= SecAmmoVal =&lt;br /&gt;
{{ModList||tfc}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= SelAmmo =&lt;br /&gt;
{{ModList||dmc|gearbox|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= SendAudio =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
This message plays the specified audio. An example of AudioCode could be &amp;quot;%!MRAD_rounddraw&amp;quot;.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SendAudio|byte, string, short}}&lt;br /&gt;
{{hl1msg|byte|SenderID}}&lt;br /&gt;
{{hl1msg|string|AudioCode}}&lt;br /&gt;
{{hl1msg|short|Pitch}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ServerName =&lt;br /&gt;
{{ModList||cstrike|czero|dod|dmc|gearbox|ns|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
This message sends the server name to a client.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|ServerName|string}}&lt;br /&gt;
{{hl1msg|string|ServerName}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ServerVar =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= SetFOV =&lt;br /&gt;
{{ModList||cstrike|czero|dod|dmc|gearbox|ns|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
This message sets the specified field of view.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SetFOV|byte}}&lt;br /&gt;
{{hl1msg|byte|Degrees}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SetGmma =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= SetMenuTeam =&lt;br /&gt;
{{ModList||gearbox}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= SetObj =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SetObj|byte, byte, byte}}&lt;br /&gt;
{{hl1msg|byte|Unknown1}}&lt;br /&gt;
{{hl1msg|byte|Unknown2}}&lt;br /&gt;
{{hl1msg|byte|Unknown3}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SetOrder =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= SetRequest =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= SetSelect =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= SetTech =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= SetTopDown =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= SetUpgrades =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= SetupMap =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= ShadowIdx =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|ShadowIdx|long}}&lt;br /&gt;
{{hl1msg|long|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ShieldRic =&lt;br /&gt;
{{ModList||svencoop}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= ShkFlash =&lt;br /&gt;
{{ModList||svencoop}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= ShowMenu =&lt;br /&gt;
{{ModList||cstrike|czero|dod|dmc|gearbox|ns|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
This message displays a &amp;quot;menu&amp;quot; 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).&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|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.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|ShowMenu|short, char, byte, string}}&lt;br /&gt;
{{hl1msg|short|KeysBitSum}}&lt;br /&gt;
{{hl1msg|char|Time}}&lt;br /&gt;
{{hl1msg|byte|Multipart}}&lt;br /&gt;
{{hl1msg|string|Text}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ShowTimer =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
This message forces the round timer to display.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|ShowTimer}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Sky3D =&lt;br /&gt;
{{ModList||svencoop}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= SoundList =&lt;br /&gt;
{{ModList||svencoop}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= SoundNames =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Speaksent =&lt;br /&gt;
{{ModList||svencoop}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= SpecFade =&lt;br /&gt;
{{ModList||tfc}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= SpecHealth =&lt;br /&gt;
{{ModList||cstrike|czero|tfc}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message updates a spectator's screen with health of the currently spectated player, on health change (on TakeDamage, doesn't seems to be sent anywhere else).}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SpecHealth|byte}}&lt;br /&gt;
{{hl1msg|byte|Health}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SpecHealth2 =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
This message updates a spectator's screen with the name and health of the given player when player is freshly spectated.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SpecHealth2|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|Health}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Spectator =&lt;br /&gt;
{{ModList||cstrike|czero|dod|gearbox|ricochet|svencoop|tfc}}&lt;br /&gt;
&lt;br /&gt;
This message is sent when a player becomes an observer/spectator.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|On join to Spectators this usually is fired twice in a row.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|Spectator|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|ClientID}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SporeTrail =&lt;br /&gt;
{{ModList||svencoop}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= SRDetonate =&lt;br /&gt;
{{ModList||svencoop}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= SRPrimed =&lt;br /&gt;
{{ModList||svencoop}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= SRPrimedOff =&lt;br /&gt;
{{ModList||svencoop}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= StartProg =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= StartProgF =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= StartRnd =&lt;br /&gt;
{{ModList||ricochet}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= StartSound =&lt;br /&gt;
{{ModList||svencoop}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= StatsInfo =&lt;br /&gt;
{{ModList||gearbox}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= StatsPlayer =&lt;br /&gt;
{{ModList||gearbox}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= StatusIcon =&lt;br /&gt;
{{ModList||cstrike|czero|gearbox|tfc}}&lt;br /&gt;
&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|StatusIcon|byte, string, byte, byte, byte}}&lt;br /&gt;
{{hl1msg|byte|Status}}&lt;br /&gt;
{{hl1msg|string|SpriteName}}&lt;br /&gt;
{{hl1msg|byte|ColorR}}&lt;br /&gt;
{{hl1msg|byte|ColorG}}&lt;br /&gt;
{{hl1msg|byte|ColorB}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= StatusText =&lt;br /&gt;
{{ModList||cstrike|czero|dmc|ns|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
This message specifies the status text format.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|StatusText|byte, string}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{hl1msg|string|Text}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= StatusValue =&lt;br /&gt;
{{ModList||cstrike|czero|dod|dmc|ns|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
Usually this is fired as a triple message, for example:&lt;br /&gt;
 {1,  2}  -  non-teammate player&lt;br /&gt;
 {2, 17}  -  player index is 17&lt;br /&gt;
 {3, 59}  -  player health is 59&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|StatusValue|byte, short}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{hl1msg|short|Value}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TaskTime =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
This message displays a secondary timer above the round timer. It is used for Condition Zero singleplayer missions.&amp;lt;br&amp;gt;&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
If Active is true, timer counts down. Otherwise, it is paused.&amp;lt;br&amp;gt;&lt;br /&gt;
If Fade is above zero, the timer will slowly fade out after that many seconds have passed (even if the timer is inactive).&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This event can only be used on missions that have an objective requiring a secondary timer!}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|TaskTime|short, byte, byte}}&lt;br /&gt;
{{hl1msg|short|Time}}&lt;br /&gt;
{{hl1msg|byte|Active}}&lt;br /&gt;
{{hl1msg|byte|Fade}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TE_CUSTOM =&lt;br /&gt;
{{ModList||svencoop}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= TeamFull =&lt;br /&gt;
{{ModList||gearbox}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= TeamInfo =&lt;br /&gt;
{{ModList||cstrike|czero|dmc|gearbox|ns|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
This message sets the team information for the given player.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|In CS TeamName is either &amp;quot;UNASSIGNED&amp;quot;, &amp;quot;TERRORIST&amp;quot;, &amp;quot;CT&amp;quot; or &amp;quot;SPECTATOR&amp;quot;.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|TeamInfo|byte, string}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{hl1msg|string|TeamName}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TeamNames =&lt;br /&gt;
{{ModList||gearbox|ns|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= TeamScore =&lt;br /&gt;
{{ModList||cstrike|czero|dod|dmc|gearbox|ns|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
This message updates the team score on the scoreboard.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has different parameters depending upon the mod.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|In CS TeamName is either &amp;quot;TERRORIST&amp;quot; or &amp;quot;CT&amp;quot;.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|TeamScore|string, short}}&lt;br /&gt;
{{hl1msg|string|TeamName}}&lt;br /&gt;
{{hl1msg|short|Score}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
== Day of Defeat ==&lt;br /&gt;
{{begin-hl1msg|TeamScore|byte, short}}&lt;br /&gt;
{{hl1msg|byte|TeamID}}&lt;br /&gt;
{{hl1msg|short|Score}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TechSlots =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= TextMsg =&lt;br /&gt;
{{ModList||cstrike|czero|dod|dmc|gearbox|ns|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
This message prints a custom or predefined text message.&amp;lt;br&amp;gt;&lt;br /&gt;
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:&lt;br /&gt;
 Arg1: 1&lt;br /&gt;
 Arg2: #Game_join_ct&lt;br /&gt;
 Arg3: Pimp Daddy&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|TextMsg|byte, string, string, string, string, string}}&lt;br /&gt;
{{hl1msg|byte|DestinationType}}&lt;br /&gt;
{{hl1msg|string|Message}}&lt;br /&gt;
{{hl1msg|string|Submsg}}&lt;br /&gt;
{{hl1msg|string|Submsg}}&lt;br /&gt;
{{hl1msg|string|Submsg}}&lt;br /&gt;
{{hl1msg|string|Submsg}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TimeEnd =&lt;br /&gt;
{{ModList||svencoop}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= TimeLeft =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= TimerStatus =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= ToxicCloud =&lt;br /&gt;
{{ModList||svencoop}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= TracerDecal =&lt;br /&gt;
{{ModList||svencoop}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Train =&lt;br /&gt;
{{ModList||cstrike|czero|dmc|gearbox|ns|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
This message displays the speed bar used for controlling a train.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Speed is as follows: 0 (disable display), 1 (neutral), 2 (slow speed), 3 (medium speed), 4 (maximum speed), 5 (reverse)}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|Train|byte}}&lt;br /&gt;
{{hl1msg|byte|Speed}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TurretLaser =&lt;br /&gt;
{{ModList||svencoop}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= TutorClose =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
This message closes all CZ-style tutor popups.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|TutorClose}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TutorLine =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|TutorLine}}&lt;br /&gt;
{{hl1msg|short|Unknown1}}&lt;br /&gt;
{{hl1msg|short|Unknown2}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TutorState =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|TutorState }}&lt;br /&gt;
{{hl1msg|string|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TutorText =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
This message is used to display a CZ-style tutor popup.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|If NumberOfSubMsgs is higher than 0, there should be such amount of write_string after this byte.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|TutorMessageEventId is indexed as listed in czero/tutordata.txt and starts from 0}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|IsDead is the message receiver alive status}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 DEFAULT		1	// 1&amp;lt;&amp;lt;0 | GREEN  | INFO&lt;br /&gt;
 FRIENDDEATH	2	// 1&amp;lt;&amp;lt;1 | RED    | SKULL&lt;br /&gt;
 ENEMYDEATH	4	// 1&amp;lt;&amp;lt;2 | BLUE   | SKULL&lt;br /&gt;
 SCENARIO	8	// 1&amp;lt;&amp;lt;3 | YELLOW | INFO&lt;br /&gt;
 BUY		16	// 1&amp;lt;&amp;lt;4 | GREEN  | INFO&lt;br /&gt;
 CAREER		32	// 1&amp;lt;&amp;lt;5 | GREEN  | INFO&lt;br /&gt;
 HINT		64	// 1&amp;lt;&amp;lt;6 | GREEN  | INFO&lt;br /&gt;
 INGAMEHINT	128	// 1&amp;lt;&amp;lt;7 | GREEN  | INFO&lt;br /&gt;
 ENDGAME		256	// 1&amp;lt;&amp;lt;8 | YELLOW | INFO&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|TutorText|string, byte, short, short, short}}&lt;br /&gt;
{{hl1msg|string|String}}&lt;br /&gt;
{{hl1msg|byte|NumberOfSubMsgs}}&lt;br /&gt;
{{hl1msg|string|SubMessage}}&lt;br /&gt;
{{hl1msg|string|...}}&lt;br /&gt;
{{hl1msg|short|TutorMessageEventId}}&lt;br /&gt;
{{hl1msg|short|IsDead}}&lt;br /&gt;
{{hl1msg|short|Type}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= UseSound =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= ValClass =&lt;br /&gt;
{{ModList||tfc}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= VGUIMenu =&lt;br /&gt;
{{ModList||cstrike|czero|dod|gearbox|svencoop|tfc|}}&lt;br /&gt;
&lt;br /&gt;
This message displays a predefined VGUI menu.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|VGUIMenu|byte, short, char, byte, string}}&lt;br /&gt;
{{hl1msg|byte|MenuID}}&lt;br /&gt;
{{hl1msg|short|KeysBitSum}}&lt;br /&gt;
{{hl1msg|char|Time?}}&lt;br /&gt;
{{hl1msg|byte|Multipart?}}&lt;br /&gt;
{{hl1msg|string|Name?}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ViewMode =&lt;br /&gt;
{{ModList||cstrike|czero|tfc}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message (HLSDK says this switches to first-person view, but it doesn't seem to function as so).}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|ViewMode}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= VoiceMask =&lt;br /&gt;
{{ModList||cstrike|czero|dod|dmc|ns|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
This message tells a client whom they can hear over the microphone.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|VoiceMask|long, long}}&lt;br /&gt;
{{hl1msg|long|AudiblePlayersIndexBitSum}}&lt;br /&gt;
{{hl1msg|long|ServerBannedPlayersIndexBitSum}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= VoteMenu =&lt;br /&gt;
{{ModList||svencoop}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= WaveStatus =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= WaveTime =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= WeaponList =&lt;br /&gt;
{{ModList||cstrike|czero|dod|dmc|gearbox|ns|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
This message configures the [[HUD]] weapons list.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This is fired on map initialization.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|SlotID starts from 0.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Flags (from HLSDK):&lt;br /&gt;
 ITEM_FLAG_SELECTONEMPTY       1&lt;br /&gt;
 ITEM_FLAG_NOAUTORELOAD        2&lt;br /&gt;
 ITEM_FLAG_NOAUTOSWITCHEMPTY   4&lt;br /&gt;
 ITEM_FLAG_LIMITINWORLD        8&lt;br /&gt;
 ITEM_FLAG_EXHAUSTIBLE        16 // A player can totally exhaust their ammo supply and lose this weapon.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|See [[CS Weapons Information]] for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|WeaponList|string, byte, byte, byte, byte, byte, byte, byte, byte}}&lt;br /&gt;
{{hl1msg|string|WeaponName}}&lt;br /&gt;
{{hl1msg|byte|PrimaryAmmoID}}&lt;br /&gt;
{{hl1msg|byte|PrimaryAmmoMaxAmount}}&lt;br /&gt;
{{hl1msg|byte|SecondaryAmmoID}}&lt;br /&gt;
{{hl1msg|byte|SecondaryAmmoMaxAmount}}&lt;br /&gt;
{{hl1msg|byte|SlotID}}&lt;br /&gt;
{{hl1msg|byte|NumberInSlot}}&lt;br /&gt;
{{hl1msg|byte|WeaponID}}&lt;br /&gt;
{{hl1msg|byte|Flags}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= WeapPickup =&lt;br /&gt;
{{ModList||cstrike|czero|dod|dmc|gearbox|ns|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
This message temporarily draws the corresponding weapon [[HUD]] icon in the middle of the right side of the screen.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Draw time depends on the ''hud_drawhistory_time'' client CVar value.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|This is fired right before weapon is picked up (notice ''&amp;quot;before&amp;quot;'').}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|See [[CS Weapons Information]] for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|WeapPickup|byte}}&lt;br /&gt;
{{hl1msg|byte|WeaponID}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Weather =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= WeatherFX =&lt;br /&gt;
{{ModList||svencoop}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= YouDied =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
This message is sent to a player when they die.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|YouDied|byte}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;/div&gt;</summary>
		<author><name>ConnorMcLeod</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.alliedmods.net/index.php?title=Half-Life_1_Game_Events&amp;diff=9473</id>
		<title>Half-Life 1 Game Events</title>
		<link rel="alternate" type="text/html" href="https://wiki.alliedmods.net/index.php?title=Half-Life_1_Game_Events&amp;diff=9473"/>
		<updated>2014-02-05T22:35:04Z</updated>

		<summary type="html">&lt;p&gt;ConnorMcLeod: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Half-Life 1]]&lt;br /&gt;
[[Category:Scripting (AMX Mod X)]]&lt;br /&gt;
&lt;br /&gt;
= Introduction =&lt;br /&gt;
&lt;br /&gt;
In [[AMX Mod X]] you are able to hook in-game messages/events with [http://www.amxmodx.org/funcwiki.php?search=register_message&amp;amp;go=search register_message] / [http://www.amxmodx.org/funcwiki.php?go=func&amp;amp;id=26 register_event]. Here are the list of messages/events and their arguments which can be read with [http://www.amxmodx.org/funcwiki.php?search=get_msg_arg_&amp;amp;go=search get_msg_arg_*] / [http://www.amxmodx.org/funcwiki.php?go=func&amp;amp;id=132 read_data].&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
*See the [[Advanced Scripting (AMX Mod X)#Events.2FMessages|Advanced Scripting]] article for more on events and messages.&amp;lt;br&amp;gt;&lt;br /&gt;
*See messages.inc and message_const.inc from amxmodx/scriptong/include folder or [http://www.amxmodx.org/funcwiki.php?go=inc&amp;amp;id=47 Messaging functions] and [http://www.amxmodx.org/funcwiki.php?go=inc&amp;amp;id=48 Message constants] for full messages control including blocking, argument alteration and much more.&amp;lt;br&amp;gt;&lt;br /&gt;
*Type ''meta game'' in the server console to list messages for the current mod.&lt;br /&gt;
*Damaged Soul's [http://forums.alliedmods.net/showthread.php?p=66267 Message Logging plugin] for AMX Mod X can be used to log messages and their parameters on a live server.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= ADStop =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|ADStop}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= AlienInfo =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= AllowSpec =&lt;br /&gt;
{{ModList||cstrike|czero|gearbox|tfc}}&lt;br /&gt;
&lt;br /&gt;
This message changes whether or not &amp;quot;SPECTATE&amp;quot; appears on the change team menu. It is sent whenever the allow_spectators CVar is changed, with its new value sent as the byte.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This changes how the change team menu appears, but spectating functionality is based on the actual CVar value.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|AllowSpec|byte}}&lt;br /&gt;
{{hl1msg|byte|Allowed}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= AmmoPickup =&lt;br /&gt;
{{ModList||cstrike|czero|dod|dmc|gearbox|ns|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
This message temporarily draws [[HUD]] numerical ammo amount and corresponding ammo [[HUD]] icon in the middle of the right side of the screen.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Draw time depends on the ''hud_drawhistory_time'' client CVar value.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|See [[CS Weapons Information]] for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|AmmoPickup|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|AmmoID}}&lt;br /&gt;
{{hl1msg|byte|Ammount}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= AmmoShort =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= AmmoX =&lt;br /&gt;
{{ModList||cstrike|czero|dod|dmc|gearbox|ns|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
This message updates the green bar indicator in the [[HUD]] weapons list. It also updates [[HUD]] backpack ammo number in the lower right corner of the screen if the given ammo type is compatible with the current weapon.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|See [[CS Weapons Information]] for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|AmmoX|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|AmmoID}}&lt;br /&gt;
{{hl1msg|byte|Ammount}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ArmorType =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
This message draws/removes the helmet [[HUD]] icon. If flag is set to 1, the helmet [[HUD]] icon will be drawn (located right on the armor icon).&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|ArmorType|byte}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BalanceVar =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= BarTime =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
This message 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.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Set Duration to 0 to hide the bar.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|BarTime|short}}&lt;br /&gt;
{{hl1msg|short|Duration}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BarTime2 =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
The message is the same as [[#BarTime|BarTime]], but StartPercent specifies how much of the bar is (already) filled.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Display time can be calculated with this formula: ''(1 - (StartPercent / 100)) / Duration''}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|BarTime2|short, short}}&lt;br /&gt;
{{hl1msg|short|Duration}}&lt;br /&gt;
{{hl1msg|short|StartPercent}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Battery =&lt;br /&gt;
{{ModList||cstrike|czero|dmc|gearbox|ns|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
This message updates the icon and numerical armor value on the [[HUD]].&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|Battery|short}}&lt;br /&gt;
{{hl1msg|short|Armor}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Bench =&lt;br /&gt;
{{ModList||tfc}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= BlinkAcct =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
This message makes a player's money display flash rapidly, a total of BlinkAmt times.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|BlinkAcct|byte}}&lt;br /&gt;
{{hl1msg|byte|BlinkAmt}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BlipList =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= BloodPuff =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
This message creates a puff of blood at the specified coordinates.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|BloodPuff|coord, coord, coord}}&lt;br /&gt;
{{hl1msg|coord|CoordX}}&lt;br /&gt;
{{hl1msg|coord|CoordY}}&lt;br /&gt;
{{hl1msg|coord|CoordZ}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BombDrop =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
This message is sent when the bomb is dropped or planted by a player.&lt;br /&gt;
&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|BombDrop|coord, coord, coord, byte}}&lt;br /&gt;
{{hl1msg|coord|CoordX}}&lt;br /&gt;
{{hl1msg|coord|CoordY}}&lt;br /&gt;
{{hl1msg|coord|CoordZ}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BombPickup =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|BombPickup}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BotProgress =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|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.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|BotProgress|byte, byte, string}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{hl1msg|byte|Progress}}&lt;br /&gt;
{{hl1msg|string|Header}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BotVoice =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
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 &amp;lt;i&amp;gt;can&amp;lt;/i&amp;gt; specify a regular player (non-bot) for the PlayerIndex. Status is 1 for talking, or 0 for not talking.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|BotVoice|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|Status}}&lt;br /&gt;
{{hl1msg|byte|PlayerIndex}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Brass =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
This message creates a brass shell. Used, for example, by the AWP, after firing.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|Brass|byte, coord, coord, coord, coord, coord, coord, coord, coord, coord, angle, short, byte, byte, byte}}&lt;br /&gt;
{{hl1msg|byte|MessageID}}&lt;br /&gt;
{{hl1msg|coord|StartX}}&lt;br /&gt;
{{hl1msg|coord|StartY}}&lt;br /&gt;
{{hl1msg|coord|StartZ}}&lt;br /&gt;
{{hl1msg|coord|VelocityX?}}&lt;br /&gt;
{{hl1msg|coord|VelocityY?}}&lt;br /&gt;
{{hl1msg|coord|VelocityZ?}}&lt;br /&gt;
{{hl1msg|coord|UnknownX}}&lt;br /&gt;
{{hl1msg|coord|UnknownY}}&lt;br /&gt;
{{hl1msg|coord|UnknownZ}}&lt;br /&gt;
{{hl1msg|angle|Rotation}}&lt;br /&gt;
{{hl1msg|short|ModelIndex}}&lt;br /&gt;
{{hl1msg|byte|BounceSoundType}}&lt;br /&gt;
{{hl1msg|byte|Life}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BuildSt =&lt;br /&gt;
{{ModList||tfc}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= BuyClose =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
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).&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|BuyClose}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Camera =&lt;br /&gt;
{{ModList||svencoop}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= CameraMouse =&lt;br /&gt;
{{ModList||svencoop}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= CameraView =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= CancelProg =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= CapMsg =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
This displays a message like &amp;quot;Player captured the Allied plaza for the Axis&amp;quot;. An example PointName is ''POINT_CAEN_AXISPLAZA''.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|CapMsg|byte, string, byte}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{hl1msg|string|PointName}}&lt;br /&gt;
{{hl1msg|byte|TeamID}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= CbElec =&lt;br /&gt;
{{ModList||svencoop}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= ClanTimer =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= ClCorpse =&lt;br /&gt;
{{ModList||cstrike|czero|dod}}&lt;br /&gt;
&lt;br /&gt;
This message spawns a player's corpse. ModelName is the player's model name, for example: &amp;quot;leet&amp;quot;. Delay is a delay before animation playback, which can be a negative value.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Coord and Delay is multiplied by 128.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|In CS, argument #10 is always equal to 0.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*See [http://www.amxmodx.org/funcwiki.php?go=module&amp;amp;id=4#const_teams CS Team Constants] for team indices constants list.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|ClCorpse|string, long, long, long, coord, coord, coord, long, byte, byte, byte, byte}}&lt;br /&gt;
{{hl1msg|string|ModelName}}&lt;br /&gt;
{{hl1msg|long|CoordX}}&lt;br /&gt;
{{hl1msg|long|CoordY}}&lt;br /&gt;
{{hl1msg|long|CoordZ}}&lt;br /&gt;
{{hl1msg|coord|Angle0}}&lt;br /&gt;
{{hl1msg|coord|Angle1}}&lt;br /&gt;
{{hl1msg|coord|Angle2}}&lt;br /&gt;
{{hl1msg|long|Delay}}&lt;br /&gt;
{{hl1msg|byte|Sequence}}&lt;br /&gt;
{{hl1msg|byte|ClassID?}}&lt;br /&gt;
{{hl1msg|byte|TeamID}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ClientAreas =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= ClScript =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Concuss =&lt;br /&gt;
{{ModList||tfc}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Countdown =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= CreateBlood =&lt;br /&gt;
{{ModList||svencoop}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Crosshair =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
This message draws/removes a crosshair. If Flag is set to 1 the crosshair will be drawn.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This crosshair looks not like the regular one, but like the one that is drawn in spectator mode.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|Crosshair|byte}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= CTFScore =&lt;br /&gt;
{{ModList||gearbox}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= CurMarker =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= CurWeapon =&lt;br /&gt;
{{ModList||cstrike|czero|dod|dmc|gearbox|ns|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
This message updates the numerical magazine ammo count and the corresponding ammo type icon on the [[HUD]].&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|See [[CS Weapons Information]] for more information on Counter-Strike weapons.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|CurWeapon|byte, byte, byte}}&lt;br /&gt;
{{hl1msg|byte|IsActive}}&lt;br /&gt;
{{hl1msg|byte|WeaponID}}&lt;br /&gt;
{{hl1msg|byte|ClipAmmo}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= CustomIcon =&lt;br /&gt;
{{ModList||gearbox}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= CZCareer =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
This message supplies certain updates to the player regarding Condition Zero single-player missions.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|See the [[CZCareer]] page for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|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).}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|The Type argument is case-sensitive.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|This event does nothing in CS and CZ multiplayer.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|CZCareer|string,*}}&lt;br /&gt;
{{hl1msg|string|Type}}&lt;br /&gt;
{{hl1msg|*|Parameters}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= CZCareerHUD =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
This message displays certain [[HUD]] elements regarding Condition Zero single-player missions.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|See the [[CZCareerHUD]] page for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|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).}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|The Type argument is case-sensitive.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|This event has some limited functionality in CS and CZ multi-player (albeit better in CZ).}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|CZCareerHUD|string,*}}&lt;br /&gt;
{{hl1msg|string|Type}}&lt;br /&gt;
{{hl1msg|*|Parameters}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Damage =&lt;br /&gt;
{{ModList||cstrike|czero|dmc|gearbox|ns|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|To capture this message, you should use &amp;quot;b&amp;quot; as the third parameter in the register_event() function.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|Damage|byte, byte, long, coord, coord, coord}}&lt;br /&gt;
{{hl1msg|byte|DamageSave}}&lt;br /&gt;
{{hl1msg|byte|DamageTake}}&lt;br /&gt;
{{hl1msg|long|DamageType}}&lt;br /&gt;
{{hl1msg|coord|CoordX}}&lt;br /&gt;
{{hl1msg|coord|CoordY}}&lt;br /&gt;
{{hl1msg|coord|CoordZ}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= DeathMsg =&lt;br /&gt;
{{ModList||cstrike|czero|dod|dmc|gearbox|ns|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
It also prints the console text message &amp;quot;KillerName killed VictimName with TruncatedWeaponName&amp;quot; or &amp;quot;*** KillerName killed VictimName with a headshot from TruncatedWeaponName ***&amp;quot;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has different parameters depending upon the mod.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|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 &amp;quot;trigger_hurt&amp;quot; entity, in which cases TruncatedWeaponName will be &amp;quot;worldspawn&amp;quot; and &amp;quot;trigger_hurt&amp;quot; respectively.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|For vehicle kills, TruncatedWeaponName could be &amp;quot;vehicle&amp;quot;, &amp;quot;tank&amp;quot;, etc.}}&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|DeathMsg|byte, byte, byte, string}}&lt;br /&gt;
{{hl1msg|byte|KillerID}}&lt;br /&gt;
{{hl1msg|byte|VictimID}}&lt;br /&gt;
{{hl1msg|string|TruncatedWeaponName}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
== Counter-Strike ==&lt;br /&gt;
{{qnotice|TruncatedWeaponName doesn't contain a &amp;quot;weapon_&amp;quot; prefix. See [[CS Weapons Information]] for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|For a grenade kill, TruncatedWeaponName isn't &amp;quot;hegrenade&amp;quot;, but rather &amp;quot;grenade&amp;quot;, which is the actual classname of a thrown grenade.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|DeathMsg|byte, byte, byte, string}}&lt;br /&gt;
{{hl1msg|byte|KillerID}}&lt;br /&gt;
{{hl1msg|byte|VictimID}}&lt;br /&gt;
{{hl1msg|byte|IsHeadshot}}&lt;br /&gt;
{{hl1msg|string|TruncatedWeaponName}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
== Day of Defeat ==&lt;br /&gt;
{{begin-hl1msg|DeathMsg|byte, byte, byte, string}}&lt;br /&gt;
{{hl1msg|byte|KillerID}}&lt;br /&gt;
{{hl1msg|byte|VictimID}}&lt;br /&gt;
{{hl1msg|byte|WeaponID}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= DebugCSP =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= DelEntHier =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= DelParts =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Detpack =&lt;br /&gt;
{{ModList||tfc}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= EditPS =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= EndRnd =&lt;br /&gt;
{{ModList||ricochet}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= EntHier =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Feign =&lt;br /&gt;
{{ModList||tfc}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= FlagIcon =&lt;br /&gt;
{{ModList||gearbox}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= FlagTimer =&lt;br /&gt;
{{ModList||gearbox}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= FlashBat =&lt;br /&gt;
{{ModList||cstrike|czero|dmc|gearbox|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
This message updates the flashlight battery charge on the [[HUD]].&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|FlashBat|byte}}&lt;br /&gt;
{{hl1msg|byte|ChargePercentage}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Flashlight =&lt;br /&gt;
{{ModList||cstrike|czero|dmc|gearbox|ns|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|Flashlight|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{hl1msg|byte|ChargePercent}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Fog =&lt;br /&gt;
{{ModList||cstrike|czero|ns|svencoop}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|mp_Fog 1 for fog in Counter-Strike}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|Fog|byte, byte, byte}}&lt;br /&gt;
{{hl1msg|byte|FogValue}}&lt;br /&gt;
{{hl1msg|byte|FogValue}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ForceCam =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Even if mp_forcechasecam is set to 2, it is sent by this message as 1.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|ForceCam|byte, byte, byte}}&lt;br /&gt;
{{hl1msg|byte|ForcecamValue}}&lt;br /&gt;
{{hl1msg|byte|ForcechasecamValue}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Frags =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
This message sets a player's kills, as seen on the scoreboard. This message is only sent for the killer.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|Frags|byte, short}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{hl1msg|short|Kills}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Frozen =&lt;br /&gt;
{{ModList||ricochet}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= GameMode =&lt;br /&gt;
{{ModList||cstrike|czero|dmc|gearbox|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
This message informs the client of the current game mode.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|GameMode|byte}}&lt;br /&gt;
{{hl1msg|byte|Game mode}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= GameRules =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= GameStatus =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= GameTitle =&lt;br /&gt;
{{ModList||cstrike|czero|dmc|gearbox|ns|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|GameTitle|byte}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= GargSplash =&lt;br /&gt;
{{ModList||svencoop}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Geiger =&lt;br /&gt;
{{ModList||cstrike|czero|dmc|gearbox|ns|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|Geiger|byte}}&lt;br /&gt;
{{hl1msg|byte|Distance}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Gib =&lt;br /&gt;
{{ModList||svencoop}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= HandSignal =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Health =&lt;br /&gt;
{{ModList||cstrike|czero|dod|dmc|gearbox|ns|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
This message updates the numerical health value on the [[HUD]].&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|Health|byte}}&lt;br /&gt;
{{hl1msg|byte|Health}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= HideWeapon =&lt;br /&gt;
{{ModList||cstrike|czero|dod|dmc|gearbox|ns|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
This message hides the specified [[HUD]] elements.&amp;lt;br&amp;gt;&lt;br /&gt;
Flags:&lt;br /&gt;
   1   (1&amp;lt;&amp;lt;0)  -  crosshair, ammo, weapons list&lt;br /&gt;
   2   (1&amp;lt;&amp;lt;1)  -  flashlight, +&lt;br /&gt;
   4   (1&amp;lt;&amp;lt;2)  -  ALL&lt;br /&gt;
   8   (1&amp;lt;&amp;lt;3)  -  radar, health, armor, +&lt;br /&gt;
  16   (1&amp;lt;&amp;lt;4)  -  timer, +&lt;br /&gt;
  32   (1&amp;lt;&amp;lt;5)  -  money, +&lt;br /&gt;
  64   (1&amp;lt;&amp;lt;6)  -  crosshair&lt;br /&gt;
 128   (1&amp;lt;&amp;lt;7)  -  +&lt;br /&gt;
Symbol + mean that an additional crosshair will be drawn. That crosshair looks exactly like the one from Crosshair message.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|HideWeapon|byte}}&lt;br /&gt;
{{hl1msg|byte|Flags}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= HLTV =&lt;br /&gt;
{{ModList||cstrike|czero|dod|}}&lt;br /&gt;
&lt;br /&gt;
This message is sent for HLTV and is unique for each round-start.&amp;lt;br&amp;gt;&lt;br /&gt;
On new round is fired 2 messages:&lt;br /&gt;
 // reset all players health for HLTV&lt;br /&gt;
 MESSAGE_BEGIN( MSG_SPEC, gmsgHLTV );&lt;br /&gt;
 WRITE_BYTE( 0 );   // 0 = all players&lt;br /&gt;
 WRITE_BYTE( 100 | 128 );&lt;br /&gt;
 MESSAGE_END();&amp;lt;br&amp;gt;&lt;br /&gt;
 // reset all players FOV for HLTV&lt;br /&gt;
 MESSAGE_BEGIN( MSG_SPEC, gmsgHLTV );&lt;br /&gt;
 WRITE_BYTE( 0 );   // all players&lt;br /&gt;
 WRITE_BYTE( 0 );&lt;br /&gt;
 MESSAGE_END();&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|HLTV|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|ClientID}}&lt;br /&gt;
{{hl1msg|byte|Flags}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= HostageK =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
This message temporarily draws a blinking red dot on the CT players' radar when a hostage is killed.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|HostageK|byte}}&lt;br /&gt;
{{hl1msg|byte|HostageID}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= HostagePos =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
This message draws/updates the blue mark on the CT players' radar which indicates the corresponding hostage's position.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|It is called with Flag set to 1 on player [[HUD]] full update.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|HostagePos|byte, byte, coord, coord, coord}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{hl1msg|byte|HostageID}}&lt;br /&gt;
{{hl1msg|coord|CoordX}}&lt;br /&gt;
{{hl1msg|coord|CoordY}}&lt;br /&gt;
{{hl1msg|coord|CoordZ}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= HudColor =&lt;br /&gt;
{{ModList||gearbox}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= HudText =&lt;br /&gt;
{{ModList||cstrike|czero|dod|dmc|gearbox|ns|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
This message prints [[HUD]] text.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Prints message with specified style in titles.txt with small signs (like in HL)}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|HudText|string, byte, byte}}&lt;br /&gt;
{{hl1msg|string|TextCode}}&lt;br /&gt;
{{hl1msg|byte|InitHUDstyle}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= HudText2 =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= HudTextArgs =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
This message prints [[HUD]] text.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|An example of TextCode could be &amp;quot;#Hint_you_have_the_bomb&amp;quot;.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|Prints message with specified style in titles.txt with Big signs (CS Default)}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|If you have problems specifying the last two arguments, use 1 and 0 respectively.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|HudTextArgs|string, byte, byte}}&lt;br /&gt;
{{hl1msg|string|TextCode}}&lt;br /&gt;
{{hl1msg|byte|InitHUDstyle}}&lt;br /&gt;
{{hl1msg|byte|NumberOfSubMessages}}&lt;br /&gt;
{{hl1msg|string|SubMsg}}&lt;br /&gt;
{{hl1msg|string|SubMsg}}&lt;br /&gt;
{{hl1msg|string|...}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= HudTextPro =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
This message prints [[HUD]] text.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Prints message with specified style in titles.txt with Big signs (CS Default)}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|HudText|string, byte, byte}}&lt;br /&gt;
{{hl1msg|string|TextCode}}&lt;br /&gt;
{{hl1msg|byte|InitHUDstyle}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= InitHUD =&lt;br /&gt;
{{ModList||cstrike|czero|dod|dmc|gearbox|ns|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
This message initializes the [[HUD]].&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|InitHUD}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= InitObj =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
This message updates the flags (axis/allies/objective flags, not programming flags) displayed to the client when a point is captured.&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|InitObj|byte,*,*}}&lt;br /&gt;
{{hl1msg|byte|TotalObjectives}}&lt;br /&gt;
{{hl1msg|Objective|...}}&lt;br /&gt;
{{hl1msg|...|}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
''TotalObjectives'' represents the number of ''Objective'' sub-messages that are present. Each ''Objective'' sub-message is in the following format:&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|Objective|short, byte, byte, byte, byte, byte, byte, coord, coord}}&lt;br /&gt;
{{hl1msg|short|EntityID?}}&lt;br /&gt;
{{hl1msg|byte|ObjectiveID?}}&lt;br /&gt;
{{hl1msg|byte|TeamID}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{hl1msg|coord|CoordX?}}&lt;br /&gt;
{{hl1msg|coord|CoordY?}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
If a map has 5 objectives, this message will have 46 arguments (1 + 5 * 9).&lt;br /&gt;
&lt;br /&gt;
= IssueOrder =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= ItemPickup =&lt;br /&gt;
{{ModList||cstrike|czero|dmc|gearbox|ns|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
This message temporarily draws a corresponding item [[HUD]] icon in the middle of the right side of the screen.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Draw time is dependent on the ''hud_drawhistory_time'' client CVar value.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|ItemPickup|string}}&lt;br /&gt;
{{hl1msg|string|ItemName}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Items =&lt;br /&gt;
{{ModList||tfc}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= ItemStatus =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
This message notifies the client about carried items.&amp;lt;br&amp;gt;&lt;br /&gt;
Example of some item bits:&lt;br /&gt;
 1   (1&amp;lt;&amp;lt;0)  -  nightvision goggles&lt;br /&gt;
 2   (1&amp;lt;&amp;lt;1)  -  defusal kit&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|ItemStatus|byte}}&lt;br /&gt;
{{hl1msg|byte|ItemsBitSum}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ListPS =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Location =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
This message is sent when a player changes zones on a map.&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|Location|byte, string}}&lt;br /&gt;
{{hl1msg|byte|PlayerId}}&lt;br /&gt;
{{hl1msg|string|LocationName}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= MapList =&lt;br /&gt;
{{ModList||svencoop}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= MapMarker =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= MiniMap =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Money =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
This message updates the amount of money on the [[HUD]]. If the Flag is 1, the amount of money added will also be displayed.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|Money|long, byte}}&lt;br /&gt;
{{hl1msg|long|Amount}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Monitor =&lt;br /&gt;
{{ModList||svencoop}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= MOTD =&lt;br /&gt;
{{ModList||cstrike|czero|dod|dmc|gearbox|ns|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
This message displays the MOTD window.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Max. Text length is 60. A larger MOTD is sent in multiple messages. Flag will be set to 1 for the final segment.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|MOTD|byte, string}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{hl1msg|string|Text}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= NextMap =&lt;br /&gt;
{{ModList||svencoop}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= NexusBytes =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= NVGToggle =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
This message toggles night vision mode. For Flag: 1 is on, 0 is off.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|NVGToggle|byte}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Object =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
This message is sent when a player picks up certain objects. The specified sprite will be displayed on the left side of the [[HUD]]. An example Sprite is ''sprites/mapsprites/ae_satchel2.spr''.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|Object|string}}&lt;br /&gt;
{{hl1msg|string|Sprite}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ObjScore =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
This message sets a player's score, as seen on the scoreboard.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|ObjScore|byte, short}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{hl1msg|short|Score}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= OldWeapon =&lt;br /&gt;
{{ModList||gearbox}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Particles =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= PClass =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|PClass|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|PlayerID?}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= PlayerIcon =&lt;br /&gt;
{{ModList||gearbox}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= PlayersIn =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= PlayHUDNot =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Playlist =&lt;br /&gt;
{{ModList||svencoop}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= PlyrBrowse =&lt;br /&gt;
{{ModList||gearbox}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Portal =&lt;br /&gt;
{{ModList||svencoop}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Powerup =&lt;br /&gt;
{{ModList||ricochet}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= ProfileInfo =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Progress =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= ProgUpdate =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= PShoot =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= PStatus =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
This message is sent along with [[#Object|Object]] when a player picks up an object. It may have other uses. When I picked up a satchel charge, the Unknown value was 5.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|PStatus|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|PlayerID?}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= PTeam =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= QItems =&lt;br /&gt;
{{ModList||dmc}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Radar =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
This message draws/updates the dot on the [[HUD]] radar which indicates the given player position.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This works for teammates only.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|Radar|byte, coord, coord, coord}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{hl1msg|coord|CoordX}}&lt;br /&gt;
{{hl1msg|coord|CoordY}}&lt;br /&gt;
{{hl1msg|coord|CoordZ}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= RampSprite =&lt;br /&gt;
{{ModList||svencoop}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= RandomPC =&lt;br /&gt;
{{ModList||tfc}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= ReceiveW =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
This message tells the client which visual weather effect to be executed client side, if client's cl_weather CVar is above 0.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Main part of CBasePlayer::SendWeatherInfo() function that is sent in CBasePlayer :: UpdateClientData() when player offset m_fInitHUD is 1&amp;lt;br&amp;gt;&lt;br /&gt;
(right after putinserver or after fullupdate command)&amp;lt;br&amp;gt;&lt;br /&gt;
Mode: 1 is for rain effect, 2 is for snow effect&amp;lt;br&amp;gt;&lt;br /&gt;
Though mode 0 is never sent by the game itself, it removes the weather effect.&amp;lt;br&amp;gt;&lt;br /&gt;
Alternatively send mode 1 and mode 2 with judicious delays (time for effect to disappear) to make both rain and snow effect}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|ReceiveW|byte}}&lt;br /&gt;
{{hl1msg|byte|Mode}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ReloadDone =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= ReloadSound =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
This message plays generic reload sounds.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Setting IsNotShotgun to 1 will play weapons/generic_reload.wav}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|Setting IsNotShotgun to 0 will play weapons/generic_shot_reload.wav}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|ReloadSound|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|Volume * 255}}&lt;br /&gt;
{{hl1msg|byte|IsNotShotgun}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ReqState =&lt;br /&gt;
{{ModList||cstrike|czero|dod|dmc|ns|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|ReqState}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ResetFade =&lt;br /&gt;
{{ModList||tfc}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= ResetHUD =&lt;br /&gt;
{{ModList||cstrike|czero|dod|dmc|gearbox|ns|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
This message resets the [[HUD]].&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|ResetHUD}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ResetSens =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
This message resets the client's sensitivity?&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|ResetSens}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Reward =&lt;br /&gt;
{{ModList||ricochet}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= RoundState =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= RoundTime =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
This message updates the round timer on the [[HUD]]. Time is in seconds.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|RoundTime|short}}&lt;br /&gt;
{{hl1msg|short|Time}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SayText =&lt;br /&gt;
{{ModList||cstrike|czero|dod|dmc|gearbox|ns|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
Examples of predefined Counter-Strike string values include #Cstrike_Chat_AllDead and #Cstrike_Name_Change.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|For #Cstrike_Name_Change String2 is an old name and String3 is a new name.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SayText|byte, string, string, string}}&lt;br /&gt;
{{hl1msg|byte|SenderID}}&lt;br /&gt;
{{hl1msg|string|String1}}&lt;br /&gt;
{{hl1msg|string|String2}}&lt;br /&gt;
{{hl1msg|string|String3}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Scenario =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[image:Cs_scenario_msg.jpg|frame|right|Scenario message in CS, using the following parameters: 1, d_mp5navy, 150]]&lt;br /&gt;
&lt;br /&gt;
{{qnotice|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.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|This works in both CS and CZ!}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|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.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|Scenario|byte, string, byte, short, short}}&lt;br /&gt;
{{hl1msg|byte|Active}}&lt;br /&gt;
{{hl1msg|string|Sprite}}&lt;br /&gt;
{{hl1msg|byte|Alpha}}&lt;br /&gt;
{{hl1msg|short|FlashRate}}&lt;br /&gt;
{{hl1msg|short|FlashDelay}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Scope =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|Scope|byte}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ScoreAttrib =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
This message updates the scoreboard attribute for the specified player. For the 2nd argument, 0 is nothing, (1&amp;lt;&amp;lt;0) i.e. 1 is dead, (1&amp;lt;&amp;lt;1) i.e. 2 is bomb, (1&amp;lt;&amp;lt;2) i.e. 4 is VIP.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|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.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|ScoreAttrib|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{hl1msg|byte|Flags}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ScoreInfo =&lt;br /&gt;
{{ModList||cstrike|czero|dod|dmc|gearbox|ns|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
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. In Team Fortress Classic, the score is based on the number of kills, suicides, and captures. Day of Defeat uses [[#ScoreShort|ScoreShort]] and [[#ObjScore|ObjScore]] instead of this message to update score and deaths.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|In CS the 4th argument (ClassID) is always equal to 0.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*See [http://www.amxmodx.org/funcwiki.php?go=module&amp;amp;id=4#const_teams CS Team Constants] for team indices constants list.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|ScoreInfo|byte, short, short, short, short}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{hl1msg|short|Score}}&lt;br /&gt;
{{hl1msg|short|Deaths}}&lt;br /&gt;
{{hl1msg|short|ClassID}}&lt;br /&gt;
{{hl1msg|short|TeamID}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ScoreInfoLong =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Although Metamod lists this message, it doesn't appear to be used or even a valid message name.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= ScoreShort =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
This message updates a player's Score, Kills, and Deaths as seen on the scoreboard. This message is only sent for the victim.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|The fifth argument appears to be the same as the ''refresh'' parameter used in [http://amxmodx.org/doc/source/functions/dodfun/dod_set_pl_deaths.htm dod_set_pl_deaths] and was always 1 in my testing.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|ScoreShort|byte, short, short, short, byte}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{hl1msg|short|Score}}&lt;br /&gt;
{{hl1msg|short|Kills}}&lt;br /&gt;
{{hl1msg|short|Deaths}}&lt;br /&gt;
{{hl1msg|short|Refresh?}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ScreenFade =&lt;br /&gt;
{{ModList||cstrike|czero|dod|dmc|gearbox|ns|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
This message fades the screen.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Duration and HoldTime is in special units. 1 second is equal to (1&amp;lt;&amp;lt;12) i.e. 4096 units.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Flags (from HLSDK):&lt;br /&gt;
 FFADE_IN         0x0000 // Just here so we don't pass 0 into the function&lt;br /&gt;
 FFADE_OUT        0x0001 // Fade out (not in)&lt;br /&gt;
 FFADE_MODULATE   0x0002 // Modulate (don't blend)&lt;br /&gt;
 FFADE_STAYOUT    0x0004 // ignores the duration, stays faded out until new ScreenFade message received&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|ScreenFade|short, short, short, byte, byte, byte, byte}}&lt;br /&gt;
{{hl1msg|short|Duration}}&lt;br /&gt;
{{hl1msg|short|HoldTime}}&lt;br /&gt;
{{hl1msg|short|Flags}}&lt;br /&gt;
{{hl1msg|byte|ColorR}}&lt;br /&gt;
{{hl1msg|byte|ColorG}}&lt;br /&gt;
{{hl1msg|byte|ColorB}}&lt;br /&gt;
{{hl1msg|byte|Alpha}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ScreenShake =&lt;br /&gt;
{{ModList||cstrike|czero|dod|dmc|gearbox|ns|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
This message shakes the screen.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|All arguments is in special units. 1 second is equal to (1&amp;lt;&amp;lt;12) i.e. 4096 units.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|ScreenShake|short, short, short}}&lt;br /&gt;
{{hl1msg|short|Amplitude}}&lt;br /&gt;
{{hl1msg|short|Duration}}&lt;br /&gt;
{{hl1msg|short|Frequency}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SecAmmoIcon =&lt;br /&gt;
{{ModList||tfc}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= SecAmmoVal =&lt;br /&gt;
{{ModList||tfc}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= SelAmmo =&lt;br /&gt;
{{ModList||dmc|gearbox|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= SendAudio =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
This message plays the specified audio. An example of AudioCode could be &amp;quot;%!MRAD_rounddraw&amp;quot;.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SendAudio|byte, string, short}}&lt;br /&gt;
{{hl1msg|byte|SenderID}}&lt;br /&gt;
{{hl1msg|string|AudioCode}}&lt;br /&gt;
{{hl1msg|short|Pitch}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ServerName =&lt;br /&gt;
{{ModList||cstrike|czero|dod|dmc|gearbox|ns|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
This message sends the server name to a client.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|ServerName|string}}&lt;br /&gt;
{{hl1msg|string|ServerName}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ServerVar =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= SetFOV =&lt;br /&gt;
{{ModList||cstrike|czero|dod|dmc|gearbox|ns|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
This message sets the specified field of view.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SetFOV|byte}}&lt;br /&gt;
{{hl1msg|byte|Degrees}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SetGmma =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= SetMenuTeam =&lt;br /&gt;
{{ModList||gearbox}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= SetObj =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SetObj|byte, byte, byte}}&lt;br /&gt;
{{hl1msg|byte|Unknown1}}&lt;br /&gt;
{{hl1msg|byte|Unknown2}}&lt;br /&gt;
{{hl1msg|byte|Unknown3}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SetOrder =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= SetRequest =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= SetSelect =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= SetTech =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= SetTopDown =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= SetUpgrades =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= SetupMap =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= ShadowIdx =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|ShadowIdx|long}}&lt;br /&gt;
{{hl1msg|long|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ShieldRic =&lt;br /&gt;
{{ModList||svencoop}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= ShkFlash =&lt;br /&gt;
{{ModList||svencoop}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= ShowMenu =&lt;br /&gt;
{{ModList||cstrike|czero|dod|dmc|gearbox|ns|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
This message displays a &amp;quot;menu&amp;quot; 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).&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|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.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|ShowMenu|short, char, byte, string}}&lt;br /&gt;
{{hl1msg|short|KeysBitSum}}&lt;br /&gt;
{{hl1msg|char|Time}}&lt;br /&gt;
{{hl1msg|byte|Multipart}}&lt;br /&gt;
{{hl1msg|string|Text}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ShowTimer =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
This message forces the round timer to display.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|ShowTimer}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Sky3D =&lt;br /&gt;
{{ModList||svencoop}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= SoundList =&lt;br /&gt;
{{ModList||svencoop}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= SoundNames =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Speaksent =&lt;br /&gt;
{{ModList||svencoop}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= SpecFade =&lt;br /&gt;
{{ModList||tfc}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= SpecHealth =&lt;br /&gt;
{{ModList||cstrike|czero|tfc}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SpecHealth|byte}}&lt;br /&gt;
{{hl1msg|byte|Health?}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SpecHealth2 =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
This message updates a spectator's screen with the name and health of the given player.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SpecHealth2|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|Health}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Spectator =&lt;br /&gt;
{{ModList||cstrike|czero|dod|gearbox|ricochet|svencoop|tfc}}&lt;br /&gt;
&lt;br /&gt;
This message is sent when a player becomes an observer/spectator.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|On join to Spectators this usually is fired twice in a row.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|Spectator|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|ClientID}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SporeTrail =&lt;br /&gt;
{{ModList||svencoop}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= SRDetonate =&lt;br /&gt;
{{ModList||svencoop}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= SRPrimed =&lt;br /&gt;
{{ModList||svencoop}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= SRPrimedOff =&lt;br /&gt;
{{ModList||svencoop}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= StartProg =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= StartProgF =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= StartRnd =&lt;br /&gt;
{{ModList||ricochet}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= StartSound =&lt;br /&gt;
{{ModList||svencoop}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= StatsInfo =&lt;br /&gt;
{{ModList||gearbox}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= StatsPlayer =&lt;br /&gt;
{{ModList||gearbox}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= StatusIcon =&lt;br /&gt;
{{ModList||cstrike|czero|gearbox|tfc}}&lt;br /&gt;
&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|StatusIcon|byte, string, byte, byte, byte}}&lt;br /&gt;
{{hl1msg|byte|Status}}&lt;br /&gt;
{{hl1msg|string|SpriteName}}&lt;br /&gt;
{{hl1msg|byte|ColorR}}&lt;br /&gt;
{{hl1msg|byte|ColorG}}&lt;br /&gt;
{{hl1msg|byte|ColorB}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= StatusText =&lt;br /&gt;
{{ModList||cstrike|czero|dmc|ns|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
This message specifies the status text format.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|StatusText|byte, string}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{hl1msg|string|Text}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= StatusValue =&lt;br /&gt;
{{ModList||cstrike|czero|dod|dmc|ns|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
Usually this is fired as a triple message, for example:&lt;br /&gt;
 {1,  2}  -  non-teammate player&lt;br /&gt;
 {2, 17}  -  player index is 17&lt;br /&gt;
 {3, 59}  -  player health is 59&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|StatusValue|byte, short}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{hl1msg|short|Value}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TaskTime =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
This message displays a secondary timer above the round timer. It is used for Condition Zero singleplayer missions.&amp;lt;br&amp;gt;&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
If Active is true, timer counts down. Otherwise, it is paused.&amp;lt;br&amp;gt;&lt;br /&gt;
If Fade is above zero, the timer will slowly fade out after that many seconds have passed (even if the timer is inactive).&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This event can only be used on missions that have an objective requiring a secondary timer!}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|TaskTime|short, byte, byte}}&lt;br /&gt;
{{hl1msg|short|Time}}&lt;br /&gt;
{{hl1msg|byte|Active}}&lt;br /&gt;
{{hl1msg|byte|Fade}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TE_CUSTOM =&lt;br /&gt;
{{ModList||svencoop}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= TeamFull =&lt;br /&gt;
{{ModList||gearbox}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= TeamInfo =&lt;br /&gt;
{{ModList||cstrike|czero|dmc|gearbox|ns|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
This message sets the team information for the given player.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|In CS TeamName is either &amp;quot;UNASSIGNED&amp;quot;, &amp;quot;TERRORIST&amp;quot;, &amp;quot;CT&amp;quot; or &amp;quot;SPECTATOR&amp;quot;.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|TeamInfo|byte, string}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{hl1msg|string|TeamName}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TeamNames =&lt;br /&gt;
{{ModList||gearbox|ns|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= TeamScore =&lt;br /&gt;
{{ModList||cstrike|czero|dod|dmc|gearbox|ns|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
This message updates the team score on the scoreboard.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has different parameters depending upon the mod.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|In CS TeamName is either &amp;quot;TERRORIST&amp;quot; or &amp;quot;CT&amp;quot;.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|TeamScore|string, short}}&lt;br /&gt;
{{hl1msg|string|TeamName}}&lt;br /&gt;
{{hl1msg|short|Score}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
== Day of Defeat ==&lt;br /&gt;
{{begin-hl1msg|TeamScore|byte, short}}&lt;br /&gt;
{{hl1msg|byte|TeamID}}&lt;br /&gt;
{{hl1msg|short|Score}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TechSlots =&lt;br /&gt;
{{ModList||ns}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= TextMsg =&lt;br /&gt;
{{ModList||cstrike|czero|dod|dmc|gearbox|ns|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
This message prints a custom or predefined text message.&amp;lt;br&amp;gt;&lt;br /&gt;
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:&lt;br /&gt;
 Arg1: 1&lt;br /&gt;
 Arg2: #Game_join_ct&lt;br /&gt;
 Arg3: Pimp Daddy&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|TextMsg|byte, string, string, string, string, string}}&lt;br /&gt;
{{hl1msg|byte|DestinationType}}&lt;br /&gt;
{{hl1msg|string|Message}}&lt;br /&gt;
{{hl1msg|string|Submsg}}&lt;br /&gt;
{{hl1msg|string|Submsg}}&lt;br /&gt;
{{hl1msg|string|Submsg}}&lt;br /&gt;
{{hl1msg|string|Submsg}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TimeEnd =&lt;br /&gt;
{{ModList||svencoop}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= TimeLeft =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= TimerStatus =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= ToxicCloud =&lt;br /&gt;
{{ModList||svencoop}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= TracerDecal =&lt;br /&gt;
{{ModList||svencoop}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Train =&lt;br /&gt;
{{ModList||cstrike|czero|dmc|gearbox|ns|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
This message displays the speed bar used for controlling a train.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Speed is as follows: 0 (disable display), 1 (neutral), 2 (slow speed), 3 (medium speed), 4 (maximum speed), 5 (reverse)}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|Train|byte}}&lt;br /&gt;
{{hl1msg|byte|Speed}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TurretLaser =&lt;br /&gt;
{{ModList||svencoop}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= TutorClose =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
This message closes all CZ-style tutor popups.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|TutorClose}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TutorLine =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|TutorLine}}&lt;br /&gt;
{{hl1msg|short|Unknown1}}&lt;br /&gt;
{{hl1msg|short|Unknown2}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TutorState =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|TutorState }}&lt;br /&gt;
{{hl1msg|string|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TutorText =&lt;br /&gt;
{{ModList||cstrike|czero}}&lt;br /&gt;
&lt;br /&gt;
This message is used to display a CZ-style tutor popup.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|If NumberOfSubMsgs is higher than 0, there should be such amount of write_string after this byte.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|TutorMessageEventId is indexed as listed in czero/tutordata.txt and starts from 0}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|IsDead is the message receiver alive status}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 DEFAULT		1	// 1&amp;lt;&amp;lt;0 | GREEN  | INFO&lt;br /&gt;
 FRIENDDEATH	2	// 1&amp;lt;&amp;lt;1 | RED    | SKULL&lt;br /&gt;
 ENEMYDEATH	4	// 1&amp;lt;&amp;lt;2 | BLUE   | SKULL&lt;br /&gt;
 SCENARIO	8	// 1&amp;lt;&amp;lt;3 | YELLOW | INFO&lt;br /&gt;
 BUY		16	// 1&amp;lt;&amp;lt;4 | GREEN  | INFO&lt;br /&gt;
 CAREER		32	// 1&amp;lt;&amp;lt;5 | GREEN  | INFO&lt;br /&gt;
 HINT		64	// 1&amp;lt;&amp;lt;6 | GREEN  | INFO&lt;br /&gt;
 INGAMEHINT	128	// 1&amp;lt;&amp;lt;7 | GREEN  | INFO&lt;br /&gt;
 ENDGAME		256	// 1&amp;lt;&amp;lt;8 | YELLOW | INFO&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|TutorText|string, byte, short, short, short}}&lt;br /&gt;
{{hl1msg|string|String}}&lt;br /&gt;
{{hl1msg|byte|NumberOfSubMsgs}}&lt;br /&gt;
{{hl1msg|string|SubMessage}}&lt;br /&gt;
{{hl1msg|string|...}}&lt;br /&gt;
{{hl1msg|short|TutorMessageEventId}}&lt;br /&gt;
{{hl1msg|short|IsDead}}&lt;br /&gt;
{{hl1msg|short|Type}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= UseSound =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= ValClass =&lt;br /&gt;
{{ModList||tfc}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= VGUIMenu =&lt;br /&gt;
{{ModList||cstrike|czero|dod|gearbox|svencoop|tfc|}}&lt;br /&gt;
&lt;br /&gt;
This message displays a predefined VGUI menu.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|VGUIMenu|byte, short, char, byte, string}}&lt;br /&gt;
{{hl1msg|byte|MenuID}}&lt;br /&gt;
{{hl1msg|short|KeysBitSum}}&lt;br /&gt;
{{hl1msg|char|Time?}}&lt;br /&gt;
{{hl1msg|byte|Multipart?}}&lt;br /&gt;
{{hl1msg|string|Name?}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ViewMode =&lt;br /&gt;
{{ModList||cstrike|czero|tfc}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message (HLSDK says this switches to first-person view, but it doesn't seem to function as so).}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|ViewMode}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= VoiceMask =&lt;br /&gt;
{{ModList||cstrike|czero|dod|dmc|ns|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
This message tells a client whom they can hear over the microphone.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|VoiceMask|long, long}}&lt;br /&gt;
{{hl1msg|long|AudiblePlayersIndexBitSum}}&lt;br /&gt;
{{hl1msg|long|ServerBannedPlayersIndexBitSum}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= VoteMenu =&lt;br /&gt;
{{ModList||svencoop}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= WaveStatus =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= WaveTime =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= WeaponList =&lt;br /&gt;
{{ModList||cstrike|czero|dod|dmc|gearbox|ns|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
This message configures the [[HUD]] weapons list.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This is fired on map initialization.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|SlotID starts from 0.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Flags (from HLSDK):&lt;br /&gt;
 ITEM_FLAG_SELECTONEMPTY       1&lt;br /&gt;
 ITEM_FLAG_NOAUTORELOAD        2&lt;br /&gt;
 ITEM_FLAG_NOAUTOSWITCHEMPTY   4&lt;br /&gt;
 ITEM_FLAG_LIMITINWORLD        8&lt;br /&gt;
 ITEM_FLAG_EXHAUSTIBLE        16 // A player can totally exhaust their ammo supply and lose this weapon.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|See [[CS Weapons Information]] for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|WeaponList|string, byte, byte, byte, byte, byte, byte, byte, byte}}&lt;br /&gt;
{{hl1msg|string|WeaponName}}&lt;br /&gt;
{{hl1msg|byte|PrimaryAmmoID}}&lt;br /&gt;
{{hl1msg|byte|PrimaryAmmoMaxAmount}}&lt;br /&gt;
{{hl1msg|byte|SecondaryAmmoID}}&lt;br /&gt;
{{hl1msg|byte|SecondaryAmmoMaxAmount}}&lt;br /&gt;
{{hl1msg|byte|SlotID}}&lt;br /&gt;
{{hl1msg|byte|NumberInSlot}}&lt;br /&gt;
{{hl1msg|byte|WeaponID}}&lt;br /&gt;
{{hl1msg|byte|Flags}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= WeapPickup =&lt;br /&gt;
{{ModList||cstrike|czero|dod|dmc|gearbox|ns|ricochet|svencoop|tfc|valve}}&lt;br /&gt;
&lt;br /&gt;
This message temporarily draws the corresponding weapon [[HUD]] icon in the middle of the right side of the screen.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Draw time depends on the ''hud_drawhistory_time'' client CVar value.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|This is fired right before weapon is picked up (notice ''&amp;quot;before&amp;quot;'').}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|See [[CS Weapons Information]] for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|WeapPickup|byte}}&lt;br /&gt;
{{hl1msg|byte|WeaponID}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Weather =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= WeatherFX =&lt;br /&gt;
{{ModList||svencoop}}&lt;br /&gt;
&lt;br /&gt;
{{qnotice|No Information is available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= YouDied =&lt;br /&gt;
{{ModList||dod}}&lt;br /&gt;
&lt;br /&gt;
This message is sent to a player when they die.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|YouDied|byte}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;/div&gt;</summary>
		<author><name>ConnorMcLeod</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.alliedmods.net/index.php?title=HamSandwich_General_Usage_(AMX_Mod_X)&amp;diff=9163</id>
		<title>HamSandwich General Usage (AMX Mod X)</title>
		<link rel="alternate" type="text/html" href="https://wiki.alliedmods.net/index.php?title=HamSandwich_General_Usage_(AMX_Mod_X)&amp;diff=9163"/>
		<updated>2013-10-22T17:55:36Z</updated>

		<summary type="html">&lt;p&gt;ConnorMcLeod: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== About Ham Sandwich ==&lt;br /&gt;
Ham Sandwich is a module that provides additional hooking and function calling capabilities to [[AMX Mod X]].  It's included with the 1.8 branch of AMX Mod X.&lt;br /&gt;
&lt;br /&gt;
Instead of hooking and executing Half-Life engine calls, like the modules FakeMeta and Engine do, this hooks and executes virtual function calls.&lt;br /&gt;
&lt;br /&gt;
=== What is a virtual function? ===&lt;br /&gt;
A virtual function is a member function of a class in C++.  In the case of Ham Sandwich, the virtual function would be a member function of a game entity.  The virtual functions deal with various events in game, such as damage, and using entities.&lt;br /&gt;
&lt;br /&gt;
Unlike normal member functions, virtual functions can be changed by class derivatives.  For example, a typical hierarchy of entities in Half-Life game dlls look something like this:&lt;br /&gt;
&lt;br /&gt;
 CBaseEntity&lt;br /&gt;
    CBaseAnimating&lt;br /&gt;
       CBaseMonster&lt;br /&gt;
          CZombie&lt;br /&gt;
          CHeadCrab&lt;br /&gt;
          CBarnacle&lt;br /&gt;
          CBasePlayer&lt;br /&gt;
             CBot&lt;br /&gt;
&lt;br /&gt;
Now for example, if CBaseEntity has the virtual function called &amp;quot;FunctionA&amp;quot;, and that function does nothing.  But, CBarnacle also declares the function &amp;quot;FunctionA&amp;quot;, and instead of doing nothing it causes the barnacle to die.&lt;br /&gt;
&lt;br /&gt;
If something like this were to be executed:&lt;br /&gt;
 CBaseEntity *ent=GET_PRIVATE(entity);&lt;br /&gt;
 ent-&amp;gt;FunctionA();&lt;br /&gt;
&lt;br /&gt;
And the entity were a barnacle, the barnacle would die.  If the entity was a zombie, nothing would happen.&lt;br /&gt;
&lt;br /&gt;
=== What are some limitations? ===&lt;br /&gt;
&lt;br /&gt;
Dealing with virtual functions have a couple minor drawbacks.&lt;br /&gt;
==== Custom Entities ====&lt;br /&gt;
Hooking virtual functions, such as TakeDamage, that get called on custom entities is a little bit awkward.&lt;br /&gt;
&lt;br /&gt;
Because of the way where classes derive, and they get their own virtual table for each class, the type of class that the game dll allocates will be whatever gets hooked for a particular hook.&lt;br /&gt;
&lt;br /&gt;
For example, say you have a plugin like this:&lt;br /&gt;
&lt;br /&gt;
 #include &amp;lt;amxmodx&amp;gt;&lt;br /&gt;
 #include &amp;lt;fakemeta&amp;gt;&lt;br /&gt;
 #include &amp;lt;hamsandwich&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 new myStr;&lt;br /&gt;
 public plugin_init()&lt;br /&gt;
 {&lt;br /&gt;
   myStr = engfunc( EngFunc_AllocString, &amp;quot;info_target&amp;quot; );&lt;br /&gt;
 &lt;br /&gt;
   register_clcmd( &amp;quot;make_entity&amp;quot;, &amp;quot;cmdMakeEntity&amp;quot; );&lt;br /&gt;
 &lt;br /&gt;
   RegisterHam(Ham_TakeDamage, &amp;quot;damageHook&amp;quot;, &amp;quot;MyEntityClass&amp;quot;); // Error!&lt;br /&gt;
 }&lt;br /&gt;
 public cmdMakeEntity( id )&lt;br /&gt;
 {&lt;br /&gt;
   new ent = engfunc( EngFunc_CreateEntity, myStr );&lt;br /&gt;
   set_pev( ent, pev_classname, &amp;quot;MyEntityClass&amp;quot; );&lt;br /&gt;
   // ...&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
That will not work, because the class &amp;quot;MyEntityClass&amp;quot; is not native to the gamedll.  Instead, you would need to hook TakeDamage for &amp;quot;info_target&amp;quot;, and do some form of parsing on the entities that get passed to it (such as checking classname), if you want to deal with custom entity hooking.&lt;br /&gt;
&lt;br /&gt;
==== End of Chain Derivatives ====&lt;br /&gt;
The normal way virtual functions get called is by a virtual table that resides somewhere in the class.  A magical index is assigned to each function, and then it looks up the function pointer inside of the virtual table, and executes the required function.&lt;br /&gt;
&lt;br /&gt;
However, compilers are smart enough to optimize away the virtual function lookup if it knows two things about a call:&lt;br /&gt;
* The exact class type of the entity.&lt;br /&gt;
* That the entity is not derived any further.&lt;br /&gt;
&lt;br /&gt;
An example would be using the hierarchy shown earlier.  If, inside of CBot::TakeDamage a call to the virtual function CBot::Killed is made, most compilers will optimize the virtual function lookup out, so that CBot::TakeDamage would then directly call CBot::Killed.  This means that the hook would never be called.&lt;br /&gt;
&lt;br /&gt;
Fortunately, these instances are kind of rare.&lt;br /&gt;
&lt;br /&gt;
==== Config File Requirements ====&lt;br /&gt;
Every hook and every ExecuteHam() call requires an entry for the function which the scripter is attempting to hook or execute.  The function needs to be in the amxmodx/configs/hamdata.ini config file, under the game mod and operating system.&lt;br /&gt;
&lt;br /&gt;
If a function that the script attempts to hook or call is not configured in the hamdata.ini file, then the module will cause the plugin to cease operation, as this is a fatal error.&lt;br /&gt;
&lt;br /&gt;
The fatal errors can be filtered out by including a forward in the script called '''HamFilter'''.  This is similar to native/module filters available inside of the core of amxmodx, whenever a fatal error occurs, it will pass along the parameters to HamFilter, and if HamFilter returns '''PLUGIN_HANDLED''', the error will be ignored (but the attempted hook or execution will not take place).  If the forward does not exist, or if it returns something other than PLUGIN_HANDLED, the plugin will fail.&lt;br /&gt;
&lt;br /&gt;
An example layout for HamFilter:&lt;br /&gt;
 public HamFilter(Ham:which, HamError:err, const reason[])&lt;br /&gt;
 {&lt;br /&gt;
   // Ignore an unconfigured ns_awardkill&lt;br /&gt;
   if (which == Ham_NS_AwardKill &amp;amp;&amp;amp; err == HAM_FUNC_NOT_CONFIGURED)(&lt;br /&gt;
   {&lt;br /&gt;
     return PLUGIN_HANDLED;&lt;br /&gt;
   }&lt;br /&gt;
   // We absolutely need to be able to use cs_roundrespawn!&lt;br /&gt;
   // If we can't, then the plugin cannot continue.&lt;br /&gt;
   if (which == Ham_CS_RoundRespawn)&lt;br /&gt;
   {&lt;br /&gt;
     return 0;&lt;br /&gt;
   }&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Additionally, you can check to see if a function is valid to execute or hook by using the '''IsHamValid()''' native.  The validity of a function is determined when the module is first loaded, and it will never change, so if you want to check it, there is no need to do so before every execute.&lt;br /&gt;
&lt;br /&gt;
== Supported Mods ==&lt;br /&gt;
=== Mostly Supported ===&lt;br /&gt;
These mods have a very large list of functions that are usable in the module. &lt;br /&gt;
* Counter-Strike 1.6&lt;br /&gt;
* Condition Zero&lt;br /&gt;
* Day of Defeat&lt;br /&gt;
* Team Fortress Classic&lt;br /&gt;
* The Specialists&lt;br /&gt;
* Natural-Selection&lt;br /&gt;
&lt;br /&gt;
=== Weakly Supported ===&lt;br /&gt;
Because these mods do not contain a Linux binary, they are much harder to disassemble.  There is only plans for disassembling two functions for each (TakeDamage and Use).&lt;br /&gt;
* Sven-Coop&lt;br /&gt;
* Earth's Special Forces&lt;br /&gt;
&lt;br /&gt;
== Hooking Functions ==&lt;br /&gt;
The big feature for Ham Sandwich is the ability to hook virtual functions.&lt;br /&gt;
&lt;br /&gt;
=== Creating the Hook ===&lt;br /&gt;
Creating a hook is a lot like creating a hook in Fakemeta.&lt;br /&gt;
&lt;br /&gt;
 #include &amp;lt;amxmodx&amp;gt;&lt;br /&gt;
 #include &amp;lt;hamsandwich&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 public plugin_init()&lt;br /&gt;
 {&lt;br /&gt;
   RegisterHam(Ham_TakeDamage, &amp;quot;player_hurt&amp;quot;, &amp;quot;player&amp;quot;);&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 public player_hurt(this, inflictor, attacker, Float:damage, damagebits)&lt;br /&gt;
 {&lt;br /&gt;
   // Stuff...&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
This creates a basic hook which is called any time a player takes damage.  Look in '''ham_const.inc''' for forward parameters for each hook.&lt;br /&gt;
&lt;br /&gt;
Like FakeMeta, there is a hidden last parameter (it goes after the classname in this case).  Set it to 1 to do post hooking.&lt;br /&gt;
&lt;br /&gt;
=== Blocking the Hook ===&lt;br /&gt;
Like Fakemeta and Engine, it is possible to stop a function from being called.  This is called '''superceding'''.&lt;br /&gt;
&lt;br /&gt;
Blocking in Ham Sandwich is identical to how it is accomplished in Fakemeta.  In each hook, you return one of four special values:&lt;br /&gt;
&lt;br /&gt;
* HAM_IGNORED - Nothing happened, the call continues.&lt;br /&gt;
* HAM_HANDLED - You did something, but the call continues.&lt;br /&gt;
* HAM_OVERRIDE - The call will still be executed, but instead you will change the return value.&lt;br /&gt;
* HAM_SUPERCEDE - The call is not executed, and you use your return value, if applicable.&lt;br /&gt;
&lt;br /&gt;
You can use the native '''GetHamReturnStatus()''' to check the current return status of the hook.&lt;br /&gt;
&lt;br /&gt;
=== Return Values ===&lt;br /&gt;
You can get or change the return values for all the hooks available in Ham Sandwich.  Look in '''ham_const.inc''' for a list of all hooks and their return values.&lt;br /&gt;
&lt;br /&gt;
These natives will get any ''modified'' return values.&lt;br /&gt;
* native GetHamReturnInteger(&amp;amp;output);&lt;br /&gt;
* native GetHamReturnFloat(&amp;amp;Float:output);&lt;br /&gt;
* native GetHamReturnVector(Float:output[3]);&lt;br /&gt;
* native GetHamReturnEntity(&amp;amp;output);&lt;br /&gt;
* native GetHamReturnString(output[], size);&lt;br /&gt;
&lt;br /&gt;
These natives will get the ''original'' return value from the function.&lt;br /&gt;
Note that this is '''only''' valid to call in a post hook, it will be undefined to call it at any other time.&lt;br /&gt;
* native GetOrigHamReturnInteger(&amp;amp;output);&lt;br /&gt;
* native GetOrigHamReturnFloat(&amp;amp;Float:output);&lt;br /&gt;
* native GetOrigHamReturnVector(Float:output[3]);&lt;br /&gt;
* native GetOrigHamReturnCbase(&amp;amp;output);&lt;br /&gt;
* native GetOrigHamReturnString(output[], size);&lt;br /&gt;
&lt;br /&gt;
These natives will change the return value to whatever you please.&lt;br /&gt;
Note that this will have no effect on the actual return value from the function '''unless''' the return status of the hook is HAM_OVERRIDE or HAM_SUPERCEDE.&lt;br /&gt;
* native SetHamReturnInteger(value);&lt;br /&gt;
* native SetHamReturnFloat(Float:value);&lt;br /&gt;
* native SetHamReturnVector(const Float:value[3]);&lt;br /&gt;
* native SetHamReturnEntity(value);&lt;br /&gt;
* native SetHamReturnString(const value[]);&lt;br /&gt;
&lt;br /&gt;
=== Changing Hook Parameters ===&lt;br /&gt;
One feature available in Ham Sandwich that is not available in FakeMeta is the ability to change all parameters on the fly for each hook.&lt;br /&gt;
&lt;br /&gt;
This means that, for example, if you wanted to make a plugin that halved all damage players take, you would do something like this:&lt;br /&gt;
 #include &amp;lt;amxmodx&amp;gt;&lt;br /&gt;
 #include &amp;lt;hamsandwich&amp;gt;&lt;br /&gt;
 public plugin_init()&lt;br /&gt;
 {&lt;br /&gt;
   RegisterHam(Ham_TakeDamage, &amp;quot;player_hurt&amp;quot;, &amp;quot;player&amp;quot;);&lt;br /&gt;
 }&lt;br /&gt;
 public player_hurt(this, inflictor, attacker, Float:damage, damagebits)&lt;br /&gt;
 {&lt;br /&gt;
   SetHamParamFloat(4, damage / 2.0);&lt;br /&gt;
   return HAM_HANDLED;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
All hooks after the one you change them in will see the modified values.  Hooks are executed in the order in which they are registered.&lt;br /&gt;
&lt;br /&gt;
All available parameter changing natives are:&lt;br /&gt;
&lt;br /&gt;
* native SetHamParamInteger(which, value);&lt;br /&gt;
* native SetHamParamFloat(which, Float:value);&lt;br /&gt;
* native SetHamParamVector(which, const Float:value[3]);&lt;br /&gt;
* native SetHamParamEntity(which, value);&lt;br /&gt;
* native SetHamParamString(which, const output[]);&lt;br /&gt;
* native SetHamParamTraceResult(which, tr_handle);&lt;br /&gt;
&lt;br /&gt;
=== Disabling Hooks ===&lt;br /&gt;
&lt;br /&gt;
Similar to how FakeMeta allows for unregistering of hooks with unregister_forward, HamSandwich will allow you to disable and enable hooks whenever you want.&lt;br /&gt;
&lt;br /&gt;
The '''RegisterHam''' function will return a handle (tagged with HamHook).  You can then make subsequent calls to DisableHamForward() and EnableHamForward() with the handle to stop it from forwarding, or enable its forwards again.&lt;br /&gt;
&lt;br /&gt;
There is no way to completely unregister the hooks (until map change), as deleting a hook is a delicate process.&lt;/div&gt;</summary>
		<author><name>ConnorMcLeod</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.alliedmods.net/index.php?title=Fr:Compiling_Plugins_(AMX_Mod_X)&amp;diff=9072</id>
		<title>Fr:Compiling Plugins (AMX Mod X)</title>
		<link rel="alternate" type="text/html" href="https://wiki.alliedmods.net/index.php?title=Fr:Compiling_Plugins_(AMX_Mod_X)&amp;diff=9072"/>
		<updated>2013-10-13T17:10:53Z</updated>

		<summary type="html">&lt;p&gt;ConnorMcLeod: Blanked the page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>ConnorMcLeod</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.alliedmods.net/index.php?title=Fr:Compiling_Plugins_(AMX_Mod_X)&amp;diff=9071</id>
		<title>Fr:Compiling Plugins (AMX Mod X)</title>
		<link rel="alternate" type="text/html" href="https://wiki.alliedmods.net/index.php?title=Fr:Compiling_Plugins_(AMX_Mod_X)&amp;diff=9071"/>
		<updated>2013-10-13T17:07:40Z</updated>

		<summary type="html">&lt;p&gt;ConnorMcLeod: Created page with &amp;quot;Test&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Test&lt;/div&gt;</summary>
		<author><name>ConnorMcLeod</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.alliedmods.net/index.php?title=Half-Life_1_Engine_Messages&amp;diff=8981</id>
		<title>Half-Life 1 Engine Messages</title>
		<link rel="alternate" type="text/html" href="https://wiki.alliedmods.net/index.php?title=Half-Life_1_Engine_Messages&amp;diff=8981"/>
		<updated>2013-08-18T10:09:16Z</updated>

		<summary type="html">&lt;p&gt;ConnorMcLeod: /* SVC_UPDATEUSERINFO */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Half-Life 1]]&lt;br /&gt;
[[Category:Scripting (AMX Mod X)]]&lt;br /&gt;
 //SVC_BAD                 0&lt;br /&gt;
 SVC_NOP                   1&lt;br /&gt;
 SVC_DISCONNECT            2&lt;br /&gt;
 SVC_EVENT                 3&lt;br /&gt;
 SVC_VERSION               4&lt;br /&gt;
 SVC_SETVIEW               5&lt;br /&gt;
 SVC_SOUND                 6&lt;br /&gt;
 SVC_TIME                  7&lt;br /&gt;
 SVC_PRINT                 8&lt;br /&gt;
 SVC_STUFFTEXT             9&lt;br /&gt;
 SVC_SETANGLE              10&lt;br /&gt;
 SVC_SERVERINFO            11&lt;br /&gt;
 SVC_LIGHTSTYLE            12&lt;br /&gt;
 SVC_UPDATEUSERINFO        13&lt;br /&gt;
 SVC_DELTADESCRIPTION      14&lt;br /&gt;
 SVC_CLIENTDATA            15&lt;br /&gt;
 SVC_STOPSOUND             16&lt;br /&gt;
 SVC_PINGS                 17&lt;br /&gt;
 SVC_PARTICLE              18&lt;br /&gt;
 SVC_DAMAGE                19&lt;br /&gt;
 SVC_SPAWNSTATIC           20&lt;br /&gt;
 SVC_EVENT_RELIABLE        21&lt;br /&gt;
 SVC_SPAWNBASELINE         22&lt;br /&gt;
 SVC_TEMPENTITY            23&lt;br /&gt;
 SVC_SETPAUSE              24&lt;br /&gt;
 SVC_SIGNONNUM             25&lt;br /&gt;
 SVC_CENTERPRINT           26&lt;br /&gt;
 SVC_KILLEDMONSTER         27&lt;br /&gt;
 SVC_FOUNDSECRET           28&lt;br /&gt;
 SVC_SPAWNSTATICSOUND      29&lt;br /&gt;
 SVC_INTERMISSION          30&lt;br /&gt;
 SVC_FINALE                31&lt;br /&gt;
 SVC_CDTRACK               32&lt;br /&gt;
 SVC_RESTORE               33&lt;br /&gt;
 SVC_CUTSCENE              34&lt;br /&gt;
 SVC_WEAPONANIM            35&lt;br /&gt;
 SVC_DECALNAME             36&lt;br /&gt;
 SVC_ROOMTYPE              37&lt;br /&gt;
 SVC_ADDANGLE              38&lt;br /&gt;
 SVC_NEWUSERMSG            39&lt;br /&gt;
 SVC_PACKETENTITIES        40&lt;br /&gt;
 SVC_DELTAPACKETENTITIES   41&lt;br /&gt;
 SVC_CHOKE                 42&lt;br /&gt;
 SVC_RESOURCELIST          43&lt;br /&gt;
 SVC_NEWMOVEVARS           44&lt;br /&gt;
 SVC_RESOURCEREQUEST       45&lt;br /&gt;
 SVC_CUSTOMIZATION         46&lt;br /&gt;
 SVC_CROSSHAIRANGLE        47&lt;br /&gt;
 SVC_SOUNDFADE             48&lt;br /&gt;
 SVC_FILETXFERFAILED       49&lt;br /&gt;
 SVC_HLTV                  50&lt;br /&gt;
 SVC_DIRECTOR              51&lt;br /&gt;
 SVC_VOICEINIT             52&lt;br /&gt;
 SVC_VOICEDATA             53&lt;br /&gt;
 SVC_SENDEXTRAINFO         54&lt;br /&gt;
 SVC_TIMESCALE             55&lt;br /&gt;
 SVC_RESOURCELOCATION      56&lt;br /&gt;
 SVC_SENDCVARVALUE         57&lt;br /&gt;
 SVC_SENDCVARVALUE2        58&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= SVC_ADDANGLE =&lt;br /&gt;
Add an angle on the yaw axis of the current client's view angle.&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|When pev-&amp;gt;fixangle is set to 2, this message is called to add pev-&amp;gt;avelocity[1] as value.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|The value needs to be scaled by ( 65536  / 360 ).}}&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_ADDANGLE }}&lt;br /&gt;
{{hl1msg|short|AngleToAdd}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_CDTRACK =&lt;br /&gt;
Plays an Half-Life music.&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|Track goes from 1 to 30.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|The musics are located in valve/media/.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|The second param is unused and not optional.}}&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_CDTRACK }}&lt;br /&gt;
{{hl1msg|byte|Track}}&lt;br /&gt;
{{hl1msg|byte|LoopTrack [unused]}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_CENTERPRINT =&lt;br /&gt;
Sends a centered message.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Called from pfnClientPrintf with print_center as type.}}&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_CENTERPRINT}}&lt;br /&gt;
{{hl1msg|string|Message}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_CHOKE =&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_CHOKE}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_CROSSHAIRANGLE =&lt;br /&gt;
Adjusts the weapon's crosshair angle.&amp;lt;br&amp;gt;&lt;br /&gt;
Basically, the weapon position on the player's view can have a different origin.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Called by pfnCrosshairAngle. So, the same as EngFunc_CrosshairAngle.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|If you use the engine call, no need to scale by 5.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|Use 0 for both to get the default position.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_CROSSHAIRANGLE }}&lt;br /&gt;
{{hl1msg|char|PitchAngle * 5}}&lt;br /&gt;
{{hl1msg|char|YawAngle * 5}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_CUTSCENE =&lt;br /&gt;
Shows the intermission camera view, and writes-out text passed in first parameter.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Intermission mode 3. }}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|This text will keep showing on clients in future intermissions. }}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_CUTSCENE}}&lt;br /&gt;
{{hl1msg|string|Text}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_DAMAGE =&lt;br /&gt;
{{qnotice|Deprecated. }}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_DAMAGE}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_DECALNAME =&lt;br /&gt;
Allows to set, into the client's decals array and at specific position index (0-&amp;gt;511), a decal name.&amp;lt;br&amp;gt;&lt;br /&gt;
E.g: let's say you send a message to set a decal &amp;quot;{break&amp;quot; at index 200.&amp;lt;br&amp;gt;&lt;br /&gt;
As result, when a message TE_ will be used to show a decal at index 200, we will see &amp;quot;{break&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|If there is already an existing decal at the provided index, it will be overwritten. }}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|It appears we can play only with decals from decals.wad. }}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_DECALNAME}}&lt;br /&gt;
{{hl1msg|byte|PositionIndex}}&lt;br /&gt;
{{hl1msg|string|DecalName}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_DISCONNECT =&lt;br /&gt;
Disconnect player with given reason.&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_DISCONNECT}}&lt;br /&gt;
{{hl1msg|string|Reason}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_FILETXFERFAILED =&lt;br /&gt;
&lt;br /&gt;
Sends a message to the client's console telling what file has failed to be transfered.&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|The message type is : &amp;quot;Error: server failed to transmit file 'FileName'&amp;quot;&amp;quot;}}&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_FILETXFERFAILED}}&lt;br /&gt;
{{hl1msg|string|FileName}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_FINALE =&lt;br /&gt;
Shows the intermission camera view, and writes-out text passed in first parameter.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Intermission mode 2. }}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|This text will keep showing on clients in future intermissions. }}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_FINALE}}&lt;br /&gt;
{{hl1msg|string|Text}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_FOUNDSECRET =&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Deprecated. }}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_FOUNDSECRET}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_HLTV =&lt;br /&gt;
Tells client about current spectator mode.&lt;br /&gt;
&lt;br /&gt;
 As found in hltv.h:&lt;br /&gt;
 &lt;br /&gt;
 #define HLTV_ACTIVE	0	// tells client that he's an spectator and will get director commands&lt;br /&gt;
 #define HLTV_STATUS	1	// send status infos about proxy &lt;br /&gt;
 #define HLTV_LISTEN	2	// tell client to listen to a multicast stream&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_HLTV}}&lt;br /&gt;
{{hl1msg|byte|Mode}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_INTERMISSION =&lt;br /&gt;
Shows the intermission camera view&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Intermission mode 1. }}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|This message has no arguments.}}&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_INTERMISSION}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_KILLEDMONSTER =&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Deprecated. }}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_KILLEDMONSTER}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_LIGHTSTYLE =&lt;br /&gt;
Setup light animation tables. 'a' is total darkness, 'z' is maxbright.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Server send 64 lightstyles to client during client connect. Most of them has empty light info. All of them could be found in world.cpp }}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pawn&amp;gt;&lt;br /&gt;
// 0 normal&lt;br /&gt;
LIGHT_STYLE(0, &amp;quot;m&amp;quot;);&lt;br /&gt;
// 1 FLICKER (first variety)&lt;br /&gt;
LIGHT_STYLE(1, &amp;quot;mmnmmommommnonmmonqnmmo&amp;quot;);	&lt;br /&gt;
// 2 SLOW STRONG PULSE&lt;br /&gt;
LIGHT_STYLE(2, &amp;quot;abcdefghijklmnopqrstuvwxyzyxwvutsrqponmlkjihgfedcba&amp;quot;);	&lt;br /&gt;
// 3 CANDLE (first variety)&lt;br /&gt;
LIGHT_STYLE(3, &amp;quot;mmmmmaaaaammmmmaaaaaabcdefgabcdefg&amp;quot;);	&lt;br /&gt;
// 4 FAST STROBE&lt;br /&gt;
LIGHT_STYLE(4, &amp;quot;mamamamamama&amp;quot;);	&lt;br /&gt;
// 5 GENTLE PULSE 1&lt;br /&gt;
LIGHT_STYLE(5,&amp;quot;jklmnopqrstuvwxyzyxwvutsrqponmlkj&amp;quot;);	&lt;br /&gt;
// 6 FLICKER (second variety)&lt;br /&gt;
LIGHT_STYLE(6, &amp;quot;nmonqnmomnmomomno&amp;quot;);	&lt;br /&gt;
// 7 CANDLE (second variety)&lt;br /&gt;
LIGHT_STYLE(7, &amp;quot;mmmaaaabcdefgmmmmaaaammmaamm&amp;quot;);	&lt;br /&gt;
// 8 CANDLE (third variety)&lt;br /&gt;
LIGHT_STYLE(8, &amp;quot;mmmaaammmaaammmabcdefaaaammmmabcdefmmmaaaa&amp;quot;);	&lt;br /&gt;
// 9 SLOW STROBE (fourth variety)&lt;br /&gt;
LIGHT_STYLE(9, &amp;quot;aaaaaaaazzzzzzzz&amp;quot;);	&lt;br /&gt;
// 10 FLUORESCENT FLICKER&lt;br /&gt;
LIGHT_STYLE(10, &amp;quot;mmamammmmammamamaaamammma&amp;quot;);&lt;br /&gt;
// 11 SLOW PULSE NOT FADE TO BLACK&lt;br /&gt;
LIGHT_STYLE(11, &amp;quot;abcdefghijklmnopqrrqponmlkjihgfedcba&amp;quot;);	&lt;br /&gt;
// 12 UNDERWATER LIGHT MUTATION&lt;br /&gt;
// this light only distorts the lightmap - no contribution&lt;br /&gt;
// is made to the brightness of affected surfaces&lt;br /&gt;
LIGHT_STYLE(12, &amp;quot;mmnnmmnnnmmnn&amp;quot;);&lt;br /&gt;
	&lt;br /&gt;
// styles 32-62 are assigned by the light program for switchable lights&lt;br /&gt;
&lt;br /&gt;
// 63 testing&lt;br /&gt;
LIGHT_STYLE(63, &amp;quot;a&amp;quot;);&lt;br /&gt;
&amp;lt;/pawn&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_LIGHTSTYLE}}&lt;br /&gt;
{{hl1msg|byte|index}}&lt;br /&gt;
{{hl1msg|string|lightinfo}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_NEWMOVEVARS =&lt;br /&gt;
Updates client's movevars.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message is sent on client's connect and when any change is detected between the current server movevars and server cvars values. }}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|If there is a change, the value of server cvars are copied into the server movevars, then the message is sent to all players using the server movevars. }}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_NEWMOVEVARS}}&lt;br /&gt;
{{hl1msg|float|Gravity}}&lt;br /&gt;
{{hl1msg|float|StopSpeed}}&lt;br /&gt;
{{hl1msg|float|MaxSpeed}}&lt;br /&gt;
{{hl1msg|float|SpectatorMaxSpeed}}&lt;br /&gt;
{{hl1msg|float|Accelerate}}&lt;br /&gt;
{{hl1msg|float|AirAccelerate}}&lt;br /&gt;
{{hl1msg|float|WaterAccelerate}}&lt;br /&gt;
{{hl1msg|float|Friction}}&lt;br /&gt;
{{hl1msg|float|EdgeFriction}}&lt;br /&gt;
{{hl1msg|float|WaterFriction}}&lt;br /&gt;
{{hl1msg|float|EntGravity}}&lt;br /&gt;
{{hl1msg|float|Bounce}}&lt;br /&gt;
{{hl1msg|float|StepSize}}&lt;br /&gt;
{{hl1msg|float|MaxVelocity}}&lt;br /&gt;
{{hl1msg|float|ZMax}}&lt;br /&gt;
{{hl1msg|float|WaveHeigth}}&lt;br /&gt;
{{hl1msg|byte|Footsteps}}&lt;br /&gt;
{{hl1msg|float|RollAngle}}&lt;br /&gt;
{{hl1msg|float|RollSpeed}}&lt;br /&gt;
{{hl1msg|float|SkyColorRed}}&lt;br /&gt;
{{hl1msg|float|SkyColorGreen}}&lt;br /&gt;
{{hl1msg|float|SkyColorBlue}}&lt;br /&gt;
{{hl1msg|float|SkyVecX}}&lt;br /&gt;
{{hl1msg|float|SkyVecY}}&lt;br /&gt;
{{hl1msg|float|SkyVecZ}}&lt;br /&gt;
{{hl1msg|string|SkyName}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_PARTICLE =&lt;br /&gt;
Shows a particle effect.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Called from pfnParticleEffect. So, the same as EngFunc_ParticleEffect. }}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|The direction has to be a value between -128 to 127, after the scale operation. }}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|You don't need to scaled by 16 if you use the engine call. }}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|Color is an index from the palette attached at right. }}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Palette.png|200px|thumb|right|Standard Quake1 palette]]&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_PARTICLE}}&lt;br /&gt;
{{hl1msg|coord|OriginX}}&lt;br /&gt;
{{hl1msg|coord|OriginY}}&lt;br /&gt;
{{hl1msg|coord|OriginZ}}&lt;br /&gt;
{{hl1msg|char|DirectionX * 16}}&lt;br /&gt;
{{hl1msg|char|DirectionY * 16}}&lt;br /&gt;
{{hl1msg|char|DirectionZ * 16}}&lt;br /&gt;
{{hl1msg|byte|Count}}&lt;br /&gt;
{{hl1msg|byte|Color}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_PINGS =&lt;br /&gt;
Contains ping, loss for several players.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Flag is 1 - rest data contains PlayerID, Ping and Loss at least for 1 player. }}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|Flag is 0 - end of the message, skip remaining bits. }}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice| ... - Flag + PlayerID + Ping + Loss - N times. }}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_PINGS}}&lt;br /&gt;
{{hl1msg|1 bit|Flag 1}}&lt;br /&gt;
{{hl1msg|5 bits|PlayerID}}&lt;br /&gt;
{{hl1msg|12 bits|Ping}}&lt;br /&gt;
{{hl1msg|7 bits|Loss}}&lt;br /&gt;
{{hl1msg|...|...}}&lt;br /&gt;
{{hl1msg|1 bit|Flag 0}}&lt;br /&gt;
{{hl1msg|n bits|Align to byte with zero bits}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_PRINT =&lt;br /&gt;
Sends a message to the client's console. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Called from pfnClientPrintf with print_console or print_notify as type.}}&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_PRINT}}&lt;br /&gt;
{{hl1msg|string|Message}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_RESOURCELOCATION =&lt;br /&gt;
This message sends sv_downloadurl to client.&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_RESOURCELOCATION}}&lt;br /&gt;
{{hl1msg|string|sv_downloadurl}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_ROOMTYPE =&lt;br /&gt;
Sets client room_type cvar to provided value.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pawn&amp;gt;0 = Normal (off)&lt;br /&gt;
1 = Generic&lt;br /&gt;
2 = Metal Small&lt;br /&gt;
3 = Metal Medium&lt;br /&gt;
4 = Metal Large&lt;br /&gt;
5 = Tunnel Small&lt;br /&gt;
6 = Tunnel Medium&lt;br /&gt;
7 = Tunnel Large&lt;br /&gt;
8 = Chamber Small&lt;br /&gt;
9 = Chamber Medium&lt;br /&gt;
10 = Chamber Large&lt;br /&gt;
11 = Bright Small&lt;br /&gt;
12 = Bright Medium&lt;br /&gt;
13 = Bright Large&lt;br /&gt;
14 = Water 1&lt;br /&gt;
15 = Water 2&lt;br /&gt;
16 = Water 3&lt;br /&gt;
17 = Concrete Small&lt;br /&gt;
18 = Concrete Medium&lt;br /&gt;
19 = Concrete Large&lt;br /&gt;
20 = Big 1&lt;br /&gt;
21 = Big 2&lt;br /&gt;
22 = Big 3&lt;br /&gt;
23 = Cavern Small&lt;br /&gt;
24 = Cavern Medium&lt;br /&gt;
25 = Cavern Large&lt;br /&gt;
26 = Weirdo 1&lt;br /&gt;
27 = Weirdo 2&lt;br /&gt;
28 = Weirdo 3&amp;lt;/pawn&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_ROOMTYPE}}&lt;br /&gt;
{{hl1msg|short|Value}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_SENDEXTRAINFO =&lt;br /&gt;
Sends some extra infos.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message is sent at player's connection as params &amp;quot;com_clientfallback&amp;quot; (global var) and sv_cheats value.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|The sv_cheats cvar will be set on the client with the value provided.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|It appears &amp;quot;com_clientfallback&amp;quot; is always null.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|This message seems to be unused.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_SENDEXTRAINFO}}&lt;br /&gt;
{{hl1msg|string|FallbackDir}}&lt;br /&gt;
{{hl1msg|byte|CanCheat}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_SETANGLE =&lt;br /&gt;
Update immediately the client's view angles.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|When pev-&amp;gt;fixangle is set 1, this message is sent with the current player's pev-&amp;gt;v_angle values.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|The provided angles need to be scaled by ( 65536 / 360 ).}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_SETANGLE}}&lt;br /&gt;
{{hl1msg|short|AnglePitch}}&lt;br /&gt;
{{hl1msg|short|AngleYaw}}&lt;br /&gt;
{{hl1msg|short|AngleRoll}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_SETPAUSE =&lt;br /&gt;
Puts client to a pause.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|If server is not paused, commands and packets from client are still sent, that means that client still can shoot/buy/etc...}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|IsPaused: 1 - for pause, 0 - for unpause.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_SETPAUSE}}&lt;br /&gt;
{{hl1msg|byte|IsPaused}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_SETVIEW =&lt;br /&gt;
Attaches a player's view to an entity.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Called from pfnSetView. The same as attach_view() native. }}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_SETVIEW}}&lt;br /&gt;
{{hl1msg|short|EntityIndex}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_SOUNDFADE =&lt;br /&gt;
Updates client side sound fade.&amp;lt;br&amp;gt;&lt;br /&gt;
It's used to modulate sound volume on the client.&amp;lt;br&amp;gt;&lt;br /&gt;
Such functionality is part of a main function where the purpose would be to update sound subsystem and cd audio.&amp;lt;br&amp;gt;&lt;br /&gt;
Note : EngFunc_FadeClientVolume sends that message to client&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_SOUNDFADE}}&lt;br /&gt;
{{hl1msg|byte|InitialPercent}}&lt;br /&gt;
{{hl1msg|byte|HoldTime}}&lt;br /&gt;
{{hl1msg|byte|FadeInTime}}&lt;br /&gt;
{{hl1msg|byte|FadeOutTime}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_SPAWNSTATICSOUND =&lt;br /&gt;
Start playback of a sound, loaded into the static portion of the channel array.&amp;lt;br&amp;gt;&lt;br /&gt;
This should be used for looping ambient sounds, looping sounds that should not non-creature sentences, and one-shot ambient streaming sounds.&amp;lt;br&amp;gt; &lt;br /&gt;
It can also play 'regular' sounds one-shot, in case designers want to trigger regular game sounds.&amp;lt;br&amp;gt;&lt;br /&gt;
The sound can be spawned either from a fixed position or from an entity.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|To use it on a fixed position, provide a valid origin and set EntityIndex with 0.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|To use it from an entity, so position is updated, provide a valid EntityIndex and set Origin with a null vector.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|To stop a sound with SVC_STOPSOUND, a valid EntityIndex is needed.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|Volume has to be scaled by 255 and Attenuation by 64.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|Use SND_SENTENCE (1&amp;lt;&amp;lt;4) as flag for sentence sounds. }}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|It can be sent to one player.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_SPAWNSTATICSOUND }}&lt;br /&gt;
{{hl1msg|coord|OriginX}}&lt;br /&gt;
{{hl1msg|coord|OriginY}}&lt;br /&gt;
{{hl1msg|coord|OriginZ}}&lt;br /&gt;
{{hl1msg|short|SoundIndex}}&lt;br /&gt;
{{hl1msg|byte|Volume * 255}}&lt;br /&gt;
{{hl1msg|byte|Attenuation * 64}}&lt;br /&gt;
{{hl1msg|short|EntityIndex}}&lt;br /&gt;
{{hl1msg|byte|Flags}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_STOPSOUND =&lt;br /&gt;
Stops an ambient sound.&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_STOPSOUND}}&lt;br /&gt;
{{hl1msg|short|EntityIndex}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_STUFFTEXT =&lt;br /&gt;
Executes command on player.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message is sent by client_cmd(index,const command[],any:...) }}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_STUFFTEXT}}&lt;br /&gt;
{{hl1msg|string|Command}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_TEMPENTITY =&lt;br /&gt;
Creates a [[Temp_Entity_Events_(Half-Life_1)|temp entity]].&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_TEMPENTITY}}&lt;br /&gt;
{{hl1msg|byte|[[Temp_Entity_Events_(Half-Life_1)|MessageIndex]]}}&lt;br /&gt;
{{hl1msg|...|...}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_TIMESCALE =&lt;br /&gt;
{{begin-hl1msg|SVC_TIMESCALE}}&lt;br /&gt;
{{hl1msg|float|TimeScale}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_UPDATEUSERINFO =&lt;br /&gt;
&lt;br /&gt;
See following posts for more details : https://forums.alliedmods.net/showthread.php?p=1995516#post1995516&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_UPDATEUSERINFO}}&lt;br /&gt;
{{hl1msg|byte|ClientIndex}}&lt;br /&gt;
{{hl1msg|long|ClientUserId}}&lt;br /&gt;
{{hl1msg|string|ClientUserInfo}}&lt;br /&gt;
{{hl1msg|string|???}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_VERSION =&lt;br /&gt;
Disconnects the client and sends a message to the console if the number passed doesn't match the current server protocol version.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Message type sent : &amp;quot;CL_Parse_Version: Server is protocol %i instead of %i\n&amp;quot;.}}&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_VERSION}}&lt;br /&gt;
{{hl1msg|long|ProtocolVersion}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_VOICEINIT =&lt;br /&gt;
Sends sv_voicecodec and sv_voicequality cvars to client.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Codec name either voice_miles or voice_speex.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|Quality 1 to 5.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_VOICEINIT}}&lt;br /&gt;
{{hl1msg|string|CodecName}}&lt;br /&gt;
{{hl1msg|byte|Quality}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_WEAPONANIM =&lt;br /&gt;
Plays a weapon sequence.&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_WEAPONANIM}}&lt;br /&gt;
{{hl1msg|byte|SequenceNumber}}&lt;br /&gt;
{{hl1msg|byte|WeaponmodelBodygroup}}&lt;br /&gt;
{{end-hl1msg}}&lt;/div&gt;</summary>
		<author><name>ConnorMcLeod</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.alliedmods.net/index.php?title=Half-Life_1_Engine_Messages&amp;diff=8980</id>
		<title>Half-Life 1 Engine Messages</title>
		<link rel="alternate" type="text/html" href="https://wiki.alliedmods.net/index.php?title=Half-Life_1_Engine_Messages&amp;diff=8980"/>
		<updated>2013-08-18T10:04:52Z</updated>

		<summary type="html">&lt;p&gt;ConnorMcLeod: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Half-Life 1]]&lt;br /&gt;
[[Category:Scripting (AMX Mod X)]]&lt;br /&gt;
 //SVC_BAD                 0&lt;br /&gt;
 SVC_NOP                   1&lt;br /&gt;
 SVC_DISCONNECT            2&lt;br /&gt;
 SVC_EVENT                 3&lt;br /&gt;
 SVC_VERSION               4&lt;br /&gt;
 SVC_SETVIEW               5&lt;br /&gt;
 SVC_SOUND                 6&lt;br /&gt;
 SVC_TIME                  7&lt;br /&gt;
 SVC_PRINT                 8&lt;br /&gt;
 SVC_STUFFTEXT             9&lt;br /&gt;
 SVC_SETANGLE              10&lt;br /&gt;
 SVC_SERVERINFO            11&lt;br /&gt;
 SVC_LIGHTSTYLE            12&lt;br /&gt;
 SVC_UPDATEUSERINFO        13&lt;br /&gt;
 SVC_DELTADESCRIPTION      14&lt;br /&gt;
 SVC_CLIENTDATA            15&lt;br /&gt;
 SVC_STOPSOUND             16&lt;br /&gt;
 SVC_PINGS                 17&lt;br /&gt;
 SVC_PARTICLE              18&lt;br /&gt;
 SVC_DAMAGE                19&lt;br /&gt;
 SVC_SPAWNSTATIC           20&lt;br /&gt;
 SVC_EVENT_RELIABLE        21&lt;br /&gt;
 SVC_SPAWNBASELINE         22&lt;br /&gt;
 SVC_TEMPENTITY            23&lt;br /&gt;
 SVC_SETPAUSE              24&lt;br /&gt;
 SVC_SIGNONNUM             25&lt;br /&gt;
 SVC_CENTERPRINT           26&lt;br /&gt;
 SVC_KILLEDMONSTER         27&lt;br /&gt;
 SVC_FOUNDSECRET           28&lt;br /&gt;
 SVC_SPAWNSTATICSOUND      29&lt;br /&gt;
 SVC_INTERMISSION          30&lt;br /&gt;
 SVC_FINALE                31&lt;br /&gt;
 SVC_CDTRACK               32&lt;br /&gt;
 SVC_RESTORE               33&lt;br /&gt;
 SVC_CUTSCENE              34&lt;br /&gt;
 SVC_WEAPONANIM            35&lt;br /&gt;
 SVC_DECALNAME             36&lt;br /&gt;
 SVC_ROOMTYPE              37&lt;br /&gt;
 SVC_ADDANGLE              38&lt;br /&gt;
 SVC_NEWUSERMSG            39&lt;br /&gt;
 SVC_PACKETENTITIES        40&lt;br /&gt;
 SVC_DELTAPACKETENTITIES   41&lt;br /&gt;
 SVC_CHOKE                 42&lt;br /&gt;
 SVC_RESOURCELIST          43&lt;br /&gt;
 SVC_NEWMOVEVARS           44&lt;br /&gt;
 SVC_RESOURCEREQUEST       45&lt;br /&gt;
 SVC_CUSTOMIZATION         46&lt;br /&gt;
 SVC_CROSSHAIRANGLE        47&lt;br /&gt;
 SVC_SOUNDFADE             48&lt;br /&gt;
 SVC_FILETXFERFAILED       49&lt;br /&gt;
 SVC_HLTV                  50&lt;br /&gt;
 SVC_DIRECTOR              51&lt;br /&gt;
 SVC_VOICEINIT             52&lt;br /&gt;
 SVC_VOICEDATA             53&lt;br /&gt;
 SVC_SENDEXTRAINFO         54&lt;br /&gt;
 SVC_TIMESCALE             55&lt;br /&gt;
 SVC_RESOURCELOCATION      56&lt;br /&gt;
 SVC_SENDCVARVALUE         57&lt;br /&gt;
 SVC_SENDCVARVALUE2        58&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= SVC_ADDANGLE =&lt;br /&gt;
Add an angle on the yaw axis of the current client's view angle.&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|When pev-&amp;gt;fixangle is set to 2, this message is called to add pev-&amp;gt;avelocity[1] as value.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|The value needs to be scaled by ( 65536  / 360 ).}}&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_ADDANGLE }}&lt;br /&gt;
{{hl1msg|short|AngleToAdd}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_CDTRACK =&lt;br /&gt;
Plays an Half-Life music.&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|Track goes from 1 to 30.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|The musics are located in valve/media/.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|The second param is unused and not optional.}}&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_CDTRACK }}&lt;br /&gt;
{{hl1msg|byte|Track}}&lt;br /&gt;
{{hl1msg|byte|LoopTrack [unused]}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_CENTERPRINT =&lt;br /&gt;
Sends a centered message.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Called from pfnClientPrintf with print_center as type.}}&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_CENTERPRINT}}&lt;br /&gt;
{{hl1msg|string|Message}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_CHOKE =&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_CHOKE}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_CROSSHAIRANGLE =&lt;br /&gt;
Adjusts the weapon's crosshair angle.&amp;lt;br&amp;gt;&lt;br /&gt;
Basically, the weapon position on the player's view can have a different origin.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Called by pfnCrosshairAngle. So, the same as EngFunc_CrosshairAngle.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|If you use the engine call, no need to scale by 5.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|Use 0 for both to get the default position.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_CROSSHAIRANGLE }}&lt;br /&gt;
{{hl1msg|char|PitchAngle * 5}}&lt;br /&gt;
{{hl1msg|char|YawAngle * 5}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_CUTSCENE =&lt;br /&gt;
Shows the intermission camera view, and writes-out text passed in first parameter.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Intermission mode 3. }}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|This text will keep showing on clients in future intermissions. }}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_CUTSCENE}}&lt;br /&gt;
{{hl1msg|string|Text}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_DAMAGE =&lt;br /&gt;
{{qnotice|Deprecated. }}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_DAMAGE}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_DECALNAME =&lt;br /&gt;
Allows to set, into the client's decals array and at specific position index (0-&amp;gt;511), a decal name.&amp;lt;br&amp;gt;&lt;br /&gt;
E.g: let's say you send a message to set a decal &amp;quot;{break&amp;quot; at index 200.&amp;lt;br&amp;gt;&lt;br /&gt;
As result, when a message TE_ will be used to show a decal at index 200, we will see &amp;quot;{break&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|If there is already an existing decal at the provided index, it will be overwritten. }}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|It appears we can play only with decals from decals.wad. }}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_DECALNAME}}&lt;br /&gt;
{{hl1msg|byte|PositionIndex}}&lt;br /&gt;
{{hl1msg|string|DecalName}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_DISCONNECT =&lt;br /&gt;
Disconnect player with given reason.&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_DISCONNECT}}&lt;br /&gt;
{{hl1msg|string|Reason}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_FILETXFERFAILED =&lt;br /&gt;
&lt;br /&gt;
Sends a message to the client's console telling what file has failed to be transfered.&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|The message type is : &amp;quot;Error: server failed to transmit file 'FileName'&amp;quot;&amp;quot;}}&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_FILETXFERFAILED}}&lt;br /&gt;
{{hl1msg|string|FileName}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_FINALE =&lt;br /&gt;
Shows the intermission camera view, and writes-out text passed in first parameter.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Intermission mode 2. }}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|This text will keep showing on clients in future intermissions. }}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_FINALE}}&lt;br /&gt;
{{hl1msg|string|Text}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_FOUNDSECRET =&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Deprecated. }}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_FOUNDSECRET}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_HLTV =&lt;br /&gt;
Tells client about current spectator mode.&lt;br /&gt;
&lt;br /&gt;
 As found in hltv.h:&lt;br /&gt;
 &lt;br /&gt;
 #define HLTV_ACTIVE	0	// tells client that he's an spectator and will get director commands&lt;br /&gt;
 #define HLTV_STATUS	1	// send status infos about proxy &lt;br /&gt;
 #define HLTV_LISTEN	2	// tell client to listen to a multicast stream&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_HLTV}}&lt;br /&gt;
{{hl1msg|byte|Mode}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_INTERMISSION =&lt;br /&gt;
Shows the intermission camera view&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Intermission mode 1. }}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|This message has no arguments.}}&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_INTERMISSION}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_KILLEDMONSTER =&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Deprecated. }}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_KILLEDMONSTER}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_LIGHTSTYLE =&lt;br /&gt;
Setup light animation tables. 'a' is total darkness, 'z' is maxbright.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Server send 64 lightstyles to client during client connect. Most of them has empty light info. All of them could be found in world.cpp }}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pawn&amp;gt;&lt;br /&gt;
// 0 normal&lt;br /&gt;
LIGHT_STYLE(0, &amp;quot;m&amp;quot;);&lt;br /&gt;
// 1 FLICKER (first variety)&lt;br /&gt;
LIGHT_STYLE(1, &amp;quot;mmnmmommommnonmmonqnmmo&amp;quot;);	&lt;br /&gt;
// 2 SLOW STRONG PULSE&lt;br /&gt;
LIGHT_STYLE(2, &amp;quot;abcdefghijklmnopqrstuvwxyzyxwvutsrqponmlkjihgfedcba&amp;quot;);	&lt;br /&gt;
// 3 CANDLE (first variety)&lt;br /&gt;
LIGHT_STYLE(3, &amp;quot;mmmmmaaaaammmmmaaaaaabcdefgabcdefg&amp;quot;);	&lt;br /&gt;
// 4 FAST STROBE&lt;br /&gt;
LIGHT_STYLE(4, &amp;quot;mamamamamama&amp;quot;);	&lt;br /&gt;
// 5 GENTLE PULSE 1&lt;br /&gt;
LIGHT_STYLE(5,&amp;quot;jklmnopqrstuvwxyzyxwvutsrqponmlkj&amp;quot;);	&lt;br /&gt;
// 6 FLICKER (second variety)&lt;br /&gt;
LIGHT_STYLE(6, &amp;quot;nmonqnmomnmomomno&amp;quot;);	&lt;br /&gt;
// 7 CANDLE (second variety)&lt;br /&gt;
LIGHT_STYLE(7, &amp;quot;mmmaaaabcdefgmmmmaaaammmaamm&amp;quot;);	&lt;br /&gt;
// 8 CANDLE (third variety)&lt;br /&gt;
LIGHT_STYLE(8, &amp;quot;mmmaaammmaaammmabcdefaaaammmmabcdefmmmaaaa&amp;quot;);	&lt;br /&gt;
// 9 SLOW STROBE (fourth variety)&lt;br /&gt;
LIGHT_STYLE(9, &amp;quot;aaaaaaaazzzzzzzz&amp;quot;);	&lt;br /&gt;
// 10 FLUORESCENT FLICKER&lt;br /&gt;
LIGHT_STYLE(10, &amp;quot;mmamammmmammamamaaamammma&amp;quot;);&lt;br /&gt;
// 11 SLOW PULSE NOT FADE TO BLACK&lt;br /&gt;
LIGHT_STYLE(11, &amp;quot;abcdefghijklmnopqrrqponmlkjihgfedcba&amp;quot;);	&lt;br /&gt;
// 12 UNDERWATER LIGHT MUTATION&lt;br /&gt;
// this light only distorts the lightmap - no contribution&lt;br /&gt;
// is made to the brightness of affected surfaces&lt;br /&gt;
LIGHT_STYLE(12, &amp;quot;mmnnmmnnnmmnn&amp;quot;);&lt;br /&gt;
	&lt;br /&gt;
// styles 32-62 are assigned by the light program for switchable lights&lt;br /&gt;
&lt;br /&gt;
// 63 testing&lt;br /&gt;
LIGHT_STYLE(63, &amp;quot;a&amp;quot;);&lt;br /&gt;
&amp;lt;/pawn&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_LIGHTSTYLE}}&lt;br /&gt;
{{hl1msg|byte|index}}&lt;br /&gt;
{{hl1msg|string|lightinfo}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_NEWMOVEVARS =&lt;br /&gt;
Updates client's movevars.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message is sent on client's connect and when any change is detected between the current server movevars and server cvars values. }}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|If there is a change, the value of server cvars are copied into the server movevars, then the message is sent to all players using the server movevars. }}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_NEWMOVEVARS}}&lt;br /&gt;
{{hl1msg|float|Gravity}}&lt;br /&gt;
{{hl1msg|float|StopSpeed}}&lt;br /&gt;
{{hl1msg|float|MaxSpeed}}&lt;br /&gt;
{{hl1msg|float|SpectatorMaxSpeed}}&lt;br /&gt;
{{hl1msg|float|Accelerate}}&lt;br /&gt;
{{hl1msg|float|AirAccelerate}}&lt;br /&gt;
{{hl1msg|float|WaterAccelerate}}&lt;br /&gt;
{{hl1msg|float|Friction}}&lt;br /&gt;
{{hl1msg|float|EdgeFriction}}&lt;br /&gt;
{{hl1msg|float|WaterFriction}}&lt;br /&gt;
{{hl1msg|float|EntGravity}}&lt;br /&gt;
{{hl1msg|float|Bounce}}&lt;br /&gt;
{{hl1msg|float|StepSize}}&lt;br /&gt;
{{hl1msg|float|MaxVelocity}}&lt;br /&gt;
{{hl1msg|float|ZMax}}&lt;br /&gt;
{{hl1msg|float|WaveHeigth}}&lt;br /&gt;
{{hl1msg|byte|Footsteps}}&lt;br /&gt;
{{hl1msg|float|RollAngle}}&lt;br /&gt;
{{hl1msg|float|RollSpeed}}&lt;br /&gt;
{{hl1msg|float|SkyColorRed}}&lt;br /&gt;
{{hl1msg|float|SkyColorGreen}}&lt;br /&gt;
{{hl1msg|float|SkyColorBlue}}&lt;br /&gt;
{{hl1msg|float|SkyVecX}}&lt;br /&gt;
{{hl1msg|float|SkyVecY}}&lt;br /&gt;
{{hl1msg|float|SkyVecZ}}&lt;br /&gt;
{{hl1msg|string|SkyName}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_PARTICLE =&lt;br /&gt;
Shows a particle effect.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Called from pfnParticleEffect. So, the same as EngFunc_ParticleEffect. }}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|The direction has to be a value between -128 to 127, after the scale operation. }}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|You don't need to scaled by 16 if you use the engine call. }}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|Color is an index from the palette attached at right. }}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Palette.png|200px|thumb|right|Standard Quake1 palette]]&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_PARTICLE}}&lt;br /&gt;
{{hl1msg|coord|OriginX}}&lt;br /&gt;
{{hl1msg|coord|OriginY}}&lt;br /&gt;
{{hl1msg|coord|OriginZ}}&lt;br /&gt;
{{hl1msg|char|DirectionX * 16}}&lt;br /&gt;
{{hl1msg|char|DirectionY * 16}}&lt;br /&gt;
{{hl1msg|char|DirectionZ * 16}}&lt;br /&gt;
{{hl1msg|byte|Count}}&lt;br /&gt;
{{hl1msg|byte|Color}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_PINGS =&lt;br /&gt;
Contains ping, loss for several players.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Flag is 1 - rest data contains PlayerID, Ping and Loss at least for 1 player. }}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|Flag is 0 - end of the message, skip remaining bits. }}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice| ... - Flag + PlayerID + Ping + Loss - N times. }}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_PINGS}}&lt;br /&gt;
{{hl1msg|1 bit|Flag 1}}&lt;br /&gt;
{{hl1msg|5 bits|PlayerID}}&lt;br /&gt;
{{hl1msg|12 bits|Ping}}&lt;br /&gt;
{{hl1msg|7 bits|Loss}}&lt;br /&gt;
{{hl1msg|...|...}}&lt;br /&gt;
{{hl1msg|1 bit|Flag 0}}&lt;br /&gt;
{{hl1msg|n bits|Align to byte with zero bits}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_PRINT =&lt;br /&gt;
Sends a message to the client's console. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Called from pfnClientPrintf with print_console or print_notify as type.}}&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_PRINT}}&lt;br /&gt;
{{hl1msg|string|Message}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_RESOURCELOCATION =&lt;br /&gt;
This message sends sv_downloadurl to client.&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_RESOURCELOCATION}}&lt;br /&gt;
{{hl1msg|string|sv_downloadurl}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_ROOMTYPE =&lt;br /&gt;
Sets client room_type cvar to provided value.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pawn&amp;gt;0 = Normal (off)&lt;br /&gt;
1 = Generic&lt;br /&gt;
2 = Metal Small&lt;br /&gt;
3 = Metal Medium&lt;br /&gt;
4 = Metal Large&lt;br /&gt;
5 = Tunnel Small&lt;br /&gt;
6 = Tunnel Medium&lt;br /&gt;
7 = Tunnel Large&lt;br /&gt;
8 = Chamber Small&lt;br /&gt;
9 = Chamber Medium&lt;br /&gt;
10 = Chamber Large&lt;br /&gt;
11 = Bright Small&lt;br /&gt;
12 = Bright Medium&lt;br /&gt;
13 = Bright Large&lt;br /&gt;
14 = Water 1&lt;br /&gt;
15 = Water 2&lt;br /&gt;
16 = Water 3&lt;br /&gt;
17 = Concrete Small&lt;br /&gt;
18 = Concrete Medium&lt;br /&gt;
19 = Concrete Large&lt;br /&gt;
20 = Big 1&lt;br /&gt;
21 = Big 2&lt;br /&gt;
22 = Big 3&lt;br /&gt;
23 = Cavern Small&lt;br /&gt;
24 = Cavern Medium&lt;br /&gt;
25 = Cavern Large&lt;br /&gt;
26 = Weirdo 1&lt;br /&gt;
27 = Weirdo 2&lt;br /&gt;
28 = Weirdo 3&amp;lt;/pawn&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_ROOMTYPE}}&lt;br /&gt;
{{hl1msg|short|Value}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_SENDEXTRAINFO =&lt;br /&gt;
Sends some extra infos.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message is sent at player's connection as params &amp;quot;com_clientfallback&amp;quot; (global var) and sv_cheats value.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|The sv_cheats cvar will be set on the client with the value provided.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|It appears &amp;quot;com_clientfallback&amp;quot; is always null.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|This message seems to be unused.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_SENDEXTRAINFO}}&lt;br /&gt;
{{hl1msg|string|FallbackDir}}&lt;br /&gt;
{{hl1msg|byte|CanCheat}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_SETANGLE =&lt;br /&gt;
Update immediately the client's view angles.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|When pev-&amp;gt;fixangle is set 1, this message is sent with the current player's pev-&amp;gt;v_angle values.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|The provided angles need to be scaled by ( 65536 / 360 ).}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_SETANGLE}}&lt;br /&gt;
{{hl1msg|short|AnglePitch}}&lt;br /&gt;
{{hl1msg|short|AngleYaw}}&lt;br /&gt;
{{hl1msg|short|AngleRoll}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_SETPAUSE =&lt;br /&gt;
Puts client to a pause.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|If server is not paused, commands and packets from client are still sent, that means that client still can shoot/buy/etc...}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|IsPaused: 1 - for pause, 0 - for unpause.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_SETPAUSE}}&lt;br /&gt;
{{hl1msg|byte|IsPaused}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_SETVIEW =&lt;br /&gt;
Attaches a player's view to an entity.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Called from pfnSetView. The same as attach_view() native. }}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_SETVIEW}}&lt;br /&gt;
{{hl1msg|short|EntityIndex}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_SOUNDFADE =&lt;br /&gt;
Updates client side sound fade.&amp;lt;br&amp;gt;&lt;br /&gt;
It's used to modulate sound volume on the client.&amp;lt;br&amp;gt;&lt;br /&gt;
Such functionality is part of a main function where the purpose would be to update sound subsystem and cd audio.&amp;lt;br&amp;gt;&lt;br /&gt;
Note : EngFunc_FadeClientVolume sends that message to client&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_SOUNDFADE}}&lt;br /&gt;
{{hl1msg|byte|InitialPercent}}&lt;br /&gt;
{{hl1msg|byte|HoldTime}}&lt;br /&gt;
{{hl1msg|byte|FadeInTime}}&lt;br /&gt;
{{hl1msg|byte|FadeOutTime}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_SPAWNSTATICSOUND =&lt;br /&gt;
Start playback of a sound, loaded into the static portion of the channel array.&amp;lt;br&amp;gt;&lt;br /&gt;
This should be used for looping ambient sounds, looping sounds that should not non-creature sentences, and one-shot ambient streaming sounds.&amp;lt;br&amp;gt; &lt;br /&gt;
It can also play 'regular' sounds one-shot, in case designers want to trigger regular game sounds.&amp;lt;br&amp;gt;&lt;br /&gt;
The sound can be spawned either from a fixed position or from an entity.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|To use it on a fixed position, provide a valid origin and set EntityIndex with 0.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|To use it from an entity, so position is updated, provide a valid EntityIndex and set Origin with a null vector.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|To stop a sound with SVC_STOPSOUND, a valid EntityIndex is needed.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|Volume has to be scaled by 255 and Attenuation by 64.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|Use SND_SENTENCE (1&amp;lt;&amp;lt;4) as flag for sentence sounds. }}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|It can be sent to one player.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_SPAWNSTATICSOUND }}&lt;br /&gt;
{{hl1msg|coord|OriginX}}&lt;br /&gt;
{{hl1msg|coord|OriginY}}&lt;br /&gt;
{{hl1msg|coord|OriginZ}}&lt;br /&gt;
{{hl1msg|short|SoundIndex}}&lt;br /&gt;
{{hl1msg|byte|Volume * 255}}&lt;br /&gt;
{{hl1msg|byte|Attenuation * 64}}&lt;br /&gt;
{{hl1msg|short|EntityIndex}}&lt;br /&gt;
{{hl1msg|byte|Flags}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_STOPSOUND =&lt;br /&gt;
Stops an ambient sound.&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_STOPSOUND}}&lt;br /&gt;
{{hl1msg|short|EntityIndex}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_STUFFTEXT =&lt;br /&gt;
Executes command on player.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message is sent by client_cmd(index,const command[],any:...) }}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_STUFFTEXT}}&lt;br /&gt;
{{hl1msg|string|Command}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_TEMPENTITY =&lt;br /&gt;
Creates a [[Temp_Entity_Events_(Half-Life_1)|temp entity]].&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_TEMPENTITY}}&lt;br /&gt;
{{hl1msg|byte|[[Temp_Entity_Events_(Half-Life_1)|MessageIndex]]}}&lt;br /&gt;
{{hl1msg|...|...}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_TIMESCALE =&lt;br /&gt;
{{begin-hl1msg|SVC_TIMESCALE}}&lt;br /&gt;
{{hl1msg|float|TimeScale}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_UPDATEUSERINFO =&lt;br /&gt;
{{begin-hl1msg|SVC_UPDATEUSERINFO}}&lt;br /&gt;
{{hl1msg|byte|ClientIndex}}&lt;br /&gt;
{{hl1msg|long|ClientUserId}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_VERSION =&lt;br /&gt;
Disconnects the client and sends a message to the console if the number passed doesn't match the current server protocol version.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Message type sent : &amp;quot;CL_Parse_Version: Server is protocol %i instead of %i\n&amp;quot;.}}&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_VERSION}}&lt;br /&gt;
{{hl1msg|long|ProtocolVersion}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_VOICEINIT =&lt;br /&gt;
Sends sv_voicecodec and sv_voicequality cvars to client.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Codec name either voice_miles or voice_speex.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|Quality 1 to 5.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_VOICEINIT}}&lt;br /&gt;
{{hl1msg|string|CodecName}}&lt;br /&gt;
{{hl1msg|byte|Quality}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_WEAPONANIM =&lt;br /&gt;
Plays a weapon sequence.&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_WEAPONANIM}}&lt;br /&gt;
{{hl1msg|byte|SequenceNumber}}&lt;br /&gt;
{{hl1msg|byte|WeaponmodelBodygroup}}&lt;br /&gt;
{{end-hl1msg}}&lt;/div&gt;</summary>
		<author><name>ConnorMcLeod</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.alliedmods.net/index.php?title=Half-Life_1_Engine_Messages&amp;diff=8979</id>
		<title>Half-Life 1 Engine Messages</title>
		<link rel="alternate" type="text/html" href="https://wiki.alliedmods.net/index.php?title=Half-Life_1_Engine_Messages&amp;diff=8979"/>
		<updated>2013-08-18T10:03:25Z</updated>

		<summary type="html">&lt;p&gt;ConnorMcLeod: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Half-Life 1]]&lt;br /&gt;
[[Category:Scripting (AMX Mod X)]]&lt;br /&gt;
 //SVC_BAD                 0&lt;br /&gt;
 SVC_NOP                   1&lt;br /&gt;
 SVC_DISCONNECT            2&lt;br /&gt;
 SVC_EVENT                 3&lt;br /&gt;
 SVC_VERSION               4&lt;br /&gt;
 SVC_SETVIEW               5&lt;br /&gt;
 SVC_SOUND                 6&lt;br /&gt;
 SVC_TIME                  7&lt;br /&gt;
 SVC_PRINT                 8&lt;br /&gt;
 SVC_STUFFTEXT             9&lt;br /&gt;
 SVC_SETANGLE              10&lt;br /&gt;
 SVC_SERVERINFO            11&lt;br /&gt;
 SVC_LIGHTSTYLE            12&lt;br /&gt;
 SVC_UPDATEUSERINFO        13&lt;br /&gt;
 SVC_DELTADESCRIPTION      14&lt;br /&gt;
 SVC_CLIENTDATA            15&lt;br /&gt;
 SVC_STOPSOUND             16&lt;br /&gt;
 SVC_PINGS                 17&lt;br /&gt;
 SVC_PARTICLE              18&lt;br /&gt;
 SVC_DAMAGE                19&lt;br /&gt;
 SVC_SPAWNSTATIC           20&lt;br /&gt;
 SVC_EVENT_RELIABLE        21&lt;br /&gt;
 SVC_SPAWNBASELINE         22&lt;br /&gt;
 SVC_TEMPENTITY            23&lt;br /&gt;
 SVC_SETPAUSE              24&lt;br /&gt;
 SVC_SIGNONNUM             25&lt;br /&gt;
 SVC_CENTERPRINT           26&lt;br /&gt;
 SVC_KILLEDMONSTER         27&lt;br /&gt;
 SVC_FOUNDSECRET           28&lt;br /&gt;
 SVC_SPAWNSTATICSOUND      29&lt;br /&gt;
 SVC_INTERMISSION          30&lt;br /&gt;
 SVC_FINALE                31&lt;br /&gt;
 SVC_CDTRACK               32&lt;br /&gt;
 SVC_RESTORE               33&lt;br /&gt;
 SVC_CUTSCENE              34&lt;br /&gt;
 SVC_WEAPONANIM            35&lt;br /&gt;
 SVC_DECALNAME             36&lt;br /&gt;
 SVC_ROOMTYPE              37&lt;br /&gt;
 SVC_ADDANGLE              38&lt;br /&gt;
 SVC_NEWUSERMSG            39&lt;br /&gt;
 SVC_PACKETENTITIES        40&lt;br /&gt;
 SVC_DELTAPACKETENTITIES   41&lt;br /&gt;
 SVC_CHOKE                 42&lt;br /&gt;
 SVC_RESOURCELIST          43&lt;br /&gt;
 SVC_NEWMOVEVARS           44&lt;br /&gt;
 SVC_RESOURCEREQUEST       45&lt;br /&gt;
 SVC_CUSTOMIZATION         46&lt;br /&gt;
 SVC_CROSSHAIRANGLE        47&lt;br /&gt;
 SVC_SOUNDFADE             48&lt;br /&gt;
 SVC_FILETXFERFAILED       49&lt;br /&gt;
 SVC_HLTV                  50&lt;br /&gt;
 SVC_DIRECTOR              51&lt;br /&gt;
 SVC_VOICEINIT             52&lt;br /&gt;
 SVC_VOICEDATA             53&lt;br /&gt;
 SVC_SENDEXTRAINFO         54&lt;br /&gt;
 SVC_TIMESCALE             55&lt;br /&gt;
 SVC_RESOURCELOCATION      56&lt;br /&gt;
 SVC_SENDCVARVALUE         57&lt;br /&gt;
 SVC_SENDCVARVALUE2        58&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= SVC_ADDANGLE =&lt;br /&gt;
Add an angle on the yaw axis of the current client's view angle.&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|When pev-&amp;gt;fixangle is set to 2, this message is called to add pev-&amp;gt;avelocity[1] as value.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|The value needs to be scaled by ( 65536  / 360 ).}}&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_ADDANGLE }}&lt;br /&gt;
{{hl1msg|short|AngleToAdd}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_CDTRACK =&lt;br /&gt;
Plays an Half-Life music.&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|Track goes from 1 to 30.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|The musics are located in valve/media/.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|The second param is unused and not optional.}}&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_CDTRACK }}&lt;br /&gt;
{{hl1msg|byte|Track}}&lt;br /&gt;
{{hl1msg|byte|LoopTrack [unused]}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_CENTERPRINT =&lt;br /&gt;
Sends a centered message.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Called from pfnClientPrintf with print_center as type.}}&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_CENTERPRINT}}&lt;br /&gt;
{{hl1msg|string|Message}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_CHOKE =&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_CHOKE}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_CROSSHAIRANGLE =&lt;br /&gt;
Adjusts the weapon's crosshair angle.&amp;lt;br&amp;gt;&lt;br /&gt;
Basically, the weapon position on the player's view can have a different origin.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Called by pfnCrosshairAngle. So, the same as EngFunc_CrosshairAngle.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|If you use the engine call, no need to scale by 5.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|Use 0 for both to get the default position.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_CROSSHAIRANGLE }}&lt;br /&gt;
{{hl1msg|char|PitchAngle * 5}}&lt;br /&gt;
{{hl1msg|char|YawAngle * 5}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_CUTSCENE =&lt;br /&gt;
Shows the intermission camera view, and writes-out text passed in first parameter.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Intermission mode 3. }}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|This text will keep showing on clients in future intermissions. }}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_CUTSCENE}}&lt;br /&gt;
{{hl1msg|string|Text}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_DAMAGE =&lt;br /&gt;
{{qnotice|Deprecated. }}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_DAMAGE}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_DECALNAME =&lt;br /&gt;
Allows to set, into the client's decals array and at specific position index (0-&amp;gt;511), a decal name.&amp;lt;br&amp;gt;&lt;br /&gt;
E.g: let's say you send a message to set a decal &amp;quot;{break&amp;quot; at index 200.&amp;lt;br&amp;gt;&lt;br /&gt;
As result, when a message TE_ will be used to show a decal at index 200, we will see &amp;quot;{break&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|If there is already an existing decal at the provided index, it will be overwritten. }}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|It appears we can play only with decals from decals.wad. }}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_DECALNAME}}&lt;br /&gt;
{{hl1msg|byte|PositionIndex}}&lt;br /&gt;
{{hl1msg|string|DecalName}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_DISCONNECT =&lt;br /&gt;
Disconnect player with given reason.&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_DISCONNECT}}&lt;br /&gt;
{{hl1msg|string|Reason}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_FILETXFERFAILED =&lt;br /&gt;
&lt;br /&gt;
Sends a message to the client's console telling what file has failed to be transfered.&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|The message type is : &amp;quot;Error: server failed to transmit file 'FileName'&amp;quot;&amp;quot;}}&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_FILETXFERFAILED}}&lt;br /&gt;
{{hl1msg|string|FileName}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_FINALE =&lt;br /&gt;
Shows the intermission camera view, and writes-out text passed in first parameter.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Intermission mode 2. }}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|This text will keep showing on clients in future intermissions. }}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_FINALE}}&lt;br /&gt;
{{hl1msg|string|Text}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_FOUNDSECRET =&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Deprecated. }}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_FOUNDSECRET}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_HLTV =&lt;br /&gt;
Tells client about current spectator mode.&lt;br /&gt;
&lt;br /&gt;
 As found in hltv.h:&lt;br /&gt;
 &lt;br /&gt;
 #define HLTV_ACTIVE	0	// tells client that he's an spectator and will get director commands&lt;br /&gt;
 #define HLTV_STATUS	1	// send status infos about proxy &lt;br /&gt;
 #define HLTV_LISTEN	2	// tell client to listen to a multicast stream&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_HLTV}}&lt;br /&gt;
{{hl1msg|byte|Mode}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_INTERMISSION =&lt;br /&gt;
Shows the intermission camera view&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Intermission mode 1. }}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|This message has no arguments.}}&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_INTERMISSION}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_KILLEDMONSTER =&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Deprecated. }}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_KILLEDMONSTER}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_LIGHTSTYLE =&lt;br /&gt;
Setup light animation tables. 'a' is total darkness, 'z' is maxbright.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Server send 64 lightstyles to client during client connect. Most of them has empty light info. All of them could be found in world.cpp }}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pawn&amp;gt;&lt;br /&gt;
// 0 normal&lt;br /&gt;
LIGHT_STYLE(0, &amp;quot;m&amp;quot;);&lt;br /&gt;
// 1 FLICKER (first variety)&lt;br /&gt;
LIGHT_STYLE(1, &amp;quot;mmnmmommommnonmmonqnmmo&amp;quot;);	&lt;br /&gt;
// 2 SLOW STRONG PULSE&lt;br /&gt;
LIGHT_STYLE(2, &amp;quot;abcdefghijklmnopqrstuvwxyzyxwvutsrqponmlkjihgfedcba&amp;quot;);	&lt;br /&gt;
// 3 CANDLE (first variety)&lt;br /&gt;
LIGHT_STYLE(3, &amp;quot;mmmmmaaaaammmmmaaaaaabcdefgabcdefg&amp;quot;);	&lt;br /&gt;
// 4 FAST STROBE&lt;br /&gt;
LIGHT_STYLE(4, &amp;quot;mamamamamama&amp;quot;);	&lt;br /&gt;
// 5 GENTLE PULSE 1&lt;br /&gt;
LIGHT_STYLE(5,&amp;quot;jklmnopqrstuvwxyzyxwvutsrqponmlkj&amp;quot;);	&lt;br /&gt;
// 6 FLICKER (second variety)&lt;br /&gt;
LIGHT_STYLE(6, &amp;quot;nmonqnmomnmomomno&amp;quot;);	&lt;br /&gt;
// 7 CANDLE (second variety)&lt;br /&gt;
LIGHT_STYLE(7, &amp;quot;mmmaaaabcdefgmmmmaaaammmaamm&amp;quot;);	&lt;br /&gt;
// 8 CANDLE (third variety)&lt;br /&gt;
LIGHT_STYLE(8, &amp;quot;mmmaaammmaaammmabcdefaaaammmmabcdefmmmaaaa&amp;quot;);	&lt;br /&gt;
// 9 SLOW STROBE (fourth variety)&lt;br /&gt;
LIGHT_STYLE(9, &amp;quot;aaaaaaaazzzzzzzz&amp;quot;);	&lt;br /&gt;
// 10 FLUORESCENT FLICKER&lt;br /&gt;
LIGHT_STYLE(10, &amp;quot;mmamammmmammamamaaamammma&amp;quot;);&lt;br /&gt;
// 11 SLOW PULSE NOT FADE TO BLACK&lt;br /&gt;
LIGHT_STYLE(11, &amp;quot;abcdefghijklmnopqrrqponmlkjihgfedcba&amp;quot;);	&lt;br /&gt;
// 12 UNDERWATER LIGHT MUTATION&lt;br /&gt;
// this light only distorts the lightmap - no contribution&lt;br /&gt;
// is made to the brightness of affected surfaces&lt;br /&gt;
LIGHT_STYLE(12, &amp;quot;mmnnmmnnnmmnn&amp;quot;);&lt;br /&gt;
	&lt;br /&gt;
// styles 32-62 are assigned by the light program for switchable lights&lt;br /&gt;
&lt;br /&gt;
// 63 testing&lt;br /&gt;
LIGHT_STYLE(63, &amp;quot;a&amp;quot;);&lt;br /&gt;
&amp;lt;/pawn&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_LIGHTSTYLE}}&lt;br /&gt;
{{hl1msg|byte|index}}&lt;br /&gt;
{{hl1msg|string|lightinfo}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_NEWMOVEVARS =&lt;br /&gt;
Updates client's movevars.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message is sent on client's connect and when any change is detected between the current server movevars and server cvars values. }}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|If there is a change, the value of server cvars are copied into the server movevars, then the message is sent to all players using the server movevars. }}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_NEWMOVEVARS}}&lt;br /&gt;
{{hl1msg|float|Gravity}}&lt;br /&gt;
{{hl1msg|float|StopSpeed}}&lt;br /&gt;
{{hl1msg|float|MaxSpeed}}&lt;br /&gt;
{{hl1msg|float|SpectatorMaxSpeed}}&lt;br /&gt;
{{hl1msg|float|Accelerate}}&lt;br /&gt;
{{hl1msg|float|AirAccelerate}}&lt;br /&gt;
{{hl1msg|float|WaterAccelerate}}&lt;br /&gt;
{{hl1msg|float|Friction}}&lt;br /&gt;
{{hl1msg|float|EdgeFriction}}&lt;br /&gt;
{{hl1msg|float|WaterFriction}}&lt;br /&gt;
{{hl1msg|float|EntGravity}}&lt;br /&gt;
{{hl1msg|float|Bounce}}&lt;br /&gt;
{{hl1msg|float|StepSize}}&lt;br /&gt;
{{hl1msg|float|MaxVelocity}}&lt;br /&gt;
{{hl1msg|float|ZMax}}&lt;br /&gt;
{{hl1msg|float|WaveHeigth}}&lt;br /&gt;
{{hl1msg|byte|Footsteps}}&lt;br /&gt;
{{hl1msg|float|RollAngle}}&lt;br /&gt;
{{hl1msg|float|RollSpeed}}&lt;br /&gt;
{{hl1msg|float|SkyColorRed}}&lt;br /&gt;
{{hl1msg|float|SkyColorGreen}}&lt;br /&gt;
{{hl1msg|float|SkyColorBlue}}&lt;br /&gt;
{{hl1msg|float|SkyVecX}}&lt;br /&gt;
{{hl1msg|float|SkyVecY}}&lt;br /&gt;
{{hl1msg|float|SkyVecZ}}&lt;br /&gt;
{{hl1msg|string|SkyName}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_PARTICLE =&lt;br /&gt;
Shows a particle effect.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Called from pfnParticleEffect. So, the same as EngFunc_ParticleEffect. }}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|The direction has to be a value between -128 to 127, after the scale operation. }}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|You don't need to scaled by 16 if you use the engine call. }}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|Color is an index from the palette attached at right. }}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Palette.png|200px|thumb|right|Standard Quake1 palette]]&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_PARTICLE}}&lt;br /&gt;
{{hl1msg|coord|OriginX}}&lt;br /&gt;
{{hl1msg|coord|OriginY}}&lt;br /&gt;
{{hl1msg|coord|OriginZ}}&lt;br /&gt;
{{hl1msg|char|DirectionX * 16}}&lt;br /&gt;
{{hl1msg|char|DirectionY * 16}}&lt;br /&gt;
{{hl1msg|char|DirectionZ * 16}}&lt;br /&gt;
{{hl1msg|byte|Count}}&lt;br /&gt;
{{hl1msg|byte|Color}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_PINGS =&lt;br /&gt;
Contains ping, loss for several players.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Flag is 1 - rest data contains PlayerID, Ping and Loss at least for 1 player. }}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|Flag is 0 - end of the message, skip remaining bits. }}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice| ... - Flag + PlayerID + Ping + Loss - N times. }}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_PINGS}}&lt;br /&gt;
{{hl1msg|1 bit|Flag 1}}&lt;br /&gt;
{{hl1msg|5 bits|PlayerID}}&lt;br /&gt;
{{hl1msg|12 bits|Ping}}&lt;br /&gt;
{{hl1msg|7 bits|Loss}}&lt;br /&gt;
{{hl1msg|...|...}}&lt;br /&gt;
{{hl1msg|1 bit|Flag 0}}&lt;br /&gt;
{{hl1msg|n bits|Align to byte with zero bits}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_PRINT =&lt;br /&gt;
Sends a message to the client's console. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Called from pfnClientPrintf with print_console or print_notify as type.}}&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_PRINT}}&lt;br /&gt;
{{hl1msg|string|Message}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_RESOURCELOCATION =&lt;br /&gt;
This message sends sv_downloadurl to client.&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_RESOURCELOCATION}}&lt;br /&gt;
{{hl1msg|string|sv_downloadurl}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_ROOMTYPE =&lt;br /&gt;
Sets client room_type cvar to provided value.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pawn&amp;gt;0 = Normal (off)&lt;br /&gt;
1 = Generic&lt;br /&gt;
2 = Metal Small&lt;br /&gt;
3 = Metal Medium&lt;br /&gt;
4 = Metal Large&lt;br /&gt;
5 = Tunnel Small&lt;br /&gt;
6 = Tunnel Medium&lt;br /&gt;
7 = Tunnel Large&lt;br /&gt;
8 = Chamber Small&lt;br /&gt;
9 = Chamber Medium&lt;br /&gt;
10 = Chamber Large&lt;br /&gt;
11 = Bright Small&lt;br /&gt;
12 = Bright Medium&lt;br /&gt;
13 = Bright Large&lt;br /&gt;
14 = Water 1&lt;br /&gt;
15 = Water 2&lt;br /&gt;
16 = Water 3&lt;br /&gt;
17 = Concrete Small&lt;br /&gt;
18 = Concrete Medium&lt;br /&gt;
19 = Concrete Large&lt;br /&gt;
20 = Big 1&lt;br /&gt;
21 = Big 2&lt;br /&gt;
22 = Big 3&lt;br /&gt;
23 = Cavern Small&lt;br /&gt;
24 = Cavern Medium&lt;br /&gt;
25 = Cavern Large&lt;br /&gt;
26 = Weirdo 1&lt;br /&gt;
27 = Weirdo 2&lt;br /&gt;
28 = Weirdo 3&amp;lt;/pawn&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_ROOMTYPE}}&lt;br /&gt;
{{hl1msg|short|Value}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_SENDEXTRAINFO =&lt;br /&gt;
Sends some extra infos.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message is sent at player's connection as params &amp;quot;com_clientfallback&amp;quot; (global var) and sv_cheats value.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|The sv_cheats cvar will be set on the client with the value provided.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|It appears &amp;quot;com_clientfallback&amp;quot; is always null.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|This message seems to be unused.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_SENDEXTRAINFO}}&lt;br /&gt;
{{hl1msg|string|FallbackDir}}&lt;br /&gt;
{{hl1msg|byte|CanCheat}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_SETANGLE =&lt;br /&gt;
Update immediately the client's view angles.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|When pev-&amp;gt;fixangle is set 1, this message is sent with the current player's pev-&amp;gt;v_angle values.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|The provided angles need to be scaled by ( 65536 / 360 ).}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_SETANGLE}}&lt;br /&gt;
{{hl1msg|short|AnglePitch}}&lt;br /&gt;
{{hl1msg|short|AngleYaw}}&lt;br /&gt;
{{hl1msg|short|AngleRoll}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_SETPAUSE =&lt;br /&gt;
Puts client to a pause.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|If server is not paused, commands and packets from client are still sent, that means that client still can shoot/buy/etc...}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|IsPaused: 1 - for pause, 0 - for unpause.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_SETPAUSE}}&lt;br /&gt;
{{hl1msg|byte|IsPaused}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_SETVIEW =&lt;br /&gt;
Attaches a player's view to an entity.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Called from pfnSetView. The same as attach_view() native. }}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_SETVIEW}}&lt;br /&gt;
{{hl1msg|short|EntityIndex}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_SOUNDFADE =&lt;br /&gt;
Updates client side sound fade.&amp;lt;br&amp;gt;&lt;br /&gt;
It's used to modulate sound volume on the client.&amp;lt;br&amp;gt;&lt;br /&gt;
Such functionality is part of a main function where the purpose would be to update sound subsystem and cd audio.&amp;lt;br&amp;gt;&lt;br /&gt;
Note : EngFunc_FadeClientVolume sends that message to client&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_SOUNDFADE}}&lt;br /&gt;
{{hl1msg|byte|InitialPercent}}&lt;br /&gt;
{{hl1msg|byte|HoldTime}}&lt;br /&gt;
{{hl1msg|byte|FadeInTime}}&lt;br /&gt;
{{hl1msg|byte|FadeOutTime}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_SPAWNSTATICSOUND =&lt;br /&gt;
Start playback of a sound, loaded into the static portion of the channel array.&amp;lt;br&amp;gt;&lt;br /&gt;
This should be used for looping ambient sounds, looping sounds that should not non-creature sentences, and one-shot ambient streaming sounds.&amp;lt;br&amp;gt; &lt;br /&gt;
It can also play 'regular' sounds one-shot, in case designers want to trigger regular game sounds.&amp;lt;br&amp;gt;&lt;br /&gt;
The sound can be spawned either from a fixed position or from an entity.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|To use it on a fixed position, provide a valid origin and set EntityIndex with 0.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|To use it from an entity, so position is updated, provide a valid EntityIndex and set Origin with a null vector.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|To stop a sound with SVC_STOPSOUND, a valid EntityIndex is needed.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|Volume has to be scaled by 255 and Attenuation by 64.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|Use SND_SENTENCE (1&amp;lt;&amp;lt;4) as flag for sentence sounds. }}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|It can be sent to one player.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_SPAWNSTATICSOUND }}&lt;br /&gt;
{{hl1msg|coord|OriginX}}&lt;br /&gt;
{{hl1msg|coord|OriginY}}&lt;br /&gt;
{{hl1msg|coord|OriginZ}}&lt;br /&gt;
{{hl1msg|short|SoundIndex}}&lt;br /&gt;
{{hl1msg|byte|Volume * 255}}&lt;br /&gt;
{{hl1msg|byte|Attenuation * 64}}&lt;br /&gt;
{{hl1msg|short|EntityIndex}}&lt;br /&gt;
{{hl1msg|byte|Flags}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_TEMPENTITY =&lt;br /&gt;
Creates a [[Temp_Entity_Events_(Half-Life_1)|temp entity]].&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_TEMPENTITY}}&lt;br /&gt;
{{hl1msg|byte|[[Temp_Entity_Events_(Half-Life_1)|MessageIndex]]}}&lt;br /&gt;
{{hl1msg|...|...}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_TIMESCALE =&lt;br /&gt;
{{begin-hl1msg|SVC_TIMESCALE}}&lt;br /&gt;
{{hl1msg|float|TimeScale}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_STOPSOUND =&lt;br /&gt;
Stops an ambient sound.&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_STOPSOUND}}&lt;br /&gt;
{{hl1msg|short|EntityIndex}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_STUFFTEXT =&lt;br /&gt;
Executes command on player.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message is sent by client_cmd(index,const command[],any:...) }}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_STUFFTEXT}}&lt;br /&gt;
{{hl1msg|string|Command}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_UPDATEUSERINFO =&lt;br /&gt;
{{begin-hl1msg|SVC_UPDATEUSERINFO}}&lt;br /&gt;
{{hl1msg|byte|ClientIndex}}&lt;br /&gt;
{{hl1msg|long|ClientUserId}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_VERSION =&lt;br /&gt;
Disconnects the client and sends a message to the console if the number passed doesn't match the current server protocol version.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Message type sent : &amp;quot;CL_Parse_Version: Server is protocol %i instead of %i\n&amp;quot;.}}&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_VERSION}}&lt;br /&gt;
{{hl1msg|long|ProtocolVersion}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_VOICEINIT =&lt;br /&gt;
Sends sv_voicecodec and sv_voicequality cvars to client.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Codec name either voice_miles or voice_speex.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|Quality 1 to 5.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_VOICEINIT}}&lt;br /&gt;
{{hl1msg|string|CodecName}}&lt;br /&gt;
{{hl1msg|byte|Quality}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_WEAPONANIM =&lt;br /&gt;
Plays a weapon sequence.&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_WEAPONANIM}}&lt;br /&gt;
{{hl1msg|byte|SequenceNumber}}&lt;br /&gt;
{{hl1msg|byte|WeaponmodelBodygroup}}&lt;br /&gt;
{{end-hl1msg}}&lt;/div&gt;</summary>
		<author><name>ConnorMcLeod</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.alliedmods.net/index.php?title=Half-Life_1_Engine_Messages&amp;diff=8928</id>
		<title>Half-Life 1 Engine Messages</title>
		<link rel="alternate" type="text/html" href="https://wiki.alliedmods.net/index.php?title=Half-Life_1_Engine_Messages&amp;diff=8928"/>
		<updated>2013-05-09T09:57:16Z</updated>

		<summary type="html">&lt;p&gt;ConnorMcLeod: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Half-Life 1]]&lt;br /&gt;
[[Category:Scripting (AMX Mod X)]]&lt;br /&gt;
 //SVC_BAD                 0&lt;br /&gt;
 SVC_NOP                   1&lt;br /&gt;
 SVC_DISCONNECT            2&lt;br /&gt;
 SVC_EVENT                 3&lt;br /&gt;
 SVC_VERSION               4&lt;br /&gt;
 SVC_SETVIEW               5&lt;br /&gt;
 SVC_SOUND                 6&lt;br /&gt;
 SVC_TIME                  7&lt;br /&gt;
 SVC_PRINT                 8&lt;br /&gt;
 SVC_STUFFTEXT             9&lt;br /&gt;
 SVC_SETANGLE              10&lt;br /&gt;
 SVC_SERVERINFO            11&lt;br /&gt;
 SVC_LIGHTSTYLE            12&lt;br /&gt;
 SVC_UPDATEUSERINFO        13&lt;br /&gt;
 SVC_DELTADESCRIPTION      14&lt;br /&gt;
 SVC_CLIENTDATA            15&lt;br /&gt;
 SVC_STOPSOUND             16&lt;br /&gt;
 SVC_PINGS                 17&lt;br /&gt;
 SVC_PARTICLE              18&lt;br /&gt;
 SVC_DAMAGE                19&lt;br /&gt;
 SVC_SPAWNSTATIC           20&lt;br /&gt;
 SVC_EVENT_RELIABLE        21&lt;br /&gt;
 SVC_SPAWNBASELINE         22&lt;br /&gt;
 SVC_TEMPENTITY            23&lt;br /&gt;
 SVC_SETPAUSE              24&lt;br /&gt;
 SVC_SIGNONNUM             25&lt;br /&gt;
 SVC_CENTERPRINT           26&lt;br /&gt;
 SVC_KILLEDMONSTER         27&lt;br /&gt;
 SVC_FOUNDSECRET           28&lt;br /&gt;
 SVC_SPAWNSTATICSOUND      29&lt;br /&gt;
 SVC_INTERMISSION          30&lt;br /&gt;
 SVC_FINALE                31&lt;br /&gt;
 SVC_CDTRACK               32&lt;br /&gt;
 SVC_RESTORE               33&lt;br /&gt;
 SVC_CUTSCENE              34&lt;br /&gt;
 SVC_WEAPONANIM            35&lt;br /&gt;
 SVC_DECALNAME             36&lt;br /&gt;
 SVC_ROOMTYPE              37&lt;br /&gt;
 SVC_ADDANGLE              38&lt;br /&gt;
 SVC_NEWUSERMSG            39&lt;br /&gt;
 SVC_PACKETENTITIES        40&lt;br /&gt;
 SVC_DELTAPACKETENTITIES   41&lt;br /&gt;
 SVC_CHOKE                 42&lt;br /&gt;
 SVC_RESOURCELIST          43&lt;br /&gt;
 SVC_NEWMOVEVARS           44&lt;br /&gt;
 SVC_RESOURCEREQUEST       45&lt;br /&gt;
 SVC_CUSTOMIZATION         46&lt;br /&gt;
 SVC_CROSSHAIRANGLE        47&lt;br /&gt;
 SVC_SOUNDFADE             48&lt;br /&gt;
 SVC_FILETXFERFAILED       49&lt;br /&gt;
 SVC_HLTV                  50&lt;br /&gt;
 SVC_DIRECTOR              51&lt;br /&gt;
 SVC_VOICEINIT             52&lt;br /&gt;
 SVC_VOICEDATA             53&lt;br /&gt;
 SVC_SENDEXTRAINFO         54&lt;br /&gt;
 SVC_TIMESCALE             55&lt;br /&gt;
 SVC_RESOURCELOCATION      56&lt;br /&gt;
 SVC_SENDCVARVALUE         57&lt;br /&gt;
 SVC_SENDCVARVALUE2        58&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= SVC_ADDANGLE =&lt;br /&gt;
Add an angle on the yaw axis of the current client's view angle.&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|When pev-&amp;gt;fixangle is set to 2, this message is called to add pev-&amp;gt;avelocity[1] as value.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|The value needs to be scaled by ( 65536  / 360 ).}}&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_ADDANGLE }}&lt;br /&gt;
{{hl1msg|short|AngleToAdd}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_CDTRACK =&lt;br /&gt;
Plays an Half-Life music.&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|Track goes from 1 to 30.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|The musics are located in valve/media/.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|The second param is unused and not optional.}}&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_CDTRACK }}&lt;br /&gt;
{{hl1msg|byte|Track}}&lt;br /&gt;
{{hl1msg|byte|LoopTrack [unused]}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_CENTERPRINT =&lt;br /&gt;
Sends a centered message.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Called from pfnClientPrintf with print_center as type.}}&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_CENTERPRINT}}&lt;br /&gt;
{{hl1msg|string|Message}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_CHOKE =&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_CHOKE}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_CROSSHAIRANGLE =&lt;br /&gt;
Adjusts the weapon's crosshair angle.&amp;lt;br&amp;gt;&lt;br /&gt;
Basically, the weapon position on the player's view can have a different origin.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Called by pfnCrosshairAngle. So, the same as EngFunc_CrosshairAngle.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|If you use the engine call, no need to scale by 5.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|Use 0 for both to get the default position.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_CROSSHAIRANGLE }}&lt;br /&gt;
{{hl1msg|char|PitchAngle * 5}}&lt;br /&gt;
{{hl1msg|char|YawAngle * 5}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_CUTSCENE =&lt;br /&gt;
Shows the intermission camera view, and writes-out text passed in first parameter.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Intermission mode 3. }}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|This text will keep showing on clients in future intermissions. }}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_CUTSCENE}}&lt;br /&gt;
{{hl1msg|string|Text}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_DAMAGE =&lt;br /&gt;
{{qnotice|Deprecated. }}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_DAMAGE}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_DECALNAME =&lt;br /&gt;
Allows to set, into the client's decals array and at specific position index (0-&amp;gt;511), a decal name.&amp;lt;br&amp;gt;&lt;br /&gt;
E.g: let's say you send a message to set a decal &amp;quot;{break&amp;quot; at index 200.&amp;lt;br&amp;gt;&lt;br /&gt;
As result, when a message TE_ will be used to show a decal at index 200, we will see &amp;quot;{break&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|If there is already an existing decal at the provided index, it will be overwritten. }}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|It appears we can play only with decals from decals.wad. }}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_DECALNAME}}&lt;br /&gt;
{{hl1msg|byte|PositionIndex}}&lt;br /&gt;
{{hl1msg|string|DecalName}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_DISCONNECT =&lt;br /&gt;
Disconnect player with given reason.&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_DISCONNECT}}&lt;br /&gt;
{{hl1msg|string|Reason}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_FILETXFERFAILED =&lt;br /&gt;
&lt;br /&gt;
Sends a message to the client's console telling what file has failed to be transfered.&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|The message type is : &amp;quot;Error: server failed to transmit file 'FileName'&amp;quot;&amp;quot;}}&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_FILETXFERFAILED}}&lt;br /&gt;
{{hl1msg|string|FileName}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_FINALE =&lt;br /&gt;
Shows the intermission camera view, and writes-out text passed in first parameter.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Intermission mode 2. }}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|This text will keep showing on clients in future intermissions. }}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_FINALE}}&lt;br /&gt;
{{hl1msg|string|Text}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_FOUNDSECRET =&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Deprecated. }}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_FOUNDSECRET}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_HLTV =&lt;br /&gt;
Tells client about current spectator mode.&lt;br /&gt;
&lt;br /&gt;
 As found in hltv.h:&lt;br /&gt;
 &lt;br /&gt;
 #define HLTV_ACTIVE	0	// tells client that he's an spectator and will get director commands&lt;br /&gt;
 #define HLTV_STATUS	1	// send status infos about proxy &lt;br /&gt;
 #define HLTV_LISTEN	2	// tell client to listen to a multicast stream&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_HLTV}}&lt;br /&gt;
{{hl1msg|byte|Mode}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_INTERMISSION =&lt;br /&gt;
Shows the intermission camera view&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Intermission mode 1. }}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|This message has no arguments.}}&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_INTERMISSION}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_KILLEDMONSTER =&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Deprecated. }}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_KILLEDMONSTER}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_LIGHTSTYLE =&lt;br /&gt;
Setup light animation tables. 'a' is total darkness, 'z' is maxbright.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Server send 64 lightstyles to client during client connect. Most of them has empty light info. All of them could be found in world.cpp }}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pawn&amp;gt;&lt;br /&gt;
// 0 normal&lt;br /&gt;
LIGHT_STYLE(0, &amp;quot;m&amp;quot;);&lt;br /&gt;
// 1 FLICKER (first variety)&lt;br /&gt;
LIGHT_STYLE(1, &amp;quot;mmnmmommommnonmmonqnmmo&amp;quot;);	&lt;br /&gt;
// 2 SLOW STRONG PULSE&lt;br /&gt;
LIGHT_STYLE(2, &amp;quot;abcdefghijklmnopqrstuvwxyzyxwvutsrqponmlkjihgfedcba&amp;quot;);	&lt;br /&gt;
// 3 CANDLE (first variety)&lt;br /&gt;
LIGHT_STYLE(3, &amp;quot;mmmmmaaaaammmmmaaaaaabcdefgabcdefg&amp;quot;);	&lt;br /&gt;
// 4 FAST STROBE&lt;br /&gt;
LIGHT_STYLE(4, &amp;quot;mamamamamama&amp;quot;);	&lt;br /&gt;
// 5 GENTLE PULSE 1&lt;br /&gt;
LIGHT_STYLE(5,&amp;quot;jklmnopqrstuvwxyzyxwvutsrqponmlkj&amp;quot;);	&lt;br /&gt;
// 6 FLICKER (second variety)&lt;br /&gt;
LIGHT_STYLE(6, &amp;quot;nmonqnmomnmomomno&amp;quot;);	&lt;br /&gt;
// 7 CANDLE (second variety)&lt;br /&gt;
LIGHT_STYLE(7, &amp;quot;mmmaaaabcdefgmmmmaaaammmaamm&amp;quot;);	&lt;br /&gt;
// 8 CANDLE (third variety)&lt;br /&gt;
LIGHT_STYLE(8, &amp;quot;mmmaaammmaaammmabcdefaaaammmmabcdefmmmaaaa&amp;quot;);	&lt;br /&gt;
// 9 SLOW STROBE (fourth variety)&lt;br /&gt;
LIGHT_STYLE(9, &amp;quot;aaaaaaaazzzzzzzz&amp;quot;);	&lt;br /&gt;
// 10 FLUORESCENT FLICKER&lt;br /&gt;
LIGHT_STYLE(10, &amp;quot;mmamammmmammamamaaamammma&amp;quot;);&lt;br /&gt;
// 11 SLOW PULSE NOT FADE TO BLACK&lt;br /&gt;
LIGHT_STYLE(11, &amp;quot;abcdefghijklmnopqrrqponmlkjihgfedcba&amp;quot;);	&lt;br /&gt;
// 12 UNDERWATER LIGHT MUTATION&lt;br /&gt;
// this light only distorts the lightmap - no contribution&lt;br /&gt;
// is made to the brightness of affected surfaces&lt;br /&gt;
LIGHT_STYLE(12, &amp;quot;mmnnmmnnnmmnn&amp;quot;);&lt;br /&gt;
	&lt;br /&gt;
// styles 32-62 are assigned by the light program for switchable lights&lt;br /&gt;
&lt;br /&gt;
// 63 testing&lt;br /&gt;
LIGHT_STYLE(63, &amp;quot;a&amp;quot;);&lt;br /&gt;
&amp;lt;/pawn&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_LIGHTSTYLE}}&lt;br /&gt;
{{hl1msg|byte|index}}&lt;br /&gt;
{{hl1msg|string|lightinfo}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_NEWMOVEVARS =&lt;br /&gt;
Updates client's movevars.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message is sent on client's connect and when any change is detected between the current server movevars and server cvars values. }}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|If there is a change, the value of server cvars are copied into the server movevars, then the message is sent to all players using the server movevars. }}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_NEWMOVEVARS}}&lt;br /&gt;
{{hl1msg|float|Gravity}}&lt;br /&gt;
{{hl1msg|float|StopSpeed}}&lt;br /&gt;
{{hl1msg|float|MaxSpeed}}&lt;br /&gt;
{{hl1msg|float|SpectatorMaxSpeed}}&lt;br /&gt;
{{hl1msg|float|Accelerate}}&lt;br /&gt;
{{hl1msg|float|AirAccelerate}}&lt;br /&gt;
{{hl1msg|float|WaterAccelerate}}&lt;br /&gt;
{{hl1msg|float|Friction}}&lt;br /&gt;
{{hl1msg|float|EdgeFriction}}&lt;br /&gt;
{{hl1msg|float|WaterFriction}}&lt;br /&gt;
{{hl1msg|float|EntGravity}}&lt;br /&gt;
{{hl1msg|float|Bounce}}&lt;br /&gt;
{{hl1msg|float|StepSize}}&lt;br /&gt;
{{hl1msg|float|MaxVelocity}}&lt;br /&gt;
{{hl1msg|float|ZMax}}&lt;br /&gt;
{{hl1msg|float|WaveHeigth}}&lt;br /&gt;
{{hl1msg|byte|Footsteps}}&lt;br /&gt;
{{hl1msg|float|RollAngle}}&lt;br /&gt;
{{hl1msg|float|RollSpeed}}&lt;br /&gt;
{{hl1msg|float|SkyColorRed}}&lt;br /&gt;
{{hl1msg|float|SkyColorGreen}}&lt;br /&gt;
{{hl1msg|float|SkyColorBlue}}&lt;br /&gt;
{{hl1msg|float|SkyVecX}}&lt;br /&gt;
{{hl1msg|float|SkyVecY}}&lt;br /&gt;
{{hl1msg|float|SkyVecZ}}&lt;br /&gt;
{{hl1msg|string|SkyName}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_PARTICLE =&lt;br /&gt;
Shows a particle effect.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Called from pfnParticleEffect. So, the same as EngFunc_ParticleEffect. }}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|The direction has to be a value between -128 to 127, after the scale operation. }}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|You don't need to scaled by 16 if you use the engine call. }}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|Color is an index from the palette attached at right. }}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Palette.png|200px|thumb|right|Standard Quake1 palette]]&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_PARTICLE}}&lt;br /&gt;
{{hl1msg|coord|OriginX}}&lt;br /&gt;
{{hl1msg|coord|OriginY}}&lt;br /&gt;
{{hl1msg|coord|OriginZ}}&lt;br /&gt;
{{hl1msg|char|DirectionX * 16}}&lt;br /&gt;
{{hl1msg|char|DirectionY * 16}}&lt;br /&gt;
{{hl1msg|char|DirectionZ * 16}}&lt;br /&gt;
{{hl1msg|byte|Count}}&lt;br /&gt;
{{hl1msg|byte|Color}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_PINGS =&lt;br /&gt;
Contains ping, loss for several players.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Flag is 1 - rest data contains PlayerID, Ping and Loss at least for 1 player. }}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|Flag is 0 - end of the message, skip remaining bits. }}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice| ... - Flag + PlayerID + Ping + Loss - N times. }}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_PINGS}}&lt;br /&gt;
{{hl1msg|1 bit|Flag 1}}&lt;br /&gt;
{{hl1msg|5 bits|PlayerID}}&lt;br /&gt;
{{hl1msg|12 bits|Ping}}&lt;br /&gt;
{{hl1msg|7 bits|Loss}}&lt;br /&gt;
{{hl1msg|...|...}}&lt;br /&gt;
{{hl1msg|1 bit|Flag 0}}&lt;br /&gt;
{{hl1msg|n bits|Align to byte with zero bits}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_PRINT =&lt;br /&gt;
Sends a message to the client's console. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Called from pfnClientPrintf with print_console or print_notify as type.}}&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_PRINT}}&lt;br /&gt;
{{hl1msg|string|Message}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_RESOURCELOCATION =&lt;br /&gt;
This message sends sv_downloadurl to client.&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_RESOURCELOCATION}}&lt;br /&gt;
{{hl1msg|string|sv_downloadurl}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_ROOMTYPE =&lt;br /&gt;
Sets client room_type cvar to provided value.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pawn&amp;gt;0 = Normal (off)&lt;br /&gt;
1 = Generic&lt;br /&gt;
2 = Metal Small&lt;br /&gt;
3 = Metal Medium&lt;br /&gt;
4 = Metal Large&lt;br /&gt;
5 = Tunnel Small&lt;br /&gt;
6 = Tunnel Medium&lt;br /&gt;
7 = Tunnel Large&lt;br /&gt;
8 = Chamber Small&lt;br /&gt;
9 = Chamber Medium&lt;br /&gt;
10 = Chamber Large&lt;br /&gt;
11 = Bright Small&lt;br /&gt;
12 = Bright Medium&lt;br /&gt;
13 = Bright Large&lt;br /&gt;
14 = Water 1&lt;br /&gt;
15 = Water 2&lt;br /&gt;
16 = Water 3&lt;br /&gt;
17 = Concrete Small&lt;br /&gt;
18 = Concrete Medium&lt;br /&gt;
19 = Concrete Large&lt;br /&gt;
20 = Big 1&lt;br /&gt;
21 = Big 2&lt;br /&gt;
22 = Big 3&lt;br /&gt;
23 = Cavern Small&lt;br /&gt;
24 = Cavern Medium&lt;br /&gt;
25 = Cavern Large&lt;br /&gt;
26 = Weirdo 1&lt;br /&gt;
27 = Weirdo 2&lt;br /&gt;
28 = Weirdo 3&amp;lt;/pawn&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_ROOMTYPE}}&lt;br /&gt;
{{hl1msg|short|Value}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_SENDEXTRAINFO =&lt;br /&gt;
Sends some extra infos.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message is sent at player's connection as params &amp;quot;com_clientfallback&amp;quot; (global var) and sv_cheats value.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|The sv_cheats cvar will be set on the client with the value provided.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|It appears &amp;quot;com_clientfallback&amp;quot; is always null.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|This message seems to be unused.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_SENDEXTRAINFO}}&lt;br /&gt;
{{hl1msg|string|FallbackDir}}&lt;br /&gt;
{{hl1msg|byte|CanCheat}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_SETANGLE =&lt;br /&gt;
Update immediately the client's view angles.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|When pev-&amp;gt;fixangle is set 1, this message is sent with the current player's pev-&amp;gt;v_angle values.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|The provided angles need to be scaled by ( 65536 / 360 ).}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_SETANGLE}}&lt;br /&gt;
{{hl1msg|short|AnglePitch}}&lt;br /&gt;
{{hl1msg|short|AngleYaw}}&lt;br /&gt;
{{hl1msg|short|AngleRoll}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_SETPAUSE =&lt;br /&gt;
Puts client to a pause.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|If server is not paused, commands and packets from client are still sent, that means that client still can shoot/buy/etc...}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|IsPaused: 1 - for pause, 0 - for unpause.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_SETPAUSE}}&lt;br /&gt;
{{hl1msg|byte|IsPaused}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_SETVIEW =&lt;br /&gt;
Attaches a player's view to an entity.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Called from pfnSetView. The same as attach_view() native. }}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_SETVIEW}}&lt;br /&gt;
{{hl1msg|short|EntityIndex}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_SOUNDFADE =&lt;br /&gt;
Updates client side sound fade.&amp;lt;br&amp;gt;&lt;br /&gt;
It's used to modulate sound volume on the client.&amp;lt;br&amp;gt;&lt;br /&gt;
Such functionality is part of a main function where the purpose would be to update sound subsystem and cd audio.&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_SOUNDFADE}}&lt;br /&gt;
{{hl1msg|byte|InitialPercent}}&lt;br /&gt;
{{hl1msg|byte|HoldTime}}&lt;br /&gt;
{{hl1msg|byte|FadeInTime}}&lt;br /&gt;
{{hl1msg|byte|FadeOutTime}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_SPAWNSTATICSOUND =&lt;br /&gt;
Start playback of a sound, loaded into the static portion of the channel array.&amp;lt;br&amp;gt;&lt;br /&gt;
This should be used for looping ambient sounds, looping sounds that should not non-creature sentences, and one-shot ambient streaming sounds.&amp;lt;br&amp;gt; &lt;br /&gt;
It can also play 'regular' sounds one-shot, in case designers want to trigger regular game sounds.&amp;lt;br&amp;gt;&lt;br /&gt;
The sound can be spawned either from a fixed position or from an entity.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|To use it on a fixed position, provide a valid origin and set EntityIndex with 0.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|To use it from an entity, so position is updated, provide a valid EntityIndex and set Origin with a null vector.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|To stop a sound with SVC_STOPSOUND, a valid EntityIndex is needed.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|Volume has to be scaled by 255 and Attenuation by 64.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|Use SND_SENTENCE (1&amp;lt;&amp;lt;4) as flag for sentence sounds. }}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|It can be sent to one player.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_SPAWNSTATICSOUND }}&lt;br /&gt;
{{hl1msg|coord|OriginX}}&lt;br /&gt;
{{hl1msg|coord|OriginY}}&lt;br /&gt;
{{hl1msg|coord|OriginZ}}&lt;br /&gt;
{{hl1msg|short|SoundIndex}}&lt;br /&gt;
{{hl1msg|byte|Volume * 255}}&lt;br /&gt;
{{hl1msg|byte|Attenuation * 64}}&lt;br /&gt;
{{hl1msg|short|EntityIndex}}&lt;br /&gt;
{{hl1msg|byte|Flags}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_TEMPENTITY =&lt;br /&gt;
Creates a [[Temp_Entity_Events_(Half-Life_1)|temp entity]].&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_TEMPENTITY}}&lt;br /&gt;
{{hl1msg|byte|[[Temp_Entity_Events_(Half-Life_1)|MessageIndex]]}}&lt;br /&gt;
{{hl1msg|...|...}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_TIMESCALE =&lt;br /&gt;
{{begin-hl1msg|SVC_TIMESCALE}}&lt;br /&gt;
{{hl1msg|float|TimeScale}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_STOPSOUND =&lt;br /&gt;
Stops an ambient sound.&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_STOPSOUND}}&lt;br /&gt;
{{hl1msg|short|EntityIndex}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_STUFFTEXT =&lt;br /&gt;
Executes command on player.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message is sent by client_cmd(index,const command[],any:...) }}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_STUFFTEXT}}&lt;br /&gt;
{{hl1msg|string|Command}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_UPDATEUSERINFO =&lt;br /&gt;
{{begin-hl1msg|SVC_UPDATEUSERINFO}}&lt;br /&gt;
{{hl1msg|byte|ClientIndex}}&lt;br /&gt;
{{hl1msg|long|ClientUserId}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_VERSION =&lt;br /&gt;
Disconnects the client and sends a message to the console if the number passed doesn't match the current server protocol version.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Message type sent : &amp;quot;CL_Parse_Version: Server is protocol %i instead of %i\n&amp;quot;.}}&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_VERSION}}&lt;br /&gt;
{{hl1msg|long|ProtocolVersion}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_VOICEINIT =&lt;br /&gt;
Sends sv_voicecodec and sv_voicequality cvars to client.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Codec name either voice_miles or voice_speex.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|Quality 1 to 5.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_VOICEINIT}}&lt;br /&gt;
{{hl1msg|string|CodecName}}&lt;br /&gt;
{{hl1msg|byte|Quality}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_WEAPONANIM =&lt;br /&gt;
Plays a weapon sequence.&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_WEAPONANIM}}&lt;br /&gt;
{{hl1msg|byte|SequenceNumber}}&lt;br /&gt;
{{hl1msg|byte|WeaponmodelBodygroup}}&lt;br /&gt;
{{end-hl1msg}}&lt;/div&gt;</summary>
		<author><name>ConnorMcLeod</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.alliedmods.net/index.php?title=Half-Life_1_Engine_Messages&amp;diff=8927</id>
		<title>Half-Life 1 Engine Messages</title>
		<link rel="alternate" type="text/html" href="https://wiki.alliedmods.net/index.php?title=Half-Life_1_Engine_Messages&amp;diff=8927"/>
		<updated>2013-05-09T09:55:22Z</updated>

		<summary type="html">&lt;p&gt;ConnorMcLeod: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Half-Life 1]]&lt;br /&gt;
[[Category:Scripting (AMX Mod X)]]&lt;br /&gt;
 //SVC_BAD                 0&lt;br /&gt;
 SVC_NOP                   1&lt;br /&gt;
 SVC_DISCONNECT            2&lt;br /&gt;
 SVC_EVENT                 3&lt;br /&gt;
 SVC_VERSION               4&lt;br /&gt;
 SVC_SETVIEW               5&lt;br /&gt;
 SVC_SOUND                 6&lt;br /&gt;
 SVC_TIME                  7&lt;br /&gt;
 SVC_PRINT                 8&lt;br /&gt;
 SVC_STUFFTEXT             9&lt;br /&gt;
 SVC_SETANGLE              10&lt;br /&gt;
 SVC_SERVERINFO            11&lt;br /&gt;
 SVC_LIGHTSTYLE            12&lt;br /&gt;
 SVC_UPDATEUSERINFO        13&lt;br /&gt;
 SVC_DELTADESCRIPTION      14&lt;br /&gt;
 SVC_CLIENTDATA            15&lt;br /&gt;
 SVC_STOPSOUND             16&lt;br /&gt;
 SVC_PINGS                 17&lt;br /&gt;
 SVC_PARTICLE              18&lt;br /&gt;
 SVC_DAMAGE                19&lt;br /&gt;
 SVC_SPAWNSTATIC           20&lt;br /&gt;
 SVC_EVENT_RELIABLE        21&lt;br /&gt;
 SVC_SPAWNBASELINE         22&lt;br /&gt;
 SVC_TEMPENTITY            23&lt;br /&gt;
 SVC_SETPAUSE              24&lt;br /&gt;
 SVC_SIGNONNUM             25&lt;br /&gt;
 SVC_CENTERPRINT           26&lt;br /&gt;
 SVC_KILLEDMONSTER         27&lt;br /&gt;
 SVC_FOUNDSECRET           28&lt;br /&gt;
 SVC_SPAWNSTATICSOUND      29&lt;br /&gt;
 SVC_INTERMISSION          30&lt;br /&gt;
 SVC_FINALE                31&lt;br /&gt;
 SVC_CDTRACK               32&lt;br /&gt;
 SVC_RESTORE               33&lt;br /&gt;
 SVC_CUTSCENE              34&lt;br /&gt;
 SVC_WEAPONANIM            35&lt;br /&gt;
 SVC_DECALNAME             36&lt;br /&gt;
 SVC_ROOMTYPE              37&lt;br /&gt;
 SVC_ADDANGLE              38&lt;br /&gt;
 SVC_NEWUSERMSG            39&lt;br /&gt;
 SVC_PACKETENTITIES        40&lt;br /&gt;
 SVC_DELTAPACKETENTITIES   41&lt;br /&gt;
 SVC_CHOKE                 42&lt;br /&gt;
 SVC_RESOURCELIST          43&lt;br /&gt;
 SVC_NEWMOVEVARS           44&lt;br /&gt;
 SVC_RESOURCEREQUEST       45&lt;br /&gt;
 SVC_CUSTOMIZATION         46&lt;br /&gt;
 SVC_CROSSHAIRANGLE        47&lt;br /&gt;
 SVC_SOUNDFADE             48&lt;br /&gt;
 SVC_FILETXFERFAILED       49&lt;br /&gt;
 SVC_HLTV                  50&lt;br /&gt;
 SVC_DIRECTOR              51&lt;br /&gt;
 SVC_VOICEINIT             52&lt;br /&gt;
 SVC_VOICEDATA             53&lt;br /&gt;
 SVC_SENDEXTRAINFO         54&lt;br /&gt;
 SVC_TIMESCALE             55&lt;br /&gt;
 SVC_RESOURCELOCATION      56&lt;br /&gt;
 SVC_SENDCVARVALUE         57&lt;br /&gt;
 SVC_SENDCVARVALUE2        58&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= SVC_ADDANGLE =&lt;br /&gt;
Add an angle on the yaw axis of the current client's view angle.&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|When pev-&amp;gt;fixangle is set to 2, this message is called to add pev-&amp;gt;avelocity[1] as value.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|The value needs to be scaled by ( 65536  / 360 ).}}&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_ADDANGLE }}&lt;br /&gt;
{{hl1msg|short|AngleToAdd}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_CDTRACK =&lt;br /&gt;
Plays an Half-Life music.&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|Track goes from 1 to 30.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|The musics are located in valve/media/.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|The second param is unused and not optional.}}&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_CDTRACK }}&lt;br /&gt;
{{hl1msg|byte|Track}}&lt;br /&gt;
{{hl1msg|byte|LoopTrack [unused]}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_CENTERPRINT =&lt;br /&gt;
Sends a centered message.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Called from pfnClientPrintf with print_center as type.}}&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_CENTERPRINT}}&lt;br /&gt;
{{hl1msg|string|Message}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_CHOKE =&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_CHOKE}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_CROSSHAIRANGLE =&lt;br /&gt;
Adjusts the weapon's crosshair angle.&amp;lt;br&amp;gt;&lt;br /&gt;
Basically, the weapon position on the player's view can have a different origin.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Called by pfnCrosshairAngle. So, the same as EngFunc_CrosshairAngle.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|If you use the engine call, no need to scale by 5.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|Use 0 for both to get the default position.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_CROSSHAIRANGLE }}&lt;br /&gt;
{{hl1msg|char|PitchAngle * 5}}&lt;br /&gt;
{{hl1msg|char|YawAngle * 5}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_CUTSCENE =&lt;br /&gt;
Shows the intermission camera view, and writes-out text passed in first parameter.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Intermission mode 3. }}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|This text will keep showing on clients in future intermissions. }}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_CUTSCENE}}&lt;br /&gt;
{{hl1msg|string|Text}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_DAMAGE =&lt;br /&gt;
{{qnotice|Deprecated. }}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_DAMAGE}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_DECALNAME =&lt;br /&gt;
Allows to set, into the client's decals array and at specific position index (0-&amp;gt;511), a decal name.&amp;lt;br&amp;gt;&lt;br /&gt;
E.g: let's say you send a message to set a decal &amp;quot;{break&amp;quot; at index 200.&amp;lt;br&amp;gt;&lt;br /&gt;
As result, when a message TE_ will be used to show a decal at index 200, we will see &amp;quot;{break&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|If there is already an existing decal at the provided index, it will be overwritten. }}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|It appears we can play only with decals from decals.wad. }}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_DECALNAME}}&lt;br /&gt;
{{hl1msg|byte|PositionIndex}}&lt;br /&gt;
{{hl1msg|string|DecalName}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_DISCONNECT =&lt;br /&gt;
Disconnect player with given reason.&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_DISCONNECT}}&lt;br /&gt;
{{hl1msg|string|Reason}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_FILETXFERFAILED =&lt;br /&gt;
&lt;br /&gt;
Sends a message to the client's console telling what file has failed to be transfered.&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|The message type is : &amp;quot;Error: server failed to transmit file 'FileName'&amp;quot;&amp;quot;}}&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_FILETXFERFAILED}}&lt;br /&gt;
{{hl1msg|string|FileName}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_FINALE =&lt;br /&gt;
Shows the intermission camera view, and writes-out text passed in first parameter.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Intermission mode 2. }}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|This text will keep showing on clients in future intermissions. }}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_FINALE}}&lt;br /&gt;
{{hl1msg|string|Text}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_FOUNDSECRET =&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Deprecated. }}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_FOUNDSECRET}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_HLTV =&lt;br /&gt;
Tells client about current spectator mode.&lt;br /&gt;
&lt;br /&gt;
 As found in hltv.h:&lt;br /&gt;
 &lt;br /&gt;
 #define HLTV_ACTIVE	0	// tells client that he's an spectator and will get director commands&lt;br /&gt;
 #define HLTV_STATUS	1	// send status infos about proxy &lt;br /&gt;
 #define HLTV_LISTEN	2	// tell client to listen to a multicast stream&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_HLTV}}&lt;br /&gt;
{{hl1msg|byte|Mode}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_INTERMISSION =&lt;br /&gt;
Shows the intermission camera view&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Intermission mode 1. }}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|This message has no arguments.}}&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_INTERMISSION}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_KILLEDMONSTER =&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Deprecated. }}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_KILLEDMONSTER}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_LIGHTSTYLE =&lt;br /&gt;
Setup light animation tables. 'a' is total darkness, 'z' is maxbright.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Server send 64 lightstyles to client during client connect. Most of them has empty light info. All of them could be found in world.cpp }}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pawn&amp;gt;&lt;br /&gt;
// 0 normal&lt;br /&gt;
LIGHT_STYLE(0, &amp;quot;m&amp;quot;);&lt;br /&gt;
// 1 FLICKER (first variety)&lt;br /&gt;
LIGHT_STYLE(1, &amp;quot;mmnmmommommnonmmonqnmmo&amp;quot;);	&lt;br /&gt;
// 2 SLOW STRONG PULSE&lt;br /&gt;
LIGHT_STYLE(2, &amp;quot;abcdefghijklmnopqrstuvwxyzyxwvutsrqponmlkjihgfedcba&amp;quot;);	&lt;br /&gt;
// 3 CANDLE (first variety)&lt;br /&gt;
LIGHT_STYLE(3, &amp;quot;mmmmmaaaaammmmmaaaaaabcdefgabcdefg&amp;quot;);	&lt;br /&gt;
// 4 FAST STROBE&lt;br /&gt;
LIGHT_STYLE(4, &amp;quot;mamamamamama&amp;quot;);	&lt;br /&gt;
// 5 GENTLE PULSE 1&lt;br /&gt;
LIGHT_STYLE(5,&amp;quot;jklmnopqrstuvwxyzyxwvutsrqponmlkj&amp;quot;);	&lt;br /&gt;
// 6 FLICKER (second variety)&lt;br /&gt;
LIGHT_STYLE(6, &amp;quot;nmonqnmomnmomomno&amp;quot;);	&lt;br /&gt;
// 7 CANDLE (second variety)&lt;br /&gt;
LIGHT_STYLE(7, &amp;quot;mmmaaaabcdefgmmmmaaaammmaamm&amp;quot;);	&lt;br /&gt;
// 8 CANDLE (third variety)&lt;br /&gt;
LIGHT_STYLE(8, &amp;quot;mmmaaammmaaammmabcdefaaaammmmabcdefmmmaaaa&amp;quot;);	&lt;br /&gt;
// 9 SLOW STROBE (fourth variety)&lt;br /&gt;
LIGHT_STYLE(9, &amp;quot;aaaaaaaazzzzzzzz&amp;quot;);	&lt;br /&gt;
// 10 FLUORESCENT FLICKER&lt;br /&gt;
LIGHT_STYLE(10, &amp;quot;mmamammmmammamamaaamammma&amp;quot;);&lt;br /&gt;
// 11 SLOW PULSE NOT FADE TO BLACK&lt;br /&gt;
LIGHT_STYLE(11, &amp;quot;abcdefghijklmnopqrrqponmlkjihgfedcba&amp;quot;);	&lt;br /&gt;
// 12 UNDERWATER LIGHT MUTATION&lt;br /&gt;
// this light only distorts the lightmap - no contribution&lt;br /&gt;
// is made to the brightness of affected surfaces&lt;br /&gt;
LIGHT_STYLE(12, &amp;quot;mmnnmmnnnmmnn&amp;quot;);&lt;br /&gt;
	&lt;br /&gt;
// styles 32-62 are assigned by the light program for switchable lights&lt;br /&gt;
&lt;br /&gt;
// 63 testing&lt;br /&gt;
LIGHT_STYLE(63, &amp;quot;a&amp;quot;);&lt;br /&gt;
&amp;lt;/pawn&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_LIGHTSTYLE}}&lt;br /&gt;
{{hl1msg|byte|index}}&lt;br /&gt;
{{hl1msg|string|lightinfo}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_NEWMOVEVARS =&lt;br /&gt;
Updates client's movevars.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message is sent on client's connect and when any change is detected between the current server movevars and server cvars values. }}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|If there is a change, the value of server cvars are copied into the server movevars, then the message is sent to all players using the server movevars. }}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_NEWMOVEVARS}}&lt;br /&gt;
{{hl1msg|float|Gravity}}&lt;br /&gt;
{{hl1msg|float|StopSpeed}}&lt;br /&gt;
{{hl1msg|float|MaxSpeed}}&lt;br /&gt;
{{hl1msg|float|SpectatorMaxSpeed}}&lt;br /&gt;
{{hl1msg|float|Accelerate}}&lt;br /&gt;
{{hl1msg|float|AirAccelerate}}&lt;br /&gt;
{{hl1msg|float|WaterAccelerate}}&lt;br /&gt;
{{hl1msg|float|Friction}}&lt;br /&gt;
{{hl1msg|float|EdgeFriction}}&lt;br /&gt;
{{hl1msg|float|WaterFriction}}&lt;br /&gt;
{{hl1msg|float|EntGravity}}&lt;br /&gt;
{{hl1msg|float|Bounce}}&lt;br /&gt;
{{hl1msg|float|StepSize}}&lt;br /&gt;
{{hl1msg|float|MaxVelocity}}&lt;br /&gt;
{{hl1msg|float|ZMax}}&lt;br /&gt;
{{hl1msg|float|WaveHeigth}}&lt;br /&gt;
{{hl1msg|byte|Footsteps}}&lt;br /&gt;
{{hl1msg|float|RollAngle}}&lt;br /&gt;
{{hl1msg|float|RollSpeed}}&lt;br /&gt;
{{hl1msg|float|SkyColorRed}}&lt;br /&gt;
{{hl1msg|float|SkyColorGreen}}&lt;br /&gt;
{{hl1msg|float|SkyColorBlue}}&lt;br /&gt;
{{hl1msg|float|SkyVecX}}&lt;br /&gt;
{{hl1msg|float|SkyVecY}}&lt;br /&gt;
{{hl1msg|float|SkyVecZ}}&lt;br /&gt;
{{hl1msg|string|SkyName}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_PARTICLE =&lt;br /&gt;
Shows a particle effect.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Called from pfnParticleEffect. So, the same as EngFunc_ParticleEffect. }}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|The direction has to be a value between -128 to 127, after the scale operation. }}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|You don't need to scaled by 16 if you use the engine call. }}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|Color is an index from the palette attached at right. }}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Palette.png|200px|thumb|right|Standard Quake1 palette]]&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_PARTICLE}}&lt;br /&gt;
{{hl1msg|coord|OriginX}}&lt;br /&gt;
{{hl1msg|coord|OriginY}}&lt;br /&gt;
{{hl1msg|coord|OriginZ}}&lt;br /&gt;
{{hl1msg|char|DirectionX * 16}}&lt;br /&gt;
{{hl1msg|char|DirectionY * 16}}&lt;br /&gt;
{{hl1msg|char|DirectionZ * 16}}&lt;br /&gt;
{{hl1msg|byte|Count}}&lt;br /&gt;
{{hl1msg|byte|Color}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_PINGS =&lt;br /&gt;
Contains ping, loss for several players.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Flag is 1 - rest data contains PlayerID, Ping and Loss at least for 1 player. }}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|Flag is 0 - end of the message, skip remaining bits. }}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice| ... - Flag + PlayerID + Ping + Loss - N times. }}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_PINGS}}&lt;br /&gt;
{{hl1msg|1 bit|Flag 1}}&lt;br /&gt;
{{hl1msg|5 bits|PlayerID}}&lt;br /&gt;
{{hl1msg|12 bits|Ping}}&lt;br /&gt;
{{hl1msg|7 bits|Loss}}&lt;br /&gt;
{{hl1msg|...|...}}&lt;br /&gt;
{{hl1msg|1 bit|Flag 0}}&lt;br /&gt;
{{hl1msg|n bits|Align to byte with zero bits}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_PRINT =&lt;br /&gt;
Sends a message to the client's console. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Called from pfnClientPrintf with print_console or print_notify as type.}}&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_PRINT}}&lt;br /&gt;
{{hl1msg|string|Message}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_RESOURCELOCATION =&lt;br /&gt;
This message sends sv_downloadurl to client.&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_RESOURCELOCATION}}&lt;br /&gt;
{{hl1msg|string|sv_downloadurl}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_ROOMTYPE =&lt;br /&gt;
Sets client room_type cvar to provided value.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pawn&amp;gt;0 = Normal (off)&lt;br /&gt;
1 = Generic&lt;br /&gt;
2 = Metal Small&lt;br /&gt;
3 = Metal Medium&lt;br /&gt;
4 = Metal Large&lt;br /&gt;
5 = Tunnel Small&lt;br /&gt;
6 = Tunnel Medium&lt;br /&gt;
7 = Tunnel Large&lt;br /&gt;
8 = Chamber Small&lt;br /&gt;
9 = Chamber Medium&lt;br /&gt;
10 = Chamber Large&lt;br /&gt;
11 = Bright Small&lt;br /&gt;
12 = Bright Medium&lt;br /&gt;
13 = Bright Large&lt;br /&gt;
14 = Water 1&lt;br /&gt;
15 = Water 2&lt;br /&gt;
16 = Water 3&lt;br /&gt;
17 = Concrete Small&lt;br /&gt;
18 = Concrete Medium&lt;br /&gt;
19 = Concrete Large&lt;br /&gt;
20 = Big 1&lt;br /&gt;
21 = Big 2&lt;br /&gt;
22 = Big 3&lt;br /&gt;
23 = Cavern Small&lt;br /&gt;
24 = Cavern Medium&lt;br /&gt;
25 = Cavern Large&lt;br /&gt;
26 = Weirdo 1&lt;br /&gt;
27 = Weirdo 2&lt;br /&gt;
28 = Weirdo 3&amp;lt;/pawn&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_ROOMTYPE}}&lt;br /&gt;
{{hl1msg|short|Value}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_SETVIEW =&lt;br /&gt;
Attaches a player's view to an entity.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Called from pfnSetView. The same as attach_view() native. }}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_SETVIEW}}&lt;br /&gt;
{{hl1msg|short|EntityIndex}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_SENDEXTRAINFO =&lt;br /&gt;
Sends some extra infos.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message is sent at player's connection as params &amp;quot;com_clientfallback&amp;quot; (global var) and sv_cheats value.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|The sv_cheats cvar will be set on the client with the value provided.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|It appears &amp;quot;com_clientfallback&amp;quot; is always null.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|This message seems to be unused.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_SENDEXTRAINFO}}&lt;br /&gt;
{{hl1msg|string|FallbackDir}}&lt;br /&gt;
{{hl1msg|byte|CanCheat}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_SETANGLE =&lt;br /&gt;
Update immediately the client's view angles.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|When pev-&amp;gt;fixangle is set 1, this message is sent with the current player's pev-&amp;gt;v_angle values.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|The provided angles need to be scaled by ( 65536 / 360 ).}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_SETANGLE}}&lt;br /&gt;
{{hl1msg|short|AnglePitch}}&lt;br /&gt;
{{hl1msg|short|AngleYaw}}&lt;br /&gt;
{{hl1msg|short|AngleRoll}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_SETPAUSE =&lt;br /&gt;
Puts client to a pause.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|If server is not paused, commands and packets from client are still sent, that means that client still can shoot/buy/etc...}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|IsPaused: 1 - for pause, 0 - for unpause.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_SETPAUSE}}&lt;br /&gt;
{{hl1msg|byte|IsPaused}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_SPAWNSTATICSOUND =&lt;br /&gt;
Start playback of a sound, loaded into the static portion of the channel array.&amp;lt;br&amp;gt;&lt;br /&gt;
This should be used for looping ambient sounds, looping sounds that should not non-creature sentences, and one-shot ambient streaming sounds.&amp;lt;br&amp;gt; &lt;br /&gt;
It can also play 'regular' sounds one-shot, in case designers want to trigger regular game sounds.&amp;lt;br&amp;gt;&lt;br /&gt;
The sound can be spawned either from a fixed position or from an entity.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|To use it on a fixed position, provide a valid origin and set EntityIndex with 0.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|To use it from an entity, so position is updated, provide a valid EntityIndex and set Origin with a null vector.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|To stop a sound with SVC_STOPSOUND, a valid EntityIndex is needed.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|Volume has to be scaled by 255 and Attenuation by 64.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|Use SND_SENTENCE (1&amp;lt;&amp;lt;4) as flag for sentence sounds. }}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|It can be sent to one player.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_SPAWNSTATICSOUND }}&lt;br /&gt;
{{hl1msg|coord|OriginX}}&lt;br /&gt;
{{hl1msg|coord|OriginY}}&lt;br /&gt;
{{hl1msg|coord|OriginZ}}&lt;br /&gt;
{{hl1msg|short|SoundIndex}}&lt;br /&gt;
{{hl1msg|byte|Volume * 255}}&lt;br /&gt;
{{hl1msg|byte|Attenuation * 64}}&lt;br /&gt;
{{hl1msg|short|EntityIndex}}&lt;br /&gt;
{{hl1msg|byte|Flags}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_SOUNDFADE =&lt;br /&gt;
Updates client side sound fade.&amp;lt;br&amp;gt;&lt;br /&gt;
It's used to modulate sound volume on the client.&amp;lt;br&amp;gt;&lt;br /&gt;
Such functionality is part of a main function where the purpose would be to update sound subsystem and cd audio.&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_SOUNDFADE}}&lt;br /&gt;
{{hl1msg|byte|InitialPercent}}&lt;br /&gt;
{{hl1msg|byte|HoldTime}}&lt;br /&gt;
{{hl1msg|byte|FadeInTime}}&lt;br /&gt;
{{hl1msg|byte|FadeOutTime}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_STOPSOUND =&lt;br /&gt;
Stops an ambient sound.&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_STOPSOUND}}&lt;br /&gt;
{{hl1msg|short|EntityIndex}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_STUFFTEXT =&lt;br /&gt;
Executes command on player.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message is sent by client_cmd(index,const command[],any:...) }}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_STUFFTEXT}}&lt;br /&gt;
{{hl1msg|string|Command}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_TEMPENTITY =&lt;br /&gt;
Creates a [[Temp_Entity_Events_(Half-Life_1)|temp entity]].&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_TEMPENTITY}}&lt;br /&gt;
{{hl1msg|byte|[[Temp_Entity_Events_(Half-Life_1)|MessageIndex]]}}&lt;br /&gt;
{{hl1msg|...|...}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_TIMESCALE =&lt;br /&gt;
{{begin-hl1msg|SVC_TIMESCALE}}&lt;br /&gt;
{{hl1msg|float|TimeScale}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_UPDATEUSERINFO =&lt;br /&gt;
{{begin-hl1msg|SVC_UPDATEUSERINFO}}&lt;br /&gt;
{{hl1msg|byte|ClientIndex}}&lt;br /&gt;
{{hl1msg|long|ClientUserId}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_VERSION =&lt;br /&gt;
Disconnects the client and sends a message to the console if the number passed doesn't match the current server protocol version.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Message type sent : &amp;quot;CL_Parse_Version: Server is protocol %i instead of %i\n&amp;quot;.}}&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_VERSION}}&lt;br /&gt;
{{hl1msg|long|ProtocolVersion}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_VOICEINIT =&lt;br /&gt;
Sends sv_voicecodec and sv_voicequality cvars to client.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Codec name either voice_miles or voice_speex.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|Quality 1 to 5.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_VOICEINIT}}&lt;br /&gt;
{{hl1msg|string|CodecName}}&lt;br /&gt;
{{hl1msg|byte|Quality}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_WEAPONANIM =&lt;br /&gt;
Plays a weapon sequence.&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_WEAPONANIM}}&lt;br /&gt;
{{hl1msg|byte|SequenceNumber}}&lt;br /&gt;
{{hl1msg|byte|WeaponmodelBodygroup}}&lt;br /&gt;
{{end-hl1msg}}&lt;/div&gt;</summary>
		<author><name>ConnorMcLeod</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.alliedmods.net/index.php?title=Half-Life_1_Engine_Messages&amp;diff=8926</id>
		<title>Half-Life 1 Engine Messages</title>
		<link rel="alternate" type="text/html" href="https://wiki.alliedmods.net/index.php?title=Half-Life_1_Engine_Messages&amp;diff=8926"/>
		<updated>2013-05-09T09:54:20Z</updated>

		<summary type="html">&lt;p&gt;ConnorMcLeod: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Half-Life 1]]&lt;br /&gt;
[[Category:Scripting (AMX Mod X)]]&lt;br /&gt;
 //SVC_BAD                 0&lt;br /&gt;
 SVC_NOP                   1&lt;br /&gt;
 SVC_DISCONNECT            2&lt;br /&gt;
 SVC_EVENT                 3&lt;br /&gt;
 SVC_VERSION               4&lt;br /&gt;
 SVC_SETVIEW               5&lt;br /&gt;
 SVC_SOUND                 6&lt;br /&gt;
 SVC_TIME                  7&lt;br /&gt;
 SVC_PRINT                 8&lt;br /&gt;
 SVC_STUFFTEXT             9&lt;br /&gt;
 SVC_SETANGLE              10&lt;br /&gt;
 SVC_SERVERINFO            11&lt;br /&gt;
 SVC_LIGHTSTYLE            12&lt;br /&gt;
 SVC_UPDATEUSERINFO        13&lt;br /&gt;
 SVC_DELTADESCRIPTION      14&lt;br /&gt;
 SVC_CLIENTDATA            15&lt;br /&gt;
 SVC_STOPSOUND             16&lt;br /&gt;
 SVC_PINGS                 17&lt;br /&gt;
 SVC_PARTICLE              18&lt;br /&gt;
 SVC_DAMAGE                19&lt;br /&gt;
 SVC_SPAWNSTATIC           20&lt;br /&gt;
 SVC_EVENT_RELIABLE        21&lt;br /&gt;
 SVC_SPAWNBASELINE         22&lt;br /&gt;
 SVC_TEMPENTITY            23&lt;br /&gt;
 SVC_SETPAUSE              24&lt;br /&gt;
 SVC_SIGNONNUM             25&lt;br /&gt;
 SVC_CENTERPRINT           26&lt;br /&gt;
 SVC_KILLEDMONSTER         27&lt;br /&gt;
 SVC_FOUNDSECRET           28&lt;br /&gt;
 SVC_SPAWNSTATICSOUND      29&lt;br /&gt;
 SVC_INTERMISSION          30&lt;br /&gt;
 SVC_FINALE                31&lt;br /&gt;
 SVC_CDTRACK               32&lt;br /&gt;
 SVC_RESTORE               33&lt;br /&gt;
 SVC_CUTSCENE              34&lt;br /&gt;
 SVC_WEAPONANIM            35&lt;br /&gt;
 SVC_DECALNAME             36&lt;br /&gt;
 SVC_ROOMTYPE              37&lt;br /&gt;
 SVC_ADDANGLE              38&lt;br /&gt;
 SVC_NEWUSERMSG            39&lt;br /&gt;
 SVC_PACKETENTITIES        40&lt;br /&gt;
 SVC_DELTAPACKETENTITIES   41&lt;br /&gt;
 SVC_CHOKE                 42&lt;br /&gt;
 SVC_RESOURCELIST          43&lt;br /&gt;
 SVC_NEWMOVEVARS           44&lt;br /&gt;
 SVC_RESOURCEREQUEST       45&lt;br /&gt;
 SVC_CUSTOMIZATION         46&lt;br /&gt;
 SVC_CROSSHAIRANGLE        47&lt;br /&gt;
 SVC_SOUNDFADE             48&lt;br /&gt;
 SVC_FILETXFERFAILED       49&lt;br /&gt;
 SVC_HLTV                  50&lt;br /&gt;
 SVC_DIRECTOR              51&lt;br /&gt;
 SVC_VOICEINIT             52&lt;br /&gt;
 SVC_VOICEDATA             53&lt;br /&gt;
 SVC_SENDEXTRAINFO         54&lt;br /&gt;
 SVC_TIMESCALE             55&lt;br /&gt;
 SVC_RESOURCELOCATION      56&lt;br /&gt;
 SVC_SENDCVARVALUE         57&lt;br /&gt;
 SVC_SENDCVARVALUE2        58&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= SVC_ADDANGLE =&lt;br /&gt;
Add an angle on the yaw axis of the current client's view angle.&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|When pev-&amp;gt;fixangle is set to 2, this message is called to add pev-&amp;gt;avelocity[1] as value.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|The value needs to be scaled by ( 65536  / 360 ).}}&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_ADDANGLE }}&lt;br /&gt;
{{hl1msg|short|AngleToAdd}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_CDTRACK =&lt;br /&gt;
Plays an Half-Life music.&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|Track goes from 1 to 30.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|The musics are located in valve/media/.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|The second param is unused and not optional.}}&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_CDTRACK }}&lt;br /&gt;
{{hl1msg|byte|Track}}&lt;br /&gt;
{{hl1msg|byte|LoopTrack [unused]}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_CENTERPRINT =&lt;br /&gt;
Sends a centered message.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Called from pfnClientPrintf with print_center as type.}}&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_CENTERPRINT}}&lt;br /&gt;
{{hl1msg|string|Message}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_CHOKE =&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_CHOKE}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_CROSSHAIRANGLE =&lt;br /&gt;
Adjusts the weapon's crosshair angle.&amp;lt;br&amp;gt;&lt;br /&gt;
Basically, the weapon position on the player's view can have a different origin.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Called by pfnCrosshairAngle. So, the same as EngFunc_CrosshairAngle.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|If you use the engine call, no need to scale by 5.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|Use 0 for both to get the default position.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_CROSSHAIRANGLE }}&lt;br /&gt;
{{hl1msg|char|PitchAngle * 5}}&lt;br /&gt;
{{hl1msg|char|YawAngle * 5}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_CUTSCENE =&lt;br /&gt;
Shows the intermission camera view, and writes-out text passed in first parameter.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Intermission mode 3. }}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|This text will keep showing on clients in future intermissions. }}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_CUTSCENE}}&lt;br /&gt;
{{hl1msg|string|Text}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_DAMAGE =&lt;br /&gt;
{{qnotice|Deprecated. }}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_DAMAGE}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_DECALNAME =&lt;br /&gt;
Allows to set, into the client's decals array and at specific position index (0-&amp;gt;511), a decal name.&amp;lt;br&amp;gt;&lt;br /&gt;
E.g: let's say you send a message to set a decal &amp;quot;{break&amp;quot; at index 200.&amp;lt;br&amp;gt;&lt;br /&gt;
As result, when a message TE_ will be used to show a decal at index 200, we will see &amp;quot;{break&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|If there is already an existing decal at the provided index, it will be overwritten. }}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|It appears we can play only with decals from decals.wad. }}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_DECALNAME}}&lt;br /&gt;
{{hl1msg|byte|PositionIndex}}&lt;br /&gt;
{{hl1msg|string|DecalName}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_DISCONNECT =&lt;br /&gt;
Disconnect player with given reason.&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_DISCONNECT}}&lt;br /&gt;
{{hl1msg|string|Reason}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_FILETXFERFAILED =&lt;br /&gt;
&lt;br /&gt;
Sends a message to the client's console telling what file has failed to be transfered.&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|The message type is : &amp;quot;Error: server failed to transmit file 'FileName'&amp;quot;&amp;quot;}}&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_FILETXFERFAILED}}&lt;br /&gt;
{{hl1msg|string|FileName}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_FINALE =&lt;br /&gt;
Shows the intermission camera view, and writes-out text passed in first parameter.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Intermission mode 2. }}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|This text will keep showing on clients in future intermissions. }}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_FINALE}}&lt;br /&gt;
{{hl1msg|string|Text}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_FOUNDSECRET =&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Deprecated. }}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_FOUNDSECRET}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_HLTV =&lt;br /&gt;
Tells client about current spectator mode.&lt;br /&gt;
&lt;br /&gt;
 As found in hltv.h:&lt;br /&gt;
 &lt;br /&gt;
 #define HLTV_ACTIVE	0	// tells client that he's an spectator and will get director commands&lt;br /&gt;
 #define HLTV_STATUS	1	// send status infos about proxy &lt;br /&gt;
 #define HLTV_LISTEN	2	// tell client to listen to a multicast stream&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_HLTV}}&lt;br /&gt;
{{hl1msg|byte|Mode}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_INTERMISSION =&lt;br /&gt;
Shows the intermission camera view&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Intermission mode 1. }}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|This message has no arguments.}}&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_INTERMISSION}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_KILLEDMONSTER =&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Deprecated. }}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_KILLEDMONSTER}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_LIGHTSTYLE =&lt;br /&gt;
Setup light animation tables. 'a' is total darkness, 'z' is maxbright.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Server send 64 lightstyles to client during client connect. Most of them has empty light info. All of them could be found in world.cpp }}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pawn&amp;gt;&lt;br /&gt;
// 0 normal&lt;br /&gt;
LIGHT_STYLE(0, &amp;quot;m&amp;quot;);&lt;br /&gt;
// 1 FLICKER (first variety)&lt;br /&gt;
LIGHT_STYLE(1, &amp;quot;mmnmmommommnonmmonqnmmo&amp;quot;);	&lt;br /&gt;
// 2 SLOW STRONG PULSE&lt;br /&gt;
LIGHT_STYLE(2, &amp;quot;abcdefghijklmnopqrstuvwxyzyxwvutsrqponmlkjihgfedcba&amp;quot;);	&lt;br /&gt;
// 3 CANDLE (first variety)&lt;br /&gt;
LIGHT_STYLE(3, &amp;quot;mmmmmaaaaammmmmaaaaaabcdefgabcdefg&amp;quot;);	&lt;br /&gt;
// 4 FAST STROBE&lt;br /&gt;
LIGHT_STYLE(4, &amp;quot;mamamamamama&amp;quot;);	&lt;br /&gt;
// 5 GENTLE PULSE 1&lt;br /&gt;
LIGHT_STYLE(5,&amp;quot;jklmnopqrstuvwxyzyxwvutsrqponmlkj&amp;quot;);	&lt;br /&gt;
// 6 FLICKER (second variety)&lt;br /&gt;
LIGHT_STYLE(6, &amp;quot;nmonqnmomnmomomno&amp;quot;);	&lt;br /&gt;
// 7 CANDLE (second variety)&lt;br /&gt;
LIGHT_STYLE(7, &amp;quot;mmmaaaabcdefgmmmmaaaammmaamm&amp;quot;);	&lt;br /&gt;
// 8 CANDLE (third variety)&lt;br /&gt;
LIGHT_STYLE(8, &amp;quot;mmmaaammmaaammmabcdefaaaammmmabcdefmmmaaaa&amp;quot;);	&lt;br /&gt;
// 9 SLOW STROBE (fourth variety)&lt;br /&gt;
LIGHT_STYLE(9, &amp;quot;aaaaaaaazzzzzzzz&amp;quot;);	&lt;br /&gt;
// 10 FLUORESCENT FLICKER&lt;br /&gt;
LIGHT_STYLE(10, &amp;quot;mmamammmmammamamaaamammma&amp;quot;);&lt;br /&gt;
// 11 SLOW PULSE NOT FADE TO BLACK&lt;br /&gt;
LIGHT_STYLE(11, &amp;quot;abcdefghijklmnopqrrqponmlkjihgfedcba&amp;quot;);	&lt;br /&gt;
// 12 UNDERWATER LIGHT MUTATION&lt;br /&gt;
// this light only distorts the lightmap - no contribution&lt;br /&gt;
// is made to the brightness of affected surfaces&lt;br /&gt;
LIGHT_STYLE(12, &amp;quot;mmnnmmnnnmmnn&amp;quot;);&lt;br /&gt;
	&lt;br /&gt;
// styles 32-62 are assigned by the light program for switchable lights&lt;br /&gt;
&lt;br /&gt;
// 63 testing&lt;br /&gt;
LIGHT_STYLE(63, &amp;quot;a&amp;quot;);&lt;br /&gt;
&amp;lt;/pawn&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_LIGHTSTYLE}}&lt;br /&gt;
{{hl1msg|byte|index}}&lt;br /&gt;
{{hl1msg|string|lightinfo}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_NEWMOVEVARS =&lt;br /&gt;
Updates client's movevars.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message is sent on client's connect and when any change is detected between the current server movevars and server cvars values. }}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|If there is a change, the value of server cvars are copied into the server movevars, then the message is sent to all players using the server movevars. }}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_NEWMOVEVARS}}&lt;br /&gt;
{{hl1msg|float|Gravity}}&lt;br /&gt;
{{hl1msg|float|StopSpeed}}&lt;br /&gt;
{{hl1msg|float|MaxSpeed}}&lt;br /&gt;
{{hl1msg|float|SpectatorMaxSpeed}}&lt;br /&gt;
{{hl1msg|float|Accelerate}}&lt;br /&gt;
{{hl1msg|float|AirAccelerate}}&lt;br /&gt;
{{hl1msg|float|WaterAccelerate}}&lt;br /&gt;
{{hl1msg|float|Friction}}&lt;br /&gt;
{{hl1msg|float|EdgeFriction}}&lt;br /&gt;
{{hl1msg|float|WaterFriction}}&lt;br /&gt;
{{hl1msg|float|EntGravity}}&lt;br /&gt;
{{hl1msg|float|Bounce}}&lt;br /&gt;
{{hl1msg|float|StepSize}}&lt;br /&gt;
{{hl1msg|float|MaxVelocity}}&lt;br /&gt;
{{hl1msg|float|ZMax}}&lt;br /&gt;
{{hl1msg|float|WaveHeigth}}&lt;br /&gt;
{{hl1msg|byte|Footsteps}}&lt;br /&gt;
{{hl1msg|float|RollAngle}}&lt;br /&gt;
{{hl1msg|float|RollSpeed}}&lt;br /&gt;
{{hl1msg|float|SkyColorRed}}&lt;br /&gt;
{{hl1msg|float|SkyColorGreen}}&lt;br /&gt;
{{hl1msg|float|SkyColorBlue}}&lt;br /&gt;
{{hl1msg|float|SkyVecX}}&lt;br /&gt;
{{hl1msg|float|SkyVecY}}&lt;br /&gt;
{{hl1msg|float|SkyVecZ}}&lt;br /&gt;
{{hl1msg|string|SkyName}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_PARTICLE =&lt;br /&gt;
Shows a particle effect.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Called from pfnParticleEffect. So, the same as EngFunc_ParticleEffect. }}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|The direction has to be a value between -128 to 127, after the scale operation. }}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|You don't need to scaled by 16 if you use the engine call. }}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|Color is an index from the palette attached at right. }}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Palette.png|200px|thumb|right|Standard Quake1 palette]]&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_PARTICLE}}&lt;br /&gt;
{{hl1msg|coord|OriginX}}&lt;br /&gt;
{{hl1msg|coord|OriginY}}&lt;br /&gt;
{{hl1msg|coord|OriginZ}}&lt;br /&gt;
{{hl1msg|char|DirectionX * 16}}&lt;br /&gt;
{{hl1msg|char|DirectionY * 16}}&lt;br /&gt;
{{hl1msg|char|DirectionZ * 16}}&lt;br /&gt;
{{hl1msg|byte|Count}}&lt;br /&gt;
{{hl1msg|byte|Color}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_PINGS =&lt;br /&gt;
Contains ping, loss for several players.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Flag is 1 - rest data contains PlayerID, Ping and Loss at least for 1 player. }}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|Flag is 0 - end of the message, skip remaining bits. }}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice| ... - Flag + PlayerID + Ping + Loss - N times. }}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_PINGS}}&lt;br /&gt;
{{hl1msg|1 bit|Flag 1}}&lt;br /&gt;
{{hl1msg|5 bits|PlayerID}}&lt;br /&gt;
{{hl1msg|12 bits|Ping}}&lt;br /&gt;
{{hl1msg|7 bits|Loss}}&lt;br /&gt;
{{hl1msg|...|...}}&lt;br /&gt;
{{hl1msg|1 bit|Flag 0}}&lt;br /&gt;
{{hl1msg|n bits|Align to byte with zero bits}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_PRINT =&lt;br /&gt;
Sends a message to the client's console. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Called from pfnClientPrintf with print_console or print_notify as type.}}&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_PRINT}}&lt;br /&gt;
{{hl1msg|string|Message}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_RESOURCELOCATION =&lt;br /&gt;
This message sends sv_downloadurl to client.&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_RESOURCELOCATION}}&lt;br /&gt;
{{hl1msg|string|sv_downloadurl}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_ROOMTYPE =&lt;br /&gt;
Sets client room_type cvar to provided value.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pawn&amp;gt;0 = Normal (off)&lt;br /&gt;
1 = Generic&lt;br /&gt;
2 = Metal Small&lt;br /&gt;
3 = Metal Medium&lt;br /&gt;
4 = Metal Large&lt;br /&gt;
5 = Tunnel Small&lt;br /&gt;
6 = Tunnel Medium&lt;br /&gt;
7 = Tunnel Large&lt;br /&gt;
8 = Chamber Small&lt;br /&gt;
9 = Chamber Medium&lt;br /&gt;
10 = Chamber Large&lt;br /&gt;
11 = Bright Small&lt;br /&gt;
12 = Bright Medium&lt;br /&gt;
13 = Bright Large&lt;br /&gt;
14 = Water 1&lt;br /&gt;
15 = Water 2&lt;br /&gt;
16 = Water 3&lt;br /&gt;
17 = Concrete Small&lt;br /&gt;
18 = Concrete Medium&lt;br /&gt;
19 = Concrete Large&lt;br /&gt;
20 = Big 1&lt;br /&gt;
21 = Big 2&lt;br /&gt;
22 = Big 3&lt;br /&gt;
23 = Cavern Small&lt;br /&gt;
24 = Cavern Medium&lt;br /&gt;
25 = Cavern Large&lt;br /&gt;
26 = Weirdo 1&lt;br /&gt;
27 = Weirdo 2&lt;br /&gt;
28 = Weirdo 3&amp;lt;/pawn&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_ROOMTYPE}}&lt;br /&gt;
{{hl1msg|short|Value}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_SETVIEW =&lt;br /&gt;
Attaches a player's view to an entity.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Called from pfnSetView. The same as attach_view() native. }}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_SETVIEW}}&lt;br /&gt;
{{hl1msg|short|EntityIndex}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_STUFFTEXT =&lt;br /&gt;
Executes command on player.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message is sent by client_cmd(index,const command[],any:...) }}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_STUFFTEXT}}&lt;br /&gt;
{{hl1msg|string|Command}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_SENDEXTRAINFO =&lt;br /&gt;
Sends some extra infos.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message is sent at player's connection as params &amp;quot;com_clientfallback&amp;quot; (global var) and sv_cheats value.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|The sv_cheats cvar will be set on the client with the value provided.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|It appears &amp;quot;com_clientfallback&amp;quot; is always null.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|This message seems to be unused.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_SENDEXTRAINFO}}&lt;br /&gt;
{{hl1msg|string|FallbackDir}}&lt;br /&gt;
{{hl1msg|byte|CanCheat}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_SETANGLE =&lt;br /&gt;
Update immediately the client's view angles.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|When pev-&amp;gt;fixangle is set 1, this message is sent with the current player's pev-&amp;gt;v_angle values.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|The provided angles need to be scaled by ( 65536 / 360 ).}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_SETANGLE}}&lt;br /&gt;
{{hl1msg|short|AnglePitch}}&lt;br /&gt;
{{hl1msg|short|AngleYaw}}&lt;br /&gt;
{{hl1msg|short|AngleRoll}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_SETPAUSE =&lt;br /&gt;
Puts client to a pause.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|If server is not paused, commands and packets from client are still sent, that means that client still can shoot/buy/etc...}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|IsPaused: 1 - for pause, 0 - for unpause.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_SETPAUSE}}&lt;br /&gt;
{{hl1msg|byte|IsPaused}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_SPAWNSTATICSOUND =&lt;br /&gt;
Start playback of a sound, loaded into the static portion of the channel array.&amp;lt;br&amp;gt;&lt;br /&gt;
This should be used for looping ambient sounds, looping sounds that should not non-creature sentences, and one-shot ambient streaming sounds.&amp;lt;br&amp;gt; &lt;br /&gt;
It can also play 'regular' sounds one-shot, in case designers want to trigger regular game sounds.&amp;lt;br&amp;gt;&lt;br /&gt;
The sound can be spawned either from a fixed position or from an entity.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|To use it on a fixed position, provide a valid origin and set EntityIndex with 0.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|To use it from an entity, so position is updated, provide a valid EntityIndex and set Origin with a null vector.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|To stop a sound with SVC_STOPSOUND, a valid EntityIndex is needed.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|Volume has to be scaled by 255 and Attenuation by 64.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|Use SND_SENTENCE (1&amp;lt;&amp;lt;4) as flag for sentence sounds. }}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|It can be sent to one player.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_SPAWNSTATICSOUND }}&lt;br /&gt;
{{hl1msg|coord|OriginX}}&lt;br /&gt;
{{hl1msg|coord|OriginY}}&lt;br /&gt;
{{hl1msg|coord|OriginZ}}&lt;br /&gt;
{{hl1msg|short|SoundIndex}}&lt;br /&gt;
{{hl1msg|byte|Volume * 255}}&lt;br /&gt;
{{hl1msg|byte|Attenuation * 64}}&lt;br /&gt;
{{hl1msg|short|EntityIndex}}&lt;br /&gt;
{{hl1msg|byte|Flags}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_STOPSOUND =&lt;br /&gt;
Stops an ambient sound.&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_STOPSOUND}}&lt;br /&gt;
{{hl1msg|short|EntityIndex}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_SOUNDFADE =&lt;br /&gt;
Updates client side sound fade.&amp;lt;br&amp;gt;&lt;br /&gt;
It's used to modulate sound volume on the client.&amp;lt;br&amp;gt;&lt;br /&gt;
Such functionality is part of a main function where the purpose would be to update sound subsystem and cd audio.&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_SOUNDFADE}}&lt;br /&gt;
{{hl1msg|byte|InitialPercent}}&lt;br /&gt;
{{hl1msg|byte|HoldTime}}&lt;br /&gt;
{{hl1msg|byte|FadeInTime}}&lt;br /&gt;
{{hl1msg|byte|FadeOutTime}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_TEMPENTITY =&lt;br /&gt;
Creates a [[Temp_Entity_Events_(Half-Life_1)|temp entity]].&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_TEMPENTITY}}&lt;br /&gt;
{{hl1msg|byte|[[Temp_Entity_Events_(Half-Life_1)|MessageIndex]]}}&lt;br /&gt;
{{hl1msg|...|...}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_TIMESCALE =&lt;br /&gt;
{{begin-hl1msg|SVC_TIMESCALE}}&lt;br /&gt;
{{hl1msg|float|TimeScale}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_UPDATEUSERINFO =&lt;br /&gt;
{{begin-hl1msg|SVC_UPDATEUSERINFO}}&lt;br /&gt;
{{hl1msg|byte|ClientIndex}}&lt;br /&gt;
{{hl1msg|long|ClientUserId}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_VERSION =&lt;br /&gt;
Disconnects the client and sends a message to the console if the number passed doesn't match the current server protocol version.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Message type sent : &amp;quot;CL_Parse_Version: Server is protocol %i instead of %i\n&amp;quot;.}}&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_VERSION}}&lt;br /&gt;
{{hl1msg|long|ProtocolVersion}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_VOICEINIT =&lt;br /&gt;
Sends sv_voicecodec and sv_voicequality cvars to client.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Codec name either voice_miles or voice_speex.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|Quality 1 to 5.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_VOICEINIT}}&lt;br /&gt;
{{hl1msg|string|CodecName}}&lt;br /&gt;
{{hl1msg|byte|Quality}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_WEAPONANIM =&lt;br /&gt;
Plays a weapon sequence.&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_WEAPONANIM}}&lt;br /&gt;
{{hl1msg|byte|SequenceNumber}}&lt;br /&gt;
{{hl1msg|byte|WeaponmodelBodygroup}}&lt;br /&gt;
{{end-hl1msg}}&lt;/div&gt;</summary>
		<author><name>ConnorMcLeod</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.alliedmods.net/index.php?title=Half-Life_1_Engine_Messages&amp;diff=8925</id>
		<title>Half-Life 1 Engine Messages</title>
		<link rel="alternate" type="text/html" href="https://wiki.alliedmods.net/index.php?title=Half-Life_1_Engine_Messages&amp;diff=8925"/>
		<updated>2013-05-09T09:52:53Z</updated>

		<summary type="html">&lt;p&gt;ConnorMcLeod: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Half-Life 1]]&lt;br /&gt;
[[Category:Scripting (AMX Mod X)]]&lt;br /&gt;
 //SVC_BAD                 0&lt;br /&gt;
 SVC_NOP                   1&lt;br /&gt;
 SVC_DISCONNECT            2&lt;br /&gt;
 SVC_EVENT                 3&lt;br /&gt;
 SVC_VERSION               4&lt;br /&gt;
 SVC_SETVIEW               5&lt;br /&gt;
 SVC_SOUND                 6&lt;br /&gt;
 SVC_TIME                  7&lt;br /&gt;
 SVC_PRINT                 8&lt;br /&gt;
 SVC_STUFFTEXT             9&lt;br /&gt;
 SVC_SETANGLE              10&lt;br /&gt;
 SVC_SERVERINFO            11&lt;br /&gt;
 SVC_LIGHTSTYLE            12&lt;br /&gt;
 SVC_UPDATEUSERINFO        13&lt;br /&gt;
 SVC_DELTADESCRIPTION      14&lt;br /&gt;
 SVC_CLIENTDATA            15&lt;br /&gt;
 SVC_STOPSOUND             16&lt;br /&gt;
 SVC_PINGS                 17&lt;br /&gt;
 SVC_PARTICLE              18&lt;br /&gt;
 SVC_DAMAGE                19&lt;br /&gt;
 SVC_SPAWNSTATIC           20&lt;br /&gt;
 SVC_EVENT_RELIABLE        21&lt;br /&gt;
 SVC_SPAWNBASELINE         22&lt;br /&gt;
 SVC_TEMPENTITY            23&lt;br /&gt;
 SVC_SETPAUSE              24&lt;br /&gt;
 SVC_SIGNONNUM             25&lt;br /&gt;
 SVC_CENTERPRINT           26&lt;br /&gt;
 SVC_KILLEDMONSTER         27&lt;br /&gt;
 SVC_FOUNDSECRET           28&lt;br /&gt;
 SVC_SPAWNSTATICSOUND      29&lt;br /&gt;
 SVC_INTERMISSION          30&lt;br /&gt;
 SVC_FINALE                31&lt;br /&gt;
 SVC_CDTRACK               32&lt;br /&gt;
 SVC_RESTORE               33&lt;br /&gt;
 SVC_CUTSCENE              34&lt;br /&gt;
 SVC_WEAPONANIM            35&lt;br /&gt;
 SVC_DECALNAME             36&lt;br /&gt;
 SVC_ROOMTYPE              37&lt;br /&gt;
 SVC_ADDANGLE              38&lt;br /&gt;
 SVC_NEWUSERMSG            39&lt;br /&gt;
 SVC_PACKETENTITIES        40&lt;br /&gt;
 SVC_DELTAPACKETENTITIES   41&lt;br /&gt;
 SVC_CHOKE                 42&lt;br /&gt;
 SVC_RESOURCELIST          43&lt;br /&gt;
 SVC_NEWMOVEVARS           44&lt;br /&gt;
 SVC_RESOURCEREQUEST       45&lt;br /&gt;
 SVC_CUSTOMIZATION         46&lt;br /&gt;
 SVC_CROSSHAIRANGLE        47&lt;br /&gt;
 SVC_SOUNDFADE             48&lt;br /&gt;
 SVC_FILETXFERFAILED       49&lt;br /&gt;
 SVC_HLTV                  50&lt;br /&gt;
 SVC_DIRECTOR              51&lt;br /&gt;
 SVC_VOICEINIT             52&lt;br /&gt;
 SVC_VOICEDATA             53&lt;br /&gt;
 SVC_SENDEXTRAINFO         54&lt;br /&gt;
 SVC_TIMESCALE             55&lt;br /&gt;
 SVC_RESOURCELOCATION      56&lt;br /&gt;
 SVC_SENDCVARVALUE         57&lt;br /&gt;
 SVC_SENDCVARVALUE2        58&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= SVC_ADDANGLE =&lt;br /&gt;
Add an angle on the yaw axis of the current client's view angle.&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|When pev-&amp;gt;fixangle is set to 2, this message is called to add pev-&amp;gt;avelocity[1] as value.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|The value needs to be scaled by ( 65536  / 360 ).}}&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_ADDANGLE }}&lt;br /&gt;
{{hl1msg|short|AngleToAdd}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_CDTRACK =&lt;br /&gt;
Plays an Half-Life music.&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|Track goes from 1 to 30.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|The musics are located in valve/media/.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|The second param is unused and not optional.}}&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_CDTRACK }}&lt;br /&gt;
{{hl1msg|byte|Track}}&lt;br /&gt;
{{hl1msg|byte|LoopTrack [unused]}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_CENTERPRINT =&lt;br /&gt;
Sends a centered message.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Called from pfnClientPrintf with print_center as type.}}&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_CENTERPRINT}}&lt;br /&gt;
{{hl1msg|string|Message}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_CHOKE =&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_CHOKE}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_CROSSHAIRANGLE =&lt;br /&gt;
Adjusts the weapon's crosshair angle.&amp;lt;br&amp;gt;&lt;br /&gt;
Basically, the weapon position on the player's view can have a different origin.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Called by pfnCrosshairAngle. So, the same as EngFunc_CrosshairAngle.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|If you use the engine call, no need to scale by 5.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|Use 0 for both to get the default position.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_CROSSHAIRANGLE }}&lt;br /&gt;
{{hl1msg|char|PitchAngle * 5}}&lt;br /&gt;
{{hl1msg|char|YawAngle * 5}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_CUTSCENE =&lt;br /&gt;
Shows the intermission camera view, and writes-out text passed in first parameter.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Intermission mode 3. }}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|This text will keep showing on clients in future intermissions. }}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_CUTSCENE}}&lt;br /&gt;
{{hl1msg|string|Text}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_DAMAGE =&lt;br /&gt;
{{qnotice|Deprecated. }}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_DAMAGE}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_DECALNAME =&lt;br /&gt;
Allows to set, into the client's decals array and at specific position index (0-&amp;gt;511), a decal name.&amp;lt;br&amp;gt;&lt;br /&gt;
E.g: let's say you send a message to set a decal &amp;quot;{break&amp;quot; at index 200.&amp;lt;br&amp;gt;&lt;br /&gt;
As result, when a message TE_ will be used to show a decal at index 200, we will see &amp;quot;{break&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|If there is already an existing decal at the provided index, it will be overwritten. }}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|It appears we can play only with decals from decals.wad. }}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_DECALNAME}}&lt;br /&gt;
{{hl1msg|byte|PositionIndex}}&lt;br /&gt;
{{hl1msg|string|DecalName}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_DISCONNECT =&lt;br /&gt;
Disconnect player with given reason.&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_DISCONNECT}}&lt;br /&gt;
{{hl1msg|string|Reason}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_FILETXFERFAILED =&lt;br /&gt;
&lt;br /&gt;
Sends a message to the client's console telling what file has failed to be transfered.&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|The message type is : &amp;quot;Error: server failed to transmit file 'FileName'&amp;quot;&amp;quot;}}&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_FILETXFERFAILED}}&lt;br /&gt;
{{hl1msg|string|FileName}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_FINALE =&lt;br /&gt;
Shows the intermission camera view, and writes-out text passed in first parameter.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Intermission mode 2. }}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|This text will keep showing on clients in future intermissions. }}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_FINALE}}&lt;br /&gt;
{{hl1msg|string|Text}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_FOUNDSECRET =&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Deprecated. }}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_FOUNDSECRET}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_HLTV =&lt;br /&gt;
Tells client about current spectator mode.&lt;br /&gt;
&lt;br /&gt;
 As found in hltv.h:&lt;br /&gt;
 &lt;br /&gt;
 #define HLTV_ACTIVE	0	// tells client that he's an spectator and will get director commands&lt;br /&gt;
 #define HLTV_STATUS	1	// send status infos about proxy &lt;br /&gt;
 #define HLTV_LISTEN	2	// tell client to listen to a multicast stream&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_HLTV}}&lt;br /&gt;
{{hl1msg|byte|Mode}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_INTERMISSION =&lt;br /&gt;
Shows the intermission camera view&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Intermission mode 1. }}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|This message has no arguments.}}&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_INTERMISSION}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_KILLEDMONSTER =&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Deprecated. }}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_KILLEDMONSTER}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_LIGHTSTYLE =&lt;br /&gt;
Setup light animation tables. 'a' is total darkness, 'z' is maxbright.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Server send 64 lightstyles to client during client connect. Most of them has empty light info. All of them could be found in world.cpp }}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pawn&amp;gt;&lt;br /&gt;
// 0 normal&lt;br /&gt;
LIGHT_STYLE(0, &amp;quot;m&amp;quot;);&lt;br /&gt;
// 1 FLICKER (first variety)&lt;br /&gt;
LIGHT_STYLE(1, &amp;quot;mmnmmommommnonmmonqnmmo&amp;quot;);	&lt;br /&gt;
// 2 SLOW STRONG PULSE&lt;br /&gt;
LIGHT_STYLE(2, &amp;quot;abcdefghijklmnopqrstuvwxyzyxwvutsrqponmlkjihgfedcba&amp;quot;);	&lt;br /&gt;
// 3 CANDLE (first variety)&lt;br /&gt;
LIGHT_STYLE(3, &amp;quot;mmmmmaaaaammmmmaaaaaabcdefgabcdefg&amp;quot;);	&lt;br /&gt;
// 4 FAST STROBE&lt;br /&gt;
LIGHT_STYLE(4, &amp;quot;mamamamamama&amp;quot;);	&lt;br /&gt;
// 5 GENTLE PULSE 1&lt;br /&gt;
LIGHT_STYLE(5,&amp;quot;jklmnopqrstuvwxyzyxwvutsrqponmlkj&amp;quot;);	&lt;br /&gt;
// 6 FLICKER (second variety)&lt;br /&gt;
LIGHT_STYLE(6, &amp;quot;nmonqnmomnmomomno&amp;quot;);	&lt;br /&gt;
// 7 CANDLE (second variety)&lt;br /&gt;
LIGHT_STYLE(7, &amp;quot;mmmaaaabcdefgmmmmaaaammmaamm&amp;quot;);	&lt;br /&gt;
// 8 CANDLE (third variety)&lt;br /&gt;
LIGHT_STYLE(8, &amp;quot;mmmaaammmaaammmabcdefaaaammmmabcdefmmmaaaa&amp;quot;);	&lt;br /&gt;
// 9 SLOW STROBE (fourth variety)&lt;br /&gt;
LIGHT_STYLE(9, &amp;quot;aaaaaaaazzzzzzzz&amp;quot;);	&lt;br /&gt;
// 10 FLUORESCENT FLICKER&lt;br /&gt;
LIGHT_STYLE(10, &amp;quot;mmamammmmammamamaaamammma&amp;quot;);&lt;br /&gt;
// 11 SLOW PULSE NOT FADE TO BLACK&lt;br /&gt;
LIGHT_STYLE(11, &amp;quot;abcdefghijklmnopqrrqponmlkjihgfedcba&amp;quot;);	&lt;br /&gt;
// 12 UNDERWATER LIGHT MUTATION&lt;br /&gt;
// this light only distorts the lightmap - no contribution&lt;br /&gt;
// is made to the brightness of affected surfaces&lt;br /&gt;
LIGHT_STYLE(12, &amp;quot;mmnnmmnnnmmnn&amp;quot;);&lt;br /&gt;
	&lt;br /&gt;
// styles 32-62 are assigned by the light program for switchable lights&lt;br /&gt;
&lt;br /&gt;
// 63 testing&lt;br /&gt;
LIGHT_STYLE(63, &amp;quot;a&amp;quot;);&lt;br /&gt;
&amp;lt;/pawn&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_LIGHTSTYLE}}&lt;br /&gt;
{{hl1msg|byte|index}}&lt;br /&gt;
{{hl1msg|string|lightinfo}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_NEWMOVEVARS =&lt;br /&gt;
Updates client's movevars.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message is sent on client's connect and when any change is detected between the current server movevars and server cvars values. }}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|If there is a change, the value of server cvars are copied into the server movevars, then the message is sent to all players using the server movevars. }}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_NEWMOVEVARS}}&lt;br /&gt;
{{hl1msg|float|Gravity}}&lt;br /&gt;
{{hl1msg|float|StopSpeed}}&lt;br /&gt;
{{hl1msg|float|MaxSpeed}}&lt;br /&gt;
{{hl1msg|float|SpectatorMaxSpeed}}&lt;br /&gt;
{{hl1msg|float|Accelerate}}&lt;br /&gt;
{{hl1msg|float|AirAccelerate}}&lt;br /&gt;
{{hl1msg|float|WaterAccelerate}}&lt;br /&gt;
{{hl1msg|float|Friction}}&lt;br /&gt;
{{hl1msg|float|EdgeFriction}}&lt;br /&gt;
{{hl1msg|float|WaterFriction}}&lt;br /&gt;
{{hl1msg|float|EntGravity}}&lt;br /&gt;
{{hl1msg|float|Bounce}}&lt;br /&gt;
{{hl1msg|float|StepSize}}&lt;br /&gt;
{{hl1msg|float|MaxVelocity}}&lt;br /&gt;
{{hl1msg|float|ZMax}}&lt;br /&gt;
{{hl1msg|float|WaveHeigth}}&lt;br /&gt;
{{hl1msg|byte|Footsteps}}&lt;br /&gt;
{{hl1msg|float|RollAngle}}&lt;br /&gt;
{{hl1msg|float|RollSpeed}}&lt;br /&gt;
{{hl1msg|float|SkyColorRed}}&lt;br /&gt;
{{hl1msg|float|SkyColorGreen}}&lt;br /&gt;
{{hl1msg|float|SkyColorBlue}}&lt;br /&gt;
{{hl1msg|float|SkyVecX}}&lt;br /&gt;
{{hl1msg|float|SkyVecY}}&lt;br /&gt;
{{hl1msg|float|SkyVecZ}}&lt;br /&gt;
{{hl1msg|string|SkyName}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_PARTICLE =&lt;br /&gt;
Shows a particle effect.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Called from pfnParticleEffect. So, the same as EngFunc_ParticleEffect. }}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|The direction has to be a value between -128 to 127, after the scale operation. }}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|You don't need to scaled by 16 if you use the engine call. }}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|Color is an index from the palette attached at right. }}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Palette.png|200px|thumb|right|Standard Quake1 palette]]&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_PARTICLE}}&lt;br /&gt;
{{hl1msg|coord|OriginX}}&lt;br /&gt;
{{hl1msg|coord|OriginY}}&lt;br /&gt;
{{hl1msg|coord|OriginZ}}&lt;br /&gt;
{{hl1msg|char|DirectionX * 16}}&lt;br /&gt;
{{hl1msg|char|DirectionY * 16}}&lt;br /&gt;
{{hl1msg|char|DirectionZ * 16}}&lt;br /&gt;
{{hl1msg|byte|Count}}&lt;br /&gt;
{{hl1msg|byte|Color}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_PINGS =&lt;br /&gt;
Contains ping, loss for several players.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Flag is 1 - rest data contains PlayerID, Ping and Loss at least for 1 player. }}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|Flag is 0 - end of the message, skip remaining bits. }}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice| ... - Flag + PlayerID + Ping + Loss - N times. }}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_PINGS}}&lt;br /&gt;
{{hl1msg|1 bit|Flag 1}}&lt;br /&gt;
{{hl1msg|5 bits|PlayerID}}&lt;br /&gt;
{{hl1msg|12 bits|Ping}}&lt;br /&gt;
{{hl1msg|7 bits|Loss}}&lt;br /&gt;
{{hl1msg|...|...}}&lt;br /&gt;
{{hl1msg|1 bit|Flag 0}}&lt;br /&gt;
{{hl1msg|n bits|Align to byte with zero bits}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_PRINT =&lt;br /&gt;
Sends a message to the client's console. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Called from pfnClientPrintf with print_console or print_notify as type.}}&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_PRINT}}&lt;br /&gt;
{{hl1msg|string|Message}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_RESOURCELOCATION =&lt;br /&gt;
This message sends sv_downloadurl to client.&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_RESOURCELOCATION}}&lt;br /&gt;
{{hl1msg|string|sv_downloadurl}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_ROOMTYPE =&lt;br /&gt;
Sets client room_type cvar to provided value.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pawn&amp;gt;0 = Normal (off)&lt;br /&gt;
1 = Generic&lt;br /&gt;
2 = Metal Small&lt;br /&gt;
3 = Metal Medium&lt;br /&gt;
4 = Metal Large&lt;br /&gt;
5 = Tunnel Small&lt;br /&gt;
6 = Tunnel Medium&lt;br /&gt;
7 = Tunnel Large&lt;br /&gt;
8 = Chamber Small&lt;br /&gt;
9 = Chamber Medium&lt;br /&gt;
10 = Chamber Large&lt;br /&gt;
11 = Bright Small&lt;br /&gt;
12 = Bright Medium&lt;br /&gt;
13 = Bright Large&lt;br /&gt;
14 = Water 1&lt;br /&gt;
15 = Water 2&lt;br /&gt;
16 = Water 3&lt;br /&gt;
17 = Concrete Small&lt;br /&gt;
18 = Concrete Medium&lt;br /&gt;
19 = Concrete Large&lt;br /&gt;
20 = Big 1&lt;br /&gt;
21 = Big 2&lt;br /&gt;
22 = Big 3&lt;br /&gt;
23 = Cavern Small&lt;br /&gt;
24 = Cavern Medium&lt;br /&gt;
25 = Cavern Large&lt;br /&gt;
26 = Weirdo 1&lt;br /&gt;
27 = Weirdo 2&lt;br /&gt;
28 = Weirdo 3&amp;lt;/pawn&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_ROOMTYPE}}&lt;br /&gt;
{{hl1msg|short|Value}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_SETVIEW =&lt;br /&gt;
Attaches a player's view to an entity.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Called from pfnSetView. The same as attach_view() native. }}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_SETVIEW}}&lt;br /&gt;
{{hl1msg|short|EntityIndex}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_STUFFTEXT =&lt;br /&gt;
Executes command on player.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message is sent by client_cmd(index,const command[],any:...) }}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_STUFFTEXT}}&lt;br /&gt;
{{hl1msg|string|Command}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_TIMESCALE =&lt;br /&gt;
{{begin-hl1msg|SVC_TIMESCALE}}&lt;br /&gt;
{{hl1msg|float|TimeScale}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_SENDEXTRAINFO =&lt;br /&gt;
Sends some extra infos.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message is sent at player's connection as params &amp;quot;com_clientfallback&amp;quot; (global var) and sv_cheats value.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|The sv_cheats cvar will be set on the client with the value provided.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|It appears &amp;quot;com_clientfallback&amp;quot; is always null.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|This message seems to be unused.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_SENDEXTRAINFO}}&lt;br /&gt;
{{hl1msg|string|FallbackDir}}&lt;br /&gt;
{{hl1msg|byte|CanCheat}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_SETANGLE =&lt;br /&gt;
Update immediately the client's view angles.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|When pev-&amp;gt;fixangle is set 1, this message is sent with the current player's pev-&amp;gt;v_angle values.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|The provided angles need to be scaled by ( 65536 / 360 ).}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_SETANGLE}}&lt;br /&gt;
{{hl1msg|short|AnglePitch}}&lt;br /&gt;
{{hl1msg|short|AngleYaw}}&lt;br /&gt;
{{hl1msg|short|AngleRoll}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_SETPAUSE =&lt;br /&gt;
Puts client to a pause.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|If server is not paused, commands and packets from client are still sent, that means that client still can shoot/buy/etc...}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|IsPaused: 1 - for pause, 0 - for unpause.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_SETPAUSE}}&lt;br /&gt;
{{hl1msg|byte|IsPaused}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_SPAWNSTATICSOUND =&lt;br /&gt;
Start playback of a sound, loaded into the static portion of the channel array.&amp;lt;br&amp;gt;&lt;br /&gt;
This should be used for looping ambient sounds, looping sounds that should not non-creature sentences, and one-shot ambient streaming sounds.&amp;lt;br&amp;gt; &lt;br /&gt;
It can also play 'regular' sounds one-shot, in case designers want to trigger regular game sounds.&amp;lt;br&amp;gt;&lt;br /&gt;
The sound can be spawned either from a fixed position or from an entity.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|To use it on a fixed position, provide a valid origin and set EntityIndex with 0.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|To use it from an entity, so position is updated, provide a valid EntityIndex and set Origin with a null vector.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|To stop a sound with SVC_STOPSOUND, a valid EntityIndex is needed.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|Volume has to be scaled by 255 and Attenuation by 64.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|Use SND_SENTENCE (1&amp;lt;&amp;lt;4) as flag for sentence sounds. }}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|It can be sent to one player.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_SPAWNSTATICSOUND }}&lt;br /&gt;
{{hl1msg|coord|OriginX}}&lt;br /&gt;
{{hl1msg|coord|OriginY}}&lt;br /&gt;
{{hl1msg|coord|OriginZ}}&lt;br /&gt;
{{hl1msg|short|SoundIndex}}&lt;br /&gt;
{{hl1msg|byte|Volume * 255}}&lt;br /&gt;
{{hl1msg|byte|Attenuation * 64}}&lt;br /&gt;
{{hl1msg|short|EntityIndex}}&lt;br /&gt;
{{hl1msg|byte|Flags}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_STOPSOUND =&lt;br /&gt;
Stops an ambient sound.&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_STOPSOUND}}&lt;br /&gt;
{{hl1msg|short|EntityIndex}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_SOUNDFADE =&lt;br /&gt;
Updates client side sound fade.&amp;lt;br&amp;gt;&lt;br /&gt;
It's used to modulate sound volume on the client.&amp;lt;br&amp;gt;&lt;br /&gt;
Such functionality is part of a main function where the purpose would be to update sound subsystem and cd audio.&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_SOUNDFADE}}&lt;br /&gt;
{{hl1msg|byte|InitialPercent}}&lt;br /&gt;
{{hl1msg|byte|HoldTime}}&lt;br /&gt;
{{hl1msg|byte|FadeInTime}}&lt;br /&gt;
{{hl1msg|byte|FadeOutTime}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_TEMPENTITY =&lt;br /&gt;
Creates a [[Temp_Entity_Events_(Half-Life_1)|temp entity]].&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_TEMPENTITY}}&lt;br /&gt;
{{hl1msg|byte|[[Temp_Entity_Events_(Half-Life_1)|MessageIndex]]}}&lt;br /&gt;
{{hl1msg|...|...}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_UPDATEUSERINFO =&lt;br /&gt;
{{begin-hl1msg|SVC_UPDATEUSERINFO}}&lt;br /&gt;
{{hl1msg|byte|ClientIndex}}&lt;br /&gt;
{{hl1msg|long|ClientUserId}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_VERSION =&lt;br /&gt;
Disconnects the client and sends a message to the console if the number passed doesn't match the current server protocol version.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Message type sent : &amp;quot;CL_Parse_Version: Server is protocol %i instead of %i\n&amp;quot;.}}&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_VERSION}}&lt;br /&gt;
{{hl1msg|long|ProtocolVersion}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_VOICEINIT =&lt;br /&gt;
Sends sv_voicecodec and sv_voicequality cvars to client.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Codec name either voice_miles or voice_speex.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|Quality 1 to 5.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_VOICEINIT}}&lt;br /&gt;
{{hl1msg|string|CodecName}}&lt;br /&gt;
{{hl1msg|byte|Quality}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_WEAPONANIM =&lt;br /&gt;
Plays a weapon sequence.&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_WEAPONANIM}}&lt;br /&gt;
{{hl1msg|byte|SequenceNumber}}&lt;br /&gt;
{{hl1msg|byte|WeaponmodelBodygroup}}&lt;br /&gt;
{{end-hl1msg}}&lt;/div&gt;</summary>
		<author><name>ConnorMcLeod</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.alliedmods.net/index.php?title=Half-Life_1_Engine_Messages&amp;diff=8924</id>
		<title>Half-Life 1 Engine Messages</title>
		<link rel="alternate" type="text/html" href="https://wiki.alliedmods.net/index.php?title=Half-Life_1_Engine_Messages&amp;diff=8924"/>
		<updated>2013-05-09T09:51:27Z</updated>

		<summary type="html">&lt;p&gt;ConnorMcLeod: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Half-Life 1]]&lt;br /&gt;
[[Category:Scripting (AMX Mod X)]]&lt;br /&gt;
 //SVC_BAD                 0&lt;br /&gt;
 SVC_NOP                   1&lt;br /&gt;
 SVC_DISCONNECT            2&lt;br /&gt;
 SVC_EVENT                 3&lt;br /&gt;
 SVC_VERSION               4&lt;br /&gt;
 SVC_SETVIEW               5&lt;br /&gt;
 SVC_SOUND                 6&lt;br /&gt;
 SVC_TIME                  7&lt;br /&gt;
 SVC_PRINT                 8&lt;br /&gt;
 SVC_STUFFTEXT             9&lt;br /&gt;
 SVC_SETANGLE              10&lt;br /&gt;
 SVC_SERVERINFO            11&lt;br /&gt;
 SVC_LIGHTSTYLE            12&lt;br /&gt;
 SVC_UPDATEUSERINFO        13&lt;br /&gt;
 SVC_DELTADESCRIPTION      14&lt;br /&gt;
 SVC_CLIENTDATA            15&lt;br /&gt;
 SVC_STOPSOUND             16&lt;br /&gt;
 SVC_PINGS                 17&lt;br /&gt;
 SVC_PARTICLE              18&lt;br /&gt;
 SVC_DAMAGE                19&lt;br /&gt;
 SVC_SPAWNSTATIC           20&lt;br /&gt;
 SVC_EVENT_RELIABLE        21&lt;br /&gt;
 SVC_SPAWNBASELINE         22&lt;br /&gt;
 SVC_TEMPENTITY            23&lt;br /&gt;
 SVC_SETPAUSE              24&lt;br /&gt;
 SVC_SIGNONNUM             25&lt;br /&gt;
 SVC_CENTERPRINT           26&lt;br /&gt;
 SVC_KILLEDMONSTER         27&lt;br /&gt;
 SVC_FOUNDSECRET           28&lt;br /&gt;
 SVC_SPAWNSTATICSOUND      29&lt;br /&gt;
 SVC_INTERMISSION          30&lt;br /&gt;
 SVC_FINALE                31&lt;br /&gt;
 SVC_CDTRACK               32&lt;br /&gt;
 SVC_RESTORE               33&lt;br /&gt;
 SVC_CUTSCENE              34&lt;br /&gt;
 SVC_WEAPONANIM            35&lt;br /&gt;
 SVC_DECALNAME             36&lt;br /&gt;
 SVC_ROOMTYPE              37&lt;br /&gt;
 SVC_ADDANGLE              38&lt;br /&gt;
 SVC_NEWUSERMSG            39&lt;br /&gt;
 SVC_PACKETENTITIES        40&lt;br /&gt;
 SVC_DELTAPACKETENTITIES   41&lt;br /&gt;
 SVC_CHOKE                 42&lt;br /&gt;
 SVC_RESOURCELIST          43&lt;br /&gt;
 SVC_NEWMOVEVARS           44&lt;br /&gt;
 SVC_RESOURCEREQUEST       45&lt;br /&gt;
 SVC_CUSTOMIZATION         46&lt;br /&gt;
 SVC_CROSSHAIRANGLE        47&lt;br /&gt;
 SVC_SOUNDFADE             48&lt;br /&gt;
 SVC_FILETXFERFAILED       49&lt;br /&gt;
 SVC_HLTV                  50&lt;br /&gt;
 SVC_DIRECTOR              51&lt;br /&gt;
 SVC_VOICEINIT             52&lt;br /&gt;
 SVC_VOICEDATA             53&lt;br /&gt;
 SVC_SENDEXTRAINFO         54&lt;br /&gt;
 SVC_TIMESCALE             55&lt;br /&gt;
 SVC_RESOURCELOCATION      56&lt;br /&gt;
 SVC_SENDCVARVALUE         57&lt;br /&gt;
 SVC_SENDCVARVALUE2        58&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= SVC_ADDANGLE =&lt;br /&gt;
Add an angle on the yaw axis of the current client's view angle.&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|When pev-&amp;gt;fixangle is set to 2, this message is called to add pev-&amp;gt;avelocity[1] as value.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|The value needs to be scaled by ( 65536  / 360 ).}}&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_ADDANGLE }}&lt;br /&gt;
{{hl1msg|short|AngleToAdd}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_CDTRACK =&lt;br /&gt;
Plays an Half-Life music.&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|Track goes from 1 to 30.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|The musics are located in valve/media/.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|The second param is unused and not optional.}}&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_CDTRACK }}&lt;br /&gt;
{{hl1msg|byte|Track}}&lt;br /&gt;
{{hl1msg|byte|LoopTrack [unused]}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_CENTERPRINT =&lt;br /&gt;
Sends a centered message.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Called from pfnClientPrintf with print_center as type.}}&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_CENTERPRINT}}&lt;br /&gt;
{{hl1msg|string|Message}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_CHOKE =&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_CHOKE}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_CROSSHAIRANGLE =&lt;br /&gt;
Adjusts the weapon's crosshair angle.&amp;lt;br&amp;gt;&lt;br /&gt;
Basically, the weapon position on the player's view can have a different origin.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Called by pfnCrosshairAngle. So, the same as EngFunc_CrosshairAngle.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|If you use the engine call, no need to scale by 5.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|Use 0 for both to get the default position.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_CROSSHAIRANGLE }}&lt;br /&gt;
{{hl1msg|char|PitchAngle * 5}}&lt;br /&gt;
{{hl1msg|char|YawAngle * 5}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_CUTSCENE =&lt;br /&gt;
Shows the intermission camera view, and writes-out text passed in first parameter.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Intermission mode 3. }}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|This text will keep showing on clients in future intermissions. }}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_CUTSCENE}}&lt;br /&gt;
{{hl1msg|string|Text}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_DAMAGE =&lt;br /&gt;
{{qnotice|Deprecated. }}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_DAMAGE}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_DECALNAME =&lt;br /&gt;
Allows to set, into the client's decals array and at specific position index (0-&amp;gt;511), a decal name.&amp;lt;br&amp;gt;&lt;br /&gt;
E.g: let's say you send a message to set a decal &amp;quot;{break&amp;quot; at index 200.&amp;lt;br&amp;gt;&lt;br /&gt;
As result, when a message TE_ will be used to show a decal at index 200, we will see &amp;quot;{break&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|If there is already an existing decal at the provided index, it will be overwritten. }}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|It appears we can play only with decals from decals.wad. }}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_DECALNAME}}&lt;br /&gt;
{{hl1msg|byte|PositionIndex}}&lt;br /&gt;
{{hl1msg|string|DecalName}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_DISCONNECT =&lt;br /&gt;
Disconnect player with given reason.&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_DISCONNECT}}&lt;br /&gt;
{{hl1msg|string|Reason}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_FILETXFERFAILED =&lt;br /&gt;
&lt;br /&gt;
Sends a message to the client's console telling what file has failed to be transfered.&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|The message type is : &amp;quot;Error: server failed to transmit file 'FileName'&amp;quot;&amp;quot;}}&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_FILETXFERFAILED}}&lt;br /&gt;
{{hl1msg|string|FileName}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_FINALE =&lt;br /&gt;
Shows the intermission camera view, and writes-out text passed in first parameter.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Intermission mode 2. }}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|This text will keep showing on clients in future intermissions. }}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_FINALE}}&lt;br /&gt;
{{hl1msg|string|Text}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_FOUNDSECRET =&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Deprecated. }}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_FOUNDSECRET}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_HLTV =&lt;br /&gt;
Tells client about current spectator mode.&lt;br /&gt;
&lt;br /&gt;
 As found in hltv.h:&lt;br /&gt;
 &lt;br /&gt;
 #define HLTV_ACTIVE	0	// tells client that he's an spectator and will get director commands&lt;br /&gt;
 #define HLTV_STATUS	1	// send status infos about proxy &lt;br /&gt;
 #define HLTV_LISTEN	2	// tell client to listen to a multicast stream&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_HLTV}}&lt;br /&gt;
{{hl1msg|byte|Mode}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_INTERMISSION =&lt;br /&gt;
Shows the intermission camera view&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Intermission mode 1. }}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|This message has no arguments.}}&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_INTERMISSION}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_KILLEDMONSTER =&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Deprecated. }}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_KILLEDMONSTER}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_LIGHTSTYLE =&lt;br /&gt;
Setup light animation tables. 'a' is total darkness, 'z' is maxbright.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Server send 64 lightstyles to client during client connect. Most of them has empty light info. All of them could be found in world.cpp }}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pawn&amp;gt;&lt;br /&gt;
// 0 normal&lt;br /&gt;
LIGHT_STYLE(0, &amp;quot;m&amp;quot;);&lt;br /&gt;
// 1 FLICKER (first variety)&lt;br /&gt;
LIGHT_STYLE(1, &amp;quot;mmnmmommommnonmmonqnmmo&amp;quot;);	&lt;br /&gt;
// 2 SLOW STRONG PULSE&lt;br /&gt;
LIGHT_STYLE(2, &amp;quot;abcdefghijklmnopqrstuvwxyzyxwvutsrqponmlkjihgfedcba&amp;quot;);	&lt;br /&gt;
// 3 CANDLE (first variety)&lt;br /&gt;
LIGHT_STYLE(3, &amp;quot;mmmmmaaaaammmmmaaaaaabcdefgabcdefg&amp;quot;);	&lt;br /&gt;
// 4 FAST STROBE&lt;br /&gt;
LIGHT_STYLE(4, &amp;quot;mamamamamama&amp;quot;);	&lt;br /&gt;
// 5 GENTLE PULSE 1&lt;br /&gt;
LIGHT_STYLE(5,&amp;quot;jklmnopqrstuvwxyzyxwvutsrqponmlkj&amp;quot;);	&lt;br /&gt;
// 6 FLICKER (second variety)&lt;br /&gt;
LIGHT_STYLE(6, &amp;quot;nmonqnmomnmomomno&amp;quot;);	&lt;br /&gt;
// 7 CANDLE (second variety)&lt;br /&gt;
LIGHT_STYLE(7, &amp;quot;mmmaaaabcdefgmmmmaaaammmaamm&amp;quot;);	&lt;br /&gt;
// 8 CANDLE (third variety)&lt;br /&gt;
LIGHT_STYLE(8, &amp;quot;mmmaaammmaaammmabcdefaaaammmmabcdefmmmaaaa&amp;quot;);	&lt;br /&gt;
// 9 SLOW STROBE (fourth variety)&lt;br /&gt;
LIGHT_STYLE(9, &amp;quot;aaaaaaaazzzzzzzz&amp;quot;);	&lt;br /&gt;
// 10 FLUORESCENT FLICKER&lt;br /&gt;
LIGHT_STYLE(10, &amp;quot;mmamammmmammamamaaamammma&amp;quot;);&lt;br /&gt;
// 11 SLOW PULSE NOT FADE TO BLACK&lt;br /&gt;
LIGHT_STYLE(11, &amp;quot;abcdefghijklmnopqrrqponmlkjihgfedcba&amp;quot;);	&lt;br /&gt;
// 12 UNDERWATER LIGHT MUTATION&lt;br /&gt;
// this light only distorts the lightmap - no contribution&lt;br /&gt;
// is made to the brightness of affected surfaces&lt;br /&gt;
LIGHT_STYLE(12, &amp;quot;mmnnmmnnnmmnn&amp;quot;);&lt;br /&gt;
	&lt;br /&gt;
// styles 32-62 are assigned by the light program for switchable lights&lt;br /&gt;
&lt;br /&gt;
// 63 testing&lt;br /&gt;
LIGHT_STYLE(63, &amp;quot;a&amp;quot;);&lt;br /&gt;
&amp;lt;/pawn&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_LIGHTSTYLE}}&lt;br /&gt;
{{hl1msg|byte|index}}&lt;br /&gt;
{{hl1msg|string|lightinfo}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_NEWMOVEVARS =&lt;br /&gt;
Updates client's movevars.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message is sent on client's connect and when any change is detected between the current server movevars and server cvars values. }}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|If there is a change, the value of server cvars are copied into the server movevars, then the message is sent to all players using the server movevars. }}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_NEWMOVEVARS}}&lt;br /&gt;
{{hl1msg|float|Gravity}}&lt;br /&gt;
{{hl1msg|float|StopSpeed}}&lt;br /&gt;
{{hl1msg|float|MaxSpeed}}&lt;br /&gt;
{{hl1msg|float|SpectatorMaxSpeed}}&lt;br /&gt;
{{hl1msg|float|Accelerate}}&lt;br /&gt;
{{hl1msg|float|AirAccelerate}}&lt;br /&gt;
{{hl1msg|float|WaterAccelerate}}&lt;br /&gt;
{{hl1msg|float|Friction}}&lt;br /&gt;
{{hl1msg|float|EdgeFriction}}&lt;br /&gt;
{{hl1msg|float|WaterFriction}}&lt;br /&gt;
{{hl1msg|float|EntGravity}}&lt;br /&gt;
{{hl1msg|float|Bounce}}&lt;br /&gt;
{{hl1msg|float|StepSize}}&lt;br /&gt;
{{hl1msg|float|MaxVelocity}}&lt;br /&gt;
{{hl1msg|float|ZMax}}&lt;br /&gt;
{{hl1msg|float|WaveHeigth}}&lt;br /&gt;
{{hl1msg|byte|Footsteps}}&lt;br /&gt;
{{hl1msg|float|RollAngle}}&lt;br /&gt;
{{hl1msg|float|RollSpeed}}&lt;br /&gt;
{{hl1msg|float|SkyColorRed}}&lt;br /&gt;
{{hl1msg|float|SkyColorGreen}}&lt;br /&gt;
{{hl1msg|float|SkyColorBlue}}&lt;br /&gt;
{{hl1msg|float|SkyVecX}}&lt;br /&gt;
{{hl1msg|float|SkyVecY}}&lt;br /&gt;
{{hl1msg|float|SkyVecZ}}&lt;br /&gt;
{{hl1msg|string|SkyName}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_PARTICLE =&lt;br /&gt;
Shows a particle effect.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Called from pfnParticleEffect. So, the same as EngFunc_ParticleEffect. }}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|The direction has to be a value between -128 to 127, after the scale operation. }}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|You don't need to scaled by 16 if you use the engine call. }}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|Color is an index from the palette attached at right. }}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Palette.png|200px|thumb|right|Standard Quake1 palette]]&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_PARTICLE}}&lt;br /&gt;
{{hl1msg|coord|OriginX}}&lt;br /&gt;
{{hl1msg|coord|OriginY}}&lt;br /&gt;
{{hl1msg|coord|OriginZ}}&lt;br /&gt;
{{hl1msg|char|DirectionX * 16}}&lt;br /&gt;
{{hl1msg|char|DirectionY * 16}}&lt;br /&gt;
{{hl1msg|char|DirectionZ * 16}}&lt;br /&gt;
{{hl1msg|byte|Count}}&lt;br /&gt;
{{hl1msg|byte|Color}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_PINGS =&lt;br /&gt;
Contains ping, loss for several players.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Flag is 1 - rest data contains PlayerID, Ping and Loss at least for 1 player. }}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|Flag is 0 - end of the message, skip remaining bits. }}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice| ... - Flag + PlayerID + Ping + Loss - N times. }}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_PINGS}}&lt;br /&gt;
{{hl1msg|1 bit|Flag 1}}&lt;br /&gt;
{{hl1msg|5 bits|PlayerID}}&lt;br /&gt;
{{hl1msg|12 bits|Ping}}&lt;br /&gt;
{{hl1msg|7 bits|Loss}}&lt;br /&gt;
{{hl1msg|...|...}}&lt;br /&gt;
{{hl1msg|1 bit|Flag 0}}&lt;br /&gt;
{{hl1msg|n bits|Align to byte with zero bits}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_PRINT =&lt;br /&gt;
Sends a message to the client's console. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Called from pfnClientPrintf with print_console or print_notify as type.}}&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_PRINT}}&lt;br /&gt;
{{hl1msg|string|Message}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_RESOURCELOCATION =&lt;br /&gt;
This message sends sv_downloadurl to client.&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_RESOURCELOCATION}}&lt;br /&gt;
{{hl1msg|string|sv_downloadurl}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_ROOMTYPE =&lt;br /&gt;
Sets client room_type cvar to provided value.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pawn&amp;gt;0 = Normal (off)&lt;br /&gt;
1 = Generic&lt;br /&gt;
2 = Metal Small&lt;br /&gt;
3 = Metal Medium&lt;br /&gt;
4 = Metal Large&lt;br /&gt;
5 = Tunnel Small&lt;br /&gt;
6 = Tunnel Medium&lt;br /&gt;
7 = Tunnel Large&lt;br /&gt;
8 = Chamber Small&lt;br /&gt;
9 = Chamber Medium&lt;br /&gt;
10 = Chamber Large&lt;br /&gt;
11 = Bright Small&lt;br /&gt;
12 = Bright Medium&lt;br /&gt;
13 = Bright Large&lt;br /&gt;
14 = Water 1&lt;br /&gt;
15 = Water 2&lt;br /&gt;
16 = Water 3&lt;br /&gt;
17 = Concrete Small&lt;br /&gt;
18 = Concrete Medium&lt;br /&gt;
19 = Concrete Large&lt;br /&gt;
20 = Big 1&lt;br /&gt;
21 = Big 2&lt;br /&gt;
22 = Big 3&lt;br /&gt;
23 = Cavern Small&lt;br /&gt;
24 = Cavern Medium&lt;br /&gt;
25 = Cavern Large&lt;br /&gt;
26 = Weirdo 1&lt;br /&gt;
27 = Weirdo 2&lt;br /&gt;
28 = Weirdo 3&amp;lt;/pawn&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_ROOMTYPE}}&lt;br /&gt;
{{hl1msg|short|Value}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_SETVIEW =&lt;br /&gt;
Attaches a player's view to an entity.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Called from pfnSetView. The same as attach_view() native. }}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_SETVIEW}}&lt;br /&gt;
{{hl1msg|short|EntityIndex}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_STUFFTEXT =&lt;br /&gt;
Executes command on player.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message is sent by client_cmd(index,const command[],any:...) }}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_STUFFTEXT}}&lt;br /&gt;
{{hl1msg|string|Command}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_TIMESCALE =&lt;br /&gt;
{{begin-hl1msg|SVC_TIMESCALE}}&lt;br /&gt;
{{hl1msg|float|TimeScale}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_UPDATEUSERINFO =&lt;br /&gt;
{{begin-hl1msg|SVC_UPDATEUSERINFO}}&lt;br /&gt;
{{hl1msg|byte|ClientIndex}}&lt;br /&gt;
{{hl1msg|long|ClientUserId}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_VOICEINIT =&lt;br /&gt;
Sends sv_voicecodec and sv_voicequality cvars to client.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Codec name either voice_miles or voice_speex.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|Quality 1 to 5.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_VOICEINIT}}&lt;br /&gt;
{{hl1msg|string|CodecName}}&lt;br /&gt;
{{hl1msg|byte|Quality}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_SENDEXTRAINFO =&lt;br /&gt;
Sends some extra infos.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message is sent at player's connection as params &amp;quot;com_clientfallback&amp;quot; (global var) and sv_cheats value.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|The sv_cheats cvar will be set on the client with the value provided.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|It appears &amp;quot;com_clientfallback&amp;quot; is always null.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|This message seems to be unused.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_SENDEXTRAINFO}}&lt;br /&gt;
{{hl1msg|string|FallbackDir}}&lt;br /&gt;
{{hl1msg|byte|CanCheat}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_SETANGLE =&lt;br /&gt;
Update immediately the client's view angles.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|When pev-&amp;gt;fixangle is set 1, this message is sent with the current player's pev-&amp;gt;v_angle values.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|The provided angles need to be scaled by ( 65536 / 360 ).}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_SETANGLE}}&lt;br /&gt;
{{hl1msg|short|AnglePitch}}&lt;br /&gt;
{{hl1msg|short|AngleYaw}}&lt;br /&gt;
{{hl1msg|short|AngleRoll}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_SETPAUSE =&lt;br /&gt;
Puts client to a pause.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|If server is not paused, commands and packets from client are still sent, that means that client still can shoot/buy/etc...}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|IsPaused: 1 - for pause, 0 - for unpause.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_SETPAUSE}}&lt;br /&gt;
{{hl1msg|byte|IsPaused}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_SPAWNSTATICSOUND =&lt;br /&gt;
Start playback of a sound, loaded into the static portion of the channel array.&amp;lt;br&amp;gt;&lt;br /&gt;
This should be used for looping ambient sounds, looping sounds that should not non-creature sentences, and one-shot ambient streaming sounds.&amp;lt;br&amp;gt; &lt;br /&gt;
It can also play 'regular' sounds one-shot, in case designers want to trigger regular game sounds.&amp;lt;br&amp;gt;&lt;br /&gt;
The sound can be spawned either from a fixed position or from an entity.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|To use it on a fixed position, provide a valid origin and set EntityIndex with 0.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|To use it from an entity, so position is updated, provide a valid EntityIndex and set Origin with a null vector.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|To stop a sound with SVC_STOPSOUND, a valid EntityIndex is needed.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|Volume has to be scaled by 255 and Attenuation by 64.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|Use SND_SENTENCE (1&amp;lt;&amp;lt;4) as flag for sentence sounds. }}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|It can be sent to one player.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_SPAWNSTATICSOUND }}&lt;br /&gt;
{{hl1msg|coord|OriginX}}&lt;br /&gt;
{{hl1msg|coord|OriginY}}&lt;br /&gt;
{{hl1msg|coord|OriginZ}}&lt;br /&gt;
{{hl1msg|short|SoundIndex}}&lt;br /&gt;
{{hl1msg|byte|Volume * 255}}&lt;br /&gt;
{{hl1msg|byte|Attenuation * 64}}&lt;br /&gt;
{{hl1msg|short|EntityIndex}}&lt;br /&gt;
{{hl1msg|byte|Flags}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_STOPSOUND =&lt;br /&gt;
Stops an ambient sound.&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_STOPSOUND}}&lt;br /&gt;
{{hl1msg|short|EntityIndex}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_SOUNDFADE =&lt;br /&gt;
Updates client side sound fade.&amp;lt;br&amp;gt;&lt;br /&gt;
It's used to modulate sound volume on the client.&amp;lt;br&amp;gt;&lt;br /&gt;
Such functionality is part of a main function where the purpose would be to update sound subsystem and cd audio.&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_SOUNDFADE}}&lt;br /&gt;
{{hl1msg|byte|InitialPercent}}&lt;br /&gt;
{{hl1msg|byte|HoldTime}}&lt;br /&gt;
{{hl1msg|byte|FadeInTime}}&lt;br /&gt;
{{hl1msg|byte|FadeOutTime}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_TEMPENTITY =&lt;br /&gt;
Creates a [[Temp_Entity_Events_(Half-Life_1)|temp entity]].&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_TEMPENTITY}}&lt;br /&gt;
{{hl1msg|byte|[[Temp_Entity_Events_(Half-Life_1)|MessageIndex]]}}&lt;br /&gt;
{{hl1msg|...|...}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_VERSION =&lt;br /&gt;
Disconnects the client and sends a message to the console if the number passed doesn't match the current server protocol version.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Message type sent : &amp;quot;CL_Parse_Version: Server is protocol %i instead of %i\n&amp;quot;.}}&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_VERSION}}&lt;br /&gt;
{{hl1msg|long|ProtocolVersion}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_WEAPONANIM =&lt;br /&gt;
Plays a weapon sequence.&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_WEAPONANIM}}&lt;br /&gt;
{{hl1msg|byte|SequenceNumber}}&lt;br /&gt;
{{hl1msg|byte|WeaponmodelBodygroup}}&lt;br /&gt;
{{end-hl1msg}}&lt;/div&gt;</summary>
		<author><name>ConnorMcLeod</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.alliedmods.net/index.php?title=Half-Life_1_Engine_Messages&amp;diff=8923</id>
		<title>Half-Life 1 Engine Messages</title>
		<link rel="alternate" type="text/html" href="https://wiki.alliedmods.net/index.php?title=Half-Life_1_Engine_Messages&amp;diff=8923"/>
		<updated>2013-05-09T09:50:02Z</updated>

		<summary type="html">&lt;p&gt;ConnorMcLeod: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Half-Life 1]]&lt;br /&gt;
[[Category:Scripting (AMX Mod X)]]&lt;br /&gt;
 //SVC_BAD                 0&lt;br /&gt;
 SVC_NOP                   1&lt;br /&gt;
 SVC_DISCONNECT            2&lt;br /&gt;
 SVC_EVENT                 3&lt;br /&gt;
 SVC_VERSION               4&lt;br /&gt;
 SVC_SETVIEW               5&lt;br /&gt;
 SVC_SOUND                 6&lt;br /&gt;
 SVC_TIME                  7&lt;br /&gt;
 SVC_PRINT                 8&lt;br /&gt;
 SVC_STUFFTEXT             9&lt;br /&gt;
 SVC_SETANGLE              10&lt;br /&gt;
 SVC_SERVERINFO            11&lt;br /&gt;
 SVC_LIGHTSTYLE            12&lt;br /&gt;
 SVC_UPDATEUSERINFO        13&lt;br /&gt;
 SVC_DELTADESCRIPTION      14&lt;br /&gt;
 SVC_CLIENTDATA            15&lt;br /&gt;
 SVC_STOPSOUND             16&lt;br /&gt;
 SVC_PINGS                 17&lt;br /&gt;
 SVC_PARTICLE              18&lt;br /&gt;
 SVC_DAMAGE                19&lt;br /&gt;
 SVC_SPAWNSTATIC           20&lt;br /&gt;
 SVC_EVENT_RELIABLE        21&lt;br /&gt;
 SVC_SPAWNBASELINE         22&lt;br /&gt;
 SVC_TEMPENTITY            23&lt;br /&gt;
 SVC_SETPAUSE              24&lt;br /&gt;
 SVC_SIGNONNUM             25&lt;br /&gt;
 SVC_CENTERPRINT           26&lt;br /&gt;
 SVC_KILLEDMONSTER         27&lt;br /&gt;
 SVC_FOUNDSECRET           28&lt;br /&gt;
 SVC_SPAWNSTATICSOUND      29&lt;br /&gt;
 SVC_INTERMISSION          30&lt;br /&gt;
 SVC_FINALE                31&lt;br /&gt;
 SVC_CDTRACK               32&lt;br /&gt;
 SVC_RESTORE               33&lt;br /&gt;
 SVC_CUTSCENE              34&lt;br /&gt;
 SVC_WEAPONANIM            35&lt;br /&gt;
 SVC_DECALNAME             36&lt;br /&gt;
 SVC_ROOMTYPE              37&lt;br /&gt;
 SVC_ADDANGLE              38&lt;br /&gt;
 SVC_NEWUSERMSG            39&lt;br /&gt;
 SVC_PACKETENTITIES        40&lt;br /&gt;
 SVC_DELTAPACKETENTITIES   41&lt;br /&gt;
 SVC_CHOKE                 42&lt;br /&gt;
 SVC_RESOURCELIST          43&lt;br /&gt;
 SVC_NEWMOVEVARS           44&lt;br /&gt;
 SVC_RESOURCEREQUEST       45&lt;br /&gt;
 SVC_CUSTOMIZATION         46&lt;br /&gt;
 SVC_CROSSHAIRANGLE        47&lt;br /&gt;
 SVC_SOUNDFADE             48&lt;br /&gt;
 SVC_FILETXFERFAILED       49&lt;br /&gt;
 SVC_HLTV                  50&lt;br /&gt;
 SVC_DIRECTOR              51&lt;br /&gt;
 SVC_VOICEINIT             52&lt;br /&gt;
 SVC_VOICEDATA             53&lt;br /&gt;
 SVC_SENDEXTRAINFO         54&lt;br /&gt;
 SVC_TIMESCALE             55&lt;br /&gt;
 SVC_RESOURCELOCATION      56&lt;br /&gt;
 SVC_SENDCVARVALUE         57&lt;br /&gt;
 SVC_SENDCVARVALUE2        58&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= SVC_ADDANGLE =&lt;br /&gt;
Add an angle on the yaw axis of the current client's view angle.&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|When pev-&amp;gt;fixangle is set to 2, this message is called to add pev-&amp;gt;avelocity[1] as value.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|The value needs to be scaled by ( 65536  / 360 ).}}&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_ADDANGLE }}&lt;br /&gt;
{{hl1msg|short|AngleToAdd}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_CDTRACK =&lt;br /&gt;
Plays an Half-Life music.&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|Track goes from 1 to 30.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|The musics are located in valve/media/.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|The second param is unused and not optional.}}&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_CDTRACK }}&lt;br /&gt;
{{hl1msg|byte|Track}}&lt;br /&gt;
{{hl1msg|byte|LoopTrack [unused]}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_CENTERPRINT =&lt;br /&gt;
Sends a centered message.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Called from pfnClientPrintf with print_center as type.}}&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_CENTERPRINT}}&lt;br /&gt;
{{hl1msg|string|Message}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_CHOKE =&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_CHOKE}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_CROSSHAIRANGLE =&lt;br /&gt;
Adjusts the weapon's crosshair angle.&amp;lt;br&amp;gt;&lt;br /&gt;
Basically, the weapon position on the player's view can have a different origin.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Called by pfnCrosshairAngle. So, the same as EngFunc_CrosshairAngle.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|If you use the engine call, no need to scale by 5.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|Use 0 for both to get the default position.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_CROSSHAIRANGLE }}&lt;br /&gt;
{{hl1msg|char|PitchAngle * 5}}&lt;br /&gt;
{{hl1msg|char|YawAngle * 5}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_CUTSCENE =&lt;br /&gt;
Shows the intermission camera view, and writes-out text passed in first parameter.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Intermission mode 3. }}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|This text will keep showing on clients in future intermissions. }}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_CUTSCENE}}&lt;br /&gt;
{{hl1msg|string|Text}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_DAMAGE =&lt;br /&gt;
{{qnotice|Deprecated. }}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_DAMAGE}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_DECALNAME =&lt;br /&gt;
Allows to set, into the client's decals array and at specific position index (0-&amp;gt;511), a decal name.&amp;lt;br&amp;gt;&lt;br /&gt;
E.g: let's say you send a message to set a decal &amp;quot;{break&amp;quot; at index 200.&amp;lt;br&amp;gt;&lt;br /&gt;
As result, when a message TE_ will be used to show a decal at index 200, we will see &amp;quot;{break&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|If there is already an existing decal at the provided index, it will be overwritten. }}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|It appears we can play only with decals from decals.wad. }}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_DECALNAME}}&lt;br /&gt;
{{hl1msg|byte|PositionIndex}}&lt;br /&gt;
{{hl1msg|string|DecalName}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_DISCONNECT =&lt;br /&gt;
Disconnect player with given reason.&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_DISCONNECT}}&lt;br /&gt;
{{hl1msg|string|Reason}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_FILETXFERFAILED =&lt;br /&gt;
&lt;br /&gt;
Sends a message to the client's console telling what file has failed to be transfered.&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|The message type is : &amp;quot;Error: server failed to transmit file 'FileName'&amp;quot;&amp;quot;}}&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_FILETXFERFAILED}}&lt;br /&gt;
{{hl1msg|string|FileName}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_FINALE =&lt;br /&gt;
Shows the intermission camera view, and writes-out text passed in first parameter.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Intermission mode 2. }}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|This text will keep showing on clients in future intermissions. }}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_FINALE}}&lt;br /&gt;
{{hl1msg|string|Text}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_FOUNDSECRET =&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Deprecated. }}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_FOUNDSECRET}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_INTERMISSION =&lt;br /&gt;
Shows the intermission camera view&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Intermission mode 1. }}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|This message has no arguments.}}&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_INTERMISSION}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_KILLEDMONSTER =&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Deprecated. }}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_KILLEDMONSTER}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_HLTV =&lt;br /&gt;
Tells client about current spectator mode.&lt;br /&gt;
&lt;br /&gt;
 As found in hltv.h:&lt;br /&gt;
 &lt;br /&gt;
 #define HLTV_ACTIVE	0	// tells client that he's an spectator and will get director commands&lt;br /&gt;
 #define HLTV_STATUS	1	// send status infos about proxy &lt;br /&gt;
 #define HLTV_LISTEN	2	// tell client to listen to a multicast stream&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_HLTV}}&lt;br /&gt;
{{hl1msg|byte|Mode}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_LIGHTSTYLE =&lt;br /&gt;
Setup light animation tables. 'a' is total darkness, 'z' is maxbright.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Server send 64 lightstyles to client during client connect. Most of them has empty light info. All of them could be found in world.cpp }}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pawn&amp;gt;&lt;br /&gt;
// 0 normal&lt;br /&gt;
LIGHT_STYLE(0, &amp;quot;m&amp;quot;);&lt;br /&gt;
// 1 FLICKER (first variety)&lt;br /&gt;
LIGHT_STYLE(1, &amp;quot;mmnmmommommnonmmonqnmmo&amp;quot;);	&lt;br /&gt;
// 2 SLOW STRONG PULSE&lt;br /&gt;
LIGHT_STYLE(2, &amp;quot;abcdefghijklmnopqrstuvwxyzyxwvutsrqponmlkjihgfedcba&amp;quot;);	&lt;br /&gt;
// 3 CANDLE (first variety)&lt;br /&gt;
LIGHT_STYLE(3, &amp;quot;mmmmmaaaaammmmmaaaaaabcdefgabcdefg&amp;quot;);	&lt;br /&gt;
// 4 FAST STROBE&lt;br /&gt;
LIGHT_STYLE(4, &amp;quot;mamamamamama&amp;quot;);	&lt;br /&gt;
// 5 GENTLE PULSE 1&lt;br /&gt;
LIGHT_STYLE(5,&amp;quot;jklmnopqrstuvwxyzyxwvutsrqponmlkj&amp;quot;);	&lt;br /&gt;
// 6 FLICKER (second variety)&lt;br /&gt;
LIGHT_STYLE(6, &amp;quot;nmonqnmomnmomomno&amp;quot;);	&lt;br /&gt;
// 7 CANDLE (second variety)&lt;br /&gt;
LIGHT_STYLE(7, &amp;quot;mmmaaaabcdefgmmmmaaaammmaamm&amp;quot;);	&lt;br /&gt;
// 8 CANDLE (third variety)&lt;br /&gt;
LIGHT_STYLE(8, &amp;quot;mmmaaammmaaammmabcdefaaaammmmabcdefmmmaaaa&amp;quot;);	&lt;br /&gt;
// 9 SLOW STROBE (fourth variety)&lt;br /&gt;
LIGHT_STYLE(9, &amp;quot;aaaaaaaazzzzzzzz&amp;quot;);	&lt;br /&gt;
// 10 FLUORESCENT FLICKER&lt;br /&gt;
LIGHT_STYLE(10, &amp;quot;mmamammmmammamamaaamammma&amp;quot;);&lt;br /&gt;
// 11 SLOW PULSE NOT FADE TO BLACK&lt;br /&gt;
LIGHT_STYLE(11, &amp;quot;abcdefghijklmnopqrrqponmlkjihgfedcba&amp;quot;);	&lt;br /&gt;
// 12 UNDERWATER LIGHT MUTATION&lt;br /&gt;
// this light only distorts the lightmap - no contribution&lt;br /&gt;
// is made to the brightness of affected surfaces&lt;br /&gt;
LIGHT_STYLE(12, &amp;quot;mmnnmmnnnmmnn&amp;quot;);&lt;br /&gt;
	&lt;br /&gt;
// styles 32-62 are assigned by the light program for switchable lights&lt;br /&gt;
&lt;br /&gt;
// 63 testing&lt;br /&gt;
LIGHT_STYLE(63, &amp;quot;a&amp;quot;);&lt;br /&gt;
&amp;lt;/pawn&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_LIGHTSTYLE}}&lt;br /&gt;
{{hl1msg|byte|index}}&lt;br /&gt;
{{hl1msg|string|lightinfo}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_NEWMOVEVARS =&lt;br /&gt;
Updates client's movevars.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message is sent on client's connect and when any change is detected between the current server movevars and server cvars values. }}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|If there is a change, the value of server cvars are copied into the server movevars, then the message is sent to all players using the server movevars. }}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_NEWMOVEVARS}}&lt;br /&gt;
{{hl1msg|float|Gravity}}&lt;br /&gt;
{{hl1msg|float|StopSpeed}}&lt;br /&gt;
{{hl1msg|float|MaxSpeed}}&lt;br /&gt;
{{hl1msg|float|SpectatorMaxSpeed}}&lt;br /&gt;
{{hl1msg|float|Accelerate}}&lt;br /&gt;
{{hl1msg|float|AirAccelerate}}&lt;br /&gt;
{{hl1msg|float|WaterAccelerate}}&lt;br /&gt;
{{hl1msg|float|Friction}}&lt;br /&gt;
{{hl1msg|float|EdgeFriction}}&lt;br /&gt;
{{hl1msg|float|WaterFriction}}&lt;br /&gt;
{{hl1msg|float|EntGravity}}&lt;br /&gt;
{{hl1msg|float|Bounce}}&lt;br /&gt;
{{hl1msg|float|StepSize}}&lt;br /&gt;
{{hl1msg|float|MaxVelocity}}&lt;br /&gt;
{{hl1msg|float|ZMax}}&lt;br /&gt;
{{hl1msg|float|WaveHeigth}}&lt;br /&gt;
{{hl1msg|byte|Footsteps}}&lt;br /&gt;
{{hl1msg|float|RollAngle}}&lt;br /&gt;
{{hl1msg|float|RollSpeed}}&lt;br /&gt;
{{hl1msg|float|SkyColorRed}}&lt;br /&gt;
{{hl1msg|float|SkyColorGreen}}&lt;br /&gt;
{{hl1msg|float|SkyColorBlue}}&lt;br /&gt;
{{hl1msg|float|SkyVecX}}&lt;br /&gt;
{{hl1msg|float|SkyVecY}}&lt;br /&gt;
{{hl1msg|float|SkyVecZ}}&lt;br /&gt;
{{hl1msg|string|SkyName}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_PARTICLE =&lt;br /&gt;
Shows a particle effect.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Called from pfnParticleEffect. So, the same as EngFunc_ParticleEffect. }}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|The direction has to be a value between -128 to 127, after the scale operation. }}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|You don't need to scaled by 16 if you use the engine call. }}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|Color is an index from the palette attached at right. }}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Palette.png|200px|thumb|right|Standard Quake1 palette]]&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_PARTICLE}}&lt;br /&gt;
{{hl1msg|coord|OriginX}}&lt;br /&gt;
{{hl1msg|coord|OriginY}}&lt;br /&gt;
{{hl1msg|coord|OriginZ}}&lt;br /&gt;
{{hl1msg|char|DirectionX * 16}}&lt;br /&gt;
{{hl1msg|char|DirectionY * 16}}&lt;br /&gt;
{{hl1msg|char|DirectionZ * 16}}&lt;br /&gt;
{{hl1msg|byte|Count}}&lt;br /&gt;
{{hl1msg|byte|Color}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_PINGS =&lt;br /&gt;
Contains ping, loss for several players.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Flag is 1 - rest data contains PlayerID, Ping and Loss at least for 1 player. }}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|Flag is 0 - end of the message, skip remaining bits. }}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice| ... - Flag + PlayerID + Ping + Loss - N times. }}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_PINGS}}&lt;br /&gt;
{{hl1msg|1 bit|Flag 1}}&lt;br /&gt;
{{hl1msg|5 bits|PlayerID}}&lt;br /&gt;
{{hl1msg|12 bits|Ping}}&lt;br /&gt;
{{hl1msg|7 bits|Loss}}&lt;br /&gt;
{{hl1msg|...|...}}&lt;br /&gt;
{{hl1msg|1 bit|Flag 0}}&lt;br /&gt;
{{hl1msg|n bits|Align to byte with zero bits}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_PRINT =&lt;br /&gt;
Sends a message to the client's console. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Called from pfnClientPrintf with print_console or print_notify as type.}}&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_PRINT}}&lt;br /&gt;
{{hl1msg|string|Message}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_RESOURCELOCATION =&lt;br /&gt;
This message sends sv_downloadurl to client.&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_RESOURCELOCATION}}&lt;br /&gt;
{{hl1msg|string|sv_downloadurl}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_ROOMTYPE =&lt;br /&gt;
Sets client room_type cvar to provided value.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pawn&amp;gt;0 = Normal (off)&lt;br /&gt;
1 = Generic&lt;br /&gt;
2 = Metal Small&lt;br /&gt;
3 = Metal Medium&lt;br /&gt;
4 = Metal Large&lt;br /&gt;
5 = Tunnel Small&lt;br /&gt;
6 = Tunnel Medium&lt;br /&gt;
7 = Tunnel Large&lt;br /&gt;
8 = Chamber Small&lt;br /&gt;
9 = Chamber Medium&lt;br /&gt;
10 = Chamber Large&lt;br /&gt;
11 = Bright Small&lt;br /&gt;
12 = Bright Medium&lt;br /&gt;
13 = Bright Large&lt;br /&gt;
14 = Water 1&lt;br /&gt;
15 = Water 2&lt;br /&gt;
16 = Water 3&lt;br /&gt;
17 = Concrete Small&lt;br /&gt;
18 = Concrete Medium&lt;br /&gt;
19 = Concrete Large&lt;br /&gt;
20 = Big 1&lt;br /&gt;
21 = Big 2&lt;br /&gt;
22 = Big 3&lt;br /&gt;
23 = Cavern Small&lt;br /&gt;
24 = Cavern Medium&lt;br /&gt;
25 = Cavern Large&lt;br /&gt;
26 = Weirdo 1&lt;br /&gt;
27 = Weirdo 2&lt;br /&gt;
28 = Weirdo 3&amp;lt;/pawn&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_ROOMTYPE}}&lt;br /&gt;
{{hl1msg|short|Value}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_SETVIEW =&lt;br /&gt;
Attaches a player's view to an entity.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Called from pfnSetView. The same as attach_view() native. }}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_SETVIEW}}&lt;br /&gt;
{{hl1msg|short|EntityIndex}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_STUFFTEXT =&lt;br /&gt;
Executes command on player.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message is sent by client_cmd(index,const command[],any:...) }}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_STUFFTEXT}}&lt;br /&gt;
{{hl1msg|string|Command}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_TIMESCALE =&lt;br /&gt;
{{begin-hl1msg|SVC_TIMESCALE}}&lt;br /&gt;
{{hl1msg|float|TimeScale}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_UPDATEUSERINFO =&lt;br /&gt;
{{begin-hl1msg|SVC_UPDATEUSERINFO}}&lt;br /&gt;
{{hl1msg|byte|ClientIndex}}&lt;br /&gt;
{{hl1msg|long|ClientUserId}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_VOICEINIT =&lt;br /&gt;
Sends sv_voicecodec and sv_voicequality cvars to client.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Codec name either voice_miles or voice_speex.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|Quality 1 to 5.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_VOICEINIT}}&lt;br /&gt;
{{hl1msg|string|CodecName}}&lt;br /&gt;
{{hl1msg|byte|Quality}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_SENDEXTRAINFO =&lt;br /&gt;
Sends some extra infos.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message is sent at player's connection as params &amp;quot;com_clientfallback&amp;quot; (global var) and sv_cheats value.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|The sv_cheats cvar will be set on the client with the value provided.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|It appears &amp;quot;com_clientfallback&amp;quot; is always null.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|This message seems to be unused.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_SENDEXTRAINFO}}&lt;br /&gt;
{{hl1msg|string|FallbackDir}}&lt;br /&gt;
{{hl1msg|byte|CanCheat}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_SETANGLE =&lt;br /&gt;
Update immediately the client's view angles.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|When pev-&amp;gt;fixangle is set 1, this message is sent with the current player's pev-&amp;gt;v_angle values.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|The provided angles need to be scaled by ( 65536 / 360 ).}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_SETANGLE}}&lt;br /&gt;
{{hl1msg|short|AnglePitch}}&lt;br /&gt;
{{hl1msg|short|AngleYaw}}&lt;br /&gt;
{{hl1msg|short|AngleRoll}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_SETPAUSE =&lt;br /&gt;
Puts client to a pause.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|If server is not paused, commands and packets from client are still sent, that means that client still can shoot/buy/etc...}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|IsPaused: 1 - for pause, 0 - for unpause.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_SETPAUSE}}&lt;br /&gt;
{{hl1msg|byte|IsPaused}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_SPAWNSTATICSOUND =&lt;br /&gt;
Start playback of a sound, loaded into the static portion of the channel array.&amp;lt;br&amp;gt;&lt;br /&gt;
This should be used for looping ambient sounds, looping sounds that should not non-creature sentences, and one-shot ambient streaming sounds.&amp;lt;br&amp;gt; &lt;br /&gt;
It can also play 'regular' sounds one-shot, in case designers want to trigger regular game sounds.&amp;lt;br&amp;gt;&lt;br /&gt;
The sound can be spawned either from a fixed position or from an entity.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|To use it on a fixed position, provide a valid origin and set EntityIndex with 0.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|To use it from an entity, so position is updated, provide a valid EntityIndex and set Origin with a null vector.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|To stop a sound with SVC_STOPSOUND, a valid EntityIndex is needed.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|Volume has to be scaled by 255 and Attenuation by 64.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|Use SND_SENTENCE (1&amp;lt;&amp;lt;4) as flag for sentence sounds. }}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|It can be sent to one player.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_SPAWNSTATICSOUND }}&lt;br /&gt;
{{hl1msg|coord|OriginX}}&lt;br /&gt;
{{hl1msg|coord|OriginY}}&lt;br /&gt;
{{hl1msg|coord|OriginZ}}&lt;br /&gt;
{{hl1msg|short|SoundIndex}}&lt;br /&gt;
{{hl1msg|byte|Volume * 255}}&lt;br /&gt;
{{hl1msg|byte|Attenuation * 64}}&lt;br /&gt;
{{hl1msg|short|EntityIndex}}&lt;br /&gt;
{{hl1msg|byte|Flags}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_STOPSOUND =&lt;br /&gt;
Stops an ambient sound.&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_STOPSOUND}}&lt;br /&gt;
{{hl1msg|short|EntityIndex}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_SOUNDFADE =&lt;br /&gt;
Updates client side sound fade.&amp;lt;br&amp;gt;&lt;br /&gt;
It's used to modulate sound volume on the client.&amp;lt;br&amp;gt;&lt;br /&gt;
Such functionality is part of a main function where the purpose would be to update sound subsystem and cd audio.&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_SOUNDFADE}}&lt;br /&gt;
{{hl1msg|byte|InitialPercent}}&lt;br /&gt;
{{hl1msg|byte|HoldTime}}&lt;br /&gt;
{{hl1msg|byte|FadeInTime}}&lt;br /&gt;
{{hl1msg|byte|FadeOutTime}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_TEMPENTITY =&lt;br /&gt;
Creates a [[Temp_Entity_Events_(Half-Life_1)|temp entity]].&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_TEMPENTITY}}&lt;br /&gt;
{{hl1msg|byte|[[Temp_Entity_Events_(Half-Life_1)|MessageIndex]]}}&lt;br /&gt;
{{hl1msg|...|...}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_VERSION =&lt;br /&gt;
Disconnects the client and sends a message to the console if the number passed doesn't match the current server protocol version.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Message type sent : &amp;quot;CL_Parse_Version: Server is protocol %i instead of %i\n&amp;quot;.}}&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_VERSION}}&lt;br /&gt;
{{hl1msg|long|ProtocolVersion}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_WEAPONANIM =&lt;br /&gt;
Plays a weapon sequence.&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_WEAPONANIM}}&lt;br /&gt;
{{hl1msg|byte|SequenceNumber}}&lt;br /&gt;
{{hl1msg|byte|WeaponmodelBodygroup}}&lt;br /&gt;
{{end-hl1msg}}&lt;/div&gt;</summary>
		<author><name>ConnorMcLeod</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.alliedmods.net/index.php?title=Half-Life_1_Engine_Messages&amp;diff=8922</id>
		<title>Half-Life 1 Engine Messages</title>
		<link rel="alternate" type="text/html" href="https://wiki.alliedmods.net/index.php?title=Half-Life_1_Engine_Messages&amp;diff=8922"/>
		<updated>2013-05-09T09:48:25Z</updated>

		<summary type="html">&lt;p&gt;ConnorMcLeod: /* SVC_UPDATEUSERINFO */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Half-Life 1]]&lt;br /&gt;
[[Category:Scripting (AMX Mod X)]]&lt;br /&gt;
 //SVC_BAD                 0&lt;br /&gt;
 SVC_NOP                   1&lt;br /&gt;
 SVC_DISCONNECT            2&lt;br /&gt;
 SVC_EVENT                 3&lt;br /&gt;
 SVC_VERSION               4&lt;br /&gt;
 SVC_SETVIEW               5&lt;br /&gt;
 SVC_SOUND                 6&lt;br /&gt;
 SVC_TIME                  7&lt;br /&gt;
 SVC_PRINT                 8&lt;br /&gt;
 SVC_STUFFTEXT             9&lt;br /&gt;
 SVC_SETANGLE              10&lt;br /&gt;
 SVC_SERVERINFO            11&lt;br /&gt;
 SVC_LIGHTSTYLE            12&lt;br /&gt;
 SVC_UPDATEUSERINFO        13&lt;br /&gt;
 SVC_DELTADESCRIPTION      14&lt;br /&gt;
 SVC_CLIENTDATA            15&lt;br /&gt;
 SVC_STOPSOUND             16&lt;br /&gt;
 SVC_PINGS                 17&lt;br /&gt;
 SVC_PARTICLE              18&lt;br /&gt;
 SVC_DAMAGE                19&lt;br /&gt;
 SVC_SPAWNSTATIC           20&lt;br /&gt;
 SVC_EVENT_RELIABLE        21&lt;br /&gt;
 SVC_SPAWNBASELINE         22&lt;br /&gt;
 SVC_TEMPENTITY            23&lt;br /&gt;
 SVC_SETPAUSE              24&lt;br /&gt;
 SVC_SIGNONNUM             25&lt;br /&gt;
 SVC_CENTERPRINT           26&lt;br /&gt;
 SVC_KILLEDMONSTER         27&lt;br /&gt;
 SVC_FOUNDSECRET           28&lt;br /&gt;
 SVC_SPAWNSTATICSOUND      29&lt;br /&gt;
 SVC_INTERMISSION          30&lt;br /&gt;
 SVC_FINALE                31&lt;br /&gt;
 SVC_CDTRACK               32&lt;br /&gt;
 SVC_RESTORE               33&lt;br /&gt;
 SVC_CUTSCENE              34&lt;br /&gt;
 SVC_WEAPONANIM            35&lt;br /&gt;
 SVC_DECALNAME             36&lt;br /&gt;
 SVC_ROOMTYPE              37&lt;br /&gt;
 SVC_ADDANGLE              38&lt;br /&gt;
 SVC_NEWUSERMSG            39&lt;br /&gt;
 SVC_PACKETENTITIES        40&lt;br /&gt;
 SVC_DELTAPACKETENTITIES   41&lt;br /&gt;
 SVC_CHOKE                 42&lt;br /&gt;
 SVC_RESOURCELIST          43&lt;br /&gt;
 SVC_NEWMOVEVARS           44&lt;br /&gt;
 SVC_RESOURCEREQUEST       45&lt;br /&gt;
 SVC_CUSTOMIZATION         46&lt;br /&gt;
 SVC_CROSSHAIRANGLE        47&lt;br /&gt;
 SVC_SOUNDFADE             48&lt;br /&gt;
 SVC_FILETXFERFAILED       49&lt;br /&gt;
 SVC_HLTV                  50&lt;br /&gt;
 SVC_DIRECTOR              51&lt;br /&gt;
 SVC_VOICEINIT             52&lt;br /&gt;
 SVC_VOICEDATA             53&lt;br /&gt;
 SVC_SENDEXTRAINFO         54&lt;br /&gt;
 SVC_TIMESCALE             55&lt;br /&gt;
 SVC_RESOURCELOCATION      56&lt;br /&gt;
 SVC_SENDCVARVALUE         57&lt;br /&gt;
 SVC_SENDCVARVALUE2        58&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= SVC_ADDANGLE =&lt;br /&gt;
Add an angle on the yaw axis of the current client's view angle.&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|When pev-&amp;gt;fixangle is set to 2, this message is called to add pev-&amp;gt;avelocity[1] as value.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|The value needs to be scaled by ( 65536  / 360 ).}}&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_ADDANGLE }}&lt;br /&gt;
{{hl1msg|short|AngleToAdd}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_CDTRACK =&lt;br /&gt;
Plays an Half-Life music.&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|Track goes from 1 to 30.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|The musics are located in valve/media/.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|The second param is unused and not optional.}}&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_CDTRACK }}&lt;br /&gt;
{{hl1msg|byte|Track}}&lt;br /&gt;
{{hl1msg|byte|LoopTrack [unused]}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_CENTERPRINT =&lt;br /&gt;
Sends a centered message.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Called from pfnClientPrintf with print_center as type.}}&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_CENTERPRINT}}&lt;br /&gt;
{{hl1msg|string|Message}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_CHOKE =&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_CHOKE}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_CROSSHAIRANGLE =&lt;br /&gt;
Adjusts the weapon's crosshair angle.&amp;lt;br&amp;gt;&lt;br /&gt;
Basically, the weapon position on the player's view can have a different origin.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Called by pfnCrosshairAngle. So, the same as EngFunc_CrosshairAngle.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|If you use the engine call, no need to scale by 5.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|Use 0 for both to get the default position.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_CROSSHAIRANGLE }}&lt;br /&gt;
{{hl1msg|char|PitchAngle * 5}}&lt;br /&gt;
{{hl1msg|char|YawAngle * 5}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_CUTSCENE =&lt;br /&gt;
Shows the intermission camera view, and writes-out text passed in first parameter.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Intermission mode 3. }}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|This text will keep showing on clients in future intermissions. }}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_CUTSCENE}}&lt;br /&gt;
{{hl1msg|string|Text}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_DAMAGE =&lt;br /&gt;
{{qnotice|Deprecated. }}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_DAMAGE}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_DECALNAME =&lt;br /&gt;
Allows to set, into the client's decals array and at specific position index (0-&amp;gt;511), a decal name.&amp;lt;br&amp;gt;&lt;br /&gt;
E.g: let's say you send a message to set a decal &amp;quot;{break&amp;quot; at index 200.&amp;lt;br&amp;gt;&lt;br /&gt;
As result, when a message TE_ will be used to show a decal at index 200, we will see &amp;quot;{break&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|If there is already an existing decal at the provided index, it will be overwritten. }}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|It appears we can play only with decals from decals.wad. }}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_DECALNAME}}&lt;br /&gt;
{{hl1msg|byte|PositionIndex}}&lt;br /&gt;
{{hl1msg|string|DecalName}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_DISCONNECT =&lt;br /&gt;
Disconnect player with given reason.&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_DISCONNECT}}&lt;br /&gt;
{{hl1msg|string|Reason}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_INTERMISSION =&lt;br /&gt;
Shows the intermission camera view&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Intermission mode 1. }}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|This message has no arguments.}}&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_INTERMISSION}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_FILETXFERFAILED =&lt;br /&gt;
&lt;br /&gt;
Sends a message to the client's console telling what file has failed to be transfered.&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|The message type is : &amp;quot;Error: server failed to transmit file 'FileName'&amp;quot;&amp;quot;}}&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_FILETXFERFAILED}}&lt;br /&gt;
{{hl1msg|string|FileName}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_FINALE =&lt;br /&gt;
Shows the intermission camera view, and writes-out text passed in first parameter.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Intermission mode 2. }}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|This text will keep showing on clients in future intermissions. }}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_FINALE}}&lt;br /&gt;
{{hl1msg|string|Text}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_KILLEDMONSTER =&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Deprecated. }}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_KILLEDMONSTER}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_FOUNDSECRET =&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Deprecated. }}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_FOUNDSECRET}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_HLTV =&lt;br /&gt;
Tells client about current spectator mode.&lt;br /&gt;
&lt;br /&gt;
 As found in hltv.h:&lt;br /&gt;
 &lt;br /&gt;
 #define HLTV_ACTIVE	0	// tells client that he's an spectator and will get director commands&lt;br /&gt;
 #define HLTV_STATUS	1	// send status infos about proxy &lt;br /&gt;
 #define HLTV_LISTEN	2	// tell client to listen to a multicast stream&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_HLTV}}&lt;br /&gt;
{{hl1msg|byte|Mode}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_LIGHTSTYLE =&lt;br /&gt;
Setup light animation tables. 'a' is total darkness, 'z' is maxbright.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Server send 64 lightstyles to client during client connect. Most of them has empty light info. All of them could be found in world.cpp }}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pawn&amp;gt;&lt;br /&gt;
// 0 normal&lt;br /&gt;
LIGHT_STYLE(0, &amp;quot;m&amp;quot;);&lt;br /&gt;
// 1 FLICKER (first variety)&lt;br /&gt;
LIGHT_STYLE(1, &amp;quot;mmnmmommommnonmmonqnmmo&amp;quot;);	&lt;br /&gt;
// 2 SLOW STRONG PULSE&lt;br /&gt;
LIGHT_STYLE(2, &amp;quot;abcdefghijklmnopqrstuvwxyzyxwvutsrqponmlkjihgfedcba&amp;quot;);	&lt;br /&gt;
// 3 CANDLE (first variety)&lt;br /&gt;
LIGHT_STYLE(3, &amp;quot;mmmmmaaaaammmmmaaaaaabcdefgabcdefg&amp;quot;);	&lt;br /&gt;
// 4 FAST STROBE&lt;br /&gt;
LIGHT_STYLE(4, &amp;quot;mamamamamama&amp;quot;);	&lt;br /&gt;
// 5 GENTLE PULSE 1&lt;br /&gt;
LIGHT_STYLE(5,&amp;quot;jklmnopqrstuvwxyzyxwvutsrqponmlkj&amp;quot;);	&lt;br /&gt;
// 6 FLICKER (second variety)&lt;br /&gt;
LIGHT_STYLE(6, &amp;quot;nmonqnmomnmomomno&amp;quot;);	&lt;br /&gt;
// 7 CANDLE (second variety)&lt;br /&gt;
LIGHT_STYLE(7, &amp;quot;mmmaaaabcdefgmmmmaaaammmaamm&amp;quot;);	&lt;br /&gt;
// 8 CANDLE (third variety)&lt;br /&gt;
LIGHT_STYLE(8, &amp;quot;mmmaaammmaaammmabcdefaaaammmmabcdefmmmaaaa&amp;quot;);	&lt;br /&gt;
// 9 SLOW STROBE (fourth variety)&lt;br /&gt;
LIGHT_STYLE(9, &amp;quot;aaaaaaaazzzzzzzz&amp;quot;);	&lt;br /&gt;
// 10 FLUORESCENT FLICKER&lt;br /&gt;
LIGHT_STYLE(10, &amp;quot;mmamammmmammamamaaamammma&amp;quot;);&lt;br /&gt;
// 11 SLOW PULSE NOT FADE TO BLACK&lt;br /&gt;
LIGHT_STYLE(11, &amp;quot;abcdefghijklmnopqrrqponmlkjihgfedcba&amp;quot;);	&lt;br /&gt;
// 12 UNDERWATER LIGHT MUTATION&lt;br /&gt;
// this light only distorts the lightmap - no contribution&lt;br /&gt;
// is made to the brightness of affected surfaces&lt;br /&gt;
LIGHT_STYLE(12, &amp;quot;mmnnmmnnnmmnn&amp;quot;);&lt;br /&gt;
	&lt;br /&gt;
// styles 32-62 are assigned by the light program for switchable lights&lt;br /&gt;
&lt;br /&gt;
// 63 testing&lt;br /&gt;
LIGHT_STYLE(63, &amp;quot;a&amp;quot;);&lt;br /&gt;
&amp;lt;/pawn&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_LIGHTSTYLE}}&lt;br /&gt;
{{hl1msg|byte|index}}&lt;br /&gt;
{{hl1msg|string|lightinfo}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_NEWMOVEVARS =&lt;br /&gt;
Updates client's movevars.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message is sent on client's connect and when any change is detected between the current server movevars and server cvars values. }}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|If there is a change, the value of server cvars are copied into the server movevars, then the message is sent to all players using the server movevars. }}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_NEWMOVEVARS}}&lt;br /&gt;
{{hl1msg|float|Gravity}}&lt;br /&gt;
{{hl1msg|float|StopSpeed}}&lt;br /&gt;
{{hl1msg|float|MaxSpeed}}&lt;br /&gt;
{{hl1msg|float|SpectatorMaxSpeed}}&lt;br /&gt;
{{hl1msg|float|Accelerate}}&lt;br /&gt;
{{hl1msg|float|AirAccelerate}}&lt;br /&gt;
{{hl1msg|float|WaterAccelerate}}&lt;br /&gt;
{{hl1msg|float|Friction}}&lt;br /&gt;
{{hl1msg|float|EdgeFriction}}&lt;br /&gt;
{{hl1msg|float|WaterFriction}}&lt;br /&gt;
{{hl1msg|float|EntGravity}}&lt;br /&gt;
{{hl1msg|float|Bounce}}&lt;br /&gt;
{{hl1msg|float|StepSize}}&lt;br /&gt;
{{hl1msg|float|MaxVelocity}}&lt;br /&gt;
{{hl1msg|float|ZMax}}&lt;br /&gt;
{{hl1msg|float|WaveHeigth}}&lt;br /&gt;
{{hl1msg|byte|Footsteps}}&lt;br /&gt;
{{hl1msg|float|RollAngle}}&lt;br /&gt;
{{hl1msg|float|RollSpeed}}&lt;br /&gt;
{{hl1msg|float|SkyColorRed}}&lt;br /&gt;
{{hl1msg|float|SkyColorGreen}}&lt;br /&gt;
{{hl1msg|float|SkyColorBlue}}&lt;br /&gt;
{{hl1msg|float|SkyVecX}}&lt;br /&gt;
{{hl1msg|float|SkyVecY}}&lt;br /&gt;
{{hl1msg|float|SkyVecZ}}&lt;br /&gt;
{{hl1msg|string|SkyName}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_PARTICLE =&lt;br /&gt;
Shows a particle effect.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Called from pfnParticleEffect. So, the same as EngFunc_ParticleEffect. }}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|The direction has to be a value between -128 to 127, after the scale operation. }}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|You don't need to scaled by 16 if you use the engine call. }}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|Color is an index from the palette attached at right. }}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Palette.png|200px|thumb|right|Standard Quake1 palette]]&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_PARTICLE}}&lt;br /&gt;
{{hl1msg|coord|OriginX}}&lt;br /&gt;
{{hl1msg|coord|OriginY}}&lt;br /&gt;
{{hl1msg|coord|OriginZ}}&lt;br /&gt;
{{hl1msg|char|DirectionX * 16}}&lt;br /&gt;
{{hl1msg|char|DirectionY * 16}}&lt;br /&gt;
{{hl1msg|char|DirectionZ * 16}}&lt;br /&gt;
{{hl1msg|byte|Count}}&lt;br /&gt;
{{hl1msg|byte|Color}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_PINGS =&lt;br /&gt;
Contains ping, loss for several players.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Flag is 1 - rest data contains PlayerID, Ping and Loss at least for 1 player. }}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|Flag is 0 - end of the message, skip remaining bits. }}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice| ... - Flag + PlayerID + Ping + Loss - N times. }}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_PINGS}}&lt;br /&gt;
{{hl1msg|1 bit|Flag 1}}&lt;br /&gt;
{{hl1msg|5 bits|PlayerID}}&lt;br /&gt;
{{hl1msg|12 bits|Ping}}&lt;br /&gt;
{{hl1msg|7 bits|Loss}}&lt;br /&gt;
{{hl1msg|...|...}}&lt;br /&gt;
{{hl1msg|1 bit|Flag 0}}&lt;br /&gt;
{{hl1msg|n bits|Align to byte with zero bits}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_PRINT =&lt;br /&gt;
Sends a message to the client's console. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Called from pfnClientPrintf with print_console or print_notify as type.}}&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_PRINT}}&lt;br /&gt;
{{hl1msg|string|Message}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_RESOURCELOCATION =&lt;br /&gt;
This message sends sv_downloadurl to client.&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_RESOURCELOCATION}}&lt;br /&gt;
{{hl1msg|string|sv_downloadurl}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_ROOMTYPE =&lt;br /&gt;
Sets client room_type cvar to provided value.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pawn&amp;gt;0 = Normal (off)&lt;br /&gt;
1 = Generic&lt;br /&gt;
2 = Metal Small&lt;br /&gt;
3 = Metal Medium&lt;br /&gt;
4 = Metal Large&lt;br /&gt;
5 = Tunnel Small&lt;br /&gt;
6 = Tunnel Medium&lt;br /&gt;
7 = Tunnel Large&lt;br /&gt;
8 = Chamber Small&lt;br /&gt;
9 = Chamber Medium&lt;br /&gt;
10 = Chamber Large&lt;br /&gt;
11 = Bright Small&lt;br /&gt;
12 = Bright Medium&lt;br /&gt;
13 = Bright Large&lt;br /&gt;
14 = Water 1&lt;br /&gt;
15 = Water 2&lt;br /&gt;
16 = Water 3&lt;br /&gt;
17 = Concrete Small&lt;br /&gt;
18 = Concrete Medium&lt;br /&gt;
19 = Concrete Large&lt;br /&gt;
20 = Big 1&lt;br /&gt;
21 = Big 2&lt;br /&gt;
22 = Big 3&lt;br /&gt;
23 = Cavern Small&lt;br /&gt;
24 = Cavern Medium&lt;br /&gt;
25 = Cavern Large&lt;br /&gt;
26 = Weirdo 1&lt;br /&gt;
27 = Weirdo 2&lt;br /&gt;
28 = Weirdo 3&amp;lt;/pawn&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_ROOMTYPE}}&lt;br /&gt;
{{hl1msg|short|Value}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_SETVIEW =&lt;br /&gt;
Attaches a player's view to an entity.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Called from pfnSetView. The same as attach_view() native. }}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_SETVIEW}}&lt;br /&gt;
{{hl1msg|short|EntityIndex}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_STUFFTEXT =&lt;br /&gt;
Executes command on player.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message is sent by client_cmd(index,const command[],any:...) }}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_STUFFTEXT}}&lt;br /&gt;
{{hl1msg|string|Command}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_TIMESCALE =&lt;br /&gt;
{{begin-hl1msg|SVC_TIMESCALE}}&lt;br /&gt;
{{hl1msg|float|TimeScale}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_UPDATEUSERINFO =&lt;br /&gt;
{{begin-hl1msg|SVC_UPDATEUSERINFO}}&lt;br /&gt;
{{hl1msg|byte|ClientIndex}}&lt;br /&gt;
{{hl1msg|long|ClientUserId}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_VOICEINIT =&lt;br /&gt;
Sends sv_voicecodec and sv_voicequality cvars to client.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Codec name either voice_miles or voice_speex.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|Quality 1 to 5.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_VOICEINIT}}&lt;br /&gt;
{{hl1msg|string|CodecName}}&lt;br /&gt;
{{hl1msg|byte|Quality}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_SENDEXTRAINFO =&lt;br /&gt;
Sends some extra infos.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message is sent at player's connection as params &amp;quot;com_clientfallback&amp;quot; (global var) and sv_cheats value.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|The sv_cheats cvar will be set on the client with the value provided.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|It appears &amp;quot;com_clientfallback&amp;quot; is always null.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|This message seems to be unused.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_SENDEXTRAINFO}}&lt;br /&gt;
{{hl1msg|string|FallbackDir}}&lt;br /&gt;
{{hl1msg|byte|CanCheat}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_SETANGLE =&lt;br /&gt;
Update immediately the client's view angles.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|When pev-&amp;gt;fixangle is set 1, this message is sent with the current player's pev-&amp;gt;v_angle values.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|The provided angles need to be scaled by ( 65536 / 360 ).}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_SETANGLE}}&lt;br /&gt;
{{hl1msg|short|AnglePitch}}&lt;br /&gt;
{{hl1msg|short|AngleYaw}}&lt;br /&gt;
{{hl1msg|short|AngleRoll}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_SETPAUSE =&lt;br /&gt;
Puts client to a pause.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|If server is not paused, commands and packets from client are still sent, that means that client still can shoot/buy/etc...}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|IsPaused: 1 - for pause, 0 - for unpause.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_SETPAUSE}}&lt;br /&gt;
{{hl1msg|byte|IsPaused}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_SPAWNSTATICSOUND =&lt;br /&gt;
Start playback of a sound, loaded into the static portion of the channel array.&amp;lt;br&amp;gt;&lt;br /&gt;
This should be used for looping ambient sounds, looping sounds that should not non-creature sentences, and one-shot ambient streaming sounds.&amp;lt;br&amp;gt; &lt;br /&gt;
It can also play 'regular' sounds one-shot, in case designers want to trigger regular game sounds.&amp;lt;br&amp;gt;&lt;br /&gt;
The sound can be spawned either from a fixed position or from an entity.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|To use it on a fixed position, provide a valid origin and set EntityIndex with 0.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|To use it from an entity, so position is updated, provide a valid EntityIndex and set Origin with a null vector.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|To stop a sound with SVC_STOPSOUND, a valid EntityIndex is needed.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|Volume has to be scaled by 255 and Attenuation by 64.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|Use SND_SENTENCE (1&amp;lt;&amp;lt;4) as flag for sentence sounds. }}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|It can be sent to one player.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_SPAWNSTATICSOUND }}&lt;br /&gt;
{{hl1msg|coord|OriginX}}&lt;br /&gt;
{{hl1msg|coord|OriginY}}&lt;br /&gt;
{{hl1msg|coord|OriginZ}}&lt;br /&gt;
{{hl1msg|short|SoundIndex}}&lt;br /&gt;
{{hl1msg|byte|Volume * 255}}&lt;br /&gt;
{{hl1msg|byte|Attenuation * 64}}&lt;br /&gt;
{{hl1msg|short|EntityIndex}}&lt;br /&gt;
{{hl1msg|byte|Flags}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_STOPSOUND =&lt;br /&gt;
Stops an ambient sound.&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_STOPSOUND}}&lt;br /&gt;
{{hl1msg|short|EntityIndex}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_SOUNDFADE =&lt;br /&gt;
Updates client side sound fade.&amp;lt;br&amp;gt;&lt;br /&gt;
It's used to modulate sound volume on the client.&amp;lt;br&amp;gt;&lt;br /&gt;
Such functionality is part of a main function where the purpose would be to update sound subsystem and cd audio.&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_SOUNDFADE}}&lt;br /&gt;
{{hl1msg|byte|InitialPercent}}&lt;br /&gt;
{{hl1msg|byte|HoldTime}}&lt;br /&gt;
{{hl1msg|byte|FadeInTime}}&lt;br /&gt;
{{hl1msg|byte|FadeOutTime}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_TEMPENTITY =&lt;br /&gt;
Creates a [[Temp_Entity_Events_(Half-Life_1)|temp entity]].&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_TEMPENTITY}}&lt;br /&gt;
{{hl1msg|byte|[[Temp_Entity_Events_(Half-Life_1)|MessageIndex]]}}&lt;br /&gt;
{{hl1msg|...|...}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_VERSION =&lt;br /&gt;
Disconnects the client and sends a message to the console if the number passed doesn't match the current server protocol version.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Message type sent : &amp;quot;CL_Parse_Version: Server is protocol %i instead of %i\n&amp;quot;.}}&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_VERSION}}&lt;br /&gt;
{{hl1msg|long|ProtocolVersion}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_WEAPONANIM =&lt;br /&gt;
Plays a weapon sequence.&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_WEAPONANIM}}&lt;br /&gt;
{{hl1msg|byte|SequenceNumber}}&lt;br /&gt;
{{hl1msg|byte|WeaponmodelBodygroup}}&lt;br /&gt;
{{end-hl1msg}}&lt;/div&gt;</summary>
		<author><name>ConnorMcLeod</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.alliedmods.net/index.php?title=Half-Life_1_Engine_Messages&amp;diff=8921</id>
		<title>Half-Life 1 Engine Messages</title>
		<link rel="alternate" type="text/html" href="https://wiki.alliedmods.net/index.php?title=Half-Life_1_Engine_Messages&amp;diff=8921"/>
		<updated>2013-05-09T09:47:55Z</updated>

		<summary type="html">&lt;p&gt;ConnorMcLeod: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Half-Life 1]]&lt;br /&gt;
[[Category:Scripting (AMX Mod X)]]&lt;br /&gt;
 //SVC_BAD                 0&lt;br /&gt;
 SVC_NOP                   1&lt;br /&gt;
 SVC_DISCONNECT            2&lt;br /&gt;
 SVC_EVENT                 3&lt;br /&gt;
 SVC_VERSION               4&lt;br /&gt;
 SVC_SETVIEW               5&lt;br /&gt;
 SVC_SOUND                 6&lt;br /&gt;
 SVC_TIME                  7&lt;br /&gt;
 SVC_PRINT                 8&lt;br /&gt;
 SVC_STUFFTEXT             9&lt;br /&gt;
 SVC_SETANGLE              10&lt;br /&gt;
 SVC_SERVERINFO            11&lt;br /&gt;
 SVC_LIGHTSTYLE            12&lt;br /&gt;
 SVC_UPDATEUSERINFO        13&lt;br /&gt;
 SVC_DELTADESCRIPTION      14&lt;br /&gt;
 SVC_CLIENTDATA            15&lt;br /&gt;
 SVC_STOPSOUND             16&lt;br /&gt;
 SVC_PINGS                 17&lt;br /&gt;
 SVC_PARTICLE              18&lt;br /&gt;
 SVC_DAMAGE                19&lt;br /&gt;
 SVC_SPAWNSTATIC           20&lt;br /&gt;
 SVC_EVENT_RELIABLE        21&lt;br /&gt;
 SVC_SPAWNBASELINE         22&lt;br /&gt;
 SVC_TEMPENTITY            23&lt;br /&gt;
 SVC_SETPAUSE              24&lt;br /&gt;
 SVC_SIGNONNUM             25&lt;br /&gt;
 SVC_CENTERPRINT           26&lt;br /&gt;
 SVC_KILLEDMONSTER         27&lt;br /&gt;
 SVC_FOUNDSECRET           28&lt;br /&gt;
 SVC_SPAWNSTATICSOUND      29&lt;br /&gt;
 SVC_INTERMISSION          30&lt;br /&gt;
 SVC_FINALE                31&lt;br /&gt;
 SVC_CDTRACK               32&lt;br /&gt;
 SVC_RESTORE               33&lt;br /&gt;
 SVC_CUTSCENE              34&lt;br /&gt;
 SVC_WEAPONANIM            35&lt;br /&gt;
 SVC_DECALNAME             36&lt;br /&gt;
 SVC_ROOMTYPE              37&lt;br /&gt;
 SVC_ADDANGLE              38&lt;br /&gt;
 SVC_NEWUSERMSG            39&lt;br /&gt;
 SVC_PACKETENTITIES        40&lt;br /&gt;
 SVC_DELTAPACKETENTITIES   41&lt;br /&gt;
 SVC_CHOKE                 42&lt;br /&gt;
 SVC_RESOURCELIST          43&lt;br /&gt;
 SVC_NEWMOVEVARS           44&lt;br /&gt;
 SVC_RESOURCEREQUEST       45&lt;br /&gt;
 SVC_CUSTOMIZATION         46&lt;br /&gt;
 SVC_CROSSHAIRANGLE        47&lt;br /&gt;
 SVC_SOUNDFADE             48&lt;br /&gt;
 SVC_FILETXFERFAILED       49&lt;br /&gt;
 SVC_HLTV                  50&lt;br /&gt;
 SVC_DIRECTOR              51&lt;br /&gt;
 SVC_VOICEINIT             52&lt;br /&gt;
 SVC_VOICEDATA             53&lt;br /&gt;
 SVC_SENDEXTRAINFO         54&lt;br /&gt;
 SVC_TIMESCALE             55&lt;br /&gt;
 SVC_RESOURCELOCATION      56&lt;br /&gt;
 SVC_SENDCVARVALUE         57&lt;br /&gt;
 SVC_SENDCVARVALUE2        58&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= SVC_ADDANGLE =&lt;br /&gt;
Add an angle on the yaw axis of the current client's view angle.&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|When pev-&amp;gt;fixangle is set to 2, this message is called to add pev-&amp;gt;avelocity[1] as value.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|The value needs to be scaled by ( 65536  / 360 ).}}&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_ADDANGLE }}&lt;br /&gt;
{{hl1msg|short|AngleToAdd}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_CDTRACK =&lt;br /&gt;
Plays an Half-Life music.&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|Track goes from 1 to 30.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|The musics are located in valve/media/.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|The second param is unused and not optional.}}&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_CDTRACK }}&lt;br /&gt;
{{hl1msg|byte|Track}}&lt;br /&gt;
{{hl1msg|byte|LoopTrack [unused]}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_CENTERPRINT =&lt;br /&gt;
Sends a centered message.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Called from pfnClientPrintf with print_center as type.}}&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_CENTERPRINT}}&lt;br /&gt;
{{hl1msg|string|Message}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_CHOKE =&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_CHOKE}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_CROSSHAIRANGLE =&lt;br /&gt;
Adjusts the weapon's crosshair angle.&amp;lt;br&amp;gt;&lt;br /&gt;
Basically, the weapon position on the player's view can have a different origin.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Called by pfnCrosshairAngle. So, the same as EngFunc_CrosshairAngle.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|If you use the engine call, no need to scale by 5.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|Use 0 for both to get the default position.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_CROSSHAIRANGLE }}&lt;br /&gt;
{{hl1msg|char|PitchAngle * 5}}&lt;br /&gt;
{{hl1msg|char|YawAngle * 5}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_CUTSCENE =&lt;br /&gt;
Shows the intermission camera view, and writes-out text passed in first parameter.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Intermission mode 3. }}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|This text will keep showing on clients in future intermissions. }}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_CUTSCENE}}&lt;br /&gt;
{{hl1msg|string|Text}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_DAMAGE =&lt;br /&gt;
{{qnotice|Deprecated. }}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_DAMAGE}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_DECALNAME =&lt;br /&gt;
Allows to set, into the client's decals array and at specific position index (0-&amp;gt;511), a decal name.&amp;lt;br&amp;gt;&lt;br /&gt;
E.g: let's say you send a message to set a decal &amp;quot;{break&amp;quot; at index 200.&amp;lt;br&amp;gt;&lt;br /&gt;
As result, when a message TE_ will be used to show a decal at index 200, we will see &amp;quot;{break&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|If there is already an existing decal at the provided index, it will be overwritten. }}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|It appears we can play only with decals from decals.wad. }}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_DECALNAME}}&lt;br /&gt;
{{hl1msg|byte|PositionIndex}}&lt;br /&gt;
{{hl1msg|string|DecalName}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_DISCONNECT =&lt;br /&gt;
Disconnect player with given reason.&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_DISCONNECT}}&lt;br /&gt;
{{hl1msg|string|Reason}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_INTERMISSION =&lt;br /&gt;
Shows the intermission camera view&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Intermission mode 1. }}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|This message has no arguments.}}&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_INTERMISSION}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_FILETXFERFAILED =&lt;br /&gt;
&lt;br /&gt;
Sends a message to the client's console telling what file has failed to be transfered.&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|The message type is : &amp;quot;Error: server failed to transmit file 'FileName'&amp;quot;&amp;quot;}}&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_FILETXFERFAILED}}&lt;br /&gt;
{{hl1msg|string|FileName}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_FINALE =&lt;br /&gt;
Shows the intermission camera view, and writes-out text passed in first parameter.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Intermission mode 2. }}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|This text will keep showing on clients in future intermissions. }}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_FINALE}}&lt;br /&gt;
{{hl1msg|string|Text}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_KILLEDMONSTER =&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Deprecated. }}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_KILLEDMONSTER}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_FOUNDSECRET =&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Deprecated. }}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_FOUNDSECRET}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_HLTV =&lt;br /&gt;
Tells client about current spectator mode.&lt;br /&gt;
&lt;br /&gt;
 As found in hltv.h:&lt;br /&gt;
 &lt;br /&gt;
 #define HLTV_ACTIVE	0	// tells client that he's an spectator and will get director commands&lt;br /&gt;
 #define HLTV_STATUS	1	// send status infos about proxy &lt;br /&gt;
 #define HLTV_LISTEN	2	// tell client to listen to a multicast stream&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_HLTV}}&lt;br /&gt;
{{hl1msg|byte|Mode}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_LIGHTSTYLE =&lt;br /&gt;
Setup light animation tables. 'a' is total darkness, 'z' is maxbright.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Server send 64 lightstyles to client during client connect. Most of them has empty light info. All of them could be found in world.cpp }}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pawn&amp;gt;&lt;br /&gt;
// 0 normal&lt;br /&gt;
LIGHT_STYLE(0, &amp;quot;m&amp;quot;);&lt;br /&gt;
// 1 FLICKER (first variety)&lt;br /&gt;
LIGHT_STYLE(1, &amp;quot;mmnmmommommnonmmonqnmmo&amp;quot;);	&lt;br /&gt;
// 2 SLOW STRONG PULSE&lt;br /&gt;
LIGHT_STYLE(2, &amp;quot;abcdefghijklmnopqrstuvwxyzyxwvutsrqponmlkjihgfedcba&amp;quot;);	&lt;br /&gt;
// 3 CANDLE (first variety)&lt;br /&gt;
LIGHT_STYLE(3, &amp;quot;mmmmmaaaaammmmmaaaaaabcdefgabcdefg&amp;quot;);	&lt;br /&gt;
// 4 FAST STROBE&lt;br /&gt;
LIGHT_STYLE(4, &amp;quot;mamamamamama&amp;quot;);	&lt;br /&gt;
// 5 GENTLE PULSE 1&lt;br /&gt;
LIGHT_STYLE(5,&amp;quot;jklmnopqrstuvwxyzyxwvutsrqponmlkj&amp;quot;);	&lt;br /&gt;
// 6 FLICKER (second variety)&lt;br /&gt;
LIGHT_STYLE(6, &amp;quot;nmonqnmomnmomomno&amp;quot;);	&lt;br /&gt;
// 7 CANDLE (second variety)&lt;br /&gt;
LIGHT_STYLE(7, &amp;quot;mmmaaaabcdefgmmmmaaaammmaamm&amp;quot;);	&lt;br /&gt;
// 8 CANDLE (third variety)&lt;br /&gt;
LIGHT_STYLE(8, &amp;quot;mmmaaammmaaammmabcdefaaaammmmabcdefmmmaaaa&amp;quot;);	&lt;br /&gt;
// 9 SLOW STROBE (fourth variety)&lt;br /&gt;
LIGHT_STYLE(9, &amp;quot;aaaaaaaazzzzzzzz&amp;quot;);	&lt;br /&gt;
// 10 FLUORESCENT FLICKER&lt;br /&gt;
LIGHT_STYLE(10, &amp;quot;mmamammmmammamamaaamammma&amp;quot;);&lt;br /&gt;
// 11 SLOW PULSE NOT FADE TO BLACK&lt;br /&gt;
LIGHT_STYLE(11, &amp;quot;abcdefghijklmnopqrrqponmlkjihgfedcba&amp;quot;);	&lt;br /&gt;
// 12 UNDERWATER LIGHT MUTATION&lt;br /&gt;
// this light only distorts the lightmap - no contribution&lt;br /&gt;
// is made to the brightness of affected surfaces&lt;br /&gt;
LIGHT_STYLE(12, &amp;quot;mmnnmmnnnmmnn&amp;quot;);&lt;br /&gt;
	&lt;br /&gt;
// styles 32-62 are assigned by the light program for switchable lights&lt;br /&gt;
&lt;br /&gt;
// 63 testing&lt;br /&gt;
LIGHT_STYLE(63, &amp;quot;a&amp;quot;);&lt;br /&gt;
&amp;lt;/pawn&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_LIGHTSTYLE}}&lt;br /&gt;
{{hl1msg|byte|index}}&lt;br /&gt;
{{hl1msg|string|lightinfo}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_NEWMOVEVARS =&lt;br /&gt;
Updates client's movevars.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message is sent on client's connect and when any change is detected between the current server movevars and server cvars values. }}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|If there is a change, the value of server cvars are copied into the server movevars, then the message is sent to all players using the server movevars. }}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_NEWMOVEVARS}}&lt;br /&gt;
{{hl1msg|float|Gravity}}&lt;br /&gt;
{{hl1msg|float|StopSpeed}}&lt;br /&gt;
{{hl1msg|float|MaxSpeed}}&lt;br /&gt;
{{hl1msg|float|SpectatorMaxSpeed}}&lt;br /&gt;
{{hl1msg|float|Accelerate}}&lt;br /&gt;
{{hl1msg|float|AirAccelerate}}&lt;br /&gt;
{{hl1msg|float|WaterAccelerate}}&lt;br /&gt;
{{hl1msg|float|Friction}}&lt;br /&gt;
{{hl1msg|float|EdgeFriction}}&lt;br /&gt;
{{hl1msg|float|WaterFriction}}&lt;br /&gt;
{{hl1msg|float|EntGravity}}&lt;br /&gt;
{{hl1msg|float|Bounce}}&lt;br /&gt;
{{hl1msg|float|StepSize}}&lt;br /&gt;
{{hl1msg|float|MaxVelocity}}&lt;br /&gt;
{{hl1msg|float|ZMax}}&lt;br /&gt;
{{hl1msg|float|WaveHeigth}}&lt;br /&gt;
{{hl1msg|byte|Footsteps}}&lt;br /&gt;
{{hl1msg|float|RollAngle}}&lt;br /&gt;
{{hl1msg|float|RollSpeed}}&lt;br /&gt;
{{hl1msg|float|SkyColorRed}}&lt;br /&gt;
{{hl1msg|float|SkyColorGreen}}&lt;br /&gt;
{{hl1msg|float|SkyColorBlue}}&lt;br /&gt;
{{hl1msg|float|SkyVecX}}&lt;br /&gt;
{{hl1msg|float|SkyVecY}}&lt;br /&gt;
{{hl1msg|float|SkyVecZ}}&lt;br /&gt;
{{hl1msg|string|SkyName}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_PARTICLE =&lt;br /&gt;
Shows a particle effect.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Called from pfnParticleEffect. So, the same as EngFunc_ParticleEffect. }}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|The direction has to be a value between -128 to 127, after the scale operation. }}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|You don't need to scaled by 16 if you use the engine call. }}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|Color is an index from the palette attached at right. }}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Palette.png|200px|thumb|right|Standard Quake1 palette]]&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_PARTICLE}}&lt;br /&gt;
{{hl1msg|coord|OriginX}}&lt;br /&gt;
{{hl1msg|coord|OriginY}}&lt;br /&gt;
{{hl1msg|coord|OriginZ}}&lt;br /&gt;
{{hl1msg|char|DirectionX * 16}}&lt;br /&gt;
{{hl1msg|char|DirectionY * 16}}&lt;br /&gt;
{{hl1msg|char|DirectionZ * 16}}&lt;br /&gt;
{{hl1msg|byte|Count}}&lt;br /&gt;
{{hl1msg|byte|Color}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_PINGS =&lt;br /&gt;
Contains ping, loss for several players.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Flag is 1 - rest data contains PlayerID, Ping and Loss at least for 1 player. }}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|Flag is 0 - end of the message, skip remaining bits. }}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice| ... - Flag + PlayerID + Ping + Loss - N times. }}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_PINGS}}&lt;br /&gt;
{{hl1msg|1 bit|Flag 1}}&lt;br /&gt;
{{hl1msg|5 bits|PlayerID}}&lt;br /&gt;
{{hl1msg|12 bits|Ping}}&lt;br /&gt;
{{hl1msg|7 bits|Loss}}&lt;br /&gt;
{{hl1msg|...|...}}&lt;br /&gt;
{{hl1msg|1 bit|Flag 0}}&lt;br /&gt;
{{hl1msg|n bits|Align to byte with zero bits}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_PRINT =&lt;br /&gt;
Sends a message to the client's console. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Called from pfnClientPrintf with print_console or print_notify as type.}}&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_PRINT}}&lt;br /&gt;
{{hl1msg|string|Message}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_RESOURCELOCATION =&lt;br /&gt;
This message sends sv_downloadurl to client.&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_RESOURCELOCATION}}&lt;br /&gt;
{{hl1msg|string|sv_downloadurl}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_ROOMTYPE =&lt;br /&gt;
Sets client room_type cvar to provided value.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pawn&amp;gt;0 = Normal (off)&lt;br /&gt;
1 = Generic&lt;br /&gt;
2 = Metal Small&lt;br /&gt;
3 = Metal Medium&lt;br /&gt;
4 = Metal Large&lt;br /&gt;
5 = Tunnel Small&lt;br /&gt;
6 = Tunnel Medium&lt;br /&gt;
7 = Tunnel Large&lt;br /&gt;
8 = Chamber Small&lt;br /&gt;
9 = Chamber Medium&lt;br /&gt;
10 = Chamber Large&lt;br /&gt;
11 = Bright Small&lt;br /&gt;
12 = Bright Medium&lt;br /&gt;
13 = Bright Large&lt;br /&gt;
14 = Water 1&lt;br /&gt;
15 = Water 2&lt;br /&gt;
16 = Water 3&lt;br /&gt;
17 = Concrete Small&lt;br /&gt;
18 = Concrete Medium&lt;br /&gt;
19 = Concrete Large&lt;br /&gt;
20 = Big 1&lt;br /&gt;
21 = Big 2&lt;br /&gt;
22 = Big 3&lt;br /&gt;
23 = Cavern Small&lt;br /&gt;
24 = Cavern Medium&lt;br /&gt;
25 = Cavern Large&lt;br /&gt;
26 = Weirdo 1&lt;br /&gt;
27 = Weirdo 2&lt;br /&gt;
28 = Weirdo 3&amp;lt;/pawn&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_ROOMTYPE}}&lt;br /&gt;
{{hl1msg|short|Value}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_SETVIEW =&lt;br /&gt;
Attaches a player's view to an entity.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Called from pfnSetView. The same as attach_view() native. }}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_SETVIEW}}&lt;br /&gt;
{{hl1msg|short|EntityIndex}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_STUFFTEXT =&lt;br /&gt;
Executes command on player.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message is sent by client_cmd(index,const command[],any:...) }}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_STUFFTEXT}}&lt;br /&gt;
{{hl1msg|string|Command}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_TIMESCALE =&lt;br /&gt;
{{begin-hl1msg|SVC_TIMESCALE}}&lt;br /&gt;
{{hl1msg|float|TimeScale}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_UPDATEUSERINFO =&lt;br /&gt;
{{begin-hl1msg|SVC_UPDATEUSERINFO}}&lt;br /&gt;
{{hl1msg|byte|clientIndex}}&lt;br /&gt;
{{hl1msg|long|clientUserId}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_VOICEINIT =&lt;br /&gt;
Sends sv_voicecodec and sv_voicequality cvars to client.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Codec name either voice_miles or voice_speex.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|Quality 1 to 5.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_VOICEINIT}}&lt;br /&gt;
{{hl1msg|string|CodecName}}&lt;br /&gt;
{{hl1msg|byte|Quality}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_SENDEXTRAINFO =&lt;br /&gt;
Sends some extra infos.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message is sent at player's connection as params &amp;quot;com_clientfallback&amp;quot; (global var) and sv_cheats value.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|The sv_cheats cvar will be set on the client with the value provided.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|It appears &amp;quot;com_clientfallback&amp;quot; is always null.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|This message seems to be unused.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_SENDEXTRAINFO}}&lt;br /&gt;
{{hl1msg|string|FallbackDir}}&lt;br /&gt;
{{hl1msg|byte|CanCheat}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_SETANGLE =&lt;br /&gt;
Update immediately the client's view angles.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|When pev-&amp;gt;fixangle is set 1, this message is sent with the current player's pev-&amp;gt;v_angle values.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|The provided angles need to be scaled by ( 65536 / 360 ).}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_SETANGLE}}&lt;br /&gt;
{{hl1msg|short|AnglePitch}}&lt;br /&gt;
{{hl1msg|short|AngleYaw}}&lt;br /&gt;
{{hl1msg|short|AngleRoll}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_SETPAUSE =&lt;br /&gt;
Puts client to a pause.&lt;br /&gt;
&lt;br /&gt;
{{qnotice|If server is not paused, commands and packets from client are still sent, that means that client still can shoot/buy/etc...}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|IsPaused: 1 - for pause, 0 - for unpause.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_SETPAUSE}}&lt;br /&gt;
{{hl1msg|byte|IsPaused}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_SPAWNSTATICSOUND =&lt;br /&gt;
Start playback of a sound, loaded into the static portion of the channel array.&amp;lt;br&amp;gt;&lt;br /&gt;
This should be used for looping ambient sounds, looping sounds that should not non-creature sentences, and one-shot ambient streaming sounds.&amp;lt;br&amp;gt; &lt;br /&gt;
It can also play 'regular' sounds one-shot, in case designers want to trigger regular game sounds.&amp;lt;br&amp;gt;&lt;br /&gt;
The sound can be spawned either from a fixed position or from an entity.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|To use it on a fixed position, provide a valid origin and set EntityIndex with 0.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|To use it from an entity, so position is updated, provide a valid EntityIndex and set Origin with a null vector.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|To stop a sound with SVC_STOPSOUND, a valid EntityIndex is needed.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|Volume has to be scaled by 255 and Attenuation by 64.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|Use SND_SENTENCE (1&amp;lt;&amp;lt;4) as flag for sentence sounds. }}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|It can be sent to one player.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_SPAWNSTATICSOUND }}&lt;br /&gt;
{{hl1msg|coord|OriginX}}&lt;br /&gt;
{{hl1msg|coord|OriginY}}&lt;br /&gt;
{{hl1msg|coord|OriginZ}}&lt;br /&gt;
{{hl1msg|short|SoundIndex}}&lt;br /&gt;
{{hl1msg|byte|Volume * 255}}&lt;br /&gt;
{{hl1msg|byte|Attenuation * 64}}&lt;br /&gt;
{{hl1msg|short|EntityIndex}}&lt;br /&gt;
{{hl1msg|byte|Flags}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_STOPSOUND =&lt;br /&gt;
Stops an ambient sound.&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_STOPSOUND}}&lt;br /&gt;
{{hl1msg|short|EntityIndex}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_SOUNDFADE =&lt;br /&gt;
Updates client side sound fade.&amp;lt;br&amp;gt;&lt;br /&gt;
It's used to modulate sound volume on the client.&amp;lt;br&amp;gt;&lt;br /&gt;
Such functionality is part of a main function where the purpose would be to update sound subsystem and cd audio.&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_SOUNDFADE}}&lt;br /&gt;
{{hl1msg|byte|InitialPercent}}&lt;br /&gt;
{{hl1msg|byte|HoldTime}}&lt;br /&gt;
{{hl1msg|byte|FadeInTime}}&lt;br /&gt;
{{hl1msg|byte|FadeOutTime}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_TEMPENTITY =&lt;br /&gt;
Creates a [[Temp_Entity_Events_(Half-Life_1)|temp entity]].&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_TEMPENTITY}}&lt;br /&gt;
{{hl1msg|byte|[[Temp_Entity_Events_(Half-Life_1)|MessageIndex]]}}&lt;br /&gt;
{{hl1msg|...|...}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_VERSION =&lt;br /&gt;
Disconnects the client and sends a message to the console if the number passed doesn't match the current server protocol version.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Message type sent : &amp;quot;CL_Parse_Version: Server is protocol %i instead of %i\n&amp;quot;.}}&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_VERSION}}&lt;br /&gt;
{{hl1msg|long|ProtocolVersion}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SVC_WEAPONANIM =&lt;br /&gt;
Plays a weapon sequence.&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|SVC_WEAPONANIM}}&lt;br /&gt;
{{hl1msg|byte|SequenceNumber}}&lt;br /&gt;
{{hl1msg|byte|WeaponmodelBodygroup}}&lt;br /&gt;
{{end-hl1msg}}&lt;/div&gt;</summary>
		<author><name>ConnorMcLeod</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.alliedmods.net/index.php?title=Optimizing_Plugins_(AMX_Mod_X_Scripting)&amp;diff=8877</id>
		<title>Optimizing Plugins (AMX Mod X Scripting)</title>
		<link rel="alternate" type="text/html" href="https://wiki.alliedmods.net/index.php?title=Optimizing_Plugins_(AMX_Mod_X_Scripting)&amp;diff=8877"/>
		<updated>2013-03-16T19:29:26Z</updated>

		<summary type="html">&lt;p&gt;ConnorMcLeod: /* Don't Re-index Arrays */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{LanguageSwitch}}&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
[[Admin-Mod]] and [[AMX Mod X]] became very popular because of their easy to use scripting language.  However, the words &amp;quot;scripting language&amp;quot; come with a lot of loaded preconceptions.  Most people assume that because it's scripted:&lt;br /&gt;
*You can't possibly make it any faster&lt;br /&gt;
*It's pre-compiled, so it's already quite fast&lt;br /&gt;
*Details don't matter, as it's only &amp;quot;scripting&amp;quot; anyway&lt;br /&gt;
&lt;br /&gt;
Especially, with [[Pawn]] (formerly Small), none of these are true.  The compiler, in fact, is very poor at optimizing, and you can '''greatly''' increase the speed and efficiency of your plugins by keeping a few rules in mind.  Remember - it's more important to minimize instructions than it is to minimize lines of code.&lt;br /&gt;
&lt;br /&gt;
===Terms===&lt;br /&gt;
To read this document, you will need to understand a few concepts beforehand:&lt;br /&gt;
*&amp;lt;tt&amp;gt;BRANCHING&amp;lt;/tt&amp;gt; - When the processor takes a different path of code.  For example, to call a function or to use an if statement, the processor will &amp;quot;branch&amp;quot;.  Modern processors attempt to predict pathways with &amp;quot;branch prediction&amp;quot;, but it's best to avoid branching a lot if possible.&lt;br /&gt;
*&amp;lt;tt&amp;gt;STACK ALLOCATION&amp;lt;/tt&amp;gt; - In Pawn, all local data is stored on the stack, a big chunk of continuous memory.  Whenever you create a variable on the stack, it is automatically written with zeroes.&lt;br /&gt;
*&amp;lt;tt&amp;gt;HEAP ALLOCATION&amp;lt;/tt&amp;gt; - In Pawn, temporary data that needs to be referenced by a native is stored on the heap, another area of contiguous, but less restrictive memory.&lt;br /&gt;
*&amp;lt;tt&amp;gt;DATA SECTION&amp;lt;/tt&amp;gt; - This is an area of memory built into your .amxx file.  In fact, it &amp;quot;becomes&amp;quot; the heap at load time.  All your strings and arrays are hardcoded into this area.&lt;br /&gt;
*&amp;lt;tt&amp;gt;EXPENSIVENESS&amp;lt;/tt&amp;gt; - To be &amp;quot;expensive&amp;quot; in computer science means an operation requires a lot of CPU processing.  It usually does not refer to memory size, only to processing cycles and time.  Addition is inexpensive, floating power operations are expensive.  However, both are inexpensive in comparison to writing a file.  An inexpensive operation can also be called &amp;quot;cheap&amp;quot;.&lt;br /&gt;
*&amp;lt;tt&amp;gt;BIG-OH NOTATION&amp;lt;/tt&amp;gt; - O(*) notation refers to the expensiveness of an algorithm.  If something is O(n), it occurs in linear time -- meaning that for N items, it will complete relative to N.  O(N^2) means with N items, it will complete relative to N^2.  O(1) means &amp;quot;constant time&amp;quot; - no matter what N is, it will run in the same amount of time.&lt;br /&gt;
&lt;br /&gt;
==Compiler Optimizations==&lt;br /&gt;
These optimizations have to do with changing how your code is compiled.  While the syntax may remain the same, you are not only increasing compile time, but increasing your plugin's efficiency and speed at run time.&lt;br /&gt;
&lt;br /&gt;
===Always Save Results===&lt;br /&gt;
Observe the example code snippet below:&lt;br /&gt;
&amp;lt;pawn&amp;gt;if (get_user_team(player) == TEAM_T)&lt;br /&gt;
{&lt;br /&gt;
    //...code&lt;br /&gt;
} else if (get_user_team(player) == TEAM_CT) {&lt;br /&gt;
    //...code&lt;br /&gt;
} else if (get_user_team(player) == TEAM_SPECTATOR) {&lt;br /&gt;
    //...code&lt;br /&gt;
}&amp;lt;/pawn&amp;gt;&lt;br /&gt;
This is a mild example of &amp;quot;cache your results&amp;quot;.  When the compiler generates assembly for this code, it will (in pseudo code) generate:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  CALL get_user_team&lt;br /&gt;
  COMPARE+BRANCH&lt;br /&gt;
  CALL get_user_team&lt;br /&gt;
  COMPARE+BRANCH&lt;br /&gt;
  CALL get_user_team&lt;br /&gt;
  COMPARE+BRANCH&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Notice the problem?  We have called &amp;lt;tt&amp;gt;get_user_team&amp;lt;/tt&amp;gt; an extra two times than necessary.  The result doesn't change, so we can save it.  Observe:&lt;br /&gt;
&amp;lt;pawn&amp;gt;new team = get_user_team(player)&lt;br /&gt;
if (team == TEAM_T)&lt;br /&gt;
{&lt;br /&gt;
    //...code&lt;br /&gt;
} else if (team == TEAM_CT) {&lt;br /&gt;
    //...code&lt;br /&gt;
} else if (team == TEAM_SPECTATOR) {&lt;br /&gt;
    //...code&lt;br /&gt;
}&amp;lt;/pawn&amp;gt;&lt;br /&gt;
Now, the compiler will only generate this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  CALL get_user_team&lt;br /&gt;
  COMPARE+BRANCH&lt;br /&gt;
  COMPARE+BRANCH&lt;br /&gt;
  COMPARE+BRANCH&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
If &amp;lt;tt&amp;gt;get_user_team&amp;lt;/tt&amp;gt; were an expensive operation (it's relatively cheap), we would have recalculated the entire result each branch of the &amp;lt;tt&amp;gt;if&amp;lt;/tt&amp;gt; case.&lt;br /&gt;
&lt;br /&gt;
===Switch instead of If===&lt;br /&gt;
If you can, you should use &amp;lt;tt&amp;gt;switch&amp;lt;/tt&amp;gt; cases instead of &amp;lt;tt&amp;gt;if&amp;lt;/tt&amp;gt;.  This is because for an if statement, the compiler must branch to each consecutive &amp;lt;tt&amp;gt;if&amp;lt;/tt&amp;gt; case.  Using the example from above, observe the switch version:&lt;br /&gt;
&amp;lt;pawn&amp;gt;new team = get_user_team(player)&lt;br /&gt;
switch (team)&lt;br /&gt;
{&lt;br /&gt;
  case TEAM_T:&lt;br /&gt;
     //code...&lt;br /&gt;
  case TEAM_CT:&lt;br /&gt;
     //code...&lt;br /&gt;
  case TEAM_SPECTATOR:&lt;br /&gt;
     //code...&lt;br /&gt;
}&amp;lt;/pawn&amp;gt;&lt;br /&gt;
This will generate what's called a &amp;quot;case table&amp;quot;.  Rather than worm through displaced &amp;lt;tt&amp;gt;if&amp;lt;/tt&amp;gt; tests, the compiler generates a table of possible values, which the virtual machine knows to browse through:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  CALL get_user_team&lt;br /&gt;
  COMPARE&lt;br /&gt;
  COMPARE&lt;br /&gt;
  COMPARE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Don't Re-index Arrays===&lt;br /&gt;
A common practice in Small is to &amp;quot;save space&amp;quot; by re-indexing arrays.  There are a few myths behind this, such as saving memory, assuming the compiler does it for you, or readability.  Fact: none of these are true.  Observe the code below:&lt;br /&gt;
&amp;lt;pawn&amp;gt;new players[32], num, team&lt;br /&gt;
get_players(players, num, &amp;quot;h&amp;quot;)&lt;br /&gt;
for (new i=0; i&amp;lt;num; i++)&lt;br /&gt;
{&lt;br /&gt;
   team = get_user_team(players[i])&lt;br /&gt;
   set_user_frags(players[i], 0)&lt;br /&gt;
}&amp;lt;/pawn&amp;gt;&lt;br /&gt;
For this, the compiler generates code similar to:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
:LOOP_BEGIN&lt;br /&gt;
   LOAD i&lt;br /&gt;
   LOAD players&lt;br /&gt;
   CALC&lt;br /&gt;
   LOAD players[i]&lt;br /&gt;
   CALL get_user_team&lt;br /&gt;
   LOAD i&lt;br /&gt;
   LOAD players&lt;br /&gt;
   CALC&lt;br /&gt;
   LOAD players[i]&lt;br /&gt;
   CALL set_user_frags&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
See what happened?  The compiler does not cache array indexing.  Because we've used &amp;lt;tt&amp;gt;players[i]&amp;lt;/tt&amp;gt; each time, every instance generates 4-6 (or more) instructions which load &amp;lt;tt&amp;gt;i&amp;lt;/tt&amp;gt;, the address of &amp;lt;tt&amp;gt;players&amp;lt;/tt&amp;gt;, computes the final location, and then grabs the data out of memory.  It is much faster to do:&lt;br /&gt;
&amp;lt;pawn&amp;gt;new player&lt;br /&gt;
for (new i=0; i&amp;lt;num; i++)&lt;br /&gt;
{&lt;br /&gt;
   player = players[i]&lt;br /&gt;
   team = get_user_team(player)&lt;br /&gt;
   set_user_frags(player, 0)&lt;br /&gt;
}&amp;lt;/pawn&amp;gt;&lt;br /&gt;
Not only is this more readable, but look at how much cruft we've shaved off the compiler's generated code:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
:LOOP_BEGIN&lt;br /&gt;
   LOAD i&lt;br /&gt;
   LOAD players&lt;br /&gt;
   CALC&lt;br /&gt;
   LOAD players[i]&lt;br /&gt;
   STORE player&lt;br /&gt;
   CALL get_user_team&lt;br /&gt;
   LOAD player&lt;br /&gt;
   CALL set_user_frags&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
In a large loop you can drastically reduce codesize in this manner.&lt;br /&gt;
&lt;br /&gt;
===Global vs Local and Variables in Loops===&lt;br /&gt;
It is important to realize that every variable in [[Pawn]] is automatically zeroed.  For global variables, they are static and permanent, thus they are zeroed when your plugin is loaded.  Variables in functions, however, must be zeroed dynamically.  This is a slow and tedious operation, and you should not only avoid relying on it when necessary, but you should keep that fact in mind when using arrays.&lt;br /&gt;
&lt;br /&gt;
[[Arrays]] in [[Pawn]] are &amp;quot;cells&amp;quot; of data.  Each cell is four or eight bytes, depending on whether your processor is 32bit or 64bit.  To create an array of 4096 cells, for example:&lt;br /&gt;
&amp;lt;pawn&amp;gt;new array[4096]&amp;lt;/pawn&amp;gt;&lt;br /&gt;
The compiler generates code to manually zero every single one of the 16,384 bytes in that location.  Normally, this isn't too bad -- but it can be absolutely deadly in a function which is called quite often.  For example, &amp;lt;tt&amp;gt;server_frame&amp;lt;/tt&amp;gt; is called on every [[server tick]] in [[AMX Mod X]].  To declare an array of that size in &amp;lt;tt&amp;gt;server_frame&amp;lt;/tt&amp;gt; is highly unnecessary.  Instead, you can take advantage of the fact that not only are globals free of charge, but &amp;lt;tt&amp;gt;server_frame&amp;lt;/tt&amp;gt; does not need to be re-entrant.  That is, you will never call &amp;lt;tt&amp;gt;server_frame&amp;lt;/tt&amp;gt; inside of &amp;lt;tt&amp;gt;server_frame&amp;lt;/tt&amp;gt;, so making the variable global will not bring up the problem of one instance of the function overwriting data from another instance of the same function.  Observe:&lt;br /&gt;
&amp;lt;pawn&amp;gt;new g_serverframe_array[4096]&lt;br /&gt;
public server_frame()&lt;br /&gt;
{&lt;br /&gt;
  //...code that uses g_serverframe_array&lt;br /&gt;
}&amp;lt;/pawn&amp;gt;&lt;br /&gt;
This will execute conseridably faster.  You can do this with smaller arrays too.&lt;br /&gt;
&lt;br /&gt;
Likewise, it is equally important to avoid declaring arrays inside of loops.  Consider the following block of code:&lt;br /&gt;
&amp;lt;pawn&amp;gt;for (new i=0; i&amp;lt;num; i++)&lt;br /&gt;
{&lt;br /&gt;
   new message[255], name[32], player&lt;br /&gt;
   player = players[i]&lt;br /&gt;
   get_user_name(player, name, 31)&lt;br /&gt;
   format(message, 254, &amp;quot;Hello, %s&amp;quot;, name)&lt;br /&gt;
}&amp;lt;/pawn&amp;gt;&lt;br /&gt;
If there are 32 players, this loop will actually resize and zero out over 1K of memory thirty two times in a row.  Not good!  However, on the other hand, it's nice that the message is zeroed out for us each time.  &amp;lt;tt&amp;gt;Tip:&amp;lt;/tt&amp;gt; you often only need to zero out the first character of a string.  This will make the entire string empty.  The code below is much more efficient:&lt;br /&gt;
&amp;lt;pawn&amp;gt;new message[255], name[32], player&lt;br /&gt;
for (new i=0; i&amp;lt;num; i++)&lt;br /&gt;
{&lt;br /&gt;
   player = players[i]&lt;br /&gt;
   name[0] = '^0'&lt;br /&gt;
   message[0] = '^0'&lt;br /&gt;
   get_user_name(player, name, 31)&lt;br /&gt;
   format(message, 254, &amp;quot;Hello, %s&amp;quot;, name)&lt;br /&gt;
}&amp;lt;/pawn&amp;gt;&lt;br /&gt;
This has the effect of safely making the string empty beforehand, as well as largely reducing a lot of run-time overhead.&lt;br /&gt;
&lt;br /&gt;
===Static vs Global===&lt;br /&gt;
An alternative to global variables is static variables, which are internally the same but easier to work with for programming.&lt;br /&gt;
&lt;br /&gt;
A variable declared with the keyword &amp;quot;static&amp;quot; instead of &amp;quot;new&amp;quot; operates in the same way a global does (it is created only once) but the variable is local to the function; this means the code is much easier to read, while drastically improving speed just like a global variable.  Example:&lt;br /&gt;
&amp;lt;pawn&amp;gt;stock SomeBigFunction()&lt;br /&gt;
{&lt;br /&gt;
   static gaben[255];&lt;br /&gt;
   format(gaben, &amp;quot;%L&amp;quot;, LANG_SERVER, &amp;quot;STUFF&amp;quot;);&lt;br /&gt;
}&amp;lt;/pawn&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This has the same effect as declaring &amp;lt;tt&amp;gt;gaben&amp;lt;/tt&amp;gt; as global, except only &amp;lt;tt&amp;gt;SomeBigFunction&amp;lt;/tt&amp;gt; can use it.  &lt;br /&gt;
&lt;br /&gt;
{{qnotice|Be careful of re-entrancy!}}&lt;br /&gt;
When a variable is static, it has the same re-entrancy problems of a global variable.  That means, if your function might be called recursively, or twice in the same stack frame, you should not use static variables.  This is most often the case for API provided to other plugins or helper functions.  Triggered events are usually never called twice on the same execution chain.&lt;br /&gt;
&lt;br /&gt;
===Constant variables===&lt;br /&gt;
You can declare a variable &amp;quot;constant&amp;quot; by adding the &amp;quot;const&amp;quot; keyword before the variable name:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pawn&amp;gt;new const AMX_GABEN[] = &amp;quot;amx_gaben&amp;quot;&amp;lt;/pawn&amp;gt;&lt;br /&gt;
&lt;br /&gt;
What this does is prevents the variable from being changed; essentially, you've locked the variable to a certain value. In this way, a constant can offer a type safe method of simplifying code, unlike a define, which is not type safe.&lt;br /&gt;
&lt;br /&gt;
In addition, constant variables are often optimized out, resulting in quicker and smaller code.&lt;br /&gt;
&lt;br /&gt;
===For Loop Comparisons===&lt;br /&gt;
A common mistake is to write code like this:&lt;br /&gt;
&amp;lt;pawn&amp;gt;new string[256] = &amp;quot;something long&amp;quot;&lt;br /&gt;
for (new i=0; i&amp;lt;strlen(string); i++)&lt;br /&gt;
   //...code&amp;lt;/pawn&amp;gt;&lt;br /&gt;
This plays off a similar principle from before: cache results.  The compiler will actually recompute your string length on each iteration of the loop.  This will have even worse effects if your string changes mid-loop.  A more sensible method is:&lt;br /&gt;
&amp;lt;pawn&amp;gt;new string[256] = &amp;quot;something long&amp;quot;&lt;br /&gt;
new len = strlen(string)&lt;br /&gt;
for (new i=0; i&amp;lt;len; i++)&lt;br /&gt;
   //...code&amp;lt;/pawn&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Tips and Tricks==&lt;br /&gt;
===Lookup Tables===&lt;br /&gt;
Precompute what can be precomputed.  For example, say you have a mapping of weapon indices to names:&lt;br /&gt;
&amp;lt;pawn&amp;gt;if (weapon == CSW_AK47)&lt;br /&gt;
   copy(name, len, &amp;quot;weapon_ak47&amp;quot;)&amp;lt;/pawn&amp;gt;&lt;br /&gt;
Ignoring the fact that we have &amp;lt;tt&amp;gt;get_weapon_name&amp;lt;/tt&amp;gt; in [[AMX Mod X]], this is inefficient.  We could precompute this result in a table:&lt;br /&gt;
&amp;lt;pawn&amp;gt;new g_WeaponNamesTable[TOTAL_WEAPONS][] = {&lt;br /&gt;
   //..0 to CSW_AK47-1&lt;br /&gt;
   &amp;quot;weapon_ak47&amp;quot;,&lt;br /&gt;
   //..CSW_AK47+1 to TOTAL_WEAPONS-1&lt;br /&gt;
};&amp;lt;/pawn&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Perfect Hashing===&lt;br /&gt;
:TODO: explain this&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Local Strings===&lt;br /&gt;
The [[Pawn]] compiler does not optimize the DATA section, which stores all hardcoded strings and global arrays.  If you reference the same hardcoded string 500 times in your plugin, it will appear 500 different times.  If this seems bad enough, it actually does this with all strings.  For example, the empty string (&amp;quot;&amp;quot;) appears everywhere in the include files, usually used as a default parameter to many natives.  This too is copied into the data section for each unique reference.  &lt;br /&gt;
&lt;br /&gt;
For example:&lt;br /&gt;
&amp;lt;pawn&amp;gt;set_cvar_num(&amp;quot;amx_gaben&amp;quot;, get_cvar_num(&amp;quot;amx_gaben&amp;quot;) + 1)&amp;lt;/pawn&amp;gt;&lt;br /&gt;
This will create two copies of &amp;quot;amx_gaben&amp;quot; in the DATA section.  While this doesn't really hurt, it does increase the size of your plugin.  &lt;br /&gt;
&lt;br /&gt;
Similarly, this has the same problem:&lt;br /&gt;
&amp;lt;pawn&amp;gt;#define AMX_GABEN &amp;quot;amx_gaben&amp;quot;&lt;br /&gt;
set_cvar_num(AMX_GABEN, get_cvar_num(AMX_GABEN) + 1)&amp;lt;/pawn&amp;gt;&lt;br /&gt;
The only way to avoid this mess is to use global variables.  As stated earlier, they're basically free storage.&lt;br /&gt;
&amp;lt;pawn&amp;gt;new AMX_GABEN[] = &amp;quot;amx_gaben&amp;quot;&lt;br /&gt;
set_cvar_num(AMX_GABEN, get_cvar_num(AMX_GABEN) + 1)&amp;lt;/pawn&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Again, while not necessary, this will reduce your plugin's size in memory and on disk.  If you're already using defines, you can make this switch easily.&lt;br /&gt;
&lt;br /&gt;
In order to prevent this from changing, you may want to declare it constant:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pawn&amp;gt;new const AMX_GABEN[] = &amp;quot;amx_gaben&amp;quot;&lt;br /&gt;
set_cvar_num(AMX_GABEN, get_cvar_num(AMX_GABEN) + 1)&amp;lt;/pawn&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now it is a perfectly safe method of storage.&lt;br /&gt;
&lt;br /&gt;
==Faster Natives==&lt;br /&gt;
AMX Mod X replaces many of the old AMX Mod natives with faster versions.  Read below to discover them.&lt;br /&gt;
&lt;br /&gt;
===Cvar Pointers===&lt;br /&gt;
As of AMX Mod X 1.70, you can cache &amp;quot;cvar pointers&amp;quot;.  These are direct accesses to cvars, rather than named access.  This is a critical optimization which is dozens of times faster.  For example:&lt;br /&gt;
&amp;lt;pawn&amp;gt;new g_enabled = register_cvar(&amp;quot;csdm_enabled&amp;quot;, &amp;quot;1&amp;quot;)&lt;br /&gt;
//OR&lt;br /&gt;
new g_enabled = get_cvar_pointer(&amp;quot;csdm_enabled&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
stock SetCSDM(num)&lt;br /&gt;
   set_pcvar_num(g_enabled, num)&lt;br /&gt;
&lt;br /&gt;
stock GetCSDM()&lt;br /&gt;
   return get_pcvar_num(g_enabled)&lt;br /&gt;
&amp;lt;/pawn&amp;gt;&lt;br /&gt;
All of the cvar* functions (except for set_cvar_string) are mapped to [get|set]_pcvar_*.  You can get a cached cvar pointer with get_cvar_pointer() or register_cvar().&lt;br /&gt;
&lt;br /&gt;
===FormatEX===&lt;br /&gt;
As of AMX Mod X 1.70, there is an ultra high-speed version of format() called formatex().  It skips copy-back checking, unlike format().  formatex() cannot be used if a source input is the same as the output buffer.  For example, these are invalid:&lt;br /&gt;
&amp;lt;pawn&amp;gt;new buffer[255]&lt;br /&gt;
formatex(buffer, 254, &amp;quot;%s&amp;quot;, buffer);&lt;br /&gt;
formatex(buffer, 254, buffer);&lt;br /&gt;
formatex(buffer, 254, &amp;quot;%d %s&amp;quot;, buffer[2]);&amp;lt;/pawn&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It should be noted that format() will behave the same as formatex() if it detects that there will be no copy-back needed.  However, formatex() does not check this, and thus is slightly faster for situations where the coder is sure of its usage.&lt;br /&gt;
&lt;br /&gt;
===File Writing===&lt;br /&gt;
As of AMX Mod X 1.70, there are new natives for file writing.  Read_file and write_file are O(n^2) functions for consecutive read/writes.  fopen(), fgets(), fputs(), and fclose() are O(n) (or better) depending on how you use them.&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting (AMX Mod X)]]&lt;/div&gt;</summary>
		<author><name>ConnorMcLeod</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.alliedmods.net/index.php?title=Optimizing_Plugins_(AMX_Mod_X_Scripting)&amp;diff=8876</id>
		<title>Optimizing Plugins (AMX Mod X Scripting)</title>
		<link rel="alternate" type="text/html" href="https://wiki.alliedmods.net/index.php?title=Optimizing_Plugins_(AMX_Mod_X_Scripting)&amp;diff=8876"/>
		<updated>2013-03-16T19:28:21Z</updated>

		<summary type="html">&lt;p&gt;ConnorMcLeod: /* Don't Re-index Arrays */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{LanguageSwitch}}&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
[[Admin-Mod]] and [[AMX Mod X]] became very popular because of their easy to use scripting language.  However, the words &amp;quot;scripting language&amp;quot; come with a lot of loaded preconceptions.  Most people assume that because it's scripted:&lt;br /&gt;
*You can't possibly make it any faster&lt;br /&gt;
*It's pre-compiled, so it's already quite fast&lt;br /&gt;
*Details don't matter, as it's only &amp;quot;scripting&amp;quot; anyway&lt;br /&gt;
&lt;br /&gt;
Especially, with [[Pawn]] (formerly Small), none of these are true.  The compiler, in fact, is very poor at optimizing, and you can '''greatly''' increase the speed and efficiency of your plugins by keeping a few rules in mind.  Remember - it's more important to minimize instructions than it is to minimize lines of code.&lt;br /&gt;
&lt;br /&gt;
===Terms===&lt;br /&gt;
To read this document, you will need to understand a few concepts beforehand:&lt;br /&gt;
*&amp;lt;tt&amp;gt;BRANCHING&amp;lt;/tt&amp;gt; - When the processor takes a different path of code.  For example, to call a function or to use an if statement, the processor will &amp;quot;branch&amp;quot;.  Modern processors attempt to predict pathways with &amp;quot;branch prediction&amp;quot;, but it's best to avoid branching a lot if possible.&lt;br /&gt;
*&amp;lt;tt&amp;gt;STACK ALLOCATION&amp;lt;/tt&amp;gt; - In Pawn, all local data is stored on the stack, a big chunk of continuous memory.  Whenever you create a variable on the stack, it is automatically written with zeroes.&lt;br /&gt;
*&amp;lt;tt&amp;gt;HEAP ALLOCATION&amp;lt;/tt&amp;gt; - In Pawn, temporary data that needs to be referenced by a native is stored on the heap, another area of contiguous, but less restrictive memory.&lt;br /&gt;
*&amp;lt;tt&amp;gt;DATA SECTION&amp;lt;/tt&amp;gt; - This is an area of memory built into your .amxx file.  In fact, it &amp;quot;becomes&amp;quot; the heap at load time.  All your strings and arrays are hardcoded into this area.&lt;br /&gt;
*&amp;lt;tt&amp;gt;EXPENSIVENESS&amp;lt;/tt&amp;gt; - To be &amp;quot;expensive&amp;quot; in computer science means an operation requires a lot of CPU processing.  It usually does not refer to memory size, only to processing cycles and time.  Addition is inexpensive, floating power operations are expensive.  However, both are inexpensive in comparison to writing a file.  An inexpensive operation can also be called &amp;quot;cheap&amp;quot;.&lt;br /&gt;
*&amp;lt;tt&amp;gt;BIG-OH NOTATION&amp;lt;/tt&amp;gt; - O(*) notation refers to the expensiveness of an algorithm.  If something is O(n), it occurs in linear time -- meaning that for N items, it will complete relative to N.  O(N^2) means with N items, it will complete relative to N^2.  O(1) means &amp;quot;constant time&amp;quot; - no matter what N is, it will run in the same amount of time.&lt;br /&gt;
&lt;br /&gt;
==Compiler Optimizations==&lt;br /&gt;
These optimizations have to do with changing how your code is compiled.  While the syntax may remain the same, you are not only increasing compile time, but increasing your plugin's efficiency and speed at run time.&lt;br /&gt;
&lt;br /&gt;
===Always Save Results===&lt;br /&gt;
Observe the example code snippet below:&lt;br /&gt;
&amp;lt;pawn&amp;gt;if (get_user_team(player) == TEAM_T)&lt;br /&gt;
{&lt;br /&gt;
    //...code&lt;br /&gt;
} else if (get_user_team(player) == TEAM_CT) {&lt;br /&gt;
    //...code&lt;br /&gt;
} else if (get_user_team(player) == TEAM_SPECTATOR) {&lt;br /&gt;
    //...code&lt;br /&gt;
}&amp;lt;/pawn&amp;gt;&lt;br /&gt;
This is a mild example of &amp;quot;cache your results&amp;quot;.  When the compiler generates assembly for this code, it will (in pseudo code) generate:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  CALL get_user_team&lt;br /&gt;
  COMPARE+BRANCH&lt;br /&gt;
  CALL get_user_team&lt;br /&gt;
  COMPARE+BRANCH&lt;br /&gt;
  CALL get_user_team&lt;br /&gt;
  COMPARE+BRANCH&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Notice the problem?  We have called &amp;lt;tt&amp;gt;get_user_team&amp;lt;/tt&amp;gt; an extra two times than necessary.  The result doesn't change, so we can save it.  Observe:&lt;br /&gt;
&amp;lt;pawn&amp;gt;new team = get_user_team(player)&lt;br /&gt;
if (team == TEAM_T)&lt;br /&gt;
{&lt;br /&gt;
    //...code&lt;br /&gt;
} else if (team == TEAM_CT) {&lt;br /&gt;
    //...code&lt;br /&gt;
} else if (team == TEAM_SPECTATOR) {&lt;br /&gt;
    //...code&lt;br /&gt;
}&amp;lt;/pawn&amp;gt;&lt;br /&gt;
Now, the compiler will only generate this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  CALL get_user_team&lt;br /&gt;
  COMPARE+BRANCH&lt;br /&gt;
  COMPARE+BRANCH&lt;br /&gt;
  COMPARE+BRANCH&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
If &amp;lt;tt&amp;gt;get_user_team&amp;lt;/tt&amp;gt; were an expensive operation (it's relatively cheap), we would have recalculated the entire result each branch of the &amp;lt;tt&amp;gt;if&amp;lt;/tt&amp;gt; case.&lt;br /&gt;
&lt;br /&gt;
===Switch instead of If===&lt;br /&gt;
If you can, you should use &amp;lt;tt&amp;gt;switch&amp;lt;/tt&amp;gt; cases instead of &amp;lt;tt&amp;gt;if&amp;lt;/tt&amp;gt;.  This is because for an if statement, the compiler must branch to each consecutive &amp;lt;tt&amp;gt;if&amp;lt;/tt&amp;gt; case.  Using the example from above, observe the switch version:&lt;br /&gt;
&amp;lt;pawn&amp;gt;new team = get_user_team(player)&lt;br /&gt;
switch (team)&lt;br /&gt;
{&lt;br /&gt;
  case TEAM_T:&lt;br /&gt;
     //code...&lt;br /&gt;
  case TEAM_CT:&lt;br /&gt;
     //code...&lt;br /&gt;
  case TEAM_SPECTATOR:&lt;br /&gt;
     //code...&lt;br /&gt;
}&amp;lt;/pawn&amp;gt;&lt;br /&gt;
This will generate what's called a &amp;quot;case table&amp;quot;.  Rather than worm through displaced &amp;lt;tt&amp;gt;if&amp;lt;/tt&amp;gt; tests, the compiler generates a table of possible values, which the virtual machine knows to browse through:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  CALL get_user_team&lt;br /&gt;
  COMPARE&lt;br /&gt;
  COMPARE&lt;br /&gt;
  COMPARE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Don't Re-index Arrays===&lt;br /&gt;
A common practice in Small is to &amp;quot;save space&amp;quot; by re-indexing arrays.  There are a few myths behind this, such as saving memory, assuming the compiler does it for you, or readability.  Fact: none of these are true.  Observe the code below:&lt;br /&gt;
&amp;lt;pawn&amp;gt;new players[32], num, team&lt;br /&gt;
get_players(players, num, &amp;quot;h&amp;quot;)&lt;br /&gt;
for (new i=0; i&amp;lt;num; i++)&lt;br /&gt;
{&lt;br /&gt;
   team = get_user_team(players[i])&lt;br /&gt;
   set_user_frags(players[i], 0)&lt;br /&gt;
}&amp;lt;/pawn&amp;gt;&lt;br /&gt;
For this, the compiler generates code similar to:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
:LOOP_BEGIN&lt;br /&gt;
   LOAD i&lt;br /&gt;
   LOAD players&lt;br /&gt;
   CALC&lt;br /&gt;
   LOAD players[i]&lt;br /&gt;
   CALL get_user_team&lt;br /&gt;
   LOAD i&lt;br /&gt;
   LOAD players&lt;br /&gt;
   CALC&lt;br /&gt;
   LOAD players[i]&lt;br /&gt;
   CALL set_user_frags&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
See what happened?  The compiler does not cache array indexing.  Because we've used &amp;lt;tt&amp;gt;players[i]&amp;lt;/tt&amp;gt; each time, every instance generates 4-6 (or more) instructions which load &amp;lt;tt&amp;gt;i&amp;lt;/tt&amp;gt;, the address of &amp;lt;tt&amp;gt;players&amp;lt;/tt&amp;gt;, computes the final location, and then grabs the data out of memory.  It is much faster to do:&lt;br /&gt;
&amp;lt;pawn&amp;gt;new player&lt;br /&gt;
for (new i=0; i&amp;lt;num; i++)&lt;br /&gt;
{&lt;br /&gt;
   player = players[i]&lt;br /&gt;
   if (!is_user_connected(player))&lt;br /&gt;
      continue;&lt;br /&gt;
   team = get_user_team(player)&lt;br /&gt;
}&amp;lt;/pawn&amp;gt;&lt;br /&gt;
Not only is this more readable, but look at how much cruft we've shaved off the compiler's generated code:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
:LOOP_BEGIN&lt;br /&gt;
   LOAD i&lt;br /&gt;
   LOAD players&lt;br /&gt;
   CALC&lt;br /&gt;
   LOAD players[i]&lt;br /&gt;
   STORE player&lt;br /&gt;
   CALL is_user_connected&lt;br /&gt;
   LOAD player&lt;br /&gt;
   CALL get_user_team&lt;br /&gt;
   LOAD player&lt;br /&gt;
   CALL set_user_frags&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
In a large loop you can drastically reduce codesize in this manner.&lt;br /&gt;
&lt;br /&gt;
===Global vs Local and Variables in Loops===&lt;br /&gt;
It is important to realize that every variable in [[Pawn]] is automatically zeroed.  For global variables, they are static and permanent, thus they are zeroed when your plugin is loaded.  Variables in functions, however, must be zeroed dynamically.  This is a slow and tedious operation, and you should not only avoid relying on it when necessary, but you should keep that fact in mind when using arrays.&lt;br /&gt;
&lt;br /&gt;
[[Arrays]] in [[Pawn]] are &amp;quot;cells&amp;quot; of data.  Each cell is four or eight bytes, depending on whether your processor is 32bit or 64bit.  To create an array of 4096 cells, for example:&lt;br /&gt;
&amp;lt;pawn&amp;gt;new array[4096]&amp;lt;/pawn&amp;gt;&lt;br /&gt;
The compiler generates code to manually zero every single one of the 16,384 bytes in that location.  Normally, this isn't too bad -- but it can be absolutely deadly in a function which is called quite often.  For example, &amp;lt;tt&amp;gt;server_frame&amp;lt;/tt&amp;gt; is called on every [[server tick]] in [[AMX Mod X]].  To declare an array of that size in &amp;lt;tt&amp;gt;server_frame&amp;lt;/tt&amp;gt; is highly unnecessary.  Instead, you can take advantage of the fact that not only are globals free of charge, but &amp;lt;tt&amp;gt;server_frame&amp;lt;/tt&amp;gt; does not need to be re-entrant.  That is, you will never call &amp;lt;tt&amp;gt;server_frame&amp;lt;/tt&amp;gt; inside of &amp;lt;tt&amp;gt;server_frame&amp;lt;/tt&amp;gt;, so making the variable global will not bring up the problem of one instance of the function overwriting data from another instance of the same function.  Observe:&lt;br /&gt;
&amp;lt;pawn&amp;gt;new g_serverframe_array[4096]&lt;br /&gt;
public server_frame()&lt;br /&gt;
{&lt;br /&gt;
  //...code that uses g_serverframe_array&lt;br /&gt;
}&amp;lt;/pawn&amp;gt;&lt;br /&gt;
This will execute conseridably faster.  You can do this with smaller arrays too.&lt;br /&gt;
&lt;br /&gt;
Likewise, it is equally important to avoid declaring arrays inside of loops.  Consider the following block of code:&lt;br /&gt;
&amp;lt;pawn&amp;gt;for (new i=0; i&amp;lt;num; i++)&lt;br /&gt;
{&lt;br /&gt;
   new message[255], name[32], player&lt;br /&gt;
   player = players[i]&lt;br /&gt;
   get_user_name(player, name, 31)&lt;br /&gt;
   format(message, 254, &amp;quot;Hello, %s&amp;quot;, name)&lt;br /&gt;
}&amp;lt;/pawn&amp;gt;&lt;br /&gt;
If there are 32 players, this loop will actually resize and zero out over 1K of memory thirty two times in a row.  Not good!  However, on the other hand, it's nice that the message is zeroed out for us each time.  &amp;lt;tt&amp;gt;Tip:&amp;lt;/tt&amp;gt; you often only need to zero out the first character of a string.  This will make the entire string empty.  The code below is much more efficient:&lt;br /&gt;
&amp;lt;pawn&amp;gt;new message[255], name[32], player&lt;br /&gt;
for (new i=0; i&amp;lt;num; i++)&lt;br /&gt;
{&lt;br /&gt;
   player = players[i]&lt;br /&gt;
   name[0] = '^0'&lt;br /&gt;
   message[0] = '^0'&lt;br /&gt;
   get_user_name(player, name, 31)&lt;br /&gt;
   format(message, 254, &amp;quot;Hello, %s&amp;quot;, name)&lt;br /&gt;
}&amp;lt;/pawn&amp;gt;&lt;br /&gt;
This has the effect of safely making the string empty beforehand, as well as largely reducing a lot of run-time overhead.&lt;br /&gt;
&lt;br /&gt;
===Static vs Global===&lt;br /&gt;
An alternative to global variables is static variables, which are internally the same but easier to work with for programming.&lt;br /&gt;
&lt;br /&gt;
A variable declared with the keyword &amp;quot;static&amp;quot; instead of &amp;quot;new&amp;quot; operates in the same way a global does (it is created only once) but the variable is local to the function; this means the code is much easier to read, while drastically improving speed just like a global variable.  Example:&lt;br /&gt;
&amp;lt;pawn&amp;gt;stock SomeBigFunction()&lt;br /&gt;
{&lt;br /&gt;
   static gaben[255];&lt;br /&gt;
   format(gaben, &amp;quot;%L&amp;quot;, LANG_SERVER, &amp;quot;STUFF&amp;quot;);&lt;br /&gt;
}&amp;lt;/pawn&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This has the same effect as declaring &amp;lt;tt&amp;gt;gaben&amp;lt;/tt&amp;gt; as global, except only &amp;lt;tt&amp;gt;SomeBigFunction&amp;lt;/tt&amp;gt; can use it.  &lt;br /&gt;
&lt;br /&gt;
{{qnotice|Be careful of re-entrancy!}}&lt;br /&gt;
When a variable is static, it has the same re-entrancy problems of a global variable.  That means, if your function might be called recursively, or twice in the same stack frame, you should not use static variables.  This is most often the case for API provided to other plugins or helper functions.  Triggered events are usually never called twice on the same execution chain.&lt;br /&gt;
&lt;br /&gt;
===Constant variables===&lt;br /&gt;
You can declare a variable &amp;quot;constant&amp;quot; by adding the &amp;quot;const&amp;quot; keyword before the variable name:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pawn&amp;gt;new const AMX_GABEN[] = &amp;quot;amx_gaben&amp;quot;&amp;lt;/pawn&amp;gt;&lt;br /&gt;
&lt;br /&gt;
What this does is prevents the variable from being changed; essentially, you've locked the variable to a certain value. In this way, a constant can offer a type safe method of simplifying code, unlike a define, which is not type safe.&lt;br /&gt;
&lt;br /&gt;
In addition, constant variables are often optimized out, resulting in quicker and smaller code.&lt;br /&gt;
&lt;br /&gt;
===For Loop Comparisons===&lt;br /&gt;
A common mistake is to write code like this:&lt;br /&gt;
&amp;lt;pawn&amp;gt;new string[256] = &amp;quot;something long&amp;quot;&lt;br /&gt;
for (new i=0; i&amp;lt;strlen(string); i++)&lt;br /&gt;
   //...code&amp;lt;/pawn&amp;gt;&lt;br /&gt;
This plays off a similar principle from before: cache results.  The compiler will actually recompute your string length on each iteration of the loop.  This will have even worse effects if your string changes mid-loop.  A more sensible method is:&lt;br /&gt;
&amp;lt;pawn&amp;gt;new string[256] = &amp;quot;something long&amp;quot;&lt;br /&gt;
new len = strlen(string)&lt;br /&gt;
for (new i=0; i&amp;lt;len; i++)&lt;br /&gt;
   //...code&amp;lt;/pawn&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Tips and Tricks==&lt;br /&gt;
===Lookup Tables===&lt;br /&gt;
Precompute what can be precomputed.  For example, say you have a mapping of weapon indices to names:&lt;br /&gt;
&amp;lt;pawn&amp;gt;if (weapon == CSW_AK47)&lt;br /&gt;
   copy(name, len, &amp;quot;weapon_ak47&amp;quot;)&amp;lt;/pawn&amp;gt;&lt;br /&gt;
Ignoring the fact that we have &amp;lt;tt&amp;gt;get_weapon_name&amp;lt;/tt&amp;gt; in [[AMX Mod X]], this is inefficient.  We could precompute this result in a table:&lt;br /&gt;
&amp;lt;pawn&amp;gt;new g_WeaponNamesTable[TOTAL_WEAPONS][] = {&lt;br /&gt;
   //..0 to CSW_AK47-1&lt;br /&gt;
   &amp;quot;weapon_ak47&amp;quot;,&lt;br /&gt;
   //..CSW_AK47+1 to TOTAL_WEAPONS-1&lt;br /&gt;
};&amp;lt;/pawn&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Perfect Hashing===&lt;br /&gt;
:TODO: explain this&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Local Strings===&lt;br /&gt;
The [[Pawn]] compiler does not optimize the DATA section, which stores all hardcoded strings and global arrays.  If you reference the same hardcoded string 500 times in your plugin, it will appear 500 different times.  If this seems bad enough, it actually does this with all strings.  For example, the empty string (&amp;quot;&amp;quot;) appears everywhere in the include files, usually used as a default parameter to many natives.  This too is copied into the data section for each unique reference.  &lt;br /&gt;
&lt;br /&gt;
For example:&lt;br /&gt;
&amp;lt;pawn&amp;gt;set_cvar_num(&amp;quot;amx_gaben&amp;quot;, get_cvar_num(&amp;quot;amx_gaben&amp;quot;) + 1)&amp;lt;/pawn&amp;gt;&lt;br /&gt;
This will create two copies of &amp;quot;amx_gaben&amp;quot; in the DATA section.  While this doesn't really hurt, it does increase the size of your plugin.  &lt;br /&gt;
&lt;br /&gt;
Similarly, this has the same problem:&lt;br /&gt;
&amp;lt;pawn&amp;gt;#define AMX_GABEN &amp;quot;amx_gaben&amp;quot;&lt;br /&gt;
set_cvar_num(AMX_GABEN, get_cvar_num(AMX_GABEN) + 1)&amp;lt;/pawn&amp;gt;&lt;br /&gt;
The only way to avoid this mess is to use global variables.  As stated earlier, they're basically free storage.&lt;br /&gt;
&amp;lt;pawn&amp;gt;new AMX_GABEN[] = &amp;quot;amx_gaben&amp;quot;&lt;br /&gt;
set_cvar_num(AMX_GABEN, get_cvar_num(AMX_GABEN) + 1)&amp;lt;/pawn&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Again, while not necessary, this will reduce your plugin's size in memory and on disk.  If you're already using defines, you can make this switch easily.&lt;br /&gt;
&lt;br /&gt;
In order to prevent this from changing, you may want to declare it constant:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pawn&amp;gt;new const AMX_GABEN[] = &amp;quot;amx_gaben&amp;quot;&lt;br /&gt;
set_cvar_num(AMX_GABEN, get_cvar_num(AMX_GABEN) + 1)&amp;lt;/pawn&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now it is a perfectly safe method of storage.&lt;br /&gt;
&lt;br /&gt;
==Faster Natives==&lt;br /&gt;
AMX Mod X replaces many of the old AMX Mod natives with faster versions.  Read below to discover them.&lt;br /&gt;
&lt;br /&gt;
===Cvar Pointers===&lt;br /&gt;
As of AMX Mod X 1.70, you can cache &amp;quot;cvar pointers&amp;quot;.  These are direct accesses to cvars, rather than named access.  This is a critical optimization which is dozens of times faster.  For example:&lt;br /&gt;
&amp;lt;pawn&amp;gt;new g_enabled = register_cvar(&amp;quot;csdm_enabled&amp;quot;, &amp;quot;1&amp;quot;)&lt;br /&gt;
//OR&lt;br /&gt;
new g_enabled = get_cvar_pointer(&amp;quot;csdm_enabled&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
stock SetCSDM(num)&lt;br /&gt;
   set_pcvar_num(g_enabled, num)&lt;br /&gt;
&lt;br /&gt;
stock GetCSDM()&lt;br /&gt;
   return get_pcvar_num(g_enabled)&lt;br /&gt;
&amp;lt;/pawn&amp;gt;&lt;br /&gt;
All of the cvar* functions (except for set_cvar_string) are mapped to [get|set]_pcvar_*.  You can get a cached cvar pointer with get_cvar_pointer() or register_cvar().&lt;br /&gt;
&lt;br /&gt;
===FormatEX===&lt;br /&gt;
As of AMX Mod X 1.70, there is an ultra high-speed version of format() called formatex().  It skips copy-back checking, unlike format().  formatex() cannot be used if a source input is the same as the output buffer.  For example, these are invalid:&lt;br /&gt;
&amp;lt;pawn&amp;gt;new buffer[255]&lt;br /&gt;
formatex(buffer, 254, &amp;quot;%s&amp;quot;, buffer);&lt;br /&gt;
formatex(buffer, 254, buffer);&lt;br /&gt;
formatex(buffer, 254, &amp;quot;%d %s&amp;quot;, buffer[2]);&amp;lt;/pawn&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It should be noted that format() will behave the same as formatex() if it detects that there will be no copy-back needed.  However, formatex() does not check this, and thus is slightly faster for situations where the coder is sure of its usage.&lt;br /&gt;
&lt;br /&gt;
===File Writing===&lt;br /&gt;
As of AMX Mod X 1.70, there are new natives for file writing.  Read_file and write_file are O(n^2) functions for consecutive read/writes.  fopen(), fgets(), fputs(), and fclose() are O(n) (or better) depending on how you use them.&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting (AMX Mod X)]]&lt;/div&gt;</summary>
		<author><name>ConnorMcLeod</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.alliedmods.net/index.php?title=CBasePlayer_(CS)&amp;diff=8473</id>
		<title>CBasePlayer (CS)</title>
		<link rel="alternate" type="text/html" href="https://wiki.alliedmods.net/index.php?title=CBasePlayer_(CS)&amp;diff=8473"/>
		<updated>2012-05-09T17:03:06Z</updated>

		<summary type="html">&lt;p&gt;ConnorMcLeod: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:CS Class List]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* [[CBaseEntity (CS)|CBaseEntity]]&lt;br /&gt;
** [[CBaseDelay (CS)|CBaseDelay]]&lt;br /&gt;
*** [[CBaseAnimating (CS)|CBaseAnimating]]&lt;br /&gt;
**** [[CBaseToggle (CS)|CBaseToggle]]&lt;br /&gt;
***** [[CBaseMonster (CS)|CBaseMonster]]&lt;br /&gt;
****** '''CBasePlayer''' ''(player)''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;''W = Windows'' |&amp;lt;/tt&amp;gt;&amp;lt;tt&amp;gt; ''L = Linux''&amp;lt;/tt&amp;gt;&lt;br /&gt;
{| cellpadding=&amp;quot;4&amp;quot;&lt;br /&gt;
|- class=&amp;quot;t2th&amp;quot;&lt;br /&gt;
! Name !! W. Offset !! L. Offset !! L. Diff !! Type !! Description&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| random_seed&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 96 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 101&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | int&lt;br /&gt;
| See that is shared between client &amp;amp; server for shared weapons code.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| Unknown&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 97 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 102&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | Unknown&lt;br /&gt;
| Unknown&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_hSpecTarget&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 98 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 103&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | Unknown&lt;br /&gt;
| Not sure, maybe last spectated&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| Unknown&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | - &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | -&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | - &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | -&lt;br /&gt;
| EHANDLE takes place of 2 int, so nothing else here than previous data&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_flNextSpecButtonTime&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 100&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 105&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | float&lt;br /&gt;
| Next gametime pressing a button will take effect when spectating.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_iSpectatedPlayerWeaponId&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 101&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 106&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | int&lt;br /&gt;
| weapon type ( CSW_ ) the spectated player is holding&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_fHasSpectatedPlayerC4&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 102&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 107&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | int&lt;br /&gt;
| &lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_fHasSpectatedPlayerDefuseKit&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 103&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 108&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | int&lt;br /&gt;
| -&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_iObserverMode&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 104&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 109&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | int&lt;br /&gt;
| enum {OBS_NONE = 0, OBS_CHASE_LOCKED, OBS_CHASE_FREE, OBS_ROAMING, OBS_IN_EYE, OBS_MAP_FREE, OBS_MAP_CHASE}&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| ?&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 105&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 110&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | ?&lt;br /&gt;
| ?&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| ?&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 106&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 111&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | ?&lt;br /&gt;
| ?&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| ?&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 107&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 112&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | ?&lt;br /&gt;
| ?&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_flPainShock&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 108&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 113&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | float&lt;br /&gt;
| set to 0.3 or 1.0 when take damage, slows down player untill progressively reset to 0 by timers.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_iLastZoom&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 109&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 114&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | int&lt;br /&gt;
| Store zoomed value when player has just shot while zooming, so zoom can be restored&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_fResumeZoom&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 110&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 115&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | BOOL (int)&lt;br /&gt;
| Wheter zoom has to be restored or not after a shot&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_flEjectBrass&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 111&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 116&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | float&lt;br /&gt;
| &lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_iKevlarType&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 112&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 117&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | int&lt;br /&gt;
| 0-No Kevlar , 1-Vest , 2-Vest+Helmet&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_fHasBeenKilledLastRound&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 113&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 118&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | int&lt;br /&gt;
| Set to 1 if player has been killed last round, so game knows, for example, that default weapons has to be given.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_iPlayerTeam&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 114&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 119&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | int&lt;br /&gt;
| Player team (0-NONE, 1-TT, 2-CT, 3-SPECTATOR, &amp;gt;3 Other teams)&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_iAccount&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 115&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 120&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | int&lt;br /&gt;
| Player money amount&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_fHasPrimary&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 116&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 121&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | int&lt;br /&gt;
| If set to 1, player can't pickup an armoury entity holding a primary weapon, may be used to check for shield pickup&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_iDefaultItems&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 120&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 125&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | int&lt;br /&gt;
| Default items (knife, gun) given: 1&amp;lt;&amp;lt;0 =&amp;gt; Already given&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_iJoinedState&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 121&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 126&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | int&lt;br /&gt;
| Join state for player (value of 5 will put the player in-game, other value will put the player on trigger_camera)&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_pLastCamera&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 122&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 127&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | CBaseEntity*&lt;br /&gt;
| use get_pdata_cbase&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_flNextCameraTime&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 123&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 128&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | float&lt;br /&gt;
| -&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_flNextCameraTime&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 122&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 127&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | float&lt;br /&gt;
| -&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_flLastActivityTime&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 124&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 129&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | float&lt;br /&gt;
| -&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_bHasBeenShownBriefing&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 125&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 130&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | bool&lt;br /&gt;
| Use get_pdata_int(playerIndex, m_bHasBeenShownBriefing) &amp;amp; (1&amp;lt;&amp;lt;0)&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_bHasChangeTeamThisRound&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 125&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 130&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | bool&lt;br /&gt;
| -Use get_pdata_int(playerIndex, m_bHasChangeTeamThisRound) &amp;amp; 1&amp;lt;&amp;lt;8&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_iInternalModel&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 126&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 131&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | inf&lt;br /&gt;
| see cstrike.inc&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_iPlayerSound&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 237&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 242&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | int&lt;br /&gt;
| The index of the sound list slot reserved for this player.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_iTargetVolume&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 238 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 243 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | int&lt;br /&gt;
| Ideal sound volume. &lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_iWeaponVolume&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 239&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 244 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | int&lt;br /&gt;
| How loud the player's weapon is right now.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_iExtraSoundTypes&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 240&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 245&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | int&lt;br /&gt;
| Additional classification for this weapon's sound.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_iWeaponFlash&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 241&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 246 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | int&lt;br /&gt;
| Brightness of the weapon flash.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_flStopExtraSoundTime&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 242&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 247&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | float&lt;br /&gt;
| None.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_flFlashLightTime&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 243&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 248&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | float&lt;br /&gt;
| Time until next battery draw/Recharge.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_iFlashBattery&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 244&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 249&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | int&lt;br /&gt;
| Flashlight Battery Draw.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_afButtonLast&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 245&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 250&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | int&lt;br /&gt;
| None.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_afButtonPressed&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 246&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 251&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | int&lt;br /&gt;
| None.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_afButtonReleased&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 247&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 252&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | int&lt;br /&gt;
| None.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_pentSndLast&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 248&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 253&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | edict_t*&lt;br /&gt;
| Last sound entity to modify player room type. ( get_pdata_ent() )&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_flSndRoomtype&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 249&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 254&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | float&lt;br /&gt;
| Last roomtype set by sound entity.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_flSndRange&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 250&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 255&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | float&lt;br /&gt;
| Dist from player to sound entity.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_flFallVelocity&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 251&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 256&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | float&lt;br /&gt;
| Player's fall speed.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_rgItems[item_antidote]&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 254&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 259&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | int&lt;br /&gt;
| None.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_rgItems[item_security]&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 255&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 260&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | int&lt;br /&gt;
| None.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_fKnownItem&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | int&lt;br /&gt;
| True when a new item needs to be added.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_fNewAmmo&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | int&lt;br /&gt;
| True when a new item has been added.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_afPhysicsFlags&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 257&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 263&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | unsigned int&lt;br /&gt;
| Physics flags - set when 'normal' physics should be revisited or overriden.&lt;br /&gt;
The following masks can be found in player.h:&lt;br /&gt;
&amp;lt;pawn&amp;gt;&lt;br /&gt;
#define     PFLAG_ONLADDER      ( 1&amp;lt;&amp;lt;0 )&lt;br /&gt;
#define     PFLAG_ONSWING       ( 1&amp;lt;&amp;lt;0 )&lt;br /&gt;
#define     PFLAG_ONTRAIN       ( 1&amp;lt;&amp;lt;1 )&lt;br /&gt;
#define     PFLAG_ONBARNACLE    ( 1&amp;lt;&amp;lt;2 )&lt;br /&gt;
#define     PFLAG_DUCKING       ( 1&amp;lt;&amp;lt;3 )        // In the process of ducking, but totally squatted yet&lt;br /&gt;
#define     PFLAG_USING         ( 1&amp;lt;&amp;lt;4 )        // Using a continuous entity&lt;br /&gt;
#define     PFLAG_OBSERVER      ( 1&amp;lt;&amp;lt;5 )        // player is locked in stationary cam mode. Spectators can move, observers can't.&lt;br /&gt;
&amp;lt;/pawn&amp;gt;&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_fNextSuicideTime&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 258&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 263&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | float&lt;br /&gt;
| The time after which the player can next use the suicide command.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_flTimeStepSound&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 259&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 264&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | float&lt;br /&gt;
| When the last stepping sound was made.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_flTimeWeaponIdle&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 260&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 265&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | float&lt;br /&gt;
| When to play another weapon idle animation.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_flSwimTime&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 261&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 266&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | float&lt;br /&gt;
| How long player has been underwater.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_flDuckTime&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 262&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 267&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | float&lt;br /&gt;
| How long we've been ducking.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_flWallJumpTime&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 263&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 268&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | float&lt;br /&gt;
| How long until next walljump.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_flSuitUpdate&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 264&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 269&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | float&lt;br /&gt;
| When to play next suit update.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_rgSuitPlayList&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 265&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 270&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | int[CSUITPLAYLIST]&lt;br /&gt;
| Next sentencenum to play for suit update.&lt;br /&gt;
&amp;lt;pawn&amp;gt;&lt;br /&gt;
#define CSUITPLAYLIST	4  // max of 4 suit sentences queued up at any time&lt;br /&gt;
&amp;lt;/pawn&amp;gt;&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_iSuitPlayNext&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 269&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 274&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | int&lt;br /&gt;
| Next sentence slot for queue storage.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_rgiSuitNoRepeat&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 270&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 275&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | int[CSUITNOREPEAT]&lt;br /&gt;
| Suit sentence no repeat list.&lt;br /&gt;
&amp;lt;pawn&amp;gt;&lt;br /&gt;
#define CSUITNOREPEAT  32&lt;br /&gt;
&amp;lt;/pawn&amp;gt;&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_rgflSuitNoRepeatTime&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 302&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 207&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | int[CSUITNOREPEAT]&lt;br /&gt;
| How long to wait before allowing repeat.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_lastDamageAmount&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 334&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 339&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | int&lt;br /&gt;
| Last damage taken.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_tbdPrev&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 335&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 340&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | float&lt;br /&gt;
| Time-based damage timer.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_flgeigerRange&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 336&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 341&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | float&lt;br /&gt;
| Range to nearest radiation source.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_flgeigerDelay&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 337&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 342&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | float&lt;br /&gt;
| Delay per update of range msg to client.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_igeigerRangePrev&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 338&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 343&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | int&lt;br /&gt;
| None.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_iStepLeft&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 339&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 344&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | int&lt;br /&gt;
| Alternate left/right foot stepping sound.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_szTextureName&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | char[CBTEXTURENAMEMAX]&lt;br /&gt;
| Current texture name we're standing on.&lt;br /&gt;
&amp;lt;pawn&amp;gt;&lt;br /&gt;
#define CBTEXTURENAMEMAX  13 // only load first n chars of name&lt;br /&gt;
&amp;lt;/pawn&amp;gt;&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_chTextureType&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | char&lt;br /&gt;
| Current texture type.&lt;br /&gt;
&amp;lt;pawn&amp;gt;&lt;br /&gt;
#define CHAR_TEX_CONCRETE  'C'	// texture types&lt;br /&gt;
#define CHAR_TEX_METAL	   'M'&lt;br /&gt;
#define CHAR_TEX_DIRT	   'D'&lt;br /&gt;
#define CHAR_TEX_VENT	   'V'&lt;br /&gt;
#define CHAR_TEX_GRATE	   'G'&lt;br /&gt;
#define CHAR_TEX_TILE	   'T'&lt;br /&gt;
#define CHAR_TEX_SLOSH	   'S'&lt;br /&gt;
#define CHAR_TEX_WOOD	   'W'&lt;br /&gt;
#define CHAR_TEX_COMPUTER  'P'&lt;br /&gt;
#define CHAR_TEX_GLASS	   'Y'&lt;br /&gt;
#define CHAR_TEX_FLESH	   'F'&lt;br /&gt;
&amp;lt;/pawn&amp;gt;&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_idrowndmg&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 345&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 350&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | int&lt;br /&gt;
| Track drowning damage taken.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_idrownrestored&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 346&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 351&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | int&lt;br /&gt;
| Track drowning damage restored.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_bitsHUDDamage&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 347&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 352&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | int&lt;br /&gt;
| Damage bits for the current fame. These get sent to the hud via the Damage message.&lt;br /&gt;
&amp;lt;pawn&amp;gt;&lt;br /&gt;
// these are the damage types that have client hud art&lt;br /&gt;
#define DMG_SHOWNHUD ( DMG_POISON | DMG_ACID | DMG_FREEZE | DMG_SLOWFREEZE | DMG_DROWN | DMG_BURN | DMG_SLOWBURN | DMG_NERVEGAS | DMG_RADIATION | DMG_SHOCK )&lt;br /&gt;
&amp;lt;/pawn&amp;gt;&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_fInitHUD&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 348&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 353&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | BOOL&lt;br /&gt;
| True when deferred HUD restart msg needs to be sent.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_fInitHUD&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 349&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 354&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | BOOL&lt;br /&gt;
| None.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_iTrain&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 350&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 355&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | int&lt;br /&gt;
| Train control position.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_fWeapon&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 351&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 356&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | BOOL&lt;br /&gt;
| Set this to FALSE to force a reset of the current weapon HUD info.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_pTank&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | EHANDLE&lt;br /&gt;
| The tank which the player is currently controlling,  NULL if no tank.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_fDeadTime&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 354&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 359&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | float&lt;br /&gt;
| the time at which the player died  (used in PlayerDeathThink()).&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_fNoPlayerSound&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 355&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 360&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | BOOL&lt;br /&gt;
| A debugging feature. Player makes no sound if this is true. &lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_fLongJump&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 356&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 361&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | BOOL&lt;br /&gt;
| Does this player have the longjump module?&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_tSneaking&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 357&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 362&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | float&lt;br /&gt;
| None.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_iUpdateTime&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 358&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 363&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | int&lt;br /&gt;
| Stores the number of frame ticks before sending HUD update messages.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_iClientHealth&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 359&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 364&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | int&lt;br /&gt;
| The health currently known by the client.  If this changes, send a new.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_iClientBattery&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 360&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 365&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | int&lt;br /&gt;
| The Battery currently known by the client.  If this changes, send a new.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_iHideHUD&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 361&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 366&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | int&lt;br /&gt;
| The players hud weapon info is to be hidden&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_iClientHideHUD&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 362&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 367&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | int&lt;br /&gt;
| None.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_iFOV&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 363&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 368&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | int&lt;br /&gt;
| Field of view.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_iClientFOV&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 364&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 369&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | int&lt;br /&gt;
| Client's known FOV.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_iNumRespawns&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 365&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 370&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | int&lt;br /&gt;
| &lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_pentRemoveOnDisconnect&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 366&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 370&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | int&lt;br /&gt;
| Not really used in CS. If you set an entity in this offset, when a player disconnects this entity will be removed.&lt;br /&gt;
Needs a better name.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_rgpPlayerItems&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 367&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 372&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | CBasePlayerItem*[MAX_ITEM_TYPES]&lt;br /&gt;
| (get_pdata_cbase)&lt;br /&gt;
&amp;lt;pawn&amp;gt;&lt;br /&gt;
#define MAX_ITEM_TYPES 6&lt;br /&gt;
&amp;lt;/pawn&amp;gt;&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_pActiveItem&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 373&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 378&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | CBasePlayerItem*&lt;br /&gt;
| (get_pdata_cbase)&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_pClientActiveItem&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 374&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 379&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | CBasePlayerItem*&lt;br /&gt;
| Client version of the active item. (get_pdata_cbase)&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_pLastItem&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 375&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 380&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | CBasePlayerItem*&lt;br /&gt;
| (get_pdata_cbase)&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_rgAmmo&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 376&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 381&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | int[MAX_AMMO_SLOTS]&lt;br /&gt;
| Shared ammo slots.&lt;br /&gt;
&amp;lt;pawn&amp;gt;&lt;br /&gt;
#define MAX_AMMO_SLOTS  32  // not really slots&lt;br /&gt;
&amp;lt;/pawn&amp;gt;&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_rgAmmoLast&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 408&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 413&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | int[MAX_AMMO_SLOTS]&lt;br /&gt;
| Shared ammo slots.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_vecAutoAim&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 440&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 445&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | Vector&lt;br /&gt;
| Shared ammo slots.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_fOnTarget&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 441&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 446&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | BOOL&lt;br /&gt;
| Shared ammo slots.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_iDeaths&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 442&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 447&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | int&lt;br /&gt;
| Shared ammo slots.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_iRespawnFrames&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 443&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 447&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | float&lt;br /&gt;
| Used in PlayerDeathThink() to make sure players can always respawn.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_izSBarState&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 446&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 451&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | int[SBAR_END]&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;pawn&amp;gt;&lt;br /&gt;
enum sbar_data&lt;br /&gt;
{&lt;br /&gt;
	SBAR_ID_TARGETNAME = 1,&lt;br /&gt;
	SBAR_ID_TARGETHEALTH,&lt;br /&gt;
	SBAR_ID_TARGETARMOR,&lt;br /&gt;
	SBAR_END,&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/pawn&amp;gt;&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_flNextSBarUpdateTime&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 449&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 454&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | float&lt;br /&gt;
| None.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_flStatusBarDisappearDelay&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 450&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 455&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | float&lt;br /&gt;
| None.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_lastx&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 483&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 488&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | int&lt;br /&gt;
| These are the previous update's crosshair angles.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_lasty&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 484&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 489&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | int&lt;br /&gt;
| These are the previous update's crosshair angles.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_nCustomSprayFrames&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 485&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 490&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | int&lt;br /&gt;
| Custom clan logo frames for this player.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_flNextDecalTime&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 486&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 491&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | float&lt;br /&gt;
| Next time this player can spray a decal.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_szTeamName&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 487&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 492&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | char[TEAM_NAME_LENGTH]&lt;br /&gt;
| None.&lt;br /&gt;
&amp;lt;pawn&amp;gt;&lt;br /&gt;
#define TEAM_NAME_LENGTH  16&lt;br /&gt;
&amp;lt;/pawn&amp;gt;&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_szAnimExtention&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 492&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 497&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | char[32]&lt;br /&gt;
| None.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_SbarString0&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | char[ SBAR_STRING_SIZE ]&lt;br /&gt;
| &lt;br /&gt;
&amp;lt;pawn&amp;gt;&lt;br /&gt;
#define SBAR_STRING_SIZE 128&lt;br /&gt;
&amp;lt;/pawn&amp;gt;&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_SbarString1&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | char[ SBAR_STRING_SIZE ]&lt;br /&gt;
| None.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_flNextChatTime&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | float&lt;br /&gt;
| &lt;br /&gt;
&amp;lt;pawn&amp;gt;&lt;br /&gt;
#define CHAT_INTERVAL 1.0f&lt;br /&gt;
&amp;lt;/pawn&amp;gt;&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_iClAutoWepSwitch&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 509&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 514&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | int&lt;br /&gt;
| Last _cl_autowepswitch value of userinfo for this player&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_iVGUIMenus&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 510&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 515&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | int&lt;br /&gt;
| Last _vgui_menus value of userinfo for this player&lt;/div&gt;</summary>
		<author><name>ConnorMcLeod</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.alliedmods.net/index.php?title=CBasePlayer_(CS)&amp;diff=8472</id>
		<title>CBasePlayer (CS)</title>
		<link rel="alternate" type="text/html" href="https://wiki.alliedmods.net/index.php?title=CBasePlayer_(CS)&amp;diff=8472"/>
		<updated>2012-05-09T17:02:09Z</updated>

		<summary type="html">&lt;p&gt;ConnorMcLeod: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:CS Class List]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* [[CBaseEntity (CS)|CBaseEntity]]&lt;br /&gt;
** [[CBaseDelay (CS)|CBaseDelay]]&lt;br /&gt;
*** [[CBaseAnimating (CS)|CBaseAnimating]]&lt;br /&gt;
**** [[CBaseToggle (CS)|CBaseToggle]]&lt;br /&gt;
***** [[CBaseMonster (CS)|CBaseMonster]]&lt;br /&gt;
****** '''CBasePlayer''' ''(player)''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;''W = Windows'' |&amp;lt;/tt&amp;gt;&amp;lt;tt&amp;gt; ''L = Linux''&amp;lt;/tt&amp;gt;&lt;br /&gt;
{| cellpadding=&amp;quot;4&amp;quot;&lt;br /&gt;
|- class=&amp;quot;t2th&amp;quot;&lt;br /&gt;
! Name !! W. Offset !! L. Offset !! L. Diff !! Type !! Description&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| random_seed&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 96 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 101&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | int&lt;br /&gt;
| See that is shared between client &amp;amp; server for shared weapons code.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| Unknown&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 97 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 102&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | Unknown&lt;br /&gt;
| Unknown&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_hSpecTarget&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 98 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 103&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | Unknown&lt;br /&gt;
| Not sure, maybe last spectated&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| Unknown&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | - &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | -&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | - &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | -&lt;br /&gt;
| EHANDLE takes place of 2 int, so nothing else here than previous data&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_flNextSpecButtonTime&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 100&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 105&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | float&lt;br /&gt;
| Next gametime pressing a button will take effect when spectating.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_iSpectatedPlayerWeaponId&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 101&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 106&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | int&lt;br /&gt;
| weapon type ( CSW_ ) the spectated player is holding&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_fHasSpectatedPlayerC4&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 102&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 107&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | int&lt;br /&gt;
| &lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_fHasSpectatedPlayerDefuseKit&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 103&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 108&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | int&lt;br /&gt;
| -&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_iObserverMode&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 104&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 109&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | int&lt;br /&gt;
| enum {OBS_NONE = 0, OBS_CHASE_LOCKED, OBS_CHASE_FREE, OBS_ROAMING, OBS_IN_EYE, OBS_MAP_FREE, OBS_MAP_CHASE}&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| ?&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 105&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 110&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | ?&lt;br /&gt;
| ?&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| ?&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 106&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 111&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | ?&lt;br /&gt;
| ?&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| ?&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 107&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 112&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | ?&lt;br /&gt;
| ?&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_flPainShock&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 108&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 113&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | float&lt;br /&gt;
| set to 0.3 or 1.0 when take damage, slows down player untill progressively reset to 0 by timers.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_iLastZoom&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 109&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 114&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | int&lt;br /&gt;
| Store zoomed value when player has just shot while zooming, so zoom can be restored&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_fResumeZoom&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 110&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 115&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | BOOL (int)&lt;br /&gt;
| Wheter zoom has to be restored or not after a shot&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_flEjectBrass&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 111&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 116&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | float&lt;br /&gt;
| &lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_iKevlarType&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 112&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 117&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | int&lt;br /&gt;
| 0-No Kevlar , 1-Vest , 2-Vest+Helmet&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_fHasBeenKilledLastRound&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 113&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 118&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | int&lt;br /&gt;
| Set to 1 if player has been killed last round, so game knows, for example, that default weapons has to be given.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_iPlayerTeam&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 114&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 119&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | int&lt;br /&gt;
| Player team (0-NONE, 1-TT, 2-CT, 3-SPECTATOR, &amp;gt;3 Other teams)&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_iAccount&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 115&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 120&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | int&lt;br /&gt;
| Player money amount&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_fHasPrimary&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 116&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 121&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | int&lt;br /&gt;
| If set to 1, player can't pickup an armoury entity holding a primary weapon, may be used to check for shield pickup&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_iDefaultItems&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 120&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 125&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | int&lt;br /&gt;
| Default items (knife, gun) given: 1&amp;lt;&amp;lt;0 =&amp;gt; Already given&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_iJoinedState&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 121&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 126&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | int&lt;br /&gt;
| Join state for player (value of 5 will put the player in-game, other value will put the player on trigger_camera)&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_pLastCamera&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 122&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 127&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | CBaseEntity* (use get_pdata_cbase)&lt;br /&gt;
| -&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_flNextCameraTime&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 123&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 128&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | float&lt;br /&gt;
| -&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_flNextCameraTime&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 122&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 127&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | float&lt;br /&gt;
| -&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_flLastActivityTime&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 124&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 129&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | float&lt;br /&gt;
| -&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_bHasBeenShownBriefing&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 125&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 130&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | bool&lt;br /&gt;
| Use get_pdata_int(playerIndex, m_bHasBeenShownBriefing) &amp;amp; (1&amp;lt;&amp;lt;0)&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_bHasChangeTeamThisRound&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 125&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 130&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | bool&lt;br /&gt;
| -Use get_pdata_int(playerIndex, m_bHasChangeTeamThisRound) &amp;amp; 1&amp;lt;&amp;lt;8&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_iInternalModel&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 126&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 131&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | inf&lt;br /&gt;
| see cstrike.inc&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_iPlayerSound&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 237&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 242&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | int&lt;br /&gt;
| The index of the sound list slot reserved for this player.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_iTargetVolume&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 238 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 243 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | int&lt;br /&gt;
| Ideal sound volume. &lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_iWeaponVolume&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 239&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 244 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | int&lt;br /&gt;
| How loud the player's weapon is right now.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_iExtraSoundTypes&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 240&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 245&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | int&lt;br /&gt;
| Additional classification for this weapon's sound.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_iWeaponFlash&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 241&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 246 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | int&lt;br /&gt;
| Brightness of the weapon flash.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_flStopExtraSoundTime&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 242&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 247&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | float&lt;br /&gt;
| None.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_flFlashLightTime&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 243&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 248&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | float&lt;br /&gt;
| Time until next battery draw/Recharge.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_iFlashBattery&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 244&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 249&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | int&lt;br /&gt;
| Flashlight Battery Draw.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_afButtonLast&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 245&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 250&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | int&lt;br /&gt;
| None.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_afButtonPressed&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 246&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 251&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | int&lt;br /&gt;
| None.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_afButtonReleased&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 247&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 252&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | int&lt;br /&gt;
| None.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_pentSndLast&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 248&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 253&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | edict_t*&lt;br /&gt;
| Last sound entity to modify player room type. ( get_pdata_ent() )&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_flSndRoomtype&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 249&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 254&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | float&lt;br /&gt;
| Last roomtype set by sound entity.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_flSndRange&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 250&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 255&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | float&lt;br /&gt;
| Dist from player to sound entity.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_flFallVelocity&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 251&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 256&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | float&lt;br /&gt;
| Player's fall speed.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_rgItems[item_antidote]&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 254&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 259&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | int&lt;br /&gt;
| None.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_rgItems[item_security]&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 255&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 260&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | int&lt;br /&gt;
| None.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_fKnownItem&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | int&lt;br /&gt;
| True when a new item needs to be added.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_fNewAmmo&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | int&lt;br /&gt;
| True when a new item has been added.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_afPhysicsFlags&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 257&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 263&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | unsigned int&lt;br /&gt;
| Physics flags - set when 'normal' physics should be revisited or overriden.&lt;br /&gt;
The following masks can be found in player.h:&lt;br /&gt;
&amp;lt;pawn&amp;gt;&lt;br /&gt;
#define     PFLAG_ONLADDER      ( 1&amp;lt;&amp;lt;0 )&lt;br /&gt;
#define     PFLAG_ONSWING       ( 1&amp;lt;&amp;lt;0 )&lt;br /&gt;
#define     PFLAG_ONTRAIN       ( 1&amp;lt;&amp;lt;1 )&lt;br /&gt;
#define     PFLAG_ONBARNACLE    ( 1&amp;lt;&amp;lt;2 )&lt;br /&gt;
#define     PFLAG_DUCKING       ( 1&amp;lt;&amp;lt;3 )        // In the process of ducking, but totally squatted yet&lt;br /&gt;
#define     PFLAG_USING         ( 1&amp;lt;&amp;lt;4 )        // Using a continuous entity&lt;br /&gt;
#define     PFLAG_OBSERVER      ( 1&amp;lt;&amp;lt;5 )        // player is locked in stationary cam mode. Spectators can move, observers can't.&lt;br /&gt;
&amp;lt;/pawn&amp;gt;&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_fNextSuicideTime&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 258&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 263&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | float&lt;br /&gt;
| The time after which the player can next use the suicide command.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_flTimeStepSound&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 259&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 264&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | float&lt;br /&gt;
| When the last stepping sound was made.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_flTimeWeaponIdle&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 260&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 265&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | float&lt;br /&gt;
| When to play another weapon idle animation.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_flSwimTime&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 261&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 266&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | float&lt;br /&gt;
| How long player has been underwater.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_flDuckTime&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 262&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 267&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | float&lt;br /&gt;
| How long we've been ducking.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_flWallJumpTime&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 263&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 268&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | float&lt;br /&gt;
| How long until next walljump.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_flSuitUpdate&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 264&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 269&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | float&lt;br /&gt;
| When to play next suit update.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_rgSuitPlayList&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 265&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 270&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | int[CSUITPLAYLIST]&lt;br /&gt;
| Next sentencenum to play for suit update.&lt;br /&gt;
&amp;lt;pawn&amp;gt;&lt;br /&gt;
#define CSUITPLAYLIST	4  // max of 4 suit sentences queued up at any time&lt;br /&gt;
&amp;lt;/pawn&amp;gt;&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_iSuitPlayNext&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 269&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 274&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | int&lt;br /&gt;
| Next sentence slot for queue storage.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_rgiSuitNoRepeat&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 270&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 275&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | int[CSUITNOREPEAT]&lt;br /&gt;
| Suit sentence no repeat list.&lt;br /&gt;
&amp;lt;pawn&amp;gt;&lt;br /&gt;
#define CSUITNOREPEAT  32&lt;br /&gt;
&amp;lt;/pawn&amp;gt;&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_rgflSuitNoRepeatTime&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 302&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 207&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | int[CSUITNOREPEAT]&lt;br /&gt;
| How long to wait before allowing repeat.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_lastDamageAmount&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 334&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 339&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | int&lt;br /&gt;
| Last damage taken.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_tbdPrev&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 335&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 340&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | float&lt;br /&gt;
| Time-based damage timer.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_flgeigerRange&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 336&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 341&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | float&lt;br /&gt;
| Range to nearest radiation source.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_flgeigerDelay&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 337&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 342&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | float&lt;br /&gt;
| Delay per update of range msg to client.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_igeigerRangePrev&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 338&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 343&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | int&lt;br /&gt;
| None.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_iStepLeft&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 339&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 344&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | int&lt;br /&gt;
| Alternate left/right foot stepping sound.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_szTextureName&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | char[CBTEXTURENAMEMAX]&lt;br /&gt;
| Current texture name we're standing on.&lt;br /&gt;
&amp;lt;pawn&amp;gt;&lt;br /&gt;
#define CBTEXTURENAMEMAX  13 // only load first n chars of name&lt;br /&gt;
&amp;lt;/pawn&amp;gt;&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_chTextureType&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | char&lt;br /&gt;
| Current texture type.&lt;br /&gt;
&amp;lt;pawn&amp;gt;&lt;br /&gt;
#define CHAR_TEX_CONCRETE  'C'	// texture types&lt;br /&gt;
#define CHAR_TEX_METAL	   'M'&lt;br /&gt;
#define CHAR_TEX_DIRT	   'D'&lt;br /&gt;
#define CHAR_TEX_VENT	   'V'&lt;br /&gt;
#define CHAR_TEX_GRATE	   'G'&lt;br /&gt;
#define CHAR_TEX_TILE	   'T'&lt;br /&gt;
#define CHAR_TEX_SLOSH	   'S'&lt;br /&gt;
#define CHAR_TEX_WOOD	   'W'&lt;br /&gt;
#define CHAR_TEX_COMPUTER  'P'&lt;br /&gt;
#define CHAR_TEX_GLASS	   'Y'&lt;br /&gt;
#define CHAR_TEX_FLESH	   'F'&lt;br /&gt;
&amp;lt;/pawn&amp;gt;&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_idrowndmg&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 345&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 350&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | int&lt;br /&gt;
| Track drowning damage taken.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_idrownrestored&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 346&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 351&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | int&lt;br /&gt;
| Track drowning damage restored.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_bitsHUDDamage&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 347&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 352&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | int&lt;br /&gt;
| Damage bits for the current fame. These get sent to the hud via the Damage message.&lt;br /&gt;
&amp;lt;pawn&amp;gt;&lt;br /&gt;
// these are the damage types that have client hud art&lt;br /&gt;
#define DMG_SHOWNHUD ( DMG_POISON | DMG_ACID | DMG_FREEZE | DMG_SLOWFREEZE | DMG_DROWN | DMG_BURN | DMG_SLOWBURN | DMG_NERVEGAS | DMG_RADIATION | DMG_SHOCK )&lt;br /&gt;
&amp;lt;/pawn&amp;gt;&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_fInitHUD&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 348&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 353&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | BOOL&lt;br /&gt;
| True when deferred HUD restart msg needs to be sent.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_fInitHUD&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 349&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 354&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | BOOL&lt;br /&gt;
| None.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_iTrain&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 350&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 355&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | int&lt;br /&gt;
| Train control position.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_fWeapon&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 351&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 356&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | BOOL&lt;br /&gt;
| Set this to FALSE to force a reset of the current weapon HUD info.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_pTank&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | EHANDLE&lt;br /&gt;
| The tank which the player is currently controlling,  NULL if no tank.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_fDeadTime&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 354&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 359&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | float&lt;br /&gt;
| the time at which the player died  (used in PlayerDeathThink()).&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_fNoPlayerSound&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 355&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 360&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | BOOL&lt;br /&gt;
| A debugging feature. Player makes no sound if this is true. &lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_fLongJump&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 356&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 361&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | BOOL&lt;br /&gt;
| Does this player have the longjump module?&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_tSneaking&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 357&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 362&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | float&lt;br /&gt;
| None.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_iUpdateTime&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 358&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 363&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | int&lt;br /&gt;
| Stores the number of frame ticks before sending HUD update messages.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_iClientHealth&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 359&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 364&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | int&lt;br /&gt;
| The health currently known by the client.  If this changes, send a new.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_iClientBattery&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 360&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 365&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | int&lt;br /&gt;
| The Battery currently known by the client.  If this changes, send a new.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_iHideHUD&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 361&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 366&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | int&lt;br /&gt;
| The players hud weapon info is to be hidden&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_iClientHideHUD&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 362&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 367&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | int&lt;br /&gt;
| None.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_iFOV&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 363&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 368&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | int&lt;br /&gt;
| Field of view.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_iClientFOV&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 364&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 369&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | int&lt;br /&gt;
| Client's known FOV.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_iNumRespawns&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 365&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 370&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | int&lt;br /&gt;
| &lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_pentRemoveOnDisconnect&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 366&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 370&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | int&lt;br /&gt;
| Not really used in CS. If you set an entity in this offset, when a player disconnects this entity will be removed.&lt;br /&gt;
Needs a better name.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_rgpPlayerItems&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 367&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 372&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | CBasePlayerItem*[MAX_ITEM_TYPES]&lt;br /&gt;
| (get_pdata_cbase)&lt;br /&gt;
&amp;lt;pawn&amp;gt;&lt;br /&gt;
#define MAX_ITEM_TYPES 6&lt;br /&gt;
&amp;lt;/pawn&amp;gt;&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_pActiveItem&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 373&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 378&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | CBasePlayerItem*&lt;br /&gt;
| (get_pdata_cbase)&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_pClientActiveItem&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 374&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 379&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | CBasePlayerItem*&lt;br /&gt;
| Client version of the active item. (get_pdata_cbase)&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_pLastItem&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 375&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 380&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | CBasePlayerItem*&lt;br /&gt;
| (get_pdata_cbase)&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_rgAmmo&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 376&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 381&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | int[MAX_AMMO_SLOTS]&lt;br /&gt;
| Shared ammo slots.&lt;br /&gt;
&amp;lt;pawn&amp;gt;&lt;br /&gt;
#define MAX_AMMO_SLOTS  32  // not really slots&lt;br /&gt;
&amp;lt;/pawn&amp;gt;&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_rgAmmoLast&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 408&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 413&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | int[MAX_AMMO_SLOTS]&lt;br /&gt;
| Shared ammo slots.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_vecAutoAim&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 440&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 445&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | Vector&lt;br /&gt;
| Shared ammo slots.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_fOnTarget&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 441&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 446&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | BOOL&lt;br /&gt;
| Shared ammo slots.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_iDeaths&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 442&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 447&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | int&lt;br /&gt;
| Shared ammo slots.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_iRespawnFrames&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 443&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 447&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | float&lt;br /&gt;
| Used in PlayerDeathThink() to make sure players can always respawn.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_izSBarState&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 446&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 451&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | int[SBAR_END]&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;pawn&amp;gt;&lt;br /&gt;
enum sbar_data&lt;br /&gt;
{&lt;br /&gt;
	SBAR_ID_TARGETNAME = 1,&lt;br /&gt;
	SBAR_ID_TARGETHEALTH,&lt;br /&gt;
	SBAR_ID_TARGETARMOR,&lt;br /&gt;
	SBAR_END,&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/pawn&amp;gt;&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_flNextSBarUpdateTime&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 449&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 454&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | float&lt;br /&gt;
| None.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_flStatusBarDisappearDelay&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 450&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 455&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | float&lt;br /&gt;
| None.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_lastx&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 483&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 488&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | int&lt;br /&gt;
| These are the previous update's crosshair angles.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_lasty&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 484&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 489&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | int&lt;br /&gt;
| These are the previous update's crosshair angles.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_nCustomSprayFrames&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 485&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 490&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | int&lt;br /&gt;
| Custom clan logo frames for this player.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_flNextDecalTime&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 486&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 491&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | float&lt;br /&gt;
| Next time this player can spray a decal.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_szTeamName&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 487&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 492&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | char[TEAM_NAME_LENGTH]&lt;br /&gt;
| None.&lt;br /&gt;
&amp;lt;pawn&amp;gt;&lt;br /&gt;
#define TEAM_NAME_LENGTH  16&lt;br /&gt;
&amp;lt;/pawn&amp;gt;&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_szAnimExtention&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 492&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 497&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | char[32]&lt;br /&gt;
| None.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_SbarString0&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | char[ SBAR_STRING_SIZE ]&lt;br /&gt;
| &lt;br /&gt;
&amp;lt;pawn&amp;gt;&lt;br /&gt;
#define SBAR_STRING_SIZE 128&lt;br /&gt;
&amp;lt;/pawn&amp;gt;&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_SbarString1&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | char[ SBAR_STRING_SIZE ]&lt;br /&gt;
| None.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_flNextChatTime&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | float&lt;br /&gt;
| &lt;br /&gt;
&amp;lt;pawn&amp;gt;&lt;br /&gt;
#define CHAT_INTERVAL 1.0f&lt;br /&gt;
&amp;lt;/pawn&amp;gt;&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_iClAutoWepSwitch&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 509&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 514&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | int&lt;br /&gt;
| Last _cl_autowepswitch value of userinfo for this player&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_iVGUIMenus&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 510&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 515&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | int&lt;br /&gt;
| Last _vgui_menus value of userinfo for this player&lt;/div&gt;</summary>
		<author><name>ConnorMcLeod</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.alliedmods.net/index.php?title=CBaseMonster_(CS)&amp;diff=8471</id>
		<title>CBaseMonster (CS)</title>
		<link rel="alternate" type="text/html" href="https://wiki.alliedmods.net/index.php?title=CBaseMonster_(CS)&amp;diff=8471"/>
		<updated>2012-05-09T16:34:04Z</updated>

		<summary type="html">&lt;p&gt;ConnorMcLeod: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:CS Class List]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* [[CBaseEntity (CS)|CBaseEntity]]&lt;br /&gt;
** [[CBaseDelay (CS)|CBaseDelay]]&lt;br /&gt;
*** [[CBaseAnimating (CS)|CBaseAnimating]]&lt;br /&gt;
**** [[CBaseToggle (CS)|CBaseToggle]]&lt;br /&gt;
***** '''CBaseMonster''' &lt;br /&gt;
****** [[CBasePlayer (CS)|CBasePlayer ''(player)'']]&lt;br /&gt;
****** [[CCycler (CS)|CCycler]]&lt;br /&gt;
****** [[CDeadHEV (CS)|CDeadHEV]]&lt;br /&gt;
****** [[CEnvExplosion (CS)|CEnvExplosion]]&lt;br /&gt;
****** [[CGrenade (CS)|CGrenade]]&lt;br /&gt;
****** [[CGunTarget (CS)|CGunTarget]]&lt;br /&gt;
****** [[CTalkMonster (CS)|CTalkMonster]]&lt;br /&gt;
****** [[CWreckage (CS)|CWreckage]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;''W = Windows'' |&amp;lt;/tt&amp;gt;&amp;lt;tt&amp;gt; ''L = Linux''&amp;lt;/tt&amp;gt;&lt;br /&gt;
{| cellpadding=&amp;quot;4&amp;quot;&lt;br /&gt;
|- class=&amp;quot;t2th&amp;quot;&lt;br /&gt;
! Name !! W. Offset !! L. Offset !! L. Diff !! Type !! Description&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_Activity&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 73 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 78&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | Activity&lt;br /&gt;
| What the monster/player is doing (animation). ( See [http://svn.tcwonline.org/viewvc.cgi/hlsdk/dlls/activity.h?view=markup&amp;amp;root=amxmodx animation.h] )&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_IdealActivity&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 74 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 79&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | Activity&lt;br /&gt;
| Monster/player should switch to this activity ( See [http://svn.tcwonline.org/viewvc.cgi/hlsdk/dlls/activity.h?view=markup&amp;amp;root=amxmodx animation.h] )&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_LastHitGroup&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 75 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 80 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | int&lt;br /&gt;
| The last body region that took damage.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_bitsDamageType&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 76 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 81 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | int&lt;br /&gt;
| What types of damage has monster (player) taken.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_rgbTimeBasedDamage&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 77 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 82&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | BYTE[CDMG_TIMEBASED]&lt;br /&gt;
| &lt;br /&gt;
&amp;lt;pawn&amp;gt;&lt;br /&gt;
#define	itbd_Paralyze		0 &lt;br /&gt;
#define	itbd_NerveGas		1 &lt;br /&gt;
#define	itbd_Poison		2&lt;br /&gt;
#define	itbd_Radiation		3 &lt;br /&gt;
#define	itbd_DrownRecover	4&lt;br /&gt;
#define	itbd_Acid		5&lt;br /&gt;
#define	itbd_SlowBurn		6&lt;br /&gt;
#define	itbd_SlowFreeze		7 &lt;br /&gt;
#define CDMG_TIMEBASED		8 &lt;br /&gt;
&amp;lt;/pawn &amp;gt;&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| -&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | -&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | - &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | - &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | -&lt;br /&gt;
| m_rgbTimeBasedDamage is made with 8 BYTES, so it take the same place as 2 int (integer is 4 BYTES).&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_MonsterState&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 79&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 84 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | MONSTERSTATE&lt;br /&gt;
| Monster's current state.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_IdealMonsterState&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 80 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 85&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | MONSTERSTATE&lt;br /&gt;
| Monster should change to this state.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_afConditions&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 81&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 86&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | int&lt;br /&gt;
| None.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_afMemory&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 82&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 87&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | int&lt;br /&gt;
| None.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_flNextAttack&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 83&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 88&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | float&lt;br /&gt;
| Cannot attack again until this time.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_hEnemy&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 84&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 89&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | EHANDLE&lt;br /&gt;
| The entity that the monster is fighting.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| -&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | -&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | -&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | -&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | -&lt;br /&gt;
| EHANDLE takes same place as 2 int, so nothing here.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_hTargetEnt&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 86&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 91&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | EHANDLE&lt;br /&gt;
| The entity that the monster is trying to reach.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| -&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | -&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | - &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | - &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | -&lt;br /&gt;
| EHANDLE takes same place as 2 int, so nothing here.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_flFieldOfView&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 88&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 93&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | float&lt;br /&gt;
| Width of monster's field of view. ( dot product )&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_bloodColor&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 89&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 94&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | int&lt;br /&gt;
| Color of blood particles.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_HackedGunPos_x&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 90&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 95&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | Vector (original offset name is m_HackedGunPos and takes 12 BYTES in memory)&lt;br /&gt;
| Hack until we can query end of gun.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_HackedGunPos_y&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 91&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 96 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | ?&lt;br /&gt;
| None.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_HackedGunPos_z&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 92&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 97 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | ?&lt;br /&gt;
| None.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_vecEnemyLKP_x&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 93&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 98&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | Vector (original offset name is m_vecEnemyLKP and takes 12 BYTES in memory)&lt;br /&gt;
| Last known position of enemy. (enemy's origin)&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_vecEnemyLKP_y&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 94&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 99&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | ?&lt;br /&gt;
| None.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_vecEnemyLKP_z&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 95&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 100&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | ?&lt;br /&gt;
| None.&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>ConnorMcLeod</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.alliedmods.net/index.php?title=CBaseMonster_(CS)&amp;diff=8470</id>
		<title>CBaseMonster (CS)</title>
		<link rel="alternate" type="text/html" href="https://wiki.alliedmods.net/index.php?title=CBaseMonster_(CS)&amp;diff=8470"/>
		<updated>2012-05-09T16:31:48Z</updated>

		<summary type="html">&lt;p&gt;ConnorMcLeod: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:CS Class List]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* [[CBaseEntity (CS)|CBaseEntity]]&lt;br /&gt;
** [[CBaseDelay (CS)|CBaseDelay]]&lt;br /&gt;
*** [[CBaseAnimating (CS)|CBaseAnimating]]&lt;br /&gt;
**** [[CBaseToggle (CS)|CBaseToggle]]&lt;br /&gt;
***** '''CBaseMonster''' &lt;br /&gt;
****** [[CBasePlayer (CS)|CBasePlayer ''(player)'']]&lt;br /&gt;
****** [[CCycler (CS)|CCycler]]&lt;br /&gt;
****** [[CDeadHEV (CS)|CDeadHEV]]&lt;br /&gt;
****** [[CEnvExplosion (CS)|CEnvExplosion]]&lt;br /&gt;
****** [[CGrenade (CS)|CGrenade]]&lt;br /&gt;
****** [[CGunTarget (CS)|CGunTarget]]&lt;br /&gt;
****** [[CTalkMonster (CS)|CTalkMonster]]&lt;br /&gt;
****** [[CWreckage (CS)|CWreckage]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;''W = Windows'' |&amp;lt;/tt&amp;gt;&amp;lt;tt&amp;gt; ''L = Linux''&amp;lt;/tt&amp;gt;&lt;br /&gt;
{| cellpadding=&amp;quot;4&amp;quot;&lt;br /&gt;
|- class=&amp;quot;t2th&amp;quot;&lt;br /&gt;
! Name !! W. Offset !! L. Offset !! L. Diff !! Type !! Description&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_Activity&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 73 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 78&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | Activity&lt;br /&gt;
| What the monster/player is doing (animation). ( See [http://svn.tcwonline.org/viewvc.cgi/hlsdk/dlls/activity.h?view=markup&amp;amp;root=amxmodx animation.h] )&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_IdealActivity&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 74 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 79&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | Activity&lt;br /&gt;
| Monster/player should switch to this activity ( See [http://svn.tcwonline.org/viewvc.cgi/hlsdk/dlls/activity.h?view=markup&amp;amp;root=amxmodx animation.h] )&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_LastHitGroup&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 75 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 80 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | int&lt;br /&gt;
| The last body region that took damage.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_bitsDamageType&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 76 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 81 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | int&lt;br /&gt;
| What types of damage has monster (player) taken.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_rgbTimeBasedDamage&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 77 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 82&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | BYTE[CDMG_TIMEBASED]&lt;br /&gt;
| &lt;br /&gt;
&amp;lt;pawn&amp;gt;&lt;br /&gt;
#define	itbd_Paralyze		0 &lt;br /&gt;
#define	itbd_NerveGas		1 &lt;br /&gt;
#define	itbd_Poison		2&lt;br /&gt;
#define	itbd_Radiation		3 &lt;br /&gt;
#define	itbd_DrownRecover	4&lt;br /&gt;
#define	itbd_Acid		5&lt;br /&gt;
#define	itbd_SlowBurn		6&lt;br /&gt;
#define	itbd_SlowFreeze		7 &lt;br /&gt;
#define CDMG_TIMEBASED		8 &lt;br /&gt;
&amp;lt;/pawn &amp;gt;&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| -&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | -&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | - &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | - &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | -&lt;br /&gt;
| m_rgbTimeBasedDamage is made with 8 BYTES, so it take the same place as 2 int (integer is 4 BYTES).&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_MonsterState&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 79&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 84 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | MONSTERSTATE&lt;br /&gt;
| Monster's current state.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_IdealMonsterState&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 80 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 85&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | MONSTERSTATE&lt;br /&gt;
| Monster should change to this state.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_afConditions&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 81&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 86&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | int&lt;br /&gt;
| None.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_afMemory&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 82&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 87&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | int&lt;br /&gt;
| None.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_flNextAttack&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 83&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 88&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | float&lt;br /&gt;
| Cannot attack again until this time.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_hEnemy&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 84&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 89&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | EHANDLE&lt;br /&gt;
| The entity that the monster is fighting.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| -&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | -&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | -&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | -&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | -&lt;br /&gt;
| EHANDLE takes same place as 2 int, so nothing here.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_hTargetEnt&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 86&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 91&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | EHANDLE&lt;br /&gt;
| The entity that the monster is trying to reach.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| -&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | -&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | - &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | - &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | -&lt;br /&gt;
| EHANDLE takes same place as 2 int, so nothing here.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_flFieldOfView&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 88&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 93&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | float&lt;br /&gt;
| Width of monster's field of view. ( dot product )&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_bloodColor&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 89&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 94&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | int&lt;br /&gt;
| Color of blood particles.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_HackedGunPos&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 90&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 95&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | Vector&lt;br /&gt;
| Hack until we can query end of gun.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| ?&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 91&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 96 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | ?&lt;br /&gt;
| None.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| ?&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 92&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 97 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | ?&lt;br /&gt;
| None.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_vecEnemyLKP&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 93&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 98&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | Vector&lt;br /&gt;
| Last known position of enemy. (enemy's origin)&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| ?&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 94&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 99&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | ?&lt;br /&gt;
| None.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| ?&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 95&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 100&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | ?&lt;br /&gt;
| None.&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>ConnorMcLeod</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.alliedmods.net/index.php?title=CBaseMonster_(CS)&amp;diff=8469</id>
		<title>CBaseMonster (CS)</title>
		<link rel="alternate" type="text/html" href="https://wiki.alliedmods.net/index.php?title=CBaseMonster_(CS)&amp;diff=8469"/>
		<updated>2012-05-09T16:28:56Z</updated>

		<summary type="html">&lt;p&gt;ConnorMcLeod: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:CS Class List]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* [[CBaseEntity (CS)|CBaseEntity]]&lt;br /&gt;
** [[CBaseDelay (CS)|CBaseDelay]]&lt;br /&gt;
*** [[CBaseAnimating (CS)|CBaseAnimating]]&lt;br /&gt;
**** [[CBaseToggle (CS)|CBaseToggle]]&lt;br /&gt;
***** '''CBaseMonster''' &lt;br /&gt;
****** [[CBasePlayer (CS)|CBasePlayer ''(player)'']]&lt;br /&gt;
****** [[CCycler (CS)|CCycler]]&lt;br /&gt;
****** [[CDeadHEV (CS)|CDeadHEV]]&lt;br /&gt;
****** [[CEnvExplosion (CS)|CEnvExplosion]]&lt;br /&gt;
****** [[CGrenade (CS)|CGrenade]]&lt;br /&gt;
****** [[CGunTarget (CS)|CGunTarget]]&lt;br /&gt;
****** [[CTalkMonster (CS)|CTalkMonster]]&lt;br /&gt;
****** [[CWreckage (CS)|CWreckage]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;''W = Windows'' |&amp;lt;/tt&amp;gt;&amp;lt;tt&amp;gt; ''L = Linux''&amp;lt;/tt&amp;gt;&lt;br /&gt;
{| cellpadding=&amp;quot;4&amp;quot;&lt;br /&gt;
|- class=&amp;quot;t2th&amp;quot;&lt;br /&gt;
! Name !! W. Offset !! L. Offset !! L. Diff !! Type !! Description&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_Activity&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 73 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 78&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | Activity&lt;br /&gt;
| What the monster/player is doing (animation). ( See [http://svn.tcwonline.org/viewvc.cgi/hlsdk/dlls/activity.h?view=markup&amp;amp;root=amxmodx animation.h] )&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_IdealActivity&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 74 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 79&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | Activity&lt;br /&gt;
| Monster/player should switch to this activity ( See [http://svn.tcwonline.org/viewvc.cgi/hlsdk/dlls/activity.h?view=markup&amp;amp;root=amxmodx animation.h] )&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_LastHitGroup&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 75 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 80 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | int&lt;br /&gt;
| The last body region that took damage.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_bitsDamageType&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 76 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 81 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | int&lt;br /&gt;
| What types of damage has monster (player) taken.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_rgbTimeBasedDamage&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 77 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 82&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | BYTE[CDMG_TIMEBASED]&lt;br /&gt;
| &lt;br /&gt;
&amp;lt;pawn&amp;gt;&lt;br /&gt;
#define	itbd_Paralyze		0 &lt;br /&gt;
#define	itbd_NerveGas		1 &lt;br /&gt;
#define	itbd_Poison		2&lt;br /&gt;
#define	itbd_Radiation		3 &lt;br /&gt;
#define	itbd_DrownRecover	4&lt;br /&gt;
#define	itbd_Acid		5&lt;br /&gt;
#define	itbd_SlowBurn		6&lt;br /&gt;
#define	itbd_SlowFreeze		7 &lt;br /&gt;
#define CDMG_TIMEBASED		8 &lt;br /&gt;
&amp;lt;/pawn &amp;gt;&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| ?&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 78&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 83 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | ?&lt;br /&gt;
| m_rgbTimeBasedDamage is made with 8 BYTES, so it take the same place as 2 int.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_MonsterState&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 79&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 84 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | MONSTERSTATE&lt;br /&gt;
| Monster's current state.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_IdealMonsterState&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 80 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 85&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | MONSTERSTATE&lt;br /&gt;
| Monster should change to this state.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_afConditions&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 81&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 86&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | int&lt;br /&gt;
| None.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_afMemory&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 82&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 87&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | int&lt;br /&gt;
| None.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_flNextAttack&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 83&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 88&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | float&lt;br /&gt;
| Cannot attack again until this time.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_hEnemy&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 84&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 89&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | EHANDLE&lt;br /&gt;
| The entity that the monster is fighting.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| ?&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 85&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 92 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | ?&lt;br /&gt;
| None.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_hTargetEnt&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 86&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 91&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | EHANDLE&lt;br /&gt;
| The entity that the monster is trying to reach.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| ?&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 87&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 92 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | ?&lt;br /&gt;
| None.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_flFieldOfView&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 88&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 93&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | float&lt;br /&gt;
| Width of monster's field of view. ( dot product )&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_bloodColor&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 89&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 94&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | int&lt;br /&gt;
| Color of blood particles.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_HackedGunPos&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 90&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 95&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | Vector&lt;br /&gt;
| Hack until we can query end of gun.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| ?&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 91&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 96 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | ?&lt;br /&gt;
| None.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| ?&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 92&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 97 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | ?&lt;br /&gt;
| None.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_vecEnemyLKP&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 93&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 98&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | Vector&lt;br /&gt;
| Last known position of enemy. (enemy's origin)&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| ?&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 94&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 99&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | ?&lt;br /&gt;
| None.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| ?&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 95&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 100&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5 &lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | ?&lt;br /&gt;
| None.&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>ConnorMcLeod</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.alliedmods.net/index.php?title=CBaseToggle_(CS)&amp;diff=8452</id>
		<title>CBaseToggle (CS)</title>
		<link rel="alternate" type="text/html" href="https://wiki.alliedmods.net/index.php?title=CBaseToggle_(CS)&amp;diff=8452"/>
		<updated>2012-04-24T12:13:47Z</updated>

		<summary type="html">&lt;p&gt;ConnorMcLeod: /* Entity Data */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:CS Class List]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Basic Information == &lt;br /&gt;
&lt;br /&gt;
* '''Classname''': CBaseToggle. &amp;lt;br /&amp;gt;&lt;br /&gt;
* '''Description''': Generic toggle entity. &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Class Hierarchy ==&lt;br /&gt;
&lt;br /&gt;
* [[CBaseEntity (CS)|CBaseEntity]]&lt;br /&gt;
** [[CBaseDelay (CS)| CBaseDelay]]&lt;br /&gt;
*** [[CBaseAnimating (CS)|CBaseAnimating]]&lt;br /&gt;
**** '''CBaseToggle'''&lt;br /&gt;
***** [[CBaseButton (CS)|CBaseButton]]&lt;br /&gt;
***** [[CBaseDoor (CS)|CBaseDoor]]&lt;br /&gt;
***** [[CBaseMonster (CS)|CBaseMonster]]&lt;br /&gt;
***** [[CBasePlatTrain (CS)|CBasePlatTrain]]&lt;br /&gt;
***** [[CBaseTrigger (CS)|CBaseTrigger]]&lt;br /&gt;
***** [[CFuncIllusionary (CS)|CFuncIllusionary ''(func_illusionary)'']]&lt;br /&gt;
***** [[CFuncMortarField (CS)|CFuncMortarField ''(func_mortar_field)'']]&lt;br /&gt;
***** [[CMomentaryDoor (CS)|CMomentaryDoor ''(momentary_door)'']]&lt;br /&gt;
***** [[CMomentaryRotButton (CS)|CMomentaryRotButton ''(momentary_rot_button)'']]&lt;br /&gt;
***** [[CMultiManager (CS)|CMultiManager ''(multi_manager)'']]&lt;br /&gt;
***** [[CRecharge (CS)|CRecharge ''(func_recharge)'']]&lt;br /&gt;
***** [[CWallHealth (CS)|CWallHealth ''(func_healthcharger)'']]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Entity Data ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;W = Windows |&amp;lt;/tt&amp;gt;&amp;lt;tt&amp;gt; L = Linux&amp;lt;/tt&amp;gt;&lt;br /&gt;
{| cellpadding=&amp;quot;4&amp;quot;&lt;br /&gt;
|- class=&amp;quot;t2th&amp;quot;&lt;br /&gt;
! Name !! W. Offset !! L. Offset !! L. Diff !! Type !! Description&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_toggle_state&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 41&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 45&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +4&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | TOGGLE_STATE&lt;br /&gt;
| None.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_flActivateFinished&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 42&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 46&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +4&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | float&lt;br /&gt;
| Like attack_finished, but for doors.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_flMoveDistance&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 43&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 47&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +4&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | float&lt;br /&gt;
| How far a door should slide or rotate.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_flWait&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 44&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 48&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +4&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | float&lt;br /&gt;
| None.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_flLip&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 45&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 49&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +4&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | float&lt;br /&gt;
| None.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_flTWidth&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 46&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 50&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +4&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | float&lt;br /&gt;
| For plats.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_flTLength&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 47&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 51&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +4&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | float&lt;br /&gt;
| For plats.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_vecPosition1&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 48&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 52&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +4&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | Vector&lt;br /&gt;
| None.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_vecPosition2&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 51&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 55&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +4&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | Vector&lt;br /&gt;
| None.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_vecAngle1&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 54&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 58&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +4&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | Vector&lt;br /&gt;
| None.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_vecAngle2&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 57&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 61&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +4&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | Vector&lt;br /&gt;
| None.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_cTriggersLeft&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 60&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 64&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +4&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | int&lt;br /&gt;
| ''trigger_counter'' only, # of activations remaining.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_flHeight&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 61&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 65&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +4&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | float&lt;br /&gt;
| None.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_hActivator&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 62&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 66&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +4&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | EHANDLE&lt;br /&gt;
| None.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_pfnCallWhenMoveDone&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 64&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 68&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +4&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | void (CBaseToggle::*)(void)&lt;br /&gt;
| None.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_vecFinalDest&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 65&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 70&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | Vector&lt;br /&gt;
| None.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_vecFinalAngle&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 68&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 73&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | Vector&lt;br /&gt;
| None.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_bitsDamageInflict&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 71&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 76&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | int&lt;br /&gt;
| DMG_ damage type that the door or tigger does.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_sMaster&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 72&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 77&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | string_t&lt;br /&gt;
| If this button has a master switch, this is the targetname. A master switch must be of the multisource type. If all of the switches in the multisource have been triggered, then the button will be allowed to operate. Otherwise, it will be deactivated.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== HLSDK Reference ==&lt;br /&gt;
&lt;br /&gt;
* [http://svn.tcwonline.org/viewvc.cgi/hlsdk/dlls/cbase.h?view=markup&amp;amp;root=amxmodx cbase.h] ''(line 505)''&lt;/div&gt;</summary>
		<author><name>ConnorMcLeod</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.alliedmods.net/index.php?title=CBaseToggle_(CS)&amp;diff=8451</id>
		<title>CBaseToggle (CS)</title>
		<link rel="alternate" type="text/html" href="https://wiki.alliedmods.net/index.php?title=CBaseToggle_(CS)&amp;diff=8451"/>
		<updated>2012-04-24T12:13:18Z</updated>

		<summary type="html">&lt;p&gt;ConnorMcLeod: /* Entity Data */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:CS Class List]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Basic Information == &lt;br /&gt;
&lt;br /&gt;
* '''Classname''': CBaseToggle. &amp;lt;br /&amp;gt;&lt;br /&gt;
* '''Description''': Generic toggle entity. &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Class Hierarchy ==&lt;br /&gt;
&lt;br /&gt;
* [[CBaseEntity (CS)|CBaseEntity]]&lt;br /&gt;
** [[CBaseDelay (CS)| CBaseDelay]]&lt;br /&gt;
*** [[CBaseAnimating (CS)|CBaseAnimating]]&lt;br /&gt;
**** '''CBaseToggle'''&lt;br /&gt;
***** [[CBaseButton (CS)|CBaseButton]]&lt;br /&gt;
***** [[CBaseDoor (CS)|CBaseDoor]]&lt;br /&gt;
***** [[CBaseMonster (CS)|CBaseMonster]]&lt;br /&gt;
***** [[CBasePlatTrain (CS)|CBasePlatTrain]]&lt;br /&gt;
***** [[CBaseTrigger (CS)|CBaseTrigger]]&lt;br /&gt;
***** [[CFuncIllusionary (CS)|CFuncIllusionary ''(func_illusionary)'']]&lt;br /&gt;
***** [[CFuncMortarField (CS)|CFuncMortarField ''(func_mortar_field)'']]&lt;br /&gt;
***** [[CMomentaryDoor (CS)|CMomentaryDoor ''(momentary_door)'']]&lt;br /&gt;
***** [[CMomentaryRotButton (CS)|CMomentaryRotButton ''(momentary_rot_button)'']]&lt;br /&gt;
***** [[CMultiManager (CS)|CMultiManager ''(multi_manager)'']]&lt;br /&gt;
***** [[CRecharge (CS)|CRecharge ''(func_recharge)'']]&lt;br /&gt;
***** [[CWallHealth (CS)|CWallHealth ''(func_healthcharger)'']]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Entity Data ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;W = Windows |&amp;lt;/tt&amp;gt;&amp;lt;tt&amp;gt; L = Linux&amp;lt;/tt&amp;gt;&lt;br /&gt;
{| cellpadding=&amp;quot;4&amp;quot;&lt;br /&gt;
|- class=&amp;quot;t2th&amp;quot;&lt;br /&gt;
! Name !! W. Offset !! L. Offset !! L. Diff !! Type !! Description&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_toggle_state&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 41&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 45&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +4&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | TOGGLE_STATE&lt;br /&gt;
| None.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_flActivateFinished&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 42&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 46&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +4&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | float&lt;br /&gt;
| Like attack_finished, but for doors.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_flMoveDistance&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 43&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 47&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +4&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | float&lt;br /&gt;
| How far a door should slide or rotate.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_flWait&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 44&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 48&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +4&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | float&lt;br /&gt;
| None.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_flLip&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 45&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 49&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +4&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | float&lt;br /&gt;
| None.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_flTWidth&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 46&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 50&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +4&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | float&lt;br /&gt;
| For plats.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_flTLength&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 47&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 51&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +4&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | float&lt;br /&gt;
| For plats.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_vecPosition1&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 48&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 52&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +4&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | Vector&lt;br /&gt;
| None.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_vecPosition2&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 51&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 55&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +4&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | Vector&lt;br /&gt;
| None.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_vecAngle1&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 54&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 58&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +4&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | Vector&lt;br /&gt;
| None.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_vecAngle2&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 57&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 61&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +4&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | Vector&lt;br /&gt;
| None.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_cTriggersLeft&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 60&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 64&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +4&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | int&lt;br /&gt;
| ''trigger_counter'' only, # of activations remaining.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_flHeight&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 61&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 65&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +4&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | float&lt;br /&gt;
| None.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_hActivator&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 62&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 66&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +4&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | EHANDLE&lt;br /&gt;
| None.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_pfnCallWhenMoveDone&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 64&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 68&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +4&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | void (CBaseToggle::*)(void)&lt;br /&gt;
| None.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_vecFinalDest&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 65&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 70&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +4&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | Vector&lt;br /&gt;
| None.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_vecFinalAngle&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 68&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 73&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | Vector&lt;br /&gt;
| None.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_bitsDamageInflict&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 71&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 76&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | int&lt;br /&gt;
| DMG_ damage type that the door or tigger does.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| m_sMaster&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 72&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | 77&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | +5&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | string_t&lt;br /&gt;
| If this button has a master switch, this is the targetname. A master switch must be of the multisource type. If all of the switches in the multisource have been triggered, then the button will be allowed to operate. Otherwise, it will be deactivated.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== HLSDK Reference ==&lt;br /&gt;
&lt;br /&gt;
* [http://svn.tcwonline.org/viewvc.cgi/hlsdk/dlls/cbase.h?view=markup&amp;amp;root=amxmodx cbase.h] ''(line 505)''&lt;/div&gt;</summary>
		<author><name>ConnorMcLeod</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.alliedmods.net/index.php?title=Module_Writing_(AMX_Mod_X)&amp;diff=8396</id>
		<title>Module Writing (AMX Mod X)</title>
		<link rel="alternate" type="text/html" href="https://wiki.alliedmods.net/index.php?title=Module_Writing_(AMX_Mod_X)&amp;diff=8396"/>
		<updated>2012-02-12T16:16:13Z</updated>

		<summary type="html">&lt;p&gt;ConnorMcLeod: /* Amxmodx SDK */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;AMX Mod X Modules are written in C or C++ (the API is C compatible).&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
So you want to be a module developer for Amxmodx!  Well its not too hard.  I will be doing this in Windows as I dont have a Linux box to frick around with at the moment.  So, windows only at this point, a Linux version will be forthcoming!&lt;br /&gt;
&lt;br /&gt;
== Necessary Files ==&lt;br /&gt;
Well first we need to gather up the neccessary files for your computer.  The first thing you need to know, its NOT complicated.  If you can script in pawn, you can program in C/C++!&lt;br /&gt;
&lt;br /&gt;
=== Metamod ===&lt;br /&gt;
As we all know metamod is the backbone of the whole thing, without this all mods for and HL game would not be possible unless we programmed it ourselves!  So many thanks to willday for the development of Metamod, and for BAILOPAN and his crew helping to maintain and update it!  Hats off to all!  Ok so now onto the file gathering!  First thing is first we need to goto Metamod: [http://metamod.org/ metamod.org] from there we need to gather up 2 SDK's.&lt;br /&gt;
&lt;br /&gt;
==== HL-SDK ====&lt;br /&gt;
The Half Life SDK is the first thing in the list to gather up!  We can get this at the same spot that we will be gathering up metamod!  So we click on the SDK Link or goto:  [http://metamod.sourceforge.net/files/sdk/ Here].  From here we need to grab the HLSDK, preferably the one that has been tweeked out for Metamod.  So we are looking for this:&lt;br /&gt;
&lt;br /&gt;
 hlsdk-2.3-p3.zip                - The Standard SDK v2.3 with various fixes and&lt;br /&gt;
                                   updates, that Metamod is compiled against.&lt;br /&gt;
                                   Files are in DOS format.&lt;br /&gt;
&lt;br /&gt;
So lets grab the [http://metamod.sourceforge.net/files/sdk/hlsdk-2.3-p3.zip hlsdk-2.3-p3.zip] first!  Once this is done you will need to extract this to your Hard Drive.  What we will be doing is extracting these files to the following directory, these will be arbitray directories for ease of the document so dont sweat it once you proficient you can move them around :-)  Ok so extract the files to the following directory: c:\sdk_files\&lt;br /&gt;
&lt;br /&gt;
==== Metamod SDK ====&lt;br /&gt;
Ok, so we have the HL-SDK we now need to Metamod SDK.  So we need to go back to the root of Metamod &lt;br /&gt;
[http://metamod.org/ here] and then click on the  v1.xx Sourcecode zip to get the latest SDK from Sourceforge, you can get that file from the best location for you or for a quick link click [http://prdownloads.sourceforge.net/metamod/metamod-1.19-win.src.zip?download metamod-1.xx-win.src.zip] to get the files.&lt;br /&gt;
&lt;br /&gt;
==== Amxmodx SDK ==== &lt;br /&gt;
Now we need to grab the last of the SDK's so we can go carry on.  First we need to goto the Amxmodx Website so that we can get to the SDK via the Downloads area and SVN!  [http://hg.alliedmods.net/amxmodx-central/ Amxmodx SDK].&lt;br /&gt;
&lt;br /&gt;
==== Unix2Dos the Files ====&lt;br /&gt;
So, once you have all the files we need to fix them up a bit.  One of the things that will become bothersome later is the Unix File Format that HLSDK / Metamod has, its suppose to be Windows, but its not, so we need to convert the files, soooo...we will use the following tutorial to fix this [[GnuWin32]] Once you have that setup you can use the following to repair all files easily [http://wiki.dodplugins.net/images/6/61/Repair.rar Repair.bat].&lt;br /&gt;
&lt;br /&gt;
== Setup ==&lt;br /&gt;
On Windows, a particular directory layout is not required.  Instead, environment variables are used.  The directions below apply to Windows XP, and are assumed to be similar for other versions of Windows.&lt;br /&gt;
*Open the Control Panel (for example, via Start -&amp;gt; Settings).&lt;br /&gt;
*Open the System control.  If you don't see it, you may need to switch to &amp;quot;Classic view&amp;quot; (either via the left-hand pane or by going to Tools -&amp;gt; Folder Options).&lt;br /&gt;
*Click the Advanced tab.&lt;br /&gt;
*Click the Environment Variables button.&lt;br /&gt;
&lt;br /&gt;
You can add your environment variables to either your User settings or your System settings.  Create a new variable for each item in the list below.  The item names are in &amp;lt;tt&amp;gt;fixed-width font&amp;lt;/tt&amp;gt; and their value descriptions follow.&lt;br /&gt;
*&amp;lt;tt&amp;gt;METAMOD&amp;lt;/tt&amp;gt; - Path to Metamod headers (where metamod.h resides)&lt;br /&gt;
*&amp;lt;tt&amp;gt;HLSDK&amp;lt;/tt&amp;gt; - Path to Half-Life SDK&lt;br /&gt;
&lt;br /&gt;
== Compiler GUI ==&lt;br /&gt;
Now that we have all the SDK files we will need to get the Compiler.  The one that we will be using will be the Microsoft Visual 2005 Express Edition.  &lt;br /&gt;
&lt;br /&gt;
=== Visual C++ 2005 Express Edition ===&lt;br /&gt;
First thing you need to do is grab the web install files:  [http://go.microsoft.com/fwlink/?LinkId=51410&amp;amp;clcid=0x409 Visual C++ 2005 Express Edition] if you want to grab the network install you should grab the following: [http://msdn.microsoft.com/vstudio/express/support/install/ Network Install Files], for network install either grab the [http://go.microsoft.com/fwlink/?linkid=54766 Image File] or the [http://go.microsoft.com/fwlink/?linkid=57034 ISO File] your choice. Ok so now your have the iso/img file you need to either burn it or use a Virtual CD/DVD to install it.  I wont go into detail on this as its pretty simple, but make sure that you only install the Graphical IDE, if you want to you can install the Microsoft MSDN 2005 Express Edition, these are the help files that you can access by hitting F1 once in the GUI, if you haven't downloaded them, thats fine it will connect you to the Online version of them instead.&lt;br /&gt;
&lt;br /&gt;
=== Platform SDK ===&lt;br /&gt;
The platform SDK is a needed piece of kit, without it we wont be able to compile.  You will need to grab it from this site: [http://msdn.microsoft.com/vstudio/express/visualc/usingpsdk/ Platform SDK Site].  Specifically you need to grab proper file for your architecture, goto the above page and scroll down to the Files in This Download section.  Download the file that you need and install it.  Make sure to do a custom install unless you dont mind a bunch of crap on your computer.  You want to have only the following items installed:&lt;br /&gt;
&lt;br /&gt;
 Microsoft Windows Core SDK&lt;br /&gt;
 Microsoft Direct Show SDK&lt;br /&gt;
 Microsoft Media Services SDK&lt;br /&gt;
&lt;br /&gt;
=== .NET SDK ===&lt;br /&gt;
Next we need to grab the Dot Net install and the Dot Net SDK.  You can grab the [http://www.microsoft.com/downloads/info.aspx?na=90&amp;amp;p=&amp;amp;SrcDisplayLang=en&amp;amp;SrcCategoryId=&amp;amp;SrcFamilyId=262d25e3-f589-4842-8157-034d1e7cf3a3&amp;amp;u=http%3a%2f%2fdownload.microsoft.com%2fdownload%2fa%2fa%2fc%2faac39226-8825-44ce-90e3-bf8203e74006%2fdotnetfx.exe dotnet.1.1.exe] and install it.  Next you will need the .NET SDK, you can grapple [http://www.microsoft.com/downloads/info.aspx?na=90&amp;amp;p=&amp;amp;SrcDisplayLang=en&amp;amp;SrcCategoryId=&amp;amp;SrcFamilyId=9B3A2CA6-3647-4070-9F41-A333C6B9181D&amp;amp;u=http%3a%2f%2fdownload.microsoft.com%2fdownload%2f5%2f2%2f0%2f5202f918-306e-426d-9637-d7ee26fbe507%2fsetup.exe dotnet.1.1.sdk.exe]  Once these are installed your good to start up the GUI.&lt;br /&gt;
&lt;br /&gt;
== Message Module ( Demo ) ==&lt;br /&gt;
Right, now that we have the base all good and done, we need to get going with the module.  First thing we need to do is create a new module, for ease of use I have for the moment made up a demo module called [http://www.dodplugins.net/files/dod_mm.zip dod_mm], DoD Message Module.  Grab this and extract it to the c:\sdk_files directory.&lt;br /&gt;
&lt;br /&gt;
=== Editing Module Information ===&lt;br /&gt;
First things first you need to open up the dod_mm.vcproj this will open up Visual C++.  Once its open you will see on the left a dod_mm under the solutions area.  Open moduleconfig.h.  In here we will look for the following:&lt;br /&gt;
&lt;br /&gt;
 #define MODULE_NAME &amp;quot;--ENTER NAME HERE--&amp;quot;&lt;br /&gt;
 #define MODULE_VERSION &amp;quot;--ENTER VERSION HERE--&amp;quot;&lt;br /&gt;
 #define MODULE_AUTHOR &amp;quot;--ENTER AUTHOR HERE--&amp;quot;&lt;br /&gt;
 #define MODULE_URL &amp;quot;--ENTER URL HERE--&amp;quot;&lt;br /&gt;
 #define MODULE_LOGTAG &amp;quot;--ENTER LOGTAG HERE--&amp;quot;&lt;br /&gt;
 #define MODULE_LIBRARY &amp;quot;--ENTER LIBRARY HERE--&amp;quot;&lt;br /&gt;
 #define MODULE_LIBCLASS &amp;quot;&amp;quot; &lt;br /&gt;
&lt;br /&gt;
This is the infor that will be displayed about the module when you have it running on your server.  Lets say you type in amxx modules in the command line, you will get information about all the modules running on your server, including this one, once its done.  So now we need to edit it to reflect our new module:&lt;br /&gt;
&lt;br /&gt;
 #define MODULE_NAME &amp;quot;DoD Message Module&amp;quot;&lt;br /&gt;
 #define MODULE_VERSION &amp;quot;0.1&amp;quot;&lt;br /&gt;
 #define MODULE_AUTHOR &amp;quot;DoD Plugins Community&amp;quot;&lt;br /&gt;
 #define MODULE_URL &amp;quot;http://www.dodplugins.net&amp;quot;&lt;br /&gt;
 #define MODULE_LOGTAG &amp;quot;DoDMM&amp;quot;&lt;br /&gt;
 #define MODULE_LIBRARY &amp;quot;dod_mm&amp;quot;&lt;br /&gt;
 #define MODULE_LIBCLASS &amp;quot;&amp;quot; &lt;br /&gt;
&lt;br /&gt;
=== Exposing Functions ===&lt;br /&gt;
So now that this is done we need to tell the module to use Metamod Natives, this is done by finding the followin:&lt;br /&gt;
&lt;br /&gt;
 // metamod plugin?&lt;br /&gt;
 // #define USE_METAMOD&lt;br /&gt;
&lt;br /&gt;
And changing it to:&lt;br /&gt;
&lt;br /&gt;
 // metamod plugin?&lt;br /&gt;
 #define USE_METAMOD&lt;br /&gt;
&lt;br /&gt;
Or in other words uncommenting it.  :-)  So now that this is done we have access to loads of stuff that metamod has to offer us as well as Amxmodx stuff.  Once this is done we now need to expose the functions from metamod that we will be using for this message module.  &lt;br /&gt;
&lt;br /&gt;
==== Amxmodx ====&lt;br /&gt;
If you scroll down you will find the following two functions from amxmodx that we will be using:&lt;br /&gt;
&lt;br /&gt;
 /** AMXX attach&lt;br /&gt;
  * Do native functions init here (MF_AddNatives)&lt;br /&gt;
  */&lt;br /&gt;
 // #define FN_AMXX_ATTACH OnAmxxAttach&lt;br /&gt;
 &lt;br /&gt;
 /** AMXX Detach (unload) */&lt;br /&gt;
 // #define FN_AMXX_DETACH OnAmxxDetach&lt;br /&gt;
&lt;br /&gt;
We will expose these by uncommenting them.  Later on in this document I will explain where the function itself goes and what goes in them.&lt;br /&gt;
&lt;br /&gt;
==== HL API ====&lt;br /&gt;
Next we will expose some of the functions that come from the HL Server Engine that Metamod has exposed for us.  The functions that we are exposing are ones that we will need specific to messages:&lt;br /&gt;
&lt;br /&gt;
 #define FN_MessageBegin_Post					MessageBegin_Post&lt;br /&gt;
 #define FN_MessageEnd_Post					MessageEnd_Post&lt;br /&gt;
 #define FN_WriteByte_Post					WriteByte_Post&lt;br /&gt;
 #define FN_WriteChar_Post					WriteChar_Post&lt;br /&gt;
 #define FN_WriteShort_Post					WriteShort_Post&lt;br /&gt;
 #define FN_WriteLong_Post					WriteLong_Post&lt;br /&gt;
 #define FN_WriteAngle_Post					WriteAngle_Post&lt;br /&gt;
 #define FN_WriteCoord_Post					WriteCoord_Post&lt;br /&gt;
 #define FN_WriteString_Post					WriteString_Post&lt;br /&gt;
 #define FN_WriteEntity_Post					WriteEntity_Post&lt;br /&gt;
&lt;br /&gt;
These are the actual messages that will be caught.  Finally we need to catch the registering of those messages we can see in [http://wiki.dodplugins.net/index.php/Meta_Game Meta Game].  This is the function we are going to expose next:&lt;br /&gt;
&lt;br /&gt;
 #define FN_RegUserMsg_Post					RegUserMsg_Post&lt;br /&gt;
&lt;br /&gt;
Now that all the functions that we will be using have been exposed we are good to carry on with the meat of the module.&lt;br /&gt;
&lt;br /&gt;
=== Developing Module ===&lt;br /&gt;
Right on, now we have the basics down.  We are ready to start programming.  So we need a main file now.  So now we need to right click on the dod_mm and goto Add-&amp;gt;New Item as shown in the picture below:&lt;br /&gt;
&lt;br /&gt;
[[Image:adding_item.jpg]]&lt;br /&gt;
&lt;br /&gt;
Once thats done a new window comes up, we need to click on code, then Header File (.h) giving it the name main.h&lt;br /&gt;
&lt;br /&gt;
[[Image:main_header.jpg]]&lt;br /&gt;
&lt;br /&gt;
Now we have a file to work with.  So, we need to first set it up as a standard Header file so that it is only included once into memory.  So we add the following:&lt;br /&gt;
&lt;br /&gt;
 #ifndef DOD_MM_H&lt;br /&gt;
      #define DOD_MM_H&lt;br /&gt;
      // Code will go between here&lt;br /&gt;
 &lt;br /&gt;
      // And Here!&lt;br /&gt;
 #endif&lt;br /&gt;
&lt;br /&gt;
So this will ensure that all the code we put between those two comments are only loaded once into the compilation process.  Now that we have this part complete we will start coding.  As we are making a module to catch all the Messages that occur on a HL DoD Server the first thing we need to do is create a structure to keep all the data that we will use.  This structure will be called StructUserMsg and will contain two members the id of the message which can be anything from 0 - 256 messages and the name of the message.  We can get these names from [http://wiki.dodplugins.net/index.php/Meta_Game Meta Game].  These will be the messages that will pop up.  Now that we have this done the file should look like so:&lt;br /&gt;
&lt;br /&gt;
 #ifndef DOD_MM_H&lt;br /&gt;
      #define DOD_MM_H&lt;br /&gt;
      // Code will go between here&lt;br /&gt;
 &lt;br /&gt;
      #include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
      #include &amp;quot;sdk/amxxmodule.h&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
      struct StructUserMsg &lt;br /&gt;
      {&lt;br /&gt;
            int id;&lt;br /&gt;
            char name[256];&lt;br /&gt;
      };&lt;br /&gt;
 &lt;br /&gt;
      // And Here!&lt;br /&gt;
 #endif&lt;br /&gt;
&lt;br /&gt;
==== CPP File ====&lt;br /&gt;
So now that we have the structure done the first thing we have to do is make a CPP file the same as we did the Header file except with a CPP.  We will name this file the same as the Header that we created as this cpp will call the header to get its information.  Once we have created the file the first thing we need to do is call the header file by adding this to the top:&lt;br /&gt;
&lt;br /&gt;
 #include &amp;quot;main.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
That will ensure to grab our structure so the rest of the program knows what it is.  Once this is done we need to create a few global variables to use.  The first one we will use is one that will allow us to output to a file all the data that we are gathering:&lt;br /&gt;
&lt;br /&gt;
 FILE *stream;&lt;br /&gt;
&lt;br /&gt;
Next we need a global state variable so that we know what call we are on within the message.  This will count all the calls to each specific message:&lt;br /&gt;
&lt;br /&gt;
 int g_state;&lt;br /&gt;
&lt;br /&gt;
Now finally we need to create the global variable for the structure we created:&lt;br /&gt;
&lt;br /&gt;
 StructUserMsg g_user_msg[MAX_REG_MSGS];&lt;br /&gt;
&lt;br /&gt;
==== Amxmodx Functions Created ====&lt;br /&gt;
So this is most important.  We created a StructUserMsg array of MAX_REG_MSGS in length, this is 256.  Ok we are good now on the globals.  Pretty simple.  Now remember those functions we exposed, well we need to create those functions so that Amxmodx will call them.  First we will look at the Amxmodx functions:&lt;br /&gt;
&lt;br /&gt;
 void OnAmxxAttach()&lt;br /&gt;
 {&lt;br /&gt;
      fopen_s(&amp;amp;stream, &amp;quot;messages.txt&amp;quot;, &amp;quot;w&amp;quot;);&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 void OnAmxxDetach()&lt;br /&gt;
 {&lt;br /&gt;
      fclose(stream);&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
So now that these are created lets understand them.  When amxmodx starts up and calls the module we are creating the OnAmxxAttach is the first thing that is called, in our case we are opening up a file called messages.txt that will be in the base HL directory.  This will contain all the output from our module.  &lt;br /&gt;
&lt;br /&gt;
 '''*** NOTE *** This will take up alot of room, so be carefull'''&lt;br /&gt;
&lt;br /&gt;
Ok, the second function is just the opposite, when amxmodx closes this is the last function called, so we want to close the file.&lt;br /&gt;
&lt;br /&gt;
==== Metamod HL API Functions Created ====&lt;br /&gt;
Now onward.  The Amxmodx functions are complete now we need to create the functions for the Metamod / HL API.  First we will create the most important function the registration function, in order to understand the funtions we first need to know what we are looking for.  So we exposed the following:&lt;br /&gt;
&lt;br /&gt;
 #define FN_RegUserMsg_Post					RegUserMsg_Post&lt;br /&gt;
&lt;br /&gt;
Ok so what the hell is this???  Well if you highlight and copy FN_RegUserMsg_Post then open up amxxmodule.h and do a search for '''FN_RegUserMsg_Post''' you will find the following:&lt;br /&gt;
&lt;br /&gt;
 #ifdef FN_RegUserMsg_Post&lt;br /&gt;
 int FN_RegUserMsg_Post(const char *pszName, int iSize);&lt;br /&gt;
 #endif // FN_RegUserMsg_Post&lt;br /&gt;
&lt;br /&gt;
This is where we get the function declaration from.  So we copy the following:&lt;br /&gt;
&lt;br /&gt;
 int FN_RegUserMsg_Post(const char *pszName, int iSize);&lt;br /&gt;
&lt;br /&gt;
And make a function out of it as such:&lt;br /&gt;
&lt;br /&gt;
 int RegUserMsg_Post(const char *pszName, int iSize)&lt;br /&gt;
 {&lt;br /&gt;
      RETURN_META_VALUE(MRES_IGNORED, 0);&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Now this is the start of our function.  You notice the RETURN_META_VALUE, this is a metamod return, because the function is returning an int we need to tell metamod to ignore what we have done with this function and return an integer.  This is what this means.  One of the others we will be returning alot is as follows:&lt;br /&gt;
&lt;br /&gt;
 RETURN_META(MRES_IGNORED);&lt;br /&gt;
&lt;br /&gt;
This is what we use when a function returns a void or nothing.  This function is pretty basic.  First thing we are going to do is grab the original return value that we would have gotten if we wanted to do stuff with this function.  In this case it is the message id:&lt;br /&gt;
&lt;br /&gt;
 int msgid = META_RESULT_ORIG_RET(int);&lt;br /&gt;
&lt;br /&gt;
Next we are going to assign the message id to our message structure at the location of the message id...bit confusing but important:&lt;br /&gt;
&lt;br /&gt;
 g_user_msg[msgid].id = msgid;&lt;br /&gt;
&lt;br /&gt;
Finally we are going to assign the message name to the message structure using a string copy:&lt;br /&gt;
&lt;br /&gt;
 strcpy(g_user_msg[msgid].name, pszName);&lt;br /&gt;
&lt;br /&gt;
Ok now we have the register function done it will look like so when done:&lt;br /&gt;
&lt;br /&gt;
 // First thing when all the messages are sent out to a client we grab them and take a look at them&lt;br /&gt;
 int RegUserMsg_Post(const char *pszName, int iSize)&lt;br /&gt;
 {&lt;br /&gt;
      int msgid = META_RESULT_ORIG_RET(int);&lt;br /&gt;
      g_user_msg[msgid].id = msgid;&lt;br /&gt;
      strcpy(g_user_msg[msgid].name, pszName);&lt;br /&gt;
 &lt;br /&gt;
      RETURN_META_VALUE(MRES_IGNORED, 0);&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now we need to worry about the next important function, the message begins function.  This is called when a message is initialized on the server to be sent out to someone somewhere.  It looks like this:&lt;br /&gt;
&lt;br /&gt;
 // When a MESSAGE_BEGIN is sent we catch it After it gets to the player&lt;br /&gt;
 void MessageBegin_Post(int msg_dest, int msg_type, const float *pOrigin, edict_t *player) &lt;br /&gt;
 {&lt;br /&gt;
      RETURN_META(MRES_IGNORED);&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Voila...now this is very important part because this is where and when the message begins...remember we can '''NEVER''' call another message_begin while we are in a message...so we have to wait until after when we hit message_end.  Now we are going to add some stuff to this to make it work.  First we want to make sure that its not a bogus or bad message:&lt;br /&gt;
&lt;br /&gt;
 if(msg_type &amp;lt; 0 || msg_type &amp;gt;= MAX_REG_MSGS)&lt;br /&gt;
 {&lt;br /&gt;
      g_state = -1;&lt;br /&gt;
      RETURN_META(MRES_IGNORED); // Bad Message&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
If it is we bounce out of this message.  If not then its a good message and we want to carry on.  Next thing we do is print out that we are in the message beginning to both the console and the file:&lt;br /&gt;
&lt;br /&gt;
 // Log the message Name&lt;br /&gt;
 printf(&amp;quot;[Message ID]\t%d\n[Message Name]\t%s\n[Message Dest]\t&amp;quot;, g_user_msg[msg_type].id, g_user_msg[msg_type].name);&lt;br /&gt;
 fprintf(stream, &amp;quot;[Message ID]\t%d\n[Message Name]\t%s\n[Message Dest]\t&amp;quot;, g_user_msg[msg_type].id, g_user_msg[msg_type].name);&lt;br /&gt;
&lt;br /&gt;
As you can see we are printing out the message id the message name that we stored in our structure earlier.  Once this is done we will check the message destination and print that out as well.  There are 3 places a message could be going 0 = all, 1 - 32 is Individually to a player, and 33 - MAX_REG_MSGS is all others.  So we will tell which it is with the following:&lt;br /&gt;
&lt;br /&gt;
 // Is it too all, or to an individual&lt;br /&gt;
 if(msg_dest == 0)&lt;br /&gt;
 {&lt;br /&gt;
       printf(&amp;quot;All\n&amp;quot;);&lt;br /&gt;
       fprintf(stream, &amp;quot;All\n&amp;quot;);&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 else if(msg_dest &amp;gt; 0 &amp;amp;&amp;amp; msg_dest &amp;lt; 33)&lt;br /&gt;
 {&lt;br /&gt;
       printf(&amp;quot;Individual\n&amp;quot;);&lt;br /&gt;
       fprintf(stream, &amp;quot;Individual\n&amp;quot;);&lt;br /&gt;
 &lt;br /&gt;
       if(player)&lt;br /&gt;
       {&lt;br /&gt;
              int id = ENTINDEX(player);&lt;br /&gt;
              const char* name = STRING(player-&amp;gt;v.netname);&lt;br /&gt;
              const char* auth = (*g_engfuncs.pfnGetPlayerAuthId)(player);&lt;br /&gt;
              printf(&amp;quot;[Player]\t&amp;lt;%s&amp;gt;&amp;lt;%d&amp;gt;&amp;lt;%s&amp;gt;\n&amp;quot;, name, id, auth);&lt;br /&gt;
              fprintf(stream, &amp;quot;[Player]\t&amp;lt;%s&amp;gt;&amp;lt;%d&amp;gt;&amp;lt;%s&amp;gt;\n&amp;quot;, name, id, auth);&lt;br /&gt;
       }&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 else&lt;br /&gt;
 {&lt;br /&gt;
       printf(&amp;quot;Other\n&amp;quot;);&lt;br /&gt;
       fprintf(stream, &amp;quot;Other\n&amp;quot;);&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Self explanatory, finally we need to set the global variable g_state to zero:&lt;br /&gt;
&lt;br /&gt;
 g_state = 0;&lt;br /&gt;
&lt;br /&gt;
So this funtion is done.  Here is the end result:&lt;br /&gt;
&lt;br /&gt;
 // When a MESSAGE_BEGIN is sent we catch it After it gets to the player&lt;br /&gt;
 void MessageBegin_Post(int msg_dest, int msg_type, const float *pOrigin, edict_t *player) &lt;br /&gt;
 {&lt;br /&gt;
      if(msg_type &amp;lt; 0 || msg_type &amp;gt;= MAX_REG_MSGS)&lt;br /&gt;
      {&lt;br /&gt;
            g_state = -1;&lt;br /&gt;
            RETURN_META(MRES_IGNORED); // Bad Message&lt;br /&gt;
      }&lt;br /&gt;
 &lt;br /&gt;
      // Log the message Name&lt;br /&gt;
      printf(&amp;quot;[Message ID]\t%d\n[Message Name]\t%s\n[Message Dest]\t&amp;quot;, g_user_msg[msg_type].id, g_user_msg[msg_type].name);&lt;br /&gt;
      fprintf(stream, &amp;quot;[Message ID]\t%d\n[Message Name]\t%s\n[Message Dest]\t&amp;quot;, g_user_msg[msg_type].id, g_user_msg[msg_type].name);&lt;br /&gt;
 &lt;br /&gt;
      // Is it too all, or to an individual&lt;br /&gt;
      if(msg_dest == 0)&lt;br /&gt;
      {&lt;br /&gt;
            printf(&amp;quot;All\n&amp;quot;);&lt;br /&gt;
            fprintf(stream, &amp;quot;All\n&amp;quot;);&lt;br /&gt;
      }&lt;br /&gt;
 &lt;br /&gt;
      else if(msg_dest &amp;gt; 0 &amp;amp;&amp;amp; msg_dest &amp;lt; 33)&lt;br /&gt;
      {&lt;br /&gt;
            printf(&amp;quot;Individual\n&amp;quot;);&lt;br /&gt;
            fprintf(stream, &amp;quot;Individual\n&amp;quot;);&lt;br /&gt;
 &lt;br /&gt;
            if(player)&lt;br /&gt;
            {&lt;br /&gt;
                  int id = ENTINDEX(player);&lt;br /&gt;
                  const char* name = STRING(player-&amp;gt;v.netname);&lt;br /&gt;
                  const char* auth = (*g_engfuncs.pfnGetPlayerAuthId)(player);&lt;br /&gt;
                  printf(&amp;quot;[Player]\t&amp;lt;%s&amp;gt;&amp;lt;%d&amp;gt;&amp;lt;%s&amp;gt;\n&amp;quot;, name, id, auth);&lt;br /&gt;
                  fprintf(stream, &amp;quot;[Player]\t&amp;lt;%s&amp;gt;&amp;lt;%d&amp;gt;&amp;lt;%s&amp;gt;\n&amp;quot;, name, id, auth);&lt;br /&gt;
            }&lt;br /&gt;
      }&lt;br /&gt;
 &lt;br /&gt;
      else&lt;br /&gt;
      {&lt;br /&gt;
            printf(&amp;quot;Other\n&amp;quot;);&lt;br /&gt;
            fprintf(stream, &amp;quot;Other\n&amp;quot;);&lt;br /&gt;
      }&lt;br /&gt;
 &lt;br /&gt;
      g_state = 0;&lt;br /&gt;
 &lt;br /&gt;
      RETURN_META(MRES_IGNORED);&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Ok from here on out it will be a bit repetitive so I will just show them too you:&lt;br /&gt;
&lt;br /&gt;
 void WriteByte_Post(int iValue) &lt;br /&gt;
 {&lt;br /&gt;
      if(g_state == -1)&lt;br /&gt;
            RETURN_META(MRES_IGNORED);&lt;br /&gt;
 &lt;br /&gt;
      printf(&amp;quot;%d [Byte]\t%d\n&amp;quot;, g_state++, iValue);&lt;br /&gt;
      fprintf(stream, &amp;quot;%d [Byte]\t%d\n&amp;quot;, g_state++, iValue);&lt;br /&gt;
 &lt;br /&gt;
      RETURN_META(MRES_IGNORED);&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 void WriteChar_Post(int iValue) &lt;br /&gt;
 {&lt;br /&gt;
      if(g_state == -1)&lt;br /&gt;
            RETURN_META(MRES_IGNORED);&lt;br /&gt;
 &lt;br /&gt;
      char buffer[10];&lt;br /&gt;
      _itoa_s(iValue, buffer, 10);&lt;br /&gt;
      printf(&amp;quot;%d [Char]\t%s\n&amp;quot;, g_state++, buffer);&lt;br /&gt;
      fprintf(stream, &amp;quot;%d [Char]\t%s\n&amp;quot;, g_state++, buffer);&lt;br /&gt;
 &lt;br /&gt;
      RETURN_META(MRES_IGNORED);&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 void WriteShort_Post(int iValue) &lt;br /&gt;
 {&lt;br /&gt;
      if(g_state == -1)&lt;br /&gt;
            RETURN_META(MRES_IGNORED);&lt;br /&gt;
 &lt;br /&gt;
      printf(&amp;quot;%d [Short]\t%d\n&amp;quot;, g_state++, (short)iValue);&lt;br /&gt;
      fprintf(stream, &amp;quot;%d [Short]\t%d\n&amp;quot;, g_state++, (short)iValue);&lt;br /&gt;
 &lt;br /&gt;
      RETURN_META(MRES_IGNORED);&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 void WriteLong_Post(int iValue) &lt;br /&gt;
 {&lt;br /&gt;
      if(g_state == -1)&lt;br /&gt;
            RETURN_META(MRES_IGNORED);&lt;br /&gt;
 &lt;br /&gt;
      printf(&amp;quot;%d [Long]\t%d\n&amp;quot;, g_state++, (long)iValue);&lt;br /&gt;
      fprintf(stream, &amp;quot;%d [Long]\t%d\n&amp;quot;, g_state++, (long)iValue);&lt;br /&gt;
 &lt;br /&gt;
      RETURN_META(MRES_IGNORED);&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 void WriteAngle_Post(float flValue) &lt;br /&gt;
 {&lt;br /&gt;
      if(g_state == -1)&lt;br /&gt;
            RETURN_META(MRES_IGNORED);&lt;br /&gt;
 &lt;br /&gt;
      printf(&amp;quot;%d [Angle]\t%d\n&amp;quot;, g_state++, (int)flValue);&lt;br /&gt;
      fprintf(stream, &amp;quot;%d [Angle]\t%d\n&amp;quot;, g_state++, (int)flValue);&lt;br /&gt;
 &lt;br /&gt;
      RETURN_META(MRES_IGNORED);&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 void WriteCoord_Post(float flValue) &lt;br /&gt;
 {&lt;br /&gt;
      if(g_state == -1)&lt;br /&gt;
            RETURN_META(MRES_IGNORED);&lt;br /&gt;
 &lt;br /&gt;
      printf(&amp;quot;%d [Coord]\t%d\n&amp;quot;, g_state++, (int)flValue);&lt;br /&gt;
      fprintf(stream, &amp;quot;%d [Coord]\t%d\n&amp;quot;, g_state++, (int)flValue);&lt;br /&gt;
 &lt;br /&gt;
      RETURN_META(MRES_IGNORED);&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 void WriteString_Post(const char *sz) &lt;br /&gt;
 {&lt;br /&gt;
      if(g_state == -1)&lt;br /&gt;
            RETURN_META(MRES_IGNORED);&lt;br /&gt;
 &lt;br /&gt;
      printf(&amp;quot;%d [String]\t%s\n&amp;quot;, g_state++, sz);&lt;br /&gt;
      fprintf(stream, &amp;quot;%d [String]\t%s\n&amp;quot;, g_state++, sz);&lt;br /&gt;
 &lt;br /&gt;
      RETURN_META(MRES_IGNORED);&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 void WriteEntity_Post(int iValue) &lt;br /&gt;
 {&lt;br /&gt;
      if(g_state == -1)&lt;br /&gt;
            RETURN_META(MRES_IGNORED);&lt;br /&gt;
 &lt;br /&gt;
      printf(&amp;quot;%d [Entity]\t%d\n&amp;quot;, g_state++, iValue);&lt;br /&gt;
      fprintf(stream, &amp;quot;%d [Entity]\t%d\n&amp;quot;, g_state++, iValue);&lt;br /&gt;
 &lt;br /&gt;
      RETURN_META(MRES_IGNORED);&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
The last but not least function is the message end function.  It too is simple to understand:&lt;br /&gt;
&lt;br /&gt;
 void MessageEnd_Post(void) &lt;br /&gt;
 {&lt;br /&gt;
      if(g_state == -1)&lt;br /&gt;
            RETURN_META(MRES_IGNORED);&lt;br /&gt;
 &lt;br /&gt;
      printf(&amp;quot;[End Message]\n\n&amp;quot;);&lt;br /&gt;
      fprintf(stream, &amp;quot;[End Message]\n\n&amp;quot;);&lt;br /&gt;
 &lt;br /&gt;
      fflush(stream);&lt;br /&gt;
 &lt;br /&gt;
      RETURN_META(MRES_IGNORED);&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
The only thing weird about this one is the flush...this just ensures the data we just collected gets sent to the file.  Well thats it...we're done...all thats left is the compile and moving the module to the addons/amxmodx/modules/ directory then adding it to the addons/amxmodx/configs/modules.ini file at the bottom.  Remember to name it dod_mm not dod_mm_amxx.dll just the first part.&lt;br /&gt;
&lt;br /&gt;
== In Conclusion ==&lt;br /&gt;
&lt;br /&gt;
Ok we are setup to start compiling, you can grab the source code to any of the modules at amxmodx and compile them now...or just play about.  I suggest you try the easy one that you can grab here: [http://forums.alliedmods.net/showthread.php?t=18763  ESF Model Changing Module] just to look at it.  Here is the direct download: [http://forums.alliedmods.net/attachment.php?attachmentid=4104&amp;amp;d=1128187905 esf_model_changer]&lt;br /&gt;
&lt;br /&gt;
The files for this project can be found [http://www.dodplugins.net/forums/showthread.php?p=2471 DoD Message Module Tutorial / Module]&lt;br /&gt;
&lt;br /&gt;
I have made great use of this in helping in developing dodx and dodfun.&lt;br /&gt;
&lt;br /&gt;
Cheers!&lt;br /&gt;
Zor&lt;br /&gt;
&lt;br /&gt;
For more information, look in: [http://svn.tcwonline.org/viewvc.cgi/trunk/amxmodx/sdk/?root=amxmodx /svn.tcwonline.org/viewvc.cgi/trunk/amxmodx/sdk/?root=amxmodx] or [http://svn.tcwonline.org/viewvc.cgi/trunk/amxmodx/sdk.tar.gz?root=amxmodx&amp;amp;view=tar click here] to download a tarball of that directory.&lt;br /&gt;
&lt;br /&gt;
Copy these files into a new folder.  The amxxmodule.h/cpp files are the Module SDK backend.  You only need to edit the moduleconfig.h file to customize your module.&lt;br /&gt;
&lt;br /&gt;
[[Category:AMX_Mod_X]]&lt;/div&gt;</summary>
		<author><name>ConnorMcLeod</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.alliedmods.net/index.php?title=Half-Life_1_Game_Events&amp;diff=7970</id>
		<title>Half-Life 1 Game Events</title>
		<link rel="alternate" type="text/html" href="https://wiki.alliedmods.net/index.php?title=Half-Life_1_Game_Events&amp;diff=7970"/>
		<updated>2011-02-09T22:31:30Z</updated>

		<summary type="html">&lt;p&gt;ConnorMcLeod: /* TutorText */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Half-Life 1]]&lt;br /&gt;
[[Category:Scripting (AMX Mod X)]]&lt;br /&gt;
&lt;br /&gt;
= Introduction =&lt;br /&gt;
&lt;br /&gt;
In [[AMX Mod X]] you are able to hook in-game messages/events with [http://www.amxmodx.org/funcwiki.php?search=register_message&amp;amp;go=search register_message] / [http://www.amxmodx.org/funcwiki.php?go=func&amp;amp;id=26 register_event]. Here are the list of messages/events and their arguments which can be read with [http://www.amxmodx.org/funcwiki.php?search=get_msg_arg_&amp;amp;go=search get_msg_arg_*] / [http://www.amxmodx.org/funcwiki.php?go=func&amp;amp;id=132 read_data].&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
*See the [[Advanced Scripting (AMX Mod X)#Events.2FMessages|Advanced Scripting]] article for more on events and messages.&amp;lt;br&amp;gt;&lt;br /&gt;
*See messages.inc and message_const.inc from amxmodx/scriptong/include folder or [http://www.amxmodx.org/funcwiki.php?go=inc&amp;amp;id=47 Messaging functions] and [http://www.amxmodx.org/funcwiki.php?go=inc&amp;amp;id=48 Message constants] for full messages control including blocking, argument alteration and much more.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= ADStop =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ADStop}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= AllowSpec =&lt;br /&gt;
Changes whether or not &amp;quot;SPECTATE&amp;quot; appears on the change team menu. Called whenever the allow_spectators CVar is changed, with its new value sent as the byte.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This changes how the change team menu appears, but spectating functionality is based off of the actual CVar value.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|AllowSpec|byte}}&lt;br /&gt;
{{hl1msg|byte|Allowed}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= AmmoPickup =&lt;br /&gt;
Temporarily draws [[HUD]] ammo amount and correspoding ammo [[HUD]] icon in the middle of the right side of the screen.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Draw time is depend on the ''hud_drawhistory_time'' client CVar value.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|See [[CS Weapons Information]] for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|AmmoPickup|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|AmmoID}}&lt;br /&gt;
{{hl1msg|byte|Ammount}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= AmmoX =&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|See [[CS Weapons Information]] for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|AmmoX|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|AmmoID}}&lt;br /&gt;
{{hl1msg|byte|Ammount}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ArmorType =&lt;br /&gt;
Draws/removes helmet [[HUD]] icon. If flag is set to 1 the helmet [[HUD]] icon will be drawn (located right on the armor icon).&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ArmorType|byte}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BarTime =&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Set Duration to 0 to hide the bar.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|BarTime|short}}&lt;br /&gt;
{{hl1msg|short|Duration}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BarTime2 =&lt;br /&gt;
The same as BarTime but StartPercents is specify how many per cents of the bar are (already) filled.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Display time can be calculated with this formula: ''(1 - (StartPercents / 100)) / Duration''}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|BarTime2|short, short}}&lt;br /&gt;
{{hl1msg|short|Duration}}&lt;br /&gt;
{{hl1msg|short|StartPercents}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Battery =&lt;br /&gt;
Updates the icon and the number of armor on the [[HUD]].&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Battery|short}}&lt;br /&gt;
{{hl1msg|short|Armor}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BlinkAcct =&lt;br /&gt;
Makes a player's money display flash rapidly, until it flashes a total of BlinkAmt times.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|BlinkAcct|byte}}&lt;br /&gt;
{{hl1msg|byte|BlinkAmt}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BombDrop =&lt;br /&gt;
The first three arguments are the origin of the dropped bomb. The last argument is set to 1 if the bomb has been planted. It is 0 if the bomb was dropped due to voluntary dropping or death/disconnect. Setting the last argument 1, will also 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.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|BombDrop|coord, coord, coord, byte}}&lt;br /&gt;
{{hl1msg|coord|CoordX}}&lt;br /&gt;
{{hl1msg|coord|CoordY}}&lt;br /&gt;
{{hl1msg|coord|CoordZ}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BombPickup =&lt;br /&gt;
This message just tells the game that the bomb has been picked up. It will cause the dropped/planted bomb to disappear from the Terrorist team's radar.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|BombPickup}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BotProgress =&lt;br /&gt;
Used by CZ's bots when learning a new map. 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.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|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.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|BotProgress|byte, byte, string}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{hl1msg|byte|Progress}}&lt;br /&gt;
{{hl1msg|string|Header}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BotVoice =&lt;br /&gt;
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 by regular players, although you &amp;lt;i&amp;gt;can&amp;lt;/i&amp;gt; specify a regular player (non-bot) for the PlayerIndex. Status is 1 for talking, or 0 for not talking.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|BotVoice|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|Status}}&lt;br /&gt;
{{hl1msg|byte|PlayerIndex}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Brass =&lt;br /&gt;
Creates a brass shell. Used, for example, by the AWP, after firing.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Brass|byte, coord, coord, coord, coord, coord, coord, coord, coord, coord, angle, short, byte, byte, byte}}&lt;br /&gt;
{{hl1msg|byte|MessageID}}&lt;br /&gt;
{{hl1msg|coord|StartX}}&lt;br /&gt;
{{hl1msg|coord|StartY}}&lt;br /&gt;
{{hl1msg|coord|StartZ}}&lt;br /&gt;
{{hl1msg|coord|VelocityX?}}&lt;br /&gt;
{{hl1msg|coord|VelocityY?}}&lt;br /&gt;
{{hl1msg|coord|VelocityZ?}}&lt;br /&gt;
{{hl1msg|coord|UnknownX}}&lt;br /&gt;
{{hl1msg|coord|UnknownY}}&lt;br /&gt;
{{hl1msg|coord|UnknownZ}}&lt;br /&gt;
{{hl1msg|angle|Rotation}}&lt;br /&gt;
{{hl1msg|short|ModelIndex}}&lt;br /&gt;
{{hl1msg|byte|BounceSoundType}}&lt;br /&gt;
{{hl1msg|byte|Life}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BuyClose =&lt;br /&gt;
Forces the buy menu to close. This is not called when the player closes the buy menu by himself; it's only called when the game forces him to do so (ie: he walks outside of the buy zone, gets killed, etcetera).&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|BuyClose}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ClCorpse =&lt;br /&gt;
Spawns a player's corpse. ModelName is the player's model name, for example: &amp;quot;leet&amp;quot;. Delay is a delay before animation plaback, can be negative value.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Coord and Delay is multiplied by 128.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|In CS argument #10 is always equal to 0.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*See [http://www.amxmodx.org/funcwiki.php?go=module&amp;amp;id=4#const_teams CS Team Constants] for team indeces constants list.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ClCorpse|string, long, long, long, coord, coord, coord, long, byte, byte, byte, byte}}&lt;br /&gt;
{{hl1msg|string|ModelName}}&lt;br /&gt;
{{hl1msg|long|CoordX}}&lt;br /&gt;
{{hl1msg|long|CoordY}}&lt;br /&gt;
{{hl1msg|long|CoordZ}}&lt;br /&gt;
{{hl1msg|coord|Angle0}}&lt;br /&gt;
{{hl1msg|coord|Angle1}}&lt;br /&gt;
{{hl1msg|coord|Angle2}}&lt;br /&gt;
{{hl1msg|long|Delay}}&lt;br /&gt;
{{hl1msg|byte|Sequence}}&lt;br /&gt;
{{hl1msg|byte|ClassID?}}&lt;br /&gt;
{{hl1msg|byte|TeamID}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Crosshair =&lt;br /&gt;
Draws/removes a crosshair. If Flag is set to 1 the crosshair will be drawn.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This crossair looks not like the regular one but like the one that is drawn in the spectator mode.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Crosshair|byte}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= CurWeapon =&lt;br /&gt;
Updates the clip ammo number and weapon's corresponding ammo type icon on the [[HUD]].&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|See [[CS Weapons Information]] for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|CurWeapon|byte, byte, byte}}&lt;br /&gt;
{{hl1msg|byte|IsActive}}&lt;br /&gt;
{{hl1msg|byte|WeaponID}}&lt;br /&gt;
{{hl1msg|byte|ClipAmmo}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= CZCareer =&lt;br /&gt;
Supplies certain updates to the player regarding Condition Zero singleplayer missions.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|See the [[CZCareer]] page for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|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).}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|The Type argument is case-sensitive.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This event does nothing in CS and CZ multiplayer.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|CZCareer|string,*}}&lt;br /&gt;
{{hl1msg|string|Type}}&lt;br /&gt;
{{hl1msg|*|Parameters}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= CZCareerHUD =&lt;br /&gt;
Displays certain [[HUD]] elements regarding Condition Zero singleplayer missions.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|See the [[CZCareerHUD]] page for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|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).}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|The Type argument is case-sensitive.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This event has some limited functionality in CS and CZ multiplayer (albeit better in CZ).}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|CZCareerHUD|string,*}}&lt;br /&gt;
{{hl1msg|string|Type}}&lt;br /&gt;
{{hl1msg|*|Parameters}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Damage =&lt;br /&gt;
Called when a player takes damage, to display the red locational indicators. The last three arguments is the origin of the damage inflictor or victim origin if inflictor isn't found. DamageType is a bitwise value usually consist of a single bit.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|To caputure this message,you should use &amp;quot;b&amp;quot; as the third parameter in the register_event() function.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Damage|byte, byte, long, coord, coord, coord}}&lt;br /&gt;
{{hl1msg|byte|DamageSave}}&lt;br /&gt;
{{hl1msg|byte|DamageTake}}&lt;br /&gt;
{{hl1msg|long|DamageType}}&lt;br /&gt;
{{hl1msg|coord|CoordX}}&lt;br /&gt;
{{hl1msg|coord|CoordY}}&lt;br /&gt;
{{hl1msg|coord|CoordZ}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= DeathMsg =&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
Also prints the console text message &amp;quot;KillerName killed VictimName with TruncatedWeaponName&amp;quot; or &amp;quot;*** KillerName killed VictimName with a headshot from TruncatedWeaponName ***&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|TruncatedWeaponName doesn't contain a &amp;quot;weapon_&amp;quot; prefix. See [[CS Weapons Information]] for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|For grenade kill TruncatedWeaponName isn't &amp;quot;hegrenade&amp;quot; but &amp;quot;grenade&amp;quot;, in fact it's an actual classname of a throwed grenade.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|For KillerID it's not necessarily should be a PlayerID, it could be 0 if player dies from fall/acid/radiation/fire/etc damage/lack of oxygen or from touch to a &amp;quot;trigger_hurt&amp;quot; entity, in this case TruncatedWeaponName will be &amp;quot;worldspawn&amp;quot; and &amp;quot;trigger_hurt&amp;quot; respectively.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|For vehicle kills TruncatedWeaponName could be &amp;quot;vehicle&amp;quot;, &amp;quot;tank&amp;quot; et cetera.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|DeathMsg|byte, byte, byte, string}}&lt;br /&gt;
{{hl1msg|byte|KillerID}}&lt;br /&gt;
{{hl1msg|byte|VictimID}}&lt;br /&gt;
{{hl1msg|byte|IsHeadshot}}&lt;br /&gt;
{{hl1msg|string|TruncatedWeaponName}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= FlashBat =&lt;br /&gt;
Updates the flashlight battery charge on the [[HUD]].&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|FlashBat|byte}}&lt;br /&gt;
{{hl1msg|byte|ChargePercents}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Flashlight =&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Flashlight|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{hl1msg|byte|ChargePercents}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Fog =&lt;br /&gt;
{{qnotice|mp_Fog 1 for fog in counter-strike}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|Fog|byte, byte, byte}}&lt;br /&gt;
{{hl1msg|byte|FogValue}}&lt;br /&gt;
{{hl1msg|byte|FogValue}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ForceCam =&lt;br /&gt;
Called whenever mp_forcecam or mp_forcechasecam are changed, with their new values passed. There is assumedly a third CVar that this tracks, but it is yet unknown. Note that this message doesn't actually change any of the spectating rules for the client.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Even if mp_forcechasecam is set to 2, it is sent by this message as 1.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ForceCam|byte, byte, byte}}&lt;br /&gt;
{{hl1msg|byte|ForcecamValue}}&lt;br /&gt;
{{hl1msg|byte|ForcechasecamValue}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= GameMode =&lt;br /&gt;
&lt;br /&gt;
Informs player of current game mode&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|GameMode|byte}}&lt;br /&gt;
{{hl1msg|byte|Game mode}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= GameTitle =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|GameTitle|byte}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Geiger =&lt;br /&gt;
Notifies about radiation level through special sound signals. Distance is a distance to hazard area.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Geiger|byte}}&lt;br /&gt;
{{hl1msg|byte|Distance}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Health =&lt;br /&gt;
Updates the number of health on the [[HUD]].&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Health|byte}}&lt;br /&gt;
{{hl1msg|byte|Health}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= HideWeapon =&lt;br /&gt;
Hides the specified [[HUD]] elements.&amp;lt;br&amp;gt;&lt;br /&gt;
Flags:&lt;br /&gt;
   1   (1&amp;lt;&amp;lt;0)  -  crosshair, ammo, weapons list&lt;br /&gt;
   2   (1&amp;lt;&amp;lt;1)  -  flashlight, +&lt;br /&gt;
   4   (1&amp;lt;&amp;lt;2)  -  ALL&lt;br /&gt;
   8   (1&amp;lt;&amp;lt;3)  -  radar, health, armor, +&lt;br /&gt;
  16   (1&amp;lt;&amp;lt;4)  -  timer, +&lt;br /&gt;
  32   (1&amp;lt;&amp;lt;5)  -  money, +&lt;br /&gt;
  64   (1&amp;lt;&amp;lt;6)  -  crosshair&lt;br /&gt;
 128   (1&amp;lt;&amp;lt;7)  -  +&lt;br /&gt;
Symbol + mean that an additional crosshair will be drawn. That crosshair looks exactly like the one from Crosshair message.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|HideWeapon|byte}}&lt;br /&gt;
{{hl1msg|byte|Flags}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= HLTV =&lt;br /&gt;
Message sent for HLTV and unique for each round-start.&amp;lt;br&amp;gt;&lt;br /&gt;
On new round is fired 2 messages:&lt;br /&gt;
 // reset all players health for HLTV&lt;br /&gt;
 MESSAGE_BEGIN( MSG_SPEC, gmsgHLTV );&lt;br /&gt;
 WRITE_BYTE( 0 );   // 0 = all players&lt;br /&gt;
 WRITE_BYTE( 100 | 128 );&lt;br /&gt;
 MESSAGE_END();&amp;lt;br&amp;gt;&lt;br /&gt;
 // reset all players FOV for HLTV&lt;br /&gt;
 MESSAGE_BEGIN( MSG_SPEC, gmsgHLTV );&lt;br /&gt;
 WRITE_BYTE( 0 );   // all players&lt;br /&gt;
 WRITE_BYTE( 0 );&lt;br /&gt;
 MESSAGE_END();&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|HLTV|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|ClientID}}&lt;br /&gt;
{{hl1msg|byte|Flags}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= HostageK =&lt;br /&gt;
Temporarily draws a blinking red dot on the CT players' radar when a hostage is killed.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|HostageK|byte}}&lt;br /&gt;
{{hl1msg|byte|HostageID}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= HostagePos =&lt;br /&gt;
Draws/updates the blue mark on the CT players' radar which is indicate the corresponding hostage position.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Is called with Flag set to 1 on player [[HUD]] full update.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|HostagePos|byte, byte, coord, coord, coord}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{hl1msg|byte|HostageID}}&lt;br /&gt;
{{hl1msg|coord|CoordX}}&lt;br /&gt;
{{hl1msg|coord|CoordY}}&lt;br /&gt;
{{hl1msg|coord|CoordZ}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= HudText =&lt;br /&gt;
Prints [[HUD]] text.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Prints message with specified style in titles.txt with small signs (like in HL)}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|HudText|string, byte, byte}}&lt;br /&gt;
{{hl1msg|string|TextCode}}&lt;br /&gt;
{{hl1msg|byte|InitHUDstyle}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= HudTextArgs =&lt;br /&gt;
Prints [[HUD]] text.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|An example of TextCode could be &amp;quot;#Hint_you_have_the_bomb&amp;quot;.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Prints message with specified style in titles.txt with Big signs (CS Default)}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|If you have a problems with specifing the last two arguments use 1 and 0 respectively.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|HudTextArgs|string, byte, byte}}&lt;br /&gt;
{{hl1msg|string|TextCode}}&lt;br /&gt;
{{hl1msg|byte|InitHUDstyle}}&lt;br /&gt;
{{hl1msg|byte|NumberOfSubMessages}}&lt;br /&gt;
{{hl1msg|string|SubMsg}}&lt;br /&gt;
{{hl1msg|string|SubMsg}}&lt;br /&gt;
{{hl1msg|string|...}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= HudTextPro =&lt;br /&gt;
Prints [[HUD]] text.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Prints message with specified style in titles.txt with Big signs (CS Default)}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|HudText|string, byte, byte}}&lt;br /&gt;
{{hl1msg|string|TextCode}}&lt;br /&gt;
{{hl1msg|byte|InitHUDstyle}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= InitHUD =&lt;br /&gt;
Initializes the [[HUD]].&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|InitHUD}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ItemPickup =&lt;br /&gt;
Temporarily draws correspoding item [[HUD]] icon in the middle of the right side of the screen.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Draw time is depend on the ''hud_drawhistory_time'' client CVar value.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ItemPickup|string}}&lt;br /&gt;
{{hl1msg|string|ItemName}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ItemStatus =&lt;br /&gt;
Notifies about carried items.&amp;lt;br&amp;gt;&lt;br /&gt;
Example of some item bits:&lt;br /&gt;
 1   (1&amp;lt;&amp;lt;0)  -  nightvision goggles&lt;br /&gt;
 2   (1&amp;lt;&amp;lt;1)  -  defusal kit&lt;br /&gt;
{{begin-hl1msg|ItemStatus|byte}}&lt;br /&gt;
{{hl1msg|byte|ItemsBitSum}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Location =&lt;br /&gt;
This message is sent when player gets in different zone on map.&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|Location|byte, string}}&lt;br /&gt;
{{hl1msg|byte|PlayerId}}&lt;br /&gt;
{{hl1msg|string|LocationName}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Money =&lt;br /&gt;
Updates the Amount of money on the [[HUD]]. If the Flag is 1, the additional new-old [[HUD]] money amount difference will be also displayed.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Money|long, byte}}&lt;br /&gt;
{{hl1msg|long|Amount}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= MOTD =&lt;br /&gt;
Displays MOTD window.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Max. Text length is 60. Large MOTD is sent in multiple messages. For the message that is send a last MOTD part the Flag will be set to 1 and 0 otherwise.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|MOTD|byte, string}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{hl1msg|string|Text}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= NVGToggle =&lt;br /&gt;
Toggles night vision mode. For Flag: 1 is on, 0 is off.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|NVGToggle|byte}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Radar =&lt;br /&gt;
Draws/updates the dot on the [[HUD]] radar which is indicate the given player position.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Works for teammates only.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Radar|byte, coord, coord, coord}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{hl1msg|coord|CoordX}}&lt;br /&gt;
{{hl1msg|coord|CoordY}}&lt;br /&gt;
{{hl1msg|coord|CoordZ}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ReceiveW =&lt;br /&gt;
Tell the client which visual weather effect to be executed client side, if cl_weather client cvar is above 0.&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|Main part of CBasePlayer::SendWeatherInfo() function that is sent in CBasePlayer :: UpdateClientData() when player offset m_fInitHUD is 1&amp;lt;br&amp;gt;&lt;br /&gt;
(right after putinserver or after fullupdate command)&amp;lt;br&amp;gt;&lt;br /&gt;
Mode : 1 is for rain effect, 2 is for snow effect&amp;lt;br&amp;gt;&lt;br /&gt;
Though mode 0 is never sent by the game itself, removes weather effect&amp;lt;br&amp;gt;&lt;br /&gt;
Alternatively send mode 1 and mode 2 with judicious delays (time for effect to disappear) make both rain and snow effect}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ReceiveW|byte}}&lt;br /&gt;
{{hl1msg|byte|mode}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ReloadSound =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ReloadSound|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ReqState =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ReqState}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ResetHUD =&lt;br /&gt;
Resets the [[HUD]].&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ResetHUD}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= RoundTime =&lt;br /&gt;
Updates the round timer on the [[HUD]]. Time is in seconds.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|RoundTime|short}}&lt;br /&gt;
{{hl1msg|short|Time}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SayText =&lt;br /&gt;
Prints say [[HUD]] text. Second argument can be a predefined string or a custom one. In the last case the last two arguments isn't required.&amp;lt;br&amp;gt;&lt;br /&gt;
An examples of a predifined Counter-Strike string values: #Cstrike_Chat_AllDead, #Cstrike_Name_Change&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|For #Cstrike_Name_Change String2 is an old name and String3 is a new name.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|SayText|byte, string, string, string}}&lt;br /&gt;
{{hl1msg|byte|SenderID}}&lt;br /&gt;
{{hl1msg|string|String1}}&lt;br /&gt;
{{hl1msg|string|String2}}&lt;br /&gt;
{{hl1msg|string|String3}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Scenario =&lt;br /&gt;
If Active is 0, this display will be hidden. If Active is 1, 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.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|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.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[image:Cs_scenario_msg.jpg|frame|right|Scenario message in CS, using the following parameters: 1, d_mp5navy, 150]]&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Works in both CS and CZ!}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|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.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Scenario|byte, string, byte, short, short}}&lt;br /&gt;
{{hl1msg|byte|Active}}&lt;br /&gt;
{{hl1msg|string|Sprite}}&lt;br /&gt;
{{hl1msg|byte|Alpha}}&lt;br /&gt;
{{hl1msg|short|FlashRate}}&lt;br /&gt;
{{hl1msg|short|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ScoreAttrib =&lt;br /&gt;
Updates the scoreboard's attribute for the specified player. For the 2nd argument, 0 is nothing, (1&amp;lt;&amp;lt;0) i.e. 1 is dead, (1&amp;lt;&amp;lt;1) i.e. 2 is bomb, (1&amp;lt;&amp;lt;2) i.e. 4 is VIP.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|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.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ScoreAttrib|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{hl1msg|byte|Flags}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ScoreInfo =&lt;br /&gt;
Updates the scoreboard with the given player's Frags and Deaths.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|In CS the 4th argument is always equal to 0.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*See [http://www.amxmodx.org/funcwiki.php?go=module&amp;amp;id=4#const_teams CS Team Constants] for team indeces constants list.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ScoreInfo|byte, short, short, short, short}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{hl1msg|short|Frags}}&lt;br /&gt;
{{hl1msg|short|Deaths}}&lt;br /&gt;
{{hl1msg|short|ClassID?}}&lt;br /&gt;
{{hl1msg|short|TeamID}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ScreenFade =&lt;br /&gt;
Fades the screen.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Duration and HoldTime is in special units. 1 second is equal to (1&amp;lt;&amp;lt;12) i.e. 4096 units.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Flags (from HLSDK):&lt;br /&gt;
 FFADE_IN         0x0000 // Just here so we don't pass 0 into the function&lt;br /&gt;
 FFADE_OUT        0x0001 // Fade out (not in)&lt;br /&gt;
 FFADE_MODULATE   0x0002 // Modulate (don't blend)&lt;br /&gt;
 FFADE_STAYOUT    0x0004 // ignores the duration, stays faded out until new ScreenFade message received&lt;br /&gt;
{{begin-hl1msg|ScreenFade|short, short, short, byte, byte, byte, byte}}&lt;br /&gt;
{{hl1msg|short|Duration}}&lt;br /&gt;
{{hl1msg|short|HoldTime}}&lt;br /&gt;
{{hl1msg|short|Flags}}&lt;br /&gt;
{{hl1msg|byte|ColorR}}&lt;br /&gt;
{{hl1msg|byte|ColorG}}&lt;br /&gt;
{{hl1msg|byte|ColorB}}&lt;br /&gt;
{{hl1msg|byte|Alpha}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ScreenShake =&lt;br /&gt;
Shakes the screen.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|All arguments is in special units. 1 second is equal to (1&amp;lt;&amp;lt;12) i.e. 4096 units.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ScreenShake|short, short, short}}&lt;br /&gt;
{{hl1msg|short|Amplitude}}&lt;br /&gt;
{{hl1msg|short|Duration}}&lt;br /&gt;
{{hl1msg|short|Frequency}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SendAudio =&lt;br /&gt;
Plays the specified audio. An example of AudioCode could be &amp;quot;%!MRAD_rounddraw&amp;quot;.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|SendAudio|byte, string, short}}&lt;br /&gt;
{{hl1msg|byte|SenderID}}&lt;br /&gt;
{{hl1msg|string|AudioCode}}&lt;br /&gt;
{{hl1msg|short|Pitch}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ServerName =&lt;br /&gt;
Sends a server name to a client.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ServerName|string}}&lt;br /&gt;
{{hl1msg|string|ServerName}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SetFOV =&lt;br /&gt;
Sets the specified field of view.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|SetFOV|byte}}&lt;br /&gt;
{{hl1msg|byte|Degrees}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ShadowIdx =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ShadowIdx|long}}&lt;br /&gt;
{{hl1msg|long|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ShowMenu =&lt;br /&gt;
Displays a &amp;quot;menu&amp;quot; to a player (text on the left side of the screen). Acts like AMXX's show_menu (in fact, this is how AMXX shows a menu).&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|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.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ShowMenu|short, char, byte, string}}&lt;br /&gt;
{{hl1msg|short|KeysBitSum}}&lt;br /&gt;
{{hl1msg|char|Time}}&lt;br /&gt;
{{hl1msg|byte|Multipart}}&lt;br /&gt;
{{hl1msg|string|Text}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ShowTimer =&lt;br /&gt;
Forces the round timer displaying.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ShowTimer}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SpecHealth =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|SpecHealth|byte}}&lt;br /&gt;
{{hl1msg|byte|Health?}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SpecHealth2 =&lt;br /&gt;
Updates the observer's screen with a name and health of the given player.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|SpecHealth2|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|Health}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Spectator =&lt;br /&gt;
Called when player becomes an observer/spectator.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|On join to Spectators usually is fired twice in a row.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Spectator|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|ClientID}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= StatusIcon =&lt;br /&gt;
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 is required only if Status aren't equal to 0.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|StatusIcon|byte, string, byte, byte, byte}}&lt;br /&gt;
{{hl1msg|byte|Status}}&lt;br /&gt;
{{hl1msg|string|SpriteName}}&lt;br /&gt;
{{hl1msg|byte|ColorR}}&lt;br /&gt;
{{hl1msg|byte|ColorG}}&lt;br /&gt;
{{hl1msg|byte|ColorB}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= StatusValue =&lt;br /&gt;
Sends/updates the status values. For the Flag 1 the Value is TeamRelation, for 2 is PlayerID, for 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.&amp;lt;br&amp;gt;&lt;br /&gt;
Usually is fired as a triple message, for example:&lt;br /&gt;
 {1,  2}  -  non-teammate player&lt;br /&gt;
 {2, 17}  -  player index is 17&lt;br /&gt;
 {3, 59}  -  player health is 59&lt;br /&gt;
{{begin-hl1msg|StatusValue|byte, short}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{hl1msg|short|Value}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= StatusText =&lt;br /&gt;
Specifies the status text format.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|StatusText|byte, string}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{hl1msg|string|Text}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TaskTime =&lt;br /&gt;
Displays a secondary timer above the round timer. Used for Condition Zero singleplayer missions.&amp;lt;br&amp;gt;&lt;br /&gt;
If Time is -1, timer dissappears. If Time is any other negative value, it is displayed as green instead of yellow, and considered positive.&amp;lt;br&amp;gt;&lt;br /&gt;
If Active is true, timer counts down. Otherwise, it is paused.&amp;lt;br&amp;gt;If Fade is above zero, the timer will slowly fade out after that many seconds have passed (even if the timer is inactive).&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This event can only be used on missions that have an objective requiring a secondary timer!}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|TaskTime|short, byte, byte}}&lt;br /&gt;
{{hl1msg|short|Time}}&lt;br /&gt;
{{hl1msg|byte|Active}}&lt;br /&gt;
{{hl1msg|byte|Fade}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TeamInfo =&lt;br /&gt;
Sets the team information for the given player.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|In CS TeamName is either &amp;quot;UNASSIGNED&amp;quot;, &amp;quot;TERRORIST&amp;quot;, &amp;quot;CT&amp;quot; or &amp;quot;SPECTATOR&amp;quot;.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|TeamInfo|byte, string}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{hl1msg|string|TeamName}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TeamScore =&lt;br /&gt;
Updates the team score on the score board.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|In CS TeamName is either &amp;quot;TERRORIST&amp;quot; or &amp;quot;CT&amp;quot;.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|TeamScore|string, short}}&lt;br /&gt;
{{hl1msg|string|TeamName}}&lt;br /&gt;
{{hl1msg|short|Score}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TextMsg =&lt;br /&gt;
Prints a cutom/or predefined text message.&amp;lt;br&amp;gt;&lt;br /&gt;
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:&lt;br /&gt;
 Arg1: 1&lt;br /&gt;
 Arg2: #Game_join_ct&lt;br /&gt;
 Arg3: Pimp Daddy&lt;br /&gt;
{{begin-hl1msg|TextMsg|byte, string, string, string, string, string}}&lt;br /&gt;
{{hl1msg|byte|DestinationType}}&lt;br /&gt;
{{hl1msg|string|Message}}&lt;br /&gt;
{{hl1msg|string|Submsg}}&lt;br /&gt;
{{hl1msg|string|Submsg}}&lt;br /&gt;
{{hl1msg|string|Submsg}}&lt;br /&gt;
{{hl1msg|string|Submsg}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Train =&lt;br /&gt;
Displays the speed bar used for controlling a train.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Speed is as follows: 0 (disable display), 1 (reverse), 2 (neutral), 3 (slow speed), 4 (medium speed), 5 (maximum speed)}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Train|byte}}&lt;br /&gt;
{{hl1msg|byte|Speed}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TutorClose =&lt;br /&gt;
Closes all CZ-style tutor popups.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|TutorClose}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TutorLine =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|TutorLine}}&lt;br /&gt;
{{hl1msg|short|Unknown1}}&lt;br /&gt;
{{hl1msg|short|Unknown2}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TutorState =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|TutorState }}&lt;br /&gt;
{{hl1msg|string|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TutorText =&lt;br /&gt;
Used to display a CZ-style tutor popup.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|If NumberOfSubMsgs is higher than 0, there should be such amount of write_string after this byte.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|TutorMessageEventId is index as listed in czero/tutordata.txt and starts from 0}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|IsDead is the message receiver alive status}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 DEFAULT		1	// 1&amp;lt;&amp;lt;0 | GREEN  | INFO&lt;br /&gt;
 FRIENDDEATH	2	// 1&amp;lt;&amp;lt;1 | RED    | SKULL&lt;br /&gt;
 ENEMYDEATH	4	// 1&amp;lt;&amp;lt;2 | BLUE   | SKULL&lt;br /&gt;
 SCENARIO	8	// 1&amp;lt;&amp;lt;3 | YELLOW | INFO&lt;br /&gt;
 BUY		16	// 1&amp;lt;&amp;lt;4 | GREEN  | INFO&lt;br /&gt;
 CAREER		32	// 1&amp;lt;&amp;lt;5 | GREEN  | INFO&lt;br /&gt;
 HINT		64	// 1&amp;lt;&amp;lt;6 | GREEN  | INFO&lt;br /&gt;
 INGAMEHINT	128	// 1&amp;lt;&amp;lt;7 | GREEN  | INFO&lt;br /&gt;
 ENDGAME		256	// 1&amp;lt;&amp;lt;8 | YELLOW | INFO&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|TutorText|string, byte, short, short, short}}&lt;br /&gt;
{{hl1msg|string|String}}&lt;br /&gt;
{{hl1msg|byte|NumberOfSubMsgs}}&lt;br /&gt;
{{hl1msg|string|SubMessage [optional] - As many write_string as previous byte value}}&lt;br /&gt;
{{hl1msg|short|TutorMessageEventId}}&lt;br /&gt;
{{hl1msg|short|IsDead}}&lt;br /&gt;
{{hl1msg|short|Type}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ViewMode =&lt;br /&gt;
{{qnotice|No Information available for this message (HLSDK says this switches to first-person view, but it doesn't seem to function as so).}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ViewMode}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= VGUIMenu =&lt;br /&gt;
Displays a predefined VGUI menu.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|VGUIMenu|byte, short, char, byte, string}}&lt;br /&gt;
{{hl1msg|byte|MenuID}}&lt;br /&gt;
{{hl1msg|short|KeysBitSum}}&lt;br /&gt;
{{hl1msg|char|Time?}}&lt;br /&gt;
{{hl1msg|byte|Multipart?}}&lt;br /&gt;
{{hl1msg|string|Name?}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= VoiceMask =&lt;br /&gt;
Used to tell a client who he can hear over the microphone.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|VoiceMask|long, long}}&lt;br /&gt;
{{hl1msg|long|AudiblePlayersIndexBitSum}}&lt;br /&gt;
{{hl1msg|long|ServerBannedPlayersIndexBitSum}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= WeaponList =&lt;br /&gt;
Configures the [[HUD]] weapons list.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Fired on map initialization.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|SlotID starts from 0.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Flags (from HLSDK):&lt;br /&gt;
 ITEM_FLAG_SELECTONEMPTY       1&lt;br /&gt;
 ITEM_FLAG_NOAUTORELOAD        2&lt;br /&gt;
 ITEM_FLAG_NOAUTOSWITCHEMPTY   4&lt;br /&gt;
 ITEM_FLAG_LIMITINWORLD        8&lt;br /&gt;
 ITEM_FLAG_EXHAUSTIBLE        16 // A player can totally exhaust their ammo supply and lose this weapon.&lt;br /&gt;
{{qnotice|See [[CS Weapons Information]] for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|WeaponList|string, byte, byte, byte, byte, byte, byte, byte, byte}}&lt;br /&gt;
{{hl1msg|string|WeaponName}}&lt;br /&gt;
{{hl1msg|byte|PrimaryAmmoID}}&lt;br /&gt;
{{hl1msg|byte|PrimaryAmmoMaxAmount}}&lt;br /&gt;
{{hl1msg|byte|SecondaryAmmoID}}&lt;br /&gt;
{{hl1msg|byte|SecondaryAmmoMaxAmount}}&lt;br /&gt;
{{hl1msg|byte|SlotID}}&lt;br /&gt;
{{hl1msg|byte|NumberInSlot}}&lt;br /&gt;
{{hl1msg|byte|WeaponID}}&lt;br /&gt;
{{hl1msg|byte|Flags}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= WeapPickup =&lt;br /&gt;
Temporarily draws correspoding weapon [[HUD]] icon in the middle of the right side of the screen.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Draw time is depend on the ''hud_drawhistory_time'' client CVar value.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Is fired right before weapon is picked up (notice ''&amp;quot;before&amp;quot;'').}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|See [[CS Weapons Information]] for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|WeapPickup|byte}}&lt;br /&gt;
{{hl1msg|byte|WeaponID}}&lt;br /&gt;
{{end-hl1msg}}&lt;/div&gt;</summary>
		<author><name>ConnorMcLeod</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.alliedmods.net/index.php?title=Half-Life_1_Game_Events&amp;diff=7969</id>
		<title>Half-Life 1 Game Events</title>
		<link rel="alternate" type="text/html" href="https://wiki.alliedmods.net/index.php?title=Half-Life_1_Game_Events&amp;diff=7969"/>
		<updated>2011-02-09T22:31:01Z</updated>

		<summary type="html">&lt;p&gt;ConnorMcLeod: /* TutorText */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Half-Life 1]]&lt;br /&gt;
[[Category:Scripting (AMX Mod X)]]&lt;br /&gt;
&lt;br /&gt;
= Introduction =&lt;br /&gt;
&lt;br /&gt;
In [[AMX Mod X]] you are able to hook in-game messages/events with [http://www.amxmodx.org/funcwiki.php?search=register_message&amp;amp;go=search register_message] / [http://www.amxmodx.org/funcwiki.php?go=func&amp;amp;id=26 register_event]. Here are the list of messages/events and their arguments which can be read with [http://www.amxmodx.org/funcwiki.php?search=get_msg_arg_&amp;amp;go=search get_msg_arg_*] / [http://www.amxmodx.org/funcwiki.php?go=func&amp;amp;id=132 read_data].&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
*See the [[Advanced Scripting (AMX Mod X)#Events.2FMessages|Advanced Scripting]] article for more on events and messages.&amp;lt;br&amp;gt;&lt;br /&gt;
*See messages.inc and message_const.inc from amxmodx/scriptong/include folder or [http://www.amxmodx.org/funcwiki.php?go=inc&amp;amp;id=47 Messaging functions] and [http://www.amxmodx.org/funcwiki.php?go=inc&amp;amp;id=48 Message constants] for full messages control including blocking, argument alteration and much more.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= ADStop =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ADStop}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= AllowSpec =&lt;br /&gt;
Changes whether or not &amp;quot;SPECTATE&amp;quot; appears on the change team menu. Called whenever the allow_spectators CVar is changed, with its new value sent as the byte.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This changes how the change team menu appears, but spectating functionality is based off of the actual CVar value.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|AllowSpec|byte}}&lt;br /&gt;
{{hl1msg|byte|Allowed}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= AmmoPickup =&lt;br /&gt;
Temporarily draws [[HUD]] ammo amount and correspoding ammo [[HUD]] icon in the middle of the right side of the screen.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Draw time is depend on the ''hud_drawhistory_time'' client CVar value.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|See [[CS Weapons Information]] for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|AmmoPickup|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|AmmoID}}&lt;br /&gt;
{{hl1msg|byte|Ammount}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= AmmoX =&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|See [[CS Weapons Information]] for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|AmmoX|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|AmmoID}}&lt;br /&gt;
{{hl1msg|byte|Ammount}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ArmorType =&lt;br /&gt;
Draws/removes helmet [[HUD]] icon. If flag is set to 1 the helmet [[HUD]] icon will be drawn (located right on the armor icon).&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ArmorType|byte}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BarTime =&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Set Duration to 0 to hide the bar.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|BarTime|short}}&lt;br /&gt;
{{hl1msg|short|Duration}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BarTime2 =&lt;br /&gt;
The same as BarTime but StartPercents is specify how many per cents of the bar are (already) filled.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Display time can be calculated with this formula: ''(1 - (StartPercents / 100)) / Duration''}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|BarTime2|short, short}}&lt;br /&gt;
{{hl1msg|short|Duration}}&lt;br /&gt;
{{hl1msg|short|StartPercents}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Battery =&lt;br /&gt;
Updates the icon and the number of armor on the [[HUD]].&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Battery|short}}&lt;br /&gt;
{{hl1msg|short|Armor}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BlinkAcct =&lt;br /&gt;
Makes a player's money display flash rapidly, until it flashes a total of BlinkAmt times.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|BlinkAcct|byte}}&lt;br /&gt;
{{hl1msg|byte|BlinkAmt}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BombDrop =&lt;br /&gt;
The first three arguments are the origin of the dropped bomb. The last argument is set to 1 if the bomb has been planted. It is 0 if the bomb was dropped due to voluntary dropping or death/disconnect. Setting the last argument 1, will also 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.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|BombDrop|coord, coord, coord, byte}}&lt;br /&gt;
{{hl1msg|coord|CoordX}}&lt;br /&gt;
{{hl1msg|coord|CoordY}}&lt;br /&gt;
{{hl1msg|coord|CoordZ}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BombPickup =&lt;br /&gt;
This message just tells the game that the bomb has been picked up. It will cause the dropped/planted bomb to disappear from the Terrorist team's radar.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|BombPickup}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BotProgress =&lt;br /&gt;
Used by CZ's bots when learning a new map. 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.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|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.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|BotProgress|byte, byte, string}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{hl1msg|byte|Progress}}&lt;br /&gt;
{{hl1msg|string|Header}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BotVoice =&lt;br /&gt;
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 by regular players, although you &amp;lt;i&amp;gt;can&amp;lt;/i&amp;gt; specify a regular player (non-bot) for the PlayerIndex. Status is 1 for talking, or 0 for not talking.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|BotVoice|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|Status}}&lt;br /&gt;
{{hl1msg|byte|PlayerIndex}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Brass =&lt;br /&gt;
Creates a brass shell. Used, for example, by the AWP, after firing.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Brass|byte, coord, coord, coord, coord, coord, coord, coord, coord, coord, angle, short, byte, byte, byte}}&lt;br /&gt;
{{hl1msg|byte|MessageID}}&lt;br /&gt;
{{hl1msg|coord|StartX}}&lt;br /&gt;
{{hl1msg|coord|StartY}}&lt;br /&gt;
{{hl1msg|coord|StartZ}}&lt;br /&gt;
{{hl1msg|coord|VelocityX?}}&lt;br /&gt;
{{hl1msg|coord|VelocityY?}}&lt;br /&gt;
{{hl1msg|coord|VelocityZ?}}&lt;br /&gt;
{{hl1msg|coord|UnknownX}}&lt;br /&gt;
{{hl1msg|coord|UnknownY}}&lt;br /&gt;
{{hl1msg|coord|UnknownZ}}&lt;br /&gt;
{{hl1msg|angle|Rotation}}&lt;br /&gt;
{{hl1msg|short|ModelIndex}}&lt;br /&gt;
{{hl1msg|byte|BounceSoundType}}&lt;br /&gt;
{{hl1msg|byte|Life}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BuyClose =&lt;br /&gt;
Forces the buy menu to close. This is not called when the player closes the buy menu by himself; it's only called when the game forces him to do so (ie: he walks outside of the buy zone, gets killed, etcetera).&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|BuyClose}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ClCorpse =&lt;br /&gt;
Spawns a player's corpse. ModelName is the player's model name, for example: &amp;quot;leet&amp;quot;. Delay is a delay before animation plaback, can be negative value.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Coord and Delay is multiplied by 128.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|In CS argument #10 is always equal to 0.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*See [http://www.amxmodx.org/funcwiki.php?go=module&amp;amp;id=4#const_teams CS Team Constants] for team indeces constants list.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ClCorpse|string, long, long, long, coord, coord, coord, long, byte, byte, byte, byte}}&lt;br /&gt;
{{hl1msg|string|ModelName}}&lt;br /&gt;
{{hl1msg|long|CoordX}}&lt;br /&gt;
{{hl1msg|long|CoordY}}&lt;br /&gt;
{{hl1msg|long|CoordZ}}&lt;br /&gt;
{{hl1msg|coord|Angle0}}&lt;br /&gt;
{{hl1msg|coord|Angle1}}&lt;br /&gt;
{{hl1msg|coord|Angle2}}&lt;br /&gt;
{{hl1msg|long|Delay}}&lt;br /&gt;
{{hl1msg|byte|Sequence}}&lt;br /&gt;
{{hl1msg|byte|ClassID?}}&lt;br /&gt;
{{hl1msg|byte|TeamID}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Crosshair =&lt;br /&gt;
Draws/removes a crosshair. If Flag is set to 1 the crosshair will be drawn.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This crossair looks not like the regular one but like the one that is drawn in the spectator mode.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Crosshair|byte}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= CurWeapon =&lt;br /&gt;
Updates the clip ammo number and weapon's corresponding ammo type icon on the [[HUD]].&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|See [[CS Weapons Information]] for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|CurWeapon|byte, byte, byte}}&lt;br /&gt;
{{hl1msg|byte|IsActive}}&lt;br /&gt;
{{hl1msg|byte|WeaponID}}&lt;br /&gt;
{{hl1msg|byte|ClipAmmo}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= CZCareer =&lt;br /&gt;
Supplies certain updates to the player regarding Condition Zero singleplayer missions.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|See the [[CZCareer]] page for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|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).}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|The Type argument is case-sensitive.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This event does nothing in CS and CZ multiplayer.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|CZCareer|string,*}}&lt;br /&gt;
{{hl1msg|string|Type}}&lt;br /&gt;
{{hl1msg|*|Parameters}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= CZCareerHUD =&lt;br /&gt;
Displays certain [[HUD]] elements regarding Condition Zero singleplayer missions.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|See the [[CZCareerHUD]] page for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|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).}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|The Type argument is case-sensitive.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This event has some limited functionality in CS and CZ multiplayer (albeit better in CZ).}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|CZCareerHUD|string,*}}&lt;br /&gt;
{{hl1msg|string|Type}}&lt;br /&gt;
{{hl1msg|*|Parameters}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Damage =&lt;br /&gt;
Called when a player takes damage, to display the red locational indicators. The last three arguments is the origin of the damage inflictor or victim origin if inflictor isn't found. DamageType is a bitwise value usually consist of a single bit.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|To caputure this message,you should use &amp;quot;b&amp;quot; as the third parameter in the register_event() function.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Damage|byte, byte, long, coord, coord, coord}}&lt;br /&gt;
{{hl1msg|byte|DamageSave}}&lt;br /&gt;
{{hl1msg|byte|DamageTake}}&lt;br /&gt;
{{hl1msg|long|DamageType}}&lt;br /&gt;
{{hl1msg|coord|CoordX}}&lt;br /&gt;
{{hl1msg|coord|CoordY}}&lt;br /&gt;
{{hl1msg|coord|CoordZ}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= DeathMsg =&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
Also prints the console text message &amp;quot;KillerName killed VictimName with TruncatedWeaponName&amp;quot; or &amp;quot;*** KillerName killed VictimName with a headshot from TruncatedWeaponName ***&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|TruncatedWeaponName doesn't contain a &amp;quot;weapon_&amp;quot; prefix. See [[CS Weapons Information]] for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|For grenade kill TruncatedWeaponName isn't &amp;quot;hegrenade&amp;quot; but &amp;quot;grenade&amp;quot;, in fact it's an actual classname of a throwed grenade.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|For KillerID it's not necessarily should be a PlayerID, it could be 0 if player dies from fall/acid/radiation/fire/etc damage/lack of oxygen or from touch to a &amp;quot;trigger_hurt&amp;quot; entity, in this case TruncatedWeaponName will be &amp;quot;worldspawn&amp;quot; and &amp;quot;trigger_hurt&amp;quot; respectively.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|For vehicle kills TruncatedWeaponName could be &amp;quot;vehicle&amp;quot;, &amp;quot;tank&amp;quot; et cetera.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|DeathMsg|byte, byte, byte, string}}&lt;br /&gt;
{{hl1msg|byte|KillerID}}&lt;br /&gt;
{{hl1msg|byte|VictimID}}&lt;br /&gt;
{{hl1msg|byte|IsHeadshot}}&lt;br /&gt;
{{hl1msg|string|TruncatedWeaponName}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= FlashBat =&lt;br /&gt;
Updates the flashlight battery charge on the [[HUD]].&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|FlashBat|byte}}&lt;br /&gt;
{{hl1msg|byte|ChargePercents}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Flashlight =&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Flashlight|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{hl1msg|byte|ChargePercents}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Fog =&lt;br /&gt;
{{qnotice|mp_Fog 1 for fog in counter-strike}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|Fog|byte, byte, byte}}&lt;br /&gt;
{{hl1msg|byte|FogValue}}&lt;br /&gt;
{{hl1msg|byte|FogValue}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ForceCam =&lt;br /&gt;
Called whenever mp_forcecam or mp_forcechasecam are changed, with their new values passed. There is assumedly a third CVar that this tracks, but it is yet unknown. Note that this message doesn't actually change any of the spectating rules for the client.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Even if mp_forcechasecam is set to 2, it is sent by this message as 1.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ForceCam|byte, byte, byte}}&lt;br /&gt;
{{hl1msg|byte|ForcecamValue}}&lt;br /&gt;
{{hl1msg|byte|ForcechasecamValue}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= GameMode =&lt;br /&gt;
&lt;br /&gt;
Informs player of current game mode&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|GameMode|byte}}&lt;br /&gt;
{{hl1msg|byte|Game mode}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= GameTitle =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|GameTitle|byte}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Geiger =&lt;br /&gt;
Notifies about radiation level through special sound signals. Distance is a distance to hazard area.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Geiger|byte}}&lt;br /&gt;
{{hl1msg|byte|Distance}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Health =&lt;br /&gt;
Updates the number of health on the [[HUD]].&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Health|byte}}&lt;br /&gt;
{{hl1msg|byte|Health}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= HideWeapon =&lt;br /&gt;
Hides the specified [[HUD]] elements.&amp;lt;br&amp;gt;&lt;br /&gt;
Flags:&lt;br /&gt;
   1   (1&amp;lt;&amp;lt;0)  -  crosshair, ammo, weapons list&lt;br /&gt;
   2   (1&amp;lt;&amp;lt;1)  -  flashlight, +&lt;br /&gt;
   4   (1&amp;lt;&amp;lt;2)  -  ALL&lt;br /&gt;
   8   (1&amp;lt;&amp;lt;3)  -  radar, health, armor, +&lt;br /&gt;
  16   (1&amp;lt;&amp;lt;4)  -  timer, +&lt;br /&gt;
  32   (1&amp;lt;&amp;lt;5)  -  money, +&lt;br /&gt;
  64   (1&amp;lt;&amp;lt;6)  -  crosshair&lt;br /&gt;
 128   (1&amp;lt;&amp;lt;7)  -  +&lt;br /&gt;
Symbol + mean that an additional crosshair will be drawn. That crosshair looks exactly like the one from Crosshair message.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|HideWeapon|byte}}&lt;br /&gt;
{{hl1msg|byte|Flags}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= HLTV =&lt;br /&gt;
Message sent for HLTV and unique for each round-start.&amp;lt;br&amp;gt;&lt;br /&gt;
On new round is fired 2 messages:&lt;br /&gt;
 // reset all players health for HLTV&lt;br /&gt;
 MESSAGE_BEGIN( MSG_SPEC, gmsgHLTV );&lt;br /&gt;
 WRITE_BYTE( 0 );   // 0 = all players&lt;br /&gt;
 WRITE_BYTE( 100 | 128 );&lt;br /&gt;
 MESSAGE_END();&amp;lt;br&amp;gt;&lt;br /&gt;
 // reset all players FOV for HLTV&lt;br /&gt;
 MESSAGE_BEGIN( MSG_SPEC, gmsgHLTV );&lt;br /&gt;
 WRITE_BYTE( 0 );   // all players&lt;br /&gt;
 WRITE_BYTE( 0 );&lt;br /&gt;
 MESSAGE_END();&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|HLTV|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|ClientID}}&lt;br /&gt;
{{hl1msg|byte|Flags}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= HostageK =&lt;br /&gt;
Temporarily draws a blinking red dot on the CT players' radar when a hostage is killed.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|HostageK|byte}}&lt;br /&gt;
{{hl1msg|byte|HostageID}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= HostagePos =&lt;br /&gt;
Draws/updates the blue mark on the CT players' radar which is indicate the corresponding hostage position.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Is called with Flag set to 1 on player [[HUD]] full update.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|HostagePos|byte, byte, coord, coord, coord}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{hl1msg|byte|HostageID}}&lt;br /&gt;
{{hl1msg|coord|CoordX}}&lt;br /&gt;
{{hl1msg|coord|CoordY}}&lt;br /&gt;
{{hl1msg|coord|CoordZ}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= HudText =&lt;br /&gt;
Prints [[HUD]] text.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Prints message with specified style in titles.txt with small signs (like in HL)}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|HudText|string, byte, byte}}&lt;br /&gt;
{{hl1msg|string|TextCode}}&lt;br /&gt;
{{hl1msg|byte|InitHUDstyle}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= HudTextArgs =&lt;br /&gt;
Prints [[HUD]] text.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|An example of TextCode could be &amp;quot;#Hint_you_have_the_bomb&amp;quot;.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Prints message with specified style in titles.txt with Big signs (CS Default)}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|If you have a problems with specifing the last two arguments use 1 and 0 respectively.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|HudTextArgs|string, byte, byte}}&lt;br /&gt;
{{hl1msg|string|TextCode}}&lt;br /&gt;
{{hl1msg|byte|InitHUDstyle}}&lt;br /&gt;
{{hl1msg|byte|NumberOfSubMessages}}&lt;br /&gt;
{{hl1msg|string|SubMsg}}&lt;br /&gt;
{{hl1msg|string|SubMsg}}&lt;br /&gt;
{{hl1msg|string|...}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= HudTextPro =&lt;br /&gt;
Prints [[HUD]] text.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Prints message with specified style in titles.txt with Big signs (CS Default)}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|HudText|string, byte, byte}}&lt;br /&gt;
{{hl1msg|string|TextCode}}&lt;br /&gt;
{{hl1msg|byte|InitHUDstyle}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= InitHUD =&lt;br /&gt;
Initializes the [[HUD]].&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|InitHUD}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ItemPickup =&lt;br /&gt;
Temporarily draws correspoding item [[HUD]] icon in the middle of the right side of the screen.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Draw time is depend on the ''hud_drawhistory_time'' client CVar value.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ItemPickup|string}}&lt;br /&gt;
{{hl1msg|string|ItemName}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ItemStatus =&lt;br /&gt;
Notifies about carried items.&amp;lt;br&amp;gt;&lt;br /&gt;
Example of some item bits:&lt;br /&gt;
 1   (1&amp;lt;&amp;lt;0)  -  nightvision goggles&lt;br /&gt;
 2   (1&amp;lt;&amp;lt;1)  -  defusal kit&lt;br /&gt;
{{begin-hl1msg|ItemStatus|byte}}&lt;br /&gt;
{{hl1msg|byte|ItemsBitSum}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Location =&lt;br /&gt;
This message is sent when player gets in different zone on map.&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|Location|byte, string}}&lt;br /&gt;
{{hl1msg|byte|PlayerId}}&lt;br /&gt;
{{hl1msg|string|LocationName}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Money =&lt;br /&gt;
Updates the Amount of money on the [[HUD]]. If the Flag is 1, the additional new-old [[HUD]] money amount difference will be also displayed.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Money|long, byte}}&lt;br /&gt;
{{hl1msg|long|Amount}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= MOTD =&lt;br /&gt;
Displays MOTD window.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Max. Text length is 60. Large MOTD is sent in multiple messages. For the message that is send a last MOTD part the Flag will be set to 1 and 0 otherwise.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|MOTD|byte, string}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{hl1msg|string|Text}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= NVGToggle =&lt;br /&gt;
Toggles night vision mode. For Flag: 1 is on, 0 is off.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|NVGToggle|byte}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Radar =&lt;br /&gt;
Draws/updates the dot on the [[HUD]] radar which is indicate the given player position.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Works for teammates only.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Radar|byte, coord, coord, coord}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{hl1msg|coord|CoordX}}&lt;br /&gt;
{{hl1msg|coord|CoordY}}&lt;br /&gt;
{{hl1msg|coord|CoordZ}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ReceiveW =&lt;br /&gt;
Tell the client which visual weather effect to be executed client side, if cl_weather client cvar is above 0.&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|Main part of CBasePlayer::SendWeatherInfo() function that is sent in CBasePlayer :: UpdateClientData() when player offset m_fInitHUD is 1&amp;lt;br&amp;gt;&lt;br /&gt;
(right after putinserver or after fullupdate command)&amp;lt;br&amp;gt;&lt;br /&gt;
Mode : 1 is for rain effect, 2 is for snow effect&amp;lt;br&amp;gt;&lt;br /&gt;
Though mode 0 is never sent by the game itself, removes weather effect&amp;lt;br&amp;gt;&lt;br /&gt;
Alternatively send mode 1 and mode 2 with judicious delays (time for effect to disappear) make both rain and snow effect}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ReceiveW|byte}}&lt;br /&gt;
{{hl1msg|byte|mode}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ReloadSound =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ReloadSound|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ReqState =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ReqState}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ResetHUD =&lt;br /&gt;
Resets the [[HUD]].&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ResetHUD}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= RoundTime =&lt;br /&gt;
Updates the round timer on the [[HUD]]. Time is in seconds.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|RoundTime|short}}&lt;br /&gt;
{{hl1msg|short|Time}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SayText =&lt;br /&gt;
Prints say [[HUD]] text. Second argument can be a predefined string or a custom one. In the last case the last two arguments isn't required.&amp;lt;br&amp;gt;&lt;br /&gt;
An examples of a predifined Counter-Strike string values: #Cstrike_Chat_AllDead, #Cstrike_Name_Change&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|For #Cstrike_Name_Change String2 is an old name and String3 is a new name.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|SayText|byte, string, string, string}}&lt;br /&gt;
{{hl1msg|byte|SenderID}}&lt;br /&gt;
{{hl1msg|string|String1}}&lt;br /&gt;
{{hl1msg|string|String2}}&lt;br /&gt;
{{hl1msg|string|String3}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Scenario =&lt;br /&gt;
If Active is 0, this display will be hidden. If Active is 1, 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.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|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.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[image:Cs_scenario_msg.jpg|frame|right|Scenario message in CS, using the following parameters: 1, d_mp5navy, 150]]&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Works in both CS and CZ!}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|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.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Scenario|byte, string, byte, short, short}}&lt;br /&gt;
{{hl1msg|byte|Active}}&lt;br /&gt;
{{hl1msg|string|Sprite}}&lt;br /&gt;
{{hl1msg|byte|Alpha}}&lt;br /&gt;
{{hl1msg|short|FlashRate}}&lt;br /&gt;
{{hl1msg|short|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ScoreAttrib =&lt;br /&gt;
Updates the scoreboard's attribute for the specified player. For the 2nd argument, 0 is nothing, (1&amp;lt;&amp;lt;0) i.e. 1 is dead, (1&amp;lt;&amp;lt;1) i.e. 2 is bomb, (1&amp;lt;&amp;lt;2) i.e. 4 is VIP.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|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.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ScoreAttrib|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{hl1msg|byte|Flags}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ScoreInfo =&lt;br /&gt;
Updates the scoreboard with the given player's Frags and Deaths.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|In CS the 4th argument is always equal to 0.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*See [http://www.amxmodx.org/funcwiki.php?go=module&amp;amp;id=4#const_teams CS Team Constants] for team indeces constants list.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ScoreInfo|byte, short, short, short, short}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{hl1msg|short|Frags}}&lt;br /&gt;
{{hl1msg|short|Deaths}}&lt;br /&gt;
{{hl1msg|short|ClassID?}}&lt;br /&gt;
{{hl1msg|short|TeamID}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ScreenFade =&lt;br /&gt;
Fades the screen.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Duration and HoldTime is in special units. 1 second is equal to (1&amp;lt;&amp;lt;12) i.e. 4096 units.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Flags (from HLSDK):&lt;br /&gt;
 FFADE_IN         0x0000 // Just here so we don't pass 0 into the function&lt;br /&gt;
 FFADE_OUT        0x0001 // Fade out (not in)&lt;br /&gt;
 FFADE_MODULATE   0x0002 // Modulate (don't blend)&lt;br /&gt;
 FFADE_STAYOUT    0x0004 // ignores the duration, stays faded out until new ScreenFade message received&lt;br /&gt;
{{begin-hl1msg|ScreenFade|short, short, short, byte, byte, byte, byte}}&lt;br /&gt;
{{hl1msg|short|Duration}}&lt;br /&gt;
{{hl1msg|short|HoldTime}}&lt;br /&gt;
{{hl1msg|short|Flags}}&lt;br /&gt;
{{hl1msg|byte|ColorR}}&lt;br /&gt;
{{hl1msg|byte|ColorG}}&lt;br /&gt;
{{hl1msg|byte|ColorB}}&lt;br /&gt;
{{hl1msg|byte|Alpha}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ScreenShake =&lt;br /&gt;
Shakes the screen.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|All arguments is in special units. 1 second is equal to (1&amp;lt;&amp;lt;12) i.e. 4096 units.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ScreenShake|short, short, short}}&lt;br /&gt;
{{hl1msg|short|Amplitude}}&lt;br /&gt;
{{hl1msg|short|Duration}}&lt;br /&gt;
{{hl1msg|short|Frequency}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SendAudio =&lt;br /&gt;
Plays the specified audio. An example of AudioCode could be &amp;quot;%!MRAD_rounddraw&amp;quot;.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|SendAudio|byte, string, short}}&lt;br /&gt;
{{hl1msg|byte|SenderID}}&lt;br /&gt;
{{hl1msg|string|AudioCode}}&lt;br /&gt;
{{hl1msg|short|Pitch}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ServerName =&lt;br /&gt;
Sends a server name to a client.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ServerName|string}}&lt;br /&gt;
{{hl1msg|string|ServerName}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SetFOV =&lt;br /&gt;
Sets the specified field of view.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|SetFOV|byte}}&lt;br /&gt;
{{hl1msg|byte|Degrees}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ShadowIdx =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ShadowIdx|long}}&lt;br /&gt;
{{hl1msg|long|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ShowMenu =&lt;br /&gt;
Displays a &amp;quot;menu&amp;quot; to a player (text on the left side of the screen). Acts like AMXX's show_menu (in fact, this is how AMXX shows a menu).&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|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.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ShowMenu|short, char, byte, string}}&lt;br /&gt;
{{hl1msg|short|KeysBitSum}}&lt;br /&gt;
{{hl1msg|char|Time}}&lt;br /&gt;
{{hl1msg|byte|Multipart}}&lt;br /&gt;
{{hl1msg|string|Text}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ShowTimer =&lt;br /&gt;
Forces the round timer displaying.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ShowTimer}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SpecHealth =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|SpecHealth|byte}}&lt;br /&gt;
{{hl1msg|byte|Health?}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SpecHealth2 =&lt;br /&gt;
Updates the observer's screen with a name and health of the given player.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|SpecHealth2|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|Health}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Spectator =&lt;br /&gt;
Called when player becomes an observer/spectator.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|On join to Spectators usually is fired twice in a row.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Spectator|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|ClientID}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= StatusIcon =&lt;br /&gt;
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 is required only if Status aren't equal to 0.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|StatusIcon|byte, string, byte, byte, byte}}&lt;br /&gt;
{{hl1msg|byte|Status}}&lt;br /&gt;
{{hl1msg|string|SpriteName}}&lt;br /&gt;
{{hl1msg|byte|ColorR}}&lt;br /&gt;
{{hl1msg|byte|ColorG}}&lt;br /&gt;
{{hl1msg|byte|ColorB}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= StatusValue =&lt;br /&gt;
Sends/updates the status values. For the Flag 1 the Value is TeamRelation, for 2 is PlayerID, for 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.&amp;lt;br&amp;gt;&lt;br /&gt;
Usually is fired as a triple message, for example:&lt;br /&gt;
 {1,  2}  -  non-teammate player&lt;br /&gt;
 {2, 17}  -  player index is 17&lt;br /&gt;
 {3, 59}  -  player health is 59&lt;br /&gt;
{{begin-hl1msg|StatusValue|byte, short}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{hl1msg|short|Value}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= StatusText =&lt;br /&gt;
Specifies the status text format.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|StatusText|byte, string}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{hl1msg|string|Text}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TaskTime =&lt;br /&gt;
Displays a secondary timer above the round timer. Used for Condition Zero singleplayer missions.&amp;lt;br&amp;gt;&lt;br /&gt;
If Time is -1, timer dissappears. If Time is any other negative value, it is displayed as green instead of yellow, and considered positive.&amp;lt;br&amp;gt;&lt;br /&gt;
If Active is true, timer counts down. Otherwise, it is paused.&amp;lt;br&amp;gt;If Fade is above zero, the timer will slowly fade out after that many seconds have passed (even if the timer is inactive).&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This event can only be used on missions that have an objective requiring a secondary timer!}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|TaskTime|short, byte, byte}}&lt;br /&gt;
{{hl1msg|short|Time}}&lt;br /&gt;
{{hl1msg|byte|Active}}&lt;br /&gt;
{{hl1msg|byte|Fade}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TeamInfo =&lt;br /&gt;
Sets the team information for the given player.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|In CS TeamName is either &amp;quot;UNASSIGNED&amp;quot;, &amp;quot;TERRORIST&amp;quot;, &amp;quot;CT&amp;quot; or &amp;quot;SPECTATOR&amp;quot;.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|TeamInfo|byte, string}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{hl1msg|string|TeamName}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TeamScore =&lt;br /&gt;
Updates the team score on the score board.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|In CS TeamName is either &amp;quot;TERRORIST&amp;quot; or &amp;quot;CT&amp;quot;.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|TeamScore|string, short}}&lt;br /&gt;
{{hl1msg|string|TeamName}}&lt;br /&gt;
{{hl1msg|short|Score}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TextMsg =&lt;br /&gt;
Prints a cutom/or predefined text message.&amp;lt;br&amp;gt;&lt;br /&gt;
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:&lt;br /&gt;
 Arg1: 1&lt;br /&gt;
 Arg2: #Game_join_ct&lt;br /&gt;
 Arg3: Pimp Daddy&lt;br /&gt;
{{begin-hl1msg|TextMsg|byte, string, string, string, string, string}}&lt;br /&gt;
{{hl1msg|byte|DestinationType}}&lt;br /&gt;
{{hl1msg|string|Message}}&lt;br /&gt;
{{hl1msg|string|Submsg}}&lt;br /&gt;
{{hl1msg|string|Submsg}}&lt;br /&gt;
{{hl1msg|string|Submsg}}&lt;br /&gt;
{{hl1msg|string|Submsg}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Train =&lt;br /&gt;
Displays the speed bar used for controlling a train.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Speed is as follows: 0 (disable display), 1 (reverse), 2 (neutral), 3 (slow speed), 4 (medium speed), 5 (maximum speed)}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Train|byte}}&lt;br /&gt;
{{hl1msg|byte|Speed}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TutorClose =&lt;br /&gt;
Closes all CZ-style tutor popups.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|TutorClose}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TutorLine =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|TutorLine}}&lt;br /&gt;
{{hl1msg|short|Unknown1}}&lt;br /&gt;
{{hl1msg|short|Unknown2}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TutorState =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|TutorState }}&lt;br /&gt;
{{hl1msg|string|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TutorText =&lt;br /&gt;
Used to display a CZ-style tutor popup.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|If NumberOfSubMsgs is higher than 0, there should be such amount of write_string after this byte.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|TutorMessageEventId is index as listed in czero/tutordata.txt and starts from 0}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|IsDead is the message receiver alive status}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 DEFAULT		1	// 1&amp;lt;&amp;lt;0 | GREEN  | INFO&lt;br /&gt;
 FRIENDDEATH	2	// 1&amp;lt;&amp;lt;1 | RED    | SKULL&lt;br /&gt;
 ENEMYDEATH	4	// 1&amp;lt;&amp;lt;2 | BLUE   | SKULL&lt;br /&gt;
 SCENARIO	8	// 1&amp;lt;&amp;lt;3 | YELLOW | INFO&lt;br /&gt;
 BUY		16	// 1&amp;lt;&amp;lt;4 | GREEN  | INFO&lt;br /&gt;
 CAREER		32	// 1&amp;lt;&amp;lt;5 | GREEN  | INFO&lt;br /&gt;
 HINT		64	// 1&amp;lt;&amp;lt;6 | GREEN  | INFO&lt;br /&gt;
 INGAMEHINT	128	// 1&amp;lt;&amp;lt;7 | GREEN  | INFO&lt;br /&gt;
 ENDGAME		256	// 1&amp;lt;&amp;lt;8 | YELLOW | INFO&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|TutorText|string, byte, short, short, short}}&lt;br /&gt;
{{hl1msg|string|String}}&lt;br /&gt;
{{hl1msg|byte|NumberOfSubMsgs}}&lt;br /&gt;
{{hl1msg|string|SubMessage - As many write_string as previous byte}}&lt;br /&gt;
{{hl1msg|short|TutorMessageEventId}}&lt;br /&gt;
{{hl1msg|short|IsDead}}&lt;br /&gt;
{{hl1msg|short|Type}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ViewMode =&lt;br /&gt;
{{qnotice|No Information available for this message (HLSDK says this switches to first-person view, but it doesn't seem to function as so).}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ViewMode}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= VGUIMenu =&lt;br /&gt;
Displays a predefined VGUI menu.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|VGUIMenu|byte, short, char, byte, string}}&lt;br /&gt;
{{hl1msg|byte|MenuID}}&lt;br /&gt;
{{hl1msg|short|KeysBitSum}}&lt;br /&gt;
{{hl1msg|char|Time?}}&lt;br /&gt;
{{hl1msg|byte|Multipart?}}&lt;br /&gt;
{{hl1msg|string|Name?}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= VoiceMask =&lt;br /&gt;
Used to tell a client who he can hear over the microphone.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|VoiceMask|long, long}}&lt;br /&gt;
{{hl1msg|long|AudiblePlayersIndexBitSum}}&lt;br /&gt;
{{hl1msg|long|ServerBannedPlayersIndexBitSum}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= WeaponList =&lt;br /&gt;
Configures the [[HUD]] weapons list.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Fired on map initialization.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|SlotID starts from 0.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Flags (from HLSDK):&lt;br /&gt;
 ITEM_FLAG_SELECTONEMPTY       1&lt;br /&gt;
 ITEM_FLAG_NOAUTORELOAD        2&lt;br /&gt;
 ITEM_FLAG_NOAUTOSWITCHEMPTY   4&lt;br /&gt;
 ITEM_FLAG_LIMITINWORLD        8&lt;br /&gt;
 ITEM_FLAG_EXHAUSTIBLE        16 // A player can totally exhaust their ammo supply and lose this weapon.&lt;br /&gt;
{{qnotice|See [[CS Weapons Information]] for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|WeaponList|string, byte, byte, byte, byte, byte, byte, byte, byte}}&lt;br /&gt;
{{hl1msg|string|WeaponName}}&lt;br /&gt;
{{hl1msg|byte|PrimaryAmmoID}}&lt;br /&gt;
{{hl1msg|byte|PrimaryAmmoMaxAmount}}&lt;br /&gt;
{{hl1msg|byte|SecondaryAmmoID}}&lt;br /&gt;
{{hl1msg|byte|SecondaryAmmoMaxAmount}}&lt;br /&gt;
{{hl1msg|byte|SlotID}}&lt;br /&gt;
{{hl1msg|byte|NumberInSlot}}&lt;br /&gt;
{{hl1msg|byte|WeaponID}}&lt;br /&gt;
{{hl1msg|byte|Flags}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= WeapPickup =&lt;br /&gt;
Temporarily draws correspoding weapon [[HUD]] icon in the middle of the right side of the screen.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Draw time is depend on the ''hud_drawhistory_time'' client CVar value.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Is fired right before weapon is picked up (notice ''&amp;quot;before&amp;quot;'').}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|See [[CS Weapons Information]] for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|WeapPickup|byte}}&lt;br /&gt;
{{hl1msg|byte|WeaponID}}&lt;br /&gt;
{{end-hl1msg}}&lt;/div&gt;</summary>
		<author><name>ConnorMcLeod</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.alliedmods.net/index.php?title=Half-Life_1_Game_Events&amp;diff=7968</id>
		<title>Half-Life 1 Game Events</title>
		<link rel="alternate" type="text/html" href="https://wiki.alliedmods.net/index.php?title=Half-Life_1_Game_Events&amp;diff=7968"/>
		<updated>2011-02-09T22:29:56Z</updated>

		<summary type="html">&lt;p&gt;ConnorMcLeod: /* TutorText */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Half-Life 1]]&lt;br /&gt;
[[Category:Scripting (AMX Mod X)]]&lt;br /&gt;
&lt;br /&gt;
= Introduction =&lt;br /&gt;
&lt;br /&gt;
In [[AMX Mod X]] you are able to hook in-game messages/events with [http://www.amxmodx.org/funcwiki.php?search=register_message&amp;amp;go=search register_message] / [http://www.amxmodx.org/funcwiki.php?go=func&amp;amp;id=26 register_event]. Here are the list of messages/events and their arguments which can be read with [http://www.amxmodx.org/funcwiki.php?search=get_msg_arg_&amp;amp;go=search get_msg_arg_*] / [http://www.amxmodx.org/funcwiki.php?go=func&amp;amp;id=132 read_data].&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
*See the [[Advanced Scripting (AMX Mod X)#Events.2FMessages|Advanced Scripting]] article for more on events and messages.&amp;lt;br&amp;gt;&lt;br /&gt;
*See messages.inc and message_const.inc from amxmodx/scriptong/include folder or [http://www.amxmodx.org/funcwiki.php?go=inc&amp;amp;id=47 Messaging functions] and [http://www.amxmodx.org/funcwiki.php?go=inc&amp;amp;id=48 Message constants] for full messages control including blocking, argument alteration and much more.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= ADStop =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ADStop}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= AllowSpec =&lt;br /&gt;
Changes whether or not &amp;quot;SPECTATE&amp;quot; appears on the change team menu. Called whenever the allow_spectators CVar is changed, with its new value sent as the byte.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This changes how the change team menu appears, but spectating functionality is based off of the actual CVar value.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|AllowSpec|byte}}&lt;br /&gt;
{{hl1msg|byte|Allowed}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= AmmoPickup =&lt;br /&gt;
Temporarily draws [[HUD]] ammo amount and correspoding ammo [[HUD]] icon in the middle of the right side of the screen.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Draw time is depend on the ''hud_drawhistory_time'' client CVar value.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|See [[CS Weapons Information]] for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|AmmoPickup|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|AmmoID}}&lt;br /&gt;
{{hl1msg|byte|Ammount}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= AmmoX =&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|See [[CS Weapons Information]] for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|AmmoX|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|AmmoID}}&lt;br /&gt;
{{hl1msg|byte|Ammount}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ArmorType =&lt;br /&gt;
Draws/removes helmet [[HUD]] icon. If flag is set to 1 the helmet [[HUD]] icon will be drawn (located right on the armor icon).&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ArmorType|byte}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BarTime =&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Set Duration to 0 to hide the bar.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|BarTime|short}}&lt;br /&gt;
{{hl1msg|short|Duration}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BarTime2 =&lt;br /&gt;
The same as BarTime but StartPercents is specify how many per cents of the bar are (already) filled.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Display time can be calculated with this formula: ''(1 - (StartPercents / 100)) / Duration''}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|BarTime2|short, short}}&lt;br /&gt;
{{hl1msg|short|Duration}}&lt;br /&gt;
{{hl1msg|short|StartPercents}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Battery =&lt;br /&gt;
Updates the icon and the number of armor on the [[HUD]].&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Battery|short}}&lt;br /&gt;
{{hl1msg|short|Armor}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BlinkAcct =&lt;br /&gt;
Makes a player's money display flash rapidly, until it flashes a total of BlinkAmt times.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|BlinkAcct|byte}}&lt;br /&gt;
{{hl1msg|byte|BlinkAmt}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BombDrop =&lt;br /&gt;
The first three arguments are the origin of the dropped bomb. The last argument is set to 1 if the bomb has been planted. It is 0 if the bomb was dropped due to voluntary dropping or death/disconnect. Setting the last argument 1, will also 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.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|BombDrop|coord, coord, coord, byte}}&lt;br /&gt;
{{hl1msg|coord|CoordX}}&lt;br /&gt;
{{hl1msg|coord|CoordY}}&lt;br /&gt;
{{hl1msg|coord|CoordZ}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BombPickup =&lt;br /&gt;
This message just tells the game that the bomb has been picked up. It will cause the dropped/planted bomb to disappear from the Terrorist team's radar.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|BombPickup}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BotProgress =&lt;br /&gt;
Used by CZ's bots when learning a new map. 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.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|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.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|BotProgress|byte, byte, string}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{hl1msg|byte|Progress}}&lt;br /&gt;
{{hl1msg|string|Header}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BotVoice =&lt;br /&gt;
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 by regular players, although you &amp;lt;i&amp;gt;can&amp;lt;/i&amp;gt; specify a regular player (non-bot) for the PlayerIndex. Status is 1 for talking, or 0 for not talking.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|BotVoice|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|Status}}&lt;br /&gt;
{{hl1msg|byte|PlayerIndex}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Brass =&lt;br /&gt;
Creates a brass shell. Used, for example, by the AWP, after firing.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Brass|byte, coord, coord, coord, coord, coord, coord, coord, coord, coord, angle, short, byte, byte, byte}}&lt;br /&gt;
{{hl1msg|byte|MessageID}}&lt;br /&gt;
{{hl1msg|coord|StartX}}&lt;br /&gt;
{{hl1msg|coord|StartY}}&lt;br /&gt;
{{hl1msg|coord|StartZ}}&lt;br /&gt;
{{hl1msg|coord|VelocityX?}}&lt;br /&gt;
{{hl1msg|coord|VelocityY?}}&lt;br /&gt;
{{hl1msg|coord|VelocityZ?}}&lt;br /&gt;
{{hl1msg|coord|UnknownX}}&lt;br /&gt;
{{hl1msg|coord|UnknownY}}&lt;br /&gt;
{{hl1msg|coord|UnknownZ}}&lt;br /&gt;
{{hl1msg|angle|Rotation}}&lt;br /&gt;
{{hl1msg|short|ModelIndex}}&lt;br /&gt;
{{hl1msg|byte|BounceSoundType}}&lt;br /&gt;
{{hl1msg|byte|Life}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BuyClose =&lt;br /&gt;
Forces the buy menu to close. This is not called when the player closes the buy menu by himself; it's only called when the game forces him to do so (ie: he walks outside of the buy zone, gets killed, etcetera).&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|BuyClose}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ClCorpse =&lt;br /&gt;
Spawns a player's corpse. ModelName is the player's model name, for example: &amp;quot;leet&amp;quot;. Delay is a delay before animation plaback, can be negative value.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Coord and Delay is multiplied by 128.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|In CS argument #10 is always equal to 0.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*See [http://www.amxmodx.org/funcwiki.php?go=module&amp;amp;id=4#const_teams CS Team Constants] for team indeces constants list.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ClCorpse|string, long, long, long, coord, coord, coord, long, byte, byte, byte, byte}}&lt;br /&gt;
{{hl1msg|string|ModelName}}&lt;br /&gt;
{{hl1msg|long|CoordX}}&lt;br /&gt;
{{hl1msg|long|CoordY}}&lt;br /&gt;
{{hl1msg|long|CoordZ}}&lt;br /&gt;
{{hl1msg|coord|Angle0}}&lt;br /&gt;
{{hl1msg|coord|Angle1}}&lt;br /&gt;
{{hl1msg|coord|Angle2}}&lt;br /&gt;
{{hl1msg|long|Delay}}&lt;br /&gt;
{{hl1msg|byte|Sequence}}&lt;br /&gt;
{{hl1msg|byte|ClassID?}}&lt;br /&gt;
{{hl1msg|byte|TeamID}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Crosshair =&lt;br /&gt;
Draws/removes a crosshair. If Flag is set to 1 the crosshair will be drawn.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This crossair looks not like the regular one but like the one that is drawn in the spectator mode.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Crosshair|byte}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= CurWeapon =&lt;br /&gt;
Updates the clip ammo number and weapon's corresponding ammo type icon on the [[HUD]].&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|See [[CS Weapons Information]] for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|CurWeapon|byte, byte, byte}}&lt;br /&gt;
{{hl1msg|byte|IsActive}}&lt;br /&gt;
{{hl1msg|byte|WeaponID}}&lt;br /&gt;
{{hl1msg|byte|ClipAmmo}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= CZCareer =&lt;br /&gt;
Supplies certain updates to the player regarding Condition Zero singleplayer missions.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|See the [[CZCareer]] page for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|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).}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|The Type argument is case-sensitive.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This event does nothing in CS and CZ multiplayer.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|CZCareer|string,*}}&lt;br /&gt;
{{hl1msg|string|Type}}&lt;br /&gt;
{{hl1msg|*|Parameters}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= CZCareerHUD =&lt;br /&gt;
Displays certain [[HUD]] elements regarding Condition Zero singleplayer missions.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|See the [[CZCareerHUD]] page for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|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).}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|The Type argument is case-sensitive.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This event has some limited functionality in CS and CZ multiplayer (albeit better in CZ).}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|CZCareerHUD|string,*}}&lt;br /&gt;
{{hl1msg|string|Type}}&lt;br /&gt;
{{hl1msg|*|Parameters}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Damage =&lt;br /&gt;
Called when a player takes damage, to display the red locational indicators. The last three arguments is the origin of the damage inflictor or victim origin if inflictor isn't found. DamageType is a bitwise value usually consist of a single bit.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|To caputure this message,you should use &amp;quot;b&amp;quot; as the third parameter in the register_event() function.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Damage|byte, byte, long, coord, coord, coord}}&lt;br /&gt;
{{hl1msg|byte|DamageSave}}&lt;br /&gt;
{{hl1msg|byte|DamageTake}}&lt;br /&gt;
{{hl1msg|long|DamageType}}&lt;br /&gt;
{{hl1msg|coord|CoordX}}&lt;br /&gt;
{{hl1msg|coord|CoordY}}&lt;br /&gt;
{{hl1msg|coord|CoordZ}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= DeathMsg =&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
Also prints the console text message &amp;quot;KillerName killed VictimName with TruncatedWeaponName&amp;quot; or &amp;quot;*** KillerName killed VictimName with a headshot from TruncatedWeaponName ***&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|TruncatedWeaponName doesn't contain a &amp;quot;weapon_&amp;quot; prefix. See [[CS Weapons Information]] for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|For grenade kill TruncatedWeaponName isn't &amp;quot;hegrenade&amp;quot; but &amp;quot;grenade&amp;quot;, in fact it's an actual classname of a throwed grenade.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|For KillerID it's not necessarily should be a PlayerID, it could be 0 if player dies from fall/acid/radiation/fire/etc damage/lack of oxygen or from touch to a &amp;quot;trigger_hurt&amp;quot; entity, in this case TruncatedWeaponName will be &amp;quot;worldspawn&amp;quot; and &amp;quot;trigger_hurt&amp;quot; respectively.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|For vehicle kills TruncatedWeaponName could be &amp;quot;vehicle&amp;quot;, &amp;quot;tank&amp;quot; et cetera.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|DeathMsg|byte, byte, byte, string}}&lt;br /&gt;
{{hl1msg|byte|KillerID}}&lt;br /&gt;
{{hl1msg|byte|VictimID}}&lt;br /&gt;
{{hl1msg|byte|IsHeadshot}}&lt;br /&gt;
{{hl1msg|string|TruncatedWeaponName}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= FlashBat =&lt;br /&gt;
Updates the flashlight battery charge on the [[HUD]].&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|FlashBat|byte}}&lt;br /&gt;
{{hl1msg|byte|ChargePercents}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Flashlight =&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Flashlight|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{hl1msg|byte|ChargePercents}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Fog =&lt;br /&gt;
{{qnotice|mp_Fog 1 for fog in counter-strike}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|Fog|byte, byte, byte}}&lt;br /&gt;
{{hl1msg|byte|FogValue}}&lt;br /&gt;
{{hl1msg|byte|FogValue}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ForceCam =&lt;br /&gt;
Called whenever mp_forcecam or mp_forcechasecam are changed, with their new values passed. There is assumedly a third CVar that this tracks, but it is yet unknown. Note that this message doesn't actually change any of the spectating rules for the client.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Even if mp_forcechasecam is set to 2, it is sent by this message as 1.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ForceCam|byte, byte, byte}}&lt;br /&gt;
{{hl1msg|byte|ForcecamValue}}&lt;br /&gt;
{{hl1msg|byte|ForcechasecamValue}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= GameMode =&lt;br /&gt;
&lt;br /&gt;
Informs player of current game mode&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|GameMode|byte}}&lt;br /&gt;
{{hl1msg|byte|Game mode}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= GameTitle =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|GameTitle|byte}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Geiger =&lt;br /&gt;
Notifies about radiation level through special sound signals. Distance is a distance to hazard area.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Geiger|byte}}&lt;br /&gt;
{{hl1msg|byte|Distance}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Health =&lt;br /&gt;
Updates the number of health on the [[HUD]].&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Health|byte}}&lt;br /&gt;
{{hl1msg|byte|Health}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= HideWeapon =&lt;br /&gt;
Hides the specified [[HUD]] elements.&amp;lt;br&amp;gt;&lt;br /&gt;
Flags:&lt;br /&gt;
   1   (1&amp;lt;&amp;lt;0)  -  crosshair, ammo, weapons list&lt;br /&gt;
   2   (1&amp;lt;&amp;lt;1)  -  flashlight, +&lt;br /&gt;
   4   (1&amp;lt;&amp;lt;2)  -  ALL&lt;br /&gt;
   8   (1&amp;lt;&amp;lt;3)  -  radar, health, armor, +&lt;br /&gt;
  16   (1&amp;lt;&amp;lt;4)  -  timer, +&lt;br /&gt;
  32   (1&amp;lt;&amp;lt;5)  -  money, +&lt;br /&gt;
  64   (1&amp;lt;&amp;lt;6)  -  crosshair&lt;br /&gt;
 128   (1&amp;lt;&amp;lt;7)  -  +&lt;br /&gt;
Symbol + mean that an additional crosshair will be drawn. That crosshair looks exactly like the one from Crosshair message.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|HideWeapon|byte}}&lt;br /&gt;
{{hl1msg|byte|Flags}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= HLTV =&lt;br /&gt;
Message sent for HLTV and unique for each round-start.&amp;lt;br&amp;gt;&lt;br /&gt;
On new round is fired 2 messages:&lt;br /&gt;
 // reset all players health for HLTV&lt;br /&gt;
 MESSAGE_BEGIN( MSG_SPEC, gmsgHLTV );&lt;br /&gt;
 WRITE_BYTE( 0 );   // 0 = all players&lt;br /&gt;
 WRITE_BYTE( 100 | 128 );&lt;br /&gt;
 MESSAGE_END();&amp;lt;br&amp;gt;&lt;br /&gt;
 // reset all players FOV for HLTV&lt;br /&gt;
 MESSAGE_BEGIN( MSG_SPEC, gmsgHLTV );&lt;br /&gt;
 WRITE_BYTE( 0 );   // all players&lt;br /&gt;
 WRITE_BYTE( 0 );&lt;br /&gt;
 MESSAGE_END();&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|HLTV|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|ClientID}}&lt;br /&gt;
{{hl1msg|byte|Flags}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= HostageK =&lt;br /&gt;
Temporarily draws a blinking red dot on the CT players' radar when a hostage is killed.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|HostageK|byte}}&lt;br /&gt;
{{hl1msg|byte|HostageID}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= HostagePos =&lt;br /&gt;
Draws/updates the blue mark on the CT players' radar which is indicate the corresponding hostage position.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Is called with Flag set to 1 on player [[HUD]] full update.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|HostagePos|byte, byte, coord, coord, coord}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{hl1msg|byte|HostageID}}&lt;br /&gt;
{{hl1msg|coord|CoordX}}&lt;br /&gt;
{{hl1msg|coord|CoordY}}&lt;br /&gt;
{{hl1msg|coord|CoordZ}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= HudText =&lt;br /&gt;
Prints [[HUD]] text.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Prints message with specified style in titles.txt with small signs (like in HL)}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|HudText|string, byte, byte}}&lt;br /&gt;
{{hl1msg|string|TextCode}}&lt;br /&gt;
{{hl1msg|byte|InitHUDstyle}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= HudTextArgs =&lt;br /&gt;
Prints [[HUD]] text.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|An example of TextCode could be &amp;quot;#Hint_you_have_the_bomb&amp;quot;.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Prints message with specified style in titles.txt with Big signs (CS Default)}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|If you have a problems with specifing the last two arguments use 1 and 0 respectively.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|HudTextArgs|string, byte, byte}}&lt;br /&gt;
{{hl1msg|string|TextCode}}&lt;br /&gt;
{{hl1msg|byte|InitHUDstyle}}&lt;br /&gt;
{{hl1msg|byte|NumberOfSubMessages}}&lt;br /&gt;
{{hl1msg|string|SubMsg}}&lt;br /&gt;
{{hl1msg|string|SubMsg}}&lt;br /&gt;
{{hl1msg|string|...}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= HudTextPro =&lt;br /&gt;
Prints [[HUD]] text.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Prints message with specified style in titles.txt with Big signs (CS Default)}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|HudText|string, byte, byte}}&lt;br /&gt;
{{hl1msg|string|TextCode}}&lt;br /&gt;
{{hl1msg|byte|InitHUDstyle}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= InitHUD =&lt;br /&gt;
Initializes the [[HUD]].&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|InitHUD}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ItemPickup =&lt;br /&gt;
Temporarily draws correspoding item [[HUD]] icon in the middle of the right side of the screen.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Draw time is depend on the ''hud_drawhistory_time'' client CVar value.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ItemPickup|string}}&lt;br /&gt;
{{hl1msg|string|ItemName}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ItemStatus =&lt;br /&gt;
Notifies about carried items.&amp;lt;br&amp;gt;&lt;br /&gt;
Example of some item bits:&lt;br /&gt;
 1   (1&amp;lt;&amp;lt;0)  -  nightvision goggles&lt;br /&gt;
 2   (1&amp;lt;&amp;lt;1)  -  defusal kit&lt;br /&gt;
{{begin-hl1msg|ItemStatus|byte}}&lt;br /&gt;
{{hl1msg|byte|ItemsBitSum}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Location =&lt;br /&gt;
This message is sent when player gets in different zone on map.&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|Location|byte, string}}&lt;br /&gt;
{{hl1msg|byte|PlayerId}}&lt;br /&gt;
{{hl1msg|string|LocationName}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Money =&lt;br /&gt;
Updates the Amount of money on the [[HUD]]. If the Flag is 1, the additional new-old [[HUD]] money amount difference will be also displayed.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Money|long, byte}}&lt;br /&gt;
{{hl1msg|long|Amount}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= MOTD =&lt;br /&gt;
Displays MOTD window.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Max. Text length is 60. Large MOTD is sent in multiple messages. For the message that is send a last MOTD part the Flag will be set to 1 and 0 otherwise.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|MOTD|byte, string}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{hl1msg|string|Text}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= NVGToggle =&lt;br /&gt;
Toggles night vision mode. For Flag: 1 is on, 0 is off.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|NVGToggle|byte}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Radar =&lt;br /&gt;
Draws/updates the dot on the [[HUD]] radar which is indicate the given player position.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Works for teammates only.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Radar|byte, coord, coord, coord}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{hl1msg|coord|CoordX}}&lt;br /&gt;
{{hl1msg|coord|CoordY}}&lt;br /&gt;
{{hl1msg|coord|CoordZ}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ReceiveW =&lt;br /&gt;
Tell the client which visual weather effect to be executed client side, if cl_weather client cvar is above 0.&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|Main part of CBasePlayer::SendWeatherInfo() function that is sent in CBasePlayer :: UpdateClientData() when player offset m_fInitHUD is 1&amp;lt;br&amp;gt;&lt;br /&gt;
(right after putinserver or after fullupdate command)&amp;lt;br&amp;gt;&lt;br /&gt;
Mode : 1 is for rain effect, 2 is for snow effect&amp;lt;br&amp;gt;&lt;br /&gt;
Though mode 0 is never sent by the game itself, removes weather effect&amp;lt;br&amp;gt;&lt;br /&gt;
Alternatively send mode 1 and mode 2 with judicious delays (time for effect to disappear) make both rain and snow effect}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ReceiveW|byte}}&lt;br /&gt;
{{hl1msg|byte|mode}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ReloadSound =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ReloadSound|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ReqState =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ReqState}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ResetHUD =&lt;br /&gt;
Resets the [[HUD]].&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ResetHUD}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= RoundTime =&lt;br /&gt;
Updates the round timer on the [[HUD]]. Time is in seconds.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|RoundTime|short}}&lt;br /&gt;
{{hl1msg|short|Time}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SayText =&lt;br /&gt;
Prints say [[HUD]] text. Second argument can be a predefined string or a custom one. In the last case the last two arguments isn't required.&amp;lt;br&amp;gt;&lt;br /&gt;
An examples of a predifined Counter-Strike string values: #Cstrike_Chat_AllDead, #Cstrike_Name_Change&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|For #Cstrike_Name_Change String2 is an old name and String3 is a new name.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|SayText|byte, string, string, string}}&lt;br /&gt;
{{hl1msg|byte|SenderID}}&lt;br /&gt;
{{hl1msg|string|String1}}&lt;br /&gt;
{{hl1msg|string|String2}}&lt;br /&gt;
{{hl1msg|string|String3}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Scenario =&lt;br /&gt;
If Active is 0, this display will be hidden. If Active is 1, 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.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|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.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[image:Cs_scenario_msg.jpg|frame|right|Scenario message in CS, using the following parameters: 1, d_mp5navy, 150]]&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Works in both CS and CZ!}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|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.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Scenario|byte, string, byte, short, short}}&lt;br /&gt;
{{hl1msg|byte|Active}}&lt;br /&gt;
{{hl1msg|string|Sprite}}&lt;br /&gt;
{{hl1msg|byte|Alpha}}&lt;br /&gt;
{{hl1msg|short|FlashRate}}&lt;br /&gt;
{{hl1msg|short|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ScoreAttrib =&lt;br /&gt;
Updates the scoreboard's attribute for the specified player. For the 2nd argument, 0 is nothing, (1&amp;lt;&amp;lt;0) i.e. 1 is dead, (1&amp;lt;&amp;lt;1) i.e. 2 is bomb, (1&amp;lt;&amp;lt;2) i.e. 4 is VIP.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|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.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ScoreAttrib|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{hl1msg|byte|Flags}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ScoreInfo =&lt;br /&gt;
Updates the scoreboard with the given player's Frags and Deaths.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|In CS the 4th argument is always equal to 0.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*See [http://www.amxmodx.org/funcwiki.php?go=module&amp;amp;id=4#const_teams CS Team Constants] for team indeces constants list.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ScoreInfo|byte, short, short, short, short}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{hl1msg|short|Frags}}&lt;br /&gt;
{{hl1msg|short|Deaths}}&lt;br /&gt;
{{hl1msg|short|ClassID?}}&lt;br /&gt;
{{hl1msg|short|TeamID}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ScreenFade =&lt;br /&gt;
Fades the screen.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Duration and HoldTime is in special units. 1 second is equal to (1&amp;lt;&amp;lt;12) i.e. 4096 units.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Flags (from HLSDK):&lt;br /&gt;
 FFADE_IN         0x0000 // Just here so we don't pass 0 into the function&lt;br /&gt;
 FFADE_OUT        0x0001 // Fade out (not in)&lt;br /&gt;
 FFADE_MODULATE   0x0002 // Modulate (don't blend)&lt;br /&gt;
 FFADE_STAYOUT    0x0004 // ignores the duration, stays faded out until new ScreenFade message received&lt;br /&gt;
{{begin-hl1msg|ScreenFade|short, short, short, byte, byte, byte, byte}}&lt;br /&gt;
{{hl1msg|short|Duration}}&lt;br /&gt;
{{hl1msg|short|HoldTime}}&lt;br /&gt;
{{hl1msg|short|Flags}}&lt;br /&gt;
{{hl1msg|byte|ColorR}}&lt;br /&gt;
{{hl1msg|byte|ColorG}}&lt;br /&gt;
{{hl1msg|byte|ColorB}}&lt;br /&gt;
{{hl1msg|byte|Alpha}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ScreenShake =&lt;br /&gt;
Shakes the screen.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|All arguments is in special units. 1 second is equal to (1&amp;lt;&amp;lt;12) i.e. 4096 units.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ScreenShake|short, short, short}}&lt;br /&gt;
{{hl1msg|short|Amplitude}}&lt;br /&gt;
{{hl1msg|short|Duration}}&lt;br /&gt;
{{hl1msg|short|Frequency}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SendAudio =&lt;br /&gt;
Plays the specified audio. An example of AudioCode could be &amp;quot;%!MRAD_rounddraw&amp;quot;.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|SendAudio|byte, string, short}}&lt;br /&gt;
{{hl1msg|byte|SenderID}}&lt;br /&gt;
{{hl1msg|string|AudioCode}}&lt;br /&gt;
{{hl1msg|short|Pitch}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ServerName =&lt;br /&gt;
Sends a server name to a client.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ServerName|string}}&lt;br /&gt;
{{hl1msg|string|ServerName}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SetFOV =&lt;br /&gt;
Sets the specified field of view.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|SetFOV|byte}}&lt;br /&gt;
{{hl1msg|byte|Degrees}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ShadowIdx =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ShadowIdx|long}}&lt;br /&gt;
{{hl1msg|long|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ShowMenu =&lt;br /&gt;
Displays a &amp;quot;menu&amp;quot; to a player (text on the left side of the screen). Acts like AMXX's show_menu (in fact, this is how AMXX shows a menu).&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|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.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ShowMenu|short, char, byte, string}}&lt;br /&gt;
{{hl1msg|short|KeysBitSum}}&lt;br /&gt;
{{hl1msg|char|Time}}&lt;br /&gt;
{{hl1msg|byte|Multipart}}&lt;br /&gt;
{{hl1msg|string|Text}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ShowTimer =&lt;br /&gt;
Forces the round timer displaying.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ShowTimer}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SpecHealth =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|SpecHealth|byte}}&lt;br /&gt;
{{hl1msg|byte|Health?}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SpecHealth2 =&lt;br /&gt;
Updates the observer's screen with a name and health of the given player.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|SpecHealth2|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|Health}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Spectator =&lt;br /&gt;
Called when player becomes an observer/spectator.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|On join to Spectators usually is fired twice in a row.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Spectator|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|ClientID}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= StatusIcon =&lt;br /&gt;
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 is required only if Status aren't equal to 0.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|StatusIcon|byte, string, byte, byte, byte}}&lt;br /&gt;
{{hl1msg|byte|Status}}&lt;br /&gt;
{{hl1msg|string|SpriteName}}&lt;br /&gt;
{{hl1msg|byte|ColorR}}&lt;br /&gt;
{{hl1msg|byte|ColorG}}&lt;br /&gt;
{{hl1msg|byte|ColorB}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= StatusValue =&lt;br /&gt;
Sends/updates the status values. For the Flag 1 the Value is TeamRelation, for 2 is PlayerID, for 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.&amp;lt;br&amp;gt;&lt;br /&gt;
Usually is fired as a triple message, for example:&lt;br /&gt;
 {1,  2}  -  non-teammate player&lt;br /&gt;
 {2, 17}  -  player index is 17&lt;br /&gt;
 {3, 59}  -  player health is 59&lt;br /&gt;
{{begin-hl1msg|StatusValue|byte, short}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{hl1msg|short|Value}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= StatusText =&lt;br /&gt;
Specifies the status text format.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|StatusText|byte, string}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{hl1msg|string|Text}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TaskTime =&lt;br /&gt;
Displays a secondary timer above the round timer. Used for Condition Zero singleplayer missions.&amp;lt;br&amp;gt;&lt;br /&gt;
If Time is -1, timer dissappears. If Time is any other negative value, it is displayed as green instead of yellow, and considered positive.&amp;lt;br&amp;gt;&lt;br /&gt;
If Active is true, timer counts down. Otherwise, it is paused.&amp;lt;br&amp;gt;If Fade is above zero, the timer will slowly fade out after that many seconds have passed (even if the timer is inactive).&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This event can only be used on missions that have an objective requiring a secondary timer!}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|TaskTime|short, byte, byte}}&lt;br /&gt;
{{hl1msg|short|Time}}&lt;br /&gt;
{{hl1msg|byte|Active}}&lt;br /&gt;
{{hl1msg|byte|Fade}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TeamInfo =&lt;br /&gt;
Sets the team information for the given player.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|In CS TeamName is either &amp;quot;UNASSIGNED&amp;quot;, &amp;quot;TERRORIST&amp;quot;, &amp;quot;CT&amp;quot; or &amp;quot;SPECTATOR&amp;quot;.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|TeamInfo|byte, string}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{hl1msg|string|TeamName}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TeamScore =&lt;br /&gt;
Updates the team score on the score board.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|In CS TeamName is either &amp;quot;TERRORIST&amp;quot; or &amp;quot;CT&amp;quot;.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|TeamScore|string, short}}&lt;br /&gt;
{{hl1msg|string|TeamName}}&lt;br /&gt;
{{hl1msg|short|Score}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TextMsg =&lt;br /&gt;
Prints a cutom/or predefined text message.&amp;lt;br&amp;gt;&lt;br /&gt;
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:&lt;br /&gt;
 Arg1: 1&lt;br /&gt;
 Arg2: #Game_join_ct&lt;br /&gt;
 Arg3: Pimp Daddy&lt;br /&gt;
{{begin-hl1msg|TextMsg|byte, string, string, string, string, string}}&lt;br /&gt;
{{hl1msg|byte|DestinationType}}&lt;br /&gt;
{{hl1msg|string|Message}}&lt;br /&gt;
{{hl1msg|string|Submsg}}&lt;br /&gt;
{{hl1msg|string|Submsg}}&lt;br /&gt;
{{hl1msg|string|Submsg}}&lt;br /&gt;
{{hl1msg|string|Submsg}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Train =&lt;br /&gt;
Displays the speed bar used for controlling a train.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Speed is as follows: 0 (disable display), 1 (reverse), 2 (neutral), 3 (slow speed), 4 (medium speed), 5 (maximum speed)}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Train|byte}}&lt;br /&gt;
{{hl1msg|byte|Speed}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TutorClose =&lt;br /&gt;
Closes all CZ-style tutor popups.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|TutorClose}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TutorLine =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|TutorLine}}&lt;br /&gt;
{{hl1msg|short|Unknown1}}&lt;br /&gt;
{{hl1msg|short|Unknown2}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TutorState =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|TutorState }}&lt;br /&gt;
{{hl1msg|string|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TutorText =&lt;br /&gt;
Used to display a CZ-style tutor popup.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|If NumberOfSubMsgs is higher than 0, there should be such amount of write_string after this byte.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|TutorMessageEventId is index as listed in czero/tutordata.txt and starts from 0}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|IsDead is the message receiver alive status}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 DEFAULT		1	// 1&amp;lt;&amp;lt;0 | GREEN  | INFO&lt;br /&gt;
 FRIENDDEATH	2	// 1&amp;lt;&amp;lt;1 | RED    | SKULL&lt;br /&gt;
 ENEMYDEATH	4	// 1&amp;lt;&amp;lt;2 | BLUE   | SKULL&lt;br /&gt;
 SCENARIO	8	// 1&amp;lt;&amp;lt;3 | YELLOW | INFO&lt;br /&gt;
 BUY		16	// 1&amp;lt;&amp;lt;4 | GREEN  | INFO&lt;br /&gt;
 CAREER		32	// 1&amp;lt;&amp;lt;5 | GREEN  | INFO&lt;br /&gt;
 HINT		64	// 1&amp;lt;&amp;lt;6 | GREEN  | INFO&lt;br /&gt;
 INGAMEHINT	128	// 1&amp;lt;&amp;lt;7 | GREEN  | INFO&lt;br /&gt;
 ENDGAME		256	// 1&amp;lt;&amp;lt;8 | YELLOW | INFO&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|TutorText|string, byte, short, short, short}}&lt;br /&gt;
{{hl1msg|string|String}}&lt;br /&gt;
{{hl1msg|byte|NumberOfSubMsgs}}&lt;br /&gt;
{{hl1msg|short|TutorMessageEventId}}&lt;br /&gt;
{{hl1msg|short|IsDead}}&lt;br /&gt;
{{hl1msg|short|Type}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ViewMode =&lt;br /&gt;
{{qnotice|No Information available for this message (HLSDK says this switches to first-person view, but it doesn't seem to function as so).}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ViewMode}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= VGUIMenu =&lt;br /&gt;
Displays a predefined VGUI menu.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|VGUIMenu|byte, short, char, byte, string}}&lt;br /&gt;
{{hl1msg|byte|MenuID}}&lt;br /&gt;
{{hl1msg|short|KeysBitSum}}&lt;br /&gt;
{{hl1msg|char|Time?}}&lt;br /&gt;
{{hl1msg|byte|Multipart?}}&lt;br /&gt;
{{hl1msg|string|Name?}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= VoiceMask =&lt;br /&gt;
Used to tell a client who he can hear over the microphone.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|VoiceMask|long, long}}&lt;br /&gt;
{{hl1msg|long|AudiblePlayersIndexBitSum}}&lt;br /&gt;
{{hl1msg|long|ServerBannedPlayersIndexBitSum}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= WeaponList =&lt;br /&gt;
Configures the [[HUD]] weapons list.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Fired on map initialization.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|SlotID starts from 0.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Flags (from HLSDK):&lt;br /&gt;
 ITEM_FLAG_SELECTONEMPTY       1&lt;br /&gt;
 ITEM_FLAG_NOAUTORELOAD        2&lt;br /&gt;
 ITEM_FLAG_NOAUTOSWITCHEMPTY   4&lt;br /&gt;
 ITEM_FLAG_LIMITINWORLD        8&lt;br /&gt;
 ITEM_FLAG_EXHAUSTIBLE        16 // A player can totally exhaust their ammo supply and lose this weapon.&lt;br /&gt;
{{qnotice|See [[CS Weapons Information]] for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|WeaponList|string, byte, byte, byte, byte, byte, byte, byte, byte}}&lt;br /&gt;
{{hl1msg|string|WeaponName}}&lt;br /&gt;
{{hl1msg|byte|PrimaryAmmoID}}&lt;br /&gt;
{{hl1msg|byte|PrimaryAmmoMaxAmount}}&lt;br /&gt;
{{hl1msg|byte|SecondaryAmmoID}}&lt;br /&gt;
{{hl1msg|byte|SecondaryAmmoMaxAmount}}&lt;br /&gt;
{{hl1msg|byte|SlotID}}&lt;br /&gt;
{{hl1msg|byte|NumberInSlot}}&lt;br /&gt;
{{hl1msg|byte|WeaponID}}&lt;br /&gt;
{{hl1msg|byte|Flags}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= WeapPickup =&lt;br /&gt;
Temporarily draws correspoding weapon [[HUD]] icon in the middle of the right side of the screen.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Draw time is depend on the ''hud_drawhistory_time'' client CVar value.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Is fired right before weapon is picked up (notice ''&amp;quot;before&amp;quot;'').}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|See [[CS Weapons Information]] for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|WeapPickup|byte}}&lt;br /&gt;
{{hl1msg|byte|WeaponID}}&lt;br /&gt;
{{end-hl1msg}}&lt;/div&gt;</summary>
		<author><name>ConnorMcLeod</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.alliedmods.net/index.php?title=Half-Life_1_Game_Events&amp;diff=7967</id>
		<title>Half-Life 1 Game Events</title>
		<link rel="alternate" type="text/html" href="https://wiki.alliedmods.net/index.php?title=Half-Life_1_Game_Events&amp;diff=7967"/>
		<updated>2011-02-09T22:29:26Z</updated>

		<summary type="html">&lt;p&gt;ConnorMcLeod: /* TutorText */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Half-Life 1]]&lt;br /&gt;
[[Category:Scripting (AMX Mod X)]]&lt;br /&gt;
&lt;br /&gt;
= Introduction =&lt;br /&gt;
&lt;br /&gt;
In [[AMX Mod X]] you are able to hook in-game messages/events with [http://www.amxmodx.org/funcwiki.php?search=register_message&amp;amp;go=search register_message] / [http://www.amxmodx.org/funcwiki.php?go=func&amp;amp;id=26 register_event]. Here are the list of messages/events and their arguments which can be read with [http://www.amxmodx.org/funcwiki.php?search=get_msg_arg_&amp;amp;go=search get_msg_arg_*] / [http://www.amxmodx.org/funcwiki.php?go=func&amp;amp;id=132 read_data].&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
*See the [[Advanced Scripting (AMX Mod X)#Events.2FMessages|Advanced Scripting]] article for more on events and messages.&amp;lt;br&amp;gt;&lt;br /&gt;
*See messages.inc and message_const.inc from amxmodx/scriptong/include folder or [http://www.amxmodx.org/funcwiki.php?go=inc&amp;amp;id=47 Messaging functions] and [http://www.amxmodx.org/funcwiki.php?go=inc&amp;amp;id=48 Message constants] for full messages control including blocking, argument alteration and much more.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= ADStop =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ADStop}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= AllowSpec =&lt;br /&gt;
Changes whether or not &amp;quot;SPECTATE&amp;quot; appears on the change team menu. Called whenever the allow_spectators CVar is changed, with its new value sent as the byte.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This changes how the change team menu appears, but spectating functionality is based off of the actual CVar value.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|AllowSpec|byte}}&lt;br /&gt;
{{hl1msg|byte|Allowed}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= AmmoPickup =&lt;br /&gt;
Temporarily draws [[HUD]] ammo amount and correspoding ammo [[HUD]] icon in the middle of the right side of the screen.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Draw time is depend on the ''hud_drawhistory_time'' client CVar value.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|See [[CS Weapons Information]] for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|AmmoPickup|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|AmmoID}}&lt;br /&gt;
{{hl1msg|byte|Ammount}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= AmmoX =&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|See [[CS Weapons Information]] for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|AmmoX|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|AmmoID}}&lt;br /&gt;
{{hl1msg|byte|Ammount}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ArmorType =&lt;br /&gt;
Draws/removes helmet [[HUD]] icon. If flag is set to 1 the helmet [[HUD]] icon will be drawn (located right on the armor icon).&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ArmorType|byte}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BarTime =&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Set Duration to 0 to hide the bar.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|BarTime|short}}&lt;br /&gt;
{{hl1msg|short|Duration}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BarTime2 =&lt;br /&gt;
The same as BarTime but StartPercents is specify how many per cents of the bar are (already) filled.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Display time can be calculated with this formula: ''(1 - (StartPercents / 100)) / Duration''}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|BarTime2|short, short}}&lt;br /&gt;
{{hl1msg|short|Duration}}&lt;br /&gt;
{{hl1msg|short|StartPercents}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Battery =&lt;br /&gt;
Updates the icon and the number of armor on the [[HUD]].&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Battery|short}}&lt;br /&gt;
{{hl1msg|short|Armor}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BlinkAcct =&lt;br /&gt;
Makes a player's money display flash rapidly, until it flashes a total of BlinkAmt times.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|BlinkAcct|byte}}&lt;br /&gt;
{{hl1msg|byte|BlinkAmt}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BombDrop =&lt;br /&gt;
The first three arguments are the origin of the dropped bomb. The last argument is set to 1 if the bomb has been planted. It is 0 if the bomb was dropped due to voluntary dropping or death/disconnect. Setting the last argument 1, will also 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.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|BombDrop|coord, coord, coord, byte}}&lt;br /&gt;
{{hl1msg|coord|CoordX}}&lt;br /&gt;
{{hl1msg|coord|CoordY}}&lt;br /&gt;
{{hl1msg|coord|CoordZ}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BombPickup =&lt;br /&gt;
This message just tells the game that the bomb has been picked up. It will cause the dropped/planted bomb to disappear from the Terrorist team's radar.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|BombPickup}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BotProgress =&lt;br /&gt;
Used by CZ's bots when learning a new map. 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.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|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.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|BotProgress|byte, byte, string}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{hl1msg|byte|Progress}}&lt;br /&gt;
{{hl1msg|string|Header}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BotVoice =&lt;br /&gt;
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 by regular players, although you &amp;lt;i&amp;gt;can&amp;lt;/i&amp;gt; specify a regular player (non-bot) for the PlayerIndex. Status is 1 for talking, or 0 for not talking.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|BotVoice|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|Status}}&lt;br /&gt;
{{hl1msg|byte|PlayerIndex}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Brass =&lt;br /&gt;
Creates a brass shell. Used, for example, by the AWP, after firing.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Brass|byte, coord, coord, coord, coord, coord, coord, coord, coord, coord, angle, short, byte, byte, byte}}&lt;br /&gt;
{{hl1msg|byte|MessageID}}&lt;br /&gt;
{{hl1msg|coord|StartX}}&lt;br /&gt;
{{hl1msg|coord|StartY}}&lt;br /&gt;
{{hl1msg|coord|StartZ}}&lt;br /&gt;
{{hl1msg|coord|VelocityX?}}&lt;br /&gt;
{{hl1msg|coord|VelocityY?}}&lt;br /&gt;
{{hl1msg|coord|VelocityZ?}}&lt;br /&gt;
{{hl1msg|coord|UnknownX}}&lt;br /&gt;
{{hl1msg|coord|UnknownY}}&lt;br /&gt;
{{hl1msg|coord|UnknownZ}}&lt;br /&gt;
{{hl1msg|angle|Rotation}}&lt;br /&gt;
{{hl1msg|short|ModelIndex}}&lt;br /&gt;
{{hl1msg|byte|BounceSoundType}}&lt;br /&gt;
{{hl1msg|byte|Life}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BuyClose =&lt;br /&gt;
Forces the buy menu to close. This is not called when the player closes the buy menu by himself; it's only called when the game forces him to do so (ie: he walks outside of the buy zone, gets killed, etcetera).&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|BuyClose}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ClCorpse =&lt;br /&gt;
Spawns a player's corpse. ModelName is the player's model name, for example: &amp;quot;leet&amp;quot;. Delay is a delay before animation plaback, can be negative value.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Coord and Delay is multiplied by 128.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|In CS argument #10 is always equal to 0.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*See [http://www.amxmodx.org/funcwiki.php?go=module&amp;amp;id=4#const_teams CS Team Constants] for team indeces constants list.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ClCorpse|string, long, long, long, coord, coord, coord, long, byte, byte, byte, byte}}&lt;br /&gt;
{{hl1msg|string|ModelName}}&lt;br /&gt;
{{hl1msg|long|CoordX}}&lt;br /&gt;
{{hl1msg|long|CoordY}}&lt;br /&gt;
{{hl1msg|long|CoordZ}}&lt;br /&gt;
{{hl1msg|coord|Angle0}}&lt;br /&gt;
{{hl1msg|coord|Angle1}}&lt;br /&gt;
{{hl1msg|coord|Angle2}}&lt;br /&gt;
{{hl1msg|long|Delay}}&lt;br /&gt;
{{hl1msg|byte|Sequence}}&lt;br /&gt;
{{hl1msg|byte|ClassID?}}&lt;br /&gt;
{{hl1msg|byte|TeamID}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Crosshair =&lt;br /&gt;
Draws/removes a crosshair. If Flag is set to 1 the crosshair will be drawn.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This crossair looks not like the regular one but like the one that is drawn in the spectator mode.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Crosshair|byte}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= CurWeapon =&lt;br /&gt;
Updates the clip ammo number and weapon's corresponding ammo type icon on the [[HUD]].&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|See [[CS Weapons Information]] for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|CurWeapon|byte, byte, byte}}&lt;br /&gt;
{{hl1msg|byte|IsActive}}&lt;br /&gt;
{{hl1msg|byte|WeaponID}}&lt;br /&gt;
{{hl1msg|byte|ClipAmmo}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= CZCareer =&lt;br /&gt;
Supplies certain updates to the player regarding Condition Zero singleplayer missions.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|See the [[CZCareer]] page for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|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).}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|The Type argument is case-sensitive.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This event does nothing in CS and CZ multiplayer.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|CZCareer|string,*}}&lt;br /&gt;
{{hl1msg|string|Type}}&lt;br /&gt;
{{hl1msg|*|Parameters}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= CZCareerHUD =&lt;br /&gt;
Displays certain [[HUD]] elements regarding Condition Zero singleplayer missions.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|See the [[CZCareerHUD]] page for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|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).}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|The Type argument is case-sensitive.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This event has some limited functionality in CS and CZ multiplayer (albeit better in CZ).}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|CZCareerHUD|string,*}}&lt;br /&gt;
{{hl1msg|string|Type}}&lt;br /&gt;
{{hl1msg|*|Parameters}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Damage =&lt;br /&gt;
Called when a player takes damage, to display the red locational indicators. The last three arguments is the origin of the damage inflictor or victim origin if inflictor isn't found. DamageType is a bitwise value usually consist of a single bit.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|To caputure this message,you should use &amp;quot;b&amp;quot; as the third parameter in the register_event() function.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Damage|byte, byte, long, coord, coord, coord}}&lt;br /&gt;
{{hl1msg|byte|DamageSave}}&lt;br /&gt;
{{hl1msg|byte|DamageTake}}&lt;br /&gt;
{{hl1msg|long|DamageType}}&lt;br /&gt;
{{hl1msg|coord|CoordX}}&lt;br /&gt;
{{hl1msg|coord|CoordY}}&lt;br /&gt;
{{hl1msg|coord|CoordZ}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= DeathMsg =&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
Also prints the console text message &amp;quot;KillerName killed VictimName with TruncatedWeaponName&amp;quot; or &amp;quot;*** KillerName killed VictimName with a headshot from TruncatedWeaponName ***&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|TruncatedWeaponName doesn't contain a &amp;quot;weapon_&amp;quot; prefix. See [[CS Weapons Information]] for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|For grenade kill TruncatedWeaponName isn't &amp;quot;hegrenade&amp;quot; but &amp;quot;grenade&amp;quot;, in fact it's an actual classname of a throwed grenade.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|For KillerID it's not necessarily should be a PlayerID, it could be 0 if player dies from fall/acid/radiation/fire/etc damage/lack of oxygen or from touch to a &amp;quot;trigger_hurt&amp;quot; entity, in this case TruncatedWeaponName will be &amp;quot;worldspawn&amp;quot; and &amp;quot;trigger_hurt&amp;quot; respectively.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|For vehicle kills TruncatedWeaponName could be &amp;quot;vehicle&amp;quot;, &amp;quot;tank&amp;quot; et cetera.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|DeathMsg|byte, byte, byte, string}}&lt;br /&gt;
{{hl1msg|byte|KillerID}}&lt;br /&gt;
{{hl1msg|byte|VictimID}}&lt;br /&gt;
{{hl1msg|byte|IsHeadshot}}&lt;br /&gt;
{{hl1msg|string|TruncatedWeaponName}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= FlashBat =&lt;br /&gt;
Updates the flashlight battery charge on the [[HUD]].&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|FlashBat|byte}}&lt;br /&gt;
{{hl1msg|byte|ChargePercents}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Flashlight =&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Flashlight|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{hl1msg|byte|ChargePercents}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Fog =&lt;br /&gt;
{{qnotice|mp_Fog 1 for fog in counter-strike}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|Fog|byte, byte, byte}}&lt;br /&gt;
{{hl1msg|byte|FogValue}}&lt;br /&gt;
{{hl1msg|byte|FogValue}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ForceCam =&lt;br /&gt;
Called whenever mp_forcecam or mp_forcechasecam are changed, with their new values passed. There is assumedly a third CVar that this tracks, but it is yet unknown. Note that this message doesn't actually change any of the spectating rules for the client.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Even if mp_forcechasecam is set to 2, it is sent by this message as 1.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ForceCam|byte, byte, byte}}&lt;br /&gt;
{{hl1msg|byte|ForcecamValue}}&lt;br /&gt;
{{hl1msg|byte|ForcechasecamValue}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= GameMode =&lt;br /&gt;
&lt;br /&gt;
Informs player of current game mode&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|GameMode|byte}}&lt;br /&gt;
{{hl1msg|byte|Game mode}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= GameTitle =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|GameTitle|byte}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Geiger =&lt;br /&gt;
Notifies about radiation level through special sound signals. Distance is a distance to hazard area.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Geiger|byte}}&lt;br /&gt;
{{hl1msg|byte|Distance}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Health =&lt;br /&gt;
Updates the number of health on the [[HUD]].&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Health|byte}}&lt;br /&gt;
{{hl1msg|byte|Health}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= HideWeapon =&lt;br /&gt;
Hides the specified [[HUD]] elements.&amp;lt;br&amp;gt;&lt;br /&gt;
Flags:&lt;br /&gt;
   1   (1&amp;lt;&amp;lt;0)  -  crosshair, ammo, weapons list&lt;br /&gt;
   2   (1&amp;lt;&amp;lt;1)  -  flashlight, +&lt;br /&gt;
   4   (1&amp;lt;&amp;lt;2)  -  ALL&lt;br /&gt;
   8   (1&amp;lt;&amp;lt;3)  -  radar, health, armor, +&lt;br /&gt;
  16   (1&amp;lt;&amp;lt;4)  -  timer, +&lt;br /&gt;
  32   (1&amp;lt;&amp;lt;5)  -  money, +&lt;br /&gt;
  64   (1&amp;lt;&amp;lt;6)  -  crosshair&lt;br /&gt;
 128   (1&amp;lt;&amp;lt;7)  -  +&lt;br /&gt;
Symbol + mean that an additional crosshair will be drawn. That crosshair looks exactly like the one from Crosshair message.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|HideWeapon|byte}}&lt;br /&gt;
{{hl1msg|byte|Flags}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= HLTV =&lt;br /&gt;
Message sent for HLTV and unique for each round-start.&amp;lt;br&amp;gt;&lt;br /&gt;
On new round is fired 2 messages:&lt;br /&gt;
 // reset all players health for HLTV&lt;br /&gt;
 MESSAGE_BEGIN( MSG_SPEC, gmsgHLTV );&lt;br /&gt;
 WRITE_BYTE( 0 );   // 0 = all players&lt;br /&gt;
 WRITE_BYTE( 100 | 128 );&lt;br /&gt;
 MESSAGE_END();&amp;lt;br&amp;gt;&lt;br /&gt;
 // reset all players FOV for HLTV&lt;br /&gt;
 MESSAGE_BEGIN( MSG_SPEC, gmsgHLTV );&lt;br /&gt;
 WRITE_BYTE( 0 );   // all players&lt;br /&gt;
 WRITE_BYTE( 0 );&lt;br /&gt;
 MESSAGE_END();&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|HLTV|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|ClientID}}&lt;br /&gt;
{{hl1msg|byte|Flags}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= HostageK =&lt;br /&gt;
Temporarily draws a blinking red dot on the CT players' radar when a hostage is killed.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|HostageK|byte}}&lt;br /&gt;
{{hl1msg|byte|HostageID}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= HostagePos =&lt;br /&gt;
Draws/updates the blue mark on the CT players' radar which is indicate the corresponding hostage position.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Is called with Flag set to 1 on player [[HUD]] full update.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|HostagePos|byte, byte, coord, coord, coord}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{hl1msg|byte|HostageID}}&lt;br /&gt;
{{hl1msg|coord|CoordX}}&lt;br /&gt;
{{hl1msg|coord|CoordY}}&lt;br /&gt;
{{hl1msg|coord|CoordZ}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= HudText =&lt;br /&gt;
Prints [[HUD]] text.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Prints message with specified style in titles.txt with small signs (like in HL)}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|HudText|string, byte, byte}}&lt;br /&gt;
{{hl1msg|string|TextCode}}&lt;br /&gt;
{{hl1msg|byte|InitHUDstyle}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= HudTextArgs =&lt;br /&gt;
Prints [[HUD]] text.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|An example of TextCode could be &amp;quot;#Hint_you_have_the_bomb&amp;quot;.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Prints message with specified style in titles.txt with Big signs (CS Default)}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|If you have a problems with specifing the last two arguments use 1 and 0 respectively.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|HudTextArgs|string, byte, byte}}&lt;br /&gt;
{{hl1msg|string|TextCode}}&lt;br /&gt;
{{hl1msg|byte|InitHUDstyle}}&lt;br /&gt;
{{hl1msg|byte|NumberOfSubMessages}}&lt;br /&gt;
{{hl1msg|string|SubMsg}}&lt;br /&gt;
{{hl1msg|string|SubMsg}}&lt;br /&gt;
{{hl1msg|string|...}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= HudTextPro =&lt;br /&gt;
Prints [[HUD]] text.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Prints message with specified style in titles.txt with Big signs (CS Default)}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|HudText|string, byte, byte}}&lt;br /&gt;
{{hl1msg|string|TextCode}}&lt;br /&gt;
{{hl1msg|byte|InitHUDstyle}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= InitHUD =&lt;br /&gt;
Initializes the [[HUD]].&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|InitHUD}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ItemPickup =&lt;br /&gt;
Temporarily draws correspoding item [[HUD]] icon in the middle of the right side of the screen.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Draw time is depend on the ''hud_drawhistory_time'' client CVar value.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ItemPickup|string}}&lt;br /&gt;
{{hl1msg|string|ItemName}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ItemStatus =&lt;br /&gt;
Notifies about carried items.&amp;lt;br&amp;gt;&lt;br /&gt;
Example of some item bits:&lt;br /&gt;
 1   (1&amp;lt;&amp;lt;0)  -  nightvision goggles&lt;br /&gt;
 2   (1&amp;lt;&amp;lt;1)  -  defusal kit&lt;br /&gt;
{{begin-hl1msg|ItemStatus|byte}}&lt;br /&gt;
{{hl1msg|byte|ItemsBitSum}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Location =&lt;br /&gt;
This message is sent when player gets in different zone on map.&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|Location|byte, string}}&lt;br /&gt;
{{hl1msg|byte|PlayerId}}&lt;br /&gt;
{{hl1msg|string|LocationName}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Money =&lt;br /&gt;
Updates the Amount of money on the [[HUD]]. If the Flag is 1, the additional new-old [[HUD]] money amount difference will be also displayed.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Money|long, byte}}&lt;br /&gt;
{{hl1msg|long|Amount}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= MOTD =&lt;br /&gt;
Displays MOTD window.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Max. Text length is 60. Large MOTD is sent in multiple messages. For the message that is send a last MOTD part the Flag will be set to 1 and 0 otherwise.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|MOTD|byte, string}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{hl1msg|string|Text}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= NVGToggle =&lt;br /&gt;
Toggles night vision mode. For Flag: 1 is on, 0 is off.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|NVGToggle|byte}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Radar =&lt;br /&gt;
Draws/updates the dot on the [[HUD]] radar which is indicate the given player position.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Works for teammates only.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Radar|byte, coord, coord, coord}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{hl1msg|coord|CoordX}}&lt;br /&gt;
{{hl1msg|coord|CoordY}}&lt;br /&gt;
{{hl1msg|coord|CoordZ}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ReceiveW =&lt;br /&gt;
Tell the client which visual weather effect to be executed client side, if cl_weather client cvar is above 0.&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|Main part of CBasePlayer::SendWeatherInfo() function that is sent in CBasePlayer :: UpdateClientData() when player offset m_fInitHUD is 1&amp;lt;br&amp;gt;&lt;br /&gt;
(right after putinserver or after fullupdate command)&amp;lt;br&amp;gt;&lt;br /&gt;
Mode : 1 is for rain effect, 2 is for snow effect&amp;lt;br&amp;gt;&lt;br /&gt;
Though mode 0 is never sent by the game itself, removes weather effect&amp;lt;br&amp;gt;&lt;br /&gt;
Alternatively send mode 1 and mode 2 with judicious delays (time for effect to disappear) make both rain and snow effect}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ReceiveW|byte}}&lt;br /&gt;
{{hl1msg|byte|mode}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ReloadSound =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ReloadSound|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ReqState =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ReqState}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ResetHUD =&lt;br /&gt;
Resets the [[HUD]].&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ResetHUD}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= RoundTime =&lt;br /&gt;
Updates the round timer on the [[HUD]]. Time is in seconds.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|RoundTime|short}}&lt;br /&gt;
{{hl1msg|short|Time}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SayText =&lt;br /&gt;
Prints say [[HUD]] text. Second argument can be a predefined string or a custom one. In the last case the last two arguments isn't required.&amp;lt;br&amp;gt;&lt;br /&gt;
An examples of a predifined Counter-Strike string values: #Cstrike_Chat_AllDead, #Cstrike_Name_Change&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|For #Cstrike_Name_Change String2 is an old name and String3 is a new name.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|SayText|byte, string, string, string}}&lt;br /&gt;
{{hl1msg|byte|SenderID}}&lt;br /&gt;
{{hl1msg|string|String1}}&lt;br /&gt;
{{hl1msg|string|String2}}&lt;br /&gt;
{{hl1msg|string|String3}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Scenario =&lt;br /&gt;
If Active is 0, this display will be hidden. If Active is 1, 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.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|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.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[image:Cs_scenario_msg.jpg|frame|right|Scenario message in CS, using the following parameters: 1, d_mp5navy, 150]]&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Works in both CS and CZ!}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|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.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Scenario|byte, string, byte, short, short}}&lt;br /&gt;
{{hl1msg|byte|Active}}&lt;br /&gt;
{{hl1msg|string|Sprite}}&lt;br /&gt;
{{hl1msg|byte|Alpha}}&lt;br /&gt;
{{hl1msg|short|FlashRate}}&lt;br /&gt;
{{hl1msg|short|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ScoreAttrib =&lt;br /&gt;
Updates the scoreboard's attribute for the specified player. For the 2nd argument, 0 is nothing, (1&amp;lt;&amp;lt;0) i.e. 1 is dead, (1&amp;lt;&amp;lt;1) i.e. 2 is bomb, (1&amp;lt;&amp;lt;2) i.e. 4 is VIP.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|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.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ScoreAttrib|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{hl1msg|byte|Flags}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ScoreInfo =&lt;br /&gt;
Updates the scoreboard with the given player's Frags and Deaths.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|In CS the 4th argument is always equal to 0.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*See [http://www.amxmodx.org/funcwiki.php?go=module&amp;amp;id=4#const_teams CS Team Constants] for team indeces constants list.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ScoreInfo|byte, short, short, short, short}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{hl1msg|short|Frags}}&lt;br /&gt;
{{hl1msg|short|Deaths}}&lt;br /&gt;
{{hl1msg|short|ClassID?}}&lt;br /&gt;
{{hl1msg|short|TeamID}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ScreenFade =&lt;br /&gt;
Fades the screen.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Duration and HoldTime is in special units. 1 second is equal to (1&amp;lt;&amp;lt;12) i.e. 4096 units.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Flags (from HLSDK):&lt;br /&gt;
 FFADE_IN         0x0000 // Just here so we don't pass 0 into the function&lt;br /&gt;
 FFADE_OUT        0x0001 // Fade out (not in)&lt;br /&gt;
 FFADE_MODULATE   0x0002 // Modulate (don't blend)&lt;br /&gt;
 FFADE_STAYOUT    0x0004 // ignores the duration, stays faded out until new ScreenFade message received&lt;br /&gt;
{{begin-hl1msg|ScreenFade|short, short, short, byte, byte, byte, byte}}&lt;br /&gt;
{{hl1msg|short|Duration}}&lt;br /&gt;
{{hl1msg|short|HoldTime}}&lt;br /&gt;
{{hl1msg|short|Flags}}&lt;br /&gt;
{{hl1msg|byte|ColorR}}&lt;br /&gt;
{{hl1msg|byte|ColorG}}&lt;br /&gt;
{{hl1msg|byte|ColorB}}&lt;br /&gt;
{{hl1msg|byte|Alpha}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ScreenShake =&lt;br /&gt;
Shakes the screen.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|All arguments is in special units. 1 second is equal to (1&amp;lt;&amp;lt;12) i.e. 4096 units.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ScreenShake|short, short, short}}&lt;br /&gt;
{{hl1msg|short|Amplitude}}&lt;br /&gt;
{{hl1msg|short|Duration}}&lt;br /&gt;
{{hl1msg|short|Frequency}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SendAudio =&lt;br /&gt;
Plays the specified audio. An example of AudioCode could be &amp;quot;%!MRAD_rounddraw&amp;quot;.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|SendAudio|byte, string, short}}&lt;br /&gt;
{{hl1msg|byte|SenderID}}&lt;br /&gt;
{{hl1msg|string|AudioCode}}&lt;br /&gt;
{{hl1msg|short|Pitch}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ServerName =&lt;br /&gt;
Sends a server name to a client.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ServerName|string}}&lt;br /&gt;
{{hl1msg|string|ServerName}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SetFOV =&lt;br /&gt;
Sets the specified field of view.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|SetFOV|byte}}&lt;br /&gt;
{{hl1msg|byte|Degrees}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ShadowIdx =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ShadowIdx|long}}&lt;br /&gt;
{{hl1msg|long|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ShowMenu =&lt;br /&gt;
Displays a &amp;quot;menu&amp;quot; to a player (text on the left side of the screen). Acts like AMXX's show_menu (in fact, this is how AMXX shows a menu).&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|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.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ShowMenu|short, char, byte, string}}&lt;br /&gt;
{{hl1msg|short|KeysBitSum}}&lt;br /&gt;
{{hl1msg|char|Time}}&lt;br /&gt;
{{hl1msg|byte|Multipart}}&lt;br /&gt;
{{hl1msg|string|Text}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ShowTimer =&lt;br /&gt;
Forces the round timer displaying.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ShowTimer}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SpecHealth =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|SpecHealth|byte}}&lt;br /&gt;
{{hl1msg|byte|Health?}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SpecHealth2 =&lt;br /&gt;
Updates the observer's screen with a name and health of the given player.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|SpecHealth2|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|Health}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Spectator =&lt;br /&gt;
Called when player becomes an observer/spectator.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|On join to Spectators usually is fired twice in a row.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Spectator|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|ClientID}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= StatusIcon =&lt;br /&gt;
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 is required only if Status aren't equal to 0.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|StatusIcon|byte, string, byte, byte, byte}}&lt;br /&gt;
{{hl1msg|byte|Status}}&lt;br /&gt;
{{hl1msg|string|SpriteName}}&lt;br /&gt;
{{hl1msg|byte|ColorR}}&lt;br /&gt;
{{hl1msg|byte|ColorG}}&lt;br /&gt;
{{hl1msg|byte|ColorB}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= StatusValue =&lt;br /&gt;
Sends/updates the status values. For the Flag 1 the Value is TeamRelation, for 2 is PlayerID, for 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.&amp;lt;br&amp;gt;&lt;br /&gt;
Usually is fired as a triple message, for example:&lt;br /&gt;
 {1,  2}  -  non-teammate player&lt;br /&gt;
 {2, 17}  -  player index is 17&lt;br /&gt;
 {3, 59}  -  player health is 59&lt;br /&gt;
{{begin-hl1msg|StatusValue|byte, short}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{hl1msg|short|Value}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= StatusText =&lt;br /&gt;
Specifies the status text format.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|StatusText|byte, string}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{hl1msg|string|Text}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TaskTime =&lt;br /&gt;
Displays a secondary timer above the round timer. Used for Condition Zero singleplayer missions.&amp;lt;br&amp;gt;&lt;br /&gt;
If Time is -1, timer dissappears. If Time is any other negative value, it is displayed as green instead of yellow, and considered positive.&amp;lt;br&amp;gt;&lt;br /&gt;
If Active is true, timer counts down. Otherwise, it is paused.&amp;lt;br&amp;gt;If Fade is above zero, the timer will slowly fade out after that many seconds have passed (even if the timer is inactive).&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This event can only be used on missions that have an objective requiring a secondary timer!}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|TaskTime|short, byte, byte}}&lt;br /&gt;
{{hl1msg|short|Time}}&lt;br /&gt;
{{hl1msg|byte|Active}}&lt;br /&gt;
{{hl1msg|byte|Fade}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TeamInfo =&lt;br /&gt;
Sets the team information for the given player.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|In CS TeamName is either &amp;quot;UNASSIGNED&amp;quot;, &amp;quot;TERRORIST&amp;quot;, &amp;quot;CT&amp;quot; or &amp;quot;SPECTATOR&amp;quot;.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|TeamInfo|byte, string}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{hl1msg|string|TeamName}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TeamScore =&lt;br /&gt;
Updates the team score on the score board.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|In CS TeamName is either &amp;quot;TERRORIST&amp;quot; or &amp;quot;CT&amp;quot;.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|TeamScore|string, short}}&lt;br /&gt;
{{hl1msg|string|TeamName}}&lt;br /&gt;
{{hl1msg|short|Score}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TextMsg =&lt;br /&gt;
Prints a cutom/or predefined text message.&amp;lt;br&amp;gt;&lt;br /&gt;
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:&lt;br /&gt;
 Arg1: 1&lt;br /&gt;
 Arg2: #Game_join_ct&lt;br /&gt;
 Arg3: Pimp Daddy&lt;br /&gt;
{{begin-hl1msg|TextMsg|byte, string, string, string, string, string}}&lt;br /&gt;
{{hl1msg|byte|DestinationType}}&lt;br /&gt;
{{hl1msg|string|Message}}&lt;br /&gt;
{{hl1msg|string|Submsg}}&lt;br /&gt;
{{hl1msg|string|Submsg}}&lt;br /&gt;
{{hl1msg|string|Submsg}}&lt;br /&gt;
{{hl1msg|string|Submsg}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Train =&lt;br /&gt;
Displays the speed bar used for controlling a train.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Speed is as follows: 0 (disable display), 1 (reverse), 2 (neutral), 3 (slow speed), 4 (medium speed), 5 (maximum speed)}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Train|byte}}&lt;br /&gt;
{{hl1msg|byte|Speed}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TutorClose =&lt;br /&gt;
Closes all CZ-style tutor popups.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|TutorClose}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TutorLine =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|TutorLine}}&lt;br /&gt;
{{hl1msg|short|Unknown1}}&lt;br /&gt;
{{hl1msg|short|Unknown2}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TutorState =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|TutorState }}&lt;br /&gt;
{{hl1msg|string|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TutorText =&lt;br /&gt;
Used to display a CZ-style tutor popup.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|If NumberOfSubMsgs is higher than 0, there should be such amount of write_string after this byte.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|TutorMessageEventId is index as listed in czero/tutordata.txt and starts from 0}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|IsDead is the message receiver alive status}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Special thanks goes to '''Lt.Rat''' for his ninja skills.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 DEFAULT		1	// 1&amp;lt;&amp;lt;0 | GREEN  | INFO&lt;br /&gt;
 FRIENDDEATH	2	// 1&amp;lt;&amp;lt;1 | RED    | SKULL&lt;br /&gt;
 ENEMYDEATH	4	// 1&amp;lt;&amp;lt;2 | BLUE   | SKULL&lt;br /&gt;
 SCENARIO	8	// 1&amp;lt;&amp;lt;3 | YELLOW | INFO&lt;br /&gt;
 BUY		16	// 1&amp;lt;&amp;lt;4 | GREEN  | INFO&lt;br /&gt;
 CAREER		32	// 1&amp;lt;&amp;lt;5 | GREEN  | INFO&lt;br /&gt;
 HINT		64	// 1&amp;lt;&amp;lt;6 | GREEN  | INFO&lt;br /&gt;
 INGAMEHINT	128	// 1&amp;lt;&amp;lt;7 | GREEN  | INFO&lt;br /&gt;
 ENDGAME		256	// 1&amp;lt;&amp;lt;8 | YELLOW | INFO&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|TutorText|string, byte, short, short, short}}&lt;br /&gt;
{{hl1msg|string|String}}&lt;br /&gt;
{{hl1msg|byte|NumberOfSubMsgs}}&lt;br /&gt;
{{hl1msg|short|TutorMessageEventId}}&lt;br /&gt;
{{hl1msg|short|IsDead}}&lt;br /&gt;
{{hl1msg|short|Type}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ViewMode =&lt;br /&gt;
{{qnotice|No Information available for this message (HLSDK says this switches to first-person view, but it doesn't seem to function as so).}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ViewMode}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= VGUIMenu =&lt;br /&gt;
Displays a predefined VGUI menu.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|VGUIMenu|byte, short, char, byte, string}}&lt;br /&gt;
{{hl1msg|byte|MenuID}}&lt;br /&gt;
{{hl1msg|short|KeysBitSum}}&lt;br /&gt;
{{hl1msg|char|Time?}}&lt;br /&gt;
{{hl1msg|byte|Multipart?}}&lt;br /&gt;
{{hl1msg|string|Name?}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= VoiceMask =&lt;br /&gt;
Used to tell a client who he can hear over the microphone.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|VoiceMask|long, long}}&lt;br /&gt;
{{hl1msg|long|AudiblePlayersIndexBitSum}}&lt;br /&gt;
{{hl1msg|long|ServerBannedPlayersIndexBitSum}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= WeaponList =&lt;br /&gt;
Configures the [[HUD]] weapons list.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Fired on map initialization.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|SlotID starts from 0.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Flags (from HLSDK):&lt;br /&gt;
 ITEM_FLAG_SELECTONEMPTY       1&lt;br /&gt;
 ITEM_FLAG_NOAUTORELOAD        2&lt;br /&gt;
 ITEM_FLAG_NOAUTOSWITCHEMPTY   4&lt;br /&gt;
 ITEM_FLAG_LIMITINWORLD        8&lt;br /&gt;
 ITEM_FLAG_EXHAUSTIBLE        16 // A player can totally exhaust their ammo supply and lose this weapon.&lt;br /&gt;
{{qnotice|See [[CS Weapons Information]] for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|WeaponList|string, byte, byte, byte, byte, byte, byte, byte, byte}}&lt;br /&gt;
{{hl1msg|string|WeaponName}}&lt;br /&gt;
{{hl1msg|byte|PrimaryAmmoID}}&lt;br /&gt;
{{hl1msg|byte|PrimaryAmmoMaxAmount}}&lt;br /&gt;
{{hl1msg|byte|SecondaryAmmoID}}&lt;br /&gt;
{{hl1msg|byte|SecondaryAmmoMaxAmount}}&lt;br /&gt;
{{hl1msg|byte|SlotID}}&lt;br /&gt;
{{hl1msg|byte|NumberInSlot}}&lt;br /&gt;
{{hl1msg|byte|WeaponID}}&lt;br /&gt;
{{hl1msg|byte|Flags}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= WeapPickup =&lt;br /&gt;
Temporarily draws correspoding weapon [[HUD]] icon in the middle of the right side of the screen.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Draw time is depend on the ''hud_drawhistory_time'' client CVar value.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Is fired right before weapon is picked up (notice ''&amp;quot;before&amp;quot;'').}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|See [[CS Weapons Information]] for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|WeapPickup|byte}}&lt;br /&gt;
{{hl1msg|byte|WeaponID}}&lt;br /&gt;
{{end-hl1msg}}&lt;/div&gt;</summary>
		<author><name>ConnorMcLeod</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.alliedmods.net/index.php?title=Half-Life_1_Game_Events&amp;diff=7966</id>
		<title>Half-Life 1 Game Events</title>
		<link rel="alternate" type="text/html" href="https://wiki.alliedmods.net/index.php?title=Half-Life_1_Game_Events&amp;diff=7966"/>
		<updated>2011-02-09T22:27:28Z</updated>

		<summary type="html">&lt;p&gt;ConnorMcLeod: /* TutorText */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Half-Life 1]]&lt;br /&gt;
[[Category:Scripting (AMX Mod X)]]&lt;br /&gt;
&lt;br /&gt;
= Introduction =&lt;br /&gt;
&lt;br /&gt;
In [[AMX Mod X]] you are able to hook in-game messages/events with [http://www.amxmodx.org/funcwiki.php?search=register_message&amp;amp;go=search register_message] / [http://www.amxmodx.org/funcwiki.php?go=func&amp;amp;id=26 register_event]. Here are the list of messages/events and their arguments which can be read with [http://www.amxmodx.org/funcwiki.php?search=get_msg_arg_&amp;amp;go=search get_msg_arg_*] / [http://www.amxmodx.org/funcwiki.php?go=func&amp;amp;id=132 read_data].&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
*See the [[Advanced Scripting (AMX Mod X)#Events.2FMessages|Advanced Scripting]] article for more on events and messages.&amp;lt;br&amp;gt;&lt;br /&gt;
*See messages.inc and message_const.inc from amxmodx/scriptong/include folder or [http://www.amxmodx.org/funcwiki.php?go=inc&amp;amp;id=47 Messaging functions] and [http://www.amxmodx.org/funcwiki.php?go=inc&amp;amp;id=48 Message constants] for full messages control including blocking, argument alteration and much more.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= ADStop =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ADStop}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= AllowSpec =&lt;br /&gt;
Changes whether or not &amp;quot;SPECTATE&amp;quot; appears on the change team menu. Called whenever the allow_spectators CVar is changed, with its new value sent as the byte.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This changes how the change team menu appears, but spectating functionality is based off of the actual CVar value.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|AllowSpec|byte}}&lt;br /&gt;
{{hl1msg|byte|Allowed}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= AmmoPickup =&lt;br /&gt;
Temporarily draws [[HUD]] ammo amount and correspoding ammo [[HUD]] icon in the middle of the right side of the screen.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Draw time is depend on the ''hud_drawhistory_time'' client CVar value.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|See [[CS Weapons Information]] for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|AmmoPickup|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|AmmoID}}&lt;br /&gt;
{{hl1msg|byte|Ammount}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= AmmoX =&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|See [[CS Weapons Information]] for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|AmmoX|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|AmmoID}}&lt;br /&gt;
{{hl1msg|byte|Ammount}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ArmorType =&lt;br /&gt;
Draws/removes helmet [[HUD]] icon. If flag is set to 1 the helmet [[HUD]] icon will be drawn (located right on the armor icon).&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ArmorType|byte}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BarTime =&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Set Duration to 0 to hide the bar.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|BarTime|short}}&lt;br /&gt;
{{hl1msg|short|Duration}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BarTime2 =&lt;br /&gt;
The same as BarTime but StartPercents is specify how many per cents of the bar are (already) filled.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Display time can be calculated with this formula: ''(1 - (StartPercents / 100)) / Duration''}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|BarTime2|short, short}}&lt;br /&gt;
{{hl1msg|short|Duration}}&lt;br /&gt;
{{hl1msg|short|StartPercents}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Battery =&lt;br /&gt;
Updates the icon and the number of armor on the [[HUD]].&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Battery|short}}&lt;br /&gt;
{{hl1msg|short|Armor}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BlinkAcct =&lt;br /&gt;
Makes a player's money display flash rapidly, until it flashes a total of BlinkAmt times.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|BlinkAcct|byte}}&lt;br /&gt;
{{hl1msg|byte|BlinkAmt}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BombDrop =&lt;br /&gt;
The first three arguments are the origin of the dropped bomb. The last argument is set to 1 if the bomb has been planted. It is 0 if the bomb was dropped due to voluntary dropping or death/disconnect. Setting the last argument 1, will also 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.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|BombDrop|coord, coord, coord, byte}}&lt;br /&gt;
{{hl1msg|coord|CoordX}}&lt;br /&gt;
{{hl1msg|coord|CoordY}}&lt;br /&gt;
{{hl1msg|coord|CoordZ}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BombPickup =&lt;br /&gt;
This message just tells the game that the bomb has been picked up. It will cause the dropped/planted bomb to disappear from the Terrorist team's radar.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|BombPickup}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BotProgress =&lt;br /&gt;
Used by CZ's bots when learning a new map. 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.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|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.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|BotProgress|byte, byte, string}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{hl1msg|byte|Progress}}&lt;br /&gt;
{{hl1msg|string|Header}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BotVoice =&lt;br /&gt;
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 by regular players, although you &amp;lt;i&amp;gt;can&amp;lt;/i&amp;gt; specify a regular player (non-bot) for the PlayerIndex. Status is 1 for talking, or 0 for not talking.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|BotVoice|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|Status}}&lt;br /&gt;
{{hl1msg|byte|PlayerIndex}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Brass =&lt;br /&gt;
Creates a brass shell. Used, for example, by the AWP, after firing.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Brass|byte, coord, coord, coord, coord, coord, coord, coord, coord, coord, angle, short, byte, byte, byte}}&lt;br /&gt;
{{hl1msg|byte|MessageID}}&lt;br /&gt;
{{hl1msg|coord|StartX}}&lt;br /&gt;
{{hl1msg|coord|StartY}}&lt;br /&gt;
{{hl1msg|coord|StartZ}}&lt;br /&gt;
{{hl1msg|coord|VelocityX?}}&lt;br /&gt;
{{hl1msg|coord|VelocityY?}}&lt;br /&gt;
{{hl1msg|coord|VelocityZ?}}&lt;br /&gt;
{{hl1msg|coord|UnknownX}}&lt;br /&gt;
{{hl1msg|coord|UnknownY}}&lt;br /&gt;
{{hl1msg|coord|UnknownZ}}&lt;br /&gt;
{{hl1msg|angle|Rotation}}&lt;br /&gt;
{{hl1msg|short|ModelIndex}}&lt;br /&gt;
{{hl1msg|byte|BounceSoundType}}&lt;br /&gt;
{{hl1msg|byte|Life}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BuyClose =&lt;br /&gt;
Forces the buy menu to close. This is not called when the player closes the buy menu by himself; it's only called when the game forces him to do so (ie: he walks outside of the buy zone, gets killed, etcetera).&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|BuyClose}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ClCorpse =&lt;br /&gt;
Spawns a player's corpse. ModelName is the player's model name, for example: &amp;quot;leet&amp;quot;. Delay is a delay before animation plaback, can be negative value.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Coord and Delay is multiplied by 128.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|In CS argument #10 is always equal to 0.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*See [http://www.amxmodx.org/funcwiki.php?go=module&amp;amp;id=4#const_teams CS Team Constants] for team indeces constants list.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ClCorpse|string, long, long, long, coord, coord, coord, long, byte, byte, byte, byte}}&lt;br /&gt;
{{hl1msg|string|ModelName}}&lt;br /&gt;
{{hl1msg|long|CoordX}}&lt;br /&gt;
{{hl1msg|long|CoordY}}&lt;br /&gt;
{{hl1msg|long|CoordZ}}&lt;br /&gt;
{{hl1msg|coord|Angle0}}&lt;br /&gt;
{{hl1msg|coord|Angle1}}&lt;br /&gt;
{{hl1msg|coord|Angle2}}&lt;br /&gt;
{{hl1msg|long|Delay}}&lt;br /&gt;
{{hl1msg|byte|Sequence}}&lt;br /&gt;
{{hl1msg|byte|ClassID?}}&lt;br /&gt;
{{hl1msg|byte|TeamID}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Crosshair =&lt;br /&gt;
Draws/removes a crosshair. If Flag is set to 1 the crosshair will be drawn.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This crossair looks not like the regular one but like the one that is drawn in the spectator mode.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Crosshair|byte}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= CurWeapon =&lt;br /&gt;
Updates the clip ammo number and weapon's corresponding ammo type icon on the [[HUD]].&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|See [[CS Weapons Information]] for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|CurWeapon|byte, byte, byte}}&lt;br /&gt;
{{hl1msg|byte|IsActive}}&lt;br /&gt;
{{hl1msg|byte|WeaponID}}&lt;br /&gt;
{{hl1msg|byte|ClipAmmo}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= CZCareer =&lt;br /&gt;
Supplies certain updates to the player regarding Condition Zero singleplayer missions.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|See the [[CZCareer]] page for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|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).}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|The Type argument is case-sensitive.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This event does nothing in CS and CZ multiplayer.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|CZCareer|string,*}}&lt;br /&gt;
{{hl1msg|string|Type}}&lt;br /&gt;
{{hl1msg|*|Parameters}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= CZCareerHUD =&lt;br /&gt;
Displays certain [[HUD]] elements regarding Condition Zero singleplayer missions.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|See the [[CZCareerHUD]] page for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|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).}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|The Type argument is case-sensitive.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This event has some limited functionality in CS and CZ multiplayer (albeit better in CZ).}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|CZCareerHUD|string,*}}&lt;br /&gt;
{{hl1msg|string|Type}}&lt;br /&gt;
{{hl1msg|*|Parameters}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Damage =&lt;br /&gt;
Called when a player takes damage, to display the red locational indicators. The last three arguments is the origin of the damage inflictor or victim origin if inflictor isn't found. DamageType is a bitwise value usually consist of a single bit.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|To caputure this message,you should use &amp;quot;b&amp;quot; as the third parameter in the register_event() function.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Damage|byte, byte, long, coord, coord, coord}}&lt;br /&gt;
{{hl1msg|byte|DamageSave}}&lt;br /&gt;
{{hl1msg|byte|DamageTake}}&lt;br /&gt;
{{hl1msg|long|DamageType}}&lt;br /&gt;
{{hl1msg|coord|CoordX}}&lt;br /&gt;
{{hl1msg|coord|CoordY}}&lt;br /&gt;
{{hl1msg|coord|CoordZ}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= DeathMsg =&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
Also prints the console text message &amp;quot;KillerName killed VictimName with TruncatedWeaponName&amp;quot; or &amp;quot;*** KillerName killed VictimName with a headshot from TruncatedWeaponName ***&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|TruncatedWeaponName doesn't contain a &amp;quot;weapon_&amp;quot; prefix. See [[CS Weapons Information]] for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|For grenade kill TruncatedWeaponName isn't &amp;quot;hegrenade&amp;quot; but &amp;quot;grenade&amp;quot;, in fact it's an actual classname of a throwed grenade.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|For KillerID it's not necessarily should be a PlayerID, it could be 0 if player dies from fall/acid/radiation/fire/etc damage/lack of oxygen or from touch to a &amp;quot;trigger_hurt&amp;quot; entity, in this case TruncatedWeaponName will be &amp;quot;worldspawn&amp;quot; and &amp;quot;trigger_hurt&amp;quot; respectively.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|For vehicle kills TruncatedWeaponName could be &amp;quot;vehicle&amp;quot;, &amp;quot;tank&amp;quot; et cetera.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|DeathMsg|byte, byte, byte, string}}&lt;br /&gt;
{{hl1msg|byte|KillerID}}&lt;br /&gt;
{{hl1msg|byte|VictimID}}&lt;br /&gt;
{{hl1msg|byte|IsHeadshot}}&lt;br /&gt;
{{hl1msg|string|TruncatedWeaponName}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= FlashBat =&lt;br /&gt;
Updates the flashlight battery charge on the [[HUD]].&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|FlashBat|byte}}&lt;br /&gt;
{{hl1msg|byte|ChargePercents}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Flashlight =&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Flashlight|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{hl1msg|byte|ChargePercents}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Fog =&lt;br /&gt;
{{qnotice|mp_Fog 1 for fog in counter-strike}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|Fog|byte, byte, byte}}&lt;br /&gt;
{{hl1msg|byte|FogValue}}&lt;br /&gt;
{{hl1msg|byte|FogValue}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ForceCam =&lt;br /&gt;
Called whenever mp_forcecam or mp_forcechasecam are changed, with their new values passed. There is assumedly a third CVar that this tracks, but it is yet unknown. Note that this message doesn't actually change any of the spectating rules for the client.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Even if mp_forcechasecam is set to 2, it is sent by this message as 1.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ForceCam|byte, byte, byte}}&lt;br /&gt;
{{hl1msg|byte|ForcecamValue}}&lt;br /&gt;
{{hl1msg|byte|ForcechasecamValue}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= GameMode =&lt;br /&gt;
&lt;br /&gt;
Informs player of current game mode&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|GameMode|byte}}&lt;br /&gt;
{{hl1msg|byte|Game mode}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= GameTitle =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|GameTitle|byte}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Geiger =&lt;br /&gt;
Notifies about radiation level through special sound signals. Distance is a distance to hazard area.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Geiger|byte}}&lt;br /&gt;
{{hl1msg|byte|Distance}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Health =&lt;br /&gt;
Updates the number of health on the [[HUD]].&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Health|byte}}&lt;br /&gt;
{{hl1msg|byte|Health}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= HideWeapon =&lt;br /&gt;
Hides the specified [[HUD]] elements.&amp;lt;br&amp;gt;&lt;br /&gt;
Flags:&lt;br /&gt;
   1   (1&amp;lt;&amp;lt;0)  -  crosshair, ammo, weapons list&lt;br /&gt;
   2   (1&amp;lt;&amp;lt;1)  -  flashlight, +&lt;br /&gt;
   4   (1&amp;lt;&amp;lt;2)  -  ALL&lt;br /&gt;
   8   (1&amp;lt;&amp;lt;3)  -  radar, health, armor, +&lt;br /&gt;
  16   (1&amp;lt;&amp;lt;4)  -  timer, +&lt;br /&gt;
  32   (1&amp;lt;&amp;lt;5)  -  money, +&lt;br /&gt;
  64   (1&amp;lt;&amp;lt;6)  -  crosshair&lt;br /&gt;
 128   (1&amp;lt;&amp;lt;7)  -  +&lt;br /&gt;
Symbol + mean that an additional crosshair will be drawn. That crosshair looks exactly like the one from Crosshair message.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|HideWeapon|byte}}&lt;br /&gt;
{{hl1msg|byte|Flags}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= HLTV =&lt;br /&gt;
Message sent for HLTV and unique for each round-start.&amp;lt;br&amp;gt;&lt;br /&gt;
On new round is fired 2 messages:&lt;br /&gt;
 // reset all players health for HLTV&lt;br /&gt;
 MESSAGE_BEGIN( MSG_SPEC, gmsgHLTV );&lt;br /&gt;
 WRITE_BYTE( 0 );   // 0 = all players&lt;br /&gt;
 WRITE_BYTE( 100 | 128 );&lt;br /&gt;
 MESSAGE_END();&amp;lt;br&amp;gt;&lt;br /&gt;
 // reset all players FOV for HLTV&lt;br /&gt;
 MESSAGE_BEGIN( MSG_SPEC, gmsgHLTV );&lt;br /&gt;
 WRITE_BYTE( 0 );   // all players&lt;br /&gt;
 WRITE_BYTE( 0 );&lt;br /&gt;
 MESSAGE_END();&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|HLTV|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|ClientID}}&lt;br /&gt;
{{hl1msg|byte|Flags}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= HostageK =&lt;br /&gt;
Temporarily draws a blinking red dot on the CT players' radar when a hostage is killed.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|HostageK|byte}}&lt;br /&gt;
{{hl1msg|byte|HostageID}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= HostagePos =&lt;br /&gt;
Draws/updates the blue mark on the CT players' radar which is indicate the corresponding hostage position.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Is called with Flag set to 1 on player [[HUD]] full update.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|HostagePos|byte, byte, coord, coord, coord}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{hl1msg|byte|HostageID}}&lt;br /&gt;
{{hl1msg|coord|CoordX}}&lt;br /&gt;
{{hl1msg|coord|CoordY}}&lt;br /&gt;
{{hl1msg|coord|CoordZ}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= HudText =&lt;br /&gt;
Prints [[HUD]] text.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Prints message with specified style in titles.txt with small signs (like in HL)}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|HudText|string, byte, byte}}&lt;br /&gt;
{{hl1msg|string|TextCode}}&lt;br /&gt;
{{hl1msg|byte|InitHUDstyle}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= HudTextArgs =&lt;br /&gt;
Prints [[HUD]] text.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|An example of TextCode could be &amp;quot;#Hint_you_have_the_bomb&amp;quot;.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Prints message with specified style in titles.txt with Big signs (CS Default)}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|If you have a problems with specifing the last two arguments use 1 and 0 respectively.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|HudTextArgs|string, byte, byte}}&lt;br /&gt;
{{hl1msg|string|TextCode}}&lt;br /&gt;
{{hl1msg|byte|InitHUDstyle}}&lt;br /&gt;
{{hl1msg|byte|NumberOfSubMessages}}&lt;br /&gt;
{{hl1msg|string|SubMsg}}&lt;br /&gt;
{{hl1msg|string|SubMsg}}&lt;br /&gt;
{{hl1msg|string|...}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= HudTextPro =&lt;br /&gt;
Prints [[HUD]] text.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Prints message with specified style in titles.txt with Big signs (CS Default)}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|HudText|string, byte, byte}}&lt;br /&gt;
{{hl1msg|string|TextCode}}&lt;br /&gt;
{{hl1msg|byte|InitHUDstyle}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= InitHUD =&lt;br /&gt;
Initializes the [[HUD]].&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|InitHUD}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ItemPickup =&lt;br /&gt;
Temporarily draws correspoding item [[HUD]] icon in the middle of the right side of the screen.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Draw time is depend on the ''hud_drawhistory_time'' client CVar value.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ItemPickup|string}}&lt;br /&gt;
{{hl1msg|string|ItemName}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ItemStatus =&lt;br /&gt;
Notifies about carried items.&amp;lt;br&amp;gt;&lt;br /&gt;
Example of some item bits:&lt;br /&gt;
 1   (1&amp;lt;&amp;lt;0)  -  nightvision goggles&lt;br /&gt;
 2   (1&amp;lt;&amp;lt;1)  -  defusal kit&lt;br /&gt;
{{begin-hl1msg|ItemStatus|byte}}&lt;br /&gt;
{{hl1msg|byte|ItemsBitSum}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Location =&lt;br /&gt;
This message is sent when player gets in different zone on map.&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|Location|byte, string}}&lt;br /&gt;
{{hl1msg|byte|PlayerId}}&lt;br /&gt;
{{hl1msg|string|LocationName}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Money =&lt;br /&gt;
Updates the Amount of money on the [[HUD]]. If the Flag is 1, the additional new-old [[HUD]] money amount difference will be also displayed.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Money|long, byte}}&lt;br /&gt;
{{hl1msg|long|Amount}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= MOTD =&lt;br /&gt;
Displays MOTD window.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Max. Text length is 60. Large MOTD is sent in multiple messages. For the message that is send a last MOTD part the Flag will be set to 1 and 0 otherwise.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|MOTD|byte, string}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{hl1msg|string|Text}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= NVGToggle =&lt;br /&gt;
Toggles night vision mode. For Flag: 1 is on, 0 is off.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|NVGToggle|byte}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Radar =&lt;br /&gt;
Draws/updates the dot on the [[HUD]] radar which is indicate the given player position.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Works for teammates only.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Radar|byte, coord, coord, coord}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{hl1msg|coord|CoordX}}&lt;br /&gt;
{{hl1msg|coord|CoordY}}&lt;br /&gt;
{{hl1msg|coord|CoordZ}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ReceiveW =&lt;br /&gt;
Tell the client which visual weather effect to be executed client side, if cl_weather client cvar is above 0.&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|Main part of CBasePlayer::SendWeatherInfo() function that is sent in CBasePlayer :: UpdateClientData() when player offset m_fInitHUD is 1&amp;lt;br&amp;gt;&lt;br /&gt;
(right after putinserver or after fullupdate command)&amp;lt;br&amp;gt;&lt;br /&gt;
Mode : 1 is for rain effect, 2 is for snow effect&amp;lt;br&amp;gt;&lt;br /&gt;
Though mode 0 is never sent by the game itself, removes weather effect&amp;lt;br&amp;gt;&lt;br /&gt;
Alternatively send mode 1 and mode 2 with judicious delays (time for effect to disappear) make both rain and snow effect}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ReceiveW|byte}}&lt;br /&gt;
{{hl1msg|byte|mode}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ReloadSound =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ReloadSound|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ReqState =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ReqState}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ResetHUD =&lt;br /&gt;
Resets the [[HUD]].&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ResetHUD}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= RoundTime =&lt;br /&gt;
Updates the round timer on the [[HUD]]. Time is in seconds.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|RoundTime|short}}&lt;br /&gt;
{{hl1msg|short|Time}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SayText =&lt;br /&gt;
Prints say [[HUD]] text. Second argument can be a predefined string or a custom one. In the last case the last two arguments isn't required.&amp;lt;br&amp;gt;&lt;br /&gt;
An examples of a predifined Counter-Strike string values: #Cstrike_Chat_AllDead, #Cstrike_Name_Change&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|For #Cstrike_Name_Change String2 is an old name and String3 is a new name.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|SayText|byte, string, string, string}}&lt;br /&gt;
{{hl1msg|byte|SenderID}}&lt;br /&gt;
{{hl1msg|string|String1}}&lt;br /&gt;
{{hl1msg|string|String2}}&lt;br /&gt;
{{hl1msg|string|String3}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Scenario =&lt;br /&gt;
If Active is 0, this display will be hidden. If Active is 1, 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.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|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.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[image:Cs_scenario_msg.jpg|frame|right|Scenario message in CS, using the following parameters: 1, d_mp5navy, 150]]&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Works in both CS and CZ!}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|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.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Scenario|byte, string, byte, short, short}}&lt;br /&gt;
{{hl1msg|byte|Active}}&lt;br /&gt;
{{hl1msg|string|Sprite}}&lt;br /&gt;
{{hl1msg|byte|Alpha}}&lt;br /&gt;
{{hl1msg|short|FlashRate}}&lt;br /&gt;
{{hl1msg|short|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ScoreAttrib =&lt;br /&gt;
Updates the scoreboard's attribute for the specified player. For the 2nd argument, 0 is nothing, (1&amp;lt;&amp;lt;0) i.e. 1 is dead, (1&amp;lt;&amp;lt;1) i.e. 2 is bomb, (1&amp;lt;&amp;lt;2) i.e. 4 is VIP.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|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.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ScoreAttrib|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{hl1msg|byte|Flags}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ScoreInfo =&lt;br /&gt;
Updates the scoreboard with the given player's Frags and Deaths.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|In CS the 4th argument is always equal to 0.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*See [http://www.amxmodx.org/funcwiki.php?go=module&amp;amp;id=4#const_teams CS Team Constants] for team indeces constants list.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ScoreInfo|byte, short, short, short, short}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{hl1msg|short|Frags}}&lt;br /&gt;
{{hl1msg|short|Deaths}}&lt;br /&gt;
{{hl1msg|short|ClassID?}}&lt;br /&gt;
{{hl1msg|short|TeamID}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ScreenFade =&lt;br /&gt;
Fades the screen.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Duration and HoldTime is in special units. 1 second is equal to (1&amp;lt;&amp;lt;12) i.e. 4096 units.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Flags (from HLSDK):&lt;br /&gt;
 FFADE_IN         0x0000 // Just here so we don't pass 0 into the function&lt;br /&gt;
 FFADE_OUT        0x0001 // Fade out (not in)&lt;br /&gt;
 FFADE_MODULATE   0x0002 // Modulate (don't blend)&lt;br /&gt;
 FFADE_STAYOUT    0x0004 // ignores the duration, stays faded out until new ScreenFade message received&lt;br /&gt;
{{begin-hl1msg|ScreenFade|short, short, short, byte, byte, byte, byte}}&lt;br /&gt;
{{hl1msg|short|Duration}}&lt;br /&gt;
{{hl1msg|short|HoldTime}}&lt;br /&gt;
{{hl1msg|short|Flags}}&lt;br /&gt;
{{hl1msg|byte|ColorR}}&lt;br /&gt;
{{hl1msg|byte|ColorG}}&lt;br /&gt;
{{hl1msg|byte|ColorB}}&lt;br /&gt;
{{hl1msg|byte|Alpha}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ScreenShake =&lt;br /&gt;
Shakes the screen.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|All arguments is in special units. 1 second is equal to (1&amp;lt;&amp;lt;12) i.e. 4096 units.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ScreenShake|short, short, short}}&lt;br /&gt;
{{hl1msg|short|Amplitude}}&lt;br /&gt;
{{hl1msg|short|Duration}}&lt;br /&gt;
{{hl1msg|short|Frequency}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SendAudio =&lt;br /&gt;
Plays the specified audio. An example of AudioCode could be &amp;quot;%!MRAD_rounddraw&amp;quot;.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|SendAudio|byte, string, short}}&lt;br /&gt;
{{hl1msg|byte|SenderID}}&lt;br /&gt;
{{hl1msg|string|AudioCode}}&lt;br /&gt;
{{hl1msg|short|Pitch}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ServerName =&lt;br /&gt;
Sends a server name to a client.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ServerName|string}}&lt;br /&gt;
{{hl1msg|string|ServerName}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SetFOV =&lt;br /&gt;
Sets the specified field of view.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|SetFOV|byte}}&lt;br /&gt;
{{hl1msg|byte|Degrees}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ShadowIdx =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ShadowIdx|long}}&lt;br /&gt;
{{hl1msg|long|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ShowMenu =&lt;br /&gt;
Displays a &amp;quot;menu&amp;quot; to a player (text on the left side of the screen). Acts like AMXX's show_menu (in fact, this is how AMXX shows a menu).&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|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.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ShowMenu|short, char, byte, string}}&lt;br /&gt;
{{hl1msg|short|KeysBitSum}}&lt;br /&gt;
{{hl1msg|char|Time}}&lt;br /&gt;
{{hl1msg|byte|Multipart}}&lt;br /&gt;
{{hl1msg|string|Text}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ShowTimer =&lt;br /&gt;
Forces the round timer displaying.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ShowTimer}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SpecHealth =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|SpecHealth|byte}}&lt;br /&gt;
{{hl1msg|byte|Health?}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SpecHealth2 =&lt;br /&gt;
Updates the observer's screen with a name and health of the given player.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|SpecHealth2|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|Health}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Spectator =&lt;br /&gt;
Called when player becomes an observer/spectator.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|On join to Spectators usually is fired twice in a row.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Spectator|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|ClientID}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= StatusIcon =&lt;br /&gt;
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 is required only if Status aren't equal to 0.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|StatusIcon|byte, string, byte, byte, byte}}&lt;br /&gt;
{{hl1msg|byte|Status}}&lt;br /&gt;
{{hl1msg|string|SpriteName}}&lt;br /&gt;
{{hl1msg|byte|ColorR}}&lt;br /&gt;
{{hl1msg|byte|ColorG}}&lt;br /&gt;
{{hl1msg|byte|ColorB}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= StatusValue =&lt;br /&gt;
Sends/updates the status values. For the Flag 1 the Value is TeamRelation, for 2 is PlayerID, for 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.&amp;lt;br&amp;gt;&lt;br /&gt;
Usually is fired as a triple message, for example:&lt;br /&gt;
 {1,  2}  -  non-teammate player&lt;br /&gt;
 {2, 17}  -  player index is 17&lt;br /&gt;
 {3, 59}  -  player health is 59&lt;br /&gt;
{{begin-hl1msg|StatusValue|byte, short}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{hl1msg|short|Value}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= StatusText =&lt;br /&gt;
Specifies the status text format.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|StatusText|byte, string}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{hl1msg|string|Text}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TaskTime =&lt;br /&gt;
Displays a secondary timer above the round timer. Used for Condition Zero singleplayer missions.&amp;lt;br&amp;gt;&lt;br /&gt;
If Time is -1, timer dissappears. If Time is any other negative value, it is displayed as green instead of yellow, and considered positive.&amp;lt;br&amp;gt;&lt;br /&gt;
If Active is true, timer counts down. Otherwise, it is paused.&amp;lt;br&amp;gt;If Fade is above zero, the timer will slowly fade out after that many seconds have passed (even if the timer is inactive).&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This event can only be used on missions that have an objective requiring a secondary timer!}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|TaskTime|short, byte, byte}}&lt;br /&gt;
{{hl1msg|short|Time}}&lt;br /&gt;
{{hl1msg|byte|Active}}&lt;br /&gt;
{{hl1msg|byte|Fade}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TeamInfo =&lt;br /&gt;
Sets the team information for the given player.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|In CS TeamName is either &amp;quot;UNASSIGNED&amp;quot;, &amp;quot;TERRORIST&amp;quot;, &amp;quot;CT&amp;quot; or &amp;quot;SPECTATOR&amp;quot;.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|TeamInfo|byte, string}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{hl1msg|string|TeamName}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TeamScore =&lt;br /&gt;
Updates the team score on the score board.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|In CS TeamName is either &amp;quot;TERRORIST&amp;quot; or &amp;quot;CT&amp;quot;.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|TeamScore|string, short}}&lt;br /&gt;
{{hl1msg|string|TeamName}}&lt;br /&gt;
{{hl1msg|short|Score}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TextMsg =&lt;br /&gt;
Prints a cutom/or predefined text message.&amp;lt;br&amp;gt;&lt;br /&gt;
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:&lt;br /&gt;
 Arg1: 1&lt;br /&gt;
 Arg2: #Game_join_ct&lt;br /&gt;
 Arg3: Pimp Daddy&lt;br /&gt;
{{begin-hl1msg|TextMsg|byte, string, string, string, string, string}}&lt;br /&gt;
{{hl1msg|byte|DestinationType}}&lt;br /&gt;
{{hl1msg|string|Message}}&lt;br /&gt;
{{hl1msg|string|Submsg}}&lt;br /&gt;
{{hl1msg|string|Submsg}}&lt;br /&gt;
{{hl1msg|string|Submsg}}&lt;br /&gt;
{{hl1msg|string|Submsg}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Train =&lt;br /&gt;
Displays the speed bar used for controlling a train.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Speed is as follows: 0 (disable display), 1 (reverse), 2 (neutral), 3 (slow speed), 4 (medium speed), 5 (maximum speed)}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Train|byte}}&lt;br /&gt;
{{hl1msg|byte|Speed}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TutorClose =&lt;br /&gt;
Closes all CZ-style tutor popups.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|TutorClose}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TutorLine =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|TutorLine}}&lt;br /&gt;
{{hl1msg|short|Unknown1}}&lt;br /&gt;
{{hl1msg|short|Unknown2}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TutorState =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|TutorState }}&lt;br /&gt;
{{hl1msg|string|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TutorText =&lt;br /&gt;
Used to display a CZ-style tutor popup.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|If NumberOfSubMsgs is higher than 0, there should be such amount of write_string after this byte.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|TutorMessageEventId is index as listed in czero/tutordata.txt and starts from 0}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Special thanks goes to '''Lt.Rat''' for his ninja skills.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 DEFAULT		1	// 1&amp;lt;&amp;lt;0 | GREEN  | INFO&lt;br /&gt;
 FRIENDDEATH	2	// 1&amp;lt;&amp;lt;1 | RED    | SKULL&lt;br /&gt;
 ENEMYDEATH	4	// 1&amp;lt;&amp;lt;2 | BLUE   | SKULL&lt;br /&gt;
 SCENARIO	8	// 1&amp;lt;&amp;lt;3 | YELLOW | INFO&lt;br /&gt;
 BUY		16	// 1&amp;lt;&amp;lt;4 | GREEN  | INFO&lt;br /&gt;
 CAREER		32	// 1&amp;lt;&amp;lt;5 | GREEN  | INFO&lt;br /&gt;
 HINT		64	// 1&amp;lt;&amp;lt;6 | GREEN  | INFO&lt;br /&gt;
 INGAMEHINT	128	// 1&amp;lt;&amp;lt;7 | GREEN  | INFO&lt;br /&gt;
 ENDGAME		256	// 1&amp;lt;&amp;lt;8 | YELLOW | INFO&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|TutorText|string, byte, short, short, short}}&lt;br /&gt;
{{hl1msg|string|String}}&lt;br /&gt;
{{hl1msg|byte|NumberOfSubMsgs}}&lt;br /&gt;
{{hl1msg|short|TutorMessageEventId}}&lt;br /&gt;
{{hl1msg|short|Unknown (0 or 1)}}&lt;br /&gt;
{{hl1msg|short|Type}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ViewMode =&lt;br /&gt;
{{qnotice|No Information available for this message (HLSDK says this switches to first-person view, but it doesn't seem to function as so).}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ViewMode}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= VGUIMenu =&lt;br /&gt;
Displays a predefined VGUI menu.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|VGUIMenu|byte, short, char, byte, string}}&lt;br /&gt;
{{hl1msg|byte|MenuID}}&lt;br /&gt;
{{hl1msg|short|KeysBitSum}}&lt;br /&gt;
{{hl1msg|char|Time?}}&lt;br /&gt;
{{hl1msg|byte|Multipart?}}&lt;br /&gt;
{{hl1msg|string|Name?}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= VoiceMask =&lt;br /&gt;
Used to tell a client who he can hear over the microphone.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|VoiceMask|long, long}}&lt;br /&gt;
{{hl1msg|long|AudiblePlayersIndexBitSum}}&lt;br /&gt;
{{hl1msg|long|ServerBannedPlayersIndexBitSum}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= WeaponList =&lt;br /&gt;
Configures the [[HUD]] weapons list.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Fired on map initialization.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|SlotID starts from 0.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Flags (from HLSDK):&lt;br /&gt;
 ITEM_FLAG_SELECTONEMPTY       1&lt;br /&gt;
 ITEM_FLAG_NOAUTORELOAD        2&lt;br /&gt;
 ITEM_FLAG_NOAUTOSWITCHEMPTY   4&lt;br /&gt;
 ITEM_FLAG_LIMITINWORLD        8&lt;br /&gt;
 ITEM_FLAG_EXHAUSTIBLE        16 // A player can totally exhaust their ammo supply and lose this weapon.&lt;br /&gt;
{{qnotice|See [[CS Weapons Information]] for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|WeaponList|string, byte, byte, byte, byte, byte, byte, byte, byte}}&lt;br /&gt;
{{hl1msg|string|WeaponName}}&lt;br /&gt;
{{hl1msg|byte|PrimaryAmmoID}}&lt;br /&gt;
{{hl1msg|byte|PrimaryAmmoMaxAmount}}&lt;br /&gt;
{{hl1msg|byte|SecondaryAmmoID}}&lt;br /&gt;
{{hl1msg|byte|SecondaryAmmoMaxAmount}}&lt;br /&gt;
{{hl1msg|byte|SlotID}}&lt;br /&gt;
{{hl1msg|byte|NumberInSlot}}&lt;br /&gt;
{{hl1msg|byte|WeaponID}}&lt;br /&gt;
{{hl1msg|byte|Flags}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= WeapPickup =&lt;br /&gt;
Temporarily draws correspoding weapon [[HUD]] icon in the middle of the right side of the screen.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Draw time is depend on the ''hud_drawhistory_time'' client CVar value.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Is fired right before weapon is picked up (notice ''&amp;quot;before&amp;quot;'').}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|See [[CS Weapons Information]] for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|WeapPickup|byte}}&lt;br /&gt;
{{hl1msg|byte|WeaponID}}&lt;br /&gt;
{{end-hl1msg}}&lt;/div&gt;</summary>
		<author><name>ConnorMcLeod</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.alliedmods.net/index.php?title=Half-Life_1_Game_Events&amp;diff=7963</id>
		<title>Half-Life 1 Game Events</title>
		<link rel="alternate" type="text/html" href="https://wiki.alliedmods.net/index.php?title=Half-Life_1_Game_Events&amp;diff=7963"/>
		<updated>2011-02-09T21:15:05Z</updated>

		<summary type="html">&lt;p&gt;ConnorMcLeod: /* TutorText */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Half-Life 1]]&lt;br /&gt;
[[Category:Scripting (AMX Mod X)]]&lt;br /&gt;
&lt;br /&gt;
= Introduction =&lt;br /&gt;
&lt;br /&gt;
In [[AMX Mod X]] you are able to hook in-game messages/events with [http://www.amxmodx.org/funcwiki.php?search=register_message&amp;amp;go=search register_message] / [http://www.amxmodx.org/funcwiki.php?go=func&amp;amp;id=26 register_event]. Here are the list of messages/events and their arguments which can be read with [http://www.amxmodx.org/funcwiki.php?search=get_msg_arg_&amp;amp;go=search get_msg_arg_*] / [http://www.amxmodx.org/funcwiki.php?go=func&amp;amp;id=132 read_data].&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
*See the [[Advanced Scripting (AMX Mod X)#Events.2FMessages|Advanced Scripting]] article for more on events and messages.&amp;lt;br&amp;gt;&lt;br /&gt;
*See messages.inc and message_const.inc from amxmodx/scriptong/include folder or [http://www.amxmodx.org/funcwiki.php?go=inc&amp;amp;id=47 Messaging functions] and [http://www.amxmodx.org/funcwiki.php?go=inc&amp;amp;id=48 Message constants] for full messages control including blocking, argument alteration and much more.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= ADStop =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ADStop}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= AllowSpec =&lt;br /&gt;
Changes whether or not &amp;quot;SPECTATE&amp;quot; appears on the change team menu. Called whenever the allow_spectators CVar is changed, with its new value sent as the byte.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This changes how the change team menu appears, but spectating functionality is based off of the actual CVar value.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|AllowSpec|byte}}&lt;br /&gt;
{{hl1msg|byte|Allowed}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= AmmoPickup =&lt;br /&gt;
Temporarily draws [[HUD]] ammo amount and correspoding ammo [[HUD]] icon in the middle of the right side of the screen.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Draw time is depend on the ''hud_drawhistory_time'' client CVar value.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|See [[CS Weapons Information]] for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|AmmoPickup|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|AmmoID}}&lt;br /&gt;
{{hl1msg|byte|Ammount}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= AmmoX =&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|See [[CS Weapons Information]] for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|AmmoX|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|AmmoID}}&lt;br /&gt;
{{hl1msg|byte|Ammount}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ArmorType =&lt;br /&gt;
Draws/removes helmet [[HUD]] icon. If flag is set to 1 the helmet [[HUD]] icon will be drawn (located right on the armor icon).&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ArmorType|byte}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BarTime =&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Set Duration to 0 to hide the bar.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|BarTime|short}}&lt;br /&gt;
{{hl1msg|short|Duration}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BarTime2 =&lt;br /&gt;
The same as BarTime but StartPercents is specify how many per cents of the bar are (already) filled.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Display time can be calculated with this formula: ''(1 - (StartPercents / 100)) / Duration''}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|BarTime2|short, short}}&lt;br /&gt;
{{hl1msg|short|Duration}}&lt;br /&gt;
{{hl1msg|short|StartPercents}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Battery =&lt;br /&gt;
Updates the icon and the number of armor on the [[HUD]].&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Battery|short}}&lt;br /&gt;
{{hl1msg|short|Armor}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BlinkAcct =&lt;br /&gt;
Makes a player's money display flash rapidly, until it flashes a total of BlinkAmt times.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|BlinkAcct|byte}}&lt;br /&gt;
{{hl1msg|byte|BlinkAmt}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BombDrop =&lt;br /&gt;
The first three arguments are the origin of the dropped bomb. The last argument is set to 1 if the bomb has been planted. It is 0 if the bomb was dropped due to voluntary dropping or death/disconnect. Setting the last argument 1, will also 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.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|BombDrop|coord, coord, coord, byte}}&lt;br /&gt;
{{hl1msg|coord|CoordX}}&lt;br /&gt;
{{hl1msg|coord|CoordY}}&lt;br /&gt;
{{hl1msg|coord|CoordZ}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BombPickup =&lt;br /&gt;
This message just tells the game that the bomb has been picked up. It will cause the dropped/planted bomb to disappear from the Terrorist team's radar.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|BombPickup}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BotProgress =&lt;br /&gt;
Used by CZ's bots when learning a new map. 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.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|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.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|BotProgress|byte, byte, string}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{hl1msg|byte|Progress}}&lt;br /&gt;
{{hl1msg|string|Header}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BotVoice =&lt;br /&gt;
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 by regular players, although you &amp;lt;i&amp;gt;can&amp;lt;/i&amp;gt; specify a regular player (non-bot) for the PlayerIndex. Status is 1 for talking, or 0 for not talking.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|BotVoice|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|Status}}&lt;br /&gt;
{{hl1msg|byte|PlayerIndex}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Brass =&lt;br /&gt;
Creates a brass shell. Used, for example, by the AWP, after firing.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Brass|byte, coord, coord, coord, coord, coord, coord, coord, coord, coord, angle, short, byte, byte, byte}}&lt;br /&gt;
{{hl1msg|byte|MessageID}}&lt;br /&gt;
{{hl1msg|coord|StartX}}&lt;br /&gt;
{{hl1msg|coord|StartY}}&lt;br /&gt;
{{hl1msg|coord|StartZ}}&lt;br /&gt;
{{hl1msg|coord|VelocityX?}}&lt;br /&gt;
{{hl1msg|coord|VelocityY?}}&lt;br /&gt;
{{hl1msg|coord|VelocityZ?}}&lt;br /&gt;
{{hl1msg|coord|UnknownX}}&lt;br /&gt;
{{hl1msg|coord|UnknownY}}&lt;br /&gt;
{{hl1msg|coord|UnknownZ}}&lt;br /&gt;
{{hl1msg|angle|Rotation}}&lt;br /&gt;
{{hl1msg|short|ModelIndex}}&lt;br /&gt;
{{hl1msg|byte|BounceSoundType}}&lt;br /&gt;
{{hl1msg|byte|Life}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BuyClose =&lt;br /&gt;
Forces the buy menu to close. This is not called when the player closes the buy menu by himself; it's only called when the game forces him to do so (ie: he walks outside of the buy zone, gets killed, etcetera).&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|BuyClose}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ClCorpse =&lt;br /&gt;
Spawns a player's corpse. ModelName is the player's model name, for example: &amp;quot;leet&amp;quot;. Delay is a delay before animation plaback, can be negative value.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Coord and Delay is multiplied by 128.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|In CS argument #10 is always equal to 0.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*See [http://www.amxmodx.org/funcwiki.php?go=module&amp;amp;id=4#const_teams CS Team Constants] for team indeces constants list.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ClCorpse|string, long, long, long, coord, coord, coord, long, byte, byte, byte, byte}}&lt;br /&gt;
{{hl1msg|string|ModelName}}&lt;br /&gt;
{{hl1msg|long|CoordX}}&lt;br /&gt;
{{hl1msg|long|CoordY}}&lt;br /&gt;
{{hl1msg|long|CoordZ}}&lt;br /&gt;
{{hl1msg|coord|Angle0}}&lt;br /&gt;
{{hl1msg|coord|Angle1}}&lt;br /&gt;
{{hl1msg|coord|Angle2}}&lt;br /&gt;
{{hl1msg|long|Delay}}&lt;br /&gt;
{{hl1msg|byte|Sequence}}&lt;br /&gt;
{{hl1msg|byte|ClassID?}}&lt;br /&gt;
{{hl1msg|byte|TeamID}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Crosshair =&lt;br /&gt;
Draws/removes a crosshair. If Flag is set to 1 the crosshair will be drawn.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This crossair looks not like the regular one but like the one that is drawn in the spectator mode.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Crosshair|byte}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= CurWeapon =&lt;br /&gt;
Updates the clip ammo number and weapon's corresponding ammo type icon on the [[HUD]].&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|See [[CS Weapons Information]] for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|CurWeapon|byte, byte, byte}}&lt;br /&gt;
{{hl1msg|byte|IsActive}}&lt;br /&gt;
{{hl1msg|byte|WeaponID}}&lt;br /&gt;
{{hl1msg|byte|ClipAmmo}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= CZCareer =&lt;br /&gt;
Supplies certain updates to the player regarding Condition Zero singleplayer missions.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|See the [[CZCareer]] page for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|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).}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|The Type argument is case-sensitive.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This event does nothing in CS and CZ multiplayer.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|CZCareer|string,*}}&lt;br /&gt;
{{hl1msg|string|Type}}&lt;br /&gt;
{{hl1msg|*|Parameters}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= CZCareerHUD =&lt;br /&gt;
Displays certain [[HUD]] elements regarding Condition Zero singleplayer missions.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|See the [[CZCareerHUD]] page for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|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).}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|The Type argument is case-sensitive.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This event has some limited functionality in CS and CZ multiplayer (albeit better in CZ).}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|CZCareerHUD|string,*}}&lt;br /&gt;
{{hl1msg|string|Type}}&lt;br /&gt;
{{hl1msg|*|Parameters}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Damage =&lt;br /&gt;
Called when a player takes damage, to display the red locational indicators. The last three arguments is the origin of the damage inflictor or victim origin if inflictor isn't found. DamageType is a bitwise value usually consist of a single bit.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|To caputure this message,you should use &amp;quot;b&amp;quot; as the third parameter in the register_event() function.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Damage|byte, byte, long, coord, coord, coord}}&lt;br /&gt;
{{hl1msg|byte|DamageSave}}&lt;br /&gt;
{{hl1msg|byte|DamageTake}}&lt;br /&gt;
{{hl1msg|long|DamageType}}&lt;br /&gt;
{{hl1msg|coord|CoordX}}&lt;br /&gt;
{{hl1msg|coord|CoordY}}&lt;br /&gt;
{{hl1msg|coord|CoordZ}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= DeathMsg =&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
Also prints the console text message &amp;quot;KillerName killed VictimName with TruncatedWeaponName&amp;quot; or &amp;quot;*** KillerName killed VictimName with a headshot from TruncatedWeaponName ***&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|TruncatedWeaponName doesn't contain a &amp;quot;weapon_&amp;quot; prefix. See [[CS Weapons Information]] for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|For grenade kill TruncatedWeaponName isn't &amp;quot;hegrenade&amp;quot; but &amp;quot;grenade&amp;quot;, in fact it's an actual classname of a throwed grenade.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|For KillerID it's not necessarily should be a PlayerID, it could be 0 if player dies from fall/acid/radiation/fire/etc damage/lack of oxygen or from touch to a &amp;quot;trigger_hurt&amp;quot; entity, in this case TruncatedWeaponName will be &amp;quot;worldspawn&amp;quot; and &amp;quot;trigger_hurt&amp;quot; respectively.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|For vehicle kills TruncatedWeaponName could be &amp;quot;vehicle&amp;quot;, &amp;quot;tank&amp;quot; et cetera.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|DeathMsg|byte, byte, byte, string}}&lt;br /&gt;
{{hl1msg|byte|KillerID}}&lt;br /&gt;
{{hl1msg|byte|VictimID}}&lt;br /&gt;
{{hl1msg|byte|IsHeadshot}}&lt;br /&gt;
{{hl1msg|string|TruncatedWeaponName}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= FlashBat =&lt;br /&gt;
Updates the flashlight battery charge on the [[HUD]].&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|FlashBat|byte}}&lt;br /&gt;
{{hl1msg|byte|ChargePercents}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Flashlight =&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Flashlight|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{hl1msg|byte|ChargePercents}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Fog =&lt;br /&gt;
{{qnotice|mp_Fog 1 for fog in counter-strike}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|Fog|byte, byte, byte}}&lt;br /&gt;
{{hl1msg|byte|FogValue}}&lt;br /&gt;
{{hl1msg|byte|FogValue}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ForceCam =&lt;br /&gt;
Called whenever mp_forcecam or mp_forcechasecam are changed, with their new values passed. There is assumedly a third CVar that this tracks, but it is yet unknown. Note that this message doesn't actually change any of the spectating rules for the client.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Even if mp_forcechasecam is set to 2, it is sent by this message as 1.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ForceCam|byte, byte, byte}}&lt;br /&gt;
{{hl1msg|byte|ForcecamValue}}&lt;br /&gt;
{{hl1msg|byte|ForcechasecamValue}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= GameMode =&lt;br /&gt;
&lt;br /&gt;
Informs player of current game mode&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|GameMode|byte}}&lt;br /&gt;
{{hl1msg|byte|Game mode}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= GameTitle =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|GameTitle|byte}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Geiger =&lt;br /&gt;
Notifies about radiation level through special sound signals. Distance is a distance to hazard area.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Geiger|byte}}&lt;br /&gt;
{{hl1msg|byte|Distance}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Health =&lt;br /&gt;
Updates the number of health on the [[HUD]].&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Health|byte}}&lt;br /&gt;
{{hl1msg|byte|Health}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= HideWeapon =&lt;br /&gt;
Hides the specified [[HUD]] elements.&amp;lt;br&amp;gt;&lt;br /&gt;
Flags:&lt;br /&gt;
   1   (1&amp;lt;&amp;lt;0)  -  crosshair, ammo, weapons list&lt;br /&gt;
   2   (1&amp;lt;&amp;lt;1)  -  flashlight, +&lt;br /&gt;
   4   (1&amp;lt;&amp;lt;2)  -  ALL&lt;br /&gt;
   8   (1&amp;lt;&amp;lt;3)  -  radar, health, armor, +&lt;br /&gt;
  16   (1&amp;lt;&amp;lt;4)  -  timer, +&lt;br /&gt;
  32   (1&amp;lt;&amp;lt;5)  -  money, +&lt;br /&gt;
  64   (1&amp;lt;&amp;lt;6)  -  crosshair&lt;br /&gt;
 128   (1&amp;lt;&amp;lt;7)  -  +&lt;br /&gt;
Symbol + mean that an additional crosshair will be drawn. That crosshair looks exactly like the one from Crosshair message.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|HideWeapon|byte}}&lt;br /&gt;
{{hl1msg|byte|Flags}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= HLTV =&lt;br /&gt;
Message sent for HLTV and unique for each round-start.&amp;lt;br&amp;gt;&lt;br /&gt;
On new round is fired 2 messages:&lt;br /&gt;
 // reset all players health for HLTV&lt;br /&gt;
 MESSAGE_BEGIN( MSG_SPEC, gmsgHLTV );&lt;br /&gt;
 WRITE_BYTE( 0 );   // 0 = all players&lt;br /&gt;
 WRITE_BYTE( 100 | 128 );&lt;br /&gt;
 MESSAGE_END();&amp;lt;br&amp;gt;&lt;br /&gt;
 // reset all players FOV for HLTV&lt;br /&gt;
 MESSAGE_BEGIN( MSG_SPEC, gmsgHLTV );&lt;br /&gt;
 WRITE_BYTE( 0 );   // all players&lt;br /&gt;
 WRITE_BYTE( 0 );&lt;br /&gt;
 MESSAGE_END();&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|HLTV|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|ClientID}}&lt;br /&gt;
{{hl1msg|byte|Flags}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= HostageK =&lt;br /&gt;
Temporarily draws a blinking red dot on the CT players' radar when a hostage is killed.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|HostageK|byte}}&lt;br /&gt;
{{hl1msg|byte|HostageID}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= HostagePos =&lt;br /&gt;
Draws/updates the blue mark on the CT players' radar which is indicate the corresponding hostage position.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Is called with Flag set to 1 on player [[HUD]] full update.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|HostagePos|byte, byte, coord, coord, coord}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{hl1msg|byte|HostageID}}&lt;br /&gt;
{{hl1msg|coord|CoordX}}&lt;br /&gt;
{{hl1msg|coord|CoordY}}&lt;br /&gt;
{{hl1msg|coord|CoordZ}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= HudText =&lt;br /&gt;
Prints [[HUD]] text.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Prints message with specified style in titles.txt with small signs (like in HL)}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|HudText|string, byte, byte}}&lt;br /&gt;
{{hl1msg|string|TextCode}}&lt;br /&gt;
{{hl1msg|byte|InitHUDstyle}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= HudTextArgs =&lt;br /&gt;
Prints [[HUD]] text.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|An example of TextCode could be &amp;quot;#Hint_you_have_the_bomb&amp;quot;.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Prints message with specified style in titles.txt with Big signs (CS Default)}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|If you have a problems with specifing the last two arguments use 1 and 0 respectively.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|HudTextArgs|string, byte, byte}}&lt;br /&gt;
{{hl1msg|string|TextCode}}&lt;br /&gt;
{{hl1msg|byte|InitHUDstyle}}&lt;br /&gt;
{{hl1msg|byte|NumberOfSubMessages}}&lt;br /&gt;
{{hl1msg|string|SubMsg}}&lt;br /&gt;
{{hl1msg|string|SubMsg}}&lt;br /&gt;
{{hl1msg|string|...}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= HudTextPro =&lt;br /&gt;
Prints [[HUD]] text.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Prints message with specified style in titles.txt with Big signs (CS Default)}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|HudText|string, byte, byte}}&lt;br /&gt;
{{hl1msg|string|TextCode}}&lt;br /&gt;
{{hl1msg|byte|InitHUDstyle}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= InitHUD =&lt;br /&gt;
Initializes the [[HUD]].&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|InitHUD}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ItemPickup =&lt;br /&gt;
Temporarily draws correspoding item [[HUD]] icon in the middle of the right side of the screen.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Draw time is depend on the ''hud_drawhistory_time'' client CVar value.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ItemPickup|string}}&lt;br /&gt;
{{hl1msg|string|ItemName}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ItemStatus =&lt;br /&gt;
Notifies about carried items.&amp;lt;br&amp;gt;&lt;br /&gt;
Example of some item bits:&lt;br /&gt;
 1   (1&amp;lt;&amp;lt;0)  -  nightvision goggles&lt;br /&gt;
 2   (1&amp;lt;&amp;lt;1)  -  defusal kit&lt;br /&gt;
{{begin-hl1msg|ItemStatus|byte}}&lt;br /&gt;
{{hl1msg|byte|ItemsBitSum}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Location =&lt;br /&gt;
This message is sent when player gets in different zone on map.&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|Location|byte, string}}&lt;br /&gt;
{{hl1msg|byte|PlayerId}}&lt;br /&gt;
{{hl1msg|string|LocationName}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Money =&lt;br /&gt;
Updates the Amount of money on the [[HUD]]. If the Flag is 1, the additional new-old [[HUD]] money amount difference will be also displayed.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Money|long, byte}}&lt;br /&gt;
{{hl1msg|long|Amount}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= MOTD =&lt;br /&gt;
Displays MOTD window.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Max. Text length is 60. Large MOTD is sent in multiple messages. For the message that is send a last MOTD part the Flag will be set to 1 and 0 otherwise.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|MOTD|byte, string}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{hl1msg|string|Text}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= NVGToggle =&lt;br /&gt;
Toggles night vision mode. For Flag: 1 is on, 0 is off.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|NVGToggle|byte}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Radar =&lt;br /&gt;
Draws/updates the dot on the [[HUD]] radar which is indicate the given player position.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Works for teammates only.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Radar|byte, coord, coord, coord}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{hl1msg|coord|CoordX}}&lt;br /&gt;
{{hl1msg|coord|CoordY}}&lt;br /&gt;
{{hl1msg|coord|CoordZ}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ReceiveW =&lt;br /&gt;
Tell the client which visual weather effect to be executed client side, if cl_weather client cvar is above 0.&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|Main part of CBasePlayer::SendWeatherInfo() function that is sent in CBasePlayer :: UpdateClientData() when player offset m_fInitHUD is 1&amp;lt;br&amp;gt;&lt;br /&gt;
(right after putinserver or after fullupdate command)&amp;lt;br&amp;gt;&lt;br /&gt;
Mode : 1 is for rain effect, 2 is for snow effect&amp;lt;br&amp;gt;&lt;br /&gt;
Though mode 0 is never sent by the game itself, removes weather effect&amp;lt;br&amp;gt;&lt;br /&gt;
Alternatively send mode 1 and mode 2 with judicious delays (time for effect to disappear) make both rain and snow effect}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ReceiveW|byte}}&lt;br /&gt;
{{hl1msg|byte|mode}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ReloadSound =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ReloadSound|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ReqState =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ReqState}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ResetHUD =&lt;br /&gt;
Resets the [[HUD]].&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ResetHUD}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= RoundTime =&lt;br /&gt;
Updates the round timer on the [[HUD]]. Time is in seconds.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|RoundTime|short}}&lt;br /&gt;
{{hl1msg|short|Time}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SayText =&lt;br /&gt;
Prints say [[HUD]] text. Second argument can be a predefined string or a custom one. In the last case the last two arguments isn't required.&amp;lt;br&amp;gt;&lt;br /&gt;
An examples of a predifined Counter-Strike string values: #Cstrike_Chat_AllDead, #Cstrike_Name_Change&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|For #Cstrike_Name_Change String2 is an old name and String3 is a new name.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|SayText|byte, string, string, string}}&lt;br /&gt;
{{hl1msg|byte|SenderID}}&lt;br /&gt;
{{hl1msg|string|String1}}&lt;br /&gt;
{{hl1msg|string|String2}}&lt;br /&gt;
{{hl1msg|string|String3}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Scenario =&lt;br /&gt;
If Active is 0, this display will be hidden. If Active is 1, 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.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|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.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[image:Cs_scenario_msg.jpg|frame|right|Scenario message in CS, using the following parameters: 1, d_mp5navy, 150]]&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Works in both CS and CZ!}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|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.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Scenario|byte, string, byte, short, short}}&lt;br /&gt;
{{hl1msg|byte|Active}}&lt;br /&gt;
{{hl1msg|string|Sprite}}&lt;br /&gt;
{{hl1msg|byte|Alpha}}&lt;br /&gt;
{{hl1msg|short|FlashRate}}&lt;br /&gt;
{{hl1msg|short|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ScoreAttrib =&lt;br /&gt;
Updates the scoreboard's attribute for the specified player. For the 2nd argument, 0 is nothing, (1&amp;lt;&amp;lt;0) i.e. 1 is dead, (1&amp;lt;&amp;lt;1) i.e. 2 is bomb, (1&amp;lt;&amp;lt;2) i.e. 4 is VIP.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|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.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ScoreAttrib|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{hl1msg|byte|Flags}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ScoreInfo =&lt;br /&gt;
Updates the scoreboard with the given player's Frags and Deaths.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|In CS the 4th argument is always equal to 0.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*See [http://www.amxmodx.org/funcwiki.php?go=module&amp;amp;id=4#const_teams CS Team Constants] for team indeces constants list.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ScoreInfo|byte, short, short, short, short}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{hl1msg|short|Frags}}&lt;br /&gt;
{{hl1msg|short|Deaths}}&lt;br /&gt;
{{hl1msg|short|ClassID?}}&lt;br /&gt;
{{hl1msg|short|TeamID}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ScreenFade =&lt;br /&gt;
Fades the screen.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Duration and HoldTime is in special units. 1 second is equal to (1&amp;lt;&amp;lt;12) i.e. 4096 units.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Flags (from HLSDK):&lt;br /&gt;
 FFADE_IN         0x0000 // Just here so we don't pass 0 into the function&lt;br /&gt;
 FFADE_OUT        0x0001 // Fade out (not in)&lt;br /&gt;
 FFADE_MODULATE   0x0002 // Modulate (don't blend)&lt;br /&gt;
 FFADE_STAYOUT    0x0004 // ignores the duration, stays faded out until new ScreenFade message received&lt;br /&gt;
{{begin-hl1msg|ScreenFade|short, short, short, byte, byte, byte, byte}}&lt;br /&gt;
{{hl1msg|short|Duration}}&lt;br /&gt;
{{hl1msg|short|HoldTime}}&lt;br /&gt;
{{hl1msg|short|Flags}}&lt;br /&gt;
{{hl1msg|byte|ColorR}}&lt;br /&gt;
{{hl1msg|byte|ColorG}}&lt;br /&gt;
{{hl1msg|byte|ColorB}}&lt;br /&gt;
{{hl1msg|byte|Alpha}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ScreenShake =&lt;br /&gt;
Shakes the screen.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|All arguments is in special units. 1 second is equal to (1&amp;lt;&amp;lt;12) i.e. 4096 units.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ScreenShake|short, short, short}}&lt;br /&gt;
{{hl1msg|short|Amplitude}}&lt;br /&gt;
{{hl1msg|short|Duration}}&lt;br /&gt;
{{hl1msg|short|Frequency}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SendAudio =&lt;br /&gt;
Plays the specified audio. An example of AudioCode could be &amp;quot;%!MRAD_rounddraw&amp;quot;.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|SendAudio|byte, string, short}}&lt;br /&gt;
{{hl1msg|byte|SenderID}}&lt;br /&gt;
{{hl1msg|string|AudioCode}}&lt;br /&gt;
{{hl1msg|short|Pitch}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ServerName =&lt;br /&gt;
Sends a server name to a client.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ServerName|string}}&lt;br /&gt;
{{hl1msg|string|ServerName}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SetFOV =&lt;br /&gt;
Sets the specified field of view.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|SetFOV|byte}}&lt;br /&gt;
{{hl1msg|byte|Degrees}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ShadowIdx =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ShadowIdx|long}}&lt;br /&gt;
{{hl1msg|long|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ShowMenu =&lt;br /&gt;
Displays a &amp;quot;menu&amp;quot; to a player (text on the left side of the screen). Acts like AMXX's show_menu (in fact, this is how AMXX shows a menu).&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|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.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ShowMenu|short, char, byte, string}}&lt;br /&gt;
{{hl1msg|short|KeysBitSum}}&lt;br /&gt;
{{hl1msg|char|Time}}&lt;br /&gt;
{{hl1msg|byte|Multipart}}&lt;br /&gt;
{{hl1msg|string|Text}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ShowTimer =&lt;br /&gt;
Forces the round timer displaying.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ShowTimer}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SpecHealth =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|SpecHealth|byte}}&lt;br /&gt;
{{hl1msg|byte|Health?}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SpecHealth2 =&lt;br /&gt;
Updates the observer's screen with a name and health of the given player.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|SpecHealth2|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|Health}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Spectator =&lt;br /&gt;
Called when player becomes an observer/spectator.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|On join to Spectators usually is fired twice in a row.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Spectator|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|ClientID}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= StatusIcon =&lt;br /&gt;
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 is required only if Status aren't equal to 0.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|StatusIcon|byte, string, byte, byte, byte}}&lt;br /&gt;
{{hl1msg|byte|Status}}&lt;br /&gt;
{{hl1msg|string|SpriteName}}&lt;br /&gt;
{{hl1msg|byte|ColorR}}&lt;br /&gt;
{{hl1msg|byte|ColorG}}&lt;br /&gt;
{{hl1msg|byte|ColorB}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= StatusValue =&lt;br /&gt;
Sends/updates the status values. For the Flag 1 the Value is TeamRelation, for 2 is PlayerID, for 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.&amp;lt;br&amp;gt;&lt;br /&gt;
Usually is fired as a triple message, for example:&lt;br /&gt;
 {1,  2}  -  non-teammate player&lt;br /&gt;
 {2, 17}  -  player index is 17&lt;br /&gt;
 {3, 59}  -  player health is 59&lt;br /&gt;
{{begin-hl1msg|StatusValue|byte, short}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{hl1msg|short|Value}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= StatusText =&lt;br /&gt;
Specifies the status text format.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|StatusText|byte, string}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{hl1msg|string|Text}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TaskTime =&lt;br /&gt;
Displays a secondary timer above the round timer. Used for Condition Zero singleplayer missions.&amp;lt;br&amp;gt;&lt;br /&gt;
If Time is -1, timer dissappears. If Time is any other negative value, it is displayed as green instead of yellow, and considered positive.&amp;lt;br&amp;gt;&lt;br /&gt;
If Active is true, timer counts down. Otherwise, it is paused.&amp;lt;br&amp;gt;If Fade is above zero, the timer will slowly fade out after that many seconds have passed (even if the timer is inactive).&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This event can only be used on missions that have an objective requiring a secondary timer!}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|TaskTime|short, byte, byte}}&lt;br /&gt;
{{hl1msg|short|Time}}&lt;br /&gt;
{{hl1msg|byte|Active}}&lt;br /&gt;
{{hl1msg|byte|Fade}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TeamInfo =&lt;br /&gt;
Sets the team information for the given player.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|In CS TeamName is either &amp;quot;UNASSIGNED&amp;quot;, &amp;quot;TERRORIST&amp;quot;, &amp;quot;CT&amp;quot; or &amp;quot;SPECTATOR&amp;quot;.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|TeamInfo|byte, string}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{hl1msg|string|TeamName}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TeamScore =&lt;br /&gt;
Updates the team score on the score board.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|In CS TeamName is either &amp;quot;TERRORIST&amp;quot; or &amp;quot;CT&amp;quot;.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|TeamScore|string, short}}&lt;br /&gt;
{{hl1msg|string|TeamName}}&lt;br /&gt;
{{hl1msg|short|Score}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TextMsg =&lt;br /&gt;
Prints a cutom/or predefined text message.&amp;lt;br&amp;gt;&lt;br /&gt;
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:&lt;br /&gt;
 Arg1: 1&lt;br /&gt;
 Arg2: #Game_join_ct&lt;br /&gt;
 Arg3: Pimp Daddy&lt;br /&gt;
{{begin-hl1msg|TextMsg|byte, string, string, string, string, string}}&lt;br /&gt;
{{hl1msg|byte|DestinationType}}&lt;br /&gt;
{{hl1msg|string|Message}}&lt;br /&gt;
{{hl1msg|string|Submsg}}&lt;br /&gt;
{{hl1msg|string|Submsg}}&lt;br /&gt;
{{hl1msg|string|Submsg}}&lt;br /&gt;
{{hl1msg|string|Submsg}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Train =&lt;br /&gt;
Displays the speed bar used for controlling a train.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Speed is as follows: 0 (disable display), 1 (reverse), 2 (neutral), 3 (slow speed), 4 (medium speed), 5 (maximum speed)}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Train|byte}}&lt;br /&gt;
{{hl1msg|byte|Speed}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TutorClose =&lt;br /&gt;
Closes all CZ-style tutor popups.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|TutorClose}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TutorLine =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|TutorLine}}&lt;br /&gt;
{{hl1msg|short|Unknown1}}&lt;br /&gt;
{{hl1msg|short|Unknown2}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TutorState =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|TutorState }}&lt;br /&gt;
{{hl1msg|string|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TutorText =&lt;br /&gt;
Used to display a CZ-style tutor popup.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|If NumberOfSubMsgs is higher than 0, there should be such amount of write_string after this byte.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Special thanks goes to '''Lt.Rat''' for his ninja skills.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 DEFAULT		1	// 1&amp;lt;&amp;lt;0 | GREEN  | INFO&lt;br /&gt;
 FRIENDDEATH	2	// 1&amp;lt;&amp;lt;1 | RED    | SKULL&lt;br /&gt;
 ENEMYDEATH	4	// 1&amp;lt;&amp;lt;2 | BLUE   | SKULL&lt;br /&gt;
 SCENARIO	8	// 1&amp;lt;&amp;lt;3 | YELLOW | INFO&lt;br /&gt;
 BUY		16	// 1&amp;lt;&amp;lt;4 | GREEN  | INFO&lt;br /&gt;
 CAREER		32	// 1&amp;lt;&amp;lt;5 | GREEN  | INFO&lt;br /&gt;
 HINT		64	// 1&amp;lt;&amp;lt;6 | GREEN  | INFO&lt;br /&gt;
 INGAMEHINT	128	// 1&amp;lt;&amp;lt;7 | GREEN  | INFO&lt;br /&gt;
 ENDGAME		256	// 1&amp;lt;&amp;lt;8 | YELLOW | INFO&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|TutorText|string, byte, short, short, short}}&lt;br /&gt;
{{hl1msg|string|String}}&lt;br /&gt;
{{hl1msg|byte|NumberOfSubMsgs}}&lt;br /&gt;
{{hl1msg|short|Unknown}}&lt;br /&gt;
{{hl1msg|short|Unknown (0 or 1)}}&lt;br /&gt;
{{hl1msg|short|Type}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ViewMode =&lt;br /&gt;
{{qnotice|No Information available for this message (HLSDK says this switches to first-person view, but it doesn't seem to function as so).}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ViewMode}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= VGUIMenu =&lt;br /&gt;
Displays a predefined VGUI menu.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|VGUIMenu|byte, short, char, byte, string}}&lt;br /&gt;
{{hl1msg|byte|MenuID}}&lt;br /&gt;
{{hl1msg|short|KeysBitSum}}&lt;br /&gt;
{{hl1msg|char|Time?}}&lt;br /&gt;
{{hl1msg|byte|Multipart?}}&lt;br /&gt;
{{hl1msg|string|Name?}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= VoiceMask =&lt;br /&gt;
Used to tell a client who he can hear over the microphone.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|VoiceMask|long, long}}&lt;br /&gt;
{{hl1msg|long|AudiblePlayersIndexBitSum}}&lt;br /&gt;
{{hl1msg|long|ServerBannedPlayersIndexBitSum}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= WeaponList =&lt;br /&gt;
Configures the [[HUD]] weapons list.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Fired on map initialization.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|SlotID starts from 0.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Flags (from HLSDK):&lt;br /&gt;
 ITEM_FLAG_SELECTONEMPTY       1&lt;br /&gt;
 ITEM_FLAG_NOAUTORELOAD        2&lt;br /&gt;
 ITEM_FLAG_NOAUTOSWITCHEMPTY   4&lt;br /&gt;
 ITEM_FLAG_LIMITINWORLD        8&lt;br /&gt;
 ITEM_FLAG_EXHAUSTIBLE        16 // A player can totally exhaust their ammo supply and lose this weapon.&lt;br /&gt;
{{qnotice|See [[CS Weapons Information]] for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|WeaponList|string, byte, byte, byte, byte, byte, byte, byte, byte}}&lt;br /&gt;
{{hl1msg|string|WeaponName}}&lt;br /&gt;
{{hl1msg|byte|PrimaryAmmoID}}&lt;br /&gt;
{{hl1msg|byte|PrimaryAmmoMaxAmount}}&lt;br /&gt;
{{hl1msg|byte|SecondaryAmmoID}}&lt;br /&gt;
{{hl1msg|byte|SecondaryAmmoMaxAmount}}&lt;br /&gt;
{{hl1msg|byte|SlotID}}&lt;br /&gt;
{{hl1msg|byte|NumberInSlot}}&lt;br /&gt;
{{hl1msg|byte|WeaponID}}&lt;br /&gt;
{{hl1msg|byte|Flags}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= WeapPickup =&lt;br /&gt;
Temporarily draws correspoding weapon [[HUD]] icon in the middle of the right side of the screen.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Draw time is depend on the ''hud_drawhistory_time'' client CVar value.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Is fired right before weapon is picked up (notice ''&amp;quot;before&amp;quot;'').}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|See [[CS Weapons Information]] for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|WeapPickup|byte}}&lt;br /&gt;
{{hl1msg|byte|WeaponID}}&lt;br /&gt;
{{end-hl1msg}}&lt;/div&gt;</summary>
		<author><name>ConnorMcLeod</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.alliedmods.net/index.php?title=Half-Life_1_Game_Events&amp;diff=7962</id>
		<title>Half-Life 1 Game Events</title>
		<link rel="alternate" type="text/html" href="https://wiki.alliedmods.net/index.php?title=Half-Life_1_Game_Events&amp;diff=7962"/>
		<updated>2011-02-09T21:10:00Z</updated>

		<summary type="html">&lt;p&gt;ConnorMcLeod: /* TutorText */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Half-Life 1]]&lt;br /&gt;
[[Category:Scripting (AMX Mod X)]]&lt;br /&gt;
&lt;br /&gt;
= Introduction =&lt;br /&gt;
&lt;br /&gt;
In [[AMX Mod X]] you are able to hook in-game messages/events with [http://www.amxmodx.org/funcwiki.php?search=register_message&amp;amp;go=search register_message] / [http://www.amxmodx.org/funcwiki.php?go=func&amp;amp;id=26 register_event]. Here are the list of messages/events and their arguments which can be read with [http://www.amxmodx.org/funcwiki.php?search=get_msg_arg_&amp;amp;go=search get_msg_arg_*] / [http://www.amxmodx.org/funcwiki.php?go=func&amp;amp;id=132 read_data].&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
*See the [[Advanced Scripting (AMX Mod X)#Events.2FMessages|Advanced Scripting]] article for more on events and messages.&amp;lt;br&amp;gt;&lt;br /&gt;
*See messages.inc and message_const.inc from amxmodx/scriptong/include folder or [http://www.amxmodx.org/funcwiki.php?go=inc&amp;amp;id=47 Messaging functions] and [http://www.amxmodx.org/funcwiki.php?go=inc&amp;amp;id=48 Message constants] for full messages control including blocking, argument alteration and much more.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= ADStop =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ADStop}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= AllowSpec =&lt;br /&gt;
Changes whether or not &amp;quot;SPECTATE&amp;quot; appears on the change team menu. Called whenever the allow_spectators CVar is changed, with its new value sent as the byte.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This changes how the change team menu appears, but spectating functionality is based off of the actual CVar value.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|AllowSpec|byte}}&lt;br /&gt;
{{hl1msg|byte|Allowed}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= AmmoPickup =&lt;br /&gt;
Temporarily draws [[HUD]] ammo amount and correspoding ammo [[HUD]] icon in the middle of the right side of the screen.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Draw time is depend on the ''hud_drawhistory_time'' client CVar value.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|See [[CS Weapons Information]] for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|AmmoPickup|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|AmmoID}}&lt;br /&gt;
{{hl1msg|byte|Ammount}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= AmmoX =&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|See [[CS Weapons Information]] for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|AmmoX|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|AmmoID}}&lt;br /&gt;
{{hl1msg|byte|Ammount}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ArmorType =&lt;br /&gt;
Draws/removes helmet [[HUD]] icon. If flag is set to 1 the helmet [[HUD]] icon will be drawn (located right on the armor icon).&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ArmorType|byte}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BarTime =&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Set Duration to 0 to hide the bar.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|BarTime|short}}&lt;br /&gt;
{{hl1msg|short|Duration}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BarTime2 =&lt;br /&gt;
The same as BarTime but StartPercents is specify how many per cents of the bar are (already) filled.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Display time can be calculated with this formula: ''(1 - (StartPercents / 100)) / Duration''}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|BarTime2|short, short}}&lt;br /&gt;
{{hl1msg|short|Duration}}&lt;br /&gt;
{{hl1msg|short|StartPercents}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Battery =&lt;br /&gt;
Updates the icon and the number of armor on the [[HUD]].&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Battery|short}}&lt;br /&gt;
{{hl1msg|short|Armor}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BlinkAcct =&lt;br /&gt;
Makes a player's money display flash rapidly, until it flashes a total of BlinkAmt times.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|BlinkAcct|byte}}&lt;br /&gt;
{{hl1msg|byte|BlinkAmt}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BombDrop =&lt;br /&gt;
The first three arguments are the origin of the dropped bomb. The last argument is set to 1 if the bomb has been planted. It is 0 if the bomb was dropped due to voluntary dropping or death/disconnect. Setting the last argument 1, will also 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.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|BombDrop|coord, coord, coord, byte}}&lt;br /&gt;
{{hl1msg|coord|CoordX}}&lt;br /&gt;
{{hl1msg|coord|CoordY}}&lt;br /&gt;
{{hl1msg|coord|CoordZ}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BombPickup =&lt;br /&gt;
This message just tells the game that the bomb has been picked up. It will cause the dropped/planted bomb to disappear from the Terrorist team's radar.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|BombPickup}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BotProgress =&lt;br /&gt;
Used by CZ's bots when learning a new map. 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.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|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.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|BotProgress|byte, byte, string}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{hl1msg|byte|Progress}}&lt;br /&gt;
{{hl1msg|string|Header}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BotVoice =&lt;br /&gt;
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 by regular players, although you &amp;lt;i&amp;gt;can&amp;lt;/i&amp;gt; specify a regular player (non-bot) for the PlayerIndex. Status is 1 for talking, or 0 for not talking.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|BotVoice|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|Status}}&lt;br /&gt;
{{hl1msg|byte|PlayerIndex}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Brass =&lt;br /&gt;
Creates a brass shell. Used, for example, by the AWP, after firing.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Brass|byte, coord, coord, coord, coord, coord, coord, coord, coord, coord, angle, short, byte, byte, byte}}&lt;br /&gt;
{{hl1msg|byte|MessageID}}&lt;br /&gt;
{{hl1msg|coord|StartX}}&lt;br /&gt;
{{hl1msg|coord|StartY}}&lt;br /&gt;
{{hl1msg|coord|StartZ}}&lt;br /&gt;
{{hl1msg|coord|VelocityX?}}&lt;br /&gt;
{{hl1msg|coord|VelocityY?}}&lt;br /&gt;
{{hl1msg|coord|VelocityZ?}}&lt;br /&gt;
{{hl1msg|coord|UnknownX}}&lt;br /&gt;
{{hl1msg|coord|UnknownY}}&lt;br /&gt;
{{hl1msg|coord|UnknownZ}}&lt;br /&gt;
{{hl1msg|angle|Rotation}}&lt;br /&gt;
{{hl1msg|short|ModelIndex}}&lt;br /&gt;
{{hl1msg|byte|BounceSoundType}}&lt;br /&gt;
{{hl1msg|byte|Life}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BuyClose =&lt;br /&gt;
Forces the buy menu to close. This is not called when the player closes the buy menu by himself; it's only called when the game forces him to do so (ie: he walks outside of the buy zone, gets killed, etcetera).&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|BuyClose}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ClCorpse =&lt;br /&gt;
Spawns a player's corpse. ModelName is the player's model name, for example: &amp;quot;leet&amp;quot;. Delay is a delay before animation plaback, can be negative value.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Coord and Delay is multiplied by 128.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|In CS argument #10 is always equal to 0.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*See [http://www.amxmodx.org/funcwiki.php?go=module&amp;amp;id=4#const_teams CS Team Constants] for team indeces constants list.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ClCorpse|string, long, long, long, coord, coord, coord, long, byte, byte, byte, byte}}&lt;br /&gt;
{{hl1msg|string|ModelName}}&lt;br /&gt;
{{hl1msg|long|CoordX}}&lt;br /&gt;
{{hl1msg|long|CoordY}}&lt;br /&gt;
{{hl1msg|long|CoordZ}}&lt;br /&gt;
{{hl1msg|coord|Angle0}}&lt;br /&gt;
{{hl1msg|coord|Angle1}}&lt;br /&gt;
{{hl1msg|coord|Angle2}}&lt;br /&gt;
{{hl1msg|long|Delay}}&lt;br /&gt;
{{hl1msg|byte|Sequence}}&lt;br /&gt;
{{hl1msg|byte|ClassID?}}&lt;br /&gt;
{{hl1msg|byte|TeamID}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Crosshair =&lt;br /&gt;
Draws/removes a crosshair. If Flag is set to 1 the crosshair will be drawn.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This crossair looks not like the regular one but like the one that is drawn in the spectator mode.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Crosshair|byte}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= CurWeapon =&lt;br /&gt;
Updates the clip ammo number and weapon's corresponding ammo type icon on the [[HUD]].&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|See [[CS Weapons Information]] for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|CurWeapon|byte, byte, byte}}&lt;br /&gt;
{{hl1msg|byte|IsActive}}&lt;br /&gt;
{{hl1msg|byte|WeaponID}}&lt;br /&gt;
{{hl1msg|byte|ClipAmmo}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= CZCareer =&lt;br /&gt;
Supplies certain updates to the player regarding Condition Zero singleplayer missions.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|See the [[CZCareer]] page for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|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).}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|The Type argument is case-sensitive.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This event does nothing in CS and CZ multiplayer.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|CZCareer|string,*}}&lt;br /&gt;
{{hl1msg|string|Type}}&lt;br /&gt;
{{hl1msg|*|Parameters}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= CZCareerHUD =&lt;br /&gt;
Displays certain [[HUD]] elements regarding Condition Zero singleplayer missions.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|See the [[CZCareerHUD]] page for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|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).}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|The Type argument is case-sensitive.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This event has some limited functionality in CS and CZ multiplayer (albeit better in CZ).}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|CZCareerHUD|string,*}}&lt;br /&gt;
{{hl1msg|string|Type}}&lt;br /&gt;
{{hl1msg|*|Parameters}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Damage =&lt;br /&gt;
Called when a player takes damage, to display the red locational indicators. The last three arguments is the origin of the damage inflictor or victim origin if inflictor isn't found. DamageType is a bitwise value usually consist of a single bit.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|To caputure this message,you should use &amp;quot;b&amp;quot; as the third parameter in the register_event() function.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Damage|byte, byte, long, coord, coord, coord}}&lt;br /&gt;
{{hl1msg|byte|DamageSave}}&lt;br /&gt;
{{hl1msg|byte|DamageTake}}&lt;br /&gt;
{{hl1msg|long|DamageType}}&lt;br /&gt;
{{hl1msg|coord|CoordX}}&lt;br /&gt;
{{hl1msg|coord|CoordY}}&lt;br /&gt;
{{hl1msg|coord|CoordZ}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= DeathMsg =&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
Also prints the console text message &amp;quot;KillerName killed VictimName with TruncatedWeaponName&amp;quot; or &amp;quot;*** KillerName killed VictimName with a headshot from TruncatedWeaponName ***&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|TruncatedWeaponName doesn't contain a &amp;quot;weapon_&amp;quot; prefix. See [[CS Weapons Information]] for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|For grenade kill TruncatedWeaponName isn't &amp;quot;hegrenade&amp;quot; but &amp;quot;grenade&amp;quot;, in fact it's an actual classname of a throwed grenade.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|For KillerID it's not necessarily should be a PlayerID, it could be 0 if player dies from fall/acid/radiation/fire/etc damage/lack of oxygen or from touch to a &amp;quot;trigger_hurt&amp;quot; entity, in this case TruncatedWeaponName will be &amp;quot;worldspawn&amp;quot; and &amp;quot;trigger_hurt&amp;quot; respectively.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|For vehicle kills TruncatedWeaponName could be &amp;quot;vehicle&amp;quot;, &amp;quot;tank&amp;quot; et cetera.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|DeathMsg|byte, byte, byte, string}}&lt;br /&gt;
{{hl1msg|byte|KillerID}}&lt;br /&gt;
{{hl1msg|byte|VictimID}}&lt;br /&gt;
{{hl1msg|byte|IsHeadshot}}&lt;br /&gt;
{{hl1msg|string|TruncatedWeaponName}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= FlashBat =&lt;br /&gt;
Updates the flashlight battery charge on the [[HUD]].&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|FlashBat|byte}}&lt;br /&gt;
{{hl1msg|byte|ChargePercents}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Flashlight =&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Flashlight|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{hl1msg|byte|ChargePercents}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Fog =&lt;br /&gt;
{{qnotice|mp_Fog 1 for fog in counter-strike}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|Fog|byte, byte, byte}}&lt;br /&gt;
{{hl1msg|byte|FogValue}}&lt;br /&gt;
{{hl1msg|byte|FogValue}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ForceCam =&lt;br /&gt;
Called whenever mp_forcecam or mp_forcechasecam are changed, with their new values passed. There is assumedly a third CVar that this tracks, but it is yet unknown. Note that this message doesn't actually change any of the spectating rules for the client.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Even if mp_forcechasecam is set to 2, it is sent by this message as 1.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ForceCam|byte, byte, byte}}&lt;br /&gt;
{{hl1msg|byte|ForcecamValue}}&lt;br /&gt;
{{hl1msg|byte|ForcechasecamValue}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= GameMode =&lt;br /&gt;
&lt;br /&gt;
Informs player of current game mode&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|GameMode|byte}}&lt;br /&gt;
{{hl1msg|byte|Game mode}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= GameTitle =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|GameTitle|byte}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Geiger =&lt;br /&gt;
Notifies about radiation level through special sound signals. Distance is a distance to hazard area.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Geiger|byte}}&lt;br /&gt;
{{hl1msg|byte|Distance}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Health =&lt;br /&gt;
Updates the number of health on the [[HUD]].&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Health|byte}}&lt;br /&gt;
{{hl1msg|byte|Health}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= HideWeapon =&lt;br /&gt;
Hides the specified [[HUD]] elements.&amp;lt;br&amp;gt;&lt;br /&gt;
Flags:&lt;br /&gt;
   1   (1&amp;lt;&amp;lt;0)  -  crosshair, ammo, weapons list&lt;br /&gt;
   2   (1&amp;lt;&amp;lt;1)  -  flashlight, +&lt;br /&gt;
   4   (1&amp;lt;&amp;lt;2)  -  ALL&lt;br /&gt;
   8   (1&amp;lt;&amp;lt;3)  -  radar, health, armor, +&lt;br /&gt;
  16   (1&amp;lt;&amp;lt;4)  -  timer, +&lt;br /&gt;
  32   (1&amp;lt;&amp;lt;5)  -  money, +&lt;br /&gt;
  64   (1&amp;lt;&amp;lt;6)  -  crosshair&lt;br /&gt;
 128   (1&amp;lt;&amp;lt;7)  -  +&lt;br /&gt;
Symbol + mean that an additional crosshair will be drawn. That crosshair looks exactly like the one from Crosshair message.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|HideWeapon|byte}}&lt;br /&gt;
{{hl1msg|byte|Flags}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= HLTV =&lt;br /&gt;
Message sent for HLTV and unique for each round-start.&amp;lt;br&amp;gt;&lt;br /&gt;
On new round is fired 2 messages:&lt;br /&gt;
 // reset all players health for HLTV&lt;br /&gt;
 MESSAGE_BEGIN( MSG_SPEC, gmsgHLTV );&lt;br /&gt;
 WRITE_BYTE( 0 );   // 0 = all players&lt;br /&gt;
 WRITE_BYTE( 100 | 128 );&lt;br /&gt;
 MESSAGE_END();&amp;lt;br&amp;gt;&lt;br /&gt;
 // reset all players FOV for HLTV&lt;br /&gt;
 MESSAGE_BEGIN( MSG_SPEC, gmsgHLTV );&lt;br /&gt;
 WRITE_BYTE( 0 );   // all players&lt;br /&gt;
 WRITE_BYTE( 0 );&lt;br /&gt;
 MESSAGE_END();&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|HLTV|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|ClientID}}&lt;br /&gt;
{{hl1msg|byte|Flags}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= HostageK =&lt;br /&gt;
Temporarily draws a blinking red dot on the CT players' radar when a hostage is killed.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|HostageK|byte}}&lt;br /&gt;
{{hl1msg|byte|HostageID}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= HostagePos =&lt;br /&gt;
Draws/updates the blue mark on the CT players' radar which is indicate the corresponding hostage position.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Is called with Flag set to 1 on player [[HUD]] full update.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|HostagePos|byte, byte, coord, coord, coord}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{hl1msg|byte|HostageID}}&lt;br /&gt;
{{hl1msg|coord|CoordX}}&lt;br /&gt;
{{hl1msg|coord|CoordY}}&lt;br /&gt;
{{hl1msg|coord|CoordZ}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= HudText =&lt;br /&gt;
Prints [[HUD]] text.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Prints message with specified style in titles.txt with small signs (like in HL)}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|HudText|string, byte, byte}}&lt;br /&gt;
{{hl1msg|string|TextCode}}&lt;br /&gt;
{{hl1msg|byte|InitHUDstyle}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= HudTextArgs =&lt;br /&gt;
Prints [[HUD]] text.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|An example of TextCode could be &amp;quot;#Hint_you_have_the_bomb&amp;quot;.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Prints message with specified style in titles.txt with Big signs (CS Default)}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|If you have a problems with specifing the last two arguments use 1 and 0 respectively.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|HudTextArgs|string, byte, byte}}&lt;br /&gt;
{{hl1msg|string|TextCode}}&lt;br /&gt;
{{hl1msg|byte|InitHUDstyle}}&lt;br /&gt;
{{hl1msg|byte|NumberOfSubMessages}}&lt;br /&gt;
{{hl1msg|string|SubMsg}}&lt;br /&gt;
{{hl1msg|string|SubMsg}}&lt;br /&gt;
{{hl1msg|string|...}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= HudTextPro =&lt;br /&gt;
Prints [[HUD]] text.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Prints message with specified style in titles.txt with Big signs (CS Default)}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|HudText|string, byte, byte}}&lt;br /&gt;
{{hl1msg|string|TextCode}}&lt;br /&gt;
{{hl1msg|byte|InitHUDstyle}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= InitHUD =&lt;br /&gt;
Initializes the [[HUD]].&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|InitHUD}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ItemPickup =&lt;br /&gt;
Temporarily draws correspoding item [[HUD]] icon in the middle of the right side of the screen.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Draw time is depend on the ''hud_drawhistory_time'' client CVar value.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ItemPickup|string}}&lt;br /&gt;
{{hl1msg|string|ItemName}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ItemStatus =&lt;br /&gt;
Notifies about carried items.&amp;lt;br&amp;gt;&lt;br /&gt;
Example of some item bits:&lt;br /&gt;
 1   (1&amp;lt;&amp;lt;0)  -  nightvision goggles&lt;br /&gt;
 2   (1&amp;lt;&amp;lt;1)  -  defusal kit&lt;br /&gt;
{{begin-hl1msg|ItemStatus|byte}}&lt;br /&gt;
{{hl1msg|byte|ItemsBitSum}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Location =&lt;br /&gt;
This message is sent when player gets in different zone on map.&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|Location|byte, string}}&lt;br /&gt;
{{hl1msg|byte|PlayerId}}&lt;br /&gt;
{{hl1msg|string|LocationName}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Money =&lt;br /&gt;
Updates the Amount of money on the [[HUD]]. If the Flag is 1, the additional new-old [[HUD]] money amount difference will be also displayed.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Money|long, byte}}&lt;br /&gt;
{{hl1msg|long|Amount}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= MOTD =&lt;br /&gt;
Displays MOTD window.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Max. Text length is 60. Large MOTD is sent in multiple messages. For the message that is send a last MOTD part the Flag will be set to 1 and 0 otherwise.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|MOTD|byte, string}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{hl1msg|string|Text}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= NVGToggle =&lt;br /&gt;
Toggles night vision mode. For Flag: 1 is on, 0 is off.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|NVGToggle|byte}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Radar =&lt;br /&gt;
Draws/updates the dot on the [[HUD]] radar which is indicate the given player position.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Works for teammates only.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Radar|byte, coord, coord, coord}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{hl1msg|coord|CoordX}}&lt;br /&gt;
{{hl1msg|coord|CoordY}}&lt;br /&gt;
{{hl1msg|coord|CoordZ}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ReceiveW =&lt;br /&gt;
Tell the client which visual weather effect to be executed client side, if cl_weather client cvar is above 0.&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|Main part of CBasePlayer::SendWeatherInfo() function that is sent in CBasePlayer :: UpdateClientData() when player offset m_fInitHUD is 1&amp;lt;br&amp;gt;&lt;br /&gt;
(right after putinserver or after fullupdate command)&amp;lt;br&amp;gt;&lt;br /&gt;
Mode : 1 is for rain effect, 2 is for snow effect&amp;lt;br&amp;gt;&lt;br /&gt;
Though mode 0 is never sent by the game itself, removes weather effect&amp;lt;br&amp;gt;&lt;br /&gt;
Alternatively send mode 1 and mode 2 with judicious delays (time for effect to disappear) make both rain and snow effect}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ReceiveW|byte}}&lt;br /&gt;
{{hl1msg|byte|mode}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ReloadSound =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ReloadSound|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ReqState =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ReqState}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ResetHUD =&lt;br /&gt;
Resets the [[HUD]].&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ResetHUD}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= RoundTime =&lt;br /&gt;
Updates the round timer on the [[HUD]]. Time is in seconds.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|RoundTime|short}}&lt;br /&gt;
{{hl1msg|short|Time}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SayText =&lt;br /&gt;
Prints say [[HUD]] text. Second argument can be a predefined string or a custom one. In the last case the last two arguments isn't required.&amp;lt;br&amp;gt;&lt;br /&gt;
An examples of a predifined Counter-Strike string values: #Cstrike_Chat_AllDead, #Cstrike_Name_Change&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|For #Cstrike_Name_Change String2 is an old name and String3 is a new name.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|SayText|byte, string, string, string}}&lt;br /&gt;
{{hl1msg|byte|SenderID}}&lt;br /&gt;
{{hl1msg|string|String1}}&lt;br /&gt;
{{hl1msg|string|String2}}&lt;br /&gt;
{{hl1msg|string|String3}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Scenario =&lt;br /&gt;
If Active is 0, this display will be hidden. If Active is 1, 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.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|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.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[image:Cs_scenario_msg.jpg|frame|right|Scenario message in CS, using the following parameters: 1, d_mp5navy, 150]]&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Works in both CS and CZ!}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|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.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Scenario|byte, string, byte, short, short}}&lt;br /&gt;
{{hl1msg|byte|Active}}&lt;br /&gt;
{{hl1msg|string|Sprite}}&lt;br /&gt;
{{hl1msg|byte|Alpha}}&lt;br /&gt;
{{hl1msg|short|FlashRate}}&lt;br /&gt;
{{hl1msg|short|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ScoreAttrib =&lt;br /&gt;
Updates the scoreboard's attribute for the specified player. For the 2nd argument, 0 is nothing, (1&amp;lt;&amp;lt;0) i.e. 1 is dead, (1&amp;lt;&amp;lt;1) i.e. 2 is bomb, (1&amp;lt;&amp;lt;2) i.e. 4 is VIP.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|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.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ScoreAttrib|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{hl1msg|byte|Flags}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ScoreInfo =&lt;br /&gt;
Updates the scoreboard with the given player's Frags and Deaths.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|In CS the 4th argument is always equal to 0.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*See [http://www.amxmodx.org/funcwiki.php?go=module&amp;amp;id=4#const_teams CS Team Constants] for team indeces constants list.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ScoreInfo|byte, short, short, short, short}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{hl1msg|short|Frags}}&lt;br /&gt;
{{hl1msg|short|Deaths}}&lt;br /&gt;
{{hl1msg|short|ClassID?}}&lt;br /&gt;
{{hl1msg|short|TeamID}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ScreenFade =&lt;br /&gt;
Fades the screen.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Duration and HoldTime is in special units. 1 second is equal to (1&amp;lt;&amp;lt;12) i.e. 4096 units.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Flags (from HLSDK):&lt;br /&gt;
 FFADE_IN         0x0000 // Just here so we don't pass 0 into the function&lt;br /&gt;
 FFADE_OUT        0x0001 // Fade out (not in)&lt;br /&gt;
 FFADE_MODULATE   0x0002 // Modulate (don't blend)&lt;br /&gt;
 FFADE_STAYOUT    0x0004 // ignores the duration, stays faded out until new ScreenFade message received&lt;br /&gt;
{{begin-hl1msg|ScreenFade|short, short, short, byte, byte, byte, byte}}&lt;br /&gt;
{{hl1msg|short|Duration}}&lt;br /&gt;
{{hl1msg|short|HoldTime}}&lt;br /&gt;
{{hl1msg|short|Flags}}&lt;br /&gt;
{{hl1msg|byte|ColorR}}&lt;br /&gt;
{{hl1msg|byte|ColorG}}&lt;br /&gt;
{{hl1msg|byte|ColorB}}&lt;br /&gt;
{{hl1msg|byte|Alpha}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ScreenShake =&lt;br /&gt;
Shakes the screen.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|All arguments is in special units. 1 second is equal to (1&amp;lt;&amp;lt;12) i.e. 4096 units.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ScreenShake|short, short, short}}&lt;br /&gt;
{{hl1msg|short|Amplitude}}&lt;br /&gt;
{{hl1msg|short|Duration}}&lt;br /&gt;
{{hl1msg|short|Frequency}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SendAudio =&lt;br /&gt;
Plays the specified audio. An example of AudioCode could be &amp;quot;%!MRAD_rounddraw&amp;quot;.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|SendAudio|byte, string, short}}&lt;br /&gt;
{{hl1msg|byte|SenderID}}&lt;br /&gt;
{{hl1msg|string|AudioCode}}&lt;br /&gt;
{{hl1msg|short|Pitch}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ServerName =&lt;br /&gt;
Sends a server name to a client.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ServerName|string}}&lt;br /&gt;
{{hl1msg|string|ServerName}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SetFOV =&lt;br /&gt;
Sets the specified field of view.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|SetFOV|byte}}&lt;br /&gt;
{{hl1msg|byte|Degrees}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ShadowIdx =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ShadowIdx|long}}&lt;br /&gt;
{{hl1msg|long|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ShowMenu =&lt;br /&gt;
Displays a &amp;quot;menu&amp;quot; to a player (text on the left side of the screen). Acts like AMXX's show_menu (in fact, this is how AMXX shows a menu).&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|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.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ShowMenu|short, char, byte, string}}&lt;br /&gt;
{{hl1msg|short|KeysBitSum}}&lt;br /&gt;
{{hl1msg|char|Time}}&lt;br /&gt;
{{hl1msg|byte|Multipart}}&lt;br /&gt;
{{hl1msg|string|Text}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ShowTimer =&lt;br /&gt;
Forces the round timer displaying.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ShowTimer}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SpecHealth =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|SpecHealth|byte}}&lt;br /&gt;
{{hl1msg|byte|Health?}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SpecHealth2 =&lt;br /&gt;
Updates the observer's screen with a name and health of the given player.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|SpecHealth2|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|Health}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Spectator =&lt;br /&gt;
Called when player becomes an observer/spectator.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|On join to Spectators usually is fired twice in a row.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Spectator|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|ClientID}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= StatusIcon =&lt;br /&gt;
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 is required only if Status aren't equal to 0.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|StatusIcon|byte, string, byte, byte, byte}}&lt;br /&gt;
{{hl1msg|byte|Status}}&lt;br /&gt;
{{hl1msg|string|SpriteName}}&lt;br /&gt;
{{hl1msg|byte|ColorR}}&lt;br /&gt;
{{hl1msg|byte|ColorG}}&lt;br /&gt;
{{hl1msg|byte|ColorB}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= StatusValue =&lt;br /&gt;
Sends/updates the status values. For the Flag 1 the Value is TeamRelation, for 2 is PlayerID, for 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.&amp;lt;br&amp;gt;&lt;br /&gt;
Usually is fired as a triple message, for example:&lt;br /&gt;
 {1,  2}  -  non-teammate player&lt;br /&gt;
 {2, 17}  -  player index is 17&lt;br /&gt;
 {3, 59}  -  player health is 59&lt;br /&gt;
{{begin-hl1msg|StatusValue|byte, short}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{hl1msg|short|Value}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= StatusText =&lt;br /&gt;
Specifies the status text format.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|StatusText|byte, string}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{hl1msg|string|Text}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TaskTime =&lt;br /&gt;
Displays a secondary timer above the round timer. Used for Condition Zero singleplayer missions.&amp;lt;br&amp;gt;&lt;br /&gt;
If Time is -1, timer dissappears. If Time is any other negative value, it is displayed as green instead of yellow, and considered positive.&amp;lt;br&amp;gt;&lt;br /&gt;
If Active is true, timer counts down. Otherwise, it is paused.&amp;lt;br&amp;gt;If Fade is above zero, the timer will slowly fade out after that many seconds have passed (even if the timer is inactive).&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This event can only be used on missions that have an objective requiring a secondary timer!}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|TaskTime|short, byte, byte}}&lt;br /&gt;
{{hl1msg|short|Time}}&lt;br /&gt;
{{hl1msg|byte|Active}}&lt;br /&gt;
{{hl1msg|byte|Fade}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TeamInfo =&lt;br /&gt;
Sets the team information for the given player.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|In CS TeamName is either &amp;quot;UNASSIGNED&amp;quot;, &amp;quot;TERRORIST&amp;quot;, &amp;quot;CT&amp;quot; or &amp;quot;SPECTATOR&amp;quot;.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|TeamInfo|byte, string}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{hl1msg|string|TeamName}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TeamScore =&lt;br /&gt;
Updates the team score on the score board.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|In CS TeamName is either &amp;quot;TERRORIST&amp;quot; or &amp;quot;CT&amp;quot;.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|TeamScore|string, short}}&lt;br /&gt;
{{hl1msg|string|TeamName}}&lt;br /&gt;
{{hl1msg|short|Score}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TextMsg =&lt;br /&gt;
Prints a cutom/or predefined text message.&amp;lt;br&amp;gt;&lt;br /&gt;
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:&lt;br /&gt;
 Arg1: 1&lt;br /&gt;
 Arg2: #Game_join_ct&lt;br /&gt;
 Arg3: Pimp Daddy&lt;br /&gt;
{{begin-hl1msg|TextMsg|byte, string, string, string, string, string}}&lt;br /&gt;
{{hl1msg|byte|DestinationType}}&lt;br /&gt;
{{hl1msg|string|Message}}&lt;br /&gt;
{{hl1msg|string|Submsg}}&lt;br /&gt;
{{hl1msg|string|Submsg}}&lt;br /&gt;
{{hl1msg|string|Submsg}}&lt;br /&gt;
{{hl1msg|string|Submsg}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Train =&lt;br /&gt;
Displays the speed bar used for controlling a train.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Speed is as follows: 0 (disable display), 1 (reverse), 2 (neutral), 3 (slow speed), 4 (medium speed), 5 (maximum speed)}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Train|byte}}&lt;br /&gt;
{{hl1msg|byte|Speed}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TutorClose =&lt;br /&gt;
Closes all CZ-style tutor popups.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|TutorClose}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TutorLine =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|TutorLine}}&lt;br /&gt;
{{hl1msg|short|Unknown1}}&lt;br /&gt;
{{hl1msg|short|Unknown2}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TutorState =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|TutorState }}&lt;br /&gt;
{{hl1msg|string|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TutorText =&lt;br /&gt;
Used to display a CZ-style tutor popup.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|If NumberOfSubMsgs is higher than 0, there should be such amount of write_string after this byte.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Special thanks goes to '''Lt.Rat''' for his ninja skills.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 #define Default		1	// 1&amp;lt;&amp;lt;0 | GREEN  | INFO&lt;br /&gt;
 #define FriendDeath	2	// 1&amp;lt;&amp;lt;1 | RED    | SKULL&lt;br /&gt;
 #define EnemyDeath	4	// 1&amp;lt;&amp;lt;2 | BLUE   | SKULL&lt;br /&gt;
 #define Scenario	8	// 1&amp;lt;&amp;lt;3 | YELLOW | INFO&lt;br /&gt;
 #define Buy		16	// 1&amp;lt;&amp;lt;4 | GREEN  | INFO&lt;br /&gt;
 #define Career		32	// 1&amp;lt;&amp;lt;5 | GREEN  | INFO&lt;br /&gt;
 #define Hint		64	// 1&amp;lt;&amp;lt;6 | GREEN  | INFO&lt;br /&gt;
 #define InGameHint	128	// 1&amp;lt;&amp;lt;7 | GREEN  | INFO&lt;br /&gt;
 #define EndGame		256	// 1&amp;lt;&amp;lt;8 | YELLOW | INFO&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|TutorText|string, byte, short, short, short}}&lt;br /&gt;
{{hl1msg|string|String}}&lt;br /&gt;
{{hl1msg|byte|NumberOfSubMsgs}}&lt;br /&gt;
{{hl1msg|short|Unknown}}&lt;br /&gt;
{{hl1msg|short|Unknown (0 or 1)}}&lt;br /&gt;
{{hl1msg|short|Type}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ViewMode =&lt;br /&gt;
{{qnotice|No Information available for this message (HLSDK says this switches to first-person view, but it doesn't seem to function as so).}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ViewMode}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= VGUIMenu =&lt;br /&gt;
Displays a predefined VGUI menu.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|VGUIMenu|byte, short, char, byte, string}}&lt;br /&gt;
{{hl1msg|byte|MenuID}}&lt;br /&gt;
{{hl1msg|short|KeysBitSum}}&lt;br /&gt;
{{hl1msg|char|Time?}}&lt;br /&gt;
{{hl1msg|byte|Multipart?}}&lt;br /&gt;
{{hl1msg|string|Name?}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= VoiceMask =&lt;br /&gt;
Used to tell a client who he can hear over the microphone.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|VoiceMask|long, long}}&lt;br /&gt;
{{hl1msg|long|AudiblePlayersIndexBitSum}}&lt;br /&gt;
{{hl1msg|long|ServerBannedPlayersIndexBitSum}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= WeaponList =&lt;br /&gt;
Configures the [[HUD]] weapons list.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Fired on map initialization.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|SlotID starts from 0.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Flags (from HLSDK):&lt;br /&gt;
 ITEM_FLAG_SELECTONEMPTY       1&lt;br /&gt;
 ITEM_FLAG_NOAUTORELOAD        2&lt;br /&gt;
 ITEM_FLAG_NOAUTOSWITCHEMPTY   4&lt;br /&gt;
 ITEM_FLAG_LIMITINWORLD        8&lt;br /&gt;
 ITEM_FLAG_EXHAUSTIBLE        16 // A player can totally exhaust their ammo supply and lose this weapon.&lt;br /&gt;
{{qnotice|See [[CS Weapons Information]] for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|WeaponList|string, byte, byte, byte, byte, byte, byte, byte, byte}}&lt;br /&gt;
{{hl1msg|string|WeaponName}}&lt;br /&gt;
{{hl1msg|byte|PrimaryAmmoID}}&lt;br /&gt;
{{hl1msg|byte|PrimaryAmmoMaxAmount}}&lt;br /&gt;
{{hl1msg|byte|SecondaryAmmoID}}&lt;br /&gt;
{{hl1msg|byte|SecondaryAmmoMaxAmount}}&lt;br /&gt;
{{hl1msg|byte|SlotID}}&lt;br /&gt;
{{hl1msg|byte|NumberInSlot}}&lt;br /&gt;
{{hl1msg|byte|WeaponID}}&lt;br /&gt;
{{hl1msg|byte|Flags}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= WeapPickup =&lt;br /&gt;
Temporarily draws correspoding weapon [[HUD]] icon in the middle of the right side of the screen.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Draw time is depend on the ''hud_drawhistory_time'' client CVar value.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Is fired right before weapon is picked up (notice ''&amp;quot;before&amp;quot;'').}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|See [[CS Weapons Information]] for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|WeapPickup|byte}}&lt;br /&gt;
{{hl1msg|byte|WeaponID}}&lt;br /&gt;
{{end-hl1msg}}&lt;/div&gt;</summary>
		<author><name>ConnorMcLeod</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.alliedmods.net/index.php?title=Half-Life_1_Game_Events&amp;diff=7961</id>
		<title>Half-Life 1 Game Events</title>
		<link rel="alternate" type="text/html" href="https://wiki.alliedmods.net/index.php?title=Half-Life_1_Game_Events&amp;diff=7961"/>
		<updated>2011-02-09T21:09:35Z</updated>

		<summary type="html">&lt;p&gt;ConnorMcLeod: /* TutorText */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Half-Life 1]]&lt;br /&gt;
[[Category:Scripting (AMX Mod X)]]&lt;br /&gt;
&lt;br /&gt;
= Introduction =&lt;br /&gt;
&lt;br /&gt;
In [[AMX Mod X]] you are able to hook in-game messages/events with [http://www.amxmodx.org/funcwiki.php?search=register_message&amp;amp;go=search register_message] / [http://www.amxmodx.org/funcwiki.php?go=func&amp;amp;id=26 register_event]. Here are the list of messages/events and their arguments which can be read with [http://www.amxmodx.org/funcwiki.php?search=get_msg_arg_&amp;amp;go=search get_msg_arg_*] / [http://www.amxmodx.org/funcwiki.php?go=func&amp;amp;id=132 read_data].&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
*See the [[Advanced Scripting (AMX Mod X)#Events.2FMessages|Advanced Scripting]] article for more on events and messages.&amp;lt;br&amp;gt;&lt;br /&gt;
*See messages.inc and message_const.inc from amxmodx/scriptong/include folder or [http://www.amxmodx.org/funcwiki.php?go=inc&amp;amp;id=47 Messaging functions] and [http://www.amxmodx.org/funcwiki.php?go=inc&amp;amp;id=48 Message constants] for full messages control including blocking, argument alteration and much more.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= ADStop =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ADStop}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= AllowSpec =&lt;br /&gt;
Changes whether or not &amp;quot;SPECTATE&amp;quot; appears on the change team menu. Called whenever the allow_spectators CVar is changed, with its new value sent as the byte.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This changes how the change team menu appears, but spectating functionality is based off of the actual CVar value.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|AllowSpec|byte}}&lt;br /&gt;
{{hl1msg|byte|Allowed}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= AmmoPickup =&lt;br /&gt;
Temporarily draws [[HUD]] ammo amount and correspoding ammo [[HUD]] icon in the middle of the right side of the screen.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Draw time is depend on the ''hud_drawhistory_time'' client CVar value.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|See [[CS Weapons Information]] for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|AmmoPickup|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|AmmoID}}&lt;br /&gt;
{{hl1msg|byte|Ammount}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= AmmoX =&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|See [[CS Weapons Information]] for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|AmmoX|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|AmmoID}}&lt;br /&gt;
{{hl1msg|byte|Ammount}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ArmorType =&lt;br /&gt;
Draws/removes helmet [[HUD]] icon. If flag is set to 1 the helmet [[HUD]] icon will be drawn (located right on the armor icon).&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ArmorType|byte}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BarTime =&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Set Duration to 0 to hide the bar.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|BarTime|short}}&lt;br /&gt;
{{hl1msg|short|Duration}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BarTime2 =&lt;br /&gt;
The same as BarTime but StartPercents is specify how many per cents of the bar are (already) filled.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Display time can be calculated with this formula: ''(1 - (StartPercents / 100)) / Duration''}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|BarTime2|short, short}}&lt;br /&gt;
{{hl1msg|short|Duration}}&lt;br /&gt;
{{hl1msg|short|StartPercents}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Battery =&lt;br /&gt;
Updates the icon and the number of armor on the [[HUD]].&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Battery|short}}&lt;br /&gt;
{{hl1msg|short|Armor}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BlinkAcct =&lt;br /&gt;
Makes a player's money display flash rapidly, until it flashes a total of BlinkAmt times.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|BlinkAcct|byte}}&lt;br /&gt;
{{hl1msg|byte|BlinkAmt}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BombDrop =&lt;br /&gt;
The first three arguments are the origin of the dropped bomb. The last argument is set to 1 if the bomb has been planted. It is 0 if the bomb was dropped due to voluntary dropping or death/disconnect. Setting the last argument 1, will also 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.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|BombDrop|coord, coord, coord, byte}}&lt;br /&gt;
{{hl1msg|coord|CoordX}}&lt;br /&gt;
{{hl1msg|coord|CoordY}}&lt;br /&gt;
{{hl1msg|coord|CoordZ}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BombPickup =&lt;br /&gt;
This message just tells the game that the bomb has been picked up. It will cause the dropped/planted bomb to disappear from the Terrorist team's radar.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|BombPickup}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BotProgress =&lt;br /&gt;
Used by CZ's bots when learning a new map. 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.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|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.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|BotProgress|byte, byte, string}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{hl1msg|byte|Progress}}&lt;br /&gt;
{{hl1msg|string|Header}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BotVoice =&lt;br /&gt;
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 by regular players, although you &amp;lt;i&amp;gt;can&amp;lt;/i&amp;gt; specify a regular player (non-bot) for the PlayerIndex. Status is 1 for talking, or 0 for not talking.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|BotVoice|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|Status}}&lt;br /&gt;
{{hl1msg|byte|PlayerIndex}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Brass =&lt;br /&gt;
Creates a brass shell. Used, for example, by the AWP, after firing.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Brass|byte, coord, coord, coord, coord, coord, coord, coord, coord, coord, angle, short, byte, byte, byte}}&lt;br /&gt;
{{hl1msg|byte|MessageID}}&lt;br /&gt;
{{hl1msg|coord|StartX}}&lt;br /&gt;
{{hl1msg|coord|StartY}}&lt;br /&gt;
{{hl1msg|coord|StartZ}}&lt;br /&gt;
{{hl1msg|coord|VelocityX?}}&lt;br /&gt;
{{hl1msg|coord|VelocityY?}}&lt;br /&gt;
{{hl1msg|coord|VelocityZ?}}&lt;br /&gt;
{{hl1msg|coord|UnknownX}}&lt;br /&gt;
{{hl1msg|coord|UnknownY}}&lt;br /&gt;
{{hl1msg|coord|UnknownZ}}&lt;br /&gt;
{{hl1msg|angle|Rotation}}&lt;br /&gt;
{{hl1msg|short|ModelIndex}}&lt;br /&gt;
{{hl1msg|byte|BounceSoundType}}&lt;br /&gt;
{{hl1msg|byte|Life}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BuyClose =&lt;br /&gt;
Forces the buy menu to close. This is not called when the player closes the buy menu by himself; it's only called when the game forces him to do so (ie: he walks outside of the buy zone, gets killed, etcetera).&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|BuyClose}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ClCorpse =&lt;br /&gt;
Spawns a player's corpse. ModelName is the player's model name, for example: &amp;quot;leet&amp;quot;. Delay is a delay before animation plaback, can be negative value.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Coord and Delay is multiplied by 128.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|In CS argument #10 is always equal to 0.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*See [http://www.amxmodx.org/funcwiki.php?go=module&amp;amp;id=4#const_teams CS Team Constants] for team indeces constants list.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ClCorpse|string, long, long, long, coord, coord, coord, long, byte, byte, byte, byte}}&lt;br /&gt;
{{hl1msg|string|ModelName}}&lt;br /&gt;
{{hl1msg|long|CoordX}}&lt;br /&gt;
{{hl1msg|long|CoordY}}&lt;br /&gt;
{{hl1msg|long|CoordZ}}&lt;br /&gt;
{{hl1msg|coord|Angle0}}&lt;br /&gt;
{{hl1msg|coord|Angle1}}&lt;br /&gt;
{{hl1msg|coord|Angle2}}&lt;br /&gt;
{{hl1msg|long|Delay}}&lt;br /&gt;
{{hl1msg|byte|Sequence}}&lt;br /&gt;
{{hl1msg|byte|ClassID?}}&lt;br /&gt;
{{hl1msg|byte|TeamID}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Crosshair =&lt;br /&gt;
Draws/removes a crosshair. If Flag is set to 1 the crosshair will be drawn.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This crossair looks not like the regular one but like the one that is drawn in the spectator mode.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Crosshair|byte}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= CurWeapon =&lt;br /&gt;
Updates the clip ammo number and weapon's corresponding ammo type icon on the [[HUD]].&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|See [[CS Weapons Information]] for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|CurWeapon|byte, byte, byte}}&lt;br /&gt;
{{hl1msg|byte|IsActive}}&lt;br /&gt;
{{hl1msg|byte|WeaponID}}&lt;br /&gt;
{{hl1msg|byte|ClipAmmo}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= CZCareer =&lt;br /&gt;
Supplies certain updates to the player regarding Condition Zero singleplayer missions.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|See the [[CZCareer]] page for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|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).}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|The Type argument is case-sensitive.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This event does nothing in CS and CZ multiplayer.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|CZCareer|string,*}}&lt;br /&gt;
{{hl1msg|string|Type}}&lt;br /&gt;
{{hl1msg|*|Parameters}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= CZCareerHUD =&lt;br /&gt;
Displays certain [[HUD]] elements regarding Condition Zero singleplayer missions.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|See the [[CZCareerHUD]] page for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|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).}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|The Type argument is case-sensitive.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This event has some limited functionality in CS and CZ multiplayer (albeit better in CZ).}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|CZCareerHUD|string,*}}&lt;br /&gt;
{{hl1msg|string|Type}}&lt;br /&gt;
{{hl1msg|*|Parameters}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Damage =&lt;br /&gt;
Called when a player takes damage, to display the red locational indicators. The last three arguments is the origin of the damage inflictor or victim origin if inflictor isn't found. DamageType is a bitwise value usually consist of a single bit.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|To caputure this message,you should use &amp;quot;b&amp;quot; as the third parameter in the register_event() function.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Damage|byte, byte, long, coord, coord, coord}}&lt;br /&gt;
{{hl1msg|byte|DamageSave}}&lt;br /&gt;
{{hl1msg|byte|DamageTake}}&lt;br /&gt;
{{hl1msg|long|DamageType}}&lt;br /&gt;
{{hl1msg|coord|CoordX}}&lt;br /&gt;
{{hl1msg|coord|CoordY}}&lt;br /&gt;
{{hl1msg|coord|CoordZ}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= DeathMsg =&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
Also prints the console text message &amp;quot;KillerName killed VictimName with TruncatedWeaponName&amp;quot; or &amp;quot;*** KillerName killed VictimName with a headshot from TruncatedWeaponName ***&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|TruncatedWeaponName doesn't contain a &amp;quot;weapon_&amp;quot; prefix. See [[CS Weapons Information]] for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|For grenade kill TruncatedWeaponName isn't &amp;quot;hegrenade&amp;quot; but &amp;quot;grenade&amp;quot;, in fact it's an actual classname of a throwed grenade.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|For KillerID it's not necessarily should be a PlayerID, it could be 0 if player dies from fall/acid/radiation/fire/etc damage/lack of oxygen or from touch to a &amp;quot;trigger_hurt&amp;quot; entity, in this case TruncatedWeaponName will be &amp;quot;worldspawn&amp;quot; and &amp;quot;trigger_hurt&amp;quot; respectively.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|For vehicle kills TruncatedWeaponName could be &amp;quot;vehicle&amp;quot;, &amp;quot;tank&amp;quot; et cetera.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|DeathMsg|byte, byte, byte, string}}&lt;br /&gt;
{{hl1msg|byte|KillerID}}&lt;br /&gt;
{{hl1msg|byte|VictimID}}&lt;br /&gt;
{{hl1msg|byte|IsHeadshot}}&lt;br /&gt;
{{hl1msg|string|TruncatedWeaponName}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= FlashBat =&lt;br /&gt;
Updates the flashlight battery charge on the [[HUD]].&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|FlashBat|byte}}&lt;br /&gt;
{{hl1msg|byte|ChargePercents}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Flashlight =&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Flashlight|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{hl1msg|byte|ChargePercents}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Fog =&lt;br /&gt;
{{qnotice|mp_Fog 1 for fog in counter-strike}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|Fog|byte, byte, byte}}&lt;br /&gt;
{{hl1msg|byte|FogValue}}&lt;br /&gt;
{{hl1msg|byte|FogValue}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ForceCam =&lt;br /&gt;
Called whenever mp_forcecam or mp_forcechasecam are changed, with their new values passed. There is assumedly a third CVar that this tracks, but it is yet unknown. Note that this message doesn't actually change any of the spectating rules for the client.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Even if mp_forcechasecam is set to 2, it is sent by this message as 1.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ForceCam|byte, byte, byte}}&lt;br /&gt;
{{hl1msg|byte|ForcecamValue}}&lt;br /&gt;
{{hl1msg|byte|ForcechasecamValue}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= GameMode =&lt;br /&gt;
&lt;br /&gt;
Informs player of current game mode&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|GameMode|byte}}&lt;br /&gt;
{{hl1msg|byte|Game mode}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= GameTitle =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|GameTitle|byte}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Geiger =&lt;br /&gt;
Notifies about radiation level through special sound signals. Distance is a distance to hazard area.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Geiger|byte}}&lt;br /&gt;
{{hl1msg|byte|Distance}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Health =&lt;br /&gt;
Updates the number of health on the [[HUD]].&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Health|byte}}&lt;br /&gt;
{{hl1msg|byte|Health}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= HideWeapon =&lt;br /&gt;
Hides the specified [[HUD]] elements.&amp;lt;br&amp;gt;&lt;br /&gt;
Flags:&lt;br /&gt;
   1   (1&amp;lt;&amp;lt;0)  -  crosshair, ammo, weapons list&lt;br /&gt;
   2   (1&amp;lt;&amp;lt;1)  -  flashlight, +&lt;br /&gt;
   4   (1&amp;lt;&amp;lt;2)  -  ALL&lt;br /&gt;
   8   (1&amp;lt;&amp;lt;3)  -  radar, health, armor, +&lt;br /&gt;
  16   (1&amp;lt;&amp;lt;4)  -  timer, +&lt;br /&gt;
  32   (1&amp;lt;&amp;lt;5)  -  money, +&lt;br /&gt;
  64   (1&amp;lt;&amp;lt;6)  -  crosshair&lt;br /&gt;
 128   (1&amp;lt;&amp;lt;7)  -  +&lt;br /&gt;
Symbol + mean that an additional crosshair will be drawn. That crosshair looks exactly like the one from Crosshair message.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|HideWeapon|byte}}&lt;br /&gt;
{{hl1msg|byte|Flags}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= HLTV =&lt;br /&gt;
Message sent for HLTV and unique for each round-start.&amp;lt;br&amp;gt;&lt;br /&gt;
On new round is fired 2 messages:&lt;br /&gt;
 // reset all players health for HLTV&lt;br /&gt;
 MESSAGE_BEGIN( MSG_SPEC, gmsgHLTV );&lt;br /&gt;
 WRITE_BYTE( 0 );   // 0 = all players&lt;br /&gt;
 WRITE_BYTE( 100 | 128 );&lt;br /&gt;
 MESSAGE_END();&amp;lt;br&amp;gt;&lt;br /&gt;
 // reset all players FOV for HLTV&lt;br /&gt;
 MESSAGE_BEGIN( MSG_SPEC, gmsgHLTV );&lt;br /&gt;
 WRITE_BYTE( 0 );   // all players&lt;br /&gt;
 WRITE_BYTE( 0 );&lt;br /&gt;
 MESSAGE_END();&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|HLTV|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|ClientID}}&lt;br /&gt;
{{hl1msg|byte|Flags}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= HostageK =&lt;br /&gt;
Temporarily draws a blinking red dot on the CT players' radar when a hostage is killed.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|HostageK|byte}}&lt;br /&gt;
{{hl1msg|byte|HostageID}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= HostagePos =&lt;br /&gt;
Draws/updates the blue mark on the CT players' radar which is indicate the corresponding hostage position.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Is called with Flag set to 1 on player [[HUD]] full update.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|HostagePos|byte, byte, coord, coord, coord}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{hl1msg|byte|HostageID}}&lt;br /&gt;
{{hl1msg|coord|CoordX}}&lt;br /&gt;
{{hl1msg|coord|CoordY}}&lt;br /&gt;
{{hl1msg|coord|CoordZ}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= HudText =&lt;br /&gt;
Prints [[HUD]] text.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Prints message with specified style in titles.txt with small signs (like in HL)}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|HudText|string, byte, byte}}&lt;br /&gt;
{{hl1msg|string|TextCode}}&lt;br /&gt;
{{hl1msg|byte|InitHUDstyle}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= HudTextArgs =&lt;br /&gt;
Prints [[HUD]] text.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|An example of TextCode could be &amp;quot;#Hint_you_have_the_bomb&amp;quot;.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Prints message with specified style in titles.txt with Big signs (CS Default)}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|If you have a problems with specifing the last two arguments use 1 and 0 respectively.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|HudTextArgs|string, byte, byte}}&lt;br /&gt;
{{hl1msg|string|TextCode}}&lt;br /&gt;
{{hl1msg|byte|InitHUDstyle}}&lt;br /&gt;
{{hl1msg|byte|NumberOfSubMessages}}&lt;br /&gt;
{{hl1msg|string|SubMsg}}&lt;br /&gt;
{{hl1msg|string|SubMsg}}&lt;br /&gt;
{{hl1msg|string|...}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= HudTextPro =&lt;br /&gt;
Prints [[HUD]] text.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Prints message with specified style in titles.txt with Big signs (CS Default)}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|HudText|string, byte, byte}}&lt;br /&gt;
{{hl1msg|string|TextCode}}&lt;br /&gt;
{{hl1msg|byte|InitHUDstyle}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= InitHUD =&lt;br /&gt;
Initializes the [[HUD]].&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|InitHUD}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ItemPickup =&lt;br /&gt;
Temporarily draws correspoding item [[HUD]] icon in the middle of the right side of the screen.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Draw time is depend on the ''hud_drawhistory_time'' client CVar value.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ItemPickup|string}}&lt;br /&gt;
{{hl1msg|string|ItemName}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ItemStatus =&lt;br /&gt;
Notifies about carried items.&amp;lt;br&amp;gt;&lt;br /&gt;
Example of some item bits:&lt;br /&gt;
 1   (1&amp;lt;&amp;lt;0)  -  nightvision goggles&lt;br /&gt;
 2   (1&amp;lt;&amp;lt;1)  -  defusal kit&lt;br /&gt;
{{begin-hl1msg|ItemStatus|byte}}&lt;br /&gt;
{{hl1msg|byte|ItemsBitSum}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Location =&lt;br /&gt;
This message is sent when player gets in different zone on map.&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|Location|byte, string}}&lt;br /&gt;
{{hl1msg|byte|PlayerId}}&lt;br /&gt;
{{hl1msg|string|LocationName}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Money =&lt;br /&gt;
Updates the Amount of money on the [[HUD]]. If the Flag is 1, the additional new-old [[HUD]] money amount difference will be also displayed.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Money|long, byte}}&lt;br /&gt;
{{hl1msg|long|Amount}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= MOTD =&lt;br /&gt;
Displays MOTD window.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Max. Text length is 60. Large MOTD is sent in multiple messages. For the message that is send a last MOTD part the Flag will be set to 1 and 0 otherwise.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|MOTD|byte, string}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{hl1msg|string|Text}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= NVGToggle =&lt;br /&gt;
Toggles night vision mode. For Flag: 1 is on, 0 is off.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|NVGToggle|byte}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Radar =&lt;br /&gt;
Draws/updates the dot on the [[HUD]] radar which is indicate the given player position.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Works for teammates only.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Radar|byte, coord, coord, coord}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{hl1msg|coord|CoordX}}&lt;br /&gt;
{{hl1msg|coord|CoordY}}&lt;br /&gt;
{{hl1msg|coord|CoordZ}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ReceiveW =&lt;br /&gt;
Tell the client which visual weather effect to be executed client side, if cl_weather client cvar is above 0.&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|Main part of CBasePlayer::SendWeatherInfo() function that is sent in CBasePlayer :: UpdateClientData() when player offset m_fInitHUD is 1&amp;lt;br&amp;gt;&lt;br /&gt;
(right after putinserver or after fullupdate command)&amp;lt;br&amp;gt;&lt;br /&gt;
Mode : 1 is for rain effect, 2 is for snow effect&amp;lt;br&amp;gt;&lt;br /&gt;
Though mode 0 is never sent by the game itself, removes weather effect&amp;lt;br&amp;gt;&lt;br /&gt;
Alternatively send mode 1 and mode 2 with judicious delays (time for effect to disappear) make both rain and snow effect}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ReceiveW|byte}}&lt;br /&gt;
{{hl1msg|byte|mode}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ReloadSound =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ReloadSound|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ReqState =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ReqState}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ResetHUD =&lt;br /&gt;
Resets the [[HUD]].&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ResetHUD}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= RoundTime =&lt;br /&gt;
Updates the round timer on the [[HUD]]. Time is in seconds.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|RoundTime|short}}&lt;br /&gt;
{{hl1msg|short|Time}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SayText =&lt;br /&gt;
Prints say [[HUD]] text. Second argument can be a predefined string or a custom one. In the last case the last two arguments isn't required.&amp;lt;br&amp;gt;&lt;br /&gt;
An examples of a predifined Counter-Strike string values: #Cstrike_Chat_AllDead, #Cstrike_Name_Change&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|For #Cstrike_Name_Change String2 is an old name and String3 is a new name.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|SayText|byte, string, string, string}}&lt;br /&gt;
{{hl1msg|byte|SenderID}}&lt;br /&gt;
{{hl1msg|string|String1}}&lt;br /&gt;
{{hl1msg|string|String2}}&lt;br /&gt;
{{hl1msg|string|String3}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Scenario =&lt;br /&gt;
If Active is 0, this display will be hidden. If Active is 1, 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.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|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.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[image:Cs_scenario_msg.jpg|frame|right|Scenario message in CS, using the following parameters: 1, d_mp5navy, 150]]&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Works in both CS and CZ!}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|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.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Scenario|byte, string, byte, short, short}}&lt;br /&gt;
{{hl1msg|byte|Active}}&lt;br /&gt;
{{hl1msg|string|Sprite}}&lt;br /&gt;
{{hl1msg|byte|Alpha}}&lt;br /&gt;
{{hl1msg|short|FlashRate}}&lt;br /&gt;
{{hl1msg|short|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ScoreAttrib =&lt;br /&gt;
Updates the scoreboard's attribute for the specified player. For the 2nd argument, 0 is nothing, (1&amp;lt;&amp;lt;0) i.e. 1 is dead, (1&amp;lt;&amp;lt;1) i.e. 2 is bomb, (1&amp;lt;&amp;lt;2) i.e. 4 is VIP.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|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.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ScoreAttrib|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{hl1msg|byte|Flags}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ScoreInfo =&lt;br /&gt;
Updates the scoreboard with the given player's Frags and Deaths.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|In CS the 4th argument is always equal to 0.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*See [http://www.amxmodx.org/funcwiki.php?go=module&amp;amp;id=4#const_teams CS Team Constants] for team indeces constants list.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ScoreInfo|byte, short, short, short, short}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{hl1msg|short|Frags}}&lt;br /&gt;
{{hl1msg|short|Deaths}}&lt;br /&gt;
{{hl1msg|short|ClassID?}}&lt;br /&gt;
{{hl1msg|short|TeamID}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ScreenFade =&lt;br /&gt;
Fades the screen.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Duration and HoldTime is in special units. 1 second is equal to (1&amp;lt;&amp;lt;12) i.e. 4096 units.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Flags (from HLSDK):&lt;br /&gt;
 FFADE_IN         0x0000 // Just here so we don't pass 0 into the function&lt;br /&gt;
 FFADE_OUT        0x0001 // Fade out (not in)&lt;br /&gt;
 FFADE_MODULATE   0x0002 // Modulate (don't blend)&lt;br /&gt;
 FFADE_STAYOUT    0x0004 // ignores the duration, stays faded out until new ScreenFade message received&lt;br /&gt;
{{begin-hl1msg|ScreenFade|short, short, short, byte, byte, byte, byte}}&lt;br /&gt;
{{hl1msg|short|Duration}}&lt;br /&gt;
{{hl1msg|short|HoldTime}}&lt;br /&gt;
{{hl1msg|short|Flags}}&lt;br /&gt;
{{hl1msg|byte|ColorR}}&lt;br /&gt;
{{hl1msg|byte|ColorG}}&lt;br /&gt;
{{hl1msg|byte|ColorB}}&lt;br /&gt;
{{hl1msg|byte|Alpha}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ScreenShake =&lt;br /&gt;
Shakes the screen.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|All arguments is in special units. 1 second is equal to (1&amp;lt;&amp;lt;12) i.e. 4096 units.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ScreenShake|short, short, short}}&lt;br /&gt;
{{hl1msg|short|Amplitude}}&lt;br /&gt;
{{hl1msg|short|Duration}}&lt;br /&gt;
{{hl1msg|short|Frequency}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SendAudio =&lt;br /&gt;
Plays the specified audio. An example of AudioCode could be &amp;quot;%!MRAD_rounddraw&amp;quot;.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|SendAudio|byte, string, short}}&lt;br /&gt;
{{hl1msg|byte|SenderID}}&lt;br /&gt;
{{hl1msg|string|AudioCode}}&lt;br /&gt;
{{hl1msg|short|Pitch}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ServerName =&lt;br /&gt;
Sends a server name to a client.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ServerName|string}}&lt;br /&gt;
{{hl1msg|string|ServerName}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SetFOV =&lt;br /&gt;
Sets the specified field of view.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|SetFOV|byte}}&lt;br /&gt;
{{hl1msg|byte|Degrees}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ShadowIdx =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ShadowIdx|long}}&lt;br /&gt;
{{hl1msg|long|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ShowMenu =&lt;br /&gt;
Displays a &amp;quot;menu&amp;quot; to a player (text on the left side of the screen). Acts like AMXX's show_menu (in fact, this is how AMXX shows a menu).&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|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.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ShowMenu|short, char, byte, string}}&lt;br /&gt;
{{hl1msg|short|KeysBitSum}}&lt;br /&gt;
{{hl1msg|char|Time}}&lt;br /&gt;
{{hl1msg|byte|Multipart}}&lt;br /&gt;
{{hl1msg|string|Text}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ShowTimer =&lt;br /&gt;
Forces the round timer displaying.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ShowTimer}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SpecHealth =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|SpecHealth|byte}}&lt;br /&gt;
{{hl1msg|byte|Health?}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SpecHealth2 =&lt;br /&gt;
Updates the observer's screen with a name and health of the given player.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|SpecHealth2|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|Health}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Spectator =&lt;br /&gt;
Called when player becomes an observer/spectator.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|On join to Spectators usually is fired twice in a row.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Spectator|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|ClientID}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= StatusIcon =&lt;br /&gt;
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 is required only if Status aren't equal to 0.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|StatusIcon|byte, string, byte, byte, byte}}&lt;br /&gt;
{{hl1msg|byte|Status}}&lt;br /&gt;
{{hl1msg|string|SpriteName}}&lt;br /&gt;
{{hl1msg|byte|ColorR}}&lt;br /&gt;
{{hl1msg|byte|ColorG}}&lt;br /&gt;
{{hl1msg|byte|ColorB}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= StatusValue =&lt;br /&gt;
Sends/updates the status values. For the Flag 1 the Value is TeamRelation, for 2 is PlayerID, for 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.&amp;lt;br&amp;gt;&lt;br /&gt;
Usually is fired as a triple message, for example:&lt;br /&gt;
 {1,  2}  -  non-teammate player&lt;br /&gt;
 {2, 17}  -  player index is 17&lt;br /&gt;
 {3, 59}  -  player health is 59&lt;br /&gt;
{{begin-hl1msg|StatusValue|byte, short}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{hl1msg|short|Value}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= StatusText =&lt;br /&gt;
Specifies the status text format.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|StatusText|byte, string}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{hl1msg|string|Text}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TaskTime =&lt;br /&gt;
Displays a secondary timer above the round timer. Used for Condition Zero singleplayer missions.&amp;lt;br&amp;gt;&lt;br /&gt;
If Time is -1, timer dissappears. If Time is any other negative value, it is displayed as green instead of yellow, and considered positive.&amp;lt;br&amp;gt;&lt;br /&gt;
If Active is true, timer counts down. Otherwise, it is paused.&amp;lt;br&amp;gt;If Fade is above zero, the timer will slowly fade out after that many seconds have passed (even if the timer is inactive).&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This event can only be used on missions that have an objective requiring a secondary timer!}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|TaskTime|short, byte, byte}}&lt;br /&gt;
{{hl1msg|short|Time}}&lt;br /&gt;
{{hl1msg|byte|Active}}&lt;br /&gt;
{{hl1msg|byte|Fade}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TeamInfo =&lt;br /&gt;
Sets the team information for the given player.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|In CS TeamName is either &amp;quot;UNASSIGNED&amp;quot;, &amp;quot;TERRORIST&amp;quot;, &amp;quot;CT&amp;quot; or &amp;quot;SPECTATOR&amp;quot;.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|TeamInfo|byte, string}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{hl1msg|string|TeamName}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TeamScore =&lt;br /&gt;
Updates the team score on the score board.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|In CS TeamName is either &amp;quot;TERRORIST&amp;quot; or &amp;quot;CT&amp;quot;.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|TeamScore|string, short}}&lt;br /&gt;
{{hl1msg|string|TeamName}}&lt;br /&gt;
{{hl1msg|short|Score}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TextMsg =&lt;br /&gt;
Prints a cutom/or predefined text message.&amp;lt;br&amp;gt;&lt;br /&gt;
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:&lt;br /&gt;
 Arg1: 1&lt;br /&gt;
 Arg2: #Game_join_ct&lt;br /&gt;
 Arg3: Pimp Daddy&lt;br /&gt;
{{begin-hl1msg|TextMsg|byte, string, string, string, string, string}}&lt;br /&gt;
{{hl1msg|byte|DestinationType}}&lt;br /&gt;
{{hl1msg|string|Message}}&lt;br /&gt;
{{hl1msg|string|Submsg}}&lt;br /&gt;
{{hl1msg|string|Submsg}}&lt;br /&gt;
{{hl1msg|string|Submsg}}&lt;br /&gt;
{{hl1msg|string|Submsg}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Train =&lt;br /&gt;
Displays the speed bar used for controlling a train.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Speed is as follows: 0 (disable display), 1 (reverse), 2 (neutral), 3 (slow speed), 4 (medium speed), 5 (maximum speed)}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Train|byte}}&lt;br /&gt;
{{hl1msg|byte|Speed}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TutorClose =&lt;br /&gt;
Closes all CZ-style tutor popups.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|TutorClose}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TutorLine =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|TutorLine}}&lt;br /&gt;
{{hl1msg|short|Unknown1}}&lt;br /&gt;
{{hl1msg|short|Unknown2}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TutorState =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|TutorState }}&lt;br /&gt;
{{hl1msg|string|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TutorText =&lt;br /&gt;
Used to display a CZ-style tutor popup.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|If NumberOfSubMsgs is higher than 0, there should be such amount of write_string after this byte.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Special thanks goes to '''Lt.Rat''' for his ninja skills.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pawn&amp;gt;#define Default		1	// 1&amp;lt;&amp;lt;0 | GREEN  | INFO&lt;br /&gt;
#define FriendDeath	2	// 1&amp;lt;&amp;lt;1 | RED    | SKULL&lt;br /&gt;
#define EnemyDeath	4	// 1&amp;lt;&amp;lt;2 | BLUE   | SKULL&lt;br /&gt;
#define Scenario	8	// 1&amp;lt;&amp;lt;3 | YELLOW | INFO&lt;br /&gt;
#define Buy		16	// 1&amp;lt;&amp;lt;4 | GREEN  | INFO&lt;br /&gt;
#define Career		32	// 1&amp;lt;&amp;lt;5 | GREEN  | INFO&lt;br /&gt;
#define Hint		64	// 1&amp;lt;&amp;lt;6 | GREEN  | INFO&lt;br /&gt;
#define InGameHint	128	// 1&amp;lt;&amp;lt;7 | GREEN  | INFO&lt;br /&gt;
#define EndGame		256	// 1&amp;lt;&amp;lt;8 | YELLOW | INFO&amp;lt;/pawn&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|TutorText|string, byte, short, short, short}}&lt;br /&gt;
{{hl1msg|string|String}}&lt;br /&gt;
{{hl1msg|byte|NumberOfSubMsgs}}&lt;br /&gt;
{{hl1msg|short|Unknown}}&lt;br /&gt;
{{hl1msg|short|Unknown (0 or 1)}}&lt;br /&gt;
{{hl1msg|short|Type}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ViewMode =&lt;br /&gt;
{{qnotice|No Information available for this message (HLSDK says this switches to first-person view, but it doesn't seem to function as so).}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ViewMode}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= VGUIMenu =&lt;br /&gt;
Displays a predefined VGUI menu.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|VGUIMenu|byte, short, char, byte, string}}&lt;br /&gt;
{{hl1msg|byte|MenuID}}&lt;br /&gt;
{{hl1msg|short|KeysBitSum}}&lt;br /&gt;
{{hl1msg|char|Time?}}&lt;br /&gt;
{{hl1msg|byte|Multipart?}}&lt;br /&gt;
{{hl1msg|string|Name?}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= VoiceMask =&lt;br /&gt;
Used to tell a client who he can hear over the microphone.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|VoiceMask|long, long}}&lt;br /&gt;
{{hl1msg|long|AudiblePlayersIndexBitSum}}&lt;br /&gt;
{{hl1msg|long|ServerBannedPlayersIndexBitSum}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= WeaponList =&lt;br /&gt;
Configures the [[HUD]] weapons list.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Fired on map initialization.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|SlotID starts from 0.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Flags (from HLSDK):&lt;br /&gt;
 ITEM_FLAG_SELECTONEMPTY       1&lt;br /&gt;
 ITEM_FLAG_NOAUTORELOAD        2&lt;br /&gt;
 ITEM_FLAG_NOAUTOSWITCHEMPTY   4&lt;br /&gt;
 ITEM_FLAG_LIMITINWORLD        8&lt;br /&gt;
 ITEM_FLAG_EXHAUSTIBLE        16 // A player can totally exhaust their ammo supply and lose this weapon.&lt;br /&gt;
{{qnotice|See [[CS Weapons Information]] for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|WeaponList|string, byte, byte, byte, byte, byte, byte, byte, byte}}&lt;br /&gt;
{{hl1msg|string|WeaponName}}&lt;br /&gt;
{{hl1msg|byte|PrimaryAmmoID}}&lt;br /&gt;
{{hl1msg|byte|PrimaryAmmoMaxAmount}}&lt;br /&gt;
{{hl1msg|byte|SecondaryAmmoID}}&lt;br /&gt;
{{hl1msg|byte|SecondaryAmmoMaxAmount}}&lt;br /&gt;
{{hl1msg|byte|SlotID}}&lt;br /&gt;
{{hl1msg|byte|NumberInSlot}}&lt;br /&gt;
{{hl1msg|byte|WeaponID}}&lt;br /&gt;
{{hl1msg|byte|Flags}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= WeapPickup =&lt;br /&gt;
Temporarily draws correspoding weapon [[HUD]] icon in the middle of the right side of the screen.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Draw time is depend on the ''hud_drawhistory_time'' client CVar value.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Is fired right before weapon is picked up (notice ''&amp;quot;before&amp;quot;'').}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|See [[CS Weapons Information]] for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|WeapPickup|byte}}&lt;br /&gt;
{{hl1msg|byte|WeaponID}}&lt;br /&gt;
{{end-hl1msg}}&lt;/div&gt;</summary>
		<author><name>ConnorMcLeod</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.alliedmods.net/index.php?title=Half-Life_1_Game_Events&amp;diff=7960</id>
		<title>Half-Life 1 Game Events</title>
		<link rel="alternate" type="text/html" href="https://wiki.alliedmods.net/index.php?title=Half-Life_1_Game_Events&amp;diff=7960"/>
		<updated>2011-02-09T21:09:18Z</updated>

		<summary type="html">&lt;p&gt;ConnorMcLeod: /* TutorText */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Half-Life 1]]&lt;br /&gt;
[[Category:Scripting (AMX Mod X)]]&lt;br /&gt;
&lt;br /&gt;
= Introduction =&lt;br /&gt;
&lt;br /&gt;
In [[AMX Mod X]] you are able to hook in-game messages/events with [http://www.amxmodx.org/funcwiki.php?search=register_message&amp;amp;go=search register_message] / [http://www.amxmodx.org/funcwiki.php?go=func&amp;amp;id=26 register_event]. Here are the list of messages/events and their arguments which can be read with [http://www.amxmodx.org/funcwiki.php?search=get_msg_arg_&amp;amp;go=search get_msg_arg_*] / [http://www.amxmodx.org/funcwiki.php?go=func&amp;amp;id=132 read_data].&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
*See the [[Advanced Scripting (AMX Mod X)#Events.2FMessages|Advanced Scripting]] article for more on events and messages.&amp;lt;br&amp;gt;&lt;br /&gt;
*See messages.inc and message_const.inc from amxmodx/scriptong/include folder or [http://www.amxmodx.org/funcwiki.php?go=inc&amp;amp;id=47 Messaging functions] and [http://www.amxmodx.org/funcwiki.php?go=inc&amp;amp;id=48 Message constants] for full messages control including blocking, argument alteration and much more.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= ADStop =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ADStop}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= AllowSpec =&lt;br /&gt;
Changes whether or not &amp;quot;SPECTATE&amp;quot; appears on the change team menu. Called whenever the allow_spectators CVar is changed, with its new value sent as the byte.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This changes how the change team menu appears, but spectating functionality is based off of the actual CVar value.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|AllowSpec|byte}}&lt;br /&gt;
{{hl1msg|byte|Allowed}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= AmmoPickup =&lt;br /&gt;
Temporarily draws [[HUD]] ammo amount and correspoding ammo [[HUD]] icon in the middle of the right side of the screen.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Draw time is depend on the ''hud_drawhistory_time'' client CVar value.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|See [[CS Weapons Information]] for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|AmmoPickup|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|AmmoID}}&lt;br /&gt;
{{hl1msg|byte|Ammount}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= AmmoX =&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|See [[CS Weapons Information]] for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|AmmoX|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|AmmoID}}&lt;br /&gt;
{{hl1msg|byte|Ammount}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ArmorType =&lt;br /&gt;
Draws/removes helmet [[HUD]] icon. If flag is set to 1 the helmet [[HUD]] icon will be drawn (located right on the armor icon).&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ArmorType|byte}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BarTime =&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Set Duration to 0 to hide the bar.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|BarTime|short}}&lt;br /&gt;
{{hl1msg|short|Duration}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BarTime2 =&lt;br /&gt;
The same as BarTime but StartPercents is specify how many per cents of the bar are (already) filled.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Display time can be calculated with this formula: ''(1 - (StartPercents / 100)) / Duration''}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|BarTime2|short, short}}&lt;br /&gt;
{{hl1msg|short|Duration}}&lt;br /&gt;
{{hl1msg|short|StartPercents}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Battery =&lt;br /&gt;
Updates the icon and the number of armor on the [[HUD]].&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Battery|short}}&lt;br /&gt;
{{hl1msg|short|Armor}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BlinkAcct =&lt;br /&gt;
Makes a player's money display flash rapidly, until it flashes a total of BlinkAmt times.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|BlinkAcct|byte}}&lt;br /&gt;
{{hl1msg|byte|BlinkAmt}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BombDrop =&lt;br /&gt;
The first three arguments are the origin of the dropped bomb. The last argument is set to 1 if the bomb has been planted. It is 0 if the bomb was dropped due to voluntary dropping or death/disconnect. Setting the last argument 1, will also 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.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|BombDrop|coord, coord, coord, byte}}&lt;br /&gt;
{{hl1msg|coord|CoordX}}&lt;br /&gt;
{{hl1msg|coord|CoordY}}&lt;br /&gt;
{{hl1msg|coord|CoordZ}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BombPickup =&lt;br /&gt;
This message just tells the game that the bomb has been picked up. It will cause the dropped/planted bomb to disappear from the Terrorist team's radar.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|BombPickup}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BotProgress =&lt;br /&gt;
Used by CZ's bots when learning a new map. 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.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|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.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|BotProgress|byte, byte, string}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{hl1msg|byte|Progress}}&lt;br /&gt;
{{hl1msg|string|Header}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BotVoice =&lt;br /&gt;
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 by regular players, although you &amp;lt;i&amp;gt;can&amp;lt;/i&amp;gt; specify a regular player (non-bot) for the PlayerIndex. Status is 1 for talking, or 0 for not talking.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|BotVoice|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|Status}}&lt;br /&gt;
{{hl1msg|byte|PlayerIndex}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Brass =&lt;br /&gt;
Creates a brass shell. Used, for example, by the AWP, after firing.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Brass|byte, coord, coord, coord, coord, coord, coord, coord, coord, coord, angle, short, byte, byte, byte}}&lt;br /&gt;
{{hl1msg|byte|MessageID}}&lt;br /&gt;
{{hl1msg|coord|StartX}}&lt;br /&gt;
{{hl1msg|coord|StartY}}&lt;br /&gt;
{{hl1msg|coord|StartZ}}&lt;br /&gt;
{{hl1msg|coord|VelocityX?}}&lt;br /&gt;
{{hl1msg|coord|VelocityY?}}&lt;br /&gt;
{{hl1msg|coord|VelocityZ?}}&lt;br /&gt;
{{hl1msg|coord|UnknownX}}&lt;br /&gt;
{{hl1msg|coord|UnknownY}}&lt;br /&gt;
{{hl1msg|coord|UnknownZ}}&lt;br /&gt;
{{hl1msg|angle|Rotation}}&lt;br /&gt;
{{hl1msg|short|ModelIndex}}&lt;br /&gt;
{{hl1msg|byte|BounceSoundType}}&lt;br /&gt;
{{hl1msg|byte|Life}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BuyClose =&lt;br /&gt;
Forces the buy menu to close. This is not called when the player closes the buy menu by himself; it's only called when the game forces him to do so (ie: he walks outside of the buy zone, gets killed, etcetera).&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|BuyClose}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ClCorpse =&lt;br /&gt;
Spawns a player's corpse. ModelName is the player's model name, for example: &amp;quot;leet&amp;quot;. Delay is a delay before animation plaback, can be negative value.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Coord and Delay is multiplied by 128.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|In CS argument #10 is always equal to 0.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*See [http://www.amxmodx.org/funcwiki.php?go=module&amp;amp;id=4#const_teams CS Team Constants] for team indeces constants list.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ClCorpse|string, long, long, long, coord, coord, coord, long, byte, byte, byte, byte}}&lt;br /&gt;
{{hl1msg|string|ModelName}}&lt;br /&gt;
{{hl1msg|long|CoordX}}&lt;br /&gt;
{{hl1msg|long|CoordY}}&lt;br /&gt;
{{hl1msg|long|CoordZ}}&lt;br /&gt;
{{hl1msg|coord|Angle0}}&lt;br /&gt;
{{hl1msg|coord|Angle1}}&lt;br /&gt;
{{hl1msg|coord|Angle2}}&lt;br /&gt;
{{hl1msg|long|Delay}}&lt;br /&gt;
{{hl1msg|byte|Sequence}}&lt;br /&gt;
{{hl1msg|byte|ClassID?}}&lt;br /&gt;
{{hl1msg|byte|TeamID}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Crosshair =&lt;br /&gt;
Draws/removes a crosshair. If Flag is set to 1 the crosshair will be drawn.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This crossair looks not like the regular one but like the one that is drawn in the spectator mode.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Crosshair|byte}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= CurWeapon =&lt;br /&gt;
Updates the clip ammo number and weapon's corresponding ammo type icon on the [[HUD]].&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|See [[CS Weapons Information]] for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|CurWeapon|byte, byte, byte}}&lt;br /&gt;
{{hl1msg|byte|IsActive}}&lt;br /&gt;
{{hl1msg|byte|WeaponID}}&lt;br /&gt;
{{hl1msg|byte|ClipAmmo}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= CZCareer =&lt;br /&gt;
Supplies certain updates to the player regarding Condition Zero singleplayer missions.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|See the [[CZCareer]] page for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|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).}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|The Type argument is case-sensitive.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This event does nothing in CS and CZ multiplayer.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|CZCareer|string,*}}&lt;br /&gt;
{{hl1msg|string|Type}}&lt;br /&gt;
{{hl1msg|*|Parameters}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= CZCareerHUD =&lt;br /&gt;
Displays certain [[HUD]] elements regarding Condition Zero singleplayer missions.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|See the [[CZCareerHUD]] page for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|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).}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|The Type argument is case-sensitive.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This event has some limited functionality in CS and CZ multiplayer (albeit better in CZ).}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|CZCareerHUD|string,*}}&lt;br /&gt;
{{hl1msg|string|Type}}&lt;br /&gt;
{{hl1msg|*|Parameters}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Damage =&lt;br /&gt;
Called when a player takes damage, to display the red locational indicators. The last three arguments is the origin of the damage inflictor or victim origin if inflictor isn't found. DamageType is a bitwise value usually consist of a single bit.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|To caputure this message,you should use &amp;quot;b&amp;quot; as the third parameter in the register_event() function.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Damage|byte, byte, long, coord, coord, coord}}&lt;br /&gt;
{{hl1msg|byte|DamageSave}}&lt;br /&gt;
{{hl1msg|byte|DamageTake}}&lt;br /&gt;
{{hl1msg|long|DamageType}}&lt;br /&gt;
{{hl1msg|coord|CoordX}}&lt;br /&gt;
{{hl1msg|coord|CoordY}}&lt;br /&gt;
{{hl1msg|coord|CoordZ}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= DeathMsg =&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
Also prints the console text message &amp;quot;KillerName killed VictimName with TruncatedWeaponName&amp;quot; or &amp;quot;*** KillerName killed VictimName with a headshot from TruncatedWeaponName ***&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|TruncatedWeaponName doesn't contain a &amp;quot;weapon_&amp;quot; prefix. See [[CS Weapons Information]] for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|For grenade kill TruncatedWeaponName isn't &amp;quot;hegrenade&amp;quot; but &amp;quot;grenade&amp;quot;, in fact it's an actual classname of a throwed grenade.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|For KillerID it's not necessarily should be a PlayerID, it could be 0 if player dies from fall/acid/radiation/fire/etc damage/lack of oxygen or from touch to a &amp;quot;trigger_hurt&amp;quot; entity, in this case TruncatedWeaponName will be &amp;quot;worldspawn&amp;quot; and &amp;quot;trigger_hurt&amp;quot; respectively.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|For vehicle kills TruncatedWeaponName could be &amp;quot;vehicle&amp;quot;, &amp;quot;tank&amp;quot; et cetera.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|DeathMsg|byte, byte, byte, string}}&lt;br /&gt;
{{hl1msg|byte|KillerID}}&lt;br /&gt;
{{hl1msg|byte|VictimID}}&lt;br /&gt;
{{hl1msg|byte|IsHeadshot}}&lt;br /&gt;
{{hl1msg|string|TruncatedWeaponName}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= FlashBat =&lt;br /&gt;
Updates the flashlight battery charge on the [[HUD]].&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|FlashBat|byte}}&lt;br /&gt;
{{hl1msg|byte|ChargePercents}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Flashlight =&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Flashlight|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{hl1msg|byte|ChargePercents}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Fog =&lt;br /&gt;
{{qnotice|mp_Fog 1 for fog in counter-strike}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|Fog|byte, byte, byte}}&lt;br /&gt;
{{hl1msg|byte|FogValue}}&lt;br /&gt;
{{hl1msg|byte|FogValue}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ForceCam =&lt;br /&gt;
Called whenever mp_forcecam or mp_forcechasecam are changed, with their new values passed. There is assumedly a third CVar that this tracks, but it is yet unknown. Note that this message doesn't actually change any of the spectating rules for the client.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Even if mp_forcechasecam is set to 2, it is sent by this message as 1.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ForceCam|byte, byte, byte}}&lt;br /&gt;
{{hl1msg|byte|ForcecamValue}}&lt;br /&gt;
{{hl1msg|byte|ForcechasecamValue}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= GameMode =&lt;br /&gt;
&lt;br /&gt;
Informs player of current game mode&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|GameMode|byte}}&lt;br /&gt;
{{hl1msg|byte|Game mode}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= GameTitle =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|GameTitle|byte}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Geiger =&lt;br /&gt;
Notifies about radiation level through special sound signals. Distance is a distance to hazard area.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Geiger|byte}}&lt;br /&gt;
{{hl1msg|byte|Distance}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Health =&lt;br /&gt;
Updates the number of health on the [[HUD]].&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Health|byte}}&lt;br /&gt;
{{hl1msg|byte|Health}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= HideWeapon =&lt;br /&gt;
Hides the specified [[HUD]] elements.&amp;lt;br&amp;gt;&lt;br /&gt;
Flags:&lt;br /&gt;
   1   (1&amp;lt;&amp;lt;0)  -  crosshair, ammo, weapons list&lt;br /&gt;
   2   (1&amp;lt;&amp;lt;1)  -  flashlight, +&lt;br /&gt;
   4   (1&amp;lt;&amp;lt;2)  -  ALL&lt;br /&gt;
   8   (1&amp;lt;&amp;lt;3)  -  radar, health, armor, +&lt;br /&gt;
  16   (1&amp;lt;&amp;lt;4)  -  timer, +&lt;br /&gt;
  32   (1&amp;lt;&amp;lt;5)  -  money, +&lt;br /&gt;
  64   (1&amp;lt;&amp;lt;6)  -  crosshair&lt;br /&gt;
 128   (1&amp;lt;&amp;lt;7)  -  +&lt;br /&gt;
Symbol + mean that an additional crosshair will be drawn. That crosshair looks exactly like the one from Crosshair message.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|HideWeapon|byte}}&lt;br /&gt;
{{hl1msg|byte|Flags}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= HLTV =&lt;br /&gt;
Message sent for HLTV and unique for each round-start.&amp;lt;br&amp;gt;&lt;br /&gt;
On new round is fired 2 messages:&lt;br /&gt;
 // reset all players health for HLTV&lt;br /&gt;
 MESSAGE_BEGIN( MSG_SPEC, gmsgHLTV );&lt;br /&gt;
 WRITE_BYTE( 0 );   // 0 = all players&lt;br /&gt;
 WRITE_BYTE( 100 | 128 );&lt;br /&gt;
 MESSAGE_END();&amp;lt;br&amp;gt;&lt;br /&gt;
 // reset all players FOV for HLTV&lt;br /&gt;
 MESSAGE_BEGIN( MSG_SPEC, gmsgHLTV );&lt;br /&gt;
 WRITE_BYTE( 0 );   // all players&lt;br /&gt;
 WRITE_BYTE( 0 );&lt;br /&gt;
 MESSAGE_END();&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|HLTV|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|ClientID}}&lt;br /&gt;
{{hl1msg|byte|Flags}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= HostageK =&lt;br /&gt;
Temporarily draws a blinking red dot on the CT players' radar when a hostage is killed.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|HostageK|byte}}&lt;br /&gt;
{{hl1msg|byte|HostageID}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= HostagePos =&lt;br /&gt;
Draws/updates the blue mark on the CT players' radar which is indicate the corresponding hostage position.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Is called with Flag set to 1 on player [[HUD]] full update.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|HostagePos|byte, byte, coord, coord, coord}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{hl1msg|byte|HostageID}}&lt;br /&gt;
{{hl1msg|coord|CoordX}}&lt;br /&gt;
{{hl1msg|coord|CoordY}}&lt;br /&gt;
{{hl1msg|coord|CoordZ}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= HudText =&lt;br /&gt;
Prints [[HUD]] text.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Prints message with specified style in titles.txt with small signs (like in HL)}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|HudText|string, byte, byte}}&lt;br /&gt;
{{hl1msg|string|TextCode}}&lt;br /&gt;
{{hl1msg|byte|InitHUDstyle}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= HudTextArgs =&lt;br /&gt;
Prints [[HUD]] text.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|An example of TextCode could be &amp;quot;#Hint_you_have_the_bomb&amp;quot;.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Prints message with specified style in titles.txt with Big signs (CS Default)}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|If you have a problems with specifing the last two arguments use 1 and 0 respectively.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|HudTextArgs|string, byte, byte}}&lt;br /&gt;
{{hl1msg|string|TextCode}}&lt;br /&gt;
{{hl1msg|byte|InitHUDstyle}}&lt;br /&gt;
{{hl1msg|byte|NumberOfSubMessages}}&lt;br /&gt;
{{hl1msg|string|SubMsg}}&lt;br /&gt;
{{hl1msg|string|SubMsg}}&lt;br /&gt;
{{hl1msg|string|...}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= HudTextPro =&lt;br /&gt;
Prints [[HUD]] text.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Prints message with specified style in titles.txt with Big signs (CS Default)}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|HudText|string, byte, byte}}&lt;br /&gt;
{{hl1msg|string|TextCode}}&lt;br /&gt;
{{hl1msg|byte|InitHUDstyle}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= InitHUD =&lt;br /&gt;
Initializes the [[HUD]].&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|InitHUD}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ItemPickup =&lt;br /&gt;
Temporarily draws correspoding item [[HUD]] icon in the middle of the right side of the screen.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Draw time is depend on the ''hud_drawhistory_time'' client CVar value.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ItemPickup|string}}&lt;br /&gt;
{{hl1msg|string|ItemName}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ItemStatus =&lt;br /&gt;
Notifies about carried items.&amp;lt;br&amp;gt;&lt;br /&gt;
Example of some item bits:&lt;br /&gt;
 1   (1&amp;lt;&amp;lt;0)  -  nightvision goggles&lt;br /&gt;
 2   (1&amp;lt;&amp;lt;1)  -  defusal kit&lt;br /&gt;
{{begin-hl1msg|ItemStatus|byte}}&lt;br /&gt;
{{hl1msg|byte|ItemsBitSum}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Location =&lt;br /&gt;
This message is sent when player gets in different zone on map.&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|Location|byte, string}}&lt;br /&gt;
{{hl1msg|byte|PlayerId}}&lt;br /&gt;
{{hl1msg|string|LocationName}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Money =&lt;br /&gt;
Updates the Amount of money on the [[HUD]]. If the Flag is 1, the additional new-old [[HUD]] money amount difference will be also displayed.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Money|long, byte}}&lt;br /&gt;
{{hl1msg|long|Amount}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= MOTD =&lt;br /&gt;
Displays MOTD window.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Max. Text length is 60. Large MOTD is sent in multiple messages. For the message that is send a last MOTD part the Flag will be set to 1 and 0 otherwise.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|MOTD|byte, string}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{hl1msg|string|Text}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= NVGToggle =&lt;br /&gt;
Toggles night vision mode. For Flag: 1 is on, 0 is off.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|NVGToggle|byte}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Radar =&lt;br /&gt;
Draws/updates the dot on the [[HUD]] radar which is indicate the given player position.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Works for teammates only.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Radar|byte, coord, coord, coord}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{hl1msg|coord|CoordX}}&lt;br /&gt;
{{hl1msg|coord|CoordY}}&lt;br /&gt;
{{hl1msg|coord|CoordZ}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ReceiveW =&lt;br /&gt;
Tell the client which visual weather effect to be executed client side, if cl_weather client cvar is above 0.&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|Main part of CBasePlayer::SendWeatherInfo() function that is sent in CBasePlayer :: UpdateClientData() when player offset m_fInitHUD is 1&amp;lt;br&amp;gt;&lt;br /&gt;
(right after putinserver or after fullupdate command)&amp;lt;br&amp;gt;&lt;br /&gt;
Mode : 1 is for rain effect, 2 is for snow effect&amp;lt;br&amp;gt;&lt;br /&gt;
Though mode 0 is never sent by the game itself, removes weather effect&amp;lt;br&amp;gt;&lt;br /&gt;
Alternatively send mode 1 and mode 2 with judicious delays (time for effect to disappear) make both rain and snow effect}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ReceiveW|byte}}&lt;br /&gt;
{{hl1msg|byte|mode}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ReloadSound =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ReloadSound|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ReqState =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ReqState}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ResetHUD =&lt;br /&gt;
Resets the [[HUD]].&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ResetHUD}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= RoundTime =&lt;br /&gt;
Updates the round timer on the [[HUD]]. Time is in seconds.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|RoundTime|short}}&lt;br /&gt;
{{hl1msg|short|Time}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SayText =&lt;br /&gt;
Prints say [[HUD]] text. Second argument can be a predefined string or a custom one. In the last case the last two arguments isn't required.&amp;lt;br&amp;gt;&lt;br /&gt;
An examples of a predifined Counter-Strike string values: #Cstrike_Chat_AllDead, #Cstrike_Name_Change&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|For #Cstrike_Name_Change String2 is an old name and String3 is a new name.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|SayText|byte, string, string, string}}&lt;br /&gt;
{{hl1msg|byte|SenderID}}&lt;br /&gt;
{{hl1msg|string|String1}}&lt;br /&gt;
{{hl1msg|string|String2}}&lt;br /&gt;
{{hl1msg|string|String3}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Scenario =&lt;br /&gt;
If Active is 0, this display will be hidden. If Active is 1, 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.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|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.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[image:Cs_scenario_msg.jpg|frame|right|Scenario message in CS, using the following parameters: 1, d_mp5navy, 150]]&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Works in both CS and CZ!}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|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.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Scenario|byte, string, byte, short, short}}&lt;br /&gt;
{{hl1msg|byte|Active}}&lt;br /&gt;
{{hl1msg|string|Sprite}}&lt;br /&gt;
{{hl1msg|byte|Alpha}}&lt;br /&gt;
{{hl1msg|short|FlashRate}}&lt;br /&gt;
{{hl1msg|short|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ScoreAttrib =&lt;br /&gt;
Updates the scoreboard's attribute for the specified player. For the 2nd argument, 0 is nothing, (1&amp;lt;&amp;lt;0) i.e. 1 is dead, (1&amp;lt;&amp;lt;1) i.e. 2 is bomb, (1&amp;lt;&amp;lt;2) i.e. 4 is VIP.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|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.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ScoreAttrib|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{hl1msg|byte|Flags}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ScoreInfo =&lt;br /&gt;
Updates the scoreboard with the given player's Frags and Deaths.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|In CS the 4th argument is always equal to 0.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*See [http://www.amxmodx.org/funcwiki.php?go=module&amp;amp;id=4#const_teams CS Team Constants] for team indeces constants list.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ScoreInfo|byte, short, short, short, short}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{hl1msg|short|Frags}}&lt;br /&gt;
{{hl1msg|short|Deaths}}&lt;br /&gt;
{{hl1msg|short|ClassID?}}&lt;br /&gt;
{{hl1msg|short|TeamID}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ScreenFade =&lt;br /&gt;
Fades the screen.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Duration and HoldTime is in special units. 1 second is equal to (1&amp;lt;&amp;lt;12) i.e. 4096 units.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Flags (from HLSDK):&lt;br /&gt;
 FFADE_IN         0x0000 // Just here so we don't pass 0 into the function&lt;br /&gt;
 FFADE_OUT        0x0001 // Fade out (not in)&lt;br /&gt;
 FFADE_MODULATE   0x0002 // Modulate (don't blend)&lt;br /&gt;
 FFADE_STAYOUT    0x0004 // ignores the duration, stays faded out until new ScreenFade message received&lt;br /&gt;
{{begin-hl1msg|ScreenFade|short, short, short, byte, byte, byte, byte}}&lt;br /&gt;
{{hl1msg|short|Duration}}&lt;br /&gt;
{{hl1msg|short|HoldTime}}&lt;br /&gt;
{{hl1msg|short|Flags}}&lt;br /&gt;
{{hl1msg|byte|ColorR}}&lt;br /&gt;
{{hl1msg|byte|ColorG}}&lt;br /&gt;
{{hl1msg|byte|ColorB}}&lt;br /&gt;
{{hl1msg|byte|Alpha}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ScreenShake =&lt;br /&gt;
Shakes the screen.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|All arguments is in special units. 1 second is equal to (1&amp;lt;&amp;lt;12) i.e. 4096 units.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ScreenShake|short, short, short}}&lt;br /&gt;
{{hl1msg|short|Amplitude}}&lt;br /&gt;
{{hl1msg|short|Duration}}&lt;br /&gt;
{{hl1msg|short|Frequency}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SendAudio =&lt;br /&gt;
Plays the specified audio. An example of AudioCode could be &amp;quot;%!MRAD_rounddraw&amp;quot;.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|SendAudio|byte, string, short}}&lt;br /&gt;
{{hl1msg|byte|SenderID}}&lt;br /&gt;
{{hl1msg|string|AudioCode}}&lt;br /&gt;
{{hl1msg|short|Pitch}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ServerName =&lt;br /&gt;
Sends a server name to a client.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ServerName|string}}&lt;br /&gt;
{{hl1msg|string|ServerName}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SetFOV =&lt;br /&gt;
Sets the specified field of view.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|SetFOV|byte}}&lt;br /&gt;
{{hl1msg|byte|Degrees}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ShadowIdx =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ShadowIdx|long}}&lt;br /&gt;
{{hl1msg|long|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ShowMenu =&lt;br /&gt;
Displays a &amp;quot;menu&amp;quot; to a player (text on the left side of the screen). Acts like AMXX's show_menu (in fact, this is how AMXX shows a menu).&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|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.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ShowMenu|short, char, byte, string}}&lt;br /&gt;
{{hl1msg|short|KeysBitSum}}&lt;br /&gt;
{{hl1msg|char|Time}}&lt;br /&gt;
{{hl1msg|byte|Multipart}}&lt;br /&gt;
{{hl1msg|string|Text}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ShowTimer =&lt;br /&gt;
Forces the round timer displaying.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ShowTimer}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SpecHealth =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|SpecHealth|byte}}&lt;br /&gt;
{{hl1msg|byte|Health?}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SpecHealth2 =&lt;br /&gt;
Updates the observer's screen with a name and health of the given player.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|SpecHealth2|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|Health}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Spectator =&lt;br /&gt;
Called when player becomes an observer/spectator.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|On join to Spectators usually is fired twice in a row.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Spectator|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|ClientID}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= StatusIcon =&lt;br /&gt;
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 is required only if Status aren't equal to 0.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|StatusIcon|byte, string, byte, byte, byte}}&lt;br /&gt;
{{hl1msg|byte|Status}}&lt;br /&gt;
{{hl1msg|string|SpriteName}}&lt;br /&gt;
{{hl1msg|byte|ColorR}}&lt;br /&gt;
{{hl1msg|byte|ColorG}}&lt;br /&gt;
{{hl1msg|byte|ColorB}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= StatusValue =&lt;br /&gt;
Sends/updates the status values. For the Flag 1 the Value is TeamRelation, for 2 is PlayerID, for 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.&amp;lt;br&amp;gt;&lt;br /&gt;
Usually is fired as a triple message, for example:&lt;br /&gt;
 {1,  2}  -  non-teammate player&lt;br /&gt;
 {2, 17}  -  player index is 17&lt;br /&gt;
 {3, 59}  -  player health is 59&lt;br /&gt;
{{begin-hl1msg|StatusValue|byte, short}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{hl1msg|short|Value}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= StatusText =&lt;br /&gt;
Specifies the status text format.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|StatusText|byte, string}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{hl1msg|string|Text}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TaskTime =&lt;br /&gt;
Displays a secondary timer above the round timer. Used for Condition Zero singleplayer missions.&amp;lt;br&amp;gt;&lt;br /&gt;
If Time is -1, timer dissappears. If Time is any other negative value, it is displayed as green instead of yellow, and considered positive.&amp;lt;br&amp;gt;&lt;br /&gt;
If Active is true, timer counts down. Otherwise, it is paused.&amp;lt;br&amp;gt;If Fade is above zero, the timer will slowly fade out after that many seconds have passed (even if the timer is inactive).&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This event can only be used on missions that have an objective requiring a secondary timer!}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|TaskTime|short, byte, byte}}&lt;br /&gt;
{{hl1msg|short|Time}}&lt;br /&gt;
{{hl1msg|byte|Active}}&lt;br /&gt;
{{hl1msg|byte|Fade}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TeamInfo =&lt;br /&gt;
Sets the team information for the given player.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|In CS TeamName is either &amp;quot;UNASSIGNED&amp;quot;, &amp;quot;TERRORIST&amp;quot;, &amp;quot;CT&amp;quot; or &amp;quot;SPECTATOR&amp;quot;.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|TeamInfo|byte, string}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{hl1msg|string|TeamName}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TeamScore =&lt;br /&gt;
Updates the team score on the score board.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|In CS TeamName is either &amp;quot;TERRORIST&amp;quot; or &amp;quot;CT&amp;quot;.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|TeamScore|string, short}}&lt;br /&gt;
{{hl1msg|string|TeamName}}&lt;br /&gt;
{{hl1msg|short|Score}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TextMsg =&lt;br /&gt;
Prints a cutom/or predefined text message.&amp;lt;br&amp;gt;&lt;br /&gt;
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:&lt;br /&gt;
 Arg1: 1&lt;br /&gt;
 Arg2: #Game_join_ct&lt;br /&gt;
 Arg3: Pimp Daddy&lt;br /&gt;
{{begin-hl1msg|TextMsg|byte, string, string, string, string, string}}&lt;br /&gt;
{{hl1msg|byte|DestinationType}}&lt;br /&gt;
{{hl1msg|string|Message}}&lt;br /&gt;
{{hl1msg|string|Submsg}}&lt;br /&gt;
{{hl1msg|string|Submsg}}&lt;br /&gt;
{{hl1msg|string|Submsg}}&lt;br /&gt;
{{hl1msg|string|Submsg}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Train =&lt;br /&gt;
Displays the speed bar used for controlling a train.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Speed is as follows: 0 (disable display), 1 (reverse), 2 (neutral), 3 (slow speed), 4 (medium speed), 5 (maximum speed)}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Train|byte}}&lt;br /&gt;
{{hl1msg|byte|Speed}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TutorClose =&lt;br /&gt;
Closes all CZ-style tutor popups.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|TutorClose}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TutorLine =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|TutorLine}}&lt;br /&gt;
{{hl1msg|short|Unknown1}}&lt;br /&gt;
{{hl1msg|short|Unknown2}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TutorState =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|TutorState }}&lt;br /&gt;
{{hl1msg|string|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TutorText =&lt;br /&gt;
Used to display a CZ-style tutor popup.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|If NumberOfSubMsgs is higher than 0, there should be such amount of write_string after this byte.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Special thanks goes to '''Lt.Rat''' for his ninja skills.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#define Default		1	// 1&amp;lt;&amp;lt;0 | GREEN  | INFO&lt;br /&gt;
#define FriendDeath	2	// 1&amp;lt;&amp;lt;1 | RED    | SKULL&lt;br /&gt;
#define EnemyDeath	4	// 1&amp;lt;&amp;lt;2 | BLUE   | SKULL&lt;br /&gt;
#define Scenario	8	// 1&amp;lt;&amp;lt;3 | YELLOW | INFO&lt;br /&gt;
#define Buy		16	// 1&amp;lt;&amp;lt;4 | GREEN  | INFO&lt;br /&gt;
#define Career		32	// 1&amp;lt;&amp;lt;5 | GREEN  | INFO&lt;br /&gt;
#define Hint		64	// 1&amp;lt;&amp;lt;6 | GREEN  | INFO&lt;br /&gt;
#define InGameHint	128	// 1&amp;lt;&amp;lt;7 | GREEN  | INFO&lt;br /&gt;
#define EndGame		256	// 1&amp;lt;&amp;lt;8 | YELLOW | INFO&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|TutorText|string, byte, short, short, short}}&lt;br /&gt;
{{hl1msg|string|String}}&lt;br /&gt;
{{hl1msg|byte|NumberOfSubMsgs}}&lt;br /&gt;
{{hl1msg|short|Unknown}}&lt;br /&gt;
{{hl1msg|short|Unknown (0 or 1)}}&lt;br /&gt;
{{hl1msg|short|Type}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ViewMode =&lt;br /&gt;
{{qnotice|No Information available for this message (HLSDK says this switches to first-person view, but it doesn't seem to function as so).}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ViewMode}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= VGUIMenu =&lt;br /&gt;
Displays a predefined VGUI menu.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|VGUIMenu|byte, short, char, byte, string}}&lt;br /&gt;
{{hl1msg|byte|MenuID}}&lt;br /&gt;
{{hl1msg|short|KeysBitSum}}&lt;br /&gt;
{{hl1msg|char|Time?}}&lt;br /&gt;
{{hl1msg|byte|Multipart?}}&lt;br /&gt;
{{hl1msg|string|Name?}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= VoiceMask =&lt;br /&gt;
Used to tell a client who he can hear over the microphone.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|VoiceMask|long, long}}&lt;br /&gt;
{{hl1msg|long|AudiblePlayersIndexBitSum}}&lt;br /&gt;
{{hl1msg|long|ServerBannedPlayersIndexBitSum}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= WeaponList =&lt;br /&gt;
Configures the [[HUD]] weapons list.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Fired on map initialization.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|SlotID starts from 0.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Flags (from HLSDK):&lt;br /&gt;
 ITEM_FLAG_SELECTONEMPTY       1&lt;br /&gt;
 ITEM_FLAG_NOAUTORELOAD        2&lt;br /&gt;
 ITEM_FLAG_NOAUTOSWITCHEMPTY   4&lt;br /&gt;
 ITEM_FLAG_LIMITINWORLD        8&lt;br /&gt;
 ITEM_FLAG_EXHAUSTIBLE        16 // A player can totally exhaust their ammo supply and lose this weapon.&lt;br /&gt;
{{qnotice|See [[CS Weapons Information]] for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|WeaponList|string, byte, byte, byte, byte, byte, byte, byte, byte}}&lt;br /&gt;
{{hl1msg|string|WeaponName}}&lt;br /&gt;
{{hl1msg|byte|PrimaryAmmoID}}&lt;br /&gt;
{{hl1msg|byte|PrimaryAmmoMaxAmount}}&lt;br /&gt;
{{hl1msg|byte|SecondaryAmmoID}}&lt;br /&gt;
{{hl1msg|byte|SecondaryAmmoMaxAmount}}&lt;br /&gt;
{{hl1msg|byte|SlotID}}&lt;br /&gt;
{{hl1msg|byte|NumberInSlot}}&lt;br /&gt;
{{hl1msg|byte|WeaponID}}&lt;br /&gt;
{{hl1msg|byte|Flags}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= WeapPickup =&lt;br /&gt;
Temporarily draws correspoding weapon [[HUD]] icon in the middle of the right side of the screen.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Draw time is depend on the ''hud_drawhistory_time'' client CVar value.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Is fired right before weapon is picked up (notice ''&amp;quot;before&amp;quot;'').}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|See [[CS Weapons Information]] for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|WeapPickup|byte}}&lt;br /&gt;
{{hl1msg|byte|WeaponID}}&lt;br /&gt;
{{end-hl1msg}}&lt;/div&gt;</summary>
		<author><name>ConnorMcLeod</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.alliedmods.net/index.php?title=Half-Life_1_Game_Events&amp;diff=7958</id>
		<title>Half-Life 1 Game Events</title>
		<link rel="alternate" type="text/html" href="https://wiki.alliedmods.net/index.php?title=Half-Life_1_Game_Events&amp;diff=7958"/>
		<updated>2011-02-09T21:01:51Z</updated>

		<summary type="html">&lt;p&gt;ConnorMcLeod: /* TutorText */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Half-Life 1]]&lt;br /&gt;
[[Category:Scripting (AMX Mod X)]]&lt;br /&gt;
&lt;br /&gt;
= Introduction =&lt;br /&gt;
&lt;br /&gt;
In [[AMX Mod X]] you are able to hook in-game messages/events with [http://www.amxmodx.org/funcwiki.php?search=register_message&amp;amp;go=search register_message] / [http://www.amxmodx.org/funcwiki.php?go=func&amp;amp;id=26 register_event]. Here are the list of messages/events and their arguments which can be read with [http://www.amxmodx.org/funcwiki.php?search=get_msg_arg_&amp;amp;go=search get_msg_arg_*] / [http://www.amxmodx.org/funcwiki.php?go=func&amp;amp;id=132 read_data].&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
*See the [[Advanced Scripting (AMX Mod X)#Events.2FMessages|Advanced Scripting]] article for more on events and messages.&amp;lt;br&amp;gt;&lt;br /&gt;
*See messages.inc and message_const.inc from amxmodx/scriptong/include folder or [http://www.amxmodx.org/funcwiki.php?go=inc&amp;amp;id=47 Messaging functions] and [http://www.amxmodx.org/funcwiki.php?go=inc&amp;amp;id=48 Message constants] for full messages control including blocking, argument alteration and much more.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= ADStop =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ADStop}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= AllowSpec =&lt;br /&gt;
Changes whether or not &amp;quot;SPECTATE&amp;quot; appears on the change team menu. Called whenever the allow_spectators CVar is changed, with its new value sent as the byte.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This changes how the change team menu appears, but spectating functionality is based off of the actual CVar value.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|AllowSpec|byte}}&lt;br /&gt;
{{hl1msg|byte|Allowed}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= AmmoPickup =&lt;br /&gt;
Temporarily draws [[HUD]] ammo amount and correspoding ammo [[HUD]] icon in the middle of the right side of the screen.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Draw time is depend on the ''hud_drawhistory_time'' client CVar value.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|See [[CS Weapons Information]] for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|AmmoPickup|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|AmmoID}}&lt;br /&gt;
{{hl1msg|byte|Ammount}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= AmmoX =&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|See [[CS Weapons Information]] for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|AmmoX|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|AmmoID}}&lt;br /&gt;
{{hl1msg|byte|Ammount}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ArmorType =&lt;br /&gt;
Draws/removes helmet [[HUD]] icon. If flag is set to 1 the helmet [[HUD]] icon will be drawn (located right on the armor icon).&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ArmorType|byte}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BarTime =&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Set Duration to 0 to hide the bar.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|BarTime|short}}&lt;br /&gt;
{{hl1msg|short|Duration}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BarTime2 =&lt;br /&gt;
The same as BarTime but StartPercents is specify how many per cents of the bar are (already) filled.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Display time can be calculated with this formula: ''(1 - (StartPercents / 100)) / Duration''}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|BarTime2|short, short}}&lt;br /&gt;
{{hl1msg|short|Duration}}&lt;br /&gt;
{{hl1msg|short|StartPercents}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Battery =&lt;br /&gt;
Updates the icon and the number of armor on the [[HUD]].&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Battery|short}}&lt;br /&gt;
{{hl1msg|short|Armor}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BlinkAcct =&lt;br /&gt;
Makes a player's money display flash rapidly, until it flashes a total of BlinkAmt times.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|BlinkAcct|byte}}&lt;br /&gt;
{{hl1msg|byte|BlinkAmt}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BombDrop =&lt;br /&gt;
The first three arguments are the origin of the dropped bomb. The last argument is set to 1 if the bomb has been planted. It is 0 if the bomb was dropped due to voluntary dropping or death/disconnect. Setting the last argument 1, will also 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.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|BombDrop|coord, coord, coord, byte}}&lt;br /&gt;
{{hl1msg|coord|CoordX}}&lt;br /&gt;
{{hl1msg|coord|CoordY}}&lt;br /&gt;
{{hl1msg|coord|CoordZ}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BombPickup =&lt;br /&gt;
This message just tells the game that the bomb has been picked up. It will cause the dropped/planted bomb to disappear from the Terrorist team's radar.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|BombPickup}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BotProgress =&lt;br /&gt;
Used by CZ's bots when learning a new map. 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.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|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.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|BotProgress|byte, byte, string}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{hl1msg|byte|Progress}}&lt;br /&gt;
{{hl1msg|string|Header}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BotVoice =&lt;br /&gt;
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 by regular players, although you &amp;lt;i&amp;gt;can&amp;lt;/i&amp;gt; specify a regular player (non-bot) for the PlayerIndex. Status is 1 for talking, or 0 for not talking.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|BotVoice|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|Status}}&lt;br /&gt;
{{hl1msg|byte|PlayerIndex}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Brass =&lt;br /&gt;
Creates a brass shell. Used, for example, by the AWP, after firing.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Brass|byte, coord, coord, coord, coord, coord, coord, coord, coord, coord, angle, short, byte, byte, byte}}&lt;br /&gt;
{{hl1msg|byte|MessageID}}&lt;br /&gt;
{{hl1msg|coord|StartX}}&lt;br /&gt;
{{hl1msg|coord|StartY}}&lt;br /&gt;
{{hl1msg|coord|StartZ}}&lt;br /&gt;
{{hl1msg|coord|VelocityX?}}&lt;br /&gt;
{{hl1msg|coord|VelocityY?}}&lt;br /&gt;
{{hl1msg|coord|VelocityZ?}}&lt;br /&gt;
{{hl1msg|coord|UnknownX}}&lt;br /&gt;
{{hl1msg|coord|UnknownY}}&lt;br /&gt;
{{hl1msg|coord|UnknownZ}}&lt;br /&gt;
{{hl1msg|angle|Rotation}}&lt;br /&gt;
{{hl1msg|short|ModelIndex}}&lt;br /&gt;
{{hl1msg|byte|BounceSoundType}}&lt;br /&gt;
{{hl1msg|byte|Life}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BuyClose =&lt;br /&gt;
Forces the buy menu to close. This is not called when the player closes the buy menu by himself; it's only called when the game forces him to do so (ie: he walks outside of the buy zone, gets killed, etcetera).&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|BuyClose}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ClCorpse =&lt;br /&gt;
Spawns a player's corpse. ModelName is the player's model name, for example: &amp;quot;leet&amp;quot;. Delay is a delay before animation plaback, can be negative value.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Coord and Delay is multiplied by 128.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|In CS argument #10 is always equal to 0.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*See [http://www.amxmodx.org/funcwiki.php?go=module&amp;amp;id=4#const_teams CS Team Constants] for team indeces constants list.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ClCorpse|string, long, long, long, coord, coord, coord, long, byte, byte, byte, byte}}&lt;br /&gt;
{{hl1msg|string|ModelName}}&lt;br /&gt;
{{hl1msg|long|CoordX}}&lt;br /&gt;
{{hl1msg|long|CoordY}}&lt;br /&gt;
{{hl1msg|long|CoordZ}}&lt;br /&gt;
{{hl1msg|coord|Angle0}}&lt;br /&gt;
{{hl1msg|coord|Angle1}}&lt;br /&gt;
{{hl1msg|coord|Angle2}}&lt;br /&gt;
{{hl1msg|long|Delay}}&lt;br /&gt;
{{hl1msg|byte|Sequence}}&lt;br /&gt;
{{hl1msg|byte|ClassID?}}&lt;br /&gt;
{{hl1msg|byte|TeamID}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Crosshair =&lt;br /&gt;
Draws/removes a crosshair. If Flag is set to 1 the crosshair will be drawn.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This crossair looks not like the regular one but like the one that is drawn in the spectator mode.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Crosshair|byte}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= CurWeapon =&lt;br /&gt;
Updates the clip ammo number and weapon's corresponding ammo type icon on the [[HUD]].&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|See [[CS Weapons Information]] for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|CurWeapon|byte, byte, byte}}&lt;br /&gt;
{{hl1msg|byte|IsActive}}&lt;br /&gt;
{{hl1msg|byte|WeaponID}}&lt;br /&gt;
{{hl1msg|byte|ClipAmmo}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= CZCareer =&lt;br /&gt;
Supplies certain updates to the player regarding Condition Zero singleplayer missions.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|See the [[CZCareer]] page for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|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).}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|The Type argument is case-sensitive.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This event does nothing in CS and CZ multiplayer.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|CZCareer|string,*}}&lt;br /&gt;
{{hl1msg|string|Type}}&lt;br /&gt;
{{hl1msg|*|Parameters}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= CZCareerHUD =&lt;br /&gt;
Displays certain [[HUD]] elements regarding Condition Zero singleplayer missions.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|See the [[CZCareerHUD]] page for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|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).}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|The Type argument is case-sensitive.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This event has some limited functionality in CS and CZ multiplayer (albeit better in CZ).}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|CZCareerHUD|string,*}}&lt;br /&gt;
{{hl1msg|string|Type}}&lt;br /&gt;
{{hl1msg|*|Parameters}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Damage =&lt;br /&gt;
Called when a player takes damage, to display the red locational indicators. The last three arguments is the origin of the damage inflictor or victim origin if inflictor isn't found. DamageType is a bitwise value usually consist of a single bit.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|To caputure this message,you should use &amp;quot;b&amp;quot; as the third parameter in the register_event() function.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Damage|byte, byte, long, coord, coord, coord}}&lt;br /&gt;
{{hl1msg|byte|DamageSave}}&lt;br /&gt;
{{hl1msg|byte|DamageTake}}&lt;br /&gt;
{{hl1msg|long|DamageType}}&lt;br /&gt;
{{hl1msg|coord|CoordX}}&lt;br /&gt;
{{hl1msg|coord|CoordY}}&lt;br /&gt;
{{hl1msg|coord|CoordZ}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= DeathMsg =&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
Also prints the console text message &amp;quot;KillerName killed VictimName with TruncatedWeaponName&amp;quot; or &amp;quot;*** KillerName killed VictimName with a headshot from TruncatedWeaponName ***&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|TruncatedWeaponName doesn't contain a &amp;quot;weapon_&amp;quot; prefix. See [[CS Weapons Information]] for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|For grenade kill TruncatedWeaponName isn't &amp;quot;hegrenade&amp;quot; but &amp;quot;grenade&amp;quot;, in fact it's an actual classname of a throwed grenade.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|For KillerID it's not necessarily should be a PlayerID, it could be 0 if player dies from fall/acid/radiation/fire/etc damage/lack of oxygen or from touch to a &amp;quot;trigger_hurt&amp;quot; entity, in this case TruncatedWeaponName will be &amp;quot;worldspawn&amp;quot; and &amp;quot;trigger_hurt&amp;quot; respectively.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|For vehicle kills TruncatedWeaponName could be &amp;quot;vehicle&amp;quot;, &amp;quot;tank&amp;quot; et cetera.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|DeathMsg|byte, byte, byte, string}}&lt;br /&gt;
{{hl1msg|byte|KillerID}}&lt;br /&gt;
{{hl1msg|byte|VictimID}}&lt;br /&gt;
{{hl1msg|byte|IsHeadshot}}&lt;br /&gt;
{{hl1msg|string|TruncatedWeaponName}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= FlashBat =&lt;br /&gt;
Updates the flashlight battery charge on the [[HUD]].&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|FlashBat|byte}}&lt;br /&gt;
{{hl1msg|byte|ChargePercents}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Flashlight =&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Flashlight|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{hl1msg|byte|ChargePercents}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Fog =&lt;br /&gt;
{{qnotice|mp_Fog 1 for fog in counter-strike}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|Fog|byte, byte, byte}}&lt;br /&gt;
{{hl1msg|byte|FogValue}}&lt;br /&gt;
{{hl1msg|byte|FogValue}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ForceCam =&lt;br /&gt;
Called whenever mp_forcecam or mp_forcechasecam are changed, with their new values passed. There is assumedly a third CVar that this tracks, but it is yet unknown. Note that this message doesn't actually change any of the spectating rules for the client.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Even if mp_forcechasecam is set to 2, it is sent by this message as 1.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ForceCam|byte, byte, byte}}&lt;br /&gt;
{{hl1msg|byte|ForcecamValue}}&lt;br /&gt;
{{hl1msg|byte|ForcechasecamValue}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= GameMode =&lt;br /&gt;
&lt;br /&gt;
Informs player of current game mode&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|GameMode|byte}}&lt;br /&gt;
{{hl1msg|byte|Game mode}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= GameTitle =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|GameTitle|byte}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Geiger =&lt;br /&gt;
Notifies about radiation level through special sound signals. Distance is a distance to hazard area.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Geiger|byte}}&lt;br /&gt;
{{hl1msg|byte|Distance}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Health =&lt;br /&gt;
Updates the number of health on the [[HUD]].&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Health|byte}}&lt;br /&gt;
{{hl1msg|byte|Health}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= HideWeapon =&lt;br /&gt;
Hides the specified [[HUD]] elements.&amp;lt;br&amp;gt;&lt;br /&gt;
Flags:&lt;br /&gt;
   1   (1&amp;lt;&amp;lt;0)  -  crosshair, ammo, weapons list&lt;br /&gt;
   2   (1&amp;lt;&amp;lt;1)  -  flashlight, +&lt;br /&gt;
   4   (1&amp;lt;&amp;lt;2)  -  ALL&lt;br /&gt;
   8   (1&amp;lt;&amp;lt;3)  -  radar, health, armor, +&lt;br /&gt;
  16   (1&amp;lt;&amp;lt;4)  -  timer, +&lt;br /&gt;
  32   (1&amp;lt;&amp;lt;5)  -  money, +&lt;br /&gt;
  64   (1&amp;lt;&amp;lt;6)  -  crosshair&lt;br /&gt;
 128   (1&amp;lt;&amp;lt;7)  -  +&lt;br /&gt;
Symbol + mean that an additional crosshair will be drawn. That crosshair looks exactly like the one from Crosshair message.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|HideWeapon|byte}}&lt;br /&gt;
{{hl1msg|byte|Flags}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= HLTV =&lt;br /&gt;
Message sent for HLTV and unique for each round-start.&amp;lt;br&amp;gt;&lt;br /&gt;
On new round is fired 2 messages:&lt;br /&gt;
 // reset all players health for HLTV&lt;br /&gt;
 MESSAGE_BEGIN( MSG_SPEC, gmsgHLTV );&lt;br /&gt;
 WRITE_BYTE( 0 );   // 0 = all players&lt;br /&gt;
 WRITE_BYTE( 100 | 128 );&lt;br /&gt;
 MESSAGE_END();&amp;lt;br&amp;gt;&lt;br /&gt;
 // reset all players FOV for HLTV&lt;br /&gt;
 MESSAGE_BEGIN( MSG_SPEC, gmsgHLTV );&lt;br /&gt;
 WRITE_BYTE( 0 );   // all players&lt;br /&gt;
 WRITE_BYTE( 0 );&lt;br /&gt;
 MESSAGE_END();&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|HLTV|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|ClientID}}&lt;br /&gt;
{{hl1msg|byte|Flags}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= HostageK =&lt;br /&gt;
Temporarily draws a blinking red dot on the CT players' radar when a hostage is killed.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|HostageK|byte}}&lt;br /&gt;
{{hl1msg|byte|HostageID}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= HostagePos =&lt;br /&gt;
Draws/updates the blue mark on the CT players' radar which is indicate the corresponding hostage position.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Is called with Flag set to 1 on player [[HUD]] full update.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|HostagePos|byte, byte, coord, coord, coord}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{hl1msg|byte|HostageID}}&lt;br /&gt;
{{hl1msg|coord|CoordX}}&lt;br /&gt;
{{hl1msg|coord|CoordY}}&lt;br /&gt;
{{hl1msg|coord|CoordZ}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= HudText =&lt;br /&gt;
Prints [[HUD]] text.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Prints message with specified style in titles.txt with small signs (like in HL)}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|HudText|string, byte, byte}}&lt;br /&gt;
{{hl1msg|string|TextCode}}&lt;br /&gt;
{{hl1msg|byte|InitHUDstyle}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= HudTextArgs =&lt;br /&gt;
Prints [[HUD]] text.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|An example of TextCode could be &amp;quot;#Hint_you_have_the_bomb&amp;quot;.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Prints message with specified style in titles.txt with Big signs (CS Default)}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|If you have a problems with specifing the last two arguments use 1 and 0 respectively.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|HudTextArgs|string, byte, byte}}&lt;br /&gt;
{{hl1msg|string|TextCode}}&lt;br /&gt;
{{hl1msg|byte|InitHUDstyle}}&lt;br /&gt;
{{hl1msg|byte|NumberOfSubMessages}}&lt;br /&gt;
{{hl1msg|string|SubMsg}}&lt;br /&gt;
{{hl1msg|string|SubMsg}}&lt;br /&gt;
{{hl1msg|string|...}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= HudTextPro =&lt;br /&gt;
Prints [[HUD]] text.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Prints message with specified style in titles.txt with Big signs (CS Default)}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|HudText|string, byte, byte}}&lt;br /&gt;
{{hl1msg|string|TextCode}}&lt;br /&gt;
{{hl1msg|byte|InitHUDstyle}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= InitHUD =&lt;br /&gt;
Initializes the [[HUD]].&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|InitHUD}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ItemPickup =&lt;br /&gt;
Temporarily draws correspoding item [[HUD]] icon in the middle of the right side of the screen.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Draw time is depend on the ''hud_drawhistory_time'' client CVar value.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ItemPickup|string}}&lt;br /&gt;
{{hl1msg|string|ItemName}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ItemStatus =&lt;br /&gt;
Notifies about carried items.&amp;lt;br&amp;gt;&lt;br /&gt;
Example of some item bits:&lt;br /&gt;
 1   (1&amp;lt;&amp;lt;0)  -  nightvision goggles&lt;br /&gt;
 2   (1&amp;lt;&amp;lt;1)  -  defusal kit&lt;br /&gt;
{{begin-hl1msg|ItemStatus|byte}}&lt;br /&gt;
{{hl1msg|byte|ItemsBitSum}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Location =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Location|byte, string}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{hl1msg|string|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Money =&lt;br /&gt;
Updates the Amount of money on the [[HUD]]. If the Flag is 1, the additional new-old [[HUD]] money amount difference will be also displayed.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Money|long, byte}}&lt;br /&gt;
{{hl1msg|long|Amount}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= MOTD =&lt;br /&gt;
Displays MOTD window.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Max. Text length is 60. Large MOTD is sent in multiple messages. For the message that is send a last MOTD part the Flag will be set to 1 and 0 otherwise.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|MOTD|byte, string}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{hl1msg|string|Text}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= NVGToggle =&lt;br /&gt;
Toggles night vision mode. For Flag: 1 is on, 0 is off.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|NVGToggle|byte}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Radar =&lt;br /&gt;
Draws/updates the dot on the [[HUD]] radar which is indicate the given player position.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Works for teammates only.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Radar|byte, coord, coord, coord}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{hl1msg|coord|CoordX}}&lt;br /&gt;
{{hl1msg|coord|CoordY}}&lt;br /&gt;
{{hl1msg|coord|CoordZ}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ReceiveW =&lt;br /&gt;
Tell the client which visual weather effect to be executed client side, if cl_weather client cvar is above 0.&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|Main part of CBasePlayer::SendWeatherInfo() function that is sent in CBasePlayer :: UpdateClientData() when player offset m_fInitHUD is 1&amp;lt;br&amp;gt;&lt;br /&gt;
(right after putinserver or after fullupdate command)&amp;lt;br&amp;gt;&lt;br /&gt;
Mode : 1 is for rain effect, 2 is for snow effect&amp;lt;br&amp;gt;&lt;br /&gt;
Though mode 0 is never sent by the game itself, removes weather effect&amp;lt;br&amp;gt;&lt;br /&gt;
Alternatively send mode 1 and mode 2 with judicious delays (time for effect to disappear) make both rain and snow effect}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ReceiveW|byte}}&lt;br /&gt;
{{hl1msg|byte|mode}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ReloadSound =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ReloadSound|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ReqState =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ReqState}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ResetHUD =&lt;br /&gt;
Resets the [[HUD]].&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ResetHUD}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= RoundTime =&lt;br /&gt;
Updates the round timer on the [[HUD]]. Time is in seconds.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|RoundTime|short}}&lt;br /&gt;
{{hl1msg|short|Time}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SayText =&lt;br /&gt;
Prints say [[HUD]] text. Second argument can be a predefined string or a custom one. In the last case the last two arguments isn't required.&amp;lt;br&amp;gt;&lt;br /&gt;
An examples of a predifined Counter-Strike string values: #Cstrike_Chat_AllDead, #Cstrike_Name_Change&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|For #Cstrike_Name_Change String2 is an old name and String3 is a new name.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|SayText|byte, string, string, string}}&lt;br /&gt;
{{hl1msg|byte|SenderID}}&lt;br /&gt;
{{hl1msg|string|String1}}&lt;br /&gt;
{{hl1msg|string|String2}}&lt;br /&gt;
{{hl1msg|string|String3}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Scenario =&lt;br /&gt;
If Active is 0, this display will be hidden. If Active is 1, 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.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|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.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[image:Cs_scenario_msg.jpg|frame|right|Scenario message in CS, using the following parameters: 1, d_mp5navy, 150]]&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Works in both CS and CZ!}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|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.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Scenario|byte, string, byte, short, short}}&lt;br /&gt;
{{hl1msg|byte|Active}}&lt;br /&gt;
{{hl1msg|string|Sprite}}&lt;br /&gt;
{{hl1msg|byte|Alpha}}&lt;br /&gt;
{{hl1msg|short|FlashRate}}&lt;br /&gt;
{{hl1msg|short|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ScoreAttrib =&lt;br /&gt;
Updates the scoreboard's attribute for the specified player. For the 2nd argument, 0 is nothing, (1&amp;lt;&amp;lt;0) i.e. 1 is dead, (1&amp;lt;&amp;lt;1) i.e. 2 is bomb, (1&amp;lt;&amp;lt;2) i.e. 4 is VIP.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|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.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ScoreAttrib|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{hl1msg|byte|Flags}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ScoreInfo =&lt;br /&gt;
Updates the scoreboard with the given player's Frags and Deaths.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|In CS the 4th argument is always equal to 0.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*See [http://www.amxmodx.org/funcwiki.php?go=module&amp;amp;id=4#const_teams CS Team Constants] for team indeces constants list.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ScoreInfo|byte, short, short, short, short}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{hl1msg|short|Frags}}&lt;br /&gt;
{{hl1msg|short|Deaths}}&lt;br /&gt;
{{hl1msg|short|ClassID?}}&lt;br /&gt;
{{hl1msg|short|TeamID}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ScreenFade =&lt;br /&gt;
Fades the screen.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Duration and HoldTime is in special units. 1 second is equal to (1&amp;lt;&amp;lt;12) i.e. 4096 units.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Flags (from HLSDK):&lt;br /&gt;
 FFADE_IN         0x0000 // Just here so we don't pass 0 into the function&lt;br /&gt;
 FFADE_OUT        0x0001 // Fade out (not in)&lt;br /&gt;
 FFADE_MODULATE   0x0002 // Modulate (don't blend)&lt;br /&gt;
 FFADE_STAYOUT    0x0004 // ignores the duration, stays faded out until new ScreenFade message received&lt;br /&gt;
{{begin-hl1msg|ScreenFade|short, short, short, byte, byte, byte, byte}}&lt;br /&gt;
{{hl1msg|short|Duration}}&lt;br /&gt;
{{hl1msg|short|HoldTime}}&lt;br /&gt;
{{hl1msg|short|Flags}}&lt;br /&gt;
{{hl1msg|byte|ColorR}}&lt;br /&gt;
{{hl1msg|byte|ColorG}}&lt;br /&gt;
{{hl1msg|byte|ColorB}}&lt;br /&gt;
{{hl1msg|byte|Alpha}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ScreenShake =&lt;br /&gt;
Shakes the screen.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|All arguments is in special units. 1 second is equal to (1&amp;lt;&amp;lt;12) i.e. 4096 units.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ScreenShake|short, short, short}}&lt;br /&gt;
{{hl1msg|short|Amplitude}}&lt;br /&gt;
{{hl1msg|short|Duration}}&lt;br /&gt;
{{hl1msg|short|Frequency}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SendAudio =&lt;br /&gt;
Plays the specified audio. An example of AudioCode could be &amp;quot;%!MRAD_rounddraw&amp;quot;.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|SendAudio|byte, string, short}}&lt;br /&gt;
{{hl1msg|byte|SenderID}}&lt;br /&gt;
{{hl1msg|string|AudioCode}}&lt;br /&gt;
{{hl1msg|short|Pitch}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ServerName =&lt;br /&gt;
Sends a server name to a client.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ServerName|string}}&lt;br /&gt;
{{hl1msg|string|ServerName}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SetFOV =&lt;br /&gt;
Sets the specified field of view.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|SetFOV|byte}}&lt;br /&gt;
{{hl1msg|byte|Degrees}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ShadowIdx =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ShadowIdx|long}}&lt;br /&gt;
{{hl1msg|long|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ShowMenu =&lt;br /&gt;
Displays a &amp;quot;menu&amp;quot; to a player (text on the left side of the screen). Acts like AMXX's show_menu (in fact, this is how AMXX shows a menu).&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|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.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ShowMenu|short, char, byte, string}}&lt;br /&gt;
{{hl1msg|short|KeysBitSum}}&lt;br /&gt;
{{hl1msg|char|Time}}&lt;br /&gt;
{{hl1msg|byte|Multipart}}&lt;br /&gt;
{{hl1msg|string|Text}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ShowTimer =&lt;br /&gt;
Forces the round timer displaying.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ShowTimer}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SpecHealth =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|SpecHealth|byte}}&lt;br /&gt;
{{hl1msg|byte|Health?}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SpecHealth2 =&lt;br /&gt;
Updates the observer's screen with a name and health of the given player.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|SpecHealth2|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|Health}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Spectator =&lt;br /&gt;
Called when player becomes an observer/spectator.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|On join to Spectators usually is fired twice in a row.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Spectator|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|ClientID}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= StatusIcon =&lt;br /&gt;
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 is required only if Status aren't equal to 0.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|StatusIcon|byte, string, byte, byte, byte}}&lt;br /&gt;
{{hl1msg|byte|Status}}&lt;br /&gt;
{{hl1msg|string|SpriteName}}&lt;br /&gt;
{{hl1msg|byte|ColorR}}&lt;br /&gt;
{{hl1msg|byte|ColorG}}&lt;br /&gt;
{{hl1msg|byte|ColorB}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= StatusValue =&lt;br /&gt;
Sends/updates the status values. For the Flag 1 the Value is TeamRelation, for 2 is PlayerID, for 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.&amp;lt;br&amp;gt;&lt;br /&gt;
Usually is fired as a triple message, for example:&lt;br /&gt;
 {1,  2}  -  non-teammate player&lt;br /&gt;
 {2, 17}  -  player index is 17&lt;br /&gt;
 {3, 59}  -  player health is 59&lt;br /&gt;
{{begin-hl1msg|StatusValue|byte, short}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{hl1msg|short|Value}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= StatusText =&lt;br /&gt;
Specifies the status text format.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|StatusText|byte, string}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{hl1msg|string|Text}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TaskTime =&lt;br /&gt;
Displays a secondary timer above the round timer. Used for Condition Zero singleplayer missions.&amp;lt;br&amp;gt;&lt;br /&gt;
If Time is -1, timer dissappears. If Time is any other negative value, it is displayed as green instead of yellow, and considered positive.&amp;lt;br&amp;gt;&lt;br /&gt;
If Active is true, timer counts down. Otherwise, it is paused.&amp;lt;br&amp;gt;If Fade is above zero, the timer will slowly fade out after that many seconds have passed (even if the timer is inactive).&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This event can only be used on missions that have an objective requiring a secondary timer!}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|TaskTime|short, byte, byte}}&lt;br /&gt;
{{hl1msg|short|Time}}&lt;br /&gt;
{{hl1msg|byte|Active}}&lt;br /&gt;
{{hl1msg|byte|Fade}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TeamInfo =&lt;br /&gt;
Sets the team information for the given player.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|In CS TeamName is either &amp;quot;UNASSIGNED&amp;quot;, &amp;quot;TERRORIST&amp;quot;, &amp;quot;CT&amp;quot; or &amp;quot;SPECTATOR&amp;quot;.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|TeamInfo|byte, string}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{hl1msg|string|TeamName}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TeamScore =&lt;br /&gt;
Updates the team score on the score board.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|In CS TeamName is either &amp;quot;TERRORIST&amp;quot; or &amp;quot;CT&amp;quot;.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|TeamScore|string, short}}&lt;br /&gt;
{{hl1msg|string|TeamName}}&lt;br /&gt;
{{hl1msg|short|Score}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TextMsg =&lt;br /&gt;
Prints a cutom/or predefined text message.&amp;lt;br&amp;gt;&lt;br /&gt;
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:&lt;br /&gt;
 Arg1: 1&lt;br /&gt;
 Arg2: #Game_join_ct&lt;br /&gt;
 Arg3: Pimp Daddy&lt;br /&gt;
{{begin-hl1msg|TextMsg|byte, string, string, string, string, string}}&lt;br /&gt;
{{hl1msg|byte|DestinationType}}&lt;br /&gt;
{{hl1msg|string|Message}}&lt;br /&gt;
{{hl1msg|string|Submsg}}&lt;br /&gt;
{{hl1msg|string|Submsg}}&lt;br /&gt;
{{hl1msg|string|Submsg}}&lt;br /&gt;
{{hl1msg|string|Submsg}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Train =&lt;br /&gt;
Displays the speed bar used for controlling a train.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Speed is as follows: 0 (disable display), 1 (reverse), 2 (neutral), 3 (slow speed), 4 (medium speed), 5 (maximum speed)}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Train|byte}}&lt;br /&gt;
{{hl1msg|byte|Speed}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TutorClose =&lt;br /&gt;
Closes all CZ-style tutor popups.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|TutorClose}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TutorLine =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|TutorLine}}&lt;br /&gt;
{{hl1msg|short|Unknown1}}&lt;br /&gt;
{{hl1msg|short|Unknown2}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TutorState =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|TutorState }}&lt;br /&gt;
{{hl1msg|string|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TutorText =&lt;br /&gt;
Used to display a CZ-style tutor popup.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|If NumberOfSubMsgs is higher than 0, there should be such amount of write_string after this byte.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Special thanks goes to '''Lt.Rat''' for his ninja skills.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pawn&amp;gt;#define Default		1	// 1&amp;lt;&amp;lt;0 | GREEN  | INFO&lt;br /&gt;
#define FriendDeath	2	// 1&amp;lt;&amp;lt;1 | RED    | SKULL&lt;br /&gt;
#define EnemyDeath	4	// 1&amp;lt;&amp;lt;2 | BLUE   | SKULL&lt;br /&gt;
#define Scenario	8	// 1&amp;lt;&amp;lt;3 | YELLOW | INFO&lt;br /&gt;
#define Buy		16	// 1&amp;lt;&amp;lt;4 | GREEN  | INFO&lt;br /&gt;
#define Career		32	// 1&amp;lt;&amp;lt;5 | GREEN  | INFO&lt;br /&gt;
#define Hint		64	// 1&amp;lt;&amp;lt;6 | GREEN  | INFO&lt;br /&gt;
#define InGameHint	128	// 1&amp;lt;&amp;lt;7 | GREEN  | INFO&lt;br /&gt;
#define EndGame		256	// 1&amp;lt;&amp;lt;8 | YELLOW | INFO&amp;lt;/pawn&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|TutorText|string, byte, short, short, short}}&lt;br /&gt;
{{hl1msg|string|String}}&lt;br /&gt;
{{hl1msg|byte|NumberOfSubMsgs}}&lt;br /&gt;
{{hl1msg|short|Unknown}}&lt;br /&gt;
{{hl1msg|short|Unknown (0 or 1)}}&lt;br /&gt;
{{hl1msg|short|Type}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ViewMode =&lt;br /&gt;
{{qnotice|No Information available for this message (HLSDK says this switches to first-person view, but it doesn't seem to function as so).}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ViewMode}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= VGUIMenu =&lt;br /&gt;
Displays a predefined VGUI menu.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|VGUIMenu|byte, short, char, byte, string}}&lt;br /&gt;
{{hl1msg|byte|MenuID}}&lt;br /&gt;
{{hl1msg|short|KeysBitSum}}&lt;br /&gt;
{{hl1msg|char|Time?}}&lt;br /&gt;
{{hl1msg|byte|Multipart?}}&lt;br /&gt;
{{hl1msg|string|Name?}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= VoiceMask =&lt;br /&gt;
Used to tell a client who he can hear over the microphone.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|VoiceMask|long, long}}&lt;br /&gt;
{{hl1msg|long|AudiblePlayersIndexBitSum}}&lt;br /&gt;
{{hl1msg|long|ServerBannedPlayersIndexBitSum}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= WeaponList =&lt;br /&gt;
Configures the [[HUD]] weapons list.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Fired on map initialization.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|SlotID starts from 0.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Flags (from HLSDK):&lt;br /&gt;
 ITEM_FLAG_SELECTONEMPTY       1&lt;br /&gt;
 ITEM_FLAG_NOAUTORELOAD        2&lt;br /&gt;
 ITEM_FLAG_NOAUTOSWITCHEMPTY   4&lt;br /&gt;
 ITEM_FLAG_LIMITINWORLD        8&lt;br /&gt;
 ITEM_FLAG_EXHAUSTIBLE        16 // A player can totally exhaust their ammo supply and lose this weapon.&lt;br /&gt;
{{qnotice|See [[CS Weapons Information]] for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|WeaponList|string, byte, byte, byte, byte, byte, byte, byte, byte}}&lt;br /&gt;
{{hl1msg|string|WeaponName}}&lt;br /&gt;
{{hl1msg|byte|PrimaryAmmoID}}&lt;br /&gt;
{{hl1msg|byte|PrimaryAmmoMaxAmount}}&lt;br /&gt;
{{hl1msg|byte|SecondaryAmmoID}}&lt;br /&gt;
{{hl1msg|byte|SecondaryAmmoMaxAmount}}&lt;br /&gt;
{{hl1msg|byte|SlotID}}&lt;br /&gt;
{{hl1msg|byte|NumberInSlot}}&lt;br /&gt;
{{hl1msg|byte|WeaponID}}&lt;br /&gt;
{{hl1msg|byte|Flags}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= WeapPickup =&lt;br /&gt;
Temporarily draws correspoding weapon [[HUD]] icon in the middle of the right side of the screen.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Draw time is depend on the ''hud_drawhistory_time'' client CVar value.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Is fired right before weapon is picked up (notice ''&amp;quot;before&amp;quot;'').}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|See [[CS Weapons Information]] for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|WeapPickup|byte}}&lt;br /&gt;
{{hl1msg|byte|WeaponID}}&lt;br /&gt;
{{end-hl1msg}}&lt;/div&gt;</summary>
		<author><name>ConnorMcLeod</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.alliedmods.net/index.php?title=Half-Life_1_Game_Events&amp;diff=7957</id>
		<title>Half-Life 1 Game Events</title>
		<link rel="alternate" type="text/html" href="https://wiki.alliedmods.net/index.php?title=Half-Life_1_Game_Events&amp;diff=7957"/>
		<updated>2011-02-09T21:01:33Z</updated>

		<summary type="html">&lt;p&gt;ConnorMcLeod: /* TutorText */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Half-Life 1]]&lt;br /&gt;
[[Category:Scripting (AMX Mod X)]]&lt;br /&gt;
&lt;br /&gt;
= Introduction =&lt;br /&gt;
&lt;br /&gt;
In [[AMX Mod X]] you are able to hook in-game messages/events with [http://www.amxmodx.org/funcwiki.php?search=register_message&amp;amp;go=search register_message] / [http://www.amxmodx.org/funcwiki.php?go=func&amp;amp;id=26 register_event]. Here are the list of messages/events and their arguments which can be read with [http://www.amxmodx.org/funcwiki.php?search=get_msg_arg_&amp;amp;go=search get_msg_arg_*] / [http://www.amxmodx.org/funcwiki.php?go=func&amp;amp;id=132 read_data].&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
*See the [[Advanced Scripting (AMX Mod X)#Events.2FMessages|Advanced Scripting]] article for more on events and messages.&amp;lt;br&amp;gt;&lt;br /&gt;
*See messages.inc and message_const.inc from amxmodx/scriptong/include folder or [http://www.amxmodx.org/funcwiki.php?go=inc&amp;amp;id=47 Messaging functions] and [http://www.amxmodx.org/funcwiki.php?go=inc&amp;amp;id=48 Message constants] for full messages control including blocking, argument alteration and much more.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= ADStop =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ADStop}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= AllowSpec =&lt;br /&gt;
Changes whether or not &amp;quot;SPECTATE&amp;quot; appears on the change team menu. Called whenever the allow_spectators CVar is changed, with its new value sent as the byte.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This changes how the change team menu appears, but spectating functionality is based off of the actual CVar value.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|AllowSpec|byte}}&lt;br /&gt;
{{hl1msg|byte|Allowed}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= AmmoPickup =&lt;br /&gt;
Temporarily draws [[HUD]] ammo amount and correspoding ammo [[HUD]] icon in the middle of the right side of the screen.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Draw time is depend on the ''hud_drawhistory_time'' client CVar value.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|See [[CS Weapons Information]] for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|AmmoPickup|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|AmmoID}}&lt;br /&gt;
{{hl1msg|byte|Ammount}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= AmmoX =&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|See [[CS Weapons Information]] for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|AmmoX|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|AmmoID}}&lt;br /&gt;
{{hl1msg|byte|Ammount}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ArmorType =&lt;br /&gt;
Draws/removes helmet [[HUD]] icon. If flag is set to 1 the helmet [[HUD]] icon will be drawn (located right on the armor icon).&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ArmorType|byte}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BarTime =&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Set Duration to 0 to hide the bar.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|BarTime|short}}&lt;br /&gt;
{{hl1msg|short|Duration}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BarTime2 =&lt;br /&gt;
The same as BarTime but StartPercents is specify how many per cents of the bar are (already) filled.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Display time can be calculated with this formula: ''(1 - (StartPercents / 100)) / Duration''}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|BarTime2|short, short}}&lt;br /&gt;
{{hl1msg|short|Duration}}&lt;br /&gt;
{{hl1msg|short|StartPercents}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Battery =&lt;br /&gt;
Updates the icon and the number of armor on the [[HUD]].&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Battery|short}}&lt;br /&gt;
{{hl1msg|short|Armor}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BlinkAcct =&lt;br /&gt;
Makes a player's money display flash rapidly, until it flashes a total of BlinkAmt times.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|BlinkAcct|byte}}&lt;br /&gt;
{{hl1msg|byte|BlinkAmt}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BombDrop =&lt;br /&gt;
The first three arguments are the origin of the dropped bomb. The last argument is set to 1 if the bomb has been planted. It is 0 if the bomb was dropped due to voluntary dropping or death/disconnect. Setting the last argument 1, will also 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.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|BombDrop|coord, coord, coord, byte}}&lt;br /&gt;
{{hl1msg|coord|CoordX}}&lt;br /&gt;
{{hl1msg|coord|CoordY}}&lt;br /&gt;
{{hl1msg|coord|CoordZ}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BombPickup =&lt;br /&gt;
This message just tells the game that the bomb has been picked up. It will cause the dropped/planted bomb to disappear from the Terrorist team's radar.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|BombPickup}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BotProgress =&lt;br /&gt;
Used by CZ's bots when learning a new map. 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.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|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.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|BotProgress|byte, byte, string}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{hl1msg|byte|Progress}}&lt;br /&gt;
{{hl1msg|string|Header}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BotVoice =&lt;br /&gt;
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 by regular players, although you &amp;lt;i&amp;gt;can&amp;lt;/i&amp;gt; specify a regular player (non-bot) for the PlayerIndex. Status is 1 for talking, or 0 for not talking.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|BotVoice|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|Status}}&lt;br /&gt;
{{hl1msg|byte|PlayerIndex}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Brass =&lt;br /&gt;
Creates a brass shell. Used, for example, by the AWP, after firing.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Brass|byte, coord, coord, coord, coord, coord, coord, coord, coord, coord, angle, short, byte, byte, byte}}&lt;br /&gt;
{{hl1msg|byte|MessageID}}&lt;br /&gt;
{{hl1msg|coord|StartX}}&lt;br /&gt;
{{hl1msg|coord|StartY}}&lt;br /&gt;
{{hl1msg|coord|StartZ}}&lt;br /&gt;
{{hl1msg|coord|VelocityX?}}&lt;br /&gt;
{{hl1msg|coord|VelocityY?}}&lt;br /&gt;
{{hl1msg|coord|VelocityZ?}}&lt;br /&gt;
{{hl1msg|coord|UnknownX}}&lt;br /&gt;
{{hl1msg|coord|UnknownY}}&lt;br /&gt;
{{hl1msg|coord|UnknownZ}}&lt;br /&gt;
{{hl1msg|angle|Rotation}}&lt;br /&gt;
{{hl1msg|short|ModelIndex}}&lt;br /&gt;
{{hl1msg|byte|BounceSoundType}}&lt;br /&gt;
{{hl1msg|byte|Life}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BuyClose =&lt;br /&gt;
Forces the buy menu to close. This is not called when the player closes the buy menu by himself; it's only called when the game forces him to do so (ie: he walks outside of the buy zone, gets killed, etcetera).&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|BuyClose}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ClCorpse =&lt;br /&gt;
Spawns a player's corpse. ModelName is the player's model name, for example: &amp;quot;leet&amp;quot;. Delay is a delay before animation plaback, can be negative value.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Coord and Delay is multiplied by 128.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|In CS argument #10 is always equal to 0.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*See [http://www.amxmodx.org/funcwiki.php?go=module&amp;amp;id=4#const_teams CS Team Constants] for team indeces constants list.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ClCorpse|string, long, long, long, coord, coord, coord, long, byte, byte, byte, byte}}&lt;br /&gt;
{{hl1msg|string|ModelName}}&lt;br /&gt;
{{hl1msg|long|CoordX}}&lt;br /&gt;
{{hl1msg|long|CoordY}}&lt;br /&gt;
{{hl1msg|long|CoordZ}}&lt;br /&gt;
{{hl1msg|coord|Angle0}}&lt;br /&gt;
{{hl1msg|coord|Angle1}}&lt;br /&gt;
{{hl1msg|coord|Angle2}}&lt;br /&gt;
{{hl1msg|long|Delay}}&lt;br /&gt;
{{hl1msg|byte|Sequence}}&lt;br /&gt;
{{hl1msg|byte|ClassID?}}&lt;br /&gt;
{{hl1msg|byte|TeamID}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Crosshair =&lt;br /&gt;
Draws/removes a crosshair. If Flag is set to 1 the crosshair will be drawn.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This crossair looks not like the regular one but like the one that is drawn in the spectator mode.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Crosshair|byte}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= CurWeapon =&lt;br /&gt;
Updates the clip ammo number and weapon's corresponding ammo type icon on the [[HUD]].&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|See [[CS Weapons Information]] for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|CurWeapon|byte, byte, byte}}&lt;br /&gt;
{{hl1msg|byte|IsActive}}&lt;br /&gt;
{{hl1msg|byte|WeaponID}}&lt;br /&gt;
{{hl1msg|byte|ClipAmmo}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= CZCareer =&lt;br /&gt;
Supplies certain updates to the player regarding Condition Zero singleplayer missions.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|See the [[CZCareer]] page for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|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).}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|The Type argument is case-sensitive.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This event does nothing in CS and CZ multiplayer.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|CZCareer|string,*}}&lt;br /&gt;
{{hl1msg|string|Type}}&lt;br /&gt;
{{hl1msg|*|Parameters}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= CZCareerHUD =&lt;br /&gt;
Displays certain [[HUD]] elements regarding Condition Zero singleplayer missions.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|See the [[CZCareerHUD]] page for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|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).}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|The Type argument is case-sensitive.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This event has some limited functionality in CS and CZ multiplayer (albeit better in CZ).}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|CZCareerHUD|string,*}}&lt;br /&gt;
{{hl1msg|string|Type}}&lt;br /&gt;
{{hl1msg|*|Parameters}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Damage =&lt;br /&gt;
Called when a player takes damage, to display the red locational indicators. The last three arguments is the origin of the damage inflictor or victim origin if inflictor isn't found. DamageType is a bitwise value usually consist of a single bit.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|To caputure this message,you should use &amp;quot;b&amp;quot; as the third parameter in the register_event() function.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Damage|byte, byte, long, coord, coord, coord}}&lt;br /&gt;
{{hl1msg|byte|DamageSave}}&lt;br /&gt;
{{hl1msg|byte|DamageTake}}&lt;br /&gt;
{{hl1msg|long|DamageType}}&lt;br /&gt;
{{hl1msg|coord|CoordX}}&lt;br /&gt;
{{hl1msg|coord|CoordY}}&lt;br /&gt;
{{hl1msg|coord|CoordZ}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= DeathMsg =&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
Also prints the console text message &amp;quot;KillerName killed VictimName with TruncatedWeaponName&amp;quot; or &amp;quot;*** KillerName killed VictimName with a headshot from TruncatedWeaponName ***&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|TruncatedWeaponName doesn't contain a &amp;quot;weapon_&amp;quot; prefix. See [[CS Weapons Information]] for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|For grenade kill TruncatedWeaponName isn't &amp;quot;hegrenade&amp;quot; but &amp;quot;grenade&amp;quot;, in fact it's an actual classname of a throwed grenade.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|For KillerID it's not necessarily should be a PlayerID, it could be 0 if player dies from fall/acid/radiation/fire/etc damage/lack of oxygen or from touch to a &amp;quot;trigger_hurt&amp;quot; entity, in this case TruncatedWeaponName will be &amp;quot;worldspawn&amp;quot; and &amp;quot;trigger_hurt&amp;quot; respectively.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|For vehicle kills TruncatedWeaponName could be &amp;quot;vehicle&amp;quot;, &amp;quot;tank&amp;quot; et cetera.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|DeathMsg|byte, byte, byte, string}}&lt;br /&gt;
{{hl1msg|byte|KillerID}}&lt;br /&gt;
{{hl1msg|byte|VictimID}}&lt;br /&gt;
{{hl1msg|byte|IsHeadshot}}&lt;br /&gt;
{{hl1msg|string|TruncatedWeaponName}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= FlashBat =&lt;br /&gt;
Updates the flashlight battery charge on the [[HUD]].&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|FlashBat|byte}}&lt;br /&gt;
{{hl1msg|byte|ChargePercents}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Flashlight =&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Flashlight|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{hl1msg|byte|ChargePercents}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Fog =&lt;br /&gt;
{{qnotice|mp_Fog 1 for fog in counter-strike}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|Fog|byte, byte, byte}}&lt;br /&gt;
{{hl1msg|byte|FogValue}}&lt;br /&gt;
{{hl1msg|byte|FogValue}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ForceCam =&lt;br /&gt;
Called whenever mp_forcecam or mp_forcechasecam are changed, with their new values passed. There is assumedly a third CVar that this tracks, but it is yet unknown. Note that this message doesn't actually change any of the spectating rules for the client.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Even if mp_forcechasecam is set to 2, it is sent by this message as 1.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ForceCam|byte, byte, byte}}&lt;br /&gt;
{{hl1msg|byte|ForcecamValue}}&lt;br /&gt;
{{hl1msg|byte|ForcechasecamValue}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= GameMode =&lt;br /&gt;
&lt;br /&gt;
Informs player of current game mode&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|GameMode|byte}}&lt;br /&gt;
{{hl1msg|byte|Game mode}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= GameTitle =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|GameTitle|byte}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Geiger =&lt;br /&gt;
Notifies about radiation level through special sound signals. Distance is a distance to hazard area.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Geiger|byte}}&lt;br /&gt;
{{hl1msg|byte|Distance}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Health =&lt;br /&gt;
Updates the number of health on the [[HUD]].&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Health|byte}}&lt;br /&gt;
{{hl1msg|byte|Health}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= HideWeapon =&lt;br /&gt;
Hides the specified [[HUD]] elements.&amp;lt;br&amp;gt;&lt;br /&gt;
Flags:&lt;br /&gt;
   1   (1&amp;lt;&amp;lt;0)  -  crosshair, ammo, weapons list&lt;br /&gt;
   2   (1&amp;lt;&amp;lt;1)  -  flashlight, +&lt;br /&gt;
   4   (1&amp;lt;&amp;lt;2)  -  ALL&lt;br /&gt;
   8   (1&amp;lt;&amp;lt;3)  -  radar, health, armor, +&lt;br /&gt;
  16   (1&amp;lt;&amp;lt;4)  -  timer, +&lt;br /&gt;
  32   (1&amp;lt;&amp;lt;5)  -  money, +&lt;br /&gt;
  64   (1&amp;lt;&amp;lt;6)  -  crosshair&lt;br /&gt;
 128   (1&amp;lt;&amp;lt;7)  -  +&lt;br /&gt;
Symbol + mean that an additional crosshair will be drawn. That crosshair looks exactly like the one from Crosshair message.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|HideWeapon|byte}}&lt;br /&gt;
{{hl1msg|byte|Flags}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= HLTV =&lt;br /&gt;
Message sent for HLTV and unique for each round-start.&amp;lt;br&amp;gt;&lt;br /&gt;
On new round is fired 2 messages:&lt;br /&gt;
 // reset all players health for HLTV&lt;br /&gt;
 MESSAGE_BEGIN( MSG_SPEC, gmsgHLTV );&lt;br /&gt;
 WRITE_BYTE( 0 );   // 0 = all players&lt;br /&gt;
 WRITE_BYTE( 100 | 128 );&lt;br /&gt;
 MESSAGE_END();&amp;lt;br&amp;gt;&lt;br /&gt;
 // reset all players FOV for HLTV&lt;br /&gt;
 MESSAGE_BEGIN( MSG_SPEC, gmsgHLTV );&lt;br /&gt;
 WRITE_BYTE( 0 );   // all players&lt;br /&gt;
 WRITE_BYTE( 0 );&lt;br /&gt;
 MESSAGE_END();&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|HLTV|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|ClientID}}&lt;br /&gt;
{{hl1msg|byte|Flags}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= HostageK =&lt;br /&gt;
Temporarily draws a blinking red dot on the CT players' radar when a hostage is killed.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|HostageK|byte}}&lt;br /&gt;
{{hl1msg|byte|HostageID}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= HostagePos =&lt;br /&gt;
Draws/updates the blue mark on the CT players' radar which is indicate the corresponding hostage position.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Is called with Flag set to 1 on player [[HUD]] full update.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|HostagePos|byte, byte, coord, coord, coord}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{hl1msg|byte|HostageID}}&lt;br /&gt;
{{hl1msg|coord|CoordX}}&lt;br /&gt;
{{hl1msg|coord|CoordY}}&lt;br /&gt;
{{hl1msg|coord|CoordZ}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= HudText =&lt;br /&gt;
Prints [[HUD]] text.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Prints message with specified style in titles.txt with small signs (like in HL)}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|HudText|string, byte, byte}}&lt;br /&gt;
{{hl1msg|string|TextCode}}&lt;br /&gt;
{{hl1msg|byte|InitHUDstyle}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= HudTextArgs =&lt;br /&gt;
Prints [[HUD]] text.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|An example of TextCode could be &amp;quot;#Hint_you_have_the_bomb&amp;quot;.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Prints message with specified style in titles.txt with Big signs (CS Default)}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|If you have a problems with specifing the last two arguments use 1 and 0 respectively.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|HudTextArgs|string, byte, byte}}&lt;br /&gt;
{{hl1msg|string|TextCode}}&lt;br /&gt;
{{hl1msg|byte|InitHUDstyle}}&lt;br /&gt;
{{hl1msg|byte|NumberOfSubMessages}}&lt;br /&gt;
{{hl1msg|string|SubMsg}}&lt;br /&gt;
{{hl1msg|string|SubMsg}}&lt;br /&gt;
{{hl1msg|string|...}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= HudTextPro =&lt;br /&gt;
Prints [[HUD]] text.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Prints message with specified style in titles.txt with Big signs (CS Default)}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|HudText|string, byte, byte}}&lt;br /&gt;
{{hl1msg|string|TextCode}}&lt;br /&gt;
{{hl1msg|byte|InitHUDstyle}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= InitHUD =&lt;br /&gt;
Initializes the [[HUD]].&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|InitHUD}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ItemPickup =&lt;br /&gt;
Temporarily draws correspoding item [[HUD]] icon in the middle of the right side of the screen.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Draw time is depend on the ''hud_drawhistory_time'' client CVar value.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ItemPickup|string}}&lt;br /&gt;
{{hl1msg|string|ItemName}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ItemStatus =&lt;br /&gt;
Notifies about carried items.&amp;lt;br&amp;gt;&lt;br /&gt;
Example of some item bits:&lt;br /&gt;
 1   (1&amp;lt;&amp;lt;0)  -  nightvision goggles&lt;br /&gt;
 2   (1&amp;lt;&amp;lt;1)  -  defusal kit&lt;br /&gt;
{{begin-hl1msg|ItemStatus|byte}}&lt;br /&gt;
{{hl1msg|byte|ItemsBitSum}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Location =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Location|byte, string}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{hl1msg|string|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Money =&lt;br /&gt;
Updates the Amount of money on the [[HUD]]. If the Flag is 1, the additional new-old [[HUD]] money amount difference will be also displayed.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Money|long, byte}}&lt;br /&gt;
{{hl1msg|long|Amount}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= MOTD =&lt;br /&gt;
Displays MOTD window.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Max. Text length is 60. Large MOTD is sent in multiple messages. For the message that is send a last MOTD part the Flag will be set to 1 and 0 otherwise.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|MOTD|byte, string}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{hl1msg|string|Text}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= NVGToggle =&lt;br /&gt;
Toggles night vision mode. For Flag: 1 is on, 0 is off.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|NVGToggle|byte}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Radar =&lt;br /&gt;
Draws/updates the dot on the [[HUD]] radar which is indicate the given player position.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Works for teammates only.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Radar|byte, coord, coord, coord}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{hl1msg|coord|CoordX}}&lt;br /&gt;
{{hl1msg|coord|CoordY}}&lt;br /&gt;
{{hl1msg|coord|CoordZ}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ReceiveW =&lt;br /&gt;
Tell the client which visual weather effect to be executed client side, if cl_weather client cvar is above 0.&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|Main part of CBasePlayer::SendWeatherInfo() function that is sent in CBasePlayer :: UpdateClientData() when player offset m_fInitHUD is 1&amp;lt;br&amp;gt;&lt;br /&gt;
(right after putinserver or after fullupdate command)&amp;lt;br&amp;gt;&lt;br /&gt;
Mode : 1 is for rain effect, 2 is for snow effect&amp;lt;br&amp;gt;&lt;br /&gt;
Though mode 0 is never sent by the game itself, removes weather effect&amp;lt;br&amp;gt;&lt;br /&gt;
Alternatively send mode 1 and mode 2 with judicious delays (time for effect to disappear) make both rain and snow effect}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ReceiveW|byte}}&lt;br /&gt;
{{hl1msg|byte|mode}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ReloadSound =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ReloadSound|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ReqState =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ReqState}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ResetHUD =&lt;br /&gt;
Resets the [[HUD]].&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ResetHUD}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= RoundTime =&lt;br /&gt;
Updates the round timer on the [[HUD]]. Time is in seconds.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|RoundTime|short}}&lt;br /&gt;
{{hl1msg|short|Time}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SayText =&lt;br /&gt;
Prints say [[HUD]] text. Second argument can be a predefined string or a custom one. In the last case the last two arguments isn't required.&amp;lt;br&amp;gt;&lt;br /&gt;
An examples of a predifined Counter-Strike string values: #Cstrike_Chat_AllDead, #Cstrike_Name_Change&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|For #Cstrike_Name_Change String2 is an old name and String3 is a new name.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|SayText|byte, string, string, string}}&lt;br /&gt;
{{hl1msg|byte|SenderID}}&lt;br /&gt;
{{hl1msg|string|String1}}&lt;br /&gt;
{{hl1msg|string|String2}}&lt;br /&gt;
{{hl1msg|string|String3}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Scenario =&lt;br /&gt;
If Active is 0, this display will be hidden. If Active is 1, 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.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|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.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[image:Cs_scenario_msg.jpg|frame|right|Scenario message in CS, using the following parameters: 1, d_mp5navy, 150]]&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Works in both CS and CZ!}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|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.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Scenario|byte, string, byte, short, short}}&lt;br /&gt;
{{hl1msg|byte|Active}}&lt;br /&gt;
{{hl1msg|string|Sprite}}&lt;br /&gt;
{{hl1msg|byte|Alpha}}&lt;br /&gt;
{{hl1msg|short|FlashRate}}&lt;br /&gt;
{{hl1msg|short|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ScoreAttrib =&lt;br /&gt;
Updates the scoreboard's attribute for the specified player. For the 2nd argument, 0 is nothing, (1&amp;lt;&amp;lt;0) i.e. 1 is dead, (1&amp;lt;&amp;lt;1) i.e. 2 is bomb, (1&amp;lt;&amp;lt;2) i.e. 4 is VIP.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|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.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ScoreAttrib|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{hl1msg|byte|Flags}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ScoreInfo =&lt;br /&gt;
Updates the scoreboard with the given player's Frags and Deaths.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|In CS the 4th argument is always equal to 0.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*See [http://www.amxmodx.org/funcwiki.php?go=module&amp;amp;id=4#const_teams CS Team Constants] for team indeces constants list.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ScoreInfo|byte, short, short, short, short}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{hl1msg|short|Frags}}&lt;br /&gt;
{{hl1msg|short|Deaths}}&lt;br /&gt;
{{hl1msg|short|ClassID?}}&lt;br /&gt;
{{hl1msg|short|TeamID}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ScreenFade =&lt;br /&gt;
Fades the screen.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Duration and HoldTime is in special units. 1 second is equal to (1&amp;lt;&amp;lt;12) i.e. 4096 units.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Flags (from HLSDK):&lt;br /&gt;
 FFADE_IN         0x0000 // Just here so we don't pass 0 into the function&lt;br /&gt;
 FFADE_OUT        0x0001 // Fade out (not in)&lt;br /&gt;
 FFADE_MODULATE   0x0002 // Modulate (don't blend)&lt;br /&gt;
 FFADE_STAYOUT    0x0004 // ignores the duration, stays faded out until new ScreenFade message received&lt;br /&gt;
{{begin-hl1msg|ScreenFade|short, short, short, byte, byte, byte, byte}}&lt;br /&gt;
{{hl1msg|short|Duration}}&lt;br /&gt;
{{hl1msg|short|HoldTime}}&lt;br /&gt;
{{hl1msg|short|Flags}}&lt;br /&gt;
{{hl1msg|byte|ColorR}}&lt;br /&gt;
{{hl1msg|byte|ColorG}}&lt;br /&gt;
{{hl1msg|byte|ColorB}}&lt;br /&gt;
{{hl1msg|byte|Alpha}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ScreenShake =&lt;br /&gt;
Shakes the screen.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|All arguments is in special units. 1 second is equal to (1&amp;lt;&amp;lt;12) i.e. 4096 units.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ScreenShake|short, short, short}}&lt;br /&gt;
{{hl1msg|short|Amplitude}}&lt;br /&gt;
{{hl1msg|short|Duration}}&lt;br /&gt;
{{hl1msg|short|Frequency}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SendAudio =&lt;br /&gt;
Plays the specified audio. An example of AudioCode could be &amp;quot;%!MRAD_rounddraw&amp;quot;.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|SendAudio|byte, string, short}}&lt;br /&gt;
{{hl1msg|byte|SenderID}}&lt;br /&gt;
{{hl1msg|string|AudioCode}}&lt;br /&gt;
{{hl1msg|short|Pitch}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ServerName =&lt;br /&gt;
Sends a server name to a client.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ServerName|string}}&lt;br /&gt;
{{hl1msg|string|ServerName}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SetFOV =&lt;br /&gt;
Sets the specified field of view.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|SetFOV|byte}}&lt;br /&gt;
{{hl1msg|byte|Degrees}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ShadowIdx =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ShadowIdx|long}}&lt;br /&gt;
{{hl1msg|long|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ShowMenu =&lt;br /&gt;
Displays a &amp;quot;menu&amp;quot; to a player (text on the left side of the screen). Acts like AMXX's show_menu (in fact, this is how AMXX shows a menu).&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|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.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ShowMenu|short, char, byte, string}}&lt;br /&gt;
{{hl1msg|short|KeysBitSum}}&lt;br /&gt;
{{hl1msg|char|Time}}&lt;br /&gt;
{{hl1msg|byte|Multipart}}&lt;br /&gt;
{{hl1msg|string|Text}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ShowTimer =&lt;br /&gt;
Forces the round timer displaying.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ShowTimer}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SpecHealth =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|SpecHealth|byte}}&lt;br /&gt;
{{hl1msg|byte|Health?}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SpecHealth2 =&lt;br /&gt;
Updates the observer's screen with a name and health of the given player.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|SpecHealth2|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|Health}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Spectator =&lt;br /&gt;
Called when player becomes an observer/spectator.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|On join to Spectators usually is fired twice in a row.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Spectator|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|ClientID}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= StatusIcon =&lt;br /&gt;
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 is required only if Status aren't equal to 0.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|StatusIcon|byte, string, byte, byte, byte}}&lt;br /&gt;
{{hl1msg|byte|Status}}&lt;br /&gt;
{{hl1msg|string|SpriteName}}&lt;br /&gt;
{{hl1msg|byte|ColorR}}&lt;br /&gt;
{{hl1msg|byte|ColorG}}&lt;br /&gt;
{{hl1msg|byte|ColorB}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= StatusValue =&lt;br /&gt;
Sends/updates the status values. For the Flag 1 the Value is TeamRelation, for 2 is PlayerID, for 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.&amp;lt;br&amp;gt;&lt;br /&gt;
Usually is fired as a triple message, for example:&lt;br /&gt;
 {1,  2}  -  non-teammate player&lt;br /&gt;
 {2, 17}  -  player index is 17&lt;br /&gt;
 {3, 59}  -  player health is 59&lt;br /&gt;
{{begin-hl1msg|StatusValue|byte, short}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{hl1msg|short|Value}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= StatusText =&lt;br /&gt;
Specifies the status text format.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|StatusText|byte, string}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{hl1msg|string|Text}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TaskTime =&lt;br /&gt;
Displays a secondary timer above the round timer. Used for Condition Zero singleplayer missions.&amp;lt;br&amp;gt;&lt;br /&gt;
If Time is -1, timer dissappears. If Time is any other negative value, it is displayed as green instead of yellow, and considered positive.&amp;lt;br&amp;gt;&lt;br /&gt;
If Active is true, timer counts down. Otherwise, it is paused.&amp;lt;br&amp;gt;If Fade is above zero, the timer will slowly fade out after that many seconds have passed (even if the timer is inactive).&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This event can only be used on missions that have an objective requiring a secondary timer!}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|TaskTime|short, byte, byte}}&lt;br /&gt;
{{hl1msg|short|Time}}&lt;br /&gt;
{{hl1msg|byte|Active}}&lt;br /&gt;
{{hl1msg|byte|Fade}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TeamInfo =&lt;br /&gt;
Sets the team information for the given player.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|In CS TeamName is either &amp;quot;UNASSIGNED&amp;quot;, &amp;quot;TERRORIST&amp;quot;, &amp;quot;CT&amp;quot; or &amp;quot;SPECTATOR&amp;quot;.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|TeamInfo|byte, string}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{hl1msg|string|TeamName}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TeamScore =&lt;br /&gt;
Updates the team score on the score board.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|In CS TeamName is either &amp;quot;TERRORIST&amp;quot; or &amp;quot;CT&amp;quot;.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|TeamScore|string, short}}&lt;br /&gt;
{{hl1msg|string|TeamName}}&lt;br /&gt;
{{hl1msg|short|Score}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TextMsg =&lt;br /&gt;
Prints a cutom/or predefined text message.&amp;lt;br&amp;gt;&lt;br /&gt;
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:&lt;br /&gt;
 Arg1: 1&lt;br /&gt;
 Arg2: #Game_join_ct&lt;br /&gt;
 Arg3: Pimp Daddy&lt;br /&gt;
{{begin-hl1msg|TextMsg|byte, string, string, string, string, string}}&lt;br /&gt;
{{hl1msg|byte|DestinationType}}&lt;br /&gt;
{{hl1msg|string|Message}}&lt;br /&gt;
{{hl1msg|string|Submsg}}&lt;br /&gt;
{{hl1msg|string|Submsg}}&lt;br /&gt;
{{hl1msg|string|Submsg}}&lt;br /&gt;
{{hl1msg|string|Submsg}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Train =&lt;br /&gt;
Displays the speed bar used for controlling a train.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Speed is as follows: 0 (disable display), 1 (reverse), 2 (neutral), 3 (slow speed), 4 (medium speed), 5 (maximum speed)}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Train|byte}}&lt;br /&gt;
{{hl1msg|byte|Speed}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TutorClose =&lt;br /&gt;
Closes all CZ-style tutor popups.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|TutorClose}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TutorLine =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|TutorLine}}&lt;br /&gt;
{{hl1msg|short|Unknown1}}&lt;br /&gt;
{{hl1msg|short|Unknown2}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TutorState =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|TutorState }}&lt;br /&gt;
{{hl1msg|string|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TutorText =&lt;br /&gt;
Used to display a CZ-style tutor popup.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|If NumberOfSubMsgs is higher than 0, there should be such amount of write_string after this byte.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Special thanks goes to '''Lt.Rat''' for his ninja skills.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pawn&amp;gt;#define Default		1	// 1&amp;lt;&amp;lt;0 | GREEN  | INFO&lt;br /&gt;
#define FriendDeath	2	// 1&amp;lt;&amp;lt;1 | RED    | SKULL&lt;br /&gt;
#define EnemyDeath	4	// 1&amp;lt;&amp;lt;2 | BLUE   | SKULL&lt;br /&gt;
#define Scenario	8	// 1&amp;lt;&amp;lt;3 | YELLOW | INFO&lt;br /&gt;
#define Buy			16	// 1&amp;lt;&amp;lt;4 | GREEN  | INFO&lt;br /&gt;
#define Career		32	// 1&amp;lt;&amp;lt;5 | GREEN  | INFO&lt;br /&gt;
#define Hint		64	// 1&amp;lt;&amp;lt;6 | GREEN  | INFO&lt;br /&gt;
#define InGameHint	128	// 1&amp;lt;&amp;lt;7 | GREEN  | INFO&lt;br /&gt;
#define EndGame		256	// 1&amp;lt;&amp;lt;8 | YELLOW | INFO&amp;lt;/pawn&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|TutorText|string, byte, short, short, short}}&lt;br /&gt;
{{hl1msg|string|String}}&lt;br /&gt;
{{hl1msg|byte|NumberOfSubMsgs}}&lt;br /&gt;
{{hl1msg|short|Unknown}}&lt;br /&gt;
{{hl1msg|short|Unknown (0 or 1)}}&lt;br /&gt;
{{hl1msg|short|Type}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ViewMode =&lt;br /&gt;
{{qnotice|No Information available for this message (HLSDK says this switches to first-person view, but it doesn't seem to function as so).}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ViewMode}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= VGUIMenu =&lt;br /&gt;
Displays a predefined VGUI menu.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|VGUIMenu|byte, short, char, byte, string}}&lt;br /&gt;
{{hl1msg|byte|MenuID}}&lt;br /&gt;
{{hl1msg|short|KeysBitSum}}&lt;br /&gt;
{{hl1msg|char|Time?}}&lt;br /&gt;
{{hl1msg|byte|Multipart?}}&lt;br /&gt;
{{hl1msg|string|Name?}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= VoiceMask =&lt;br /&gt;
Used to tell a client who he can hear over the microphone.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|VoiceMask|long, long}}&lt;br /&gt;
{{hl1msg|long|AudiblePlayersIndexBitSum}}&lt;br /&gt;
{{hl1msg|long|ServerBannedPlayersIndexBitSum}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= WeaponList =&lt;br /&gt;
Configures the [[HUD]] weapons list.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Fired on map initialization.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|SlotID starts from 0.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Flags (from HLSDK):&lt;br /&gt;
 ITEM_FLAG_SELECTONEMPTY       1&lt;br /&gt;
 ITEM_FLAG_NOAUTORELOAD        2&lt;br /&gt;
 ITEM_FLAG_NOAUTOSWITCHEMPTY   4&lt;br /&gt;
 ITEM_FLAG_LIMITINWORLD        8&lt;br /&gt;
 ITEM_FLAG_EXHAUSTIBLE        16 // A player can totally exhaust their ammo supply and lose this weapon.&lt;br /&gt;
{{qnotice|See [[CS Weapons Information]] for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|WeaponList|string, byte, byte, byte, byte, byte, byte, byte, byte}}&lt;br /&gt;
{{hl1msg|string|WeaponName}}&lt;br /&gt;
{{hl1msg|byte|PrimaryAmmoID}}&lt;br /&gt;
{{hl1msg|byte|PrimaryAmmoMaxAmount}}&lt;br /&gt;
{{hl1msg|byte|SecondaryAmmoID}}&lt;br /&gt;
{{hl1msg|byte|SecondaryAmmoMaxAmount}}&lt;br /&gt;
{{hl1msg|byte|SlotID}}&lt;br /&gt;
{{hl1msg|byte|NumberInSlot}}&lt;br /&gt;
{{hl1msg|byte|WeaponID}}&lt;br /&gt;
{{hl1msg|byte|Flags}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= WeapPickup =&lt;br /&gt;
Temporarily draws correspoding weapon [[HUD]] icon in the middle of the right side of the screen.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Draw time is depend on the ''hud_drawhistory_time'' client CVar value.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Is fired right before weapon is picked up (notice ''&amp;quot;before&amp;quot;'').}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|See [[CS Weapons Information]] for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|WeapPickup|byte}}&lt;br /&gt;
{{hl1msg|byte|WeaponID}}&lt;br /&gt;
{{end-hl1msg}}&lt;/div&gt;</summary>
		<author><name>ConnorMcLeod</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.alliedmods.net/index.php?title=Half-Life_1_Game_Events&amp;diff=7956</id>
		<title>Half-Life 1 Game Events</title>
		<link rel="alternate" type="text/html" href="https://wiki.alliedmods.net/index.php?title=Half-Life_1_Game_Events&amp;diff=7956"/>
		<updated>2011-02-09T21:01:11Z</updated>

		<summary type="html">&lt;p&gt;ConnorMcLeod: /* TutorText */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Half-Life 1]]&lt;br /&gt;
[[Category:Scripting (AMX Mod X)]]&lt;br /&gt;
&lt;br /&gt;
= Introduction =&lt;br /&gt;
&lt;br /&gt;
In [[AMX Mod X]] you are able to hook in-game messages/events with [http://www.amxmodx.org/funcwiki.php?search=register_message&amp;amp;go=search register_message] / [http://www.amxmodx.org/funcwiki.php?go=func&amp;amp;id=26 register_event]. Here are the list of messages/events and their arguments which can be read with [http://www.amxmodx.org/funcwiki.php?search=get_msg_arg_&amp;amp;go=search get_msg_arg_*] / [http://www.amxmodx.org/funcwiki.php?go=func&amp;amp;id=132 read_data].&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
*See the [[Advanced Scripting (AMX Mod X)#Events.2FMessages|Advanced Scripting]] article for more on events and messages.&amp;lt;br&amp;gt;&lt;br /&gt;
*See messages.inc and message_const.inc from amxmodx/scriptong/include folder or [http://www.amxmodx.org/funcwiki.php?go=inc&amp;amp;id=47 Messaging functions] and [http://www.amxmodx.org/funcwiki.php?go=inc&amp;amp;id=48 Message constants] for full messages control including blocking, argument alteration and much more.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= ADStop =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ADStop}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= AllowSpec =&lt;br /&gt;
Changes whether or not &amp;quot;SPECTATE&amp;quot; appears on the change team menu. Called whenever the allow_spectators CVar is changed, with its new value sent as the byte.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This changes how the change team menu appears, but spectating functionality is based off of the actual CVar value.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|AllowSpec|byte}}&lt;br /&gt;
{{hl1msg|byte|Allowed}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= AmmoPickup =&lt;br /&gt;
Temporarily draws [[HUD]] ammo amount and correspoding ammo [[HUD]] icon in the middle of the right side of the screen.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Draw time is depend on the ''hud_drawhistory_time'' client CVar value.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|See [[CS Weapons Information]] for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|AmmoPickup|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|AmmoID}}&lt;br /&gt;
{{hl1msg|byte|Ammount}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= AmmoX =&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|See [[CS Weapons Information]] for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|AmmoX|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|AmmoID}}&lt;br /&gt;
{{hl1msg|byte|Ammount}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ArmorType =&lt;br /&gt;
Draws/removes helmet [[HUD]] icon. If flag is set to 1 the helmet [[HUD]] icon will be drawn (located right on the armor icon).&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ArmorType|byte}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BarTime =&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Set Duration to 0 to hide the bar.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|BarTime|short}}&lt;br /&gt;
{{hl1msg|short|Duration}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BarTime2 =&lt;br /&gt;
The same as BarTime but StartPercents is specify how many per cents of the bar are (already) filled.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Display time can be calculated with this formula: ''(1 - (StartPercents / 100)) / Duration''}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|BarTime2|short, short}}&lt;br /&gt;
{{hl1msg|short|Duration}}&lt;br /&gt;
{{hl1msg|short|StartPercents}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Battery =&lt;br /&gt;
Updates the icon and the number of armor on the [[HUD]].&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Battery|short}}&lt;br /&gt;
{{hl1msg|short|Armor}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BlinkAcct =&lt;br /&gt;
Makes a player's money display flash rapidly, until it flashes a total of BlinkAmt times.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|BlinkAcct|byte}}&lt;br /&gt;
{{hl1msg|byte|BlinkAmt}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BombDrop =&lt;br /&gt;
The first three arguments are the origin of the dropped bomb. The last argument is set to 1 if the bomb has been planted. It is 0 if the bomb was dropped due to voluntary dropping or death/disconnect. Setting the last argument 1, will also 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.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|BombDrop|coord, coord, coord, byte}}&lt;br /&gt;
{{hl1msg|coord|CoordX}}&lt;br /&gt;
{{hl1msg|coord|CoordY}}&lt;br /&gt;
{{hl1msg|coord|CoordZ}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BombPickup =&lt;br /&gt;
This message just tells the game that the bomb has been picked up. It will cause the dropped/planted bomb to disappear from the Terrorist team's radar.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|BombPickup}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BotProgress =&lt;br /&gt;
Used by CZ's bots when learning a new map. 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.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|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.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|BotProgress|byte, byte, string}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{hl1msg|byte|Progress}}&lt;br /&gt;
{{hl1msg|string|Header}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BotVoice =&lt;br /&gt;
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 by regular players, although you &amp;lt;i&amp;gt;can&amp;lt;/i&amp;gt; specify a regular player (non-bot) for the PlayerIndex. Status is 1 for talking, or 0 for not talking.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|BotVoice|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|Status}}&lt;br /&gt;
{{hl1msg|byte|PlayerIndex}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Brass =&lt;br /&gt;
Creates a brass shell. Used, for example, by the AWP, after firing.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Brass|byte, coord, coord, coord, coord, coord, coord, coord, coord, coord, angle, short, byte, byte, byte}}&lt;br /&gt;
{{hl1msg|byte|MessageID}}&lt;br /&gt;
{{hl1msg|coord|StartX}}&lt;br /&gt;
{{hl1msg|coord|StartY}}&lt;br /&gt;
{{hl1msg|coord|StartZ}}&lt;br /&gt;
{{hl1msg|coord|VelocityX?}}&lt;br /&gt;
{{hl1msg|coord|VelocityY?}}&lt;br /&gt;
{{hl1msg|coord|VelocityZ?}}&lt;br /&gt;
{{hl1msg|coord|UnknownX}}&lt;br /&gt;
{{hl1msg|coord|UnknownY}}&lt;br /&gt;
{{hl1msg|coord|UnknownZ}}&lt;br /&gt;
{{hl1msg|angle|Rotation}}&lt;br /&gt;
{{hl1msg|short|ModelIndex}}&lt;br /&gt;
{{hl1msg|byte|BounceSoundType}}&lt;br /&gt;
{{hl1msg|byte|Life}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BuyClose =&lt;br /&gt;
Forces the buy menu to close. This is not called when the player closes the buy menu by himself; it's only called when the game forces him to do so (ie: he walks outside of the buy zone, gets killed, etcetera).&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|BuyClose}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ClCorpse =&lt;br /&gt;
Spawns a player's corpse. ModelName is the player's model name, for example: &amp;quot;leet&amp;quot;. Delay is a delay before animation plaback, can be negative value.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Coord and Delay is multiplied by 128.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|In CS argument #10 is always equal to 0.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*See [http://www.amxmodx.org/funcwiki.php?go=module&amp;amp;id=4#const_teams CS Team Constants] for team indeces constants list.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ClCorpse|string, long, long, long, coord, coord, coord, long, byte, byte, byte, byte}}&lt;br /&gt;
{{hl1msg|string|ModelName}}&lt;br /&gt;
{{hl1msg|long|CoordX}}&lt;br /&gt;
{{hl1msg|long|CoordY}}&lt;br /&gt;
{{hl1msg|long|CoordZ}}&lt;br /&gt;
{{hl1msg|coord|Angle0}}&lt;br /&gt;
{{hl1msg|coord|Angle1}}&lt;br /&gt;
{{hl1msg|coord|Angle2}}&lt;br /&gt;
{{hl1msg|long|Delay}}&lt;br /&gt;
{{hl1msg|byte|Sequence}}&lt;br /&gt;
{{hl1msg|byte|ClassID?}}&lt;br /&gt;
{{hl1msg|byte|TeamID}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Crosshair =&lt;br /&gt;
Draws/removes a crosshair. If Flag is set to 1 the crosshair will be drawn.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This crossair looks not like the regular one but like the one that is drawn in the spectator mode.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Crosshair|byte}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= CurWeapon =&lt;br /&gt;
Updates the clip ammo number and weapon's corresponding ammo type icon on the [[HUD]].&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|See [[CS Weapons Information]] for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|CurWeapon|byte, byte, byte}}&lt;br /&gt;
{{hl1msg|byte|IsActive}}&lt;br /&gt;
{{hl1msg|byte|WeaponID}}&lt;br /&gt;
{{hl1msg|byte|ClipAmmo}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= CZCareer =&lt;br /&gt;
Supplies certain updates to the player regarding Condition Zero singleplayer missions.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|See the [[CZCareer]] page for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|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).}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|The Type argument is case-sensitive.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This event does nothing in CS and CZ multiplayer.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|CZCareer|string,*}}&lt;br /&gt;
{{hl1msg|string|Type}}&lt;br /&gt;
{{hl1msg|*|Parameters}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= CZCareerHUD =&lt;br /&gt;
Displays certain [[HUD]] elements regarding Condition Zero singleplayer missions.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|See the [[CZCareerHUD]] page for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|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).}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|The Type argument is case-sensitive.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This event has some limited functionality in CS and CZ multiplayer (albeit better in CZ).}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|CZCareerHUD|string,*}}&lt;br /&gt;
{{hl1msg|string|Type}}&lt;br /&gt;
{{hl1msg|*|Parameters}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Damage =&lt;br /&gt;
Called when a player takes damage, to display the red locational indicators. The last three arguments is the origin of the damage inflictor or victim origin if inflictor isn't found. DamageType is a bitwise value usually consist of a single bit.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|To caputure this message,you should use &amp;quot;b&amp;quot; as the third parameter in the register_event() function.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Damage|byte, byte, long, coord, coord, coord}}&lt;br /&gt;
{{hl1msg|byte|DamageSave}}&lt;br /&gt;
{{hl1msg|byte|DamageTake}}&lt;br /&gt;
{{hl1msg|long|DamageType}}&lt;br /&gt;
{{hl1msg|coord|CoordX}}&lt;br /&gt;
{{hl1msg|coord|CoordY}}&lt;br /&gt;
{{hl1msg|coord|CoordZ}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= DeathMsg =&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
Also prints the console text message &amp;quot;KillerName killed VictimName with TruncatedWeaponName&amp;quot; or &amp;quot;*** KillerName killed VictimName with a headshot from TruncatedWeaponName ***&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|TruncatedWeaponName doesn't contain a &amp;quot;weapon_&amp;quot; prefix. See [[CS Weapons Information]] for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|For grenade kill TruncatedWeaponName isn't &amp;quot;hegrenade&amp;quot; but &amp;quot;grenade&amp;quot;, in fact it's an actual classname of a throwed grenade.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|For KillerID it's not necessarily should be a PlayerID, it could be 0 if player dies from fall/acid/radiation/fire/etc damage/lack of oxygen or from touch to a &amp;quot;trigger_hurt&amp;quot; entity, in this case TruncatedWeaponName will be &amp;quot;worldspawn&amp;quot; and &amp;quot;trigger_hurt&amp;quot; respectively.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|For vehicle kills TruncatedWeaponName could be &amp;quot;vehicle&amp;quot;, &amp;quot;tank&amp;quot; et cetera.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|DeathMsg|byte, byte, byte, string}}&lt;br /&gt;
{{hl1msg|byte|KillerID}}&lt;br /&gt;
{{hl1msg|byte|VictimID}}&lt;br /&gt;
{{hl1msg|byte|IsHeadshot}}&lt;br /&gt;
{{hl1msg|string|TruncatedWeaponName}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= FlashBat =&lt;br /&gt;
Updates the flashlight battery charge on the [[HUD]].&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|FlashBat|byte}}&lt;br /&gt;
{{hl1msg|byte|ChargePercents}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Flashlight =&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Flashlight|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{hl1msg|byte|ChargePercents}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Fog =&lt;br /&gt;
{{qnotice|mp_Fog 1 for fog in counter-strike}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|Fog|byte, byte, byte}}&lt;br /&gt;
{{hl1msg|byte|FogValue}}&lt;br /&gt;
{{hl1msg|byte|FogValue}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ForceCam =&lt;br /&gt;
Called whenever mp_forcecam or mp_forcechasecam are changed, with their new values passed. There is assumedly a third CVar that this tracks, but it is yet unknown. Note that this message doesn't actually change any of the spectating rules for the client.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Even if mp_forcechasecam is set to 2, it is sent by this message as 1.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ForceCam|byte, byte, byte}}&lt;br /&gt;
{{hl1msg|byte|ForcecamValue}}&lt;br /&gt;
{{hl1msg|byte|ForcechasecamValue}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= GameMode =&lt;br /&gt;
&lt;br /&gt;
Informs player of current game mode&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|GameMode|byte}}&lt;br /&gt;
{{hl1msg|byte|Game mode}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= GameTitle =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|GameTitle|byte}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Geiger =&lt;br /&gt;
Notifies about radiation level through special sound signals. Distance is a distance to hazard area.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Geiger|byte}}&lt;br /&gt;
{{hl1msg|byte|Distance}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Health =&lt;br /&gt;
Updates the number of health on the [[HUD]].&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Health|byte}}&lt;br /&gt;
{{hl1msg|byte|Health}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= HideWeapon =&lt;br /&gt;
Hides the specified [[HUD]] elements.&amp;lt;br&amp;gt;&lt;br /&gt;
Flags:&lt;br /&gt;
   1   (1&amp;lt;&amp;lt;0)  -  crosshair, ammo, weapons list&lt;br /&gt;
   2   (1&amp;lt;&amp;lt;1)  -  flashlight, +&lt;br /&gt;
   4   (1&amp;lt;&amp;lt;2)  -  ALL&lt;br /&gt;
   8   (1&amp;lt;&amp;lt;3)  -  radar, health, armor, +&lt;br /&gt;
  16   (1&amp;lt;&amp;lt;4)  -  timer, +&lt;br /&gt;
  32   (1&amp;lt;&amp;lt;5)  -  money, +&lt;br /&gt;
  64   (1&amp;lt;&amp;lt;6)  -  crosshair&lt;br /&gt;
 128   (1&amp;lt;&amp;lt;7)  -  +&lt;br /&gt;
Symbol + mean that an additional crosshair will be drawn. That crosshair looks exactly like the one from Crosshair message.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|HideWeapon|byte}}&lt;br /&gt;
{{hl1msg|byte|Flags}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= HLTV =&lt;br /&gt;
Message sent for HLTV and unique for each round-start.&amp;lt;br&amp;gt;&lt;br /&gt;
On new round is fired 2 messages:&lt;br /&gt;
 // reset all players health for HLTV&lt;br /&gt;
 MESSAGE_BEGIN( MSG_SPEC, gmsgHLTV );&lt;br /&gt;
 WRITE_BYTE( 0 );   // 0 = all players&lt;br /&gt;
 WRITE_BYTE( 100 | 128 );&lt;br /&gt;
 MESSAGE_END();&amp;lt;br&amp;gt;&lt;br /&gt;
 // reset all players FOV for HLTV&lt;br /&gt;
 MESSAGE_BEGIN( MSG_SPEC, gmsgHLTV );&lt;br /&gt;
 WRITE_BYTE( 0 );   // all players&lt;br /&gt;
 WRITE_BYTE( 0 );&lt;br /&gt;
 MESSAGE_END();&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|HLTV|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|ClientID}}&lt;br /&gt;
{{hl1msg|byte|Flags}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= HostageK =&lt;br /&gt;
Temporarily draws a blinking red dot on the CT players' radar when a hostage is killed.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|HostageK|byte}}&lt;br /&gt;
{{hl1msg|byte|HostageID}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= HostagePos =&lt;br /&gt;
Draws/updates the blue mark on the CT players' radar which is indicate the corresponding hostage position.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Is called with Flag set to 1 on player [[HUD]] full update.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|HostagePos|byte, byte, coord, coord, coord}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{hl1msg|byte|HostageID}}&lt;br /&gt;
{{hl1msg|coord|CoordX}}&lt;br /&gt;
{{hl1msg|coord|CoordY}}&lt;br /&gt;
{{hl1msg|coord|CoordZ}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= HudText =&lt;br /&gt;
Prints [[HUD]] text.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Prints message with specified style in titles.txt with small signs (like in HL)}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|HudText|string, byte, byte}}&lt;br /&gt;
{{hl1msg|string|TextCode}}&lt;br /&gt;
{{hl1msg|byte|InitHUDstyle}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= HudTextArgs =&lt;br /&gt;
Prints [[HUD]] text.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|An example of TextCode could be &amp;quot;#Hint_you_have_the_bomb&amp;quot;.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Prints message with specified style in titles.txt with Big signs (CS Default)}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|If you have a problems with specifing the last two arguments use 1 and 0 respectively.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|HudTextArgs|string, byte, byte}}&lt;br /&gt;
{{hl1msg|string|TextCode}}&lt;br /&gt;
{{hl1msg|byte|InitHUDstyle}}&lt;br /&gt;
{{hl1msg|byte|NumberOfSubMessages}}&lt;br /&gt;
{{hl1msg|string|SubMsg}}&lt;br /&gt;
{{hl1msg|string|SubMsg}}&lt;br /&gt;
{{hl1msg|string|...}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= HudTextPro =&lt;br /&gt;
Prints [[HUD]] text.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Prints message with specified style in titles.txt with Big signs (CS Default)}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|HudText|string, byte, byte}}&lt;br /&gt;
{{hl1msg|string|TextCode}}&lt;br /&gt;
{{hl1msg|byte|InitHUDstyle}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= InitHUD =&lt;br /&gt;
Initializes the [[HUD]].&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|InitHUD}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ItemPickup =&lt;br /&gt;
Temporarily draws correspoding item [[HUD]] icon in the middle of the right side of the screen.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Draw time is depend on the ''hud_drawhistory_time'' client CVar value.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ItemPickup|string}}&lt;br /&gt;
{{hl1msg|string|ItemName}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ItemStatus =&lt;br /&gt;
Notifies about carried items.&amp;lt;br&amp;gt;&lt;br /&gt;
Example of some item bits:&lt;br /&gt;
 1   (1&amp;lt;&amp;lt;0)  -  nightvision goggles&lt;br /&gt;
 2   (1&amp;lt;&amp;lt;1)  -  defusal kit&lt;br /&gt;
{{begin-hl1msg|ItemStatus|byte}}&lt;br /&gt;
{{hl1msg|byte|ItemsBitSum}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Location =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Location|byte, string}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{hl1msg|string|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Money =&lt;br /&gt;
Updates the Amount of money on the [[HUD]]. If the Flag is 1, the additional new-old [[HUD]] money amount difference will be also displayed.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Money|long, byte}}&lt;br /&gt;
{{hl1msg|long|Amount}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= MOTD =&lt;br /&gt;
Displays MOTD window.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Max. Text length is 60. Large MOTD is sent in multiple messages. For the message that is send a last MOTD part the Flag will be set to 1 and 0 otherwise.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|MOTD|byte, string}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{hl1msg|string|Text}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= NVGToggle =&lt;br /&gt;
Toggles night vision mode. For Flag: 1 is on, 0 is off.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|NVGToggle|byte}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Radar =&lt;br /&gt;
Draws/updates the dot on the [[HUD]] radar which is indicate the given player position.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Works for teammates only.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Radar|byte, coord, coord, coord}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{hl1msg|coord|CoordX}}&lt;br /&gt;
{{hl1msg|coord|CoordY}}&lt;br /&gt;
{{hl1msg|coord|CoordZ}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ReceiveW =&lt;br /&gt;
Tell the client which visual weather effect to be executed client side, if cl_weather client cvar is above 0.&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|Main part of CBasePlayer::SendWeatherInfo() function that is sent in CBasePlayer :: UpdateClientData() when player offset m_fInitHUD is 1&amp;lt;br&amp;gt;&lt;br /&gt;
(right after putinserver or after fullupdate command)&amp;lt;br&amp;gt;&lt;br /&gt;
Mode : 1 is for rain effect, 2 is for snow effect&amp;lt;br&amp;gt;&lt;br /&gt;
Though mode 0 is never sent by the game itself, removes weather effect&amp;lt;br&amp;gt;&lt;br /&gt;
Alternatively send mode 1 and mode 2 with judicious delays (time for effect to disappear) make both rain and snow effect}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ReceiveW|byte}}&lt;br /&gt;
{{hl1msg|byte|mode}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ReloadSound =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ReloadSound|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ReqState =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ReqState}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ResetHUD =&lt;br /&gt;
Resets the [[HUD]].&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ResetHUD}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= RoundTime =&lt;br /&gt;
Updates the round timer on the [[HUD]]. Time is in seconds.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|RoundTime|short}}&lt;br /&gt;
{{hl1msg|short|Time}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SayText =&lt;br /&gt;
Prints say [[HUD]] text. Second argument can be a predefined string or a custom one. In the last case the last two arguments isn't required.&amp;lt;br&amp;gt;&lt;br /&gt;
An examples of a predifined Counter-Strike string values: #Cstrike_Chat_AllDead, #Cstrike_Name_Change&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|For #Cstrike_Name_Change String2 is an old name and String3 is a new name.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|SayText|byte, string, string, string}}&lt;br /&gt;
{{hl1msg|byte|SenderID}}&lt;br /&gt;
{{hl1msg|string|String1}}&lt;br /&gt;
{{hl1msg|string|String2}}&lt;br /&gt;
{{hl1msg|string|String3}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Scenario =&lt;br /&gt;
If Active is 0, this display will be hidden. If Active is 1, 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.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|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.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[image:Cs_scenario_msg.jpg|frame|right|Scenario message in CS, using the following parameters: 1, d_mp5navy, 150]]&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Works in both CS and CZ!}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|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.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Scenario|byte, string, byte, short, short}}&lt;br /&gt;
{{hl1msg|byte|Active}}&lt;br /&gt;
{{hl1msg|string|Sprite}}&lt;br /&gt;
{{hl1msg|byte|Alpha}}&lt;br /&gt;
{{hl1msg|short|FlashRate}}&lt;br /&gt;
{{hl1msg|short|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ScoreAttrib =&lt;br /&gt;
Updates the scoreboard's attribute for the specified player. For the 2nd argument, 0 is nothing, (1&amp;lt;&amp;lt;0) i.e. 1 is dead, (1&amp;lt;&amp;lt;1) i.e. 2 is bomb, (1&amp;lt;&amp;lt;2) i.e. 4 is VIP.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|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.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ScoreAttrib|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{hl1msg|byte|Flags}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ScoreInfo =&lt;br /&gt;
Updates the scoreboard with the given player's Frags and Deaths.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|In CS the 4th argument is always equal to 0.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*See [http://www.amxmodx.org/funcwiki.php?go=module&amp;amp;id=4#const_teams CS Team Constants] for team indeces constants list.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ScoreInfo|byte, short, short, short, short}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{hl1msg|short|Frags}}&lt;br /&gt;
{{hl1msg|short|Deaths}}&lt;br /&gt;
{{hl1msg|short|ClassID?}}&lt;br /&gt;
{{hl1msg|short|TeamID}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ScreenFade =&lt;br /&gt;
Fades the screen.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Duration and HoldTime is in special units. 1 second is equal to (1&amp;lt;&amp;lt;12) i.e. 4096 units.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Flags (from HLSDK):&lt;br /&gt;
 FFADE_IN         0x0000 // Just here so we don't pass 0 into the function&lt;br /&gt;
 FFADE_OUT        0x0001 // Fade out (not in)&lt;br /&gt;
 FFADE_MODULATE   0x0002 // Modulate (don't blend)&lt;br /&gt;
 FFADE_STAYOUT    0x0004 // ignores the duration, stays faded out until new ScreenFade message received&lt;br /&gt;
{{begin-hl1msg|ScreenFade|short, short, short, byte, byte, byte, byte}}&lt;br /&gt;
{{hl1msg|short|Duration}}&lt;br /&gt;
{{hl1msg|short|HoldTime}}&lt;br /&gt;
{{hl1msg|short|Flags}}&lt;br /&gt;
{{hl1msg|byte|ColorR}}&lt;br /&gt;
{{hl1msg|byte|ColorG}}&lt;br /&gt;
{{hl1msg|byte|ColorB}}&lt;br /&gt;
{{hl1msg|byte|Alpha}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ScreenShake =&lt;br /&gt;
Shakes the screen.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|All arguments is in special units. 1 second is equal to (1&amp;lt;&amp;lt;12) i.e. 4096 units.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ScreenShake|short, short, short}}&lt;br /&gt;
{{hl1msg|short|Amplitude}}&lt;br /&gt;
{{hl1msg|short|Duration}}&lt;br /&gt;
{{hl1msg|short|Frequency}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SendAudio =&lt;br /&gt;
Plays the specified audio. An example of AudioCode could be &amp;quot;%!MRAD_rounddraw&amp;quot;.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|SendAudio|byte, string, short}}&lt;br /&gt;
{{hl1msg|byte|SenderID}}&lt;br /&gt;
{{hl1msg|string|AudioCode}}&lt;br /&gt;
{{hl1msg|short|Pitch}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ServerName =&lt;br /&gt;
Sends a server name to a client.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ServerName|string}}&lt;br /&gt;
{{hl1msg|string|ServerName}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SetFOV =&lt;br /&gt;
Sets the specified field of view.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|SetFOV|byte}}&lt;br /&gt;
{{hl1msg|byte|Degrees}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ShadowIdx =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ShadowIdx|long}}&lt;br /&gt;
{{hl1msg|long|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ShowMenu =&lt;br /&gt;
Displays a &amp;quot;menu&amp;quot; to a player (text on the left side of the screen). Acts like AMXX's show_menu (in fact, this is how AMXX shows a menu).&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|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.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ShowMenu|short, char, byte, string}}&lt;br /&gt;
{{hl1msg|short|KeysBitSum}}&lt;br /&gt;
{{hl1msg|char|Time}}&lt;br /&gt;
{{hl1msg|byte|Multipart}}&lt;br /&gt;
{{hl1msg|string|Text}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ShowTimer =&lt;br /&gt;
Forces the round timer displaying.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ShowTimer}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SpecHealth =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|SpecHealth|byte}}&lt;br /&gt;
{{hl1msg|byte|Health?}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SpecHealth2 =&lt;br /&gt;
Updates the observer's screen with a name and health of the given player.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|SpecHealth2|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|Health}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Spectator =&lt;br /&gt;
Called when player becomes an observer/spectator.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|On join to Spectators usually is fired twice in a row.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Spectator|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|ClientID}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= StatusIcon =&lt;br /&gt;
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 is required only if Status aren't equal to 0.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|StatusIcon|byte, string, byte, byte, byte}}&lt;br /&gt;
{{hl1msg|byte|Status}}&lt;br /&gt;
{{hl1msg|string|SpriteName}}&lt;br /&gt;
{{hl1msg|byte|ColorR}}&lt;br /&gt;
{{hl1msg|byte|ColorG}}&lt;br /&gt;
{{hl1msg|byte|ColorB}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= StatusValue =&lt;br /&gt;
Sends/updates the status values. For the Flag 1 the Value is TeamRelation, for 2 is PlayerID, for 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.&amp;lt;br&amp;gt;&lt;br /&gt;
Usually is fired as a triple message, for example:&lt;br /&gt;
 {1,  2}  -  non-teammate player&lt;br /&gt;
 {2, 17}  -  player index is 17&lt;br /&gt;
 {3, 59}  -  player health is 59&lt;br /&gt;
{{begin-hl1msg|StatusValue|byte, short}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{hl1msg|short|Value}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= StatusText =&lt;br /&gt;
Specifies the status text format.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|StatusText|byte, string}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{hl1msg|string|Text}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TaskTime =&lt;br /&gt;
Displays a secondary timer above the round timer. Used for Condition Zero singleplayer missions.&amp;lt;br&amp;gt;&lt;br /&gt;
If Time is -1, timer dissappears. If Time is any other negative value, it is displayed as green instead of yellow, and considered positive.&amp;lt;br&amp;gt;&lt;br /&gt;
If Active is true, timer counts down. Otherwise, it is paused.&amp;lt;br&amp;gt;If Fade is above zero, the timer will slowly fade out after that many seconds have passed (even if the timer is inactive).&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This event can only be used on missions that have an objective requiring a secondary timer!}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|TaskTime|short, byte, byte}}&lt;br /&gt;
{{hl1msg|short|Time}}&lt;br /&gt;
{{hl1msg|byte|Active}}&lt;br /&gt;
{{hl1msg|byte|Fade}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TeamInfo =&lt;br /&gt;
Sets the team information for the given player.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|In CS TeamName is either &amp;quot;UNASSIGNED&amp;quot;, &amp;quot;TERRORIST&amp;quot;, &amp;quot;CT&amp;quot; or &amp;quot;SPECTATOR&amp;quot;.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|TeamInfo|byte, string}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{hl1msg|string|TeamName}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TeamScore =&lt;br /&gt;
Updates the team score on the score board.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|In CS TeamName is either &amp;quot;TERRORIST&amp;quot; or &amp;quot;CT&amp;quot;.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|TeamScore|string, short}}&lt;br /&gt;
{{hl1msg|string|TeamName}}&lt;br /&gt;
{{hl1msg|short|Score}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TextMsg =&lt;br /&gt;
Prints a cutom/or predefined text message.&amp;lt;br&amp;gt;&lt;br /&gt;
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:&lt;br /&gt;
 Arg1: 1&lt;br /&gt;
 Arg2: #Game_join_ct&lt;br /&gt;
 Arg3: Pimp Daddy&lt;br /&gt;
{{begin-hl1msg|TextMsg|byte, string, string, string, string, string}}&lt;br /&gt;
{{hl1msg|byte|DestinationType}}&lt;br /&gt;
{{hl1msg|string|Message}}&lt;br /&gt;
{{hl1msg|string|Submsg}}&lt;br /&gt;
{{hl1msg|string|Submsg}}&lt;br /&gt;
{{hl1msg|string|Submsg}}&lt;br /&gt;
{{hl1msg|string|Submsg}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Train =&lt;br /&gt;
Displays the speed bar used for controlling a train.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Speed is as follows: 0 (disable display), 1 (reverse), 2 (neutral), 3 (slow speed), 4 (medium speed), 5 (maximum speed)}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Train|byte}}&lt;br /&gt;
{{hl1msg|byte|Speed}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TutorClose =&lt;br /&gt;
Closes all CZ-style tutor popups.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|TutorClose}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TutorLine =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|TutorLine}}&lt;br /&gt;
{{hl1msg|short|Unknown1}}&lt;br /&gt;
{{hl1msg|short|Unknown2}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TutorState =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|TutorState }}&lt;br /&gt;
{{hl1msg|string|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TutorText =&lt;br /&gt;
Used to display a CZ-style tutor popup.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|If NumberOfSubMsgs is higher than 0, there should be such amount of write_string after this byte.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Special thanks goes to '''Lt.Rat''' for his ninja skills.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;#define Default		1	// 1&amp;lt;&amp;lt;0 | GREEN  | INFO&lt;br /&gt;
#define FriendDeath	2	// 1&amp;lt;&amp;lt;1 | RED    | SKULL&lt;br /&gt;
#define EnemyDeath	4	// 1&amp;lt;&amp;lt;2 | BLUE   | SKULL&lt;br /&gt;
#define Scenario	8	// 1&amp;lt;&amp;lt;3 | YELLOW | INFO&lt;br /&gt;
#define Buy			16	// 1&amp;lt;&amp;lt;4 | GREEN  | INFO&lt;br /&gt;
#define Career		32	// 1&amp;lt;&amp;lt;5 | GREEN  | INFO&lt;br /&gt;
#define Hint		64	// 1&amp;lt;&amp;lt;6 | GREEN  | INFO&lt;br /&gt;
#define InGameHint	128	// 1&amp;lt;&amp;lt;7 | GREEN  | INFO&lt;br /&gt;
#define EndGame		256	// 1&amp;lt;&amp;lt;8 | YELLOW | INFO&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|TutorText|string, byte, short, short, short}}&lt;br /&gt;
{{hl1msg|string|String}}&lt;br /&gt;
{{hl1msg|byte|NumberOfSubMsgs}}&lt;br /&gt;
{{hl1msg|short|Unknown}}&lt;br /&gt;
{{hl1msg|short|Unknown (0 or 1)}}&lt;br /&gt;
{{hl1msg|short|Type}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ViewMode =&lt;br /&gt;
{{qnotice|No Information available for this message (HLSDK says this switches to first-person view, but it doesn't seem to function as so).}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ViewMode}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= VGUIMenu =&lt;br /&gt;
Displays a predefined VGUI menu.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|VGUIMenu|byte, short, char, byte, string}}&lt;br /&gt;
{{hl1msg|byte|MenuID}}&lt;br /&gt;
{{hl1msg|short|KeysBitSum}}&lt;br /&gt;
{{hl1msg|char|Time?}}&lt;br /&gt;
{{hl1msg|byte|Multipart?}}&lt;br /&gt;
{{hl1msg|string|Name?}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= VoiceMask =&lt;br /&gt;
Used to tell a client who he can hear over the microphone.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|VoiceMask|long, long}}&lt;br /&gt;
{{hl1msg|long|AudiblePlayersIndexBitSum}}&lt;br /&gt;
{{hl1msg|long|ServerBannedPlayersIndexBitSum}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= WeaponList =&lt;br /&gt;
Configures the [[HUD]] weapons list.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Fired on map initialization.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|SlotID starts from 0.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Flags (from HLSDK):&lt;br /&gt;
 ITEM_FLAG_SELECTONEMPTY       1&lt;br /&gt;
 ITEM_FLAG_NOAUTORELOAD        2&lt;br /&gt;
 ITEM_FLAG_NOAUTOSWITCHEMPTY   4&lt;br /&gt;
 ITEM_FLAG_LIMITINWORLD        8&lt;br /&gt;
 ITEM_FLAG_EXHAUSTIBLE        16 // A player can totally exhaust their ammo supply and lose this weapon.&lt;br /&gt;
{{qnotice|See [[CS Weapons Information]] for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|WeaponList|string, byte, byte, byte, byte, byte, byte, byte, byte}}&lt;br /&gt;
{{hl1msg|string|WeaponName}}&lt;br /&gt;
{{hl1msg|byte|PrimaryAmmoID}}&lt;br /&gt;
{{hl1msg|byte|PrimaryAmmoMaxAmount}}&lt;br /&gt;
{{hl1msg|byte|SecondaryAmmoID}}&lt;br /&gt;
{{hl1msg|byte|SecondaryAmmoMaxAmount}}&lt;br /&gt;
{{hl1msg|byte|SlotID}}&lt;br /&gt;
{{hl1msg|byte|NumberInSlot}}&lt;br /&gt;
{{hl1msg|byte|WeaponID}}&lt;br /&gt;
{{hl1msg|byte|Flags}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= WeapPickup =&lt;br /&gt;
Temporarily draws correspoding weapon [[HUD]] icon in the middle of the right side of the screen.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Draw time is depend on the ''hud_drawhistory_time'' client CVar value.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Is fired right before weapon is picked up (notice ''&amp;quot;before&amp;quot;'').}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|See [[CS Weapons Information]] for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|WeapPickup|byte}}&lt;br /&gt;
{{hl1msg|byte|WeaponID}}&lt;br /&gt;
{{end-hl1msg}}&lt;/div&gt;</summary>
		<author><name>ConnorMcLeod</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.alliedmods.net/index.php?title=Half-Life_1_Game_Events&amp;diff=7898</id>
		<title>Half-Life 1 Game Events</title>
		<link rel="alternate" type="text/html" href="https://wiki.alliedmods.net/index.php?title=Half-Life_1_Game_Events&amp;diff=7898"/>
		<updated>2010-11-29T16:21:56Z</updated>

		<summary type="html">&lt;p&gt;ConnorMcLeod: /* ReceiveW */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Half-Life 1]]&lt;br /&gt;
[[Category:Scripting (AMX Mod X)]]&lt;br /&gt;
&lt;br /&gt;
= Introduction =&lt;br /&gt;
&lt;br /&gt;
In [[AMX Mod X]] you are able to hook in-game messages/events with [http://www.amxmodx.org/funcwiki.php?search=register_message&amp;amp;go=search register_message] / [http://www.amxmodx.org/funcwiki.php?go=func&amp;amp;id=26 register_event]. Here are the list of messages/events and their arguments which can be read with [http://www.amxmodx.org/funcwiki.php?search=get_msg_arg_&amp;amp;go=search get_msg_arg_*] / [http://www.amxmodx.org/funcwiki.php?go=func&amp;amp;id=132 read_data].&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
*See the [[Advanced Scripting (AMX Mod X)#Events.2FMessages|Advanced Scripting]] article for more on events and messages.&amp;lt;br&amp;gt;&lt;br /&gt;
*See messages.inc and message_const.inc from amxmodx/scriptong/include folder or [http://www.amxmodx.org/funcwiki.php?go=inc&amp;amp;id=47 Messaging functions] and [http://www.amxmodx.org/funcwiki.php?go=inc&amp;amp;id=48 Message constants] for full messages control including blocking, argument alteration and much more.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= ADStop =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ADStop}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= AllowSpec =&lt;br /&gt;
Changes whether or not &amp;quot;SPECTATE&amp;quot; appears on the change team menu. Called whenever the allow_spectators CVar is changed, with its new value sent as the byte.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This changes how the change team menu appears, but spectating functionality is based off of the actual CVar value.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|AllowSpec|byte}}&lt;br /&gt;
{{hl1msg|byte|Allowed}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= AmmoPickup =&lt;br /&gt;
Temporarily draws [[HUD]] ammo amount and correspoding ammo [[HUD]] icon in the middle of the right side of the screen.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Draw time is depend on the ''hud_drawhistory_time'' client CVar value.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|See [[CS Weapons Information]] for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|AmmoPickup|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|AmmoID}}&lt;br /&gt;
{{hl1msg|byte|Ammount}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= AmmoX =&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|See [[CS Weapons Information]] for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|AmmoX|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|AmmoID}}&lt;br /&gt;
{{hl1msg|byte|Ammount}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ArmorType =&lt;br /&gt;
Draws/removes helmet [[HUD]] icon. If flag is set to 1 the helmet [[HUD]] icon will be drawn (located right on the armor icon).&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ArmorType|byte}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BarTime =&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Set Duration to 0 to hide the bar.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|BarTime|short}}&lt;br /&gt;
{{hl1msg|short|Duration}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BarTime2 =&lt;br /&gt;
The same as BarTime but StartPercents is specify how many per cents of the bar are (already) filled.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Display time can be calculated with this formula: ''(1 - (StartPercents / 100)) / Duration''}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|BarTime2|short, short}}&lt;br /&gt;
{{hl1msg|short|Duration}}&lt;br /&gt;
{{hl1msg|short|StartPercents}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Battery =&lt;br /&gt;
Updates the icon and the number of armor on the [[HUD]].&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Battery|short}}&lt;br /&gt;
{{hl1msg|short|Armor}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BlinkAcct =&lt;br /&gt;
Makes a player's money display flash rapidly, until it flashes a total of BlinkAmt times.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|BlinkAcct|byte}}&lt;br /&gt;
{{hl1msg|byte|BlinkAmt}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BombDrop =&lt;br /&gt;
The first three arguments are the origin of the dropped bomb. The last argument is set to 1 if the bomb has been planted. It is 0 if the bomb was dropped due to voluntary dropping or death/disconnect. Setting the last argument 1, will also 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.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|BombDrop|coord, coord, coord, byte}}&lt;br /&gt;
{{hl1msg|coord|CoordX}}&lt;br /&gt;
{{hl1msg|coord|CoordY}}&lt;br /&gt;
{{hl1msg|coord|CoordZ}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BombPickup =&lt;br /&gt;
This message just tells the game that the bomb has been picked up. It will cause the dropped/planted bomb to disappear from the Terrorist team's radar.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|BombPickup}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BotProgress =&lt;br /&gt;
Used by CZ's bots when learning a new map. 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.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|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.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|BotProgress|byte, byte, string}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{hl1msg|byte|Progress}}&lt;br /&gt;
{{hl1msg|string|Header}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BotVoice =&lt;br /&gt;
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 by regular players, although you &amp;lt;i&amp;gt;can&amp;lt;/i&amp;gt; specify a regular player (non-bot) for the PlayerIndex. Status is 1 for talking, or 0 for not talking.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|BotVoice|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|Status}}&lt;br /&gt;
{{hl1msg|byte|PlayerIndex}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Brass =&lt;br /&gt;
Creates a brass shell. Used, for example, by the AWP, after firing.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Brass|byte, coord, coord, coord, coord, coord, coord, coord, coord, coord, angle, short, byte, byte, byte}}&lt;br /&gt;
{{hl1msg|byte|MessageID}}&lt;br /&gt;
{{hl1msg|coord|StartX}}&lt;br /&gt;
{{hl1msg|coord|StartY}}&lt;br /&gt;
{{hl1msg|coord|StartZ}}&lt;br /&gt;
{{hl1msg|coord|VelocityX?}}&lt;br /&gt;
{{hl1msg|coord|VelocityY?}}&lt;br /&gt;
{{hl1msg|coord|VelocityZ?}}&lt;br /&gt;
{{hl1msg|coord|UnknownX}}&lt;br /&gt;
{{hl1msg|coord|UnknownY}}&lt;br /&gt;
{{hl1msg|coord|UnknownZ}}&lt;br /&gt;
{{hl1msg|angle|Rotation}}&lt;br /&gt;
{{hl1msg|short|ModelIndex}}&lt;br /&gt;
{{hl1msg|byte|BounceSoundType}}&lt;br /&gt;
{{hl1msg|byte|Life}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BuyClose =&lt;br /&gt;
Forces the buy menu to close. This is not called when the player closes the buy menu by himself; it's only called when the game forces him to do so (ie: he walks outside of the buy zone, gets killed, etcetera).&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|BuyClose}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ClCorpse =&lt;br /&gt;
Spawns a player's corpse. ModelName is the player's model name, for example: &amp;quot;leet&amp;quot;. Delay is a delay before animation plaback, can be negative value.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Coord and Delay is multiplied by 128.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|In CS argument #10 is always equal to 0.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*See [http://www.amxmodx.org/funcwiki.php?go=module&amp;amp;id=4#const_teams CS Team Constants] for team indeces constants list.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ClCorpse|string, long, long, long, coord, coord, coord, long, byte, byte, byte, byte}}&lt;br /&gt;
{{hl1msg|string|ModelName}}&lt;br /&gt;
{{hl1msg|long|CoordX}}&lt;br /&gt;
{{hl1msg|long|CoordY}}&lt;br /&gt;
{{hl1msg|long|CoordZ}}&lt;br /&gt;
{{hl1msg|coord|Angle0}}&lt;br /&gt;
{{hl1msg|coord|Angle1}}&lt;br /&gt;
{{hl1msg|coord|Angle2}}&lt;br /&gt;
{{hl1msg|long|Delay}}&lt;br /&gt;
{{hl1msg|byte|Sequence}}&lt;br /&gt;
{{hl1msg|byte|ClassID?}}&lt;br /&gt;
{{hl1msg|byte|TeamID}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Crosshair =&lt;br /&gt;
Draws/removes a crosshair. If Flag is set to 1 the crosshair will be drawn.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This crossair looks not like the regular one but like the one that is drawn in the spectator mode.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Crosshair|byte}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= CurWeapon =&lt;br /&gt;
Updates the clip ammo number and weapon's corresponding ammo type icon on the [[HUD]].&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|See [[CS Weapons Information]] for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|CurWeapon|byte, byte, byte}}&lt;br /&gt;
{{hl1msg|byte|IsActive}}&lt;br /&gt;
{{hl1msg|byte|WeaponID}}&lt;br /&gt;
{{hl1msg|byte|ClipAmmo}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= CZCareer =&lt;br /&gt;
Supplies certain updates to the player regarding Condition Zero singleplayer missions.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|See the [[CZCareer]] page for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|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).}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|The Type argument is case-sensitive.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This event does nothing in CS and CZ multiplayer.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|CZCareer|string,*}}&lt;br /&gt;
{{hl1msg|string|Type}}&lt;br /&gt;
{{hl1msg|*|Parameters}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= CZCareerHUD =&lt;br /&gt;
Displays certain [[HUD]] elements regarding Condition Zero singleplayer missions.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|See the [[CZCareerHUD]] page for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|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).}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|The Type argument is case-sensitive.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This event has some limited functionality in CS and CZ multiplayer (albeit better in CZ).}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|CZCareerHUD|string,*}}&lt;br /&gt;
{{hl1msg|string|Type}}&lt;br /&gt;
{{hl1msg|*|Parameters}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Damage =&lt;br /&gt;
Called when a player takes damage, to display the red locational indicators. The last three arguments is the origin of the damage inflictor or victim origin if inflictor isn't found. DamageType is a bitwise value usually consist of a single bit.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|To caputure this message,you should use &amp;quot;b&amp;quot; as the third parameter in the register_event() function.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Damage|byte, byte, long, coord, coord, coord}}&lt;br /&gt;
{{hl1msg|byte|DamageSave}}&lt;br /&gt;
{{hl1msg|byte|DamageTake}}&lt;br /&gt;
{{hl1msg|long|DamageType}}&lt;br /&gt;
{{hl1msg|coord|CoordX}}&lt;br /&gt;
{{hl1msg|coord|CoordY}}&lt;br /&gt;
{{hl1msg|coord|CoordZ}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= DeathMsg =&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
Also prints the console text message &amp;quot;KillerName killed VictimName with TruncatedWeaponName&amp;quot; or &amp;quot;*** KillerName killed VictimName with a headshot from TruncatedWeaponName ***&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|TruncatedWeaponName doesn't contain a &amp;quot;weapon_&amp;quot; prefix. See [[CS Weapons Information]] for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|For grenade kill TruncatedWeaponName isn't &amp;quot;hegrenade&amp;quot; but &amp;quot;grenade&amp;quot;, in fact it's an actual classname of a throwed grenade.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|For KillerID it's not necessarily should be a PlayerID, it could be 0 if player dies from fall/acid/radiation/fire/etc damage/lack of oxygen or from touch to a &amp;quot;trigger_hurt&amp;quot; entity, in this case TruncatedWeaponName will be &amp;quot;worldspawn&amp;quot; and &amp;quot;trigger_hurt&amp;quot; respectively.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|For vehicle kills TruncatedWeaponName could be &amp;quot;vehicle&amp;quot;, &amp;quot;tank&amp;quot; et cetera.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|DeathMsg|byte, byte, byte, string}}&lt;br /&gt;
{{hl1msg|byte|KillerID}}&lt;br /&gt;
{{hl1msg|byte|VictimID}}&lt;br /&gt;
{{hl1msg|byte|IsHeadshot}}&lt;br /&gt;
{{hl1msg|string|TruncatedWeaponName}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= FlashBat =&lt;br /&gt;
Updates the flashlight battery charge on the [[HUD]].&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|FlashBat|byte}}&lt;br /&gt;
{{hl1msg|byte|ChargePercents}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Flashlight =&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Flashlight|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{hl1msg|byte|ChargePercents}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Fog =&lt;br /&gt;
{{qnotice|mp_Fog 1 for fog in counter-strike}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|Fog|byte, byte, byte}}&lt;br /&gt;
{{hl1msg|byte|FogValue}}&lt;br /&gt;
{{hl1msg|byte|FogValue}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ForceCam =&lt;br /&gt;
Called whenever mp_forcecam or mp_forcechasecam are changed, with their new values passed. There is assumedly a third CVar that this tracks, but it is yet unknown. Note that this message doesn't actually change any of the spectating rules for the client.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Even if mp_forcechasecam is set to 2, it is sent by this message as 1.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ForceCam|byte, byte, byte}}&lt;br /&gt;
{{hl1msg|byte|ForcecamValue}}&lt;br /&gt;
{{hl1msg|byte|ForcechasecamValue}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= GameMode =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|GameMode|byte}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= GameTitle =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Geiger =&lt;br /&gt;
Notifies about radiation level through special sound signals. Distance is a distance to hazard area.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Geiger|byte}}&lt;br /&gt;
{{hl1msg|byte|Distance}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Health =&lt;br /&gt;
Updates the number of health on the [[HUD]].&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Health|byte}}&lt;br /&gt;
{{hl1msg|byte|Health}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= HideWeapon =&lt;br /&gt;
Hides the specified [[HUD]] elements.&amp;lt;br&amp;gt;&lt;br /&gt;
Flags:&lt;br /&gt;
   1   (1&amp;lt;&amp;lt;0)  -  crosshair, ammo, weapons list&lt;br /&gt;
   2   (1&amp;lt;&amp;lt;1)  -  flashlight, +&lt;br /&gt;
   4   (1&amp;lt;&amp;lt;2)  -  ALL&lt;br /&gt;
   8   (1&amp;lt;&amp;lt;3)  -  radar, health, armor, +&lt;br /&gt;
  16   (1&amp;lt;&amp;lt;4)  -  timer, +&lt;br /&gt;
  32   (1&amp;lt;&amp;lt;5)  -  money, +&lt;br /&gt;
  64   (1&amp;lt;&amp;lt;6)  -  crosshair&lt;br /&gt;
 128   (1&amp;lt;&amp;lt;7)  -  +&lt;br /&gt;
Symbol + mean that an additional crosshair will be drawn. That crosshair looks exactly like the one from Crosshair message.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|HideWeapon|byte}}&lt;br /&gt;
{{hl1msg|byte|Flags}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= HLTV =&lt;br /&gt;
Message sent for HLTV and unique for each round-start.&amp;lt;br&amp;gt;&lt;br /&gt;
On new round is fired 2 messages:&lt;br /&gt;
 // reset all players health for HLTV&lt;br /&gt;
 MESSAGE_BEGIN( MSG_SPEC, gmsgHLTV );&lt;br /&gt;
 WRITE_BYTE( 0 );   // 0 = all players&lt;br /&gt;
 WRITE_BYTE( 100 | 128 );&lt;br /&gt;
 MESSAGE_END();&amp;lt;br&amp;gt;&lt;br /&gt;
 // reset all players FOV for HLTV&lt;br /&gt;
 MESSAGE_BEGIN( MSG_SPEC, gmsgHLTV );&lt;br /&gt;
 WRITE_BYTE( 0 );   // all players&lt;br /&gt;
 WRITE_BYTE( 0 );&lt;br /&gt;
 MESSAGE_END();&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|HLTV|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|ClientID}}&lt;br /&gt;
{{hl1msg|byte|Flags}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= HostageK =&lt;br /&gt;
Temporarily draws a blinking red dot on the CT players' radar when a hostage is killed.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|HostageK|byte}}&lt;br /&gt;
{{hl1msg|byte|HostageID}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= HostagePos =&lt;br /&gt;
Draws/updates the blue mark on the CT players' radar which is indicate the corresponding hostage position.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Is called with Flag set to 1 on player [[HUD]] full update.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|HostagePos|byte, byte, coord, coord, coord}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{hl1msg|byte|HostageID}}&lt;br /&gt;
{{hl1msg|coord|CoordX}}&lt;br /&gt;
{{hl1msg|coord|CoordY}}&lt;br /&gt;
{{hl1msg|coord|CoordZ}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= HudText =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= HudTextArgs =&lt;br /&gt;
Prints [[HUD]] text.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|An example of TextCode could be &amp;quot;#Hint_you_have_the_bomb&amp;quot;.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|If you have a problems with specifing the last two arguments use 1 and 0 respectively.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|HudTextArgs|string, byte, byte}}&lt;br /&gt;
{{hl1msg|string|TextCode}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= HudTextPro =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= InitHUD =&lt;br /&gt;
Initializes the [[HUD]].&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|InitHUD}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ItemPickup =&lt;br /&gt;
Temporarily draws correspoding item [[HUD]] icon in the middle of the right side of the screen.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Draw time is depend on the ''hud_drawhistory_time'' client CVar value.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ItemPickup|string}}&lt;br /&gt;
{{hl1msg|string|ItemName}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ItemStatus =&lt;br /&gt;
Notifies about carried items.&amp;lt;br&amp;gt;&lt;br /&gt;
Example of some item bits:&lt;br /&gt;
 1   (1&amp;lt;&amp;lt;0)  -  nightvision goggles&lt;br /&gt;
 2   (1&amp;lt;&amp;lt;1)  -  defusal kit&lt;br /&gt;
{{begin-hl1msg|ItemStatus|byte}}&lt;br /&gt;
{{hl1msg|byte|ItemsBitSum}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Location =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Location|byte, string}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{hl1msg|string|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Money =&lt;br /&gt;
Updates the Amount of money on the [[HUD]]. If the Flag is 1, the additional new-old [[HUD]] money amount difference will be also displayed.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Money|long, byte}}&lt;br /&gt;
{{hl1msg|long|Amount}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= MOTD =&lt;br /&gt;
Displays MOTD window.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Max. Text length is 60. Large MOTD is sent in multiple messages. For the message that is send a last MOTD part the Flag will be set to 1 and 0 otherwise.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|MOTD|byte, string}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{hl1msg|string|Text}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= NVGToggle =&lt;br /&gt;
Toggles night vision mode. For Flag: 1 is on, 0 is off.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|NVGToggle|byte}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Radar =&lt;br /&gt;
Draws/updates the dot on the [[HUD]] radar which is indicate the given player position.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Works for teammates only.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Radar|byte, coord, coord, coord}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{hl1msg|coord|CoordX}}&lt;br /&gt;
{{hl1msg|coord|CoordY}}&lt;br /&gt;
{{hl1msg|coord|CoordZ}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ReceiveW =&lt;br /&gt;
Tell the client which visual weather effect to be executed client side, if cl_weather client cvar is above 0.&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|Main part of CBasePlayer::SendWeatherInfo() function that is sent in CBasePlayer :: UpdateClientData() when player offset m_fInitHUD is 1&amp;lt;br&amp;gt;&lt;br /&gt;
(right after putinserver or after fullupdate command)&amp;lt;br&amp;gt;&lt;br /&gt;
Mode : 1 is for rain effect, 2 is for snow effect&amp;lt;br&amp;gt;&lt;br /&gt;
Though mode 0 is never sent by the game itself, removes weather effect&amp;lt;br&amp;gt;&lt;br /&gt;
Alternatively send mode 1 and mode 2 with judicious delays (time for effect to disappear) make both rain and snow effect}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ReceiveW|byte}}&lt;br /&gt;
{{hl1msg|byte|mode}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ReloadSound =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ReloadSound|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ReqState =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ReqState}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ResetHUD =&lt;br /&gt;
Resets the [[HUD]].&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ResetHUD}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= RoundTime =&lt;br /&gt;
Updates the round timer on the [[HUD]]. Time is in seconds.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|RoundTime|short}}&lt;br /&gt;
{{hl1msg|short|Time}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SayText =&lt;br /&gt;
Prints say [[HUD]] text. Second argument can be a predefined string or a custom one. In the last case the last two arguments isn't required.&amp;lt;br&amp;gt;&lt;br /&gt;
An examples of a predifined Counter-Strike string values: #Cstrike_Chat_AllDead, #Cstrike_Name_Change&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|For #Cstrike_Name_Change String2 is an old name and String3 is a new name.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|SayText|byte, string, string, string}}&lt;br /&gt;
{{hl1msg|byte|SenderID}}&lt;br /&gt;
{{hl1msg|string|String1}}&lt;br /&gt;
{{hl1msg|string|String2}}&lt;br /&gt;
{{hl1msg|string|String3}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Scenario =&lt;br /&gt;
If Active is 0, this display will be hidden. If Active is 1, 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.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|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.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[image:Cs_scenario_msg.jpg|frame|right|Scenario message in CS, using the following parameters: 1, d_mp5navy, 150]]&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Works in both CS and CZ!}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|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.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Scenario|byte, string, byte, short, short}}&lt;br /&gt;
{{hl1msg|byte|Active}}&lt;br /&gt;
{{hl1msg|string|Sprite}}&lt;br /&gt;
{{hl1msg|byte|Alpha}}&lt;br /&gt;
{{hl1msg|short|FlashRate}}&lt;br /&gt;
{{hl1msg|short|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ScoreAttrib =&lt;br /&gt;
Updates the scoreboard's attribute for the specified player. For the 2nd argument, 0 is nothing, (1&amp;lt;&amp;lt;0) i.e. 1 is dead, (1&amp;lt;&amp;lt;1) i.e. 2 is bomb, (1&amp;lt;&amp;lt;2) i.e. 4 is VIP.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|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.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ScoreAttrib|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{hl1msg|byte|Flags}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ScoreInfo =&lt;br /&gt;
Updates the scoreboard with the given player's Frags and Deaths.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|In CS the 4th argument is always equal to 0.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*See [http://www.amxmodx.org/funcwiki.php?go=module&amp;amp;id=4#const_teams CS Team Constants] for team indeces constants list.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ScoreInfo|byte, short, short, short, short}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{hl1msg|short|Frags}}&lt;br /&gt;
{{hl1msg|short|Deaths}}&lt;br /&gt;
{{hl1msg|short|ClassID?}}&lt;br /&gt;
{{hl1msg|short|TeamID}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ScreenFade =&lt;br /&gt;
Fades the screen.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Duration and HoldTime is in special units. 1 second is equal to (1&amp;lt;&amp;lt;12) i.e. 4096 units.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Flags (from HLSDK):&lt;br /&gt;
 FFADE_IN         0x0000 // Just here so we don't pass 0 into the function&lt;br /&gt;
 FFADE_OUT        0x0001 // Fade out (not in)&lt;br /&gt;
 FFADE_MODULATE   0x0002 // Modulate (don't blend)&lt;br /&gt;
 FFADE_STAYOUT    0x0004 // ignores the duration, stays faded out until new ScreenFade message received&lt;br /&gt;
{{begin-hl1msg|ScreenFade|short, short, short, byte, byte, byte, byte}}&lt;br /&gt;
{{hl1msg|short|Duration}}&lt;br /&gt;
{{hl1msg|short|HoldTime}}&lt;br /&gt;
{{hl1msg|short|Flags}}&lt;br /&gt;
{{hl1msg|byte|ColorR}}&lt;br /&gt;
{{hl1msg|byte|ColorG}}&lt;br /&gt;
{{hl1msg|byte|ColorB}}&lt;br /&gt;
{{hl1msg|byte|Alpha}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ScreenShake =&lt;br /&gt;
Shakes the screen.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|All arguments is in special units. 1 second is equal to (1&amp;lt;&amp;lt;12) i.e. 4096 units.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ScreenShake|short, short, short}}&lt;br /&gt;
{{hl1msg|short|Amplitude}}&lt;br /&gt;
{{hl1msg|short|Duration}}&lt;br /&gt;
{{hl1msg|short|Frequency}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SendAudio =&lt;br /&gt;
Plays the specified audio. An example of AudioCode could be &amp;quot;%!MRAD_rounddraw&amp;quot;.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|SendAudio|byte, string, short}}&lt;br /&gt;
{{hl1msg|byte|SenderID}}&lt;br /&gt;
{{hl1msg|string|AudioCode}}&lt;br /&gt;
{{hl1msg|short|Pitch}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ServerName =&lt;br /&gt;
Sends a server name to a client.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ServerName|string}}&lt;br /&gt;
{{hl1msg|string|ServerName}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SetFOV =&lt;br /&gt;
Sets the specified field of view.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|SetFOV|byte}}&lt;br /&gt;
{{hl1msg|byte|Degrees}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ShadowIdx =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ShadowIdx|long}}&lt;br /&gt;
{{hl1msg|long|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ShowMenu =&lt;br /&gt;
Displays a &amp;quot;menu&amp;quot; to a player (text on the left side of the screen). Acts like AMXX's show_menu (in fact, this is how AMXX shows a menu).&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|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.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ShowMenu|short, char, byte, string}}&lt;br /&gt;
{{hl1msg|short|KeysBitSum}}&lt;br /&gt;
{{hl1msg|char|Time}}&lt;br /&gt;
{{hl1msg|byte|Multipart}}&lt;br /&gt;
{{hl1msg|string|Text}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ShowTimer =&lt;br /&gt;
Forces the round timer displaying.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ShowTimer}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SpecHealth =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|SpecHealth|byte}}&lt;br /&gt;
{{hl1msg|byte|Health?}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SpecHealth2 =&lt;br /&gt;
Updates the observer's screen with a name and health of the given player.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|SpecHealth2|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|Health}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Spectator =&lt;br /&gt;
Called when player becomes an observer/spectator.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|On join to Spectators usually is fired twice in a row.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Spectator|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|ClientID}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= StatusIcon =&lt;br /&gt;
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 is required only if Status aren't equal to 0.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|StatusIcon|byte, string, byte, byte, byte}}&lt;br /&gt;
{{hl1msg|byte|Status}}&lt;br /&gt;
{{hl1msg|string|SpriteName}}&lt;br /&gt;
{{hl1msg|byte|ColorR}}&lt;br /&gt;
{{hl1msg|byte|ColorG}}&lt;br /&gt;
{{hl1msg|byte|ColorB}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= StatusValue =&lt;br /&gt;
Sends/updates the status values. For the Flag 1 the Value is TeamRelation, for 2 is PlayerID, for 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.&amp;lt;br&amp;gt;&lt;br /&gt;
Usually is fired as a triple message, for example:&lt;br /&gt;
 {1,  2}  -  non-teammate player&lt;br /&gt;
 {2, 17}  -  player index is 17&lt;br /&gt;
 {3, 59}  -  player health is 59&lt;br /&gt;
{{begin-hl1msg|StatusValue|byte, short}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{hl1msg|short|Value}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= StatusText =&lt;br /&gt;
Specifies the status text format.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|StatusText|byte, string}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{hl1msg|string|Text}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TaskTime =&lt;br /&gt;
Displays a secondary timer above the round timer. Used for Condition Zero singleplayer missions.&amp;lt;br&amp;gt;&lt;br /&gt;
If Time is -1, timer dissappears. If Time is any other negative value, it is displayed as green instead of yellow, and considered positive.&amp;lt;br&amp;gt;&lt;br /&gt;
If Active is true, timer counts down. Otherwise, it is paused.&amp;lt;br&amp;gt;If Fade is above zero, the timer will slowly fade out after that many seconds have passed (even if the timer is inactive).&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This event can only be used on missions that have an objective requiring a secondary timer!}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|TaskTime|short, byte, byte}}&lt;br /&gt;
{{hl1msg|short|Time}}&lt;br /&gt;
{{hl1msg|byte|Active}}&lt;br /&gt;
{{hl1msg|byte|Fade}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TeamInfo =&lt;br /&gt;
Sets the team information for the given player.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|In CS TeamName is either &amp;quot;UNASSIGNED&amp;quot;, &amp;quot;TERRORIST&amp;quot;, &amp;quot;CT&amp;quot; or &amp;quot;SPECTATOR&amp;quot;.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|TeamInfo|byte, string}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{hl1msg|string|TeamName}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TeamScore =&lt;br /&gt;
Updates the team score on the score board.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|In CS TeamName is either &amp;quot;TERRORIST&amp;quot; or &amp;quot;CT&amp;quot;.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|TeamScore|string, short}}&lt;br /&gt;
{{hl1msg|string|TeamName}}&lt;br /&gt;
{{hl1msg|short|Score}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TextMsg =&lt;br /&gt;
Prints a cutom/or predefined text message.&amp;lt;br&amp;gt;&lt;br /&gt;
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:&lt;br /&gt;
 Arg1: 1&lt;br /&gt;
 Arg2: #Game_join_ct&lt;br /&gt;
 Arg3: Pimp Daddy&lt;br /&gt;
{{begin-hl1msg|TextMsg|byte, string, string, string, string, string}}&lt;br /&gt;
{{hl1msg|byte|DestinationType}}&lt;br /&gt;
{{hl1msg|string|Message}}&lt;br /&gt;
{{hl1msg|string|Submsg}}&lt;br /&gt;
{{hl1msg|string|Submsg}}&lt;br /&gt;
{{hl1msg|string|Submsg}}&lt;br /&gt;
{{hl1msg|string|Submsg}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Train =&lt;br /&gt;
Displays the speed bar used for controlling a train.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Speed is as follows: 0 (disable display), 1 (reverse), 2 (neutral), 3 (slow speed), 4 (medium speed), 5 (maximum speed)}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Train|byte}}&lt;br /&gt;
{{hl1msg|byte|Speed}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TutorClose =&lt;br /&gt;
Closes all CZ-style tutor popups.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= TutorLine =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= TutorState =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= TutorText =&lt;br /&gt;
Used to display a CZ-style tutor popup.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|TutorText|string, byte, short, short, short}}&lt;br /&gt;
{{hl1msg|string|Unknown}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{hl1msg|short|Unknown}}&lt;br /&gt;
{{hl1msg|short|Unknown}}&lt;br /&gt;
{{hl1msg|short|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ViewMode =&lt;br /&gt;
{{qnotice|No Information available for this message (HLSDK says this switches to first-person view, but it doesn't seem to function as so).}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ViewMode}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= VGUIMenu =&lt;br /&gt;
Displays a predefined VGUI menu.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|VGUIMenu|byte, short, char, byte, string}}&lt;br /&gt;
{{hl1msg|byte|MenuID}}&lt;br /&gt;
{{hl1msg|short|KeysBitSum}}&lt;br /&gt;
{{hl1msg|char|Time?}}&lt;br /&gt;
{{hl1msg|byte|Multipart?}}&lt;br /&gt;
{{hl1msg|string|Name?}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= VoiceMask =&lt;br /&gt;
Used to tell a client who he can hear over the microphone.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|VoiceMask|long, long}}&lt;br /&gt;
{{hl1msg|long|AudiblePlayersIndexBitSum}}&lt;br /&gt;
{{hl1msg|long|ServerBannedPlayersIndexBitSum}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= WeaponList =&lt;br /&gt;
Configures the [[HUD]] weapons list.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Fired on map initialization.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|SlotID starts from 0.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Flags (from HLSDK):&lt;br /&gt;
 ITEM_FLAG_SELECTONEMPTY       1&lt;br /&gt;
 ITEM_FLAG_NOAUTORELOAD        2&lt;br /&gt;
 ITEM_FLAG_NOAUTOSWITCHEMPTY   4&lt;br /&gt;
 ITEM_FLAG_LIMITINWORLD        8&lt;br /&gt;
 ITEM_FLAG_EXHAUSTIBLE        16 // A player can totally exhaust their ammo supply and lose this weapon.&lt;br /&gt;
{{qnotice|See [[CS Weapons Information]] for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|WeaponList|string, byte, byte, byte, byte, byte, byte, byte, byte}}&lt;br /&gt;
{{hl1msg|string|WeaponName}}&lt;br /&gt;
{{hl1msg|byte|PrimaryAmmoID}}&lt;br /&gt;
{{hl1msg|byte|PrimaryAmmoMaxAmount}}&lt;br /&gt;
{{hl1msg|byte|SecondaryAmmoID}}&lt;br /&gt;
{{hl1msg|byte|SecondaryAmmoMaxAmount}}&lt;br /&gt;
{{hl1msg|byte|SlotID}}&lt;br /&gt;
{{hl1msg|byte|NumberInSlot}}&lt;br /&gt;
{{hl1msg|byte|WeaponID}}&lt;br /&gt;
{{hl1msg|byte|Flags}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= WeapPickup =&lt;br /&gt;
Temporarily draws correspoding weapon [[HUD]] icon in the middle of the right side of the screen.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Draw time is depend on the ''hud_drawhistory_time'' client CVar value.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Is fired right before weapon is picked up (notice ''&amp;quot;before&amp;quot;'').}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|See [[CS Weapons Information]] for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|WeapPickup|byte}}&lt;br /&gt;
{{hl1msg|byte|WeaponID}}&lt;br /&gt;
{{end-hl1msg}}&lt;/div&gt;</summary>
		<author><name>ConnorMcLeod</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.alliedmods.net/index.php?title=Half-Life_1_Game_Events&amp;diff=7897</id>
		<title>Half-Life 1 Game Events</title>
		<link rel="alternate" type="text/html" href="https://wiki.alliedmods.net/index.php?title=Half-Life_1_Game_Events&amp;diff=7897"/>
		<updated>2010-11-29T16:21:13Z</updated>

		<summary type="html">&lt;p&gt;ConnorMcLeod: /* ReceiveW */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Half-Life 1]]&lt;br /&gt;
[[Category:Scripting (AMX Mod X)]]&lt;br /&gt;
&lt;br /&gt;
= Introduction =&lt;br /&gt;
&lt;br /&gt;
In [[AMX Mod X]] you are able to hook in-game messages/events with [http://www.amxmodx.org/funcwiki.php?search=register_message&amp;amp;go=search register_message] / [http://www.amxmodx.org/funcwiki.php?go=func&amp;amp;id=26 register_event]. Here are the list of messages/events and their arguments which can be read with [http://www.amxmodx.org/funcwiki.php?search=get_msg_arg_&amp;amp;go=search get_msg_arg_*] / [http://www.amxmodx.org/funcwiki.php?go=func&amp;amp;id=132 read_data].&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
*See the [[Advanced Scripting (AMX Mod X)#Events.2FMessages|Advanced Scripting]] article for more on events and messages.&amp;lt;br&amp;gt;&lt;br /&gt;
*See messages.inc and message_const.inc from amxmodx/scriptong/include folder or [http://www.amxmodx.org/funcwiki.php?go=inc&amp;amp;id=47 Messaging functions] and [http://www.amxmodx.org/funcwiki.php?go=inc&amp;amp;id=48 Message constants] for full messages control including blocking, argument alteration and much more.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= ADStop =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ADStop}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= AllowSpec =&lt;br /&gt;
Changes whether or not &amp;quot;SPECTATE&amp;quot; appears on the change team menu. Called whenever the allow_spectators CVar is changed, with its new value sent as the byte.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This changes how the change team menu appears, but spectating functionality is based off of the actual CVar value.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|AllowSpec|byte}}&lt;br /&gt;
{{hl1msg|byte|Allowed}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= AmmoPickup =&lt;br /&gt;
Temporarily draws [[HUD]] ammo amount and correspoding ammo [[HUD]] icon in the middle of the right side of the screen.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Draw time is depend on the ''hud_drawhistory_time'' client CVar value.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|See [[CS Weapons Information]] for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|AmmoPickup|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|AmmoID}}&lt;br /&gt;
{{hl1msg|byte|Ammount}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= AmmoX =&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|See [[CS Weapons Information]] for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|AmmoX|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|AmmoID}}&lt;br /&gt;
{{hl1msg|byte|Ammount}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ArmorType =&lt;br /&gt;
Draws/removes helmet [[HUD]] icon. If flag is set to 1 the helmet [[HUD]] icon will be drawn (located right on the armor icon).&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ArmorType|byte}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BarTime =&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Set Duration to 0 to hide the bar.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|BarTime|short}}&lt;br /&gt;
{{hl1msg|short|Duration}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BarTime2 =&lt;br /&gt;
The same as BarTime but StartPercents is specify how many per cents of the bar are (already) filled.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Display time can be calculated with this formula: ''(1 - (StartPercents / 100)) / Duration''}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|BarTime2|short, short}}&lt;br /&gt;
{{hl1msg|short|Duration}}&lt;br /&gt;
{{hl1msg|short|StartPercents}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Battery =&lt;br /&gt;
Updates the icon and the number of armor on the [[HUD]].&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Battery|short}}&lt;br /&gt;
{{hl1msg|short|Armor}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BlinkAcct =&lt;br /&gt;
Makes a player's money display flash rapidly, until it flashes a total of BlinkAmt times.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|BlinkAcct|byte}}&lt;br /&gt;
{{hl1msg|byte|BlinkAmt}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BombDrop =&lt;br /&gt;
The first three arguments are the origin of the dropped bomb. The last argument is set to 1 if the bomb has been planted. It is 0 if the bomb was dropped due to voluntary dropping or death/disconnect. Setting the last argument 1, will also 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.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|BombDrop|coord, coord, coord, byte}}&lt;br /&gt;
{{hl1msg|coord|CoordX}}&lt;br /&gt;
{{hl1msg|coord|CoordY}}&lt;br /&gt;
{{hl1msg|coord|CoordZ}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BombPickup =&lt;br /&gt;
This message just tells the game that the bomb has been picked up. It will cause the dropped/planted bomb to disappear from the Terrorist team's radar.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|BombPickup}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BotProgress =&lt;br /&gt;
Used by CZ's bots when learning a new map. 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.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|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.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|BotProgress|byte, byte, string}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{hl1msg|byte|Progress}}&lt;br /&gt;
{{hl1msg|string|Header}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BotVoice =&lt;br /&gt;
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 by regular players, although you &amp;lt;i&amp;gt;can&amp;lt;/i&amp;gt; specify a regular player (non-bot) for the PlayerIndex. Status is 1 for talking, or 0 for not talking.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|BotVoice|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|Status}}&lt;br /&gt;
{{hl1msg|byte|PlayerIndex}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Brass =&lt;br /&gt;
Creates a brass shell. Used, for example, by the AWP, after firing.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Brass|byte, coord, coord, coord, coord, coord, coord, coord, coord, coord, angle, short, byte, byte, byte}}&lt;br /&gt;
{{hl1msg|byte|MessageID}}&lt;br /&gt;
{{hl1msg|coord|StartX}}&lt;br /&gt;
{{hl1msg|coord|StartY}}&lt;br /&gt;
{{hl1msg|coord|StartZ}}&lt;br /&gt;
{{hl1msg|coord|VelocityX?}}&lt;br /&gt;
{{hl1msg|coord|VelocityY?}}&lt;br /&gt;
{{hl1msg|coord|VelocityZ?}}&lt;br /&gt;
{{hl1msg|coord|UnknownX}}&lt;br /&gt;
{{hl1msg|coord|UnknownY}}&lt;br /&gt;
{{hl1msg|coord|UnknownZ}}&lt;br /&gt;
{{hl1msg|angle|Rotation}}&lt;br /&gt;
{{hl1msg|short|ModelIndex}}&lt;br /&gt;
{{hl1msg|byte|BounceSoundType}}&lt;br /&gt;
{{hl1msg|byte|Life}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BuyClose =&lt;br /&gt;
Forces the buy menu to close. This is not called when the player closes the buy menu by himself; it's only called when the game forces him to do so (ie: he walks outside of the buy zone, gets killed, etcetera).&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|BuyClose}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ClCorpse =&lt;br /&gt;
Spawns a player's corpse. ModelName is the player's model name, for example: &amp;quot;leet&amp;quot;. Delay is a delay before animation plaback, can be negative value.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Coord and Delay is multiplied by 128.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|In CS argument #10 is always equal to 0.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*See [http://www.amxmodx.org/funcwiki.php?go=module&amp;amp;id=4#const_teams CS Team Constants] for team indeces constants list.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ClCorpse|string, long, long, long, coord, coord, coord, long, byte, byte, byte, byte}}&lt;br /&gt;
{{hl1msg|string|ModelName}}&lt;br /&gt;
{{hl1msg|long|CoordX}}&lt;br /&gt;
{{hl1msg|long|CoordY}}&lt;br /&gt;
{{hl1msg|long|CoordZ}}&lt;br /&gt;
{{hl1msg|coord|Angle0}}&lt;br /&gt;
{{hl1msg|coord|Angle1}}&lt;br /&gt;
{{hl1msg|coord|Angle2}}&lt;br /&gt;
{{hl1msg|long|Delay}}&lt;br /&gt;
{{hl1msg|byte|Sequence}}&lt;br /&gt;
{{hl1msg|byte|ClassID?}}&lt;br /&gt;
{{hl1msg|byte|TeamID}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Crosshair =&lt;br /&gt;
Draws/removes a crosshair. If Flag is set to 1 the crosshair will be drawn.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This crossair looks not like the regular one but like the one that is drawn in the spectator mode.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Crosshair|byte}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= CurWeapon =&lt;br /&gt;
Updates the clip ammo number and weapon's corresponding ammo type icon on the [[HUD]].&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|See [[CS Weapons Information]] for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|CurWeapon|byte, byte, byte}}&lt;br /&gt;
{{hl1msg|byte|IsActive}}&lt;br /&gt;
{{hl1msg|byte|WeaponID}}&lt;br /&gt;
{{hl1msg|byte|ClipAmmo}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= CZCareer =&lt;br /&gt;
Supplies certain updates to the player regarding Condition Zero singleplayer missions.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|See the [[CZCareer]] page for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|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).}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|The Type argument is case-sensitive.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This event does nothing in CS and CZ multiplayer.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|CZCareer|string,*}}&lt;br /&gt;
{{hl1msg|string|Type}}&lt;br /&gt;
{{hl1msg|*|Parameters}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= CZCareerHUD =&lt;br /&gt;
Displays certain [[HUD]] elements regarding Condition Zero singleplayer missions.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|See the [[CZCareerHUD]] page for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|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).}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|The Type argument is case-sensitive.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This event has some limited functionality in CS and CZ multiplayer (albeit better in CZ).}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|CZCareerHUD|string,*}}&lt;br /&gt;
{{hl1msg|string|Type}}&lt;br /&gt;
{{hl1msg|*|Parameters}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Damage =&lt;br /&gt;
Called when a player takes damage, to display the red locational indicators. The last three arguments is the origin of the damage inflictor or victim origin if inflictor isn't found. DamageType is a bitwise value usually consist of a single bit.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|To caputure this message,you should use &amp;quot;b&amp;quot; as the third parameter in the register_event() function.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Damage|byte, byte, long, coord, coord, coord}}&lt;br /&gt;
{{hl1msg|byte|DamageSave}}&lt;br /&gt;
{{hl1msg|byte|DamageTake}}&lt;br /&gt;
{{hl1msg|long|DamageType}}&lt;br /&gt;
{{hl1msg|coord|CoordX}}&lt;br /&gt;
{{hl1msg|coord|CoordY}}&lt;br /&gt;
{{hl1msg|coord|CoordZ}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= DeathMsg =&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
Also prints the console text message &amp;quot;KillerName killed VictimName with TruncatedWeaponName&amp;quot; or &amp;quot;*** KillerName killed VictimName with a headshot from TruncatedWeaponName ***&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|TruncatedWeaponName doesn't contain a &amp;quot;weapon_&amp;quot; prefix. See [[CS Weapons Information]] for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|For grenade kill TruncatedWeaponName isn't &amp;quot;hegrenade&amp;quot; but &amp;quot;grenade&amp;quot;, in fact it's an actual classname of a throwed grenade.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|For KillerID it's not necessarily should be a PlayerID, it could be 0 if player dies from fall/acid/radiation/fire/etc damage/lack of oxygen or from touch to a &amp;quot;trigger_hurt&amp;quot; entity, in this case TruncatedWeaponName will be &amp;quot;worldspawn&amp;quot; and &amp;quot;trigger_hurt&amp;quot; respectively.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|For vehicle kills TruncatedWeaponName could be &amp;quot;vehicle&amp;quot;, &amp;quot;tank&amp;quot; et cetera.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|DeathMsg|byte, byte, byte, string}}&lt;br /&gt;
{{hl1msg|byte|KillerID}}&lt;br /&gt;
{{hl1msg|byte|VictimID}}&lt;br /&gt;
{{hl1msg|byte|IsHeadshot}}&lt;br /&gt;
{{hl1msg|string|TruncatedWeaponName}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= FlashBat =&lt;br /&gt;
Updates the flashlight battery charge on the [[HUD]].&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|FlashBat|byte}}&lt;br /&gt;
{{hl1msg|byte|ChargePercents}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Flashlight =&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Flashlight|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{hl1msg|byte|ChargePercents}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Fog =&lt;br /&gt;
{{qnotice|mp_Fog 1 for fog in counter-strike}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|Fog|byte, byte, byte}}&lt;br /&gt;
{{hl1msg|byte|FogValue}}&lt;br /&gt;
{{hl1msg|byte|FogValue}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ForceCam =&lt;br /&gt;
Called whenever mp_forcecam or mp_forcechasecam are changed, with their new values passed. There is assumedly a third CVar that this tracks, but it is yet unknown. Note that this message doesn't actually change any of the spectating rules for the client.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Even if mp_forcechasecam is set to 2, it is sent by this message as 1.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ForceCam|byte, byte, byte}}&lt;br /&gt;
{{hl1msg|byte|ForcecamValue}}&lt;br /&gt;
{{hl1msg|byte|ForcechasecamValue}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= GameMode =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|GameMode|byte}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= GameTitle =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Geiger =&lt;br /&gt;
Notifies about radiation level through special sound signals. Distance is a distance to hazard area.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Geiger|byte}}&lt;br /&gt;
{{hl1msg|byte|Distance}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Health =&lt;br /&gt;
Updates the number of health on the [[HUD]].&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Health|byte}}&lt;br /&gt;
{{hl1msg|byte|Health}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= HideWeapon =&lt;br /&gt;
Hides the specified [[HUD]] elements.&amp;lt;br&amp;gt;&lt;br /&gt;
Flags:&lt;br /&gt;
   1   (1&amp;lt;&amp;lt;0)  -  crosshair, ammo, weapons list&lt;br /&gt;
   2   (1&amp;lt;&amp;lt;1)  -  flashlight, +&lt;br /&gt;
   4   (1&amp;lt;&amp;lt;2)  -  ALL&lt;br /&gt;
   8   (1&amp;lt;&amp;lt;3)  -  radar, health, armor, +&lt;br /&gt;
  16   (1&amp;lt;&amp;lt;4)  -  timer, +&lt;br /&gt;
  32   (1&amp;lt;&amp;lt;5)  -  money, +&lt;br /&gt;
  64   (1&amp;lt;&amp;lt;6)  -  crosshair&lt;br /&gt;
 128   (1&amp;lt;&amp;lt;7)  -  +&lt;br /&gt;
Symbol + mean that an additional crosshair will be drawn. That crosshair looks exactly like the one from Crosshair message.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|HideWeapon|byte}}&lt;br /&gt;
{{hl1msg|byte|Flags}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= HLTV =&lt;br /&gt;
Message sent for HLTV and unique for each round-start.&amp;lt;br&amp;gt;&lt;br /&gt;
On new round is fired 2 messages:&lt;br /&gt;
 // reset all players health for HLTV&lt;br /&gt;
 MESSAGE_BEGIN( MSG_SPEC, gmsgHLTV );&lt;br /&gt;
 WRITE_BYTE( 0 );   // 0 = all players&lt;br /&gt;
 WRITE_BYTE( 100 | 128 );&lt;br /&gt;
 MESSAGE_END();&amp;lt;br&amp;gt;&lt;br /&gt;
 // reset all players FOV for HLTV&lt;br /&gt;
 MESSAGE_BEGIN( MSG_SPEC, gmsgHLTV );&lt;br /&gt;
 WRITE_BYTE( 0 );   // all players&lt;br /&gt;
 WRITE_BYTE( 0 );&lt;br /&gt;
 MESSAGE_END();&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|HLTV|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|ClientID}}&lt;br /&gt;
{{hl1msg|byte|Flags}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= HostageK =&lt;br /&gt;
Temporarily draws a blinking red dot on the CT players' radar when a hostage is killed.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|HostageK|byte}}&lt;br /&gt;
{{hl1msg|byte|HostageID}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= HostagePos =&lt;br /&gt;
Draws/updates the blue mark on the CT players' radar which is indicate the corresponding hostage position.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Is called with Flag set to 1 on player [[HUD]] full update.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|HostagePos|byte, byte, coord, coord, coord}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{hl1msg|byte|HostageID}}&lt;br /&gt;
{{hl1msg|coord|CoordX}}&lt;br /&gt;
{{hl1msg|coord|CoordY}}&lt;br /&gt;
{{hl1msg|coord|CoordZ}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= HudText =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= HudTextArgs =&lt;br /&gt;
Prints [[HUD]] text.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|An example of TextCode could be &amp;quot;#Hint_you_have_the_bomb&amp;quot;.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|If you have a problems with specifing the last two arguments use 1 and 0 respectively.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|HudTextArgs|string, byte, byte}}&lt;br /&gt;
{{hl1msg|string|TextCode}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= HudTextPro =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= InitHUD =&lt;br /&gt;
Initializes the [[HUD]].&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|InitHUD}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ItemPickup =&lt;br /&gt;
Temporarily draws correspoding item [[HUD]] icon in the middle of the right side of the screen.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Draw time is depend on the ''hud_drawhistory_time'' client CVar value.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ItemPickup|string}}&lt;br /&gt;
{{hl1msg|string|ItemName}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ItemStatus =&lt;br /&gt;
Notifies about carried items.&amp;lt;br&amp;gt;&lt;br /&gt;
Example of some item bits:&lt;br /&gt;
 1   (1&amp;lt;&amp;lt;0)  -  nightvision goggles&lt;br /&gt;
 2   (1&amp;lt;&amp;lt;1)  -  defusal kit&lt;br /&gt;
{{begin-hl1msg|ItemStatus|byte}}&lt;br /&gt;
{{hl1msg|byte|ItemsBitSum}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Location =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Location|byte, string}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{hl1msg|string|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Money =&lt;br /&gt;
Updates the Amount of money on the [[HUD]]. If the Flag is 1, the additional new-old [[HUD]] money amount difference will be also displayed.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Money|long, byte}}&lt;br /&gt;
{{hl1msg|long|Amount}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= MOTD =&lt;br /&gt;
Displays MOTD window.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Max. Text length is 60. Large MOTD is sent in multiple messages. For the message that is send a last MOTD part the Flag will be set to 1 and 0 otherwise.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|MOTD|byte, string}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{hl1msg|string|Text}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= NVGToggle =&lt;br /&gt;
Toggles night vision mode. For Flag: 1 is on, 0 is off.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|NVGToggle|byte}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Radar =&lt;br /&gt;
Draws/updates the dot on the [[HUD]] radar which is indicate the given player position.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Works for teammates only.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Radar|byte, coord, coord, coord}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{hl1msg|coord|CoordX}}&lt;br /&gt;
{{hl1msg|coord|CoordY}}&lt;br /&gt;
{{hl1msg|coord|CoordZ}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ReceiveW =&lt;br /&gt;
Tell the client which visual weather effect to be executed client side, if cl_weather client cvar is above 0.&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|Main part of CBasePlayer::SendWeatherInfo() function that is sent in CBasePlayer :: UpdateClientData() when player offset m_fInitHUD is 1&amp;lt;br&amp;gt;&lt;br /&gt;
(right after putinserver or after fullupdate command)}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|Mode : 1 is for rain effect, 2 is for snow effect}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|Though mode 0 is never sent by the game itself, removes weather effect}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|Alternatively send mode 1 and mode 2 with judicious delays (time for effect to disappear) make both rain and snow effect}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ReceiveW|byte}}&lt;br /&gt;
{{hl1msg|byte|mode}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ReloadSound =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ReloadSound|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ReqState =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ReqState}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ResetHUD =&lt;br /&gt;
Resets the [[HUD]].&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ResetHUD}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= RoundTime =&lt;br /&gt;
Updates the round timer on the [[HUD]]. Time is in seconds.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|RoundTime|short}}&lt;br /&gt;
{{hl1msg|short|Time}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SayText =&lt;br /&gt;
Prints say [[HUD]] text. Second argument can be a predefined string or a custom one. In the last case the last two arguments isn't required.&amp;lt;br&amp;gt;&lt;br /&gt;
An examples of a predifined Counter-Strike string values: #Cstrike_Chat_AllDead, #Cstrike_Name_Change&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|For #Cstrike_Name_Change String2 is an old name and String3 is a new name.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|SayText|byte, string, string, string}}&lt;br /&gt;
{{hl1msg|byte|SenderID}}&lt;br /&gt;
{{hl1msg|string|String1}}&lt;br /&gt;
{{hl1msg|string|String2}}&lt;br /&gt;
{{hl1msg|string|String3}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Scenario =&lt;br /&gt;
If Active is 0, this display will be hidden. If Active is 1, 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.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|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.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[image:Cs_scenario_msg.jpg|frame|right|Scenario message in CS, using the following parameters: 1, d_mp5navy, 150]]&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Works in both CS and CZ!}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|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.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Scenario|byte, string, byte, short, short}}&lt;br /&gt;
{{hl1msg|byte|Active}}&lt;br /&gt;
{{hl1msg|string|Sprite}}&lt;br /&gt;
{{hl1msg|byte|Alpha}}&lt;br /&gt;
{{hl1msg|short|FlashRate}}&lt;br /&gt;
{{hl1msg|short|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ScoreAttrib =&lt;br /&gt;
Updates the scoreboard's attribute for the specified player. For the 2nd argument, 0 is nothing, (1&amp;lt;&amp;lt;0) i.e. 1 is dead, (1&amp;lt;&amp;lt;1) i.e. 2 is bomb, (1&amp;lt;&amp;lt;2) i.e. 4 is VIP.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|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.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ScoreAttrib|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{hl1msg|byte|Flags}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ScoreInfo =&lt;br /&gt;
Updates the scoreboard with the given player's Frags and Deaths.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|In CS the 4th argument is always equal to 0.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*See [http://www.amxmodx.org/funcwiki.php?go=module&amp;amp;id=4#const_teams CS Team Constants] for team indeces constants list.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ScoreInfo|byte, short, short, short, short}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{hl1msg|short|Frags}}&lt;br /&gt;
{{hl1msg|short|Deaths}}&lt;br /&gt;
{{hl1msg|short|ClassID?}}&lt;br /&gt;
{{hl1msg|short|TeamID}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ScreenFade =&lt;br /&gt;
Fades the screen.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Duration and HoldTime is in special units. 1 second is equal to (1&amp;lt;&amp;lt;12) i.e. 4096 units.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Flags (from HLSDK):&lt;br /&gt;
 FFADE_IN         0x0000 // Just here so we don't pass 0 into the function&lt;br /&gt;
 FFADE_OUT        0x0001 // Fade out (not in)&lt;br /&gt;
 FFADE_MODULATE   0x0002 // Modulate (don't blend)&lt;br /&gt;
 FFADE_STAYOUT    0x0004 // ignores the duration, stays faded out until new ScreenFade message received&lt;br /&gt;
{{begin-hl1msg|ScreenFade|short, short, short, byte, byte, byte, byte}}&lt;br /&gt;
{{hl1msg|short|Duration}}&lt;br /&gt;
{{hl1msg|short|HoldTime}}&lt;br /&gt;
{{hl1msg|short|Flags}}&lt;br /&gt;
{{hl1msg|byte|ColorR}}&lt;br /&gt;
{{hl1msg|byte|ColorG}}&lt;br /&gt;
{{hl1msg|byte|ColorB}}&lt;br /&gt;
{{hl1msg|byte|Alpha}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ScreenShake =&lt;br /&gt;
Shakes the screen.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|All arguments is in special units. 1 second is equal to (1&amp;lt;&amp;lt;12) i.e. 4096 units.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ScreenShake|short, short, short}}&lt;br /&gt;
{{hl1msg|short|Amplitude}}&lt;br /&gt;
{{hl1msg|short|Duration}}&lt;br /&gt;
{{hl1msg|short|Frequency}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SendAudio =&lt;br /&gt;
Plays the specified audio. An example of AudioCode could be &amp;quot;%!MRAD_rounddraw&amp;quot;.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|SendAudio|byte, string, short}}&lt;br /&gt;
{{hl1msg|byte|SenderID}}&lt;br /&gt;
{{hl1msg|string|AudioCode}}&lt;br /&gt;
{{hl1msg|short|Pitch}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ServerName =&lt;br /&gt;
Sends a server name to a client.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ServerName|string}}&lt;br /&gt;
{{hl1msg|string|ServerName}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SetFOV =&lt;br /&gt;
Sets the specified field of view.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|SetFOV|byte}}&lt;br /&gt;
{{hl1msg|byte|Degrees}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ShadowIdx =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ShadowIdx|long}}&lt;br /&gt;
{{hl1msg|long|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ShowMenu =&lt;br /&gt;
Displays a &amp;quot;menu&amp;quot; to a player (text on the left side of the screen). Acts like AMXX's show_menu (in fact, this is how AMXX shows a menu).&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|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.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ShowMenu|short, char, byte, string}}&lt;br /&gt;
{{hl1msg|short|KeysBitSum}}&lt;br /&gt;
{{hl1msg|char|Time}}&lt;br /&gt;
{{hl1msg|byte|Multipart}}&lt;br /&gt;
{{hl1msg|string|Text}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ShowTimer =&lt;br /&gt;
Forces the round timer displaying.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ShowTimer}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SpecHealth =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|SpecHealth|byte}}&lt;br /&gt;
{{hl1msg|byte|Health?}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SpecHealth2 =&lt;br /&gt;
Updates the observer's screen with a name and health of the given player.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|SpecHealth2|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|Health}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Spectator =&lt;br /&gt;
Called when player becomes an observer/spectator.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|On join to Spectators usually is fired twice in a row.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Spectator|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|ClientID}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= StatusIcon =&lt;br /&gt;
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 is required only if Status aren't equal to 0.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|StatusIcon|byte, string, byte, byte, byte}}&lt;br /&gt;
{{hl1msg|byte|Status}}&lt;br /&gt;
{{hl1msg|string|SpriteName}}&lt;br /&gt;
{{hl1msg|byte|ColorR}}&lt;br /&gt;
{{hl1msg|byte|ColorG}}&lt;br /&gt;
{{hl1msg|byte|ColorB}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= StatusValue =&lt;br /&gt;
Sends/updates the status values. For the Flag 1 the Value is TeamRelation, for 2 is PlayerID, for 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.&amp;lt;br&amp;gt;&lt;br /&gt;
Usually is fired as a triple message, for example:&lt;br /&gt;
 {1,  2}  -  non-teammate player&lt;br /&gt;
 {2, 17}  -  player index is 17&lt;br /&gt;
 {3, 59}  -  player health is 59&lt;br /&gt;
{{begin-hl1msg|StatusValue|byte, short}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{hl1msg|short|Value}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= StatusText =&lt;br /&gt;
Specifies the status text format.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|StatusText|byte, string}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{hl1msg|string|Text}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TaskTime =&lt;br /&gt;
Displays a secondary timer above the round timer. Used for Condition Zero singleplayer missions.&amp;lt;br&amp;gt;&lt;br /&gt;
If Time is -1, timer dissappears. If Time is any other negative value, it is displayed as green instead of yellow, and considered positive.&amp;lt;br&amp;gt;&lt;br /&gt;
If Active is true, timer counts down. Otherwise, it is paused.&amp;lt;br&amp;gt;If Fade is above zero, the timer will slowly fade out after that many seconds have passed (even if the timer is inactive).&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This event can only be used on missions that have an objective requiring a secondary timer!}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|TaskTime|short, byte, byte}}&lt;br /&gt;
{{hl1msg|short|Time}}&lt;br /&gt;
{{hl1msg|byte|Active}}&lt;br /&gt;
{{hl1msg|byte|Fade}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TeamInfo =&lt;br /&gt;
Sets the team information for the given player.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|In CS TeamName is either &amp;quot;UNASSIGNED&amp;quot;, &amp;quot;TERRORIST&amp;quot;, &amp;quot;CT&amp;quot; or &amp;quot;SPECTATOR&amp;quot;.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|TeamInfo|byte, string}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{hl1msg|string|TeamName}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TeamScore =&lt;br /&gt;
Updates the team score on the score board.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|In CS TeamName is either &amp;quot;TERRORIST&amp;quot; or &amp;quot;CT&amp;quot;.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|TeamScore|string, short}}&lt;br /&gt;
{{hl1msg|string|TeamName}}&lt;br /&gt;
{{hl1msg|short|Score}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TextMsg =&lt;br /&gt;
Prints a cutom/or predefined text message.&amp;lt;br&amp;gt;&lt;br /&gt;
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:&lt;br /&gt;
 Arg1: 1&lt;br /&gt;
 Arg2: #Game_join_ct&lt;br /&gt;
 Arg3: Pimp Daddy&lt;br /&gt;
{{begin-hl1msg|TextMsg|byte, string, string, string, string, string}}&lt;br /&gt;
{{hl1msg|byte|DestinationType}}&lt;br /&gt;
{{hl1msg|string|Message}}&lt;br /&gt;
{{hl1msg|string|Submsg}}&lt;br /&gt;
{{hl1msg|string|Submsg}}&lt;br /&gt;
{{hl1msg|string|Submsg}}&lt;br /&gt;
{{hl1msg|string|Submsg}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Train =&lt;br /&gt;
Displays the speed bar used for controlling a train.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Speed is as follows: 0 (disable display), 1 (reverse), 2 (neutral), 3 (slow speed), 4 (medium speed), 5 (maximum speed)}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Train|byte}}&lt;br /&gt;
{{hl1msg|byte|Speed}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TutorClose =&lt;br /&gt;
Closes all CZ-style tutor popups.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= TutorLine =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= TutorState =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= TutorText =&lt;br /&gt;
Used to display a CZ-style tutor popup.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|TutorText|string, byte, short, short, short}}&lt;br /&gt;
{{hl1msg|string|Unknown}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{hl1msg|short|Unknown}}&lt;br /&gt;
{{hl1msg|short|Unknown}}&lt;br /&gt;
{{hl1msg|short|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ViewMode =&lt;br /&gt;
{{qnotice|No Information available for this message (HLSDK says this switches to first-person view, but it doesn't seem to function as so).}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ViewMode}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= VGUIMenu =&lt;br /&gt;
Displays a predefined VGUI menu.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|VGUIMenu|byte, short, char, byte, string}}&lt;br /&gt;
{{hl1msg|byte|MenuID}}&lt;br /&gt;
{{hl1msg|short|KeysBitSum}}&lt;br /&gt;
{{hl1msg|char|Time?}}&lt;br /&gt;
{{hl1msg|byte|Multipart?}}&lt;br /&gt;
{{hl1msg|string|Name?}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= VoiceMask =&lt;br /&gt;
Used to tell a client who he can hear over the microphone.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|VoiceMask|long, long}}&lt;br /&gt;
{{hl1msg|long|AudiblePlayersIndexBitSum}}&lt;br /&gt;
{{hl1msg|long|ServerBannedPlayersIndexBitSum}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= WeaponList =&lt;br /&gt;
Configures the [[HUD]] weapons list.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Fired on map initialization.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|SlotID starts from 0.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Flags (from HLSDK):&lt;br /&gt;
 ITEM_FLAG_SELECTONEMPTY       1&lt;br /&gt;
 ITEM_FLAG_NOAUTORELOAD        2&lt;br /&gt;
 ITEM_FLAG_NOAUTOSWITCHEMPTY   4&lt;br /&gt;
 ITEM_FLAG_LIMITINWORLD        8&lt;br /&gt;
 ITEM_FLAG_EXHAUSTIBLE        16 // A player can totally exhaust their ammo supply and lose this weapon.&lt;br /&gt;
{{qnotice|See [[CS Weapons Information]] for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|WeaponList|string, byte, byte, byte, byte, byte, byte, byte, byte}}&lt;br /&gt;
{{hl1msg|string|WeaponName}}&lt;br /&gt;
{{hl1msg|byte|PrimaryAmmoID}}&lt;br /&gt;
{{hl1msg|byte|PrimaryAmmoMaxAmount}}&lt;br /&gt;
{{hl1msg|byte|SecondaryAmmoID}}&lt;br /&gt;
{{hl1msg|byte|SecondaryAmmoMaxAmount}}&lt;br /&gt;
{{hl1msg|byte|SlotID}}&lt;br /&gt;
{{hl1msg|byte|NumberInSlot}}&lt;br /&gt;
{{hl1msg|byte|WeaponID}}&lt;br /&gt;
{{hl1msg|byte|Flags}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= WeapPickup =&lt;br /&gt;
Temporarily draws correspoding weapon [[HUD]] icon in the middle of the right side of the screen.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Draw time is depend on the ''hud_drawhistory_time'' client CVar value.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Is fired right before weapon is picked up (notice ''&amp;quot;before&amp;quot;'').}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|See [[CS Weapons Information]] for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|WeapPickup|byte}}&lt;br /&gt;
{{hl1msg|byte|WeaponID}}&lt;br /&gt;
{{end-hl1msg}}&lt;/div&gt;</summary>
		<author><name>ConnorMcLeod</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.alliedmods.net/index.php?title=Half-Life_1_Game_Events&amp;diff=7896</id>
		<title>Half-Life 1 Game Events</title>
		<link rel="alternate" type="text/html" href="https://wiki.alliedmods.net/index.php?title=Half-Life_1_Game_Events&amp;diff=7896"/>
		<updated>2010-11-29T16:20:40Z</updated>

		<summary type="html">&lt;p&gt;ConnorMcLeod: /* ReceiveW */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Half-Life 1]]&lt;br /&gt;
[[Category:Scripting (AMX Mod X)]]&lt;br /&gt;
&lt;br /&gt;
= Introduction =&lt;br /&gt;
&lt;br /&gt;
In [[AMX Mod X]] you are able to hook in-game messages/events with [http://www.amxmodx.org/funcwiki.php?search=register_message&amp;amp;go=search register_message] / [http://www.amxmodx.org/funcwiki.php?go=func&amp;amp;id=26 register_event]. Here are the list of messages/events and their arguments which can be read with [http://www.amxmodx.org/funcwiki.php?search=get_msg_arg_&amp;amp;go=search get_msg_arg_*] / [http://www.amxmodx.org/funcwiki.php?go=func&amp;amp;id=132 read_data].&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
*See the [[Advanced Scripting (AMX Mod X)#Events.2FMessages|Advanced Scripting]] article for more on events and messages.&amp;lt;br&amp;gt;&lt;br /&gt;
*See messages.inc and message_const.inc from amxmodx/scriptong/include folder or [http://www.amxmodx.org/funcwiki.php?go=inc&amp;amp;id=47 Messaging functions] and [http://www.amxmodx.org/funcwiki.php?go=inc&amp;amp;id=48 Message constants] for full messages control including blocking, argument alteration and much more.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= ADStop =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ADStop}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= AllowSpec =&lt;br /&gt;
Changes whether or not &amp;quot;SPECTATE&amp;quot; appears on the change team menu. Called whenever the allow_spectators CVar is changed, with its new value sent as the byte.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This changes how the change team menu appears, but spectating functionality is based off of the actual CVar value.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|AllowSpec|byte}}&lt;br /&gt;
{{hl1msg|byte|Allowed}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= AmmoPickup =&lt;br /&gt;
Temporarily draws [[HUD]] ammo amount and correspoding ammo [[HUD]] icon in the middle of the right side of the screen.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Draw time is depend on the ''hud_drawhistory_time'' client CVar value.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|See [[CS Weapons Information]] for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|AmmoPickup|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|AmmoID}}&lt;br /&gt;
{{hl1msg|byte|Ammount}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= AmmoX =&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|See [[CS Weapons Information]] for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|AmmoX|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|AmmoID}}&lt;br /&gt;
{{hl1msg|byte|Ammount}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ArmorType =&lt;br /&gt;
Draws/removes helmet [[HUD]] icon. If flag is set to 1 the helmet [[HUD]] icon will be drawn (located right on the armor icon).&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ArmorType|byte}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BarTime =&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Set Duration to 0 to hide the bar.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|BarTime|short}}&lt;br /&gt;
{{hl1msg|short|Duration}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BarTime2 =&lt;br /&gt;
The same as BarTime but StartPercents is specify how many per cents of the bar are (already) filled.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Display time can be calculated with this formula: ''(1 - (StartPercents / 100)) / Duration''}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|BarTime2|short, short}}&lt;br /&gt;
{{hl1msg|short|Duration}}&lt;br /&gt;
{{hl1msg|short|StartPercents}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Battery =&lt;br /&gt;
Updates the icon and the number of armor on the [[HUD]].&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Battery|short}}&lt;br /&gt;
{{hl1msg|short|Armor}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BlinkAcct =&lt;br /&gt;
Makes a player's money display flash rapidly, until it flashes a total of BlinkAmt times.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|BlinkAcct|byte}}&lt;br /&gt;
{{hl1msg|byte|BlinkAmt}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BombDrop =&lt;br /&gt;
The first three arguments are the origin of the dropped bomb. The last argument is set to 1 if the bomb has been planted. It is 0 if the bomb was dropped due to voluntary dropping or death/disconnect. Setting the last argument 1, will also 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.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|BombDrop|coord, coord, coord, byte}}&lt;br /&gt;
{{hl1msg|coord|CoordX}}&lt;br /&gt;
{{hl1msg|coord|CoordY}}&lt;br /&gt;
{{hl1msg|coord|CoordZ}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BombPickup =&lt;br /&gt;
This message just tells the game that the bomb has been picked up. It will cause the dropped/planted bomb to disappear from the Terrorist team's radar.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|BombPickup}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BotProgress =&lt;br /&gt;
Used by CZ's bots when learning a new map. 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.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|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.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|BotProgress|byte, byte, string}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{hl1msg|byte|Progress}}&lt;br /&gt;
{{hl1msg|string|Header}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BotVoice =&lt;br /&gt;
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 by regular players, although you &amp;lt;i&amp;gt;can&amp;lt;/i&amp;gt; specify a regular player (non-bot) for the PlayerIndex. Status is 1 for talking, or 0 for not talking.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|BotVoice|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|Status}}&lt;br /&gt;
{{hl1msg|byte|PlayerIndex}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Brass =&lt;br /&gt;
Creates a brass shell. Used, for example, by the AWP, after firing.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Brass|byte, coord, coord, coord, coord, coord, coord, coord, coord, coord, angle, short, byte, byte, byte}}&lt;br /&gt;
{{hl1msg|byte|MessageID}}&lt;br /&gt;
{{hl1msg|coord|StartX}}&lt;br /&gt;
{{hl1msg|coord|StartY}}&lt;br /&gt;
{{hl1msg|coord|StartZ}}&lt;br /&gt;
{{hl1msg|coord|VelocityX?}}&lt;br /&gt;
{{hl1msg|coord|VelocityY?}}&lt;br /&gt;
{{hl1msg|coord|VelocityZ?}}&lt;br /&gt;
{{hl1msg|coord|UnknownX}}&lt;br /&gt;
{{hl1msg|coord|UnknownY}}&lt;br /&gt;
{{hl1msg|coord|UnknownZ}}&lt;br /&gt;
{{hl1msg|angle|Rotation}}&lt;br /&gt;
{{hl1msg|short|ModelIndex}}&lt;br /&gt;
{{hl1msg|byte|BounceSoundType}}&lt;br /&gt;
{{hl1msg|byte|Life}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BuyClose =&lt;br /&gt;
Forces the buy menu to close. This is not called when the player closes the buy menu by himself; it's only called when the game forces him to do so (ie: he walks outside of the buy zone, gets killed, etcetera).&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|BuyClose}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ClCorpse =&lt;br /&gt;
Spawns a player's corpse. ModelName is the player's model name, for example: &amp;quot;leet&amp;quot;. Delay is a delay before animation plaback, can be negative value.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Coord and Delay is multiplied by 128.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|In CS argument #10 is always equal to 0.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*See [http://www.amxmodx.org/funcwiki.php?go=module&amp;amp;id=4#const_teams CS Team Constants] for team indeces constants list.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ClCorpse|string, long, long, long, coord, coord, coord, long, byte, byte, byte, byte}}&lt;br /&gt;
{{hl1msg|string|ModelName}}&lt;br /&gt;
{{hl1msg|long|CoordX}}&lt;br /&gt;
{{hl1msg|long|CoordY}}&lt;br /&gt;
{{hl1msg|long|CoordZ}}&lt;br /&gt;
{{hl1msg|coord|Angle0}}&lt;br /&gt;
{{hl1msg|coord|Angle1}}&lt;br /&gt;
{{hl1msg|coord|Angle2}}&lt;br /&gt;
{{hl1msg|long|Delay}}&lt;br /&gt;
{{hl1msg|byte|Sequence}}&lt;br /&gt;
{{hl1msg|byte|ClassID?}}&lt;br /&gt;
{{hl1msg|byte|TeamID}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Crosshair =&lt;br /&gt;
Draws/removes a crosshair. If Flag is set to 1 the crosshair will be drawn.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This crossair looks not like the regular one but like the one that is drawn in the spectator mode.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Crosshair|byte}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= CurWeapon =&lt;br /&gt;
Updates the clip ammo number and weapon's corresponding ammo type icon on the [[HUD]].&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|See [[CS Weapons Information]] for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|CurWeapon|byte, byte, byte}}&lt;br /&gt;
{{hl1msg|byte|IsActive}}&lt;br /&gt;
{{hl1msg|byte|WeaponID}}&lt;br /&gt;
{{hl1msg|byte|ClipAmmo}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= CZCareer =&lt;br /&gt;
Supplies certain updates to the player regarding Condition Zero singleplayer missions.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|See the [[CZCareer]] page for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|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).}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|The Type argument is case-sensitive.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This event does nothing in CS and CZ multiplayer.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|CZCareer|string,*}}&lt;br /&gt;
{{hl1msg|string|Type}}&lt;br /&gt;
{{hl1msg|*|Parameters}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= CZCareerHUD =&lt;br /&gt;
Displays certain [[HUD]] elements regarding Condition Zero singleplayer missions.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|See the [[CZCareerHUD]] page for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|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).}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|The Type argument is case-sensitive.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This event has some limited functionality in CS and CZ multiplayer (albeit better in CZ).}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|CZCareerHUD|string,*}}&lt;br /&gt;
{{hl1msg|string|Type}}&lt;br /&gt;
{{hl1msg|*|Parameters}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Damage =&lt;br /&gt;
Called when a player takes damage, to display the red locational indicators. The last three arguments is the origin of the damage inflictor or victim origin if inflictor isn't found. DamageType is a bitwise value usually consist of a single bit.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|To caputure this message,you should use &amp;quot;b&amp;quot; as the third parameter in the register_event() function.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Damage|byte, byte, long, coord, coord, coord}}&lt;br /&gt;
{{hl1msg|byte|DamageSave}}&lt;br /&gt;
{{hl1msg|byte|DamageTake}}&lt;br /&gt;
{{hl1msg|long|DamageType}}&lt;br /&gt;
{{hl1msg|coord|CoordX}}&lt;br /&gt;
{{hl1msg|coord|CoordY}}&lt;br /&gt;
{{hl1msg|coord|CoordZ}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= DeathMsg =&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
Also prints the console text message &amp;quot;KillerName killed VictimName with TruncatedWeaponName&amp;quot; or &amp;quot;*** KillerName killed VictimName with a headshot from TruncatedWeaponName ***&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|TruncatedWeaponName doesn't contain a &amp;quot;weapon_&amp;quot; prefix. See [[CS Weapons Information]] for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|For grenade kill TruncatedWeaponName isn't &amp;quot;hegrenade&amp;quot; but &amp;quot;grenade&amp;quot;, in fact it's an actual classname of a throwed grenade.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|For KillerID it's not necessarily should be a PlayerID, it could be 0 if player dies from fall/acid/radiation/fire/etc damage/lack of oxygen or from touch to a &amp;quot;trigger_hurt&amp;quot; entity, in this case TruncatedWeaponName will be &amp;quot;worldspawn&amp;quot; and &amp;quot;trigger_hurt&amp;quot; respectively.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|For vehicle kills TruncatedWeaponName could be &amp;quot;vehicle&amp;quot;, &amp;quot;tank&amp;quot; et cetera.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|DeathMsg|byte, byte, byte, string}}&lt;br /&gt;
{{hl1msg|byte|KillerID}}&lt;br /&gt;
{{hl1msg|byte|VictimID}}&lt;br /&gt;
{{hl1msg|byte|IsHeadshot}}&lt;br /&gt;
{{hl1msg|string|TruncatedWeaponName}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= FlashBat =&lt;br /&gt;
Updates the flashlight battery charge on the [[HUD]].&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|FlashBat|byte}}&lt;br /&gt;
{{hl1msg|byte|ChargePercents}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Flashlight =&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Flashlight|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{hl1msg|byte|ChargePercents}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Fog =&lt;br /&gt;
{{qnotice|mp_Fog 1 for fog in counter-strike}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|Fog|byte, byte, byte}}&lt;br /&gt;
{{hl1msg|byte|FogValue}}&lt;br /&gt;
{{hl1msg|byte|FogValue}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ForceCam =&lt;br /&gt;
Called whenever mp_forcecam or mp_forcechasecam are changed, with their new values passed. There is assumedly a third CVar that this tracks, but it is yet unknown. Note that this message doesn't actually change any of the spectating rules for the client.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Even if mp_forcechasecam is set to 2, it is sent by this message as 1.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ForceCam|byte, byte, byte}}&lt;br /&gt;
{{hl1msg|byte|ForcecamValue}}&lt;br /&gt;
{{hl1msg|byte|ForcechasecamValue}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= GameMode =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|GameMode|byte}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= GameTitle =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Geiger =&lt;br /&gt;
Notifies about radiation level through special sound signals. Distance is a distance to hazard area.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Geiger|byte}}&lt;br /&gt;
{{hl1msg|byte|Distance}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Health =&lt;br /&gt;
Updates the number of health on the [[HUD]].&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Health|byte}}&lt;br /&gt;
{{hl1msg|byte|Health}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= HideWeapon =&lt;br /&gt;
Hides the specified [[HUD]] elements.&amp;lt;br&amp;gt;&lt;br /&gt;
Flags:&lt;br /&gt;
   1   (1&amp;lt;&amp;lt;0)  -  crosshair, ammo, weapons list&lt;br /&gt;
   2   (1&amp;lt;&amp;lt;1)  -  flashlight, +&lt;br /&gt;
   4   (1&amp;lt;&amp;lt;2)  -  ALL&lt;br /&gt;
   8   (1&amp;lt;&amp;lt;3)  -  radar, health, armor, +&lt;br /&gt;
  16   (1&amp;lt;&amp;lt;4)  -  timer, +&lt;br /&gt;
  32   (1&amp;lt;&amp;lt;5)  -  money, +&lt;br /&gt;
  64   (1&amp;lt;&amp;lt;6)  -  crosshair&lt;br /&gt;
 128   (1&amp;lt;&amp;lt;7)  -  +&lt;br /&gt;
Symbol + mean that an additional crosshair will be drawn. That crosshair looks exactly like the one from Crosshair message.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|HideWeapon|byte}}&lt;br /&gt;
{{hl1msg|byte|Flags}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= HLTV =&lt;br /&gt;
Message sent for HLTV and unique for each round-start.&amp;lt;br&amp;gt;&lt;br /&gt;
On new round is fired 2 messages:&lt;br /&gt;
 // reset all players health for HLTV&lt;br /&gt;
 MESSAGE_BEGIN( MSG_SPEC, gmsgHLTV );&lt;br /&gt;
 WRITE_BYTE( 0 );   // 0 = all players&lt;br /&gt;
 WRITE_BYTE( 100 | 128 );&lt;br /&gt;
 MESSAGE_END();&amp;lt;br&amp;gt;&lt;br /&gt;
 // reset all players FOV for HLTV&lt;br /&gt;
 MESSAGE_BEGIN( MSG_SPEC, gmsgHLTV );&lt;br /&gt;
 WRITE_BYTE( 0 );   // all players&lt;br /&gt;
 WRITE_BYTE( 0 );&lt;br /&gt;
 MESSAGE_END();&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|HLTV|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|ClientID}}&lt;br /&gt;
{{hl1msg|byte|Flags}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= HostageK =&lt;br /&gt;
Temporarily draws a blinking red dot on the CT players' radar when a hostage is killed.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|HostageK|byte}}&lt;br /&gt;
{{hl1msg|byte|HostageID}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= HostagePos =&lt;br /&gt;
Draws/updates the blue mark on the CT players' radar which is indicate the corresponding hostage position.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Is called with Flag set to 1 on player [[HUD]] full update.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|HostagePos|byte, byte, coord, coord, coord}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{hl1msg|byte|HostageID}}&lt;br /&gt;
{{hl1msg|coord|CoordX}}&lt;br /&gt;
{{hl1msg|coord|CoordY}}&lt;br /&gt;
{{hl1msg|coord|CoordZ}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= HudText =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= HudTextArgs =&lt;br /&gt;
Prints [[HUD]] text.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|An example of TextCode could be &amp;quot;#Hint_you_have_the_bomb&amp;quot;.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|If you have a problems with specifing the last two arguments use 1 and 0 respectively.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|HudTextArgs|string, byte, byte}}&lt;br /&gt;
{{hl1msg|string|TextCode}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= HudTextPro =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= InitHUD =&lt;br /&gt;
Initializes the [[HUD]].&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|InitHUD}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ItemPickup =&lt;br /&gt;
Temporarily draws correspoding item [[HUD]] icon in the middle of the right side of the screen.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Draw time is depend on the ''hud_drawhistory_time'' client CVar value.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ItemPickup|string}}&lt;br /&gt;
{{hl1msg|string|ItemName}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ItemStatus =&lt;br /&gt;
Notifies about carried items.&amp;lt;br&amp;gt;&lt;br /&gt;
Example of some item bits:&lt;br /&gt;
 1   (1&amp;lt;&amp;lt;0)  -  nightvision goggles&lt;br /&gt;
 2   (1&amp;lt;&amp;lt;1)  -  defusal kit&lt;br /&gt;
{{begin-hl1msg|ItemStatus|byte}}&lt;br /&gt;
{{hl1msg|byte|ItemsBitSum}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Location =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Location|byte, string}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{hl1msg|string|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Money =&lt;br /&gt;
Updates the Amount of money on the [[HUD]]. If the Flag is 1, the additional new-old [[HUD]] money amount difference will be also displayed.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Money|long, byte}}&lt;br /&gt;
{{hl1msg|long|Amount}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= MOTD =&lt;br /&gt;
Displays MOTD window.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Max. Text length is 60. Large MOTD is sent in multiple messages. For the message that is send a last MOTD part the Flag will be set to 1 and 0 otherwise.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|MOTD|byte, string}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{hl1msg|string|Text}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= NVGToggle =&lt;br /&gt;
Toggles night vision mode. For Flag: 1 is on, 0 is off.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|NVGToggle|byte}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Radar =&lt;br /&gt;
Draws/updates the dot on the [[HUD]] radar which is indicate the given player position.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Works for teammates only.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Radar|byte, coord, coord, coord}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{hl1msg|coord|CoordX}}&lt;br /&gt;
{{hl1msg|coord|CoordY}}&lt;br /&gt;
{{hl1msg|coord|CoordZ}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ReceiveW =&lt;br /&gt;
Tell the client which visual weather effect to be executed client side, if cl_weather client cvar is above 0.&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|Main part of CBasePlayer::SendWeatherInfo() function that is sent in CBasePlayer :: UpdateClientData() when player offset m_fInitHUD is 1}}&amp;lt;br&amp;gt;&lt;br /&gt;
(right after putinserver or after fullupdate command)&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|Mode : 1 is for rain effect, 2 is for snow effect}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|Though mode 0 is never sent by the game itself, removes weather effect}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{qnotice|Alternatively send mode 1 and mode 2 with judicious delays (time for effect to disappear) make both rain and snow effect}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ReceiveW|byte}}&lt;br /&gt;
{{hl1msg|byte|mode}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ReloadSound =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ReloadSound|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ReqState =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ReqState}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ResetHUD =&lt;br /&gt;
Resets the [[HUD]].&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ResetHUD}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= RoundTime =&lt;br /&gt;
Updates the round timer on the [[HUD]]. Time is in seconds.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|RoundTime|short}}&lt;br /&gt;
{{hl1msg|short|Time}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SayText =&lt;br /&gt;
Prints say [[HUD]] text. Second argument can be a predefined string or a custom one. In the last case the last two arguments isn't required.&amp;lt;br&amp;gt;&lt;br /&gt;
An examples of a predifined Counter-Strike string values: #Cstrike_Chat_AllDead, #Cstrike_Name_Change&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|For #Cstrike_Name_Change String2 is an old name and String3 is a new name.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|SayText|byte, string, string, string}}&lt;br /&gt;
{{hl1msg|byte|SenderID}}&lt;br /&gt;
{{hl1msg|string|String1}}&lt;br /&gt;
{{hl1msg|string|String2}}&lt;br /&gt;
{{hl1msg|string|String3}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Scenario =&lt;br /&gt;
If Active is 0, this display will be hidden. If Active is 1, 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.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|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.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[image:Cs_scenario_msg.jpg|frame|right|Scenario message in CS, using the following parameters: 1, d_mp5navy, 150]]&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Works in both CS and CZ!}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|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.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Scenario|byte, string, byte, short, short}}&lt;br /&gt;
{{hl1msg|byte|Active}}&lt;br /&gt;
{{hl1msg|string|Sprite}}&lt;br /&gt;
{{hl1msg|byte|Alpha}}&lt;br /&gt;
{{hl1msg|short|FlashRate}}&lt;br /&gt;
{{hl1msg|short|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ScoreAttrib =&lt;br /&gt;
Updates the scoreboard's attribute for the specified player. For the 2nd argument, 0 is nothing, (1&amp;lt;&amp;lt;0) i.e. 1 is dead, (1&amp;lt;&amp;lt;1) i.e. 2 is bomb, (1&amp;lt;&amp;lt;2) i.e. 4 is VIP.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|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.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ScoreAttrib|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{hl1msg|byte|Flags}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ScoreInfo =&lt;br /&gt;
Updates the scoreboard with the given player's Frags and Deaths.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|In CS the 4th argument is always equal to 0.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*See [http://www.amxmodx.org/funcwiki.php?go=module&amp;amp;id=4#const_teams CS Team Constants] for team indeces constants list.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ScoreInfo|byte, short, short, short, short}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{hl1msg|short|Frags}}&lt;br /&gt;
{{hl1msg|short|Deaths}}&lt;br /&gt;
{{hl1msg|short|ClassID?}}&lt;br /&gt;
{{hl1msg|short|TeamID}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ScreenFade =&lt;br /&gt;
Fades the screen.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Duration and HoldTime is in special units. 1 second is equal to (1&amp;lt;&amp;lt;12) i.e. 4096 units.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Flags (from HLSDK):&lt;br /&gt;
 FFADE_IN         0x0000 // Just here so we don't pass 0 into the function&lt;br /&gt;
 FFADE_OUT        0x0001 // Fade out (not in)&lt;br /&gt;
 FFADE_MODULATE   0x0002 // Modulate (don't blend)&lt;br /&gt;
 FFADE_STAYOUT    0x0004 // ignores the duration, stays faded out until new ScreenFade message received&lt;br /&gt;
{{begin-hl1msg|ScreenFade|short, short, short, byte, byte, byte, byte}}&lt;br /&gt;
{{hl1msg|short|Duration}}&lt;br /&gt;
{{hl1msg|short|HoldTime}}&lt;br /&gt;
{{hl1msg|short|Flags}}&lt;br /&gt;
{{hl1msg|byte|ColorR}}&lt;br /&gt;
{{hl1msg|byte|ColorG}}&lt;br /&gt;
{{hl1msg|byte|ColorB}}&lt;br /&gt;
{{hl1msg|byte|Alpha}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ScreenShake =&lt;br /&gt;
Shakes the screen.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|All arguments is in special units. 1 second is equal to (1&amp;lt;&amp;lt;12) i.e. 4096 units.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ScreenShake|short, short, short}}&lt;br /&gt;
{{hl1msg|short|Amplitude}}&lt;br /&gt;
{{hl1msg|short|Duration}}&lt;br /&gt;
{{hl1msg|short|Frequency}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SendAudio =&lt;br /&gt;
Plays the specified audio. An example of AudioCode could be &amp;quot;%!MRAD_rounddraw&amp;quot;.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|SendAudio|byte, string, short}}&lt;br /&gt;
{{hl1msg|byte|SenderID}}&lt;br /&gt;
{{hl1msg|string|AudioCode}}&lt;br /&gt;
{{hl1msg|short|Pitch}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ServerName =&lt;br /&gt;
Sends a server name to a client.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ServerName|string}}&lt;br /&gt;
{{hl1msg|string|ServerName}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SetFOV =&lt;br /&gt;
Sets the specified field of view.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|SetFOV|byte}}&lt;br /&gt;
{{hl1msg|byte|Degrees}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ShadowIdx =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ShadowIdx|long}}&lt;br /&gt;
{{hl1msg|long|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ShowMenu =&lt;br /&gt;
Displays a &amp;quot;menu&amp;quot; to a player (text on the left side of the screen). Acts like AMXX's show_menu (in fact, this is how AMXX shows a menu).&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|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.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ShowMenu|short, char, byte, string}}&lt;br /&gt;
{{hl1msg|short|KeysBitSum}}&lt;br /&gt;
{{hl1msg|char|Time}}&lt;br /&gt;
{{hl1msg|byte|Multipart}}&lt;br /&gt;
{{hl1msg|string|Text}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ShowTimer =&lt;br /&gt;
Forces the round timer displaying.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ShowTimer}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SpecHealth =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|SpecHealth|byte}}&lt;br /&gt;
{{hl1msg|byte|Health?}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SpecHealth2 =&lt;br /&gt;
Updates the observer's screen with a name and health of the given player.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|SpecHealth2|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|Health}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Spectator =&lt;br /&gt;
Called when player becomes an observer/spectator.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|On join to Spectators usually is fired twice in a row.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Spectator|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|ClientID}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= StatusIcon =&lt;br /&gt;
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 is required only if Status aren't equal to 0.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|StatusIcon|byte, string, byte, byte, byte}}&lt;br /&gt;
{{hl1msg|byte|Status}}&lt;br /&gt;
{{hl1msg|string|SpriteName}}&lt;br /&gt;
{{hl1msg|byte|ColorR}}&lt;br /&gt;
{{hl1msg|byte|ColorG}}&lt;br /&gt;
{{hl1msg|byte|ColorB}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= StatusValue =&lt;br /&gt;
Sends/updates the status values. For the Flag 1 the Value is TeamRelation, for 2 is PlayerID, for 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.&amp;lt;br&amp;gt;&lt;br /&gt;
Usually is fired as a triple message, for example:&lt;br /&gt;
 {1,  2}  -  non-teammate player&lt;br /&gt;
 {2, 17}  -  player index is 17&lt;br /&gt;
 {3, 59}  -  player health is 59&lt;br /&gt;
{{begin-hl1msg|StatusValue|byte, short}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{hl1msg|short|Value}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= StatusText =&lt;br /&gt;
Specifies the status text format.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|StatusText|byte, string}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{hl1msg|string|Text}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TaskTime =&lt;br /&gt;
Displays a secondary timer above the round timer. Used for Condition Zero singleplayer missions.&amp;lt;br&amp;gt;&lt;br /&gt;
If Time is -1, timer dissappears. If Time is any other negative value, it is displayed as green instead of yellow, and considered positive.&amp;lt;br&amp;gt;&lt;br /&gt;
If Active is true, timer counts down. Otherwise, it is paused.&amp;lt;br&amp;gt;If Fade is above zero, the timer will slowly fade out after that many seconds have passed (even if the timer is inactive).&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This event can only be used on missions that have an objective requiring a secondary timer!}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|TaskTime|short, byte, byte}}&lt;br /&gt;
{{hl1msg|short|Time}}&lt;br /&gt;
{{hl1msg|byte|Active}}&lt;br /&gt;
{{hl1msg|byte|Fade}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TeamInfo =&lt;br /&gt;
Sets the team information for the given player.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|In CS TeamName is either &amp;quot;UNASSIGNED&amp;quot;, &amp;quot;TERRORIST&amp;quot;, &amp;quot;CT&amp;quot; or &amp;quot;SPECTATOR&amp;quot;.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|TeamInfo|byte, string}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{hl1msg|string|TeamName}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TeamScore =&lt;br /&gt;
Updates the team score on the score board.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|In CS TeamName is either &amp;quot;TERRORIST&amp;quot; or &amp;quot;CT&amp;quot;.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|TeamScore|string, short}}&lt;br /&gt;
{{hl1msg|string|TeamName}}&lt;br /&gt;
{{hl1msg|short|Score}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TextMsg =&lt;br /&gt;
Prints a cutom/or predefined text message.&amp;lt;br&amp;gt;&lt;br /&gt;
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:&lt;br /&gt;
 Arg1: 1&lt;br /&gt;
 Arg2: #Game_join_ct&lt;br /&gt;
 Arg3: Pimp Daddy&lt;br /&gt;
{{begin-hl1msg|TextMsg|byte, string, string, string, string, string}}&lt;br /&gt;
{{hl1msg|byte|DestinationType}}&lt;br /&gt;
{{hl1msg|string|Message}}&lt;br /&gt;
{{hl1msg|string|Submsg}}&lt;br /&gt;
{{hl1msg|string|Submsg}}&lt;br /&gt;
{{hl1msg|string|Submsg}}&lt;br /&gt;
{{hl1msg|string|Submsg}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Train =&lt;br /&gt;
Displays the speed bar used for controlling a train.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Speed is as follows: 0 (disable display), 1 (reverse), 2 (neutral), 3 (slow speed), 4 (medium speed), 5 (maximum speed)}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Train|byte}}&lt;br /&gt;
{{hl1msg|byte|Speed}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TutorClose =&lt;br /&gt;
Closes all CZ-style tutor popups.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= TutorLine =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= TutorState =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= TutorText =&lt;br /&gt;
Used to display a CZ-style tutor popup.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|TutorText|string, byte, short, short, short}}&lt;br /&gt;
{{hl1msg|string|Unknown}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{hl1msg|short|Unknown}}&lt;br /&gt;
{{hl1msg|short|Unknown}}&lt;br /&gt;
{{hl1msg|short|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ViewMode =&lt;br /&gt;
{{qnotice|No Information available for this message (HLSDK says this switches to first-person view, but it doesn't seem to function as so).}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ViewMode}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= VGUIMenu =&lt;br /&gt;
Displays a predefined VGUI menu.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|VGUIMenu|byte, short, char, byte, string}}&lt;br /&gt;
{{hl1msg|byte|MenuID}}&lt;br /&gt;
{{hl1msg|short|KeysBitSum}}&lt;br /&gt;
{{hl1msg|char|Time?}}&lt;br /&gt;
{{hl1msg|byte|Multipart?}}&lt;br /&gt;
{{hl1msg|string|Name?}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= VoiceMask =&lt;br /&gt;
Used to tell a client who he can hear over the microphone.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|VoiceMask|long, long}}&lt;br /&gt;
{{hl1msg|long|AudiblePlayersIndexBitSum}}&lt;br /&gt;
{{hl1msg|long|ServerBannedPlayersIndexBitSum}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= WeaponList =&lt;br /&gt;
Configures the [[HUD]] weapons list.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Fired on map initialization.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|SlotID starts from 0.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Flags (from HLSDK):&lt;br /&gt;
 ITEM_FLAG_SELECTONEMPTY       1&lt;br /&gt;
 ITEM_FLAG_NOAUTORELOAD        2&lt;br /&gt;
 ITEM_FLAG_NOAUTOSWITCHEMPTY   4&lt;br /&gt;
 ITEM_FLAG_LIMITINWORLD        8&lt;br /&gt;
 ITEM_FLAG_EXHAUSTIBLE        16 // A player can totally exhaust their ammo supply and lose this weapon.&lt;br /&gt;
{{qnotice|See [[CS Weapons Information]] for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|WeaponList|string, byte, byte, byte, byte, byte, byte, byte, byte}}&lt;br /&gt;
{{hl1msg|string|WeaponName}}&lt;br /&gt;
{{hl1msg|byte|PrimaryAmmoID}}&lt;br /&gt;
{{hl1msg|byte|PrimaryAmmoMaxAmount}}&lt;br /&gt;
{{hl1msg|byte|SecondaryAmmoID}}&lt;br /&gt;
{{hl1msg|byte|SecondaryAmmoMaxAmount}}&lt;br /&gt;
{{hl1msg|byte|SlotID}}&lt;br /&gt;
{{hl1msg|byte|NumberInSlot}}&lt;br /&gt;
{{hl1msg|byte|WeaponID}}&lt;br /&gt;
{{hl1msg|byte|Flags}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= WeapPickup =&lt;br /&gt;
Temporarily draws correspoding weapon [[HUD]] icon in the middle of the right side of the screen.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Draw time is depend on the ''hud_drawhistory_time'' client CVar value.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Is fired right before weapon is picked up (notice ''&amp;quot;before&amp;quot;'').}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|See [[CS Weapons Information]] for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|WeapPickup|byte}}&lt;br /&gt;
{{hl1msg|byte|WeaponID}}&lt;br /&gt;
{{end-hl1msg}}&lt;/div&gt;</summary>
		<author><name>ConnorMcLeod</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.alliedmods.net/index.php?title=Half-Life_1_Game_Events&amp;diff=7891</id>
		<title>Half-Life 1 Game Events</title>
		<link rel="alternate" type="text/html" href="https://wiki.alliedmods.net/index.php?title=Half-Life_1_Game_Events&amp;diff=7891"/>
		<updated>2010-11-20T11:21:19Z</updated>

		<summary type="html">&lt;p&gt;ConnorMcLeod: /* ReceiveW */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Half-Life 1]]&lt;br /&gt;
[[Category:Scripting (AMX Mod X)]]&lt;br /&gt;
&lt;br /&gt;
= Introduction =&lt;br /&gt;
&lt;br /&gt;
In [[AMX Mod X]] you are able to hook in-game messages/events with [http://www.amxmodx.org/funcwiki.php?search=register_message&amp;amp;go=search register_message] / [http://www.amxmodx.org/funcwiki.php?go=func&amp;amp;id=26 register_event]. Here are the list of messages/events and their arguments which can be read with [http://www.amxmodx.org/funcwiki.php?search=get_msg_arg_&amp;amp;go=search get_msg_arg_*] / [http://www.amxmodx.org/funcwiki.php?go=func&amp;amp;id=132 read_data].&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
*See the [[Advanced Scripting (AMX Mod X)#Events.2FMessages|Advanced Scripting]] article for more on events and messages.&amp;lt;br&amp;gt;&lt;br /&gt;
*See messages.inc and message_const.inc from amxmodx/scriptong/include folder or [http://www.amxmodx.org/funcwiki.php?go=inc&amp;amp;id=47 Messaging functions] and [http://www.amxmodx.org/funcwiki.php?go=inc&amp;amp;id=48 Message constants] for full messages control including blocking, argument alteration and much more.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= ADStop =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ADStop}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= AllowSpec =&lt;br /&gt;
Changes whether or not &amp;quot;SPECTATE&amp;quot; appears on the change team menu. Called whenever the allow_spectators CVar is changed, with its new value sent as the byte.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This changes how the change team menu appears, but spectating functionality is based off of the actual CVar value.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|AllowSpec|byte}}&lt;br /&gt;
{{hl1msg|byte|Allowed}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= AmmoPickup =&lt;br /&gt;
Temporarily draws [[HUD]] ammo amount and correspoding ammo [[HUD]] icon in the middle of the right side of the screen.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Draw time is depend on the ''hud_drawhistory_time'' client CVar value.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|See [[CS Weapons Information]] for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|AmmoPickup|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|AmmoID}}&lt;br /&gt;
{{hl1msg|byte|Ammount}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= AmmoX =&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|See [[CS Weapons Information]] for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|AmmoX|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|AmmoID}}&lt;br /&gt;
{{hl1msg|byte|Ammount}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ArmorType =&lt;br /&gt;
Draws/removes helmet [[HUD]] icon. If flag is set to 1 the helmet [[HUD]] icon will be drawn (located right on the armor icon).&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ArmorType|byte}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BarTime =&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Set Duration to 0 to hide the bar.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|BarTime|short}}&lt;br /&gt;
{{hl1msg|short|Duration}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BarTime2 =&lt;br /&gt;
The same as BarTime but StartPercents is specify how many per cents of the bar are (already) filled.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Display time can be calculated with this formula: ''(1 - (StartPercents / 100)) / Duration''}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|BarTime2|short, short}}&lt;br /&gt;
{{hl1msg|short|Duration}}&lt;br /&gt;
{{hl1msg|short|StartPercents}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Battery =&lt;br /&gt;
Updates the icon and the number of armor on the [[HUD]].&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Battery|short}}&lt;br /&gt;
{{hl1msg|short|Armor}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BlinkAcct =&lt;br /&gt;
Makes a player's money display flash rapidly, until it flashes a total of BlinkAmt times.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|BlinkAcct|byte}}&lt;br /&gt;
{{hl1msg|byte|BlinkAmt}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BombDrop =&lt;br /&gt;
The first three arguments are the origin of the dropped bomb. The last argument is set to 1 if the bomb has been planted. It is 0 if the bomb was dropped due to voluntary dropping or death/disconnect. Setting the last argument 1, will also 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.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|BombDrop|coord, coord, coord, byte}}&lt;br /&gt;
{{hl1msg|coord|CoordX}}&lt;br /&gt;
{{hl1msg|coord|CoordY}}&lt;br /&gt;
{{hl1msg|coord|CoordZ}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BombPickup =&lt;br /&gt;
This message just tells the game that the bomb has been picked up. It will cause the dropped/planted bomb to disappear from the Terrorist team's radar.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|BombPickup}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BotProgress =&lt;br /&gt;
Used by CZ's bots when learning a new map. 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.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|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.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|BotProgress|byte, byte, string}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{hl1msg|byte|Progress}}&lt;br /&gt;
{{hl1msg|string|Header}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BotVoice =&lt;br /&gt;
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 by regular players, although you &amp;lt;i&amp;gt;can&amp;lt;/i&amp;gt; specify a regular player (non-bot) for the PlayerIndex. Status is 1 for talking, or 0 for not talking.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|BotVoice|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|Status}}&lt;br /&gt;
{{hl1msg|byte|PlayerIndex}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Brass =&lt;br /&gt;
Creates a brass shell. Used, for example, by the AWP, after firing.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Brass|byte, coord, coord, coord, coord, coord, coord, coord, coord, coord, angle, short, byte, byte, byte}}&lt;br /&gt;
{{hl1msg|byte|MessageID}}&lt;br /&gt;
{{hl1msg|coord|StartX}}&lt;br /&gt;
{{hl1msg|coord|StartY}}&lt;br /&gt;
{{hl1msg|coord|StartZ}}&lt;br /&gt;
{{hl1msg|coord|VelocityX?}}&lt;br /&gt;
{{hl1msg|coord|VelocityY?}}&lt;br /&gt;
{{hl1msg|coord|VelocityZ?}}&lt;br /&gt;
{{hl1msg|coord|UnknownX}}&lt;br /&gt;
{{hl1msg|coord|UnknownY}}&lt;br /&gt;
{{hl1msg|coord|UnknownZ}}&lt;br /&gt;
{{hl1msg|angle|Rotation}}&lt;br /&gt;
{{hl1msg|short|ModelIndex}}&lt;br /&gt;
{{hl1msg|byte|BounceSoundType}}&lt;br /&gt;
{{hl1msg|byte|Life}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BuyClose =&lt;br /&gt;
Forces the buy menu to close. This is not called when the player closes the buy menu by himself; it's only called when the game forces him to do so (ie: he walks outside of the buy zone, gets killed, etcetera).&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|BuyClose}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ClCorpse =&lt;br /&gt;
Spawns a player's corpse. ModelName is the player's model name, for example: &amp;quot;leet&amp;quot;. Delay is a delay before animation plaback, can be negative value.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Coord and Delay is multiplied by 128.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|In CS argument #10 is always equal to 0.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*See [http://www.amxmodx.org/funcwiki.php?go=module&amp;amp;id=4#const_teams CS Team Constants] for team indeces constants list.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ClCorpse|string, long, long, long, coord, coord, coord, long, byte, byte, byte, byte}}&lt;br /&gt;
{{hl1msg|string|ModelName}}&lt;br /&gt;
{{hl1msg|long|CoordX}}&lt;br /&gt;
{{hl1msg|long|CoordY}}&lt;br /&gt;
{{hl1msg|long|CoordZ}}&lt;br /&gt;
{{hl1msg|coord|Angle0}}&lt;br /&gt;
{{hl1msg|coord|Angle1}}&lt;br /&gt;
{{hl1msg|coord|Angle2}}&lt;br /&gt;
{{hl1msg|long|Delay}}&lt;br /&gt;
{{hl1msg|byte|Sequence}}&lt;br /&gt;
{{hl1msg|byte|ClassID?}}&lt;br /&gt;
{{hl1msg|byte|TeamID}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Crosshair =&lt;br /&gt;
Draws/removes a crosshair. If Flag is set to 1 the crosshair will be drawn.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This crossair looks not like the regular one but like the one that is drawn in the spectator mode.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Crosshair|byte}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= CurWeapon =&lt;br /&gt;
Updates the clip ammo number and weapon's corresponding ammo type icon on the [[HUD]].&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|See [[CS Weapons Information]] for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|CurWeapon|byte, byte, byte}}&lt;br /&gt;
{{hl1msg|byte|IsActive}}&lt;br /&gt;
{{hl1msg|byte|WeaponID}}&lt;br /&gt;
{{hl1msg|byte|ClipAmmo}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= CZCareer =&lt;br /&gt;
Supplies certain updates to the player regarding Condition Zero singleplayer missions.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|See the [[CZCareer]] page for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|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).}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|The Type argument is case-sensitive.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This event does nothing in CS and CZ multiplayer.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|CZCareer|string,*}}&lt;br /&gt;
{{hl1msg|string|Type}}&lt;br /&gt;
{{hl1msg|*|Parameters}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= CZCareerHUD =&lt;br /&gt;
Displays certain [[HUD]] elements regarding Condition Zero singleplayer missions.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|See the [[CZCareerHUD]] page for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|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).}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|The Type argument is case-sensitive.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This event has some limited functionality in CS and CZ multiplayer (albeit better in CZ).}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|CZCareerHUD|string,*}}&lt;br /&gt;
{{hl1msg|string|Type}}&lt;br /&gt;
{{hl1msg|*|Parameters}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Damage =&lt;br /&gt;
Called when a player takes damage, to display the red locational indicators. The last three arguments is the origin of the damage inflictor or victim origin if inflictor isn't found. DamageType is a bitwise value usually consist of a single bit.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|To caputure this message,you should use &amp;quot;b&amp;quot; as the third parameter in the register_event() function.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Damage|byte, byte, long, coord, coord, coord}}&lt;br /&gt;
{{hl1msg|byte|DamageSave}}&lt;br /&gt;
{{hl1msg|byte|DamageTake}}&lt;br /&gt;
{{hl1msg|long|DamageType}}&lt;br /&gt;
{{hl1msg|coord|CoordX}}&lt;br /&gt;
{{hl1msg|coord|CoordY}}&lt;br /&gt;
{{hl1msg|coord|CoordZ}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= DeathMsg =&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
Also prints the console text message &amp;quot;KillerName killed VictimName with TruncatedWeaponName&amp;quot; or &amp;quot;*** KillerName killed VictimName with a headshot from TruncatedWeaponName ***&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|TruncatedWeaponName doesn't contain a &amp;quot;weapon_&amp;quot; prefix. See [[CS Weapons Information]] for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|For grenade kill TruncatedWeaponName isn't &amp;quot;hegrenade&amp;quot; but &amp;quot;grenade&amp;quot;, in fact it's an actual classname of a throwed grenade.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|For KillerID it's not necessarily should be a PlayerID, it could be 0 if player dies from fall/acid/radiation/fire/etc damage/lack of oxygen or from touch to a &amp;quot;trigger_hurt&amp;quot; entity, in this case TruncatedWeaponName will be &amp;quot;worldspawn&amp;quot; and &amp;quot;trigger_hurt&amp;quot; respectively.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|For vehicle kills TruncatedWeaponName could be &amp;quot;vehicle&amp;quot;, &amp;quot;tank&amp;quot; et cetera.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|DeathMsg|byte, byte, byte, string}}&lt;br /&gt;
{{hl1msg|byte|KillerID}}&lt;br /&gt;
{{hl1msg|byte|VictimID}}&lt;br /&gt;
{{hl1msg|byte|IsHeadshot}}&lt;br /&gt;
{{hl1msg|string|TruncatedWeaponName}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= FlashBat =&lt;br /&gt;
Updates the flashlight battery charge on the [[HUD]].&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|FlashBat|byte}}&lt;br /&gt;
{{hl1msg|byte|ChargePercents}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Flashlight =&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Flashlight|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{hl1msg|byte|ChargePercents}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Fog =&lt;br /&gt;
{{qnotice|mp_Fog 1 for fog in counter-strike}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|Fog|byte, byte, byte}}&lt;br /&gt;
{{hl1msg|byte|FogValue}}&lt;br /&gt;
{{hl1msg|byte|FogValue}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ForceCam =&lt;br /&gt;
Called whenever mp_forcecam or mp_forcechasecam are changed, with their new values passed. There is assumedly a third CVar that this tracks, but it is yet unknown. Note that this message doesn't actually change any of the spectating rules for the client.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Even if mp_forcechasecam is set to 2, it is sent by this message as 1.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ForceCam|byte, byte, byte}}&lt;br /&gt;
{{hl1msg|byte|ForcecamValue}}&lt;br /&gt;
{{hl1msg|byte|ForcechasecamValue}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= GameMode =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|GameMode|byte}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= GameTitle =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Geiger =&lt;br /&gt;
Notifies about radiation level through special sound signals. Distance is a distance to hazard area.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Geiger|byte}}&lt;br /&gt;
{{hl1msg|byte|Distance}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Health =&lt;br /&gt;
Updates the number of health on the [[HUD]].&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Health|byte}}&lt;br /&gt;
{{hl1msg|byte|Health}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= HideWeapon =&lt;br /&gt;
Hides the specified [[HUD]] elements.&amp;lt;br&amp;gt;&lt;br /&gt;
Flags:&lt;br /&gt;
   1   (1&amp;lt;&amp;lt;0)  -  crosshair, ammo, weapons list&lt;br /&gt;
   2   (1&amp;lt;&amp;lt;1)  -  flashlight, +&lt;br /&gt;
   4   (1&amp;lt;&amp;lt;2)  -  ALL&lt;br /&gt;
   8   (1&amp;lt;&amp;lt;3)  -  radar, health, armor, +&lt;br /&gt;
  16   (1&amp;lt;&amp;lt;4)  -  timer, +&lt;br /&gt;
  32   (1&amp;lt;&amp;lt;5)  -  money, +&lt;br /&gt;
  64   (1&amp;lt;&amp;lt;6)  -  crosshair&lt;br /&gt;
 128   (1&amp;lt;&amp;lt;7)  -  +&lt;br /&gt;
Symbol + mean that an additional crosshair will be drawn. That crosshair looks exactly like the one from Crosshair message.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|HideWeapon|byte}}&lt;br /&gt;
{{hl1msg|byte|Flags}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= HLTV =&lt;br /&gt;
Message sent for HLTV and unique for each round-start.&amp;lt;br&amp;gt;&lt;br /&gt;
On new round is fired 2 messages:&lt;br /&gt;
 // reset all players health for HLTV&lt;br /&gt;
 MESSAGE_BEGIN( MSG_SPEC, gmsgHLTV );&lt;br /&gt;
 WRITE_BYTE( 0 );   // 0 = all players&lt;br /&gt;
 WRITE_BYTE( 100 | 128 );&lt;br /&gt;
 MESSAGE_END();&amp;lt;br&amp;gt;&lt;br /&gt;
 // reset all players FOV for HLTV&lt;br /&gt;
 MESSAGE_BEGIN( MSG_SPEC, gmsgHLTV );&lt;br /&gt;
 WRITE_BYTE( 0 );   // all players&lt;br /&gt;
 WRITE_BYTE( 0 );&lt;br /&gt;
 MESSAGE_END();&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|HLTV|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|ClientID}}&lt;br /&gt;
{{hl1msg|byte|Flags}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= HostageK =&lt;br /&gt;
Temporarily draws a blinking red dot on the CT players' radar when a hostage is killed.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|HostageK|byte}}&lt;br /&gt;
{{hl1msg|byte|HostageID}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= HostagePos =&lt;br /&gt;
Draws/updates the blue mark on the CT players' radar which is indicate the corresponding hostage position.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Is called with Flag set to 1 on player [[HUD]] full update.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|HostagePos|byte, byte, coord, coord, coord}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{hl1msg|byte|HostageID}}&lt;br /&gt;
{{hl1msg|coord|CoordX}}&lt;br /&gt;
{{hl1msg|coord|CoordY}}&lt;br /&gt;
{{hl1msg|coord|CoordZ}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= HudText =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= HudTextArgs =&lt;br /&gt;
Prints [[HUD]] text.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|An example of TextCode could be &amp;quot;#Hint_you_have_the_bomb&amp;quot;.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|If you have a problems with specifing the last two arguments use 1 and 0 respectively.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|HudTextArgs|string, byte, byte}}&lt;br /&gt;
{{hl1msg|string|TextCode}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= HudTextPro =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= InitHUD =&lt;br /&gt;
Initializes the [[HUD]].&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|InitHUD}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ItemPickup =&lt;br /&gt;
Temporarily draws correspoding item [[HUD]] icon in the middle of the right side of the screen.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Draw time is depend on the ''hud_drawhistory_time'' client CVar value.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ItemPickup|string}}&lt;br /&gt;
{{hl1msg|string|ItemName}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ItemStatus =&lt;br /&gt;
Notifies about carried items.&amp;lt;br&amp;gt;&lt;br /&gt;
Example of some item bits:&lt;br /&gt;
 1   (1&amp;lt;&amp;lt;0)  -  nightvision goggles&lt;br /&gt;
 2   (1&amp;lt;&amp;lt;1)  -  defusal kit&lt;br /&gt;
{{begin-hl1msg|ItemStatus|byte}}&lt;br /&gt;
{{hl1msg|byte|ItemsBitSum}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Location =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Location|byte, string}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{hl1msg|string|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Money =&lt;br /&gt;
Updates the Amount of money on the [[HUD]]. If the Flag is 1, the additional new-old [[HUD]] money amount difference will be also displayed.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Money|long, byte}}&lt;br /&gt;
{{hl1msg|long|Amount}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= MOTD =&lt;br /&gt;
Displays MOTD window.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Max. Text length is 60. Large MOTD is sent in multiple messages. For the message that is send a last MOTD part the Flag will be set to 1 and 0 otherwise.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|MOTD|byte, string}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{hl1msg|string|Text}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= NVGToggle =&lt;br /&gt;
Toggles night vision mode. For Flag: 1 is on, 0 is off.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|NVGToggle|byte}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Radar =&lt;br /&gt;
Draws/updates the dot on the [[HUD]] radar which is indicate the given player position.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Works for teammates only.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Radar|byte, coord, coord, coord}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{hl1msg|coord|CoordX}}&lt;br /&gt;
{{hl1msg|coord|CoordY}}&lt;br /&gt;
{{hl1msg|coord|CoordZ}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ReceiveW =&lt;br /&gt;
Tell the client which visual weather effect to be executed client side, if cl_weather client cvar is above 0.&amp;lt;br&amp;gt;&lt;br /&gt;
Main part of CBasePlayer::SendWeatherInfo() function that is sent inCBasePlayer :: UpdateClientData() when player offset m_fInitHUD is 1&amp;lt;br&amp;gt;&lt;br /&gt;
(right after putinserver or after fullupdate command)&amp;lt;br&amp;gt;&lt;br /&gt;
Mode : 1 is for rain effect, 2 is for snow effect&amp;lt;br&amp;gt;&lt;br /&gt;
Though mode 0 is never sent by the game itself, removes weather effect&amp;lt;br&amp;gt;&lt;br /&gt;
Alternatively send mode 1 and mode 2 with judicious delays (time for effect to disappear) make both rain and snow effect&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ReceiveW|byte}}&lt;br /&gt;
{{hl1msg|byte|mode}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ReloadSound =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ReloadSound|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ReqState =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ReqState}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ResetHUD =&lt;br /&gt;
Resets the [[HUD]].&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ResetHUD}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= RoundTime =&lt;br /&gt;
Updates the round timer on the [[HUD]]. Time is in seconds.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|RoundTime|short}}&lt;br /&gt;
{{hl1msg|short|Time}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SayText =&lt;br /&gt;
Prints say [[HUD]] text. Second argument can be a predefined string or a custom one. In the last case the last two arguments isn't required.&amp;lt;br&amp;gt;&lt;br /&gt;
An examples of a predifined Counter-Strike string values: #Cstrike_Chat_AllDead, #Cstrike_Name_Change&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|For #Cstrike_Name_Change String2 is an old name and String3 is a new name.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|SayText|byte, string, string, string}}&lt;br /&gt;
{{hl1msg|byte|SenderID}}&lt;br /&gt;
{{hl1msg|string|String1}}&lt;br /&gt;
{{hl1msg|string|String2}}&lt;br /&gt;
{{hl1msg|string|String3}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Scenario =&lt;br /&gt;
If Active is 0, this display will be hidden. If Active is 1, 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.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|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.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[image:Cs_scenario_msg.jpg|frame|right|Scenario message in CS, using the following parameters: 1, d_mp5navy, 150]]&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Works in both CS and CZ!}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|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.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Scenario|byte, string, byte, short, short}}&lt;br /&gt;
{{hl1msg|byte|Active}}&lt;br /&gt;
{{hl1msg|string|Sprite}}&lt;br /&gt;
{{hl1msg|byte|Alpha}}&lt;br /&gt;
{{hl1msg|short|FlashRate}}&lt;br /&gt;
{{hl1msg|short|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ScoreAttrib =&lt;br /&gt;
Updates the scoreboard's attribute for the specified player. For the 2nd argument, 0 is nothing, (1&amp;lt;&amp;lt;0) i.e. 1 is dead, (1&amp;lt;&amp;lt;1) i.e. 2 is bomb, (1&amp;lt;&amp;lt;2) i.e. 4 is VIP.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|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.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ScoreAttrib|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{hl1msg|byte|Flags}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ScoreInfo =&lt;br /&gt;
Updates the scoreboard with the given player's Frags and Deaths.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|In CS the 4th argument is always equal to 0.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*See [http://www.amxmodx.org/funcwiki.php?go=module&amp;amp;id=4#const_teams CS Team Constants] for team indeces constants list.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ScoreInfo|byte, short, short, short, short}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{hl1msg|short|Frags}}&lt;br /&gt;
{{hl1msg|short|Deaths}}&lt;br /&gt;
{{hl1msg|short|ClassID?}}&lt;br /&gt;
{{hl1msg|short|TeamID}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ScreenFade =&lt;br /&gt;
Fades the screen.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Duration and HoldTime is in special units. 1 second is equal to (1&amp;lt;&amp;lt;12) i.e. 4096 units.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Flags (from HLSDK):&lt;br /&gt;
 FFADE_IN         0x0000 // Just here so we don't pass 0 into the function&lt;br /&gt;
 FFADE_OUT        0x0001 // Fade out (not in)&lt;br /&gt;
 FFADE_MODULATE   0x0002 // Modulate (don't blend)&lt;br /&gt;
 FFADE_STAYOUT    0x0004 // ignores the duration, stays faded out until new ScreenFade message received&lt;br /&gt;
{{begin-hl1msg|ScreenFade|short, short, short, byte, byte, byte, byte}}&lt;br /&gt;
{{hl1msg|short|Duration}}&lt;br /&gt;
{{hl1msg|short|HoldTime}}&lt;br /&gt;
{{hl1msg|short|Flags}}&lt;br /&gt;
{{hl1msg|byte|ColorR}}&lt;br /&gt;
{{hl1msg|byte|ColorG}}&lt;br /&gt;
{{hl1msg|byte|ColorB}}&lt;br /&gt;
{{hl1msg|byte|Alpha}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ScreenShake =&lt;br /&gt;
Shakes the screen.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|All arguments is in special units. 1 second is equal to (1&amp;lt;&amp;lt;12) i.e. 4096 units.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ScreenShake|short, short, short}}&lt;br /&gt;
{{hl1msg|short|Amplitude}}&lt;br /&gt;
{{hl1msg|short|Duration}}&lt;br /&gt;
{{hl1msg|short|Frequency}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SendAudio =&lt;br /&gt;
Plays the specified audio. An example of AudioCode could be &amp;quot;%!MRAD_rounddraw&amp;quot;.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|SendAudio|byte, string, short}}&lt;br /&gt;
{{hl1msg|byte|SenderID}}&lt;br /&gt;
{{hl1msg|string|AudioCode}}&lt;br /&gt;
{{hl1msg|short|Pitch}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ServerName =&lt;br /&gt;
Sends a server name to a client.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ServerName|string}}&lt;br /&gt;
{{hl1msg|string|ServerName}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SetFOV =&lt;br /&gt;
Sets the specified field of view.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|SetFOV|byte}}&lt;br /&gt;
{{hl1msg|byte|Degrees}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ShadowIdx =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ShadowIdx|long}}&lt;br /&gt;
{{hl1msg|long|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ShowMenu =&lt;br /&gt;
Displays a &amp;quot;menu&amp;quot; to a player (text on the left side of the screen). Acts like AMXX's show_menu (in fact, this is how AMXX shows a menu).&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|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.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ShowMenu|short, char, byte, string}}&lt;br /&gt;
{{hl1msg|short|KeysBitSum}}&lt;br /&gt;
{{hl1msg|char|Time}}&lt;br /&gt;
{{hl1msg|byte|Multipart}}&lt;br /&gt;
{{hl1msg|string|Text}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ShowTimer =&lt;br /&gt;
Forces the round timer displaying.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ShowTimer}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SpecHealth =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|SpecHealth|byte}}&lt;br /&gt;
{{hl1msg|byte|Health?}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SpecHealth2 =&lt;br /&gt;
Updates the observer's screen with a name and health of the given player.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|SpecHealth2|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|Health}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Spectator =&lt;br /&gt;
Called when player becomes an observer/spectator.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|On join to Spectators usually is fired twice in a row.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Spectator|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|ClientID}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= StatusIcon =&lt;br /&gt;
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 is required only if Status aren't equal to 0.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|StatusIcon|byte, string, byte, byte, byte}}&lt;br /&gt;
{{hl1msg|byte|Status}}&lt;br /&gt;
{{hl1msg|string|SpriteName}}&lt;br /&gt;
{{hl1msg|byte|ColorR}}&lt;br /&gt;
{{hl1msg|byte|ColorG}}&lt;br /&gt;
{{hl1msg|byte|ColorB}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= StatusValue =&lt;br /&gt;
Sends/updates the status values. For the Flag 1 the Value is TeamRelation, for 2 is PlayerID, for 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.&amp;lt;br&amp;gt;&lt;br /&gt;
Usually is fired as a triple message, for example:&lt;br /&gt;
 {1,  2}  -  non-teammate player&lt;br /&gt;
 {2, 17}  -  player index is 17&lt;br /&gt;
 {3, 59}  -  player health is 59&lt;br /&gt;
{{begin-hl1msg|StatusValue|byte, short}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{hl1msg|short|Value}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= StatusText =&lt;br /&gt;
Specifies the status text format.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|StatusText|byte, string}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{hl1msg|string|Text}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TaskTime =&lt;br /&gt;
Displays a secondary timer above the round timer. Used for Condition Zero singleplayer missions.&amp;lt;br&amp;gt;&lt;br /&gt;
If Time is -1, timer dissappears. If Time is any other negative value, it is displayed as green instead of yellow, and considered positive.&amp;lt;br&amp;gt;&lt;br /&gt;
If Active is true, timer counts down. Otherwise, it is paused.&amp;lt;br&amp;gt;If Fade is above zero, the timer will slowly fade out after that many seconds have passed (even if the timer is inactive).&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This event can only be used on missions that have an objective requiring a secondary timer!}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|TaskTime|short, byte, byte}}&lt;br /&gt;
{{hl1msg|short|Time}}&lt;br /&gt;
{{hl1msg|byte|Active}}&lt;br /&gt;
{{hl1msg|byte|Fade}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TeamInfo =&lt;br /&gt;
Sets the team information for the given player.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|In CS TeamName is either &amp;quot;UNASSIGNED&amp;quot;, &amp;quot;TERRORIST&amp;quot;, &amp;quot;CT&amp;quot; or &amp;quot;SPECTATOR&amp;quot;.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|TeamInfo|byte, string}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{hl1msg|string|TeamName}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TeamScore =&lt;br /&gt;
Updates the team score on the score board.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|In CS TeamName is either &amp;quot;TERRORIST&amp;quot; or &amp;quot;CT&amp;quot;.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|TeamScore|string, short}}&lt;br /&gt;
{{hl1msg|string|TeamName}}&lt;br /&gt;
{{hl1msg|short|Score}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TextMsg =&lt;br /&gt;
Prints a cutom/or predefined text message.&amp;lt;br&amp;gt;&lt;br /&gt;
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:&lt;br /&gt;
 Arg1: 1&lt;br /&gt;
 Arg2: #Game_join_ct&lt;br /&gt;
 Arg3: Pimp Daddy&lt;br /&gt;
{{begin-hl1msg|TextMsg|byte, string, string, string, string, string}}&lt;br /&gt;
{{hl1msg|byte|DestinationType}}&lt;br /&gt;
{{hl1msg|string|Message}}&lt;br /&gt;
{{hl1msg|string|Submsg}}&lt;br /&gt;
{{hl1msg|string|Submsg}}&lt;br /&gt;
{{hl1msg|string|Submsg}}&lt;br /&gt;
{{hl1msg|string|Submsg}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Train =&lt;br /&gt;
Displays the speed bar used for controlling a train.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Speed is as follows: 0 (disable display), 1 (reverse), 2 (neutral), 3 (slow speed), 4 (medium speed), 5 (maximum speed)}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Train|byte}}&lt;br /&gt;
{{hl1msg|byte|Speed}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TutorClose =&lt;br /&gt;
Closes all CZ-style tutor popups.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= TutorLine =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= TutorState =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= TutorText =&lt;br /&gt;
Used to display a CZ-style tutor popup.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|TutorText|string, byte, short, short, short}}&lt;br /&gt;
{{hl1msg|string|Unknown}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{hl1msg|short|Unknown}}&lt;br /&gt;
{{hl1msg|short|Unknown}}&lt;br /&gt;
{{hl1msg|short|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ViewMode =&lt;br /&gt;
{{qnotice|No Information available for this message (HLSDK says this switches to first-person view, but it doesn't seem to function as so).}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ViewMode}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= VGUIMenu =&lt;br /&gt;
Displays a predefined VGUI menu.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|VGUIMenu|byte, short, char, byte, string}}&lt;br /&gt;
{{hl1msg|byte|MenuID}}&lt;br /&gt;
{{hl1msg|short|KeysBitSum}}&lt;br /&gt;
{{hl1msg|char|Time?}}&lt;br /&gt;
{{hl1msg|byte|Multipart?}}&lt;br /&gt;
{{hl1msg|string|Name?}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= VoiceMask =&lt;br /&gt;
Used to tell a client who he can hear over the microphone.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|VoiceMask|long, long}}&lt;br /&gt;
{{hl1msg|long|AudiblePlayersIndexBitSum}}&lt;br /&gt;
{{hl1msg|long|ServerBannedPlayersIndexBitSum}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= WeaponList =&lt;br /&gt;
Configures the [[HUD]] weapons list.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Fired on map initialization.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|SlotID starts from 0.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Flags (from HLSDK):&lt;br /&gt;
 ITEM_FLAG_SELECTONEMPTY       1&lt;br /&gt;
 ITEM_FLAG_NOAUTORELOAD        2&lt;br /&gt;
 ITEM_FLAG_NOAUTOSWITCHEMPTY   4&lt;br /&gt;
 ITEM_FLAG_LIMITINWORLD        8&lt;br /&gt;
 ITEM_FLAG_EXHAUSTIBLE        16 // A player can totally exhaust their ammo supply and lose this weapon.&lt;br /&gt;
{{qnotice|See [[CS Weapons Information]] for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|WeaponList|string, byte, byte, byte, byte, byte, byte, byte, byte}}&lt;br /&gt;
{{hl1msg|string|WeaponName}}&lt;br /&gt;
{{hl1msg|byte|PrimaryAmmoID}}&lt;br /&gt;
{{hl1msg|byte|PrimaryAmmoMaxAmount}}&lt;br /&gt;
{{hl1msg|byte|SecondaryAmmoID}}&lt;br /&gt;
{{hl1msg|byte|SecondaryAmmoMaxAmount}}&lt;br /&gt;
{{hl1msg|byte|SlotID}}&lt;br /&gt;
{{hl1msg|byte|NumberInSlot}}&lt;br /&gt;
{{hl1msg|byte|WeaponID}}&lt;br /&gt;
{{hl1msg|byte|Flags}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= WeapPickup =&lt;br /&gt;
Temporarily draws correspoding weapon [[HUD]] icon in the middle of the right side of the screen.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Draw time is depend on the ''hud_drawhistory_time'' client CVar value.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Is fired right before weapon is picked up (notice ''&amp;quot;before&amp;quot;'').}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|See [[CS Weapons Information]] for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|WeapPickup|byte}}&lt;br /&gt;
{{hl1msg|byte|WeaponID}}&lt;br /&gt;
{{end-hl1msg}}&lt;/div&gt;</summary>
		<author><name>ConnorMcLeod</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.alliedmods.net/index.php?title=Half-Life_1_Game_Events&amp;diff=7890</id>
		<title>Half-Life 1 Game Events</title>
		<link rel="alternate" type="text/html" href="https://wiki.alliedmods.net/index.php?title=Half-Life_1_Game_Events&amp;diff=7890"/>
		<updated>2010-11-20T11:20:50Z</updated>

		<summary type="html">&lt;p&gt;ConnorMcLeod: /* ReceiveW */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Half-Life 1]]&lt;br /&gt;
[[Category:Scripting (AMX Mod X)]]&lt;br /&gt;
&lt;br /&gt;
= Introduction =&lt;br /&gt;
&lt;br /&gt;
In [[AMX Mod X]] you are able to hook in-game messages/events with [http://www.amxmodx.org/funcwiki.php?search=register_message&amp;amp;go=search register_message] / [http://www.amxmodx.org/funcwiki.php?go=func&amp;amp;id=26 register_event]. Here are the list of messages/events and their arguments which can be read with [http://www.amxmodx.org/funcwiki.php?search=get_msg_arg_&amp;amp;go=search get_msg_arg_*] / [http://www.amxmodx.org/funcwiki.php?go=func&amp;amp;id=132 read_data].&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
*See the [[Advanced Scripting (AMX Mod X)#Events.2FMessages|Advanced Scripting]] article for more on events and messages.&amp;lt;br&amp;gt;&lt;br /&gt;
*See messages.inc and message_const.inc from amxmodx/scriptong/include folder or [http://www.amxmodx.org/funcwiki.php?go=inc&amp;amp;id=47 Messaging functions] and [http://www.amxmodx.org/funcwiki.php?go=inc&amp;amp;id=48 Message constants] for full messages control including blocking, argument alteration and much more.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= ADStop =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ADStop}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= AllowSpec =&lt;br /&gt;
Changes whether or not &amp;quot;SPECTATE&amp;quot; appears on the change team menu. Called whenever the allow_spectators CVar is changed, with its new value sent as the byte.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This changes how the change team menu appears, but spectating functionality is based off of the actual CVar value.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|AllowSpec|byte}}&lt;br /&gt;
{{hl1msg|byte|Allowed}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= AmmoPickup =&lt;br /&gt;
Temporarily draws [[HUD]] ammo amount and correspoding ammo [[HUD]] icon in the middle of the right side of the screen.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Draw time is depend on the ''hud_drawhistory_time'' client CVar value.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|See [[CS Weapons Information]] for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|AmmoPickup|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|AmmoID}}&lt;br /&gt;
{{hl1msg|byte|Ammount}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= AmmoX =&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|See [[CS Weapons Information]] for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|AmmoX|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|AmmoID}}&lt;br /&gt;
{{hl1msg|byte|Ammount}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ArmorType =&lt;br /&gt;
Draws/removes helmet [[HUD]] icon. If flag is set to 1 the helmet [[HUD]] icon will be drawn (located right on the armor icon).&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ArmorType|byte}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BarTime =&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Set Duration to 0 to hide the bar.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|BarTime|short}}&lt;br /&gt;
{{hl1msg|short|Duration}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BarTime2 =&lt;br /&gt;
The same as BarTime but StartPercents is specify how many per cents of the bar are (already) filled.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Display time can be calculated with this formula: ''(1 - (StartPercents / 100)) / Duration''}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|BarTime2|short, short}}&lt;br /&gt;
{{hl1msg|short|Duration}}&lt;br /&gt;
{{hl1msg|short|StartPercents}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Battery =&lt;br /&gt;
Updates the icon and the number of armor on the [[HUD]].&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Battery|short}}&lt;br /&gt;
{{hl1msg|short|Armor}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BlinkAcct =&lt;br /&gt;
Makes a player's money display flash rapidly, until it flashes a total of BlinkAmt times.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|BlinkAcct|byte}}&lt;br /&gt;
{{hl1msg|byte|BlinkAmt}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BombDrop =&lt;br /&gt;
The first three arguments are the origin of the dropped bomb. The last argument is set to 1 if the bomb has been planted. It is 0 if the bomb was dropped due to voluntary dropping or death/disconnect. Setting the last argument 1, will also 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.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|BombDrop|coord, coord, coord, byte}}&lt;br /&gt;
{{hl1msg|coord|CoordX}}&lt;br /&gt;
{{hl1msg|coord|CoordY}}&lt;br /&gt;
{{hl1msg|coord|CoordZ}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BombPickup =&lt;br /&gt;
This message just tells the game that the bomb has been picked up. It will cause the dropped/planted bomb to disappear from the Terrorist team's radar.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|BombPickup}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BotProgress =&lt;br /&gt;
Used by CZ's bots when learning a new map. 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.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|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.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|BotProgress|byte, byte, string}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{hl1msg|byte|Progress}}&lt;br /&gt;
{{hl1msg|string|Header}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BotVoice =&lt;br /&gt;
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 by regular players, although you &amp;lt;i&amp;gt;can&amp;lt;/i&amp;gt; specify a regular player (non-bot) for the PlayerIndex. Status is 1 for talking, or 0 for not talking.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|BotVoice|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|Status}}&lt;br /&gt;
{{hl1msg|byte|PlayerIndex}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Brass =&lt;br /&gt;
Creates a brass shell. Used, for example, by the AWP, after firing.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Brass|byte, coord, coord, coord, coord, coord, coord, coord, coord, coord, angle, short, byte, byte, byte}}&lt;br /&gt;
{{hl1msg|byte|MessageID}}&lt;br /&gt;
{{hl1msg|coord|StartX}}&lt;br /&gt;
{{hl1msg|coord|StartY}}&lt;br /&gt;
{{hl1msg|coord|StartZ}}&lt;br /&gt;
{{hl1msg|coord|VelocityX?}}&lt;br /&gt;
{{hl1msg|coord|VelocityY?}}&lt;br /&gt;
{{hl1msg|coord|VelocityZ?}}&lt;br /&gt;
{{hl1msg|coord|UnknownX}}&lt;br /&gt;
{{hl1msg|coord|UnknownY}}&lt;br /&gt;
{{hl1msg|coord|UnknownZ}}&lt;br /&gt;
{{hl1msg|angle|Rotation}}&lt;br /&gt;
{{hl1msg|short|ModelIndex}}&lt;br /&gt;
{{hl1msg|byte|BounceSoundType}}&lt;br /&gt;
{{hl1msg|byte|Life}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BuyClose =&lt;br /&gt;
Forces the buy menu to close. This is not called when the player closes the buy menu by himself; it's only called when the game forces him to do so (ie: he walks outside of the buy zone, gets killed, etcetera).&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|BuyClose}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ClCorpse =&lt;br /&gt;
Spawns a player's corpse. ModelName is the player's model name, for example: &amp;quot;leet&amp;quot;. Delay is a delay before animation plaback, can be negative value.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Coord and Delay is multiplied by 128.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|In CS argument #10 is always equal to 0.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*See [http://www.amxmodx.org/funcwiki.php?go=module&amp;amp;id=4#const_teams CS Team Constants] for team indeces constants list.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ClCorpse|string, long, long, long, coord, coord, coord, long, byte, byte, byte, byte}}&lt;br /&gt;
{{hl1msg|string|ModelName}}&lt;br /&gt;
{{hl1msg|long|CoordX}}&lt;br /&gt;
{{hl1msg|long|CoordY}}&lt;br /&gt;
{{hl1msg|long|CoordZ}}&lt;br /&gt;
{{hl1msg|coord|Angle0}}&lt;br /&gt;
{{hl1msg|coord|Angle1}}&lt;br /&gt;
{{hl1msg|coord|Angle2}}&lt;br /&gt;
{{hl1msg|long|Delay}}&lt;br /&gt;
{{hl1msg|byte|Sequence}}&lt;br /&gt;
{{hl1msg|byte|ClassID?}}&lt;br /&gt;
{{hl1msg|byte|TeamID}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Crosshair =&lt;br /&gt;
Draws/removes a crosshair. If Flag is set to 1 the crosshair will be drawn.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This crossair looks not like the regular one but like the one that is drawn in the spectator mode.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Crosshair|byte}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= CurWeapon =&lt;br /&gt;
Updates the clip ammo number and weapon's corresponding ammo type icon on the [[HUD]].&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|See [[CS Weapons Information]] for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|CurWeapon|byte, byte, byte}}&lt;br /&gt;
{{hl1msg|byte|IsActive}}&lt;br /&gt;
{{hl1msg|byte|WeaponID}}&lt;br /&gt;
{{hl1msg|byte|ClipAmmo}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= CZCareer =&lt;br /&gt;
Supplies certain updates to the player regarding Condition Zero singleplayer missions.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|See the [[CZCareer]] page for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|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).}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|The Type argument is case-sensitive.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This event does nothing in CS and CZ multiplayer.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|CZCareer|string,*}}&lt;br /&gt;
{{hl1msg|string|Type}}&lt;br /&gt;
{{hl1msg|*|Parameters}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= CZCareerHUD =&lt;br /&gt;
Displays certain [[HUD]] elements regarding Condition Zero singleplayer missions.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|See the [[CZCareerHUD]] page for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|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).}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|The Type argument is case-sensitive.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This event has some limited functionality in CS and CZ multiplayer (albeit better in CZ).}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|CZCareerHUD|string,*}}&lt;br /&gt;
{{hl1msg|string|Type}}&lt;br /&gt;
{{hl1msg|*|Parameters}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Damage =&lt;br /&gt;
Called when a player takes damage, to display the red locational indicators. The last three arguments is the origin of the damage inflictor or victim origin if inflictor isn't found. DamageType is a bitwise value usually consist of a single bit.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|To caputure this message,you should use &amp;quot;b&amp;quot; as the third parameter in the register_event() function.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Damage|byte, byte, long, coord, coord, coord}}&lt;br /&gt;
{{hl1msg|byte|DamageSave}}&lt;br /&gt;
{{hl1msg|byte|DamageTake}}&lt;br /&gt;
{{hl1msg|long|DamageType}}&lt;br /&gt;
{{hl1msg|coord|CoordX}}&lt;br /&gt;
{{hl1msg|coord|CoordY}}&lt;br /&gt;
{{hl1msg|coord|CoordZ}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= DeathMsg =&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
Also prints the console text message &amp;quot;KillerName killed VictimName with TruncatedWeaponName&amp;quot; or &amp;quot;*** KillerName killed VictimName with a headshot from TruncatedWeaponName ***&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|TruncatedWeaponName doesn't contain a &amp;quot;weapon_&amp;quot; prefix. See [[CS Weapons Information]] for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|For grenade kill TruncatedWeaponName isn't &amp;quot;hegrenade&amp;quot; but &amp;quot;grenade&amp;quot;, in fact it's an actual classname of a throwed grenade.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|For KillerID it's not necessarily should be a PlayerID, it could be 0 if player dies from fall/acid/radiation/fire/etc damage/lack of oxygen or from touch to a &amp;quot;trigger_hurt&amp;quot; entity, in this case TruncatedWeaponName will be &amp;quot;worldspawn&amp;quot; and &amp;quot;trigger_hurt&amp;quot; respectively.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|For vehicle kills TruncatedWeaponName could be &amp;quot;vehicle&amp;quot;, &amp;quot;tank&amp;quot; et cetera.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|DeathMsg|byte, byte, byte, string}}&lt;br /&gt;
{{hl1msg|byte|KillerID}}&lt;br /&gt;
{{hl1msg|byte|VictimID}}&lt;br /&gt;
{{hl1msg|byte|IsHeadshot}}&lt;br /&gt;
{{hl1msg|string|TruncatedWeaponName}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= FlashBat =&lt;br /&gt;
Updates the flashlight battery charge on the [[HUD]].&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|FlashBat|byte}}&lt;br /&gt;
{{hl1msg|byte|ChargePercents}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Flashlight =&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Flashlight|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{hl1msg|byte|ChargePercents}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Fog =&lt;br /&gt;
{{qnotice|mp_Fog 1 for fog in counter-strike}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|Fog|byte, byte, byte}}&lt;br /&gt;
{{hl1msg|byte|FogValue}}&lt;br /&gt;
{{hl1msg|byte|FogValue}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ForceCam =&lt;br /&gt;
Called whenever mp_forcecam or mp_forcechasecam are changed, with their new values passed. There is assumedly a third CVar that this tracks, but it is yet unknown. Note that this message doesn't actually change any of the spectating rules for the client.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Even if mp_forcechasecam is set to 2, it is sent by this message as 1.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ForceCam|byte, byte, byte}}&lt;br /&gt;
{{hl1msg|byte|ForcecamValue}}&lt;br /&gt;
{{hl1msg|byte|ForcechasecamValue}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= GameMode =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|GameMode|byte}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= GameTitle =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Geiger =&lt;br /&gt;
Notifies about radiation level through special sound signals. Distance is a distance to hazard area.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Geiger|byte}}&lt;br /&gt;
{{hl1msg|byte|Distance}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Health =&lt;br /&gt;
Updates the number of health on the [[HUD]].&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Health|byte}}&lt;br /&gt;
{{hl1msg|byte|Health}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= HideWeapon =&lt;br /&gt;
Hides the specified [[HUD]] elements.&amp;lt;br&amp;gt;&lt;br /&gt;
Flags:&lt;br /&gt;
   1   (1&amp;lt;&amp;lt;0)  -  crosshair, ammo, weapons list&lt;br /&gt;
   2   (1&amp;lt;&amp;lt;1)  -  flashlight, +&lt;br /&gt;
   4   (1&amp;lt;&amp;lt;2)  -  ALL&lt;br /&gt;
   8   (1&amp;lt;&amp;lt;3)  -  radar, health, armor, +&lt;br /&gt;
  16   (1&amp;lt;&amp;lt;4)  -  timer, +&lt;br /&gt;
  32   (1&amp;lt;&amp;lt;5)  -  money, +&lt;br /&gt;
  64   (1&amp;lt;&amp;lt;6)  -  crosshair&lt;br /&gt;
 128   (1&amp;lt;&amp;lt;7)  -  +&lt;br /&gt;
Symbol + mean that an additional crosshair will be drawn. That crosshair looks exactly like the one from Crosshair message.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|HideWeapon|byte}}&lt;br /&gt;
{{hl1msg|byte|Flags}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= HLTV =&lt;br /&gt;
Message sent for HLTV and unique for each round-start.&amp;lt;br&amp;gt;&lt;br /&gt;
On new round is fired 2 messages:&lt;br /&gt;
 // reset all players health for HLTV&lt;br /&gt;
 MESSAGE_BEGIN( MSG_SPEC, gmsgHLTV );&lt;br /&gt;
 WRITE_BYTE( 0 );   // 0 = all players&lt;br /&gt;
 WRITE_BYTE( 100 | 128 );&lt;br /&gt;
 MESSAGE_END();&amp;lt;br&amp;gt;&lt;br /&gt;
 // reset all players FOV for HLTV&lt;br /&gt;
 MESSAGE_BEGIN( MSG_SPEC, gmsgHLTV );&lt;br /&gt;
 WRITE_BYTE( 0 );   // all players&lt;br /&gt;
 WRITE_BYTE( 0 );&lt;br /&gt;
 MESSAGE_END();&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|HLTV|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|ClientID}}&lt;br /&gt;
{{hl1msg|byte|Flags}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= HostageK =&lt;br /&gt;
Temporarily draws a blinking red dot on the CT players' radar when a hostage is killed.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|HostageK|byte}}&lt;br /&gt;
{{hl1msg|byte|HostageID}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= HostagePos =&lt;br /&gt;
Draws/updates the blue mark on the CT players' radar which is indicate the corresponding hostage position.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Is called with Flag set to 1 on player [[HUD]] full update.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|HostagePos|byte, byte, coord, coord, coord}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{hl1msg|byte|HostageID}}&lt;br /&gt;
{{hl1msg|coord|CoordX}}&lt;br /&gt;
{{hl1msg|coord|CoordY}}&lt;br /&gt;
{{hl1msg|coord|CoordZ}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= HudText =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= HudTextArgs =&lt;br /&gt;
Prints [[HUD]] text.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|An example of TextCode could be &amp;quot;#Hint_you_have_the_bomb&amp;quot;.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|If you have a problems with specifing the last two arguments use 1 and 0 respectively.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|HudTextArgs|string, byte, byte}}&lt;br /&gt;
{{hl1msg|string|TextCode}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= HudTextPro =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= InitHUD =&lt;br /&gt;
Initializes the [[HUD]].&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|InitHUD}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ItemPickup =&lt;br /&gt;
Temporarily draws correspoding item [[HUD]] icon in the middle of the right side of the screen.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Draw time is depend on the ''hud_drawhistory_time'' client CVar value.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ItemPickup|string}}&lt;br /&gt;
{{hl1msg|string|ItemName}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ItemStatus =&lt;br /&gt;
Notifies about carried items.&amp;lt;br&amp;gt;&lt;br /&gt;
Example of some item bits:&lt;br /&gt;
 1   (1&amp;lt;&amp;lt;0)  -  nightvision goggles&lt;br /&gt;
 2   (1&amp;lt;&amp;lt;1)  -  defusal kit&lt;br /&gt;
{{begin-hl1msg|ItemStatus|byte}}&lt;br /&gt;
{{hl1msg|byte|ItemsBitSum}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Location =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Location|byte, string}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{hl1msg|string|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Money =&lt;br /&gt;
Updates the Amount of money on the [[HUD]]. If the Flag is 1, the additional new-old [[HUD]] money amount difference will be also displayed.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Money|long, byte}}&lt;br /&gt;
{{hl1msg|long|Amount}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= MOTD =&lt;br /&gt;
Displays MOTD window.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Max. Text length is 60. Large MOTD is sent in multiple messages. For the message that is send a last MOTD part the Flag will be set to 1 and 0 otherwise.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|MOTD|byte, string}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{hl1msg|string|Text}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= NVGToggle =&lt;br /&gt;
Toggles night vision mode. For Flag: 1 is on, 0 is off.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|NVGToggle|byte}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Radar =&lt;br /&gt;
Draws/updates the dot on the [[HUD]] radar which is indicate the given player position.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Works for teammates only.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Radar|byte, coord, coord, coord}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{hl1msg|coord|CoordX}}&lt;br /&gt;
{{hl1msg|coord|CoordY}}&lt;br /&gt;
{{hl1msg|coord|CoordZ}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ReceiveW =&lt;br /&gt;
Tell the client which visual weather effect to be executed client side, if cl_weather client cvar is above 0.&amp;lt;br&amp;gt;&lt;br /&gt;
Main part of CBasePlayer::SendWeatherInfo() function that is sent inCBasePlayer :: UpdateClientData() when player offset m_fInitHUD is 1 (right after putinserver or after fullupdate command)&amp;lt;br&amp;gt;&lt;br /&gt;
Mode : 1 is for rain effect, 2 is for snow effect&amp;lt;br&amp;gt;&lt;br /&gt;
Though mode 0 is never sent by the game itself, removes weather effect&amp;lt;br&amp;gt;&lt;br /&gt;
Alternatively send mode 1 and mode 2 with judicious delays (time for effect to disappear) make both rain and snow effect&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ReceiveW|byte}}&lt;br /&gt;
{{hl1msg|byte|mode}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ReloadSound =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ReloadSound|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ReqState =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ReqState}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ResetHUD =&lt;br /&gt;
Resets the [[HUD]].&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ResetHUD}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= RoundTime =&lt;br /&gt;
Updates the round timer on the [[HUD]]. Time is in seconds.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|RoundTime|short}}&lt;br /&gt;
{{hl1msg|short|Time}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SayText =&lt;br /&gt;
Prints say [[HUD]] text. Second argument can be a predefined string or a custom one. In the last case the last two arguments isn't required.&amp;lt;br&amp;gt;&lt;br /&gt;
An examples of a predifined Counter-Strike string values: #Cstrike_Chat_AllDead, #Cstrike_Name_Change&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|For #Cstrike_Name_Change String2 is an old name and String3 is a new name.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|SayText|byte, string, string, string}}&lt;br /&gt;
{{hl1msg|byte|SenderID}}&lt;br /&gt;
{{hl1msg|string|String1}}&lt;br /&gt;
{{hl1msg|string|String2}}&lt;br /&gt;
{{hl1msg|string|String3}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Scenario =&lt;br /&gt;
If Active is 0, this display will be hidden. If Active is 1, 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.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|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.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[image:Cs_scenario_msg.jpg|frame|right|Scenario message in CS, using the following parameters: 1, d_mp5navy, 150]]&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Works in both CS and CZ!}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|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.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Scenario|byte, string, byte, short, short}}&lt;br /&gt;
{{hl1msg|byte|Active}}&lt;br /&gt;
{{hl1msg|string|Sprite}}&lt;br /&gt;
{{hl1msg|byte|Alpha}}&lt;br /&gt;
{{hl1msg|short|FlashRate}}&lt;br /&gt;
{{hl1msg|short|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ScoreAttrib =&lt;br /&gt;
Updates the scoreboard's attribute for the specified player. For the 2nd argument, 0 is nothing, (1&amp;lt;&amp;lt;0) i.e. 1 is dead, (1&amp;lt;&amp;lt;1) i.e. 2 is bomb, (1&amp;lt;&amp;lt;2) i.e. 4 is VIP.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|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.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ScoreAttrib|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{hl1msg|byte|Flags}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ScoreInfo =&lt;br /&gt;
Updates the scoreboard with the given player's Frags and Deaths.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|In CS the 4th argument is always equal to 0.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*See [http://www.amxmodx.org/funcwiki.php?go=module&amp;amp;id=4#const_teams CS Team Constants] for team indeces constants list.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ScoreInfo|byte, short, short, short, short}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{hl1msg|short|Frags}}&lt;br /&gt;
{{hl1msg|short|Deaths}}&lt;br /&gt;
{{hl1msg|short|ClassID?}}&lt;br /&gt;
{{hl1msg|short|TeamID}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ScreenFade =&lt;br /&gt;
Fades the screen.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Duration and HoldTime is in special units. 1 second is equal to (1&amp;lt;&amp;lt;12) i.e. 4096 units.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Flags (from HLSDK):&lt;br /&gt;
 FFADE_IN         0x0000 // Just here so we don't pass 0 into the function&lt;br /&gt;
 FFADE_OUT        0x0001 // Fade out (not in)&lt;br /&gt;
 FFADE_MODULATE   0x0002 // Modulate (don't blend)&lt;br /&gt;
 FFADE_STAYOUT    0x0004 // ignores the duration, stays faded out until new ScreenFade message received&lt;br /&gt;
{{begin-hl1msg|ScreenFade|short, short, short, byte, byte, byte, byte}}&lt;br /&gt;
{{hl1msg|short|Duration}}&lt;br /&gt;
{{hl1msg|short|HoldTime}}&lt;br /&gt;
{{hl1msg|short|Flags}}&lt;br /&gt;
{{hl1msg|byte|ColorR}}&lt;br /&gt;
{{hl1msg|byte|ColorG}}&lt;br /&gt;
{{hl1msg|byte|ColorB}}&lt;br /&gt;
{{hl1msg|byte|Alpha}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ScreenShake =&lt;br /&gt;
Shakes the screen.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|All arguments is in special units. 1 second is equal to (1&amp;lt;&amp;lt;12) i.e. 4096 units.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ScreenShake|short, short, short}}&lt;br /&gt;
{{hl1msg|short|Amplitude}}&lt;br /&gt;
{{hl1msg|short|Duration}}&lt;br /&gt;
{{hl1msg|short|Frequency}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SendAudio =&lt;br /&gt;
Plays the specified audio. An example of AudioCode could be &amp;quot;%!MRAD_rounddraw&amp;quot;.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|SendAudio|byte, string, short}}&lt;br /&gt;
{{hl1msg|byte|SenderID}}&lt;br /&gt;
{{hl1msg|string|AudioCode}}&lt;br /&gt;
{{hl1msg|short|Pitch}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ServerName =&lt;br /&gt;
Sends a server name to a client.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ServerName|string}}&lt;br /&gt;
{{hl1msg|string|ServerName}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SetFOV =&lt;br /&gt;
Sets the specified field of view.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|SetFOV|byte}}&lt;br /&gt;
{{hl1msg|byte|Degrees}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ShadowIdx =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ShadowIdx|long}}&lt;br /&gt;
{{hl1msg|long|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ShowMenu =&lt;br /&gt;
Displays a &amp;quot;menu&amp;quot; to a player (text on the left side of the screen). Acts like AMXX's show_menu (in fact, this is how AMXX shows a menu).&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|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.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ShowMenu|short, char, byte, string}}&lt;br /&gt;
{{hl1msg|short|KeysBitSum}}&lt;br /&gt;
{{hl1msg|char|Time}}&lt;br /&gt;
{{hl1msg|byte|Multipart}}&lt;br /&gt;
{{hl1msg|string|Text}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ShowTimer =&lt;br /&gt;
Forces the round timer displaying.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ShowTimer}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SpecHealth =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|SpecHealth|byte}}&lt;br /&gt;
{{hl1msg|byte|Health?}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SpecHealth2 =&lt;br /&gt;
Updates the observer's screen with a name and health of the given player.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|SpecHealth2|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|Health}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Spectator =&lt;br /&gt;
Called when player becomes an observer/spectator.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|On join to Spectators usually is fired twice in a row.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Spectator|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|ClientID}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= StatusIcon =&lt;br /&gt;
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 is required only if Status aren't equal to 0.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|StatusIcon|byte, string, byte, byte, byte}}&lt;br /&gt;
{{hl1msg|byte|Status}}&lt;br /&gt;
{{hl1msg|string|SpriteName}}&lt;br /&gt;
{{hl1msg|byte|ColorR}}&lt;br /&gt;
{{hl1msg|byte|ColorG}}&lt;br /&gt;
{{hl1msg|byte|ColorB}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= StatusValue =&lt;br /&gt;
Sends/updates the status values. For the Flag 1 the Value is TeamRelation, for 2 is PlayerID, for 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.&amp;lt;br&amp;gt;&lt;br /&gt;
Usually is fired as a triple message, for example:&lt;br /&gt;
 {1,  2}  -  non-teammate player&lt;br /&gt;
 {2, 17}  -  player index is 17&lt;br /&gt;
 {3, 59}  -  player health is 59&lt;br /&gt;
{{begin-hl1msg|StatusValue|byte, short}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{hl1msg|short|Value}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= StatusText =&lt;br /&gt;
Specifies the status text format.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|StatusText|byte, string}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{hl1msg|string|Text}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TaskTime =&lt;br /&gt;
Displays a secondary timer above the round timer. Used for Condition Zero singleplayer missions.&amp;lt;br&amp;gt;&lt;br /&gt;
If Time is -1, timer dissappears. If Time is any other negative value, it is displayed as green instead of yellow, and considered positive.&amp;lt;br&amp;gt;&lt;br /&gt;
If Active is true, timer counts down. Otherwise, it is paused.&amp;lt;br&amp;gt;If Fade is above zero, the timer will slowly fade out after that many seconds have passed (even if the timer is inactive).&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This event can only be used on missions that have an objective requiring a secondary timer!}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|TaskTime|short, byte, byte}}&lt;br /&gt;
{{hl1msg|short|Time}}&lt;br /&gt;
{{hl1msg|byte|Active}}&lt;br /&gt;
{{hl1msg|byte|Fade}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TeamInfo =&lt;br /&gt;
Sets the team information for the given player.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|In CS TeamName is either &amp;quot;UNASSIGNED&amp;quot;, &amp;quot;TERRORIST&amp;quot;, &amp;quot;CT&amp;quot; or &amp;quot;SPECTATOR&amp;quot;.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|TeamInfo|byte, string}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{hl1msg|string|TeamName}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TeamScore =&lt;br /&gt;
Updates the team score on the score board.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|In CS TeamName is either &amp;quot;TERRORIST&amp;quot; or &amp;quot;CT&amp;quot;.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|TeamScore|string, short}}&lt;br /&gt;
{{hl1msg|string|TeamName}}&lt;br /&gt;
{{hl1msg|short|Score}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TextMsg =&lt;br /&gt;
Prints a cutom/or predefined text message.&amp;lt;br&amp;gt;&lt;br /&gt;
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:&lt;br /&gt;
 Arg1: 1&lt;br /&gt;
 Arg2: #Game_join_ct&lt;br /&gt;
 Arg3: Pimp Daddy&lt;br /&gt;
{{begin-hl1msg|TextMsg|byte, string, string, string, string, string}}&lt;br /&gt;
{{hl1msg|byte|DestinationType}}&lt;br /&gt;
{{hl1msg|string|Message}}&lt;br /&gt;
{{hl1msg|string|Submsg}}&lt;br /&gt;
{{hl1msg|string|Submsg}}&lt;br /&gt;
{{hl1msg|string|Submsg}}&lt;br /&gt;
{{hl1msg|string|Submsg}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Train =&lt;br /&gt;
Displays the speed bar used for controlling a train.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Speed is as follows: 0 (disable display), 1 (reverse), 2 (neutral), 3 (slow speed), 4 (medium speed), 5 (maximum speed)}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Train|byte}}&lt;br /&gt;
{{hl1msg|byte|Speed}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TutorClose =&lt;br /&gt;
Closes all CZ-style tutor popups.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= TutorLine =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= TutorState =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= TutorText =&lt;br /&gt;
Used to display a CZ-style tutor popup.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|TutorText|string, byte, short, short, short}}&lt;br /&gt;
{{hl1msg|string|Unknown}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{hl1msg|short|Unknown}}&lt;br /&gt;
{{hl1msg|short|Unknown}}&lt;br /&gt;
{{hl1msg|short|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ViewMode =&lt;br /&gt;
{{qnotice|No Information available for this message (HLSDK says this switches to first-person view, but it doesn't seem to function as so).}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ViewMode}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= VGUIMenu =&lt;br /&gt;
Displays a predefined VGUI menu.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|VGUIMenu|byte, short, char, byte, string}}&lt;br /&gt;
{{hl1msg|byte|MenuID}}&lt;br /&gt;
{{hl1msg|short|KeysBitSum}}&lt;br /&gt;
{{hl1msg|char|Time?}}&lt;br /&gt;
{{hl1msg|byte|Multipart?}}&lt;br /&gt;
{{hl1msg|string|Name?}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= VoiceMask =&lt;br /&gt;
Used to tell a client who he can hear over the microphone.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|VoiceMask|long, long}}&lt;br /&gt;
{{hl1msg|long|AudiblePlayersIndexBitSum}}&lt;br /&gt;
{{hl1msg|long|ServerBannedPlayersIndexBitSum}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= WeaponList =&lt;br /&gt;
Configures the [[HUD]] weapons list.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Fired on map initialization.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|SlotID starts from 0.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Flags (from HLSDK):&lt;br /&gt;
 ITEM_FLAG_SELECTONEMPTY       1&lt;br /&gt;
 ITEM_FLAG_NOAUTORELOAD        2&lt;br /&gt;
 ITEM_FLAG_NOAUTOSWITCHEMPTY   4&lt;br /&gt;
 ITEM_FLAG_LIMITINWORLD        8&lt;br /&gt;
 ITEM_FLAG_EXHAUSTIBLE        16 // A player can totally exhaust their ammo supply and lose this weapon.&lt;br /&gt;
{{qnotice|See [[CS Weapons Information]] for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|WeaponList|string, byte, byte, byte, byte, byte, byte, byte, byte}}&lt;br /&gt;
{{hl1msg|string|WeaponName}}&lt;br /&gt;
{{hl1msg|byte|PrimaryAmmoID}}&lt;br /&gt;
{{hl1msg|byte|PrimaryAmmoMaxAmount}}&lt;br /&gt;
{{hl1msg|byte|SecondaryAmmoID}}&lt;br /&gt;
{{hl1msg|byte|SecondaryAmmoMaxAmount}}&lt;br /&gt;
{{hl1msg|byte|SlotID}}&lt;br /&gt;
{{hl1msg|byte|NumberInSlot}}&lt;br /&gt;
{{hl1msg|byte|WeaponID}}&lt;br /&gt;
{{hl1msg|byte|Flags}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= WeapPickup =&lt;br /&gt;
Temporarily draws correspoding weapon [[HUD]] icon in the middle of the right side of the screen.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Draw time is depend on the ''hud_drawhistory_time'' client CVar value.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Is fired right before weapon is picked up (notice ''&amp;quot;before&amp;quot;'').}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|See [[CS Weapons Information]] for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|WeapPickup|byte}}&lt;br /&gt;
{{hl1msg|byte|WeaponID}}&lt;br /&gt;
{{end-hl1msg}}&lt;/div&gt;</summary>
		<author><name>ConnorMcLeod</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.alliedmods.net/index.php?title=Half-Life_1_Game_Events&amp;diff=7889</id>
		<title>Half-Life 1 Game Events</title>
		<link rel="alternate" type="text/html" href="https://wiki.alliedmods.net/index.php?title=Half-Life_1_Game_Events&amp;diff=7889"/>
		<updated>2010-11-20T11:14:33Z</updated>

		<summary type="html">&lt;p&gt;ConnorMcLeod: /* ReceiveW */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Half-Life 1]]&lt;br /&gt;
[[Category:Scripting (AMX Mod X)]]&lt;br /&gt;
&lt;br /&gt;
= Introduction =&lt;br /&gt;
&lt;br /&gt;
In [[AMX Mod X]] you are able to hook in-game messages/events with [http://www.amxmodx.org/funcwiki.php?search=register_message&amp;amp;go=search register_message] / [http://www.amxmodx.org/funcwiki.php?go=func&amp;amp;id=26 register_event]. Here are the list of messages/events and their arguments which can be read with [http://www.amxmodx.org/funcwiki.php?search=get_msg_arg_&amp;amp;go=search get_msg_arg_*] / [http://www.amxmodx.org/funcwiki.php?go=func&amp;amp;id=132 read_data].&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
*See the [[Advanced Scripting (AMX Mod X)#Events.2FMessages|Advanced Scripting]] article for more on events and messages.&amp;lt;br&amp;gt;&lt;br /&gt;
*See messages.inc and message_const.inc from amxmodx/scriptong/include folder or [http://www.amxmodx.org/funcwiki.php?go=inc&amp;amp;id=47 Messaging functions] and [http://www.amxmodx.org/funcwiki.php?go=inc&amp;amp;id=48 Message constants] for full messages control including blocking, argument alteration and much more.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= ADStop =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ADStop}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= AllowSpec =&lt;br /&gt;
Changes whether or not &amp;quot;SPECTATE&amp;quot; appears on the change team menu. Called whenever the allow_spectators CVar is changed, with its new value sent as the byte.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This changes how the change team menu appears, but spectating functionality is based off of the actual CVar value.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|AllowSpec|byte}}&lt;br /&gt;
{{hl1msg|byte|Allowed}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= AmmoPickup =&lt;br /&gt;
Temporarily draws [[HUD]] ammo amount and correspoding ammo [[HUD]] icon in the middle of the right side of the screen.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Draw time is depend on the ''hud_drawhistory_time'' client CVar value.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|See [[CS Weapons Information]] for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|AmmoPickup|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|AmmoID}}&lt;br /&gt;
{{hl1msg|byte|Ammount}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= AmmoX =&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|See [[CS Weapons Information]] for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|AmmoX|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|AmmoID}}&lt;br /&gt;
{{hl1msg|byte|Ammount}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ArmorType =&lt;br /&gt;
Draws/removes helmet [[HUD]] icon. If flag is set to 1 the helmet [[HUD]] icon will be drawn (located right on the armor icon).&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ArmorType|byte}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BarTime =&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Set Duration to 0 to hide the bar.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|BarTime|short}}&lt;br /&gt;
{{hl1msg|short|Duration}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BarTime2 =&lt;br /&gt;
The same as BarTime but StartPercents is specify how many per cents of the bar are (already) filled.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Display time can be calculated with this formula: ''(1 - (StartPercents / 100)) / Duration''}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|BarTime2|short, short}}&lt;br /&gt;
{{hl1msg|short|Duration}}&lt;br /&gt;
{{hl1msg|short|StartPercents}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Battery =&lt;br /&gt;
Updates the icon and the number of armor on the [[HUD]].&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Battery|short}}&lt;br /&gt;
{{hl1msg|short|Armor}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BlinkAcct =&lt;br /&gt;
Makes a player's money display flash rapidly, until it flashes a total of BlinkAmt times.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|BlinkAcct|byte}}&lt;br /&gt;
{{hl1msg|byte|BlinkAmt}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BombDrop =&lt;br /&gt;
The first three arguments are the origin of the dropped bomb. The last argument is set to 1 if the bomb has been planted. It is 0 if the bomb was dropped due to voluntary dropping or death/disconnect. Setting the last argument 1, will also 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.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|BombDrop|coord, coord, coord, byte}}&lt;br /&gt;
{{hl1msg|coord|CoordX}}&lt;br /&gt;
{{hl1msg|coord|CoordY}}&lt;br /&gt;
{{hl1msg|coord|CoordZ}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BombPickup =&lt;br /&gt;
This message just tells the game that the bomb has been picked up. It will cause the dropped/planted bomb to disappear from the Terrorist team's radar.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|BombPickup}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BotProgress =&lt;br /&gt;
Used by CZ's bots when learning a new map. 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.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|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.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|BotProgress|byte, byte, string}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{hl1msg|byte|Progress}}&lt;br /&gt;
{{hl1msg|string|Header}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BotVoice =&lt;br /&gt;
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 by regular players, although you &amp;lt;i&amp;gt;can&amp;lt;/i&amp;gt; specify a regular player (non-bot) for the PlayerIndex. Status is 1 for talking, or 0 for not talking.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|BotVoice|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|Status}}&lt;br /&gt;
{{hl1msg|byte|PlayerIndex}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Brass =&lt;br /&gt;
Creates a brass shell. Used, for example, by the AWP, after firing.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Brass|byte, coord, coord, coord, coord, coord, coord, coord, coord, coord, angle, short, byte, byte, byte}}&lt;br /&gt;
{{hl1msg|byte|MessageID}}&lt;br /&gt;
{{hl1msg|coord|StartX}}&lt;br /&gt;
{{hl1msg|coord|StartY}}&lt;br /&gt;
{{hl1msg|coord|StartZ}}&lt;br /&gt;
{{hl1msg|coord|VelocityX?}}&lt;br /&gt;
{{hl1msg|coord|VelocityY?}}&lt;br /&gt;
{{hl1msg|coord|VelocityZ?}}&lt;br /&gt;
{{hl1msg|coord|UnknownX}}&lt;br /&gt;
{{hl1msg|coord|UnknownY}}&lt;br /&gt;
{{hl1msg|coord|UnknownZ}}&lt;br /&gt;
{{hl1msg|angle|Rotation}}&lt;br /&gt;
{{hl1msg|short|ModelIndex}}&lt;br /&gt;
{{hl1msg|byte|BounceSoundType}}&lt;br /&gt;
{{hl1msg|byte|Life}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BuyClose =&lt;br /&gt;
Forces the buy menu to close. This is not called when the player closes the buy menu by himself; it's only called when the game forces him to do so (ie: he walks outside of the buy zone, gets killed, etcetera).&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|BuyClose}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ClCorpse =&lt;br /&gt;
Spawns a player's corpse. ModelName is the player's model name, for example: &amp;quot;leet&amp;quot;. Delay is a delay before animation plaback, can be negative value.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Coord and Delay is multiplied by 128.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|In CS argument #10 is always equal to 0.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*See [http://www.amxmodx.org/funcwiki.php?go=module&amp;amp;id=4#const_teams CS Team Constants] for team indeces constants list.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ClCorpse|string, long, long, long, coord, coord, coord, long, byte, byte, byte, byte}}&lt;br /&gt;
{{hl1msg|string|ModelName}}&lt;br /&gt;
{{hl1msg|long|CoordX}}&lt;br /&gt;
{{hl1msg|long|CoordY}}&lt;br /&gt;
{{hl1msg|long|CoordZ}}&lt;br /&gt;
{{hl1msg|coord|Angle0}}&lt;br /&gt;
{{hl1msg|coord|Angle1}}&lt;br /&gt;
{{hl1msg|coord|Angle2}}&lt;br /&gt;
{{hl1msg|long|Delay}}&lt;br /&gt;
{{hl1msg|byte|Sequence}}&lt;br /&gt;
{{hl1msg|byte|ClassID?}}&lt;br /&gt;
{{hl1msg|byte|TeamID}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Crosshair =&lt;br /&gt;
Draws/removes a crosshair. If Flag is set to 1 the crosshair will be drawn.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This crossair looks not like the regular one but like the one that is drawn in the spectator mode.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Crosshair|byte}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= CurWeapon =&lt;br /&gt;
Updates the clip ammo number and weapon's corresponding ammo type icon on the [[HUD]].&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|See [[CS Weapons Information]] for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|CurWeapon|byte, byte, byte}}&lt;br /&gt;
{{hl1msg|byte|IsActive}}&lt;br /&gt;
{{hl1msg|byte|WeaponID}}&lt;br /&gt;
{{hl1msg|byte|ClipAmmo}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= CZCareer =&lt;br /&gt;
Supplies certain updates to the player regarding Condition Zero singleplayer missions.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|See the [[CZCareer]] page for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|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).}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|The Type argument is case-sensitive.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This event does nothing in CS and CZ multiplayer.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|CZCareer|string,*}}&lt;br /&gt;
{{hl1msg|string|Type}}&lt;br /&gt;
{{hl1msg|*|Parameters}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= CZCareerHUD =&lt;br /&gt;
Displays certain [[HUD]] elements regarding Condition Zero singleplayer missions.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|See the [[CZCareerHUD]] page for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|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).}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|The Type argument is case-sensitive.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This event has some limited functionality in CS and CZ multiplayer (albeit better in CZ).}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|CZCareerHUD|string,*}}&lt;br /&gt;
{{hl1msg|string|Type}}&lt;br /&gt;
{{hl1msg|*|Parameters}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Damage =&lt;br /&gt;
Called when a player takes damage, to display the red locational indicators. The last three arguments is the origin of the damage inflictor or victim origin if inflictor isn't found. DamageType is a bitwise value usually consist of a single bit.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|To caputure this message,you should use &amp;quot;b&amp;quot; as the third parameter in the register_event() function.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Damage|byte, byte, long, coord, coord, coord}}&lt;br /&gt;
{{hl1msg|byte|DamageSave}}&lt;br /&gt;
{{hl1msg|byte|DamageTake}}&lt;br /&gt;
{{hl1msg|long|DamageType}}&lt;br /&gt;
{{hl1msg|coord|CoordX}}&lt;br /&gt;
{{hl1msg|coord|CoordY}}&lt;br /&gt;
{{hl1msg|coord|CoordZ}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= DeathMsg =&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
Also prints the console text message &amp;quot;KillerName killed VictimName with TruncatedWeaponName&amp;quot; or &amp;quot;*** KillerName killed VictimName with a headshot from TruncatedWeaponName ***&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|TruncatedWeaponName doesn't contain a &amp;quot;weapon_&amp;quot; prefix. See [[CS Weapons Information]] for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|For grenade kill TruncatedWeaponName isn't &amp;quot;hegrenade&amp;quot; but &amp;quot;grenade&amp;quot;, in fact it's an actual classname of a throwed grenade.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|For KillerID it's not necessarily should be a PlayerID, it could be 0 if player dies from fall/acid/radiation/fire/etc damage/lack of oxygen or from touch to a &amp;quot;trigger_hurt&amp;quot; entity, in this case TruncatedWeaponName will be &amp;quot;worldspawn&amp;quot; and &amp;quot;trigger_hurt&amp;quot; respectively.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|For vehicle kills TruncatedWeaponName could be &amp;quot;vehicle&amp;quot;, &amp;quot;tank&amp;quot; et cetera.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|DeathMsg|byte, byte, byte, string}}&lt;br /&gt;
{{hl1msg|byte|KillerID}}&lt;br /&gt;
{{hl1msg|byte|VictimID}}&lt;br /&gt;
{{hl1msg|byte|IsHeadshot}}&lt;br /&gt;
{{hl1msg|string|TruncatedWeaponName}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= FlashBat =&lt;br /&gt;
Updates the flashlight battery charge on the [[HUD]].&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|FlashBat|byte}}&lt;br /&gt;
{{hl1msg|byte|ChargePercents}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Flashlight =&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Flashlight|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{hl1msg|byte|ChargePercents}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Fog =&lt;br /&gt;
{{qnotice|mp_Fog 1 for fog in counter-strike}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|Fog|byte, byte, byte}}&lt;br /&gt;
{{hl1msg|byte|FogValue}}&lt;br /&gt;
{{hl1msg|byte|FogValue}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ForceCam =&lt;br /&gt;
Called whenever mp_forcecam or mp_forcechasecam are changed, with their new values passed. There is assumedly a third CVar that this tracks, but it is yet unknown. Note that this message doesn't actually change any of the spectating rules for the client.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Even if mp_forcechasecam is set to 2, it is sent by this message as 1.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ForceCam|byte, byte, byte}}&lt;br /&gt;
{{hl1msg|byte|ForcecamValue}}&lt;br /&gt;
{{hl1msg|byte|ForcechasecamValue}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= GameMode =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|GameMode|byte}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= GameTitle =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Geiger =&lt;br /&gt;
Notifies about radiation level through special sound signals. Distance is a distance to hazard area.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Geiger|byte}}&lt;br /&gt;
{{hl1msg|byte|Distance}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Health =&lt;br /&gt;
Updates the number of health on the [[HUD]].&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Health|byte}}&lt;br /&gt;
{{hl1msg|byte|Health}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= HideWeapon =&lt;br /&gt;
Hides the specified [[HUD]] elements.&amp;lt;br&amp;gt;&lt;br /&gt;
Flags:&lt;br /&gt;
   1   (1&amp;lt;&amp;lt;0)  -  crosshair, ammo, weapons list&lt;br /&gt;
   2   (1&amp;lt;&amp;lt;1)  -  flashlight, +&lt;br /&gt;
   4   (1&amp;lt;&amp;lt;2)  -  ALL&lt;br /&gt;
   8   (1&amp;lt;&amp;lt;3)  -  radar, health, armor, +&lt;br /&gt;
  16   (1&amp;lt;&amp;lt;4)  -  timer, +&lt;br /&gt;
  32   (1&amp;lt;&amp;lt;5)  -  money, +&lt;br /&gt;
  64   (1&amp;lt;&amp;lt;6)  -  crosshair&lt;br /&gt;
 128   (1&amp;lt;&amp;lt;7)  -  +&lt;br /&gt;
Symbol + mean that an additional crosshair will be drawn. That crosshair looks exactly like the one from Crosshair message.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|HideWeapon|byte}}&lt;br /&gt;
{{hl1msg|byte|Flags}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= HLTV =&lt;br /&gt;
Message sent for HLTV and unique for each round-start.&amp;lt;br&amp;gt;&lt;br /&gt;
On new round is fired 2 messages:&lt;br /&gt;
 // reset all players health for HLTV&lt;br /&gt;
 MESSAGE_BEGIN( MSG_SPEC, gmsgHLTV );&lt;br /&gt;
 WRITE_BYTE( 0 );   // 0 = all players&lt;br /&gt;
 WRITE_BYTE( 100 | 128 );&lt;br /&gt;
 MESSAGE_END();&amp;lt;br&amp;gt;&lt;br /&gt;
 // reset all players FOV for HLTV&lt;br /&gt;
 MESSAGE_BEGIN( MSG_SPEC, gmsgHLTV );&lt;br /&gt;
 WRITE_BYTE( 0 );   // all players&lt;br /&gt;
 WRITE_BYTE( 0 );&lt;br /&gt;
 MESSAGE_END();&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|HLTV|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|ClientID}}&lt;br /&gt;
{{hl1msg|byte|Flags}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= HostageK =&lt;br /&gt;
Temporarily draws a blinking red dot on the CT players' radar when a hostage is killed.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|HostageK|byte}}&lt;br /&gt;
{{hl1msg|byte|HostageID}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= HostagePos =&lt;br /&gt;
Draws/updates the blue mark on the CT players' radar which is indicate the corresponding hostage position.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Is called with Flag set to 1 on player [[HUD]] full update.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|HostagePos|byte, byte, coord, coord, coord}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{hl1msg|byte|HostageID}}&lt;br /&gt;
{{hl1msg|coord|CoordX}}&lt;br /&gt;
{{hl1msg|coord|CoordY}}&lt;br /&gt;
{{hl1msg|coord|CoordZ}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= HudText =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= HudTextArgs =&lt;br /&gt;
Prints [[HUD]] text.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|An example of TextCode could be &amp;quot;#Hint_you_have_the_bomb&amp;quot;.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|If you have a problems with specifing the last two arguments use 1 and 0 respectively.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|HudTextArgs|string, byte, byte}}&lt;br /&gt;
{{hl1msg|string|TextCode}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= HudTextPro =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= InitHUD =&lt;br /&gt;
Initializes the [[HUD]].&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|InitHUD}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ItemPickup =&lt;br /&gt;
Temporarily draws correspoding item [[HUD]] icon in the middle of the right side of the screen.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Draw time is depend on the ''hud_drawhistory_time'' client CVar value.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ItemPickup|string}}&lt;br /&gt;
{{hl1msg|string|ItemName}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ItemStatus =&lt;br /&gt;
Notifies about carried items.&amp;lt;br&amp;gt;&lt;br /&gt;
Example of some item bits:&lt;br /&gt;
 1   (1&amp;lt;&amp;lt;0)  -  nightvision goggles&lt;br /&gt;
 2   (1&amp;lt;&amp;lt;1)  -  defusal kit&lt;br /&gt;
{{begin-hl1msg|ItemStatus|byte}}&lt;br /&gt;
{{hl1msg|byte|ItemsBitSum}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Location =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Location|byte, string}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{hl1msg|string|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Money =&lt;br /&gt;
Updates the Amount of money on the [[HUD]]. If the Flag is 1, the additional new-old [[HUD]] money amount difference will be also displayed.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Money|long, byte}}&lt;br /&gt;
{{hl1msg|long|Amount}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= MOTD =&lt;br /&gt;
Displays MOTD window.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Max. Text length is 60. Large MOTD is sent in multiple messages. For the message that is send a last MOTD part the Flag will be set to 1 and 0 otherwise.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|MOTD|byte, string}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{hl1msg|string|Text}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= NVGToggle =&lt;br /&gt;
Toggles night vision mode. For Flag: 1 is on, 0 is off.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|NVGToggle|byte}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Radar =&lt;br /&gt;
Draws/updates the dot on the [[HUD]] radar which is indicate the given player position.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Works for teammates only.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Radar|byte, coord, coord, coord}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{hl1msg|coord|CoordX}}&lt;br /&gt;
{{hl1msg|coord|CoordY}}&lt;br /&gt;
{{hl1msg|coord|CoordZ}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ReceiveW =&lt;br /&gt;
Tell the client which visual weather effect to be executed client side, if cl_weather client cvar is above 0.&amp;lt;br&amp;gt;&lt;br /&gt;
Sent from CBasePlayer::SendWeatherInfo() at very first CBasePlayer :: UpdateClientData()&amp;lt;br&amp;gt;&lt;br /&gt;
Mode : 1 is for rain effect, 2 is for snow effect&amp;lt;br&amp;gt;&lt;br /&gt;
Though mode 0 is never sent by the game itself, removes weather effect&amp;lt;br&amp;gt;&lt;br /&gt;
Alternatively send mode 1 and mode 2 with judicious delays (time for effect to disappear) make both rain and snow effect&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ReceiveW|byte}}&lt;br /&gt;
{{hl1msg|byte|mode}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ReloadSound =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ReloadSound|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ReqState =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ReqState}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ResetHUD =&lt;br /&gt;
Resets the [[HUD]].&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ResetHUD}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= RoundTime =&lt;br /&gt;
Updates the round timer on the [[HUD]]. Time is in seconds.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|RoundTime|short}}&lt;br /&gt;
{{hl1msg|short|Time}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SayText =&lt;br /&gt;
Prints say [[HUD]] text. Second argument can be a predefined string or a custom one. In the last case the last two arguments isn't required.&amp;lt;br&amp;gt;&lt;br /&gt;
An examples of a predifined Counter-Strike string values: #Cstrike_Chat_AllDead, #Cstrike_Name_Change&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|For #Cstrike_Name_Change String2 is an old name and String3 is a new name.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|SayText|byte, string, string, string}}&lt;br /&gt;
{{hl1msg|byte|SenderID}}&lt;br /&gt;
{{hl1msg|string|String1}}&lt;br /&gt;
{{hl1msg|string|String2}}&lt;br /&gt;
{{hl1msg|string|String3}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Scenario =&lt;br /&gt;
If Active is 0, this display will be hidden. If Active is 1, 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.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|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.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[image:Cs_scenario_msg.jpg|frame|right|Scenario message in CS, using the following parameters: 1, d_mp5navy, 150]]&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Works in both CS and CZ!}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|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.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Scenario|byte, string, byte, short, short}}&lt;br /&gt;
{{hl1msg|byte|Active}}&lt;br /&gt;
{{hl1msg|string|Sprite}}&lt;br /&gt;
{{hl1msg|byte|Alpha}}&lt;br /&gt;
{{hl1msg|short|FlashRate}}&lt;br /&gt;
{{hl1msg|short|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ScoreAttrib =&lt;br /&gt;
Updates the scoreboard's attribute for the specified player. For the 2nd argument, 0 is nothing, (1&amp;lt;&amp;lt;0) i.e. 1 is dead, (1&amp;lt;&amp;lt;1) i.e. 2 is bomb, (1&amp;lt;&amp;lt;2) i.e. 4 is VIP.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|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.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ScoreAttrib|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{hl1msg|byte|Flags}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ScoreInfo =&lt;br /&gt;
Updates the scoreboard with the given player's Frags and Deaths.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|In CS the 4th argument is always equal to 0.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*See [http://www.amxmodx.org/funcwiki.php?go=module&amp;amp;id=4#const_teams CS Team Constants] for team indeces constants list.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ScoreInfo|byte, short, short, short, short}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{hl1msg|short|Frags}}&lt;br /&gt;
{{hl1msg|short|Deaths}}&lt;br /&gt;
{{hl1msg|short|ClassID?}}&lt;br /&gt;
{{hl1msg|short|TeamID}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ScreenFade =&lt;br /&gt;
Fades the screen.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Duration and HoldTime is in special units. 1 second is equal to (1&amp;lt;&amp;lt;12) i.e. 4096 units.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Flags (from HLSDK):&lt;br /&gt;
 FFADE_IN         0x0000 // Just here so we don't pass 0 into the function&lt;br /&gt;
 FFADE_OUT        0x0001 // Fade out (not in)&lt;br /&gt;
 FFADE_MODULATE   0x0002 // Modulate (don't blend)&lt;br /&gt;
 FFADE_STAYOUT    0x0004 // ignores the duration, stays faded out until new ScreenFade message received&lt;br /&gt;
{{begin-hl1msg|ScreenFade|short, short, short, byte, byte, byte, byte}}&lt;br /&gt;
{{hl1msg|short|Duration}}&lt;br /&gt;
{{hl1msg|short|HoldTime}}&lt;br /&gt;
{{hl1msg|short|Flags}}&lt;br /&gt;
{{hl1msg|byte|ColorR}}&lt;br /&gt;
{{hl1msg|byte|ColorG}}&lt;br /&gt;
{{hl1msg|byte|ColorB}}&lt;br /&gt;
{{hl1msg|byte|Alpha}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ScreenShake =&lt;br /&gt;
Shakes the screen.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|All arguments is in special units. 1 second is equal to (1&amp;lt;&amp;lt;12) i.e. 4096 units.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ScreenShake|short, short, short}}&lt;br /&gt;
{{hl1msg|short|Amplitude}}&lt;br /&gt;
{{hl1msg|short|Duration}}&lt;br /&gt;
{{hl1msg|short|Frequency}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SendAudio =&lt;br /&gt;
Plays the specified audio. An example of AudioCode could be &amp;quot;%!MRAD_rounddraw&amp;quot;.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|SendAudio|byte, string, short}}&lt;br /&gt;
{{hl1msg|byte|SenderID}}&lt;br /&gt;
{{hl1msg|string|AudioCode}}&lt;br /&gt;
{{hl1msg|short|Pitch}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ServerName =&lt;br /&gt;
Sends a server name to a client.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ServerName|string}}&lt;br /&gt;
{{hl1msg|string|ServerName}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SetFOV =&lt;br /&gt;
Sets the specified field of view.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|SetFOV|byte}}&lt;br /&gt;
{{hl1msg|byte|Degrees}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ShadowIdx =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ShadowIdx|long}}&lt;br /&gt;
{{hl1msg|long|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ShowMenu =&lt;br /&gt;
Displays a &amp;quot;menu&amp;quot; to a player (text on the left side of the screen). Acts like AMXX's show_menu (in fact, this is how AMXX shows a menu).&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|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.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ShowMenu|short, char, byte, string}}&lt;br /&gt;
{{hl1msg|short|KeysBitSum}}&lt;br /&gt;
{{hl1msg|char|Time}}&lt;br /&gt;
{{hl1msg|byte|Multipart}}&lt;br /&gt;
{{hl1msg|string|Text}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ShowTimer =&lt;br /&gt;
Forces the round timer displaying.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ShowTimer}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SpecHealth =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|SpecHealth|byte}}&lt;br /&gt;
{{hl1msg|byte|Health?}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SpecHealth2 =&lt;br /&gt;
Updates the observer's screen with a name and health of the given player.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|SpecHealth2|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|Health}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Spectator =&lt;br /&gt;
Called when player becomes an observer/spectator.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|On join to Spectators usually is fired twice in a row.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Spectator|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|ClientID}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= StatusIcon =&lt;br /&gt;
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 is required only if Status aren't equal to 0.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|StatusIcon|byte, string, byte, byte, byte}}&lt;br /&gt;
{{hl1msg|byte|Status}}&lt;br /&gt;
{{hl1msg|string|SpriteName}}&lt;br /&gt;
{{hl1msg|byte|ColorR}}&lt;br /&gt;
{{hl1msg|byte|ColorG}}&lt;br /&gt;
{{hl1msg|byte|ColorB}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= StatusValue =&lt;br /&gt;
Sends/updates the status values. For the Flag 1 the Value is TeamRelation, for 2 is PlayerID, for 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.&amp;lt;br&amp;gt;&lt;br /&gt;
Usually is fired as a triple message, for example:&lt;br /&gt;
 {1,  2}  -  non-teammate player&lt;br /&gt;
 {2, 17}  -  player index is 17&lt;br /&gt;
 {3, 59}  -  player health is 59&lt;br /&gt;
{{begin-hl1msg|StatusValue|byte, short}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{hl1msg|short|Value}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= StatusText =&lt;br /&gt;
Specifies the status text format.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|StatusText|byte, string}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{hl1msg|string|Text}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TaskTime =&lt;br /&gt;
Displays a secondary timer above the round timer. Used for Condition Zero singleplayer missions.&amp;lt;br&amp;gt;&lt;br /&gt;
If Time is -1, timer dissappears. If Time is any other negative value, it is displayed as green instead of yellow, and considered positive.&amp;lt;br&amp;gt;&lt;br /&gt;
If Active is true, timer counts down. Otherwise, it is paused.&amp;lt;br&amp;gt;If Fade is above zero, the timer will slowly fade out after that many seconds have passed (even if the timer is inactive).&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This event can only be used on missions that have an objective requiring a secondary timer!}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|TaskTime|short, byte, byte}}&lt;br /&gt;
{{hl1msg|short|Time}}&lt;br /&gt;
{{hl1msg|byte|Active}}&lt;br /&gt;
{{hl1msg|byte|Fade}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TeamInfo =&lt;br /&gt;
Sets the team information for the given player.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|In CS TeamName is either &amp;quot;UNASSIGNED&amp;quot;, &amp;quot;TERRORIST&amp;quot;, &amp;quot;CT&amp;quot; or &amp;quot;SPECTATOR&amp;quot;.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|TeamInfo|byte, string}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{hl1msg|string|TeamName}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TeamScore =&lt;br /&gt;
Updates the team score on the score board.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|In CS TeamName is either &amp;quot;TERRORIST&amp;quot; or &amp;quot;CT&amp;quot;.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|TeamScore|string, short}}&lt;br /&gt;
{{hl1msg|string|TeamName}}&lt;br /&gt;
{{hl1msg|short|Score}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TextMsg =&lt;br /&gt;
Prints a cutom/or predefined text message.&amp;lt;br&amp;gt;&lt;br /&gt;
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:&lt;br /&gt;
 Arg1: 1&lt;br /&gt;
 Arg2: #Game_join_ct&lt;br /&gt;
 Arg3: Pimp Daddy&lt;br /&gt;
{{begin-hl1msg|TextMsg|byte, string, string, string, string, string}}&lt;br /&gt;
{{hl1msg|byte|DestinationType}}&lt;br /&gt;
{{hl1msg|string|Message}}&lt;br /&gt;
{{hl1msg|string|Submsg}}&lt;br /&gt;
{{hl1msg|string|Submsg}}&lt;br /&gt;
{{hl1msg|string|Submsg}}&lt;br /&gt;
{{hl1msg|string|Submsg}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Train =&lt;br /&gt;
Displays the speed bar used for controlling a train.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Speed is as follows: 0 (disable display), 1 (reverse), 2 (neutral), 3 (slow speed), 4 (medium speed), 5 (maximum speed)}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Train|byte}}&lt;br /&gt;
{{hl1msg|byte|Speed}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TutorClose =&lt;br /&gt;
Closes all CZ-style tutor popups.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= TutorLine =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= TutorState =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= TutorText =&lt;br /&gt;
Used to display a CZ-style tutor popup.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|TutorText|string, byte, short, short, short}}&lt;br /&gt;
{{hl1msg|string|Unknown}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{hl1msg|short|Unknown}}&lt;br /&gt;
{{hl1msg|short|Unknown}}&lt;br /&gt;
{{hl1msg|short|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ViewMode =&lt;br /&gt;
{{qnotice|No Information available for this message (HLSDK says this switches to first-person view, but it doesn't seem to function as so).}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ViewMode}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= VGUIMenu =&lt;br /&gt;
Displays a predefined VGUI menu.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|VGUIMenu|byte, short, char, byte, string}}&lt;br /&gt;
{{hl1msg|byte|MenuID}}&lt;br /&gt;
{{hl1msg|short|KeysBitSum}}&lt;br /&gt;
{{hl1msg|char|Time?}}&lt;br /&gt;
{{hl1msg|byte|Multipart?}}&lt;br /&gt;
{{hl1msg|string|Name?}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= VoiceMask =&lt;br /&gt;
Used to tell a client who he can hear over the microphone.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|VoiceMask|long, long}}&lt;br /&gt;
{{hl1msg|long|AudiblePlayersIndexBitSum}}&lt;br /&gt;
{{hl1msg|long|ServerBannedPlayersIndexBitSum}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= WeaponList =&lt;br /&gt;
Configures the [[HUD]] weapons list.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Fired on map initialization.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|SlotID starts from 0.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Flags (from HLSDK):&lt;br /&gt;
 ITEM_FLAG_SELECTONEMPTY       1&lt;br /&gt;
 ITEM_FLAG_NOAUTORELOAD        2&lt;br /&gt;
 ITEM_FLAG_NOAUTOSWITCHEMPTY   4&lt;br /&gt;
 ITEM_FLAG_LIMITINWORLD        8&lt;br /&gt;
 ITEM_FLAG_EXHAUSTIBLE        16 // A player can totally exhaust their ammo supply and lose this weapon.&lt;br /&gt;
{{qnotice|See [[CS Weapons Information]] for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|WeaponList|string, byte, byte, byte, byte, byte, byte, byte, byte}}&lt;br /&gt;
{{hl1msg|string|WeaponName}}&lt;br /&gt;
{{hl1msg|byte|PrimaryAmmoID}}&lt;br /&gt;
{{hl1msg|byte|PrimaryAmmoMaxAmount}}&lt;br /&gt;
{{hl1msg|byte|SecondaryAmmoID}}&lt;br /&gt;
{{hl1msg|byte|SecondaryAmmoMaxAmount}}&lt;br /&gt;
{{hl1msg|byte|SlotID}}&lt;br /&gt;
{{hl1msg|byte|NumberInSlot}}&lt;br /&gt;
{{hl1msg|byte|WeaponID}}&lt;br /&gt;
{{hl1msg|byte|Flags}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= WeapPickup =&lt;br /&gt;
Temporarily draws correspoding weapon [[HUD]] icon in the middle of the right side of the screen.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Draw time is depend on the ''hud_drawhistory_time'' client CVar value.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Is fired right before weapon is picked up (notice ''&amp;quot;before&amp;quot;'').}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|See [[CS Weapons Information]] for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|WeapPickup|byte}}&lt;br /&gt;
{{hl1msg|byte|WeaponID}}&lt;br /&gt;
{{end-hl1msg}}&lt;/div&gt;</summary>
		<author><name>ConnorMcLeod</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.alliedmods.net/index.php?title=Half-Life_1_Game_Events&amp;diff=7888</id>
		<title>Half-Life 1 Game Events</title>
		<link rel="alternate" type="text/html" href="https://wiki.alliedmods.net/index.php?title=Half-Life_1_Game_Events&amp;diff=7888"/>
		<updated>2010-11-20T11:09:21Z</updated>

		<summary type="html">&lt;p&gt;ConnorMcLeod: /* ReceiveW */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Half-Life 1]]&lt;br /&gt;
[[Category:Scripting (AMX Mod X)]]&lt;br /&gt;
&lt;br /&gt;
= Introduction =&lt;br /&gt;
&lt;br /&gt;
In [[AMX Mod X]] you are able to hook in-game messages/events with [http://www.amxmodx.org/funcwiki.php?search=register_message&amp;amp;go=search register_message] / [http://www.amxmodx.org/funcwiki.php?go=func&amp;amp;id=26 register_event]. Here are the list of messages/events and their arguments which can be read with [http://www.amxmodx.org/funcwiki.php?search=get_msg_arg_&amp;amp;go=search get_msg_arg_*] / [http://www.amxmodx.org/funcwiki.php?go=func&amp;amp;id=132 read_data].&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
*See the [[Advanced Scripting (AMX Mod X)#Events.2FMessages|Advanced Scripting]] article for more on events and messages.&amp;lt;br&amp;gt;&lt;br /&gt;
*See messages.inc and message_const.inc from amxmodx/scriptong/include folder or [http://www.amxmodx.org/funcwiki.php?go=inc&amp;amp;id=47 Messaging functions] and [http://www.amxmodx.org/funcwiki.php?go=inc&amp;amp;id=48 Message constants] for full messages control including blocking, argument alteration and much more.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= ADStop =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ADStop}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= AllowSpec =&lt;br /&gt;
Changes whether or not &amp;quot;SPECTATE&amp;quot; appears on the change team menu. Called whenever the allow_spectators CVar is changed, with its new value sent as the byte.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This changes how the change team menu appears, but spectating functionality is based off of the actual CVar value.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|AllowSpec|byte}}&lt;br /&gt;
{{hl1msg|byte|Allowed}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= AmmoPickup =&lt;br /&gt;
Temporarily draws [[HUD]] ammo amount and correspoding ammo [[HUD]] icon in the middle of the right side of the screen.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Draw time is depend on the ''hud_drawhistory_time'' client CVar value.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|See [[CS Weapons Information]] for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|AmmoPickup|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|AmmoID}}&lt;br /&gt;
{{hl1msg|byte|Ammount}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= AmmoX =&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|See [[CS Weapons Information]] for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|AmmoX|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|AmmoID}}&lt;br /&gt;
{{hl1msg|byte|Ammount}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ArmorType =&lt;br /&gt;
Draws/removes helmet [[HUD]] icon. If flag is set to 1 the helmet [[HUD]] icon will be drawn (located right on the armor icon).&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ArmorType|byte}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BarTime =&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Set Duration to 0 to hide the bar.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|BarTime|short}}&lt;br /&gt;
{{hl1msg|short|Duration}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BarTime2 =&lt;br /&gt;
The same as BarTime but StartPercents is specify how many per cents of the bar are (already) filled.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Display time can be calculated with this formula: ''(1 - (StartPercents / 100)) / Duration''}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|BarTime2|short, short}}&lt;br /&gt;
{{hl1msg|short|Duration}}&lt;br /&gt;
{{hl1msg|short|StartPercents}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Battery =&lt;br /&gt;
Updates the icon and the number of armor on the [[HUD]].&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Battery|short}}&lt;br /&gt;
{{hl1msg|short|Armor}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BlinkAcct =&lt;br /&gt;
Makes a player's money display flash rapidly, until it flashes a total of BlinkAmt times.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|BlinkAcct|byte}}&lt;br /&gt;
{{hl1msg|byte|BlinkAmt}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BombDrop =&lt;br /&gt;
The first three arguments are the origin of the dropped bomb. The last argument is set to 1 if the bomb has been planted. It is 0 if the bomb was dropped due to voluntary dropping or death/disconnect. Setting the last argument 1, will also 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.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|BombDrop|coord, coord, coord, byte}}&lt;br /&gt;
{{hl1msg|coord|CoordX}}&lt;br /&gt;
{{hl1msg|coord|CoordY}}&lt;br /&gt;
{{hl1msg|coord|CoordZ}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BombPickup =&lt;br /&gt;
This message just tells the game that the bomb has been picked up. It will cause the dropped/planted bomb to disappear from the Terrorist team's radar.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|BombPickup}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BotProgress =&lt;br /&gt;
Used by CZ's bots when learning a new map. 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.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|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.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|BotProgress|byte, byte, string}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{hl1msg|byte|Progress}}&lt;br /&gt;
{{hl1msg|string|Header}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BotVoice =&lt;br /&gt;
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 by regular players, although you &amp;lt;i&amp;gt;can&amp;lt;/i&amp;gt; specify a regular player (non-bot) for the PlayerIndex. Status is 1 for talking, or 0 for not talking.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|BotVoice|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|Status}}&lt;br /&gt;
{{hl1msg|byte|PlayerIndex}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Brass =&lt;br /&gt;
Creates a brass shell. Used, for example, by the AWP, after firing.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Brass|byte, coord, coord, coord, coord, coord, coord, coord, coord, coord, angle, short, byte, byte, byte}}&lt;br /&gt;
{{hl1msg|byte|MessageID}}&lt;br /&gt;
{{hl1msg|coord|StartX}}&lt;br /&gt;
{{hl1msg|coord|StartY}}&lt;br /&gt;
{{hl1msg|coord|StartZ}}&lt;br /&gt;
{{hl1msg|coord|VelocityX?}}&lt;br /&gt;
{{hl1msg|coord|VelocityY?}}&lt;br /&gt;
{{hl1msg|coord|VelocityZ?}}&lt;br /&gt;
{{hl1msg|coord|UnknownX}}&lt;br /&gt;
{{hl1msg|coord|UnknownY}}&lt;br /&gt;
{{hl1msg|coord|UnknownZ}}&lt;br /&gt;
{{hl1msg|angle|Rotation}}&lt;br /&gt;
{{hl1msg|short|ModelIndex}}&lt;br /&gt;
{{hl1msg|byte|BounceSoundType}}&lt;br /&gt;
{{hl1msg|byte|Life}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BuyClose =&lt;br /&gt;
Forces the buy menu to close. This is not called when the player closes the buy menu by himself; it's only called when the game forces him to do so (ie: he walks outside of the buy zone, gets killed, etcetera).&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|BuyClose}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ClCorpse =&lt;br /&gt;
Spawns a player's corpse. ModelName is the player's model name, for example: &amp;quot;leet&amp;quot;. Delay is a delay before animation plaback, can be negative value.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Coord and Delay is multiplied by 128.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|In CS argument #10 is always equal to 0.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*See [http://www.amxmodx.org/funcwiki.php?go=module&amp;amp;id=4#const_teams CS Team Constants] for team indeces constants list.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ClCorpse|string, long, long, long, coord, coord, coord, long, byte, byte, byte, byte}}&lt;br /&gt;
{{hl1msg|string|ModelName}}&lt;br /&gt;
{{hl1msg|long|CoordX}}&lt;br /&gt;
{{hl1msg|long|CoordY}}&lt;br /&gt;
{{hl1msg|long|CoordZ}}&lt;br /&gt;
{{hl1msg|coord|Angle0}}&lt;br /&gt;
{{hl1msg|coord|Angle1}}&lt;br /&gt;
{{hl1msg|coord|Angle2}}&lt;br /&gt;
{{hl1msg|long|Delay}}&lt;br /&gt;
{{hl1msg|byte|Sequence}}&lt;br /&gt;
{{hl1msg|byte|ClassID?}}&lt;br /&gt;
{{hl1msg|byte|TeamID}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Crosshair =&lt;br /&gt;
Draws/removes a crosshair. If Flag is set to 1 the crosshair will be drawn.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This crossair looks not like the regular one but like the one that is drawn in the spectator mode.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Crosshair|byte}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= CurWeapon =&lt;br /&gt;
Updates the clip ammo number and weapon's corresponding ammo type icon on the [[HUD]].&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|See [[CS Weapons Information]] for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|CurWeapon|byte, byte, byte}}&lt;br /&gt;
{{hl1msg|byte|IsActive}}&lt;br /&gt;
{{hl1msg|byte|WeaponID}}&lt;br /&gt;
{{hl1msg|byte|ClipAmmo}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= CZCareer =&lt;br /&gt;
Supplies certain updates to the player regarding Condition Zero singleplayer missions.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|See the [[CZCareer]] page for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|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).}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|The Type argument is case-sensitive.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This event does nothing in CS and CZ multiplayer.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|CZCareer|string,*}}&lt;br /&gt;
{{hl1msg|string|Type}}&lt;br /&gt;
{{hl1msg|*|Parameters}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= CZCareerHUD =&lt;br /&gt;
Displays certain [[HUD]] elements regarding Condition Zero singleplayer missions.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|See the [[CZCareerHUD]] page for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|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).}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|The Type argument is case-sensitive.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This event has some limited functionality in CS and CZ multiplayer (albeit better in CZ).}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|CZCareerHUD|string,*}}&lt;br /&gt;
{{hl1msg|string|Type}}&lt;br /&gt;
{{hl1msg|*|Parameters}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Damage =&lt;br /&gt;
Called when a player takes damage, to display the red locational indicators. The last three arguments is the origin of the damage inflictor or victim origin if inflictor isn't found. DamageType is a bitwise value usually consist of a single bit.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|To caputure this message,you should use &amp;quot;b&amp;quot; as the third parameter in the register_event() function.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Damage|byte, byte, long, coord, coord, coord}}&lt;br /&gt;
{{hl1msg|byte|DamageSave}}&lt;br /&gt;
{{hl1msg|byte|DamageTake}}&lt;br /&gt;
{{hl1msg|long|DamageType}}&lt;br /&gt;
{{hl1msg|coord|CoordX}}&lt;br /&gt;
{{hl1msg|coord|CoordY}}&lt;br /&gt;
{{hl1msg|coord|CoordZ}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= DeathMsg =&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
Also prints the console text message &amp;quot;KillerName killed VictimName with TruncatedWeaponName&amp;quot; or &amp;quot;*** KillerName killed VictimName with a headshot from TruncatedWeaponName ***&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|TruncatedWeaponName doesn't contain a &amp;quot;weapon_&amp;quot; prefix. See [[CS Weapons Information]] for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|For grenade kill TruncatedWeaponName isn't &amp;quot;hegrenade&amp;quot; but &amp;quot;grenade&amp;quot;, in fact it's an actual classname of a throwed grenade.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|For KillerID it's not necessarily should be a PlayerID, it could be 0 if player dies from fall/acid/radiation/fire/etc damage/lack of oxygen or from touch to a &amp;quot;trigger_hurt&amp;quot; entity, in this case TruncatedWeaponName will be &amp;quot;worldspawn&amp;quot; and &amp;quot;trigger_hurt&amp;quot; respectively.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|For vehicle kills TruncatedWeaponName could be &amp;quot;vehicle&amp;quot;, &amp;quot;tank&amp;quot; et cetera.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|DeathMsg|byte, byte, byte, string}}&lt;br /&gt;
{{hl1msg|byte|KillerID}}&lt;br /&gt;
{{hl1msg|byte|VictimID}}&lt;br /&gt;
{{hl1msg|byte|IsHeadshot}}&lt;br /&gt;
{{hl1msg|string|TruncatedWeaponName}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= FlashBat =&lt;br /&gt;
Updates the flashlight battery charge on the [[HUD]].&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|FlashBat|byte}}&lt;br /&gt;
{{hl1msg|byte|ChargePercents}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Flashlight =&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Flashlight|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{hl1msg|byte|ChargePercents}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Fog =&lt;br /&gt;
{{qnotice|mp_Fog 1 for fog in counter-strike}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|Fog|byte, byte, byte}}&lt;br /&gt;
{{hl1msg|byte|FogValue}}&lt;br /&gt;
{{hl1msg|byte|FogValue}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ForceCam =&lt;br /&gt;
Called whenever mp_forcecam or mp_forcechasecam are changed, with their new values passed. There is assumedly a third CVar that this tracks, but it is yet unknown. Note that this message doesn't actually change any of the spectating rules for the client.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Even if mp_forcechasecam is set to 2, it is sent by this message as 1.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ForceCam|byte, byte, byte}}&lt;br /&gt;
{{hl1msg|byte|ForcecamValue}}&lt;br /&gt;
{{hl1msg|byte|ForcechasecamValue}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= GameMode =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|GameMode|byte}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= GameTitle =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Geiger =&lt;br /&gt;
Notifies about radiation level through special sound signals. Distance is a distance to hazard area.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Geiger|byte}}&lt;br /&gt;
{{hl1msg|byte|Distance}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Health =&lt;br /&gt;
Updates the number of health on the [[HUD]].&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Health|byte}}&lt;br /&gt;
{{hl1msg|byte|Health}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= HideWeapon =&lt;br /&gt;
Hides the specified [[HUD]] elements.&amp;lt;br&amp;gt;&lt;br /&gt;
Flags:&lt;br /&gt;
   1   (1&amp;lt;&amp;lt;0)  -  crosshair, ammo, weapons list&lt;br /&gt;
   2   (1&amp;lt;&amp;lt;1)  -  flashlight, +&lt;br /&gt;
   4   (1&amp;lt;&amp;lt;2)  -  ALL&lt;br /&gt;
   8   (1&amp;lt;&amp;lt;3)  -  radar, health, armor, +&lt;br /&gt;
  16   (1&amp;lt;&amp;lt;4)  -  timer, +&lt;br /&gt;
  32   (1&amp;lt;&amp;lt;5)  -  money, +&lt;br /&gt;
  64   (1&amp;lt;&amp;lt;6)  -  crosshair&lt;br /&gt;
 128   (1&amp;lt;&amp;lt;7)  -  +&lt;br /&gt;
Symbol + mean that an additional crosshair will be drawn. That crosshair looks exactly like the one from Crosshair message.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|HideWeapon|byte}}&lt;br /&gt;
{{hl1msg|byte|Flags}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= HLTV =&lt;br /&gt;
Message sent for HLTV and unique for each round-start.&amp;lt;br&amp;gt;&lt;br /&gt;
On new round is fired 2 messages:&lt;br /&gt;
 // reset all players health for HLTV&lt;br /&gt;
 MESSAGE_BEGIN( MSG_SPEC, gmsgHLTV );&lt;br /&gt;
 WRITE_BYTE( 0 );   // 0 = all players&lt;br /&gt;
 WRITE_BYTE( 100 | 128 );&lt;br /&gt;
 MESSAGE_END();&amp;lt;br&amp;gt;&lt;br /&gt;
 // reset all players FOV for HLTV&lt;br /&gt;
 MESSAGE_BEGIN( MSG_SPEC, gmsgHLTV );&lt;br /&gt;
 WRITE_BYTE( 0 );   // all players&lt;br /&gt;
 WRITE_BYTE( 0 );&lt;br /&gt;
 MESSAGE_END();&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|HLTV|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|ClientID}}&lt;br /&gt;
{{hl1msg|byte|Flags}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= HostageK =&lt;br /&gt;
Temporarily draws a blinking red dot on the CT players' radar when a hostage is killed.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|HostageK|byte}}&lt;br /&gt;
{{hl1msg|byte|HostageID}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= HostagePos =&lt;br /&gt;
Draws/updates the blue mark on the CT players' radar which is indicate the corresponding hostage position.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Is called with Flag set to 1 on player [[HUD]] full update.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|HostagePos|byte, byte, coord, coord, coord}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{hl1msg|byte|HostageID}}&lt;br /&gt;
{{hl1msg|coord|CoordX}}&lt;br /&gt;
{{hl1msg|coord|CoordY}}&lt;br /&gt;
{{hl1msg|coord|CoordZ}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= HudText =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= HudTextArgs =&lt;br /&gt;
Prints [[HUD]] text.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|An example of TextCode could be &amp;quot;#Hint_you_have_the_bomb&amp;quot;.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|If you have a problems with specifing the last two arguments use 1 and 0 respectively.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|HudTextArgs|string, byte, byte}}&lt;br /&gt;
{{hl1msg|string|TextCode}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= HudTextPro =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= InitHUD =&lt;br /&gt;
Initializes the [[HUD]].&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|InitHUD}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ItemPickup =&lt;br /&gt;
Temporarily draws correspoding item [[HUD]] icon in the middle of the right side of the screen.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Draw time is depend on the ''hud_drawhistory_time'' client CVar value.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ItemPickup|string}}&lt;br /&gt;
{{hl1msg|string|ItemName}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ItemStatus =&lt;br /&gt;
Notifies about carried items.&amp;lt;br&amp;gt;&lt;br /&gt;
Example of some item bits:&lt;br /&gt;
 1   (1&amp;lt;&amp;lt;0)  -  nightvision goggles&lt;br /&gt;
 2   (1&amp;lt;&amp;lt;1)  -  defusal kit&lt;br /&gt;
{{begin-hl1msg|ItemStatus|byte}}&lt;br /&gt;
{{hl1msg|byte|ItemsBitSum}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Location =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Location|byte, string}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{hl1msg|string|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Money =&lt;br /&gt;
Updates the Amount of money on the [[HUD]]. If the Flag is 1, the additional new-old [[HUD]] money amount difference will be also displayed.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Money|long, byte}}&lt;br /&gt;
{{hl1msg|long|Amount}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= MOTD =&lt;br /&gt;
Displays MOTD window.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Max. Text length is 60. Large MOTD is sent in multiple messages. For the message that is send a last MOTD part the Flag will be set to 1 and 0 otherwise.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|MOTD|byte, string}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{hl1msg|string|Text}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= NVGToggle =&lt;br /&gt;
Toggles night vision mode. For Flag: 1 is on, 0 is off.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|NVGToggle|byte}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Radar =&lt;br /&gt;
Draws/updates the dot on the [[HUD]] radar which is indicate the given player position.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Works for teammates only.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Radar|byte, coord, coord, coord}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{hl1msg|coord|CoordX}}&lt;br /&gt;
{{hl1msg|coord|CoordY}}&lt;br /&gt;
{{hl1msg|coord|CoordZ}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ReceiveW =&lt;br /&gt;
Tell the client which visual weather effect to be executed client side, if cl_weather client cvar is above 0.&amp;lt;br&amp;gt;&lt;br /&gt;
Sent from CBasePlayer::SendWeatherInfo() at very first CBasePlayer :: UpdateClientData()&amp;lt;br&amp;gt;&lt;br /&gt;
Mode : 1 is for rain effect, 2 is for snow effect&amp;lt;br&amp;gt;&lt;br /&gt;
Though mode 0 is never sent by the game itself, removes weather effect&amp;lt;br&amp;gt;&lt;br /&gt;
Alternatively send mode 1 and mode 2 with judicious delays make both rain and snow effect&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ReceiveW|byte}}&lt;br /&gt;
{{hl1msg|byte|mode}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ReloadSound =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ReloadSound|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ReqState =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ReqState}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ResetHUD =&lt;br /&gt;
Resets the [[HUD]].&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ResetHUD}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= RoundTime =&lt;br /&gt;
Updates the round timer on the [[HUD]]. Time is in seconds.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|RoundTime|short}}&lt;br /&gt;
{{hl1msg|short|Time}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SayText =&lt;br /&gt;
Prints say [[HUD]] text. Second argument can be a predefined string or a custom one. In the last case the last two arguments isn't required.&amp;lt;br&amp;gt;&lt;br /&gt;
An examples of a predifined Counter-Strike string values: #Cstrike_Chat_AllDead, #Cstrike_Name_Change&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|For #Cstrike_Name_Change String2 is an old name and String3 is a new name.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|SayText|byte, string, string, string}}&lt;br /&gt;
{{hl1msg|byte|SenderID}}&lt;br /&gt;
{{hl1msg|string|String1}}&lt;br /&gt;
{{hl1msg|string|String2}}&lt;br /&gt;
{{hl1msg|string|String3}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Scenario =&lt;br /&gt;
If Active is 0, this display will be hidden. If Active is 1, 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.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|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.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[image:Cs_scenario_msg.jpg|frame|right|Scenario message in CS, using the following parameters: 1, d_mp5navy, 150]]&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Works in both CS and CZ!}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|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.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Scenario|byte, string, byte, short, short}}&lt;br /&gt;
{{hl1msg|byte|Active}}&lt;br /&gt;
{{hl1msg|string|Sprite}}&lt;br /&gt;
{{hl1msg|byte|Alpha}}&lt;br /&gt;
{{hl1msg|short|FlashRate}}&lt;br /&gt;
{{hl1msg|short|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ScoreAttrib =&lt;br /&gt;
Updates the scoreboard's attribute for the specified player. For the 2nd argument, 0 is nothing, (1&amp;lt;&amp;lt;0) i.e. 1 is dead, (1&amp;lt;&amp;lt;1) i.e. 2 is bomb, (1&amp;lt;&amp;lt;2) i.e. 4 is VIP.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|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.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ScoreAttrib|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{hl1msg|byte|Flags}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ScoreInfo =&lt;br /&gt;
Updates the scoreboard with the given player's Frags and Deaths.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|In CS the 4th argument is always equal to 0.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*See [http://www.amxmodx.org/funcwiki.php?go=module&amp;amp;id=4#const_teams CS Team Constants] for team indeces constants list.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ScoreInfo|byte, short, short, short, short}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{hl1msg|short|Frags}}&lt;br /&gt;
{{hl1msg|short|Deaths}}&lt;br /&gt;
{{hl1msg|short|ClassID?}}&lt;br /&gt;
{{hl1msg|short|TeamID}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ScreenFade =&lt;br /&gt;
Fades the screen.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Duration and HoldTime is in special units. 1 second is equal to (1&amp;lt;&amp;lt;12) i.e. 4096 units.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Flags (from HLSDK):&lt;br /&gt;
 FFADE_IN         0x0000 // Just here so we don't pass 0 into the function&lt;br /&gt;
 FFADE_OUT        0x0001 // Fade out (not in)&lt;br /&gt;
 FFADE_MODULATE   0x0002 // Modulate (don't blend)&lt;br /&gt;
 FFADE_STAYOUT    0x0004 // ignores the duration, stays faded out until new ScreenFade message received&lt;br /&gt;
{{begin-hl1msg|ScreenFade|short, short, short, byte, byte, byte, byte}}&lt;br /&gt;
{{hl1msg|short|Duration}}&lt;br /&gt;
{{hl1msg|short|HoldTime}}&lt;br /&gt;
{{hl1msg|short|Flags}}&lt;br /&gt;
{{hl1msg|byte|ColorR}}&lt;br /&gt;
{{hl1msg|byte|ColorG}}&lt;br /&gt;
{{hl1msg|byte|ColorB}}&lt;br /&gt;
{{hl1msg|byte|Alpha}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ScreenShake =&lt;br /&gt;
Shakes the screen.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|All arguments is in special units. 1 second is equal to (1&amp;lt;&amp;lt;12) i.e. 4096 units.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ScreenShake|short, short, short}}&lt;br /&gt;
{{hl1msg|short|Amplitude}}&lt;br /&gt;
{{hl1msg|short|Duration}}&lt;br /&gt;
{{hl1msg|short|Frequency}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SendAudio =&lt;br /&gt;
Plays the specified audio. An example of AudioCode could be &amp;quot;%!MRAD_rounddraw&amp;quot;.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|SendAudio|byte, string, short}}&lt;br /&gt;
{{hl1msg|byte|SenderID}}&lt;br /&gt;
{{hl1msg|string|AudioCode}}&lt;br /&gt;
{{hl1msg|short|Pitch}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ServerName =&lt;br /&gt;
Sends a server name to a client.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ServerName|string}}&lt;br /&gt;
{{hl1msg|string|ServerName}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SetFOV =&lt;br /&gt;
Sets the specified field of view.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|SetFOV|byte}}&lt;br /&gt;
{{hl1msg|byte|Degrees}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ShadowIdx =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ShadowIdx|long}}&lt;br /&gt;
{{hl1msg|long|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ShowMenu =&lt;br /&gt;
Displays a &amp;quot;menu&amp;quot; to a player (text on the left side of the screen). Acts like AMXX's show_menu (in fact, this is how AMXX shows a menu).&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|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.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ShowMenu|short, char, byte, string}}&lt;br /&gt;
{{hl1msg|short|KeysBitSum}}&lt;br /&gt;
{{hl1msg|char|Time}}&lt;br /&gt;
{{hl1msg|byte|Multipart}}&lt;br /&gt;
{{hl1msg|string|Text}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ShowTimer =&lt;br /&gt;
Forces the round timer displaying.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ShowTimer}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SpecHealth =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|SpecHealth|byte}}&lt;br /&gt;
{{hl1msg|byte|Health?}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SpecHealth2 =&lt;br /&gt;
Updates the observer's screen with a name and health of the given player.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|SpecHealth2|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|Health}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Spectator =&lt;br /&gt;
Called when player becomes an observer/spectator.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|On join to Spectators usually is fired twice in a row.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Spectator|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|ClientID}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= StatusIcon =&lt;br /&gt;
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 is required only if Status aren't equal to 0.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|StatusIcon|byte, string, byte, byte, byte}}&lt;br /&gt;
{{hl1msg|byte|Status}}&lt;br /&gt;
{{hl1msg|string|SpriteName}}&lt;br /&gt;
{{hl1msg|byte|ColorR}}&lt;br /&gt;
{{hl1msg|byte|ColorG}}&lt;br /&gt;
{{hl1msg|byte|ColorB}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= StatusValue =&lt;br /&gt;
Sends/updates the status values. For the Flag 1 the Value is TeamRelation, for 2 is PlayerID, for 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.&amp;lt;br&amp;gt;&lt;br /&gt;
Usually is fired as a triple message, for example:&lt;br /&gt;
 {1,  2}  -  non-teammate player&lt;br /&gt;
 {2, 17}  -  player index is 17&lt;br /&gt;
 {3, 59}  -  player health is 59&lt;br /&gt;
{{begin-hl1msg|StatusValue|byte, short}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{hl1msg|short|Value}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= StatusText =&lt;br /&gt;
Specifies the status text format.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|StatusText|byte, string}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{hl1msg|string|Text}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TaskTime =&lt;br /&gt;
Displays a secondary timer above the round timer. Used for Condition Zero singleplayer missions.&amp;lt;br&amp;gt;&lt;br /&gt;
If Time is -1, timer dissappears. If Time is any other negative value, it is displayed as green instead of yellow, and considered positive.&amp;lt;br&amp;gt;&lt;br /&gt;
If Active is true, timer counts down. Otherwise, it is paused.&amp;lt;br&amp;gt;If Fade is above zero, the timer will slowly fade out after that many seconds have passed (even if the timer is inactive).&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This event can only be used on missions that have an objective requiring a secondary timer!}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|TaskTime|short, byte, byte}}&lt;br /&gt;
{{hl1msg|short|Time}}&lt;br /&gt;
{{hl1msg|byte|Active}}&lt;br /&gt;
{{hl1msg|byte|Fade}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TeamInfo =&lt;br /&gt;
Sets the team information for the given player.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|In CS TeamName is either &amp;quot;UNASSIGNED&amp;quot;, &amp;quot;TERRORIST&amp;quot;, &amp;quot;CT&amp;quot; or &amp;quot;SPECTATOR&amp;quot;.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|TeamInfo|byte, string}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{hl1msg|string|TeamName}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TeamScore =&lt;br /&gt;
Updates the team score on the score board.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|In CS TeamName is either &amp;quot;TERRORIST&amp;quot; or &amp;quot;CT&amp;quot;.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|TeamScore|string, short}}&lt;br /&gt;
{{hl1msg|string|TeamName}}&lt;br /&gt;
{{hl1msg|short|Score}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TextMsg =&lt;br /&gt;
Prints a cutom/or predefined text message.&amp;lt;br&amp;gt;&lt;br /&gt;
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:&lt;br /&gt;
 Arg1: 1&lt;br /&gt;
 Arg2: #Game_join_ct&lt;br /&gt;
 Arg3: Pimp Daddy&lt;br /&gt;
{{begin-hl1msg|TextMsg|byte, string, string, string, string, string}}&lt;br /&gt;
{{hl1msg|byte|DestinationType}}&lt;br /&gt;
{{hl1msg|string|Message}}&lt;br /&gt;
{{hl1msg|string|Submsg}}&lt;br /&gt;
{{hl1msg|string|Submsg}}&lt;br /&gt;
{{hl1msg|string|Submsg}}&lt;br /&gt;
{{hl1msg|string|Submsg}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Train =&lt;br /&gt;
Displays the speed bar used for controlling a train.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Speed is as follows: 0 (disable display), 1 (reverse), 2 (neutral), 3 (slow speed), 4 (medium speed), 5 (maximum speed)}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Train|byte}}&lt;br /&gt;
{{hl1msg|byte|Speed}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TutorClose =&lt;br /&gt;
Closes all CZ-style tutor popups.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= TutorLine =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= TutorState =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= TutorText =&lt;br /&gt;
Used to display a CZ-style tutor popup.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|TutorText|string, byte, short, short, short}}&lt;br /&gt;
{{hl1msg|string|Unknown}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{hl1msg|short|Unknown}}&lt;br /&gt;
{{hl1msg|short|Unknown}}&lt;br /&gt;
{{hl1msg|short|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ViewMode =&lt;br /&gt;
{{qnotice|No Information available for this message (HLSDK says this switches to first-person view, but it doesn't seem to function as so).}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ViewMode}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= VGUIMenu =&lt;br /&gt;
Displays a predefined VGUI menu.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|VGUIMenu|byte, short, char, byte, string}}&lt;br /&gt;
{{hl1msg|byte|MenuID}}&lt;br /&gt;
{{hl1msg|short|KeysBitSum}}&lt;br /&gt;
{{hl1msg|char|Time?}}&lt;br /&gt;
{{hl1msg|byte|Multipart?}}&lt;br /&gt;
{{hl1msg|string|Name?}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= VoiceMask =&lt;br /&gt;
Used to tell a client who he can hear over the microphone.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|VoiceMask|long, long}}&lt;br /&gt;
{{hl1msg|long|AudiblePlayersIndexBitSum}}&lt;br /&gt;
{{hl1msg|long|ServerBannedPlayersIndexBitSum}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= WeaponList =&lt;br /&gt;
Configures the [[HUD]] weapons list.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Fired on map initialization.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|SlotID starts from 0.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Flags (from HLSDK):&lt;br /&gt;
 ITEM_FLAG_SELECTONEMPTY       1&lt;br /&gt;
 ITEM_FLAG_NOAUTORELOAD        2&lt;br /&gt;
 ITEM_FLAG_NOAUTOSWITCHEMPTY   4&lt;br /&gt;
 ITEM_FLAG_LIMITINWORLD        8&lt;br /&gt;
 ITEM_FLAG_EXHAUSTIBLE        16 // A player can totally exhaust their ammo supply and lose this weapon.&lt;br /&gt;
{{qnotice|See [[CS Weapons Information]] for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|WeaponList|string, byte, byte, byte, byte, byte, byte, byte, byte}}&lt;br /&gt;
{{hl1msg|string|WeaponName}}&lt;br /&gt;
{{hl1msg|byte|PrimaryAmmoID}}&lt;br /&gt;
{{hl1msg|byte|PrimaryAmmoMaxAmount}}&lt;br /&gt;
{{hl1msg|byte|SecondaryAmmoID}}&lt;br /&gt;
{{hl1msg|byte|SecondaryAmmoMaxAmount}}&lt;br /&gt;
{{hl1msg|byte|SlotID}}&lt;br /&gt;
{{hl1msg|byte|NumberInSlot}}&lt;br /&gt;
{{hl1msg|byte|WeaponID}}&lt;br /&gt;
{{hl1msg|byte|Flags}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= WeapPickup =&lt;br /&gt;
Temporarily draws correspoding weapon [[HUD]] icon in the middle of the right side of the screen.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Draw time is depend on the ''hud_drawhistory_time'' client CVar value.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Is fired right before weapon is picked up (notice ''&amp;quot;before&amp;quot;'').}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|See [[CS Weapons Information]] for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|WeapPickup|byte}}&lt;br /&gt;
{{hl1msg|byte|WeaponID}}&lt;br /&gt;
{{end-hl1msg}}&lt;/div&gt;</summary>
		<author><name>ConnorMcLeod</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.alliedmods.net/index.php?title=Half-Life_1_Game_Events&amp;diff=7887</id>
		<title>Half-Life 1 Game Events</title>
		<link rel="alternate" type="text/html" href="https://wiki.alliedmods.net/index.php?title=Half-Life_1_Game_Events&amp;diff=7887"/>
		<updated>2010-11-20T11:07:25Z</updated>

		<summary type="html">&lt;p&gt;ConnorMcLeod: /* ReceiveW */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Half-Life 1]]&lt;br /&gt;
[[Category:Scripting (AMX Mod X)]]&lt;br /&gt;
&lt;br /&gt;
= Introduction =&lt;br /&gt;
&lt;br /&gt;
In [[AMX Mod X]] you are able to hook in-game messages/events with [http://www.amxmodx.org/funcwiki.php?search=register_message&amp;amp;go=search register_message] / [http://www.amxmodx.org/funcwiki.php?go=func&amp;amp;id=26 register_event]. Here are the list of messages/events and their arguments which can be read with [http://www.amxmodx.org/funcwiki.php?search=get_msg_arg_&amp;amp;go=search get_msg_arg_*] / [http://www.amxmodx.org/funcwiki.php?go=func&amp;amp;id=132 read_data].&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
*See the [[Advanced Scripting (AMX Mod X)#Events.2FMessages|Advanced Scripting]] article for more on events and messages.&amp;lt;br&amp;gt;&lt;br /&gt;
*See messages.inc and message_const.inc from amxmodx/scriptong/include folder or [http://www.amxmodx.org/funcwiki.php?go=inc&amp;amp;id=47 Messaging functions] and [http://www.amxmodx.org/funcwiki.php?go=inc&amp;amp;id=48 Message constants] for full messages control including blocking, argument alteration and much more.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= ADStop =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ADStop}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= AllowSpec =&lt;br /&gt;
Changes whether or not &amp;quot;SPECTATE&amp;quot; appears on the change team menu. Called whenever the allow_spectators CVar is changed, with its new value sent as the byte.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This changes how the change team menu appears, but spectating functionality is based off of the actual CVar value.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|AllowSpec|byte}}&lt;br /&gt;
{{hl1msg|byte|Allowed}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= AmmoPickup =&lt;br /&gt;
Temporarily draws [[HUD]] ammo amount and correspoding ammo [[HUD]] icon in the middle of the right side of the screen.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Draw time is depend on the ''hud_drawhistory_time'' client CVar value.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|See [[CS Weapons Information]] for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|AmmoPickup|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|AmmoID}}&lt;br /&gt;
{{hl1msg|byte|Ammount}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= AmmoX =&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|See [[CS Weapons Information]] for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|AmmoX|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|AmmoID}}&lt;br /&gt;
{{hl1msg|byte|Ammount}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ArmorType =&lt;br /&gt;
Draws/removes helmet [[HUD]] icon. If flag is set to 1 the helmet [[HUD]] icon will be drawn (located right on the armor icon).&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ArmorType|byte}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BarTime =&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Set Duration to 0 to hide the bar.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|BarTime|short}}&lt;br /&gt;
{{hl1msg|short|Duration}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BarTime2 =&lt;br /&gt;
The same as BarTime but StartPercents is specify how many per cents of the bar are (already) filled.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Display time can be calculated with this formula: ''(1 - (StartPercents / 100)) / Duration''}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|BarTime2|short, short}}&lt;br /&gt;
{{hl1msg|short|Duration}}&lt;br /&gt;
{{hl1msg|short|StartPercents}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Battery =&lt;br /&gt;
Updates the icon and the number of armor on the [[HUD]].&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Battery|short}}&lt;br /&gt;
{{hl1msg|short|Armor}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BlinkAcct =&lt;br /&gt;
Makes a player's money display flash rapidly, until it flashes a total of BlinkAmt times.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|BlinkAcct|byte}}&lt;br /&gt;
{{hl1msg|byte|BlinkAmt}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BombDrop =&lt;br /&gt;
The first three arguments are the origin of the dropped bomb. The last argument is set to 1 if the bomb has been planted. It is 0 if the bomb was dropped due to voluntary dropping or death/disconnect. Setting the last argument 1, will also 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.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|BombDrop|coord, coord, coord, byte}}&lt;br /&gt;
{{hl1msg|coord|CoordX}}&lt;br /&gt;
{{hl1msg|coord|CoordY}}&lt;br /&gt;
{{hl1msg|coord|CoordZ}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BombPickup =&lt;br /&gt;
This message just tells the game that the bomb has been picked up. It will cause the dropped/planted bomb to disappear from the Terrorist team's radar.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|BombPickup}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BotProgress =&lt;br /&gt;
Used by CZ's bots when learning a new map. 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.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|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.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|BotProgress|byte, byte, string}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{hl1msg|byte|Progress}}&lt;br /&gt;
{{hl1msg|string|Header}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BotVoice =&lt;br /&gt;
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 by regular players, although you &amp;lt;i&amp;gt;can&amp;lt;/i&amp;gt; specify a regular player (non-bot) for the PlayerIndex. Status is 1 for talking, or 0 for not talking.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|BotVoice|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|Status}}&lt;br /&gt;
{{hl1msg|byte|PlayerIndex}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Brass =&lt;br /&gt;
Creates a brass shell. Used, for example, by the AWP, after firing.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Brass|byte, coord, coord, coord, coord, coord, coord, coord, coord, coord, angle, short, byte, byte, byte}}&lt;br /&gt;
{{hl1msg|byte|MessageID}}&lt;br /&gt;
{{hl1msg|coord|StartX}}&lt;br /&gt;
{{hl1msg|coord|StartY}}&lt;br /&gt;
{{hl1msg|coord|StartZ}}&lt;br /&gt;
{{hl1msg|coord|VelocityX?}}&lt;br /&gt;
{{hl1msg|coord|VelocityY?}}&lt;br /&gt;
{{hl1msg|coord|VelocityZ?}}&lt;br /&gt;
{{hl1msg|coord|UnknownX}}&lt;br /&gt;
{{hl1msg|coord|UnknownY}}&lt;br /&gt;
{{hl1msg|coord|UnknownZ}}&lt;br /&gt;
{{hl1msg|angle|Rotation}}&lt;br /&gt;
{{hl1msg|short|ModelIndex}}&lt;br /&gt;
{{hl1msg|byte|BounceSoundType}}&lt;br /&gt;
{{hl1msg|byte|Life}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= BuyClose =&lt;br /&gt;
Forces the buy menu to close. This is not called when the player closes the buy menu by himself; it's only called when the game forces him to do so (ie: he walks outside of the buy zone, gets killed, etcetera).&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|BuyClose}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ClCorpse =&lt;br /&gt;
Spawns a player's corpse. ModelName is the player's model name, for example: &amp;quot;leet&amp;quot;. Delay is a delay before animation plaback, can be negative value.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Coord and Delay is multiplied by 128.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|In CS argument #10 is always equal to 0.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*See [http://www.amxmodx.org/funcwiki.php?go=module&amp;amp;id=4#const_teams CS Team Constants] for team indeces constants list.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ClCorpse|string, long, long, long, coord, coord, coord, long, byte, byte, byte, byte}}&lt;br /&gt;
{{hl1msg|string|ModelName}}&lt;br /&gt;
{{hl1msg|long|CoordX}}&lt;br /&gt;
{{hl1msg|long|CoordY}}&lt;br /&gt;
{{hl1msg|long|CoordZ}}&lt;br /&gt;
{{hl1msg|coord|Angle0}}&lt;br /&gt;
{{hl1msg|coord|Angle1}}&lt;br /&gt;
{{hl1msg|coord|Angle2}}&lt;br /&gt;
{{hl1msg|long|Delay}}&lt;br /&gt;
{{hl1msg|byte|Sequence}}&lt;br /&gt;
{{hl1msg|byte|ClassID?}}&lt;br /&gt;
{{hl1msg|byte|TeamID}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Crosshair =&lt;br /&gt;
Draws/removes a crosshair. If Flag is set to 1 the crosshair will be drawn.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This crossair looks not like the regular one but like the one that is drawn in the spectator mode.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Crosshair|byte}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= CurWeapon =&lt;br /&gt;
Updates the clip ammo number and weapon's corresponding ammo type icon on the [[HUD]].&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|See [[CS Weapons Information]] for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|CurWeapon|byte, byte, byte}}&lt;br /&gt;
{{hl1msg|byte|IsActive}}&lt;br /&gt;
{{hl1msg|byte|WeaponID}}&lt;br /&gt;
{{hl1msg|byte|ClipAmmo}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= CZCareer =&lt;br /&gt;
Supplies certain updates to the player regarding Condition Zero singleplayer missions.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|See the [[CZCareer]] page for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|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).}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|The Type argument is case-sensitive.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This event does nothing in CS and CZ multiplayer.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|CZCareer|string,*}}&lt;br /&gt;
{{hl1msg|string|Type}}&lt;br /&gt;
{{hl1msg|*|Parameters}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= CZCareerHUD =&lt;br /&gt;
Displays certain [[HUD]] elements regarding Condition Zero singleplayer missions.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|See the [[CZCareerHUD]] page for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|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).}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|The Type argument is case-sensitive.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This event has some limited functionality in CS and CZ multiplayer (albeit better in CZ).}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|CZCareerHUD|string,*}}&lt;br /&gt;
{{hl1msg|string|Type}}&lt;br /&gt;
{{hl1msg|*|Parameters}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Damage =&lt;br /&gt;
Called when a player takes damage, to display the red locational indicators. The last three arguments is the origin of the damage inflictor or victim origin if inflictor isn't found. DamageType is a bitwise value usually consist of a single bit.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|To caputure this message,you should use &amp;quot;b&amp;quot; as the third parameter in the register_event() function.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Damage|byte, byte, long, coord, coord, coord}}&lt;br /&gt;
{{hl1msg|byte|DamageSave}}&lt;br /&gt;
{{hl1msg|byte|DamageTake}}&lt;br /&gt;
{{hl1msg|long|DamageType}}&lt;br /&gt;
{{hl1msg|coord|CoordX}}&lt;br /&gt;
{{hl1msg|coord|CoordY}}&lt;br /&gt;
{{hl1msg|coord|CoordZ}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= DeathMsg =&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
Also prints the console text message &amp;quot;KillerName killed VictimName with TruncatedWeaponName&amp;quot; or &amp;quot;*** KillerName killed VictimName with a headshot from TruncatedWeaponName ***&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|TruncatedWeaponName doesn't contain a &amp;quot;weapon_&amp;quot; prefix. See [[CS Weapons Information]] for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|For grenade kill TruncatedWeaponName isn't &amp;quot;hegrenade&amp;quot; but &amp;quot;grenade&amp;quot;, in fact it's an actual classname of a throwed grenade.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|For KillerID it's not necessarily should be a PlayerID, it could be 0 if player dies from fall/acid/radiation/fire/etc damage/lack of oxygen or from touch to a &amp;quot;trigger_hurt&amp;quot; entity, in this case TruncatedWeaponName will be &amp;quot;worldspawn&amp;quot; and &amp;quot;trigger_hurt&amp;quot; respectively.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|For vehicle kills TruncatedWeaponName could be &amp;quot;vehicle&amp;quot;, &amp;quot;tank&amp;quot; et cetera.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|DeathMsg|byte, byte, byte, string}}&lt;br /&gt;
{{hl1msg|byte|KillerID}}&lt;br /&gt;
{{hl1msg|byte|VictimID}}&lt;br /&gt;
{{hl1msg|byte|IsHeadshot}}&lt;br /&gt;
{{hl1msg|string|TruncatedWeaponName}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= FlashBat =&lt;br /&gt;
Updates the flashlight battery charge on the [[HUD]].&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|FlashBat|byte}}&lt;br /&gt;
{{hl1msg|byte|ChargePercents}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Flashlight =&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Flashlight|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{hl1msg|byte|ChargePercents}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Fog =&lt;br /&gt;
{{qnotice|mp_Fog 1 for fog in counter-strike}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|Fog|byte, byte, byte}}&lt;br /&gt;
{{hl1msg|byte|FogValue}}&lt;br /&gt;
{{hl1msg|byte|FogValue}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ForceCam =&lt;br /&gt;
Called whenever mp_forcecam or mp_forcechasecam are changed, with their new values passed. There is assumedly a third CVar that this tracks, but it is yet unknown. Note that this message doesn't actually change any of the spectating rules for the client.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Even if mp_forcechasecam is set to 2, it is sent by this message as 1.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ForceCam|byte, byte, byte}}&lt;br /&gt;
{{hl1msg|byte|ForcecamValue}}&lt;br /&gt;
{{hl1msg|byte|ForcechasecamValue}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= GameMode =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|GameMode|byte}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= GameTitle =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Geiger =&lt;br /&gt;
Notifies about radiation level through special sound signals. Distance is a distance to hazard area.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Geiger|byte}}&lt;br /&gt;
{{hl1msg|byte|Distance}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Health =&lt;br /&gt;
Updates the number of health on the [[HUD]].&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Health|byte}}&lt;br /&gt;
{{hl1msg|byte|Health}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= HideWeapon =&lt;br /&gt;
Hides the specified [[HUD]] elements.&amp;lt;br&amp;gt;&lt;br /&gt;
Flags:&lt;br /&gt;
   1   (1&amp;lt;&amp;lt;0)  -  crosshair, ammo, weapons list&lt;br /&gt;
   2   (1&amp;lt;&amp;lt;1)  -  flashlight, +&lt;br /&gt;
   4   (1&amp;lt;&amp;lt;2)  -  ALL&lt;br /&gt;
   8   (1&amp;lt;&amp;lt;3)  -  radar, health, armor, +&lt;br /&gt;
  16   (1&amp;lt;&amp;lt;4)  -  timer, +&lt;br /&gt;
  32   (1&amp;lt;&amp;lt;5)  -  money, +&lt;br /&gt;
  64   (1&amp;lt;&amp;lt;6)  -  crosshair&lt;br /&gt;
 128   (1&amp;lt;&amp;lt;7)  -  +&lt;br /&gt;
Symbol + mean that an additional crosshair will be drawn. That crosshair looks exactly like the one from Crosshair message.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|HideWeapon|byte}}&lt;br /&gt;
{{hl1msg|byte|Flags}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= HLTV =&lt;br /&gt;
Message sent for HLTV and unique for each round-start.&amp;lt;br&amp;gt;&lt;br /&gt;
On new round is fired 2 messages:&lt;br /&gt;
 // reset all players health for HLTV&lt;br /&gt;
 MESSAGE_BEGIN( MSG_SPEC, gmsgHLTV );&lt;br /&gt;
 WRITE_BYTE( 0 );   // 0 = all players&lt;br /&gt;
 WRITE_BYTE( 100 | 128 );&lt;br /&gt;
 MESSAGE_END();&amp;lt;br&amp;gt;&lt;br /&gt;
 // reset all players FOV for HLTV&lt;br /&gt;
 MESSAGE_BEGIN( MSG_SPEC, gmsgHLTV );&lt;br /&gt;
 WRITE_BYTE( 0 );   // all players&lt;br /&gt;
 WRITE_BYTE( 0 );&lt;br /&gt;
 MESSAGE_END();&lt;br /&gt;
&lt;br /&gt;
{{begin-hl1msg|HLTV|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|ClientID}}&lt;br /&gt;
{{hl1msg|byte|Flags}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= HostageK =&lt;br /&gt;
Temporarily draws a blinking red dot on the CT players' radar when a hostage is killed.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|HostageK|byte}}&lt;br /&gt;
{{hl1msg|byte|HostageID}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= HostagePos =&lt;br /&gt;
Draws/updates the blue mark on the CT players' radar which is indicate the corresponding hostage position.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Is called with Flag set to 1 on player [[HUD]] full update.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|HostagePos|byte, byte, coord, coord, coord}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{hl1msg|byte|HostageID}}&lt;br /&gt;
{{hl1msg|coord|CoordX}}&lt;br /&gt;
{{hl1msg|coord|CoordY}}&lt;br /&gt;
{{hl1msg|coord|CoordZ}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= HudText =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= HudTextArgs =&lt;br /&gt;
Prints [[HUD]] text.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|An example of TextCode could be &amp;quot;#Hint_you_have_the_bomb&amp;quot;.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|If you have a problems with specifing the last two arguments use 1 and 0 respectively.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|HudTextArgs|string, byte, byte}}&lt;br /&gt;
{{hl1msg|string|TextCode}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= HudTextPro =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= InitHUD =&lt;br /&gt;
Initializes the [[HUD]].&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|InitHUD}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ItemPickup =&lt;br /&gt;
Temporarily draws correspoding item [[HUD]] icon in the middle of the right side of the screen.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Draw time is depend on the ''hud_drawhistory_time'' client CVar value.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ItemPickup|string}}&lt;br /&gt;
{{hl1msg|string|ItemName}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ItemStatus =&lt;br /&gt;
Notifies about carried items.&amp;lt;br&amp;gt;&lt;br /&gt;
Example of some item bits:&lt;br /&gt;
 1   (1&amp;lt;&amp;lt;0)  -  nightvision goggles&lt;br /&gt;
 2   (1&amp;lt;&amp;lt;1)  -  defusal kit&lt;br /&gt;
{{begin-hl1msg|ItemStatus|byte}}&lt;br /&gt;
{{hl1msg|byte|ItemsBitSum}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Location =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Location|byte, string}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{hl1msg|string|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Money =&lt;br /&gt;
Updates the Amount of money on the [[HUD]]. If the Flag is 1, the additional new-old [[HUD]] money amount difference will be also displayed.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Money|long, byte}}&lt;br /&gt;
{{hl1msg|long|Amount}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= MOTD =&lt;br /&gt;
Displays MOTD window.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Max. Text length is 60. Large MOTD is sent in multiple messages. For the message that is send a last MOTD part the Flag will be set to 1 and 0 otherwise.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|MOTD|byte, string}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{hl1msg|string|Text}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= NVGToggle =&lt;br /&gt;
Toggles night vision mode. For Flag: 1 is on, 0 is off.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|NVGToggle|byte}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Radar =&lt;br /&gt;
Draws/updates the dot on the [[HUD]] radar which is indicate the given player position.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Works for teammates only.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Radar|byte, coord, coord, coord}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{hl1msg|coord|CoordX}}&lt;br /&gt;
{{hl1msg|coord|CoordY}}&lt;br /&gt;
{{hl1msg|coord|CoordZ}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ReceiveW =&lt;br /&gt;
Tell the client which visual weather effect to be executed client side, if cl_weather client cvar is above 0.&amp;lt;br&amp;gt;&lt;br /&gt;
Sent at very first CBasePlayer :: UpdateClientData()&amp;lt;br&amp;gt;&lt;br /&gt;
Mode : 1 is for rain effect, 2 is for snow effect&amp;lt;br&amp;gt;&lt;br /&gt;
Though mode 0 is never sent by the game itself, removes weather effect&amp;lt;br&amp;gt;&lt;br /&gt;
Alternatively send mode 1 and mode 2 with judicious delays make both rain and snow effect&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ReceiveW|byte}}&lt;br /&gt;
{{hl1msg|byte|mode}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ReloadSound =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ReloadSound|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ReqState =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ReqState}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ResetHUD =&lt;br /&gt;
Resets the [[HUD]].&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ResetHUD}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= RoundTime =&lt;br /&gt;
Updates the round timer on the [[HUD]]. Time is in seconds.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|RoundTime|short}}&lt;br /&gt;
{{hl1msg|short|Time}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SayText =&lt;br /&gt;
Prints say [[HUD]] text. Second argument can be a predefined string or a custom one. In the last case the last two arguments isn't required.&amp;lt;br&amp;gt;&lt;br /&gt;
An examples of a predifined Counter-Strike string values: #Cstrike_Chat_AllDead, #Cstrike_Name_Change&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|For #Cstrike_Name_Change String2 is an old name and String3 is a new name.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|SayText|byte, string, string, string}}&lt;br /&gt;
{{hl1msg|byte|SenderID}}&lt;br /&gt;
{{hl1msg|string|String1}}&lt;br /&gt;
{{hl1msg|string|String2}}&lt;br /&gt;
{{hl1msg|string|String3}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Scenario =&lt;br /&gt;
If Active is 0, this display will be hidden. If Active is 1, 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.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|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.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[image:Cs_scenario_msg.jpg|frame|right|Scenario message in CS, using the following parameters: 1, d_mp5navy, 150]]&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Works in both CS and CZ!}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|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.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Scenario|byte, string, byte, short, short}}&lt;br /&gt;
{{hl1msg|byte|Active}}&lt;br /&gt;
{{hl1msg|string|Sprite}}&lt;br /&gt;
{{hl1msg|byte|Alpha}}&lt;br /&gt;
{{hl1msg|short|FlashRate}}&lt;br /&gt;
{{hl1msg|short|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ScoreAttrib =&lt;br /&gt;
Updates the scoreboard's attribute for the specified player. For the 2nd argument, 0 is nothing, (1&amp;lt;&amp;lt;0) i.e. 1 is dead, (1&amp;lt;&amp;lt;1) i.e. 2 is bomb, (1&amp;lt;&amp;lt;2) i.e. 4 is VIP.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|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.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ScoreAttrib|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{hl1msg|byte|Flags}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ScoreInfo =&lt;br /&gt;
Updates the scoreboard with the given player's Frags and Deaths.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|In CS the 4th argument is always equal to 0.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*See [http://www.amxmodx.org/funcwiki.php?go=module&amp;amp;id=4#const_teams CS Team Constants] for team indeces constants list.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ScoreInfo|byte, short, short, short, short}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{hl1msg|short|Frags}}&lt;br /&gt;
{{hl1msg|short|Deaths}}&lt;br /&gt;
{{hl1msg|short|ClassID?}}&lt;br /&gt;
{{hl1msg|short|TeamID}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ScreenFade =&lt;br /&gt;
Fades the screen.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Duration and HoldTime is in special units. 1 second is equal to (1&amp;lt;&amp;lt;12) i.e. 4096 units.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Flags (from HLSDK):&lt;br /&gt;
 FFADE_IN         0x0000 // Just here so we don't pass 0 into the function&lt;br /&gt;
 FFADE_OUT        0x0001 // Fade out (not in)&lt;br /&gt;
 FFADE_MODULATE   0x0002 // Modulate (don't blend)&lt;br /&gt;
 FFADE_STAYOUT    0x0004 // ignores the duration, stays faded out until new ScreenFade message received&lt;br /&gt;
{{begin-hl1msg|ScreenFade|short, short, short, byte, byte, byte, byte}}&lt;br /&gt;
{{hl1msg|short|Duration}}&lt;br /&gt;
{{hl1msg|short|HoldTime}}&lt;br /&gt;
{{hl1msg|short|Flags}}&lt;br /&gt;
{{hl1msg|byte|ColorR}}&lt;br /&gt;
{{hl1msg|byte|ColorG}}&lt;br /&gt;
{{hl1msg|byte|ColorB}}&lt;br /&gt;
{{hl1msg|byte|Alpha}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ScreenShake =&lt;br /&gt;
Shakes the screen.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|All arguments is in special units. 1 second is equal to (1&amp;lt;&amp;lt;12) i.e. 4096 units.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ScreenShake|short, short, short}}&lt;br /&gt;
{{hl1msg|short|Amplitude}}&lt;br /&gt;
{{hl1msg|short|Duration}}&lt;br /&gt;
{{hl1msg|short|Frequency}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SendAudio =&lt;br /&gt;
Plays the specified audio. An example of AudioCode could be &amp;quot;%!MRAD_rounddraw&amp;quot;.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|SendAudio|byte, string, short}}&lt;br /&gt;
{{hl1msg|byte|SenderID}}&lt;br /&gt;
{{hl1msg|string|AudioCode}}&lt;br /&gt;
{{hl1msg|short|Pitch}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ServerName =&lt;br /&gt;
Sends a server name to a client.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ServerName|string}}&lt;br /&gt;
{{hl1msg|string|ServerName}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SetFOV =&lt;br /&gt;
Sets the specified field of view.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|SetFOV|byte}}&lt;br /&gt;
{{hl1msg|byte|Degrees}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ShadowIdx =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ShadowIdx|long}}&lt;br /&gt;
{{hl1msg|long|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ShowMenu =&lt;br /&gt;
Displays a &amp;quot;menu&amp;quot; to a player (text on the left side of the screen). Acts like AMXX's show_menu (in fact, this is how AMXX shows a menu).&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|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.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ShowMenu|short, char, byte, string}}&lt;br /&gt;
{{hl1msg|short|KeysBitSum}}&lt;br /&gt;
{{hl1msg|char|Time}}&lt;br /&gt;
{{hl1msg|byte|Multipart}}&lt;br /&gt;
{{hl1msg|string|Text}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ShowTimer =&lt;br /&gt;
Forces the round timer displaying.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ShowTimer}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SpecHealth =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|SpecHealth|byte}}&lt;br /&gt;
{{hl1msg|byte|Health?}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= SpecHealth2 =&lt;br /&gt;
Updates the observer's screen with a name and health of the given player.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|SpecHealth2|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|Health}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Spectator =&lt;br /&gt;
Called when player becomes an observer/spectator.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|On join to Spectators usually is fired twice in a row.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Spectator|byte, byte}}&lt;br /&gt;
{{hl1msg|byte|ClientID}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= StatusIcon =&lt;br /&gt;
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 is required only if Status aren't equal to 0.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|StatusIcon|byte, string, byte, byte, byte}}&lt;br /&gt;
{{hl1msg|byte|Status}}&lt;br /&gt;
{{hl1msg|string|SpriteName}}&lt;br /&gt;
{{hl1msg|byte|ColorR}}&lt;br /&gt;
{{hl1msg|byte|ColorG}}&lt;br /&gt;
{{hl1msg|byte|ColorB}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= StatusValue =&lt;br /&gt;
Sends/updates the status values. For the Flag 1 the Value is TeamRelation, for 2 is PlayerID, for 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.&amp;lt;br&amp;gt;&lt;br /&gt;
Usually is fired as a triple message, for example:&lt;br /&gt;
 {1,  2}  -  non-teammate player&lt;br /&gt;
 {2, 17}  -  player index is 17&lt;br /&gt;
 {3, 59}  -  player health is 59&lt;br /&gt;
{{begin-hl1msg|StatusValue|byte, short}}&lt;br /&gt;
{{hl1msg|byte|Flag}}&lt;br /&gt;
{{hl1msg|short|Value}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= StatusText =&lt;br /&gt;
Specifies the status text format.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|StatusText|byte, string}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{hl1msg|string|Text}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TaskTime =&lt;br /&gt;
Displays a secondary timer above the round timer. Used for Condition Zero singleplayer missions.&amp;lt;br&amp;gt;&lt;br /&gt;
If Time is -1, timer dissappears. If Time is any other negative value, it is displayed as green instead of yellow, and considered positive.&amp;lt;br&amp;gt;&lt;br /&gt;
If Active is true, timer counts down. Otherwise, it is paused.&amp;lt;br&amp;gt;If Fade is above zero, the timer will slowly fade out after that many seconds have passed (even if the timer is inactive).&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This event can only be used on missions that have an objective requiring a secondary timer!}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|TaskTime|short, byte, byte}}&lt;br /&gt;
{{hl1msg|short|Time}}&lt;br /&gt;
{{hl1msg|byte|Active}}&lt;br /&gt;
{{hl1msg|byte|Fade}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TeamInfo =&lt;br /&gt;
Sets the team information for the given player.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|In CS TeamName is either &amp;quot;UNASSIGNED&amp;quot;, &amp;quot;TERRORIST&amp;quot;, &amp;quot;CT&amp;quot; or &amp;quot;SPECTATOR&amp;quot;.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|TeamInfo|byte, string}}&lt;br /&gt;
{{hl1msg|byte|PlayerID}}&lt;br /&gt;
{{hl1msg|string|TeamName}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TeamScore =&lt;br /&gt;
Updates the team score on the score board.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|In CS TeamName is either &amp;quot;TERRORIST&amp;quot; or &amp;quot;CT&amp;quot;.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|TeamScore|string, short}}&lt;br /&gt;
{{hl1msg|string|TeamName}}&lt;br /&gt;
{{hl1msg|short|Score}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TextMsg =&lt;br /&gt;
Prints a cutom/or predefined text message.&amp;lt;br&amp;gt;&lt;br /&gt;
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:&lt;br /&gt;
 Arg1: 1&lt;br /&gt;
 Arg2: #Game_join_ct&lt;br /&gt;
 Arg3: Pimp Daddy&lt;br /&gt;
{{begin-hl1msg|TextMsg|byte, string, string, string, string, string}}&lt;br /&gt;
{{hl1msg|byte|DestinationType}}&lt;br /&gt;
{{hl1msg|string|Message}}&lt;br /&gt;
{{hl1msg|string|Submsg}}&lt;br /&gt;
{{hl1msg|string|Submsg}}&lt;br /&gt;
{{hl1msg|string|Submsg}}&lt;br /&gt;
{{hl1msg|string|Submsg}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= Train =&lt;br /&gt;
Displays the speed bar used for controlling a train.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Speed is as follows: 0 (disable display), 1 (reverse), 2 (neutral), 3 (slow speed), 4 (medium speed), 5 (maximum speed)}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|Train|byte}}&lt;br /&gt;
{{hl1msg|byte|Speed}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= TutorClose =&lt;br /&gt;
Closes all CZ-style tutor popups.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= TutorLine =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= TutorState =&lt;br /&gt;
{{qnotice|No Information available for this message.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= TutorText =&lt;br /&gt;
Used to display a CZ-style tutor popup.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|TutorText|string, byte, short, short, short}}&lt;br /&gt;
{{hl1msg|string|Unknown}}&lt;br /&gt;
{{hl1msg|byte|Unknown}}&lt;br /&gt;
{{hl1msg|short|Unknown}}&lt;br /&gt;
{{hl1msg|short|Unknown}}&lt;br /&gt;
{{hl1msg|short|Unknown}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= ViewMode =&lt;br /&gt;
{{qnotice|No Information available for this message (HLSDK says this switches to first-person view, but it doesn't seem to function as so).}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|This message has no arguments.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|ViewMode}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= VGUIMenu =&lt;br /&gt;
Displays a predefined VGUI menu.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|VGUIMenu|byte, short, char, byte, string}}&lt;br /&gt;
{{hl1msg|byte|MenuID}}&lt;br /&gt;
{{hl1msg|short|KeysBitSum}}&lt;br /&gt;
{{hl1msg|char|Time?}}&lt;br /&gt;
{{hl1msg|byte|Multipart?}}&lt;br /&gt;
{{hl1msg|string|Name?}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= VoiceMask =&lt;br /&gt;
Used to tell a client who he can hear over the microphone.&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|VoiceMask|long, long}}&lt;br /&gt;
{{hl1msg|long|AudiblePlayersIndexBitSum}}&lt;br /&gt;
{{hl1msg|long|ServerBannedPlayersIndexBitSum}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= WeaponList =&lt;br /&gt;
Configures the [[HUD]] weapons list.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Fired on map initialization.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|SlotID starts from 0.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Flags (from HLSDK):&lt;br /&gt;
 ITEM_FLAG_SELECTONEMPTY       1&lt;br /&gt;
 ITEM_FLAG_NOAUTORELOAD        2&lt;br /&gt;
 ITEM_FLAG_NOAUTOSWITCHEMPTY   4&lt;br /&gt;
 ITEM_FLAG_LIMITINWORLD        8&lt;br /&gt;
 ITEM_FLAG_EXHAUSTIBLE        16 // A player can totally exhaust their ammo supply and lose this weapon.&lt;br /&gt;
{{qnotice|See [[CS Weapons Information]] for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|WeaponList|string, byte, byte, byte, byte, byte, byte, byte, byte}}&lt;br /&gt;
{{hl1msg|string|WeaponName}}&lt;br /&gt;
{{hl1msg|byte|PrimaryAmmoID}}&lt;br /&gt;
{{hl1msg|byte|PrimaryAmmoMaxAmount}}&lt;br /&gt;
{{hl1msg|byte|SecondaryAmmoID}}&lt;br /&gt;
{{hl1msg|byte|SecondaryAmmoMaxAmount}}&lt;br /&gt;
{{hl1msg|byte|SlotID}}&lt;br /&gt;
{{hl1msg|byte|NumberInSlot}}&lt;br /&gt;
{{hl1msg|byte|WeaponID}}&lt;br /&gt;
{{hl1msg|byte|Flags}}&lt;br /&gt;
{{end-hl1msg}}&lt;br /&gt;
&lt;br /&gt;
= WeapPickup =&lt;br /&gt;
Temporarily draws correspoding weapon [[HUD]] icon in the middle of the right side of the screen.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Draw time is depend on the ''hud_drawhistory_time'' client CVar value.}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|Is fired right before weapon is picked up (notice ''&amp;quot;before&amp;quot;'').}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{qnotice|See [[CS Weapons Information]] for more information.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl1msg|WeapPickup|byte}}&lt;br /&gt;
{{hl1msg|byte|WeaponID}}&lt;br /&gt;
{{end-hl1msg}}&lt;/div&gt;</summary>
		<author><name>ConnorMcLeod</name></author>
		
	</entry>
</feed>