Difference between revisions of "Temp Entity Events (Half-Life 1)"

From AlliedModders Wiki
Jump to: navigation, search
(Started to add list of HL const.h TempEnts)
 
(Added more TE messages (will cont. later))
Line 6: Line 6:
 
Sets the type of message the temp entity is transmitted in.
 
Sets the type of message the temp entity is transmitted in.
  
MSG_ types that can be used for ''dest'' in [http://www.amxmodx.org/funcwiki.php?go=func&id=262 message_begin] are listed below:
+
MSG_ types that can be used for ''dest'' field in [http://www.amxmodx.org/funcwiki.php?go=func&id=262 message_begin] are as follows:
 
<pre>#define MSG_BROADCAST 0 // unreliable to all
 
<pre>#define MSG_BROADCAST 0 // unreliable to all
 
#define MSG_ONE 1 // reliable to one (msg_entity)
 
#define MSG_ONE 1 // reliable to one (msg_entity)
 
#define MSG_ALL 2 // reliable to all
 
#define MSG_ALL 2 // reliable to all
#define MSG_INIT 3 // write to the init string
+
#define MSG_INIT 3 // write to the init string
 
#define MSG_PVS 4 // Ents in PVS of org
 
#define MSG_PVS 4 // Ents in PVS of org
 
#define MSG_PAS 5 // Ents in PAS of org
 
#define MSG_PAS 5 // Ents in PAS of org
#define MSG_PVS_R 6 // Reliable to PVS
+
#define MSG_PVS_R 6 // Reliable to PVS
#define MSG_PAS_R 7 // Reliable to PAS
+
#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_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</pre>
+
#define MSG_SPEC 9 // Sends to all spectator proxies</pre>
  
  
Line 77: Line 77:
 
|nowrap="1"| R G B
 
|nowrap="1"| R G B
 
|nowrap="1"| 255 255 255
 
|nowrap="1"| 255 255 255
|The color of the beam in the RBG triplet value
+
|The color of the beam in the RGB triplet value
 
|-
 
|-
 
|nowrap="1"| Brightness
 
|nowrap="1"| Brightness
Line 92: Line 92:
  
 
=== Format ===
 
=== Format ===
<pre>#define TE_BEAMPOINTS 0 // beam effect between two points  
+
<pre>#define TE_BEAMPOINTS 0 // beam effect between two points
  
message_begin(MSG_ ,SVC_TEMPENTITY) // message begin  
+
message_begin(MSG_ ,SVC_TEMPENTITY) // message begin
write_byte(TE_BEAMPOINTS)  
+
write_byte(TE_BEAMPOINTS)
write_coord() // start position  
+
write_coord() // start position
write_coord()  
+
write_coord()
write_coord()  
+
write_coord()
write_coord() // end position  
+
write_coord() // end position
write_coord()  
+
write_coord()
write_coord()  
+
write_coord()
write_short() // sprite index  
+
write_short() // sprite index
write_byte() // starting frame  
+
write_byte() // starting frame
write_byte() // frame rate in 0.1's  
+
write_byte() // frame rate in 0.1's
write_byte() // life in 0.1's  
+
write_byte() // life in 0.1's
write_byte() // line width in 0.1's  
+
write_byte() // line width in 0.1's
write_byte() // noise amplitude in 0.01's  
+
write_byte() // noise amplitude in 0.01's
write_byte() // Red  
+
write_byte() // Red
write_byte() // Green  
+
write_byte() // Green
write_byte() // Blue  
+
write_byte() // Blue
 
write_byte() // brightness
 
write_byte() // brightness
write_byte() // scroll speed in 0.1's  
+
write_byte() // scroll speed in 0.1's
 
message_end()</pre>
 
message_end()</pre>
  
Line 125: Line 125:
 
|- style="background:#efefef;"
 
|- style="background:#efefef;"
 
! Option || Range || Default || Description
 
! Option || Range || Default || Description
 +
|-
 +
|nowrap="1"| Start Entity
 +
|nowrap="1"| ID of Entity
 +
|nowrap="1"| Primary entity id
 +
|Starting point of the beam from the id's origin
 +
|-
 +
|nowrap="1"| End
 +
|nowrap="1"| X Y Z (coords)
 +
|nowrap="1"| Origin of secondary entity, or 0 0 0
 +
|Ending point of the beam
 +
|-
 +
|nowrap="1"| Sprite
 +
|nowrap="1"| sprite path
 +
|nowrap="1"| "sprites/laserbeam.spr"
 +
|The sprite to use in the beam
 +
|-
 +
|nowrap="1"| FrameStart
 +
|nowrap="1"| 0-255
 +
|nowrap="1"| 0
 +
|The frame to start with in the sprite
 +
|-
 +
|nowrap="1"| FrameRate
 +
|nowrap="1"| 0-255
 +
|nowrap="1"| 0
 +
|The frame rate to show the sprite at, in 0.1s (10 = 1 fps)
 +
|-
 +
|nowrap="1"| Life
 +
|nowrap="1"| 0-255
 +
|nowrap="1"| 50
 +
|The length of time the beam shall remain, in 0.1s (50 = 5 seconds)
 +
|-
 +
|nowrap="1"| Width
 +
|nowrap="1"| 0-255
 +
|nowrap="1"| 10
 +
|The width of the beam in 0.1s
 +
|-
 +
|nowrap="1"| Noise
 +
|nowrap="1"| 0-255
 +
|nowrap="1"| 10
 +
|The noise amplitude of the beam, this controls how much the beam distorts, again in 0.1s
 +
|-
 +
|nowrap="1"| Color
 +
|nowrap="1"| R G B
 +
|nowrap="1"| 255 255 255
 +
|The color of the beam in the RGB triplet value
 +
|-
 +
|nowrap="1"| Brightness
 +
|nowrap="1"| 0-255
 +
|nowrap="1"| 127
 +
|The brightness of the beam
 +
|-
 +
|nowrap="1"| Scroll
 +
|nowrap="1"| 0-255
 +
|nowrap="1"| 0
 +
|The scroll speed of the beam, in 0.1s (??)
 
|}
 
|}
  
  
 
