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
Tip:As brush entities are lit using static lightmaps, lighting on this entity may look weird when it moves from its original position. If this is an issue, consider converting the brushes to a prop, changing the brushes to clip or skip, and parenting the converted model to this entity.
Note:For Keyvalues and Inputs affecting brush rendering, see Brush entity/Rendering related keyvalues and inputs
SirYodaJedi (talk | contribs) |
SirYodaJedi (talk | contribs) No edit summary |
||
| Line 10: | Line 10: | ||
{{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.}} | {{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.}} | {{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.}} | ||
{{moving brush tip}} | |||
== Keyvalues == | == Keyvalues == | ||
Latest revision as of 10:07, 25 November 2025
| CFuncTrain |
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. Unlike func_tracktrain, it does not rotate when turning.
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 ?]Keyvalues
- Name (targetname) <string>
- The name that other entities refer to this entity by, via Inputs/Outputs or other keyvalues (e.g.
parentnameortarget).
Also displayed in Hammer's 2D views and Entity Report. - See also: Generic Keyvalues, Inputs and Outputs available to all entities
- Pitch Yaw Roll (Y Z X) (angles) <QAngle>
- Initial orientation of the train.
- 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
- Wait to retrigger : [1]
- Set and unset by game code; should not be set manually.
- Non-solid : [8]
Inputs
- Toggle
- Toggle movement
- Start
- Start movement
- Stop
- Stop movement
FGD Code
@SolidClass base(Targetname, Origin, Angles, 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"
]