func_train
Class hierarchy |
---|
CFuncTrain |
trains.cpp
|
func_train
is a brush entity available in all Source games.
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[How?]. However, the entity is still functional.
Tip:This entity is not affected by the turning inaccuracy issues that
func_tracktrain
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
Default.Null
with a volume of 0 to play no sound. [todo tested in?]Contents
Keyvalues
Note:For Keyvalues and Inputs affecting brush rendering, see Brush entity/Rendering related keyvalues and inputs
- Name
(targetname)
<string> - The name that other entities refer to this entity by, via Inputs/Outputs or other keyvalues (e.g.
parentname
ortarget
).
Also displayed in Hammer's 2D views and Entity Report.See also: Generic Keyvalues, Inputs and Outputs available to all entities
- 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
Non-solid : [8]
Inputs
Toggle
- Toggle movement
Start
- Start movement
Stop
- Stop movement
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" ]