=== Format ===
 
=== Format ===
<pre>
+
<pre>#define TE_BEAMENTPOINT 1 // beam effect between point and entity
</pre>
+
 
 +
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()</pre>
 +
 
 +
 
 +
 
 +
== 2: TE_GUNSHOT ==
 +
Creates a particle effect plus a ricochet sound.
 +
 
 +
 
 +
=== Options ===
 +
{| border="1" cellpadding="5"
 +
|- style="background:#efefef;"
 +
! Option || Range || Default || Description
 +
|-
 +
|nowrap="1"| Pos
 +
|nowrap="1"| X Y Z (coords)
 +
|nowrap="1"| Origin of primary entity, or 0 0 0
 +
|Position of the gunshot effect
 +
|}
 +
 
 +
 
 +
=== Format ===
 +
<pre>#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()</pre>
 +
 
 +
 
 +
 
 +
== 3: TE_EXPLOSION ==
 +
Creates an additive sprite, 2 dynamic lights, flickering particles, explosion sound, and moves the sprite vertically.
 +
 
 +
 
 +
=== Options ===
 +
{| border="1" cellpadding="5"
 +
|- style="background:#efefef;"
 +
! Option || Range || Default || Description
 +
|-
 +
|nowrap="1"| Pos
 +
|nowrap="1"| X Y Z (coords)
 +
|nowrap="1"| Origin of primary entity, or 0 0 0
 +
|Position of the explosion effect
 +
|-
 +
|nowrap="1"| Sprite
 +
|nowrap="1"| sprite path
 +
|nowrap="1"| "sprites/zerogxplode.spr"
 +
|The additive sprite to use in the explosion
 +
|-
 +
|nowrap="1"| Scale
 +
|nowrap="1"| 0-255
 +
|nowrap="1"| 1
 +
|The scale of the sprite in the explosion, in 0.1s
 +
|-
 +
|nowrap="1"| FrameRate
 +
|nowrap="1"| 0-255
 +
|nowrap="1"| 0
 +
|The frame rate to show the sprite at, in 0.1s (10 = 1 fps)
 +
|-
 +
|nowrap="1"| Flags
 +
|nowrap="1"| 0-15
 +
|nowrap="1"| 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 ===
 +
<pre>#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()</pre>
 +
 
 +
 
 +
 
 +
== 4: TE_TAREXPLOSION ==
 +
Creates the Quake 'tar' explosion.
 +
 
 +
 
 +
=== Options ===
 +
{| border="1" cellpadding="5"
 +
|- style="background:#efefef;"
 +
! Option || Range || Default || Description
 +
|-
 +
|nowrap="1"| Pos
 +
|nowrap="1"| X Y Z (coords)
 +
|nowrap="1"| Origin of primary entity, or 0 0 0
 +
|Position of the effect
 +
|}
 +
 
 +
 
 +
=== Format ===
 +
<pre>#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()</pre>
 +
 
 +
 
 +
 
 +
== 5: TE_SMOKE ==
 +
Creates a rising alphablend sprite at 30 pps.
 +
 
 +
 
 +
=== Options ===
 +
{| border="1" cellpadding="5"
 +
|- style="background:#efefef;"
 +
! Option || Range || Default || Description
 +
|-
 +
|nowrap="1"| Pos
 +
|nowrap="1"| X Y Z (coords)
 +
|nowrap="1"| Origin of primary entity, or 0 0 0
 +
|Position of the smoke effect
 +
|-
 +
|nowrap="1"| Sprite
 +
|nowrap="1"| sprite path
 +
|nowrap="1"| "sprites/steam1.spr"
 +
|The alphablend sprite to use for smoke
 +
|-
 +
|nowrap="1"| Scale
 +
|nowrap="1"| 0-255
 +
|nowrap="1"| 1
 +
|The scale of the smoke, in 0.1s
 +
|-
 +
|nowrap="1"| FrameRate
 +
|nowrap="1"| 0-255
 +
|nowrap="1"| 0
 +
|The frame rate to show the sprite at
 +
|}
 +
 
 +
 
 +
=== Format ===
 +
<pre>#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()</pre>
 +
 
  
  
 +
TO DO: Add rest of TempEnts
  
 
[[Category:Half-Life 1]]
 
[[Category:Half-Life 1]]
 
[[Category:Scripting (AMX Mod X)]]
 
[[Category:Scripting (AMX Mod X)]]

Revision as of 23:55, 1 February 2006

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