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) No edit summary |
SirYodaJedi (talk | contribs) |
||
| (One intermediate revision by the same user not shown) | |||
| Line 19: | Line 19: | ||
{{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|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|Speed|intn=speed|float|Speed at which the train moves.}} | ||
{{KV | {{KV CBasePlatTrain sounds}} | ||
{{KV|Crush Damage|intn=dmg|float|Amount of damage to deal to entities blocking the train.}} | {{KV|Crush Damage|intn=dmg|float|Amount of damage to deal to entities blocking the train.}} | ||
Latest revision as of 07:52, 8 December 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) <sound>
- The sound to play when the train moves.
- Stop Sound (noise2) <sound>
- The sound to play when the train stops moving.
- Move Sound index (movesnd) <integer choices> (only in

) - The sound to play when the train moves. Overrides
noise1, even if absent.
Choices - 0: Plat.DefaultMoving
- 1: Plat.BigElev1
- 2: Plat.BigElev2
- 3: Plat.TechElev1
- 4: Plat.TechElev2
- 5: Plat.TechElev3
- 6: Plat.FreightElev1
- 7: Plat.FreightElev2
- 8: Plat.HeavyElev
- 9: Plat.RackElev
- 10: Plat.RailElev
- 11: Plat.SqueakElev
- 12: Plat.OddElev1
- 13: Plat.OddElev2
- Stop Sound index (movesnd) <integer choices> (only in

) - The sound to play when the train stops moving. Overrides
noise2, even if absent.
Choices - 0: Plat.DefaultArrive
- 1: Plat.BigElevStop1
- 2: Plat.BigElevStop2
- 3: Plat.FreightElevStop
- 4: Plat.HeavyElevStop
- 5: Plat.RackStop
- 6: Plat.RailStop
- 7: Plat.SqueakStop
- 8: Plat.QuickStop
- Sound Volume 0.0 - 1.0 (volume) <string>
- Sound volume
- 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"
]