This entity allows you to create a player-controllable train / platform etc. that follows a path consisting of
path_tracks. Unlike
func_trains, func_tracktrains will automatically face the next path_track, similar to how real-world vehicles behave.
Attributes
- Name (targetname) - Property used to identify entities.
- Render FX (renderfx) - Gives objects special render effects. Think of it as modifying whatever the Render Mode puts out. The options are as follows:
- 0 = Normal
- 1 = Slow Pulse
- 2 = Fast Pulse
- 3 = Slow Wide Pulse
- 4 = Fast Wide Pulse
- 5 = Slow Fade Away
- 6 = Fast Fade Away
- 7 = Slow Become Solid
- 8 = Fast Become Solid
- 9 = Slow Strobe
- 10 = Fast Strobe
- 11 = Faster Strobe
- 12 = Slow Flicker
- 13 = Fast Flicker
- 14 = Constant Glow
- 15 = Distort
- 16 = Hologram (Distort and Fade)
- Render Mode (rendermode) - Controls the type of rendering that is used for an object. Options are:
- 0 = Normal
- 1 = Color
- 2 = Texture
- 3 = Glow
- 4 = Solid
- 5 = Additive
- Global Entity Name (globalname) - If your train is going to cross level transitions, it'll need a global name.
- FX Amount (renderamt)
- FX Color (rendercolor)
- ZHLT Lightflags (zhlt_lightflags)
- Light Origin Target (light_origin) - Overrides the position from which the train will receive its lighting when the map compiles. Useful if the train doesn't have the correct lighting in-game. This can be used with an info_target.
- First stop Target (target) - The name of the path_track to start at.
- Sound (sounds) - Values:
- 0 = none
- 1 = rail 1 (
plats/ttrain1.wav
) - 2 = rail 2 (
plats/ttrain2.wav
) - 3 = rail 3 (
plats/ttrain3.wav
) - 4 = rail 4 (
plats/ttrain4.wav
) - 5 = rail 6 (
plats/ttrain6.wav
) - 6 = rail 7 (
plats/ttrain7.wav
)
- Distance between the wheels (wheels) - This determines how the train behaves when turning corners. Generally the length of the object works here.
- Height above track (height) - This is the height above the path_track that the train will ride, based on the location of the train's origin brush.
- Initial Speed (startspeed) - The speed the train starts at, until overridden by player control or path_track settings.
- Speed (speed) - The maximum speed the player can make a controllable train go in units/second.
- Damage on crush (dmg) - If train movement is blocked by the player, deal out this much damage.
- Volume (volume) - Range: 0 - 10.
- Bank angle on turns (bank) - This is the angle the train will tilt when cornering.
- Minimum Light Level (_minlight) - The minimum light level the train will have, even if its initial position in the editor is in a purely dark room. This is a very aggressive value, so even a value of 0.02 will make the train relatively bright.
Flags
- No pitch(X-rot) (1) - Enabling this will make the train rotate on the Z axis only (yaw - left and right)
- No User Control (2) - Removes the player's ability to control the train (free ride to death?... yeah!)
- Passable (8) - Makes train non-solid.
Notes
- When you create the brush model it must face west (90 degrees - to the left in the top view). When it spawns in the game it will automatically move to the first path_track and orientate itself to face the second path_track.
- Sometimes the entity might require an 180 degree turn to appear correctly in-game, instead of 90. The cause of this is unknown (possibly an engine bug?)
- Changing the degrees in the yaw circle won't affect the direction that the func_tracktrain faces in-game. The degrees in the yaw circle in the path_track don't change anything either.
- func_traincontrols entities allow the player to control the train. They are not part of the func_tracktrain and their placement only determines the area of use. They will automatically stay in that area relative to the train as it moves.
- An origin brush needs to be part of the entity to specify its axes.
- This is one of the few entities that can have 'clip' brushes as part of itself, which prevent player movement (i.e. to stop the player falling off the sides).
I'll make a tutorial on my channel if I figure it out.