amxmodx/plugins/include/message_const.inc
2018-09-28 15:01:42 +02:00

2006 lines
40 KiB
SourcePawn

// vim: set ts=4 sw=4 tw=99 noet:
//
// AMX Mod X, based on AMX Mod by Aleksander Naszko ("OLO").
// Copyright (C) The AMX Mod X Development Team.
//
// This software is licensed under the GNU General Public License, version 3 or higher.
// Additional exceptions apply. For full license details, see LICENSE.txt or visit:
// https://alliedmods.net/amxmodx-license
//
// Message Constants
//
#if defined _message_const_included
#endinput
#endif
#define _message_const_included
/**
* Destination types for message_begin()
*/
#define MSG_BROADCAST 0 // Unreliable to all
#define MSG_ONE 1 // Reliable to one (msg_entity)
#define MSG_ALL 2 // Reliable to all
#define MSG_INIT 3 // Write to the init string
#define MSG_PVS 4 // Ents in PVS of org
#define MSG_PAS 5 // Ents in PAS of org
#define MSG_PVS_R 6 // Reliable to PVS
#define MSG_PAS_R 7 // Reliable to PAS
#define MSG_ONE_UNRELIABLE 8 // Send to one client, but don't put in reliable stream, put in unreliable datagram (could be dropped)
#define MSG_SPEC 9 // Sends to all spectator proxies
/**
* Hardcoded message types for message_begin()
*
* @note Look at the actual HLSDK for details
*/
#define SVC_BAD 0
#define SVC_NOP 1
#define SVC_DISCONNECT 2
#define SVC_EVENT 3
#define SVC_VERSION 4
#define SVC_SETVIEW 5
#define SVC_SOUND 6
#define SVC_TIME 7
#define SVC_PRINT 8
#define SVC_STUFFTEXT 9
#define SVC_SETANGLE 10
#define SVC_SERVERINFO 11
#define SVC_LIGHTSTYLE 12
#define SVC_UPDATEUSERINFO 13
#define SVC_DELTADESCRIPTION 14
#define SVC_CLIENTDATA 15
#define SVC_STOPSOUND 16
#define SVC_PINGS 17
#define SVC_PARTICLE 18
#define SVC_DAMAGE 19
#define SVC_SPAWNSTATIC 20
#define SVC_EVENT_RELIABLE 21
#define SVC_SPAWNBASELINE 22
#define SVC_TEMPENTITY 23
#define SVC_SETPAUSE 24
#define SVC_SIGNONNUM 25
#define SVC_CENTERPRINT 26
#define SVC_KILLEDMONSTER 27
#define SVC_FOUNDSECRET 28
#define SVC_SPAWNSTATICSOUND 29
#define SVC_INTERMISSION 30
#define SVC_FINALE 31
#define SVC_CDTRACK 32
#define SVC_RESTORE 33
#define SVC_CUTSCENE 34
#define SVC_WEAPONANIM 35
#define SVC_DECALNAME 36
#define SVC_ROOMTYPE 37
#define SVC_ADDANGLE 38
#define SVC_NEWUSERMSG 39
#define SVC_PACKETENTITIES 40
#define SVC_DELTAPACKETENTITIES 41
#define SVC_CHOKE 42
#define SVC_RESOURCELIST 43
#define SVC_NEWMOVEVARS 44
#define SVC_RESOURCEREQUEST 45
#define SVC_CUSTOMIZATION 46
#define SVC_CROSSHAIRANGLE 47
#define SVC_SOUNDFADE 48
#define SVC_FILETXFERFAILED 49
#define SVC_HLTV 50
#define SVC_DIRECTOR 51
#define SVC_VOICEINIT 52
#define SVC_VOICEDATA 53
#define SVC_SENDEXTRAINFO 54
#define SVC_TIMESCALE 55
#define SVC_RESOURCELOCATION 56
#define SVC_SENDCVARVALUE 57
#define SVC_SENDCVARVALUE2 58
/**
* Flags for set_msg_block()
*/
#define BLOCK_NOT 0
#define BLOCK_ONCE 1
#define BLOCK_SET 2
/**
* Message argument types used with get_msg_argtype() and set_msg_arg_*
*/
enum
{
ARG_BYTE = 1, /* int */
ARG_CHAR, /* int */
ARG_SHORT, /* int */
ARG_LONG, /* int */
ARG_ANGLE, /* float */
ARG_COORD, /* float */
ARG_STRING, /* string */
ARG_ENTITY, /* int */
};
/**
* @section TempEntity messages for message_begin()
*/
/**
* Beam effect between two points
*
* @note
* write_byte(TE_BEAMPOINTS)
* write_coord(startposition.x)
* write_coord(startposition.y)
* write_coord(startposition.z)
* write_coord(endposition.x)
* write_coord(endposition.y)
* write_coord(endposition.z)
* write_short(sprite index)
* write_byte(starting frame)
* write_byte(frame rate in 0.1's)
* write_byte(life in 0.1's)
* write_byte(line width in 0.1's)
* write_byte(noise amplitude in 0.01's)
* write_byte(red)
* write_byte(green)
* write_byte(blue)
* write_byte(brightness)
* write_byte(scroll speed in 0.1's)
*/
#define TE_BEAMPOINTS 0
/**
* Beam effect between a point and an entity
*
* @note
* write_byte(TE_BEAMENTPOINT)
* write_short(start entity)
* write_coord(endposition.x)
* write_coord(endposition.y)
* write_coord(endposition.z)
* write_short(sprite index)
* write_byte(starting frame)
* write_byte(frame rate in 0.1's)
* write_byte(life in 0.1's)
* write_byte(line width in 0.1's)
* write_byte(noise amplitude in 0.01's)
* write_byte(red)
* write_byte(green)
* write_byte(blue)
* write_byte(brightness)
* write_byte(scroll speed in 0.1's)
*/
#define TE_BEAMENTPOINT 1
/**
* Particle effect plus ricochet sound
*
* @note
* write_byte(TE_GUNSHOT)
* write_coord(position.x)
* write_coord(position.y)
* write_coord(position.z)
*/
#define TE_GUNSHOT 2
/**
* Additive sprite, 2 dynamic lights, flickering particles, explosion sound,
* move vertically 8 pps
*
* @note
* write_byte(TE_EXPLOSION)
* write_coord(position.x)
* write_coord(position.y)
* write_coord(position.z)
* write_short(sprite index)
* write_byte(scale in 0.1's)
* write_byte(framerate)
* write_byte(flags)
*/
#define TE_EXPLOSION 3
/**
* Flags for the TE_EXPLOSION effect, controlling its performance and aesthetic
* features
*/
#define TE_EXPLFLAG_NONE 0 // All flags clear makes default Half-Life explosion
#define TE_EXPLFLAG_NOADDITIVE 1 // Sprite will be drawn opaque (ensure that the sprite you send is a non-additive sprite)
#define TE_EXPLFLAG_NODLIGHTS 2 // Do not render dynamic lights
#define TE_EXPLFLAG_NOSOUND 4 // Do not play client explosion sound
#define TE_EXPLFLAG_NOPARTICLES 8 // Do not draw particles
/**
* Quake1 "tarbaby" explosion with sound
*
* @note
* write_byte(TE_TAREXPLOSION)
* write_coord(position.x)
* write_coord(position.y)
* write_coord(position.z)
*/
#define TE_TAREXPLOSION 4
/**
* Alphablend sprite, move vertically 30pps
*
* @note
* write_byte(TE_SMOKE)
* write_coord(position.x)
* write_coord(position.y)
* write_coord(position.z)
* write_short(sprite index)
* write_byte(scale in 0.1's)
* write_byte(framerate)
*/
#define TE_SMOKE 5
/**
* Tracer effect from point to point
*
* @note
* write_byte(TE_TRACER)
* write_coord(startposition.x)
* write_coord(startposition.y)
* write_coord(startposition.z)
* write_coord(endposition.x)
* write_coord(endposition.y)
* write_coord(endposition.z)
*/
#define TE_TRACER 6
/**
* TE_BEAMPOINTS with simplified parameters
*
* @note
* write_byte(TE_LIGHTNING)
* write_coord(startposition.x)
* write_coord(startposition.y)
* write_coord(startposition.z)
* write_coord(endposition.x)
* write_coord(endposition.y)
* write_coord(endposition.z)
* write_byte(life in 0.1's)
* write_byte(width in 0.1's)
* write_byte(amplitude in 0.01's)
* write_short(sprite model index)
*/
#define TE_LIGHTNING 7
/**
* TE_BEAMENTS
*
* @note
* write_byte(TE_BEAMENTS)
* write_short(start entity)
* write_short(end entity)
* write_short(sprite index)
* write_byte(starting frame)
* write_byte(frame rate in 0.1's)
* write_byte(life in 0.1's)
* write_byte(line width in 0.1's)
* write_byte(noise amplitude in 0.01's)
* write_byte(red)
* write_byte(green)
* write_byte(blue)
* write_byte(brightness)
* write_byte(scroll speed in 0.1's)
*/
#define TE_BEAMENTS 8
/**
* 8 random tracers with gravity, ricochet sprite
*
* @note
* write_byte(TE_SPARKS)
* write_coord(position.x)
* write_coord(position.y)
* write_coord(position.z)
*/
#define TE_SPARKS 9
/**
* Quake1 lava splash
*
* @note
* write_byte(TE_LAVASPLASH)
* write_coord(position.x)
* write_coord(position.y)
* write_coord(position.z)
*/
#define TE_LAVASPLASH 10
/**
* Quake1 teleport splash
*
* @note
* write_byte(TE_TELEPORT)
* write_coord(position.x)
* write_coord(position.y)
* write_coord(position.z)
*/
#define TE_TELEPORT 11
/**
* Quake1 colormaped (base palette) particle explosion with sound
*
* @note
* write_byte(TE_EXPLOSION2)
* write_coord(position.x)
* write_coord(position.y)
* write_coord(position.z)
* write_byte(starting color)
* write_byte(num colors)
*/
#define TE_EXPLOSION2 12
/**
* Decal from the .BSP file
*
* @note
* write_byte(TE_BSPDECAL)
* write_coord(position.x) decal position (center of texture in world)
* write_coord(position.y)
* write_coord(position.z)
* write_short(texture index of precached decal texture name)
* write_short(entity index)
* [optional - write_short(index of model of above entity) only included if previous short is non-zero (not the world)]
*/
#define TE_BSPDECAL 13
/**
* Tracers moving toward a point
*
* @note
* write_byte(TE_IMPLOSION)
* write_coord(position.x)
* write_coord(position.y)
* write_coord(position.z)
* write_byte(radius)
* write_byte(count)
* write_byte(life in 0.1's)
*/
#define TE_IMPLOSION 14
/**
* Line of moving glow sprites with gravity, fadeout, and collisions
*
* @note
* write_byte(TE_SPRITETRAIL)
* write_coord(startposition.x)
* write_coord(startposition.y)
* write_coord(startposition.z)
* write_coord(endposition.x)
* write_coord(endposition.y)
* write_coord(endposition.z)
* write_short(sprite index)
* write_byte(count)
* write_byte(life in 0.1's)
* write_byte(scale in 0.1's)
* write_byte(velocity along vector in 10's)
* write_byte(randomness of velocity in 10's)
*/
#define TE_SPRITETRAIL 15
/**
* Additive sprite, plays 1 cycle
*
* @note
* write_byte(TE_SPRITE)
* write_coord(position.x)
* write_coord(position.y)
* write_coord(position.z)
* write_short(sprite index)
* write_byte(scale in 0.1's)
* write_byte(brightness)
*/
#define TE_SPRITE 17
/**
* A beam with a sprite at the end
*
* @note
* write_byte(TE_BEAMSPRITE)
* write_coord(startposition.x)
* write_coord(startposition.y)
* write_coord(startposition.z)
* write_coord(endposition.x)
* write_coord(endposition.y)
* write_coord(endposition.z)
* write_short(beam sprite index)
* write_short(end sprite index)
*/
#define TE_BEAMSPRITE 18
/**
* Screen aligned beam ring, expands to max radius over lifetime
*
* @note
* write_byte(TE_BEAMTORUS)
* write_coord(position.x)
* write_coord(position.y)
* write_coord(position.z)
* write_coord(axis.x)
* write_coord(axis.y)
* write_coord(axis.z)
* write_short(sprite index)
* write_byte(starting frame)
* write_byte(frame rate in 0.1's)
* write_byte(life in 0.1's)
* write_byte(line width in 0.1's)
* write_byte(noise amplitude in 0.01's)
* write_byte(red)
* write_byte(green)
* write_byte(blue)
* write_byte(brightness)
* write_byte(scroll speed in 0.1's)
*/
#define TE_BEAMTORUS 19
/**
* Disk that expands to max radius over lifetime
*
* @note
* write_byte(TE_BEAMDISK)
* write_coord(position.x)
* write_coord(position.y)
* write_coord(position.z)
* write_coord(axis.x)
* write_coord(axis.y)
* write_coord(axis.z)
* write_short(sprite index)
* write_byte(starting frame)
* write_byte(frame rate in 0.1's)
* write_byte(life in 0.1's)
* write_byte(line width in 0.1's)
* write_byte(noise amplitude in 0.01's)
* write_byte(red)
* write_byte(green)
* write_byte(blue)
* write_byte(brightness)
* write_byte(scroll speed in 0.1's)
*/
#define TE_BEAMDISK 20
/**
* Cylinder that expands to max radius over lifetime
*
* @note
* write_byte(TE_BEAMCYLINDER)
* write_coord(position.x)
* write_coord(position.y)
* write_coord(position.z)
* write_coord(axis.x)
* write_coord(axis.y)
* write_coord(axis.z)
* write_short(sprite index)
* write_byte(starting frame)
* write_byte(frame rate in 0.1's)
* write_byte(life in 0.1's)
* write_byte(line width in 0.1's)
* write_byte(noise amplitude in 0.01's)
* write_byte(red)
* write_byte(green)
* write_byte(blue)
* write_byte(brightness)
* write_byte(scroll speed in 0.1's)
*/
#define TE_BEAMCYLINDER 21
/**
* Create a line of decaying beam segments until entity stops moving
*
* @note
* write_byte(TE_BEAMFOLLOW)
* write_short(entity:attachment to follow)
* write_short(sprite index)
* write_byte(life in 0.1's)
* write_byte(line width in 0.1's)
* write_byte(red)
* write_byte(green)
* write_byte(blue)
* write_byte(brightness)
*/
#define TE_BEAMFOLLOW 22
/**
* TE_GLOWSPRITE
*
* @note
* write_byte(TE_GLOWSPRITE)
* write_coord(position.x)
* write_coord(position.y)
* write_coord(position.z)
* write_short(model index)
* write_byte(scale / 10)
* write_byte(size)
* write_byte(brightness)
*/
#define TE_GLOWSPRITE 23
/**
* Connect a beam ring to two entities
*
* @note
* write_byte(TE_BEAMRING)
* write_short(start entity)
* write_short(end entity)
* write_short(sprite index)
* write_byte(starting frame)
* write_byte(frame rate in 0.1's)
* write_byte(life in 0.1's)
* write_byte(line width in 0.1's)
* write_byte(noise amplitude in 0.01's)
* write_byte(red)
* write_byte(green)
* write_byte(blue)
* write_byte(brightness)
* write_byte(scroll speed in 0.1's)
*/
#define TE_BEAMRING 24
/**
* Oriented shower of tracers
*
* @note
* write_byte(TE_STREAK_SPLASH)
* write_coord(startposition.x)
* write_coord(startposition.y)
* write_coord(startposition.z)
* write_coord(vector.x)
* write_coord(vector.y)
* write_coord(vector.z)
* write_byte(color)
* write_short(count)
* write_short(base speed)
* write_short(random velocity)
*/
#define TE_STREAK_SPLASH 25
/**
* Dynamic light, effect world, minor entity effect
*
* @note
* write_byte(TE_DLIGHT)
* write_coord(position.x)
* write_coord(position.y)
* write_coord(position.z)
* write_byte(radius in 10's)
* write_byte(red)
* write_byte(green)
* write_byte(blue)
* write_byte(brightness)
* write_byte(life in 10's)
* write_byte(decay rate in 10's)
*/
#define TE_DLIGHT 27
/**
* Point entity light, no world effect
*
* @note
* write_byte(TE_ELIGHT)
* write_short(entity:attachment to follow)
* write_coord(position.x)
* write_coord(position.y)
* write_coord(position.z)
* write_coord(radius)
* write_byte(red)
* write_byte(green)
* write_byte(blue)
* write_byte(life in 0.1's)
* write_coord(decay rate)
*/
#define TE_ELIGHT 28
/**
* TE_TEXTMESSAGE
*
* @note
* write_byte(TE_TEXTMESSAGE)
* write_byte(channel)
* write_short(x) -1 = center)
* write_short(y) -1 = center)
* write_byte(effect) 0 = fade in/fade out, 1 is flickery credits, 2 is write out (training room)
* write_byte(red) - text color
* write_byte(green)
* write_byte(blue)
* write_byte(alpha)
* write_byte(red) - effect color
* write_byte(green)
* write_byte(blue)
* write_byte(alpha)
* write_short(fadein time)
* write_short(fadeout time)
* write_short(hold time)
* [optional] write_short(fxtime) time the highlight lags behing the leading text in effect 2
* write_string(text message) 512 chars max string size
*/
#define TE_TEXTMESSAGE 29
/**
* TE_LINE
*
* @note
* write_byte(TE_LINE)
* write_coord(startposition.x)
* write_coord(startposition.y)
* write_coord(startposition.z)
* write_coord(endposition.x)
* write_coord(endposition.y)
* write_coord(endposition.z)
* write_short(life in 0.1 s)
* write_byte(red)
* write_byte(green)
* write_byte(blue)
*/
#define TE_LINE 30
/**
* TE_BOX
*
* @note
* write_byte(TE_BOX)
* write_coord(boxmins.x)
* write_coord(boxmins.y)
* write_coord(boxmins.z)
* write_coord(boxmaxs.x)
* write_coord(boxmaxs.y)
* write_coord(boxmaxs.z)
* write_short(life in 0.1 s)
* write_byte(red)
* write_byte(green)
* write_byte(blue)
*/
#define TE_BOX 31
/**
* Kill all beams attached to entity
*
* @note
* write_byte(TE_KILLBEAM)
* write_short(entity)
*/
#define TE_KILLBEAM 99
/**
* TE_LARGEFUNNEL
*
* @note
* write_byte(TE_LARGEFUNNEL)
* write_coord(position.x)
* write_coord(position.y)
* write_coord(position.z)
* write_short(sprite index)
* write_short(flags)
*/
#define TE_LARGEFUNNEL 100
/**
* Particle spray
*
* @note
* write_byte(TE_BLOODSTREAM)
* write_coord(position.x)
* write_coord(position.y)
* write_coord(position.z)
* write_coord(vector.x)
* write_coord(vector.y)
* write_coord(vector.z)
* write_byte(color)
* write_byte(speed)
*/
#define TE_BLOODSTREAM 101
/**
* Line of particles every 5 units, dies in 30 seconds
*
* @note
* write_byte(TE_SHOWLINE)
* write_coord(startposition.x)
* write_coord(startposition.y)
* write_coord(startposition.z)
* write_coord(endposition.x)
* write_coord(endposition.y)
* write_coord(endposition.z)
*/
#define TE_SHOWLINE 102
/**
* Particle spray
*
* @note
* write_byte(TE_BLOOD)
* write_coord(position.x)
* write_coord(position.y)
* write_coord(position.z)
* write_coord(vector.x)
* write_coord(vector.y)
* write_coord(vector.z)
* write_byte(color)
* write_byte(speed)
*/
#define TE_BLOOD 103
/**
* Decal applied to a brush entity (not the world)
*
* @note
* write_byte(TE_DECAL)
* write_coord(position.x) decal position (center of texture in world)
* write_coord(position.y)
* write_coord(position.z)
* write_byte(texture index of precached decal texture name)
* write_short(entity index)
*/
#define TE_DECAL 104
/**
* Create alpha sprites inside of entity, float upwards
*
* @note
* write_byte(TE_FIZZ)
* write_short(entity)
* write_short(sprite index)
* write_byte density)
*/
#define TE_FIZZ 105
/**
* Create a moving model that bounces and makes a sound when it hits
*
* @note
* write_byte(TE_MODEL)
* write_coord(position.x)
* write_coord(position.y)
* write_coord(position.z)
* write_coord(velocity.x)
* write_coord(velocity.y)
* write_coord(velocity.z)
* write_angle(initial yaw)
* write_short(model index)
* write_byte(bounce sound type)
* write_byte(life in 0.1's)
*/
#define TE_MODEL 106
/**
* Spherical shower of models, picks from set
*
* @note
* write_byte(TE_EXPLODEMODEL)
* write_coord(origin.x)
* write_coord(origin.y)
* write_coord(origin.z)
* write_coord(velocity.x)
* write_coord(velocity.y)
* write_coord(velocity.z)
* write_short(model index)
* write_short(count)
* write_byte(life in 0.1's)
*/
#define TE_EXPLODEMODEL 107
/**
* Box of models or sprites
*
* @note
* write_byte(TE_BREAKMODEL)
* write_coord(position.x)
* write_coord(position.y)
* write_coord(position.z)
* write_coord(size.x)
* write_coord(size.y)
* write_coord(size.z)
* write_coord(velocity.x)
* write_coord(velocity.y)
* write_coord(velocity.z)
* write_byte(random velocity in 10's)
* write_short(sprite or model index)
* write_byte(count)
* write_byte(life in 0.1 secs)
* write_byte(flags)
*/
#define TE_BREAKMODEL 108
/**
* Decal and ricochet sound
*
* @note
* write_byte(TE_GUNSHOTDECAL)
* write_coord(position.x)
* write_coord(position.y)
* write_coord(position.z)
* write_short(entity index???)
* write_byte(decal???)
*/
#define TE_GUNSHOTDECAL 109
/**
* Spray of alpha sprites
*
* @note
* write_byte(TE_SPRITE_SPRAY)
* write_coord(position.x)
* write_coord(position.y)
* write_coord(position.z)
* write_coord(velocity.x)
* write_coord(velocity.y)
* write_coord(velocity.z)
* write_short(sprite index)
* write_byte(count)
* write_byte(speed)
* write_byte(noise)
*/
#define TE_SPRITE_SPRAY 110
/**
* Quick spark sprite, client ricochet sound.
*
* @note
* write_byte(TE_ARMOR_RICOCHET)
* write_coord(position.x)
* write_coord(position.y)
* write_coord(position.z)
* write_byte(scale in 0.1's)
*/
#define TE_ARMOR_RICOCHET 111
/**
* TE_PLAYERDECAL
*
* @note
* write_byte(TE_PLAYERDECAL)
* write_byte(playerindex)
* write_coord(position.x)
* write_coord(position.y)
* write_coord(position.z)
* write_short(entity???)
* write_byte(decal number)
* [optional] write_short(model index)
*/
#define TE_PLAYERDECAL 112
/**
* Create alpha sprites inside of box, float upwards
*
* @note
* write_byte(TE_BUBBLES)
* write_coord(position.x) (min start position)
* write_coord(position.y)
* write_coord(position.z)
* write_coord(position.x) (max start position)
* write_coord(position.y)
* write_coord(position.z)
* write_coord(float height)
* write_short(model index)
* write_byte(count)
* write_coord(speed)
*/
#define TE_BUBBLES 113
/**
* Create alpha sprites along a line, float upwards
*
* @note
* write_byte(TE_BUBBLETRAIL)
* write_coord(position.x) (min start position)
* write_coord(position.y) (min start position)
* write_coord(position.z) (min start position)
* write_coord(position.x) (max start position)
* write_coord(position.y) (max start position)
* write_coord(position.z) (max start position)
* write_coord(float height)
* write_short(model index)
* write_byte(count)
* write_coord(speed)
*/
#define TE_BUBBLETRAIL 114
/**
* Spray of opaque sprite1's that fall, single sprite2 for 1..2 secs (this is a high-priority tent)
*
* @note
* write_byte(TE_BLOODSPRITE)
* write_coord(position.x)
* write_coord(position.y)
* write_coord(position.z)
* write_short(sprite1 index)
* write_short(sprite2 index)
* write_byte(color)
* write_byte(scale)
*/
#define TE_BLOODSPRITE 115
/**
* Decal applied to the world brush
*
* @note
* write_byte(TE_WORLDDECAL)
* write_coord(position.x) decal position (center of texture in world)
* write_coord(position.y)
* write_coord(position.z)
* write_byte(texture index of precached decal texture name)
*/
#define TE_WORLDDECAL 116
/**
* Decal (with texture index > 256) applied to world brush
*
* @note
* write_byte(TE_WORLDDECALHIGH)
* write_coord(position.x) decal position (center of texture in world)
* write_coord(position.y)
* write_coord(position.z)
* write_byte(texture index of precached decal texture name - 256)
*/
#define TE_WORLDDECALHIGH 117
/**
* Same as TE_DECAL, but the texture index was greater than 256
*
* @note
* write_byte(TE_DECALHIGH)
* write_coord(position.x) decal position (center of texture in world)
* write_coord(position.y)
* write_coord(position.z)
* write_byte(texture index of precached decal texture name - 256)
* write_short(entity index)
*/
#define TE_DECALHIGH 118
/**
* Makes a projectile (like a nail) (this is a high-priority tent)
*
* @note
* write_byte(TE_PROJECTILE)
* write_coord(position.x)
* write_coord(position.y)
* write_coord(position.z)
* write_coord(velocity.x)
* write_coord(velocity.y)
* write_coord(velocity.z)
* write_short(modelindex)
* write_byte(life)
* write_byte(owner) projectile won't collide with owner (if owner == 0, projectile will hit any client).
*/
#define TE_PROJECTILE 119
/**
* Throws a shower of sprites or models
*
* @note
* write_byte(TE_SPRAY)
* write_coord(position.x)
* write_coord(position.y)
* write_coord(position.z)
* write_coord(direction.x)
* write_coord(direction.y)
* write_coord(direction.z)
* write_short(modelindex)
* write_byte(count)
* write_byte(speed)
* write_byte(noise)
* write_byte(rendermode)
*/
#define TE_SPRAY 120
/**
* Sprites emit from a player's bounding box (ONLY use for players!)
*
* @note
* write_byte(TE_PLAYERSPRITES)
* write_short(playernum)
* write_short(sprite modelindex)
* write_byte(count)
* write_byte(variance) (0 = no variance in size) (10 = 10% variance in size)
*/
#define TE_PLAYERSPRITES 121
/**
* Very similar to lavasplash
*
* @note
* write_byte(TE_PARTICLEBURST)
* write_coord(origin)
* write_short(radius)
* write_byte(particle color)
* write_byte(duration * 10) (will be randomized a bit)
*/
#define TE_PARTICLEBURST 122
/**
* Makes a field of fire
*
* @note
* write_byte(TE_FIREFIELD)
* write_coord(origin)
* write_short(radius) (fire is made in a square around origin. -radius, -radius to radius, radius)
* write_short(modelindex)
* write_byte(count)
* write_byte(flags)
* write_byte(duration (in seconds) * 10) (will be randomized a bit)
*/
#define TE_FIREFIELD 123
/**
* Flags for the TE_FIREFIELD effect, controlling its performance and aesthetic
* features
*/
#define TEFIRE_FLAG_ALLFLOAT 1 // All sprites will drift upwards as they animate
#define TEFIRE_FLAG_SOMEFLOAT 2 // Some of the sprites will drift upwards. (50% chance)
#define TEFIRE_FLAG_LOOP 4 // If set, sprite plays at 15 fps, otherwise plays at whatever rate stretches the animation over the sprite's duration.
#define TEFIRE_FLAG_ALPHA 8 // If set, sprite is rendered alpha blended at 50% else, opaque
#define TEFIRE_FLAG_PLANAR 16 // If set, all fire sprites have same initial Z instead of randomly filling a cube.
/**
* Attaches a TENT to a player (this is a high-priority tent)
*
* @note
* write_byte(TE_PLAYERATTACHMENT)
* write_byte(entity index of player)
* write_coord(vertical offset) (attachment origin.z = player origin.z + vertical offset)
* write_short(model index)
* write_short(life * 10 )
*/
#define TE_PLAYERATTACHMENT 124
/**
* Will expire all TENTS attached to a player.
*
* @note
* write_byte(TE_KILLPLAYERATTACHMENTS)
* write_byte(entity index of player)
*/
#define TE_KILLPLAYERATTACHMENTS 125
/**
* Much more compact shotgun message
*
* @note This message is used to make a client approximate a 'spray' of gunfire.
* Any weapon that fires more than one bullet per frame and fires in a bit
* of a spread is a good candidate for MULTIGUNSHOT use. (shotguns)
* @note This effect makes the client do traces for each bullet, these client
* traces ignore entities that have studio models.Traces are 4096 long.
* @note
* write_byte(TE_MULTIGUNSHOT)
* write_coord(origin.x)
* write_coord(origin.y)
* write_coord(origin.z)
* write_coord(direction.x)
* write_coord(direction.y)
* write_coord(direction.z)
* write_coord(x noise * 100)
* write_coord(y noise * 100)
* write_byte(count)
* write_byte(bullethole decal texture index)
*/
#define TE_MULTIGUNSHOT 126
/**
* Larger message than the standard tracer, but allows some customization.
*
* @note
* write_byte(TE_USERTRACER)
* write_coord(origin.x)
* write_coord(origin.y)
* write_coord(origin.z)
* write_coord(velocity.x)
* write_coord(velocity.y)
* write_coord(velocity.z)
* write_byte(life * 10)
* write_byte(color) this is an index into an array of color vectors in the engine. (0 - )
* write_byte(length * 10)
*/
#define TE_USERTRACER 127
/**
* @endsection
*/
/**
* From hltv.h from the HLSDK, these are used in conjunction with SVC_DIRECTOR
* sub commands of svc_director
*/
#define DRC_CMD_NONE 0 // NULL director command
#define DRC_CMD_START 1 // start director mode
#define DRC_CMD_EVENT 2 // informs about director command
#define DRC_CMD_MODE 3 // switches camera modes
#define DRC_CMD_CAMERA 4 // sets camera registers
#define DRC_CMD_TIMESCALE 5 // sets time scale
#define DRC_CMD_MESSAGE 6 // send HUD centerprint
#define DRC_CMD_SOUND 7 // plays a particular sound
#define DRC_CMD_STATUS 8 // status info about broadcast
#define DRC_CMD_BANNER 9 // banner file name for HLTV gui
#define DRC_CMD_FADE 10 // send screen fade command
#define DRC_CMD_SHAKE 11 // send screen shake command
#define DRC_CMD_STUFFTEXT 12 // like the normal svc_stufftext but as director command
#define DRC_CMD_LAST 12
/**
* HLTV_EVENT event flags
*/
#define DRC_FLAG_PRIO_MASK 0x0F // priorities between 0 and 15 (15 most important)
#define DRC_FLAG_SIDE (1<<4) //
#define DRC_FLAG_DRAMATIC (1<<5) // is a dramatic scene
#define DRC_FLAG_SLOWMOTION (1<<6) // would look good in SloMo
#define DRC_FLAG_FACEPLAYER (1<<7) // player is doning something (reload/defuse bomb etc)
#define DRC_FLAG_INTRO (1<<8) // is a introduction scene
#define DRC_FLAG_FINAL (1<<9) // is a final scene
#define DRC_FLAG_NO_RANDOM (1<<10) // don't randomize event data
#define MAX_DIRECTOR_CMD_PARAMETERS 4
#define MAX_DIRECTOR_CMD_STRING 128
/**
* @section Constants for various event arguments
*/
/**
* Constants for the "AllowSpec" event's arguments
*/
enum AllowSpecArgs
{
AllowSpec_IsAllowed
};
/**
* Constants for the "AmmoPickup" event's arguments
*/
enum AmmoPickupArgs
{
AmmoPickup_AmmoId,
AmmoPickup_Amount
};
/**
* Constants for the "AmmoX" event's arguments
*/
enum AmmoXArgs
{
AmmoX_AmmoId,
AmmoX_Amount
};
/**
* Constants for the "ArmorType" event's arguments
*/
enum ArmorTypeArgs
{
ArmorType_Flag
};
/**
* Constants for the "BarTime" event's arguments
*/
enum BarTimeArgs
{
BarTime_Duration
};
/**
* Constants for the "BarTime2" event's arguments
*/
enum BarTime2Args
{
BarTime2_Duration,
BarTime2_StartPercent
};
/**
* Constants for the "Battery" event's arguments
*/
enum BatteryArgs
{
Battery_Armor
};
/**
* Constants for the "BlinkAcct" event's arguments
*/
enum BlinkAcctArgs
{
BlinkAcct_BlinkAmount
};
/**
* Constants for the "BloodPuff" event's arguments
*/
enum BloodPuffArgs
{
BloodPuff_CoordX,
BloodPuff_CoordY,
BloodPuff_CoordZ
};
/**
* Constants for the "BombDrop" event's arguments
*/
enum BombDropArgs
{
BombDrop_CoordX,
BombDrop_CoordY,
BombDrop_CoordZ,
BombDrop_Flag
};
/**
* Constants for the "BotProgress" event's arguments
*/
enum BotProgressArgs
{
BotProgress_Flag,
BotProgress_Progress,
BotProgress_Header
};
/**
* Constants for the "BotVoice" event's arguments
*/
enum BotVoiceArgs
{
BotVoice_Status,
BotVoice_PlayerId
};
/**
* Constants for the "Brass" event's arguments
*/
enum BrassArgs
{
Brass_MessageId,
Brass_StartX,
Brass_StartY,
Brass_StartZ,
Brass_VelocityX,
Brass_VelocityY,
Brass_VelocityZ,
Brass_UnknownX,
Brass_UnknownY,
Brass_UnknownZ,
Brass_Rotation,
Brass_ModelId,
Brass_BounceSoundType,
Brass_Life,
Brass_PlayerId
};
/**
* Constants for the "CapMsg" event's arguments
*/
enum CapMsgArgs
{
CapMsg_PlayerId,
CapMsg_PointName,
CapMsg_TeamId,
};
/**
* Constants for the "ClCorpse" event's arguments
*/
enum ClCorpseArgs
{
ClCorpse_ModelName,
ClCorpse_CoordX,
ClCorpse_CoordY,
ClCorpse_CoordZ,
ClCorpse_Angle0,
ClCorpse_Angle1,
ClCorpse_Angle2,
ClCorpse_Delay,
ClCorpse_Sequence,
ClCorpse_ClassId,
ClCorpse_TeamId,
ClCorpse_PlayerId
};
/**
* Constants for the "Concuss" event's arguments
*/
enum ConcussArgs
{
Concuss_Amount
};
/**
* Constants for the "Crosshair" event's arguments
*/
enum CrosshairArgs
{
Crosshair_Flag
};
/**
* Constants for the "CurWeapon" event's arguments
*/
enum CurWeaponArgs
{
CurWeapon_IsActive,
CurWeapon_WeaponId,
CurWeapon_ClipAmmo
};
/**
* Constants for the "CZCareer" event's arguments
*/
enum CZCareerArgs
{
CZCareer_Type
};
/**
* Constants for the "CZCareerHUD" event's arguments
*/
enum CZCareerHUDArgs
{
CZCareerHUD_Type
};
/**
* Constants for the "Damage" event's arguments
*/
enum DamageArgs
{
Damage_Save,
Damage_Take,
Damage_Type,
Damage_CoordX,
Damage_CoordY,
Damage_CoordZ
};
/**
* Constants for the "DeathMsg" event's arguments (all games)
*/
enum DeathMsgArgs
{
DeathMsg_KillerId,
DeathMsg_VictimId,
DeathMsg_WeaponName
};
/**
* Constants for the "DeathMsg" event's arguments (Counter-Strike)
*/
enum DeathMsgArgs_CS
{
DeathMsg_CS_KillerId,
DeathMsg_CS_VictimId,
DeathMsg_CS_IsHeadshot,
DeathMsg_CS_WeaponName
};
/**
* Constants for the "DeathMsg" event's arguments (Day of Defeat)
*/
enum DeathMsgArgs_DoD
{
DeathMsg_DoD_KillerId,
DeathMsg_DoD_VictimId,
DeathMsg_DoD_WeaponId
};
/**
* Constants for the "FlashBat" event's arguments
*/
enum FlashBatArgs
{
FlashBat_ChargePercent
};
/**
* Constants for the "Flashlight" event's arguments
*/
enum FlashlightArgs
{
Flashlight_Flag,
Flashlight_ChargePercent
};
/**
* Constants for the "Fog" event's arguments
*/
enum FogArgs
{
Fog_Value1,
Fog_Value2,
Fog_Unknown
};
/**
* Constants for the "ForceCam" event's arguments
*/
enum ForceCamArgs
{
ForceCam_Value,
ForceCam_ChaseCamValue,
ForceCam_Unknown
};
/**
* Constants for the "Frags" event's arguments
*/
enum FragsArgs
{
Frags_PlayerId,
Frags_Amount
};
/**
* Constants for the "GameMode" event's arguments
*/
enum GameModeArgs
{
GameMode_Type
};
/**
* Constants for the "GameTitle" event's arguments
*/
enum GameTitleArgs
{
GameTitle_Unknown
};
/**
* Constants for the "Geiger" event's arguments
*/
enum GeigerArgs
{
Geiger_Distance
};
/**
* Constants for the "Health" event's arguments
*/
enum HealthArgs
{
Health_Amount
};
/**
* Constants for the "HideWeapon" event's arguments
*/
enum HideWeaponArgs
{
HideWeapon_Flags
};
/**
* Constants for the "HLTV" event's arguments
*/
enum HLTVArgs
{
HLTV_ClientId,
HLTV_Flags
};
/**
* Constants for the "HostageK" event's arguments
*/
enum HostageKArgs
{
HostageK_HostageId
};
/**
* Constants for the "HostagePos" event's arguments
*/
enum HostagePosArgs
{
HostagePos_Flag,
HostagePos_HostageId,
HostagePos_CoordX,
HostagePos_CoordY,
HostagePos_CoordZ
};
/**
* Constants for the "HudText" event's arguments
*/
enum HudTextArgs
{
HudText_TextCode,
HudText_InitHUDStyle
};
/**
* Constants for the "HudTextArgs" event's arguments
*/
enum HudTextArgsArgs
{
HudTextArgs_TextCode,
HudTextArgs_InitHUDStyle,
HudTextArgs_NumberOfSubMessages,
HudTextArgs_SubMsg1,
HudTextArgs_SubMsg2
};
/**
* Constants for the "HudTextPro" event's arguments
*/
enum HudTextProArgs
{
HudTextPro_TextCode,
HudTextPro_InitHUDStyle
};
/**
* Constants for the "InitObj" event's arguments
*/
enum InitObjArgs
{
InitObj_TotalObjectives
};
/**
* Constants for the "TotalObjectives" argument in the InitObj" event
*/
enum InitObj_TotalObjectivesArgs
{
InitObj_TotalObjectives_EntityId,
InitObj_TotalObjectives_ObjectiveId,
InitObj_TotalObjectives_TeamId,
InitObj_TotalObjectives_Unknown1,
InitObj_TotalObjectives_Unknown2,
InitObj_TotalObjectives_Unknown3,
InitObj_TotalObjectives_Unknown4,
InitObj_TotalObjectives_CoordX,
InitObj_TotalObjectives_CoordY
};
/**
* Constants for the "ItemPickup" event's arguments
*/
enum ItemPickupArgs
{
ItemPickup_ItemName
};
/**
* Constants for the "ItemStatus" event's arguments
*/
enum ItemStatusArgs
{
ItemStatus_ItemsBitSum
};
/**
* Constants for the "Location" event's arguments
*/
enum LocationArgs
{
Location_PlayerId,
Location_Name
};
/**
* Constants for the "Money" event's arguments
*/
enum MoneyArgs
{
Money_Amount,
Money_Flag
};
/**
* Constants for the "MOTD" event's arguments
*/
enum MOTDArgs
{
MOTD_Flag,
MOTD_Text
};
/**
* Constants for the "NVGToggle" event's arguments
*/
enum NVGToggleArgs
{
NVGToggle_Flag
};
/**
* Constants for the "Object" event's arguments
*/
enum ObjectArgs
{
Object_Sprite
};
/**
* Constants for the "ObjScore" event's arguments
*/
enum ObjScoreArgs
{
ObjScore_PlayerId,
ObjScore_Score
};
/**
* Constants for the "PClass" event's arguments
*/
enum PClassArgs
{
PClass_PlayerId,
PClass_Unknown
};
/**
* Constants for the "PStatus" event's arguments
*/
enum PStatusArgs
{
PStatus_PlayerId,
PStatus_Unknown
};
/**
* Constants for the "Radar" event's arguments
*/
enum RadarArgs
{
Radar_PlayerId,
Radar_CoordX,
Radar_CoordY,
Radar_CoordZ
};
/**
* Constants for the "ReceiveW" event's arguments
*/
enum ReceiveWArgs
{
ReceiveW_Mode
};
/**
* Constants for the "ReloadSound" event's arguments
*/
enum ReloadSoundArgs
{
ReloadSound_Volume,
ReloadSound_IsNotShotgun
};
/**
* Constants for the "RoundTime" event's arguments
*/
enum RoundTimeArgs
{
RoundTime_Time
};
/**
* Constants for the "SayText" event's arguments
*/
enum SayTextArgs
{
SayText_SenderId,
SayText_String1,
SayText_String2,
SayText_String3
};
/**
* Constants for the "Scenario" event's arguments
*/
enum ScenarioArgs
{
Scenario_IsActive,
Scenario_Sprite,
Scenario_Alpha,
Scenario_FlashRate,
Scenario_FlashDelay
};
/**
* Constants for the "Scope" event's arguments
*/
enum ScopeArgs
{
Scope_Unknown
};
/**
* Constants for the "ScoreAttrib" event's arguments
*/
enum ScoreAttribArgs
{
ScoreAttrib_PlayerId,
ScoreAttrib_Flags
};
/**
* Constants for the "ScoreInfo" event's arguments
*/
enum ScoreInfoArgs
{
ScoreInfo_PlayerId,
ScoreInfo_Score,
ScoreInfo_Deaths,
ScoreInfo_ClassId,
ScoreInfo_TeamId,
};
/**
* Constants for the "ScoreShort" event's arguments
*/
enum ScoreShortArgs
{
ScoreShort_PlayerId,
ScoreShort_Score,
ScoreShort_Kills,
ScoreShort_Deaths,
ScoreShort_Refresh
};
/**
* Constants for the "ScreenFade" event's arguments
*/
enum ScreenFadeArgs
{
ScreenFade_Duration,
ScreenFade_HoldTime,
ScreenFade_Flags,
ScreenFade_ColorR,
ScreenFade_ColorG,
ScreenFade_ColorB,
ScreenFade_Alpha
};
/**
* Constants for the "ScreenShake" event's arguments
*/
enum ScreenShakeArgs
{
ScreenShake_Amplitude,
ScreenShake_Duration,
ScreenShake_Frequency
};
/**
* Constants for the "SecAmmoIcon" event's arguments
*/
enum SecAmmoIconArgs
{
SecAmmoIcon_Icon
};
/**
* Constants for the "SecAmmoVal" event's arguments
*/
enum SecAmmoValArgs
{
SecAmmoVal_Slot,
SecAmmoVal_Amount
};
/**
* Constants for the "SendAudio" event's arguments
*/
enum SendAudioArgs
{
SendAudio_SenderId,
SendAudio_AudioCode,
SendAudio_Pitch
};
/**
* Constants for the "ServerName" event's arguments
*/
enum ServerNameArgs
{
ServerName_Name
};
/**
* Constants for the "SetFOV" event's arguments
*/
enum SetFOVArgs
{
SetFOV_Degrees
};
/**
* Constants for the "SetObj" event's arguments
*/
enum SetObjArgs
{
SetObj_Unknown1,
SetObj_Unknown2,
SetObj_Unknown3
};
/**
* Constants for the "ShadowIdx" event's arguments
*/
enum ShadowIdxArgs
{
ShadowIdx_SpriteId
};
/**
* Constants for the "ShowMenu" event's arguments
*/
enum ShowMenuArgs
{
ShowMenu_KeysBitSum,
ShowMenu_Time,
ShowMenu_Multipart,
ShowMenu_Text
};
/**
* Constants for the "SpecHealth" event's arguments
*/
enum SpecHealthArgs
{
SpecHealth_Health
};
/**
* Constants for the "SpecHealth2" event's arguments
*/
enum SpecHealth2Args
{
SpecHealth2_Health,
SpecHealth2_PlayerId
};
/**
* Constants for the "Spectator" event's arguments
*/
enum SpectatorArgs
{
Spectator_ClientId,
Spectator_Unknown
};
/**
* Constants for the "StatusIcon" event's arguments
*/
enum StatusIconArgs
{
StatusIcon_Status,
StatusIcon_SpriteName,
StatusIcon_ColorR,
StatusIcon_ColorG,
StatusIcon_ColorB
};
/**
* Constants for the "StatusText" event's arguments
*/
enum StatusTextArgs
{
StatusText_Unknown,
StatusText_Text
};
/**
* Constants for the "StatusValue" event's arguments
*/
enum StatusValueArgs
{
StatusValue_Flag,
StatusValue_Value
};
/**
* Constants for the "TaskTime" event's arguments
*/
enum TaskTimeArgs
{
TaskTime_Time,
TaskTime_Active,
TaskTime_Fade
};
/**
* Constants for the "TeamInfo" event's arguments
*/
enum TeamInfoArgs
{
TeamInfo_PlayerId,
TeamInfo_TeamName
};
/**
* Constants for the "TeamScore" event's arguments (all games)
*/
enum TeamScoreArgs
{
TeamScore_TeamName,
TeamScore_Score
};
/**
* Constants for the "TeamScore" event's arguments (Day of Defeat)
*/
enum TeamScoreArgs_DoD
{
TeamScore_DoD_TeamId,
TeamScore_DoD_Score
};
/**
* Constants for the "TextMsg" event's arguments
*/
enum TextMsgArgs
{
TextMsg_DestinationType,
TextMsg_Message,
TextMsg_SubMsg1,
TextMsg_SubMsg2,
TextMsg_SubMsg3,
TextMsg_SubMsg4
};
/**
* Constants for the "Train" event's arguments
*/
enum TrainArgs
{
Train_Speed
};
/**
* Constants for the "TutorState" event's arguments
*/
enum TutorStateArgs
{
TutorState_Unknown
};
/**
* Constants for the "VGUIMenu" event's arguments
*/
enum VGUIMenuArgs
{
VGUIMenu_MenuId,
VGUIMenu_KeysBitSum,
VGUIMenu_Time,
VGUIMenu_Multipart,
VGUIMenu_Name
};
/**
* Constants for the "VoiceMask" event's arguments
*/
enum VoiceMaskArgs
{
VoiceMask_AudiblePlayersBitSum,
VoiceMask_BannedPlayersBitSum
};
/**
* Constants for the "WeaponList" event's arguments
*/
enum WeaponListArgs
{
WeaponList_WeaponName,
WeaponList_PrimaryAmmoId,
WeaponList_PrimaryAmmoMaxAmount,
WeaponList_SecondaryAmmoId,
WeaponList_SecondaryAmmoMaxAmount,
WeaponList_SlotId,
WeaponList_NumberInSlot,
WeaponList_WeaponId,
WeaponList_Flags
};
/**
* Constants for the "WeapPickup" event's arguments
*/
enum WeapPickupArgs
{
WeapPickup_WeaponId
};
/**
* Constants for the "YouDied" event's arguments
*/
enum YouDiedArgs
{
YouDied_Unknown
};