Temp Entity Events (Half-Life 1)

From AlliedModders Wiki
Revision as of 23:55, 1 February 2006 by Vittu (talk | contribs) (Added more TE messages (will cont. later))
Jump to: navigation, search

Add Main Description Here.


Message Types

Sets the type of message the temp entity is transmitted in.

MSG_ types that can be used for dest field in message_begin are as follows:

#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


TempEnt Events

Add Description Here.


0: TE_BEAMPOINTS

Creates a beam between two points.


Options

Option Range Default Description
Start X Y Z (coords) Origin of primary entity, or 0 0 0 Starting point of the beam
End X Y Z (coords) Origin of secondary entity, or 0 0 0 Ending point of the beam
Sprite sprite path "sprites/laserbeam.spr" The sprite to use in the beam
FrameStart 0-255 0 The frame to start with in the sprite
FrameRate 0-255 0 The frame rate to show the sprite at, in 0.1s (10 = 1 fps)
Life 0-255 50 The length of time the beam shall remain, in 0.1s (50 = 5 seconds)
Width 0-255 10 The width of the beam in 0.1s
Noise 0-255 10 The noise amplitude of the beam, this controls how much the beam distorts, again in 0.1s
Color R G B 255 255 255 The color of the beam in the RGB triplet value
Brightness 0-255 127 The brightness of the beam
Scroll 0-255 0 The scroll speed of the beam, in 0.1s (??)


Format

#define TE_BEAMPOINTS 0			// beam effect between two points

message_begin(MSG_ ,SVC_TEMPENTITY)	// message begin
write_byte(TE_BEAMPOINTS)
write_coord()	// start position
write_coord()
write_coord()
write_coord()	// end position
write_coord()
write_coord()
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
message_end()


1: TE_BEAMENTPOINT

Creates a beam between the primary entity and a point.


Options

Option Range Default Description
Start Entity ID of Entity Primary entity id Starting point of the beam from the id's origin
End X Y Z (coords) Origin of secondary entity, or 0 0 0 Ending point of the beam
Sprite sprite path "sprites/laserbeam.spr" The sprite to use in the beam
FrameStart 0-255 0 The frame to start with in the sprite
FrameRate 0-255 0 The frame rate to show the sprite at, in 0.1s (10 = 1 fps)
Life 0-255 50 The length of time the beam shall remain, in 0.1s (50 = 5 seconds)
Width 0-255 10 The width of the beam in 0.1s
Noise 0-255 10 The noise amplitude of the beam, this controls how much the beam distorts, again in 0.1s
Color R G B 255 255 255 The color of the beam in the RGB triplet value
Brightness 0-255 127 The brightness of the beam
Scroll 0-255 0 The scroll speed of the beam, in 0.1s (??)


Format

#define TE_BEAMENTPOINT 1		// beam effect between point and entity

message_begin(MSG_ ,SVC_TEMPENTITY)	// message begin
write_byte(TE_BEAMENTPOINT)
write_short()	// start entity
write_coord()	// end position
write_coord()
write_coord()
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
message_end()


2: TE_GUNSHOT

Creates a particle effect plus a ricochet sound.


Options

Option Range Default Description
Pos X Y Z (coords) Origin of primary entity, or 0 0 0 Position of the gunshot effect


Format

#define TE_GUNSHOT 2			// particle effect plus ricochet sound

message_begin(MSG_ ,SVC_TEMPENTITY)	// message begin
write_byte(TE_GUNSHOT)
write_coord()	// start position
write_coord()
write_coord()
message_end()


3: TE_EXPLOSION

Creates an additive sprite, 2 dynamic lights, flickering particles, explosion sound, and moves the sprite vertically.


Options

Option Range Default Description
Pos X Y Z (coords) Origin of primary entity, or 0 0 0 Position of the explosion effect
Sprite sprite path "sprites/zerogxplode.spr" The additive sprite to use in the explosion
Scale 0-255 1 The scale of the sprite in the explosion, in 0.1s
FrameRate 0-255 0 The frame rate to show the sprite at, in 0.1s (10 = 1 fps)
Flags 0-15 0 Sets flags for the explosion, you may also add these together:
  • 0: Default Half-Life explosion
  • 1: Sprite will be drawn opaque
  • 2: Do not render the dynamic lights
  • 4: Do not play the explosion sound
  • 8: Do not draw the particles


Format

#define TE_EXPLOSION 3			// additive sprite, 2 dynamic lights, flickering particles, explosion sound, move vertically 8 pps

message_begin(MSG_ ,SVC_TEMPENTITY)	// message begin
write_byte(TE_EXPLOSION)
write_coord()	// start position
write_coord()
write_coord()
write_short()	// sprite index
write_byte()	// scale in 0.1's
write_byte()	// framerate
write_byte()	// flags
message_end()


4: TE_TAREXPLOSION

Creates the Quake 'tar' explosion.


Options

Option Range Default Description
Pos X Y Z (coords) Origin of primary entity, or 0 0 0 Position of the effect


Format

#define TE_TAREXPLOSION 4		// Quake1 "tarbaby" explosion with sound

message_begin(MSG_ ,SVC_TEMPENTITY)	// message begin
write_byte(TE_TAREXPLOSION)
write_coord()	// start position
write_coord()
write_coord()
message_end()


5: TE_SMOKE

Creates a rising alphablend sprite at 30 pps.


Options

Option Range Default Description
Pos X Y Z (coords) Origin of primary entity, or 0 0 0 Position of the smoke effect
Sprite sprite path "sprites/steam1.spr" The alphablend sprite to use for smoke
Scale 0-255 1 The scale of the smoke, in 0.1s
FrameRate 0-255 0 The frame rate to show the sprite at


Format

#define TE_SMOKE 5			// alphablend sprite, move vertically 30 pps

message_begin(MSG_ ,SVC_TEMPENTITY)	// message begin
write_byte(TE_SMOKE)
write_coord()	// start position
write_coord()
write_coord()
write_short()	// sprite index 
write_byte()	// scale in 0.1's 
write_byte()	// framerate 
message_end()


TO DO: Add rest of TempEnts