This article's documentation is for the "GoldSrc" engine. Click here for more information.


From Valve Developer Community
Jump to: navigation, search

func_tracktrain is a brush entity available in all GoldSrc GoldSrc games. 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 turn to face the next path_track, similar to how real world trains behave.

Key Values


Name (targetname) <targetname>
The targetname that other entities refer to this entity by.

Global Entity Name (globalname) <string>
Name to identify entity accross level transitions. Entities with the same global name will have the same status accross maps.

First stop target (target) <targetname>
Sound (sound) <choices>
#t Description
0 None
1 Rail 1
2 Rail 2
3 Rail 3
4 Rail 4
5 Rail 6
6 Rail 7
Distance between the wheels (wheels) <integer>
The distance to the train's "front wheels", calculated forwards from the train's origin. This determines the heading, or the angle the trains face when turning corners.
Height above track (height) <integer>
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) <integer>
The speed the train starts at, until overridden by player control or path_track settings.
Speed (units per second) (speed) <integer>
The maximum speed the player can make a controllable train go in units/second. The global entity speed limit is 2000.
Damage on crush (dmg) <integer>
If train movement is blocked by the player, deal out this much damage.
Volume (10 = loudest) (volume) <integer>
Bank angle on turns (bank) <string>
This is the angle the train will tilt when cornering.
Minimum light level (_minlight) <string>
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.
Render FX (renderfx) <choices>
Render FX mode to use, for special effects.
Value Description
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 + fade)
Render Mode (rendermode) <choices>
Render Mode to use.
Value Description
0 Normal
1 Color
2 Texture
3 Glow
4 Solid
5 Additive
FX Amount (1-255) (renderamt) <integer>
Controls transparency when using another render mode then normal. 0 is completely invisible, and 255 is opaque.
FX Color (R G B) (rendercolor) <color255>
Color to use by the specified render mode.
Also used on brush entities to control the speed of scrolling textures; see func_conveyor for more information.

Minimum light level (_minlight) <string>
ZHLT Light Flags (ZHLT 2.2+) (zhlt_lightflags) <choices>
Special lighting behavior. Only available if using Zoner's Half-Life Compile Tools.
  • 0 : "Default"
  • 1 : "Embedded Fix"
  • 2 : "Opaque (blocks light)"
  • 3 : "Opaque + Embedded fix"
  • 6 : "Opaque + Concave Fix"
Light Origin Target (ZHLT 2.2+) (light_origin) <targetname>
Used to define a target to sample lighting from.
Entity to Use Model From (ZHLT) (zhlt_usemodel) <targetname>
Used to set the model to a different entity's model (bmodel, BSP, MDL, or SPR). The targeted entity will be moved before this entity to ensure proper loading.
Nonsolid (ZHLT) (zhlt_noclip) <boolean>
Disables generation of clipnodes for all brushes on this entity, except for clip brushes. The entity may still be solid to point traces (hitscans, grenades, etc) if the brush contents are set to solid.
Tip.pngTip:Always enable this for func_illusionary; VHLT does not properly strip clipnodes for this entity.

Don't Render (ZHLT 3+) (zhlt_invisible) <boolean>
Treat all faces as if they were textured with NULL.
Tip.pngTip:Use this on triggers which use custom textures instead of AAATRIGGER or NULL, such as ladders.
Custom Hull 1 (VHLT+) (zhlt_hull1) <targetname>
Custom Hull 2 (VHLT+) (zhlt_hull2) <targetname>
Custom Hull 3 (VHLT+) (zhlt_hull3) <targetname>
Which named info_hullshape entity to use for the specified clipping hull.
Mins/Maxs (VHLT+) (zhlt_minsmaxs) <mins vector + maxs vector>
Override this entity's bounding box.
zhlt_transform (zhlt_transform)
zhlt_hidden (zhlt_hidden)
zhlt_striprad (zhlt_striprad)

Custom Shadow Color (VHLT+) (zhlt_customshadow) <color1>
If this entity casts shadows, the shadows will be this color instead of black. Can also be a single value, for monochrome.
Fake Lightmap (VHLT v33+) (zhlt_embedlightmap) <boolean>
Generates unique diffuse textures for all textured faces, then bakes lighting information directly into the generated textures. Primarily used to prevent translucent surfaces from "glowing", as rendermodes which support translucency don't render lightmaps on the vanilla renderer.
Icon-Important.pngImportant:The resulting textures will be renamed to have the prefix __rad; as such, any unique attributes will be lost.
Downscale Fake Lightmap (VHLT v34+) (zhlt_embedlightmapresolution) <integer>
Downscale texture created by zhlt_embedlightmap this many times.


  •  [1] : No Pitch (X-rot
       Enabling this will make the train rotate on the Z axis.
  •  [2] : No User Control
       Removes the player's ability to control the train.
  •  [8] : Passable
       Makes train non-solid.