#define TE_BEAMPOINTS 0
Beam effect between two points
-
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_BEAMENTPOINT 1
Beam effect between a point and an entity
-
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_GUNSHOT 2
Particle effect plus ricochet sound
-
write_byte(TE_GUNSHOT)
write_coord(position.x)
write_coord(position.y)
write_coord(position.z)
#define TE_EXPLOSION 3
Additive sprite, 2 dynamic lights, flickering particles, explosion sound,
move vertically 8 pps
-
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_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
Flags for the TE_EXPLOSION effect, controlling its performance and aesthetic
features
#define TE_TAREXPLOSION 4
Quake1 "tarbaby" explosion with sound
-
write_byte(TE_TAREXPLOSION)
write_coord(position.x)
write_coord(position.y)
write_coord(position.z)
#define TE_SMOKE 5
Alphablend sprite, move vertically 30pps
-
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_TRACER 6
Tracer effect from point to point
-
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_LIGHTNING 7
TE_BEAMPOINTS with simplified parameters
-
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_BEAMENTS 8
TE_BEAMENTS
-
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_SPARKS 9
8 random tracers with gravity, ricochet sprite
-
write_byte(TE_SPARKS)
write_coord(position.x)
write_coord(position.y)
write_coord(position.z)
#define TE_LAVASPLASH 10
Quake1 lava splash
-
write_byte(TE_LAVASPLASH)
write_coord(position.x)
write_coord(position.y)
write_coord(position.z)
#define TE_TELEPORT 11
Quake1 teleport splash
-
write_byte(TE_TELEPORT)
write_coord(position.x)
write_coord(position.y)
write_coord(position.z)
#define TE_EXPLOSION2 12
Quake1 colormaped (base palette) particle explosion with sound
-
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_BSPDECAL 13
Decal from the .BSP file
-
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_IMPLOSION 14
Tracers moving toward a point
-
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_SPRITETRAIL 15
Line of moving glow sprites with gravity, fadeout, and collisions
-
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_SPRITE 17
Additive sprite, plays 1 cycle
-
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_BEAMSPRITE 18
A beam with a sprite at the end
-
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_BEAMTORUS 19
Screen aligned beam ring, expands to max radius over lifetime
-
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_BEAMDISK 20
Disk that expands to max radius over lifetime
-
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_BEAMCYLINDER 21
Cylinder that expands to max radius over lifetime
-
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_BEAMFOLLOW 22
Create a line of decaying beam segments until entity stops moving
-
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_GLOWSPRITE 23
TE_GLOWSPRITE
-
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_BEAMRING 24
Connect a beam ring to two entities
-
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_STREAK_SPLASH 25
Oriented shower of tracers
-
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_DLIGHT 27
Dynamic light, effect world, minor entity effect
-
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(life in 10's)
write_byte(decay rate in 10's)
#define TE_ELIGHT 28
Point entity light, no world effect
-
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_TEXTMESSAGE 29
TE_TEXTMESSAGE
-
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_LINE 30
TE_LINE
-
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_BOX 31
TE_BOX
-
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_KILLBEAM 99
Kill all beams attached to entity
-
write_byte(TE_KILLBEAM)
write_short(entity)
#define TE_LARGEFUNNEL 100
TE_LARGEFUNNEL
-
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_BLOODSTREAM 101
Particle spray
-
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_SHOWLINE 102
Line of particles every 5 units, dies in 30 seconds
-
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_BLOOD 103
Particle spray
-
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_DECAL 104
Decal applied to a brush entity (not the world)
-
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_FIZZ 105
Create alpha sprites inside of entity, float upwards
-
write_byte(TE_FIZZ)
write_short(entity)
write_short(sprite index)
write_byte(density)
#define TE_MODEL 106
Create a moving model that bounces and makes a sound when it hits
-
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_EXPLODEMODEL 107
Spherical shower of models, picks from set
-
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_BREAKMODEL 108
Box of models or sprites
-
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_GUNSHOTDECAL 109
Decal and ricochet sound
-
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_SPRITE_SPRAY 110
Spray of alpha sprites
-
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_ARMOR_RICOCHET 111
Quick spark sprite, client ricochet sound.
-
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_PLAYERDECAL 112
TE_PLAYERDECAL
-
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_BUBBLES 113
Create alpha sprites inside of box, float upwards
-
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_BUBBLETRAIL 114
Create alpha sprites along a line, float upwards
-
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_BLOODSPRITE 115
Spray of opaque sprite1's that fall, single sprite2 for 1..2 secs (this is a high-priority tent)
-
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_WORLDDECAL 116
Decal applied to the world brush
-
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_WORLDDECALHIGH 117
Decal (with texture index > 256) applied to world brush
-
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_DECALHIGH 118
Same as TE_DECAL, but the texture index was greater than 256
-
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_PROJECTILE 119
Makes a projectile (like a nail) (this is a high-priority tent)
-
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_SPRAY 120
Throws a shower of sprites or models
-
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_PLAYERSPRITES 121
Sprites emit from a player's bounding box (ONLY use for players!)
-
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_PARTICLEBURST 122
Very similar to lavasplash
-
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_FIREFIELD 123
Makes a field of fire
-
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 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.
Flags for the TE_FIREFIELD effect, controlling its performance and aesthetic
features
#define TE_PLAYERATTACHMENT 124
Attaches a TENT to a player (this is a high-priority tent)
-
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_KILLPLAYERATTACHMENTS 125
Will expire all TENTS attached to a player.
-
write_byte(TE_KILLPLAYERATTACHMENTS)
write_byte(entity index of player)
#define TE_MULTIGUNSHOT 126
Much more compact shotgun message
-
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)
-
This effect makes the client do traces for each bullet, these client
traces ignore entities that have studio models.Traces are 4096 long.
-
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_USERTRACER 127
Larger message than the standard tracer, but allows some customization.
-
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)