Func train: Difference between revisions
Jump to navigation
Jump to search
Tip:This entity is not affected by the turning inaccuracy issues that
Bug:It will always try to play sounds, regardless of whether they are actually specified. This can be set to
mNo edit summary |
No edit summary |
||
Line 1: | Line 1: | ||
{{ent not in fgd}} | {{ent not in fgd}} | ||
{{ | {{base point|func_train}} It is a leftover from [[Quake]] that ping-pongs between the start and end of a series of path_corners. It was mostly replaced by {{ent|func_tracktrain}} in GoldSrc, but was still used for looping auto-scrolling backgrounds. In Source, the introduction of parenting has rendered this method obsolete. However, the entity is still functional. | ||
{{tip|This entity is not affected by the turning inaccuracy issues that <code>func_tracktrain</code> is, making it a good alternative for fast-moving objects.}} | |||
{{bug|It will always try to play sounds, regardless of whether they are actually specified. This can be set to <code>Default.Null</code> with a volume of 0 to play no sound.}} | |||
==Entity Description== | ==Entity Description== | ||
===FGD Code=== | ===FGD Code=== | ||
<pre>@SolidClass base(Targetname, Origin, RenderFields) = func_train | <!--Editor's note: TexFrameIndex exists on every brush entity, so I'm not sure why it was specifically included here. It should be in KVBaseEntity if anything.--> | ||
<pre> | |||
@SolidClass base(Targetname, Origin, RenderFields) line(255 255 0, targetname, target) = func_train: "An old entity leftover from Quake. It follows a series of path_corner entities." | |||
[ | [ | ||
spawnflags(flags) = | spawnflags(flags) = | ||
Line 10: | Line 15: | ||
8 : "Non-solid" : 0 | 8 : "Non-solid" : 0 | ||
] | ] | ||
target(target_destination) : "Spawn path_corner" : : "The name of the first path_corner in the train's path. The train will spawn at this path_corner." | |||
speed(float) : "Speed" : "50" : "Speed at which the train moves." | |||
noise1(sound) : "Movement Sound" : : "The sound to play when the train moves." | noise1(sound) : "Movement Sound" : "Default.Null" : "The sound to play when the train moves. This must be specified, but can be set to 'Default.Null' to play no sound." | ||
noise2(sound) : "Stop Sound" : : "The sound to play when the train stops moving. | noise2(sound) : "Stop Sound" : "Default.Null" : "The sound to play when the train stops moving. This must be specified, but can be set to 'Default.Null' to play no sound." | ||
volume(float) : "Sound volume (0-10)" : "10" : "Volume of the sounds emitted when moving and stopping." | |||
volume(float) : "Sound volume | dmg(float) : "Crush Damage" : "0" : "Amount of damage to deal to entities blocking the train." | ||
dmg(float) : "Crush Damage" : "0. | |||
// Inputs | |||
input Toggle(void) : "Toggle movement" | input Toggle(void) : "Toggle movement" | ||
input Start(void) : "Start movement" | input Start(void) : "Start movement" | ||
input Stop(void) : "Stop movement" | input Stop(void) : "Stop movement" | ||
] | |||
</pre> | |||
==Keyvalues== | ==Keyvalues== | ||
{{KV BaseEntity|brush=1}} | |||
{{KV RenderFields}} | |||
{{KV|Spawn path_corner|intn=target|target_destination}} | |||
: The name of the first path_corner in the train's path. The train will spawn at this path_corner. | |||
: | {{KV|Speed|intn=speed|float}} | ||
: Speed at which the train moves. | |||
: | {{KV|Movement Sound|intn=noise1|string}} | ||
: The sound to play when the train moves. | |||
: | {{KV|Stop Sound|intn=noise2|string}} | ||
: The sound to play when the train stops moving. | |||
: | {{KV|Sound Volume (0-10)|intn=volume|float}} | ||
: Volume of the sounds emitted when moving and stopping. | |||
: | {{KV|Crush Damage|intn=dmg|float}} | ||
: Amount of damage to deal to entities blocking the train. | |||
: | |||
==Flags== | ==Flags== | ||
*8 : Non-solid | *8 : Non-solid | ||
==Inputs== | ==Inputs== | ||
{{I BaseEntity}} | |||
{{I RenderFields}} | |||
{{IO|Toggle}} | |||
: Toggle movement | : Toggle movement | ||
{{IO|Start}} | |||
: Start movement | : Start movement | ||
{{IO|Stop}} | |||
: Stop movement | : Stop movement | ||
==Outputs== | ==Outputs== | ||
{{O BaseEntity}} | |||
[[Category:Entities]] | [[Category:Entities]] |
Revision as of 12:38, 21 June 2020
Template:Base point It is a leftover from Quake that ping-pongs between the start and end of a series of path_corners. It was mostly replaced by func_tracktrain in GoldSrc, but was still used for looping auto-scrolling backgrounds. In Source, the introduction of parenting has rendered this method obsolete. However, the entity is still functional.

func_tracktrain
is, making it a good alternative for fast-moving objects.
Default.Null
with a volume of 0 to play no sound. [todo tested in ?]Entity Description
FGD Code
@SolidClass base(Targetname, Origin, RenderFields) line(255 255 0, targetname, target) = func_train: "An old entity leftover from Quake. It follows a series of path_corner entities." [ spawnflags(flags) = [ 8 : "Non-solid" : 0 ] target(target_destination) : "Spawn path_corner" : : "The name of the first path_corner in the train's path. The train will spawn at this path_corner." speed(float) : "Speed" : "50" : "Speed at which the train moves." noise1(sound) : "Movement Sound" : "Default.Null" : "The sound to play when the train moves. This must be specified, but can be set to 'Default.Null' to play no sound." noise2(sound) : "Stop Sound" : "Default.Null" : "The sound to play when the train stops moving. This must be specified, but can be set to 'Default.Null' to play no sound." volume(float) : "Sound volume (0-10)" : "10" : "Volume of the sounds emitted when moving and stopping." dmg(float) : "Crush Damage" : "0" : "Amount of damage to deal to entities blocking the train." // Inputs input Toggle(void) : "Toggle movement" input Start(void) : "Start movement" input Stop(void) : "Stop movement" ]
Keyvalues
RenderFields:
- Render Mode (rendermode) <byte choices>
- Set a non-standard rendering mode on this entity.
Render Modes
- Render FX (renderfx) <byte choices>
- Various somewhat legacy alpha effects. See render effects.
- Render Amount / Transparency (renderamt) <byte>
- Transparency amount, requires a Render Mode other than Normal. 0 is invisible, 255 is fully visible.
- Render Color (R G B) (rendercolor) <color255>
- Color tint.
- Spawn path_corner (target) <targetname>
- The name of the first path_corner in the train's path. The train will spawn at this path_corner.
- Speed (speed) <float>
- Speed at which the train moves.
- Movement Sound (noise1) <string>
- The sound to play when the train moves.
- Stop Sound (noise2) <string>
- The sound to play when the train stops moving.
- Sound Volume (0-10) (volume) <float>
- Volume of the sounds emitted when moving and stopping.
- Crush Damage (dmg) <float>
- Amount of damage to deal to entities blocking the train.
Flags
- 8 : Non-solid
Inputs
RenderFields:
- Alpha <integer 0–255>
- Sets the entity's transparency to a number from 0 (invisible) to 255 (fully visible). Requires the entity to have its
rendermode
set to a number other than0
.
- Color <color255 >
- Sets an RGB color for the entity.
- Toggle
- Toggle movement
- Start
- Start movement
- Stop
- Stop movement