Func tracktrain
From Valve Developer Community
This Brush-based Entity is available in all Source Games.
| Table of contents |
Entity description
A brush entity that functions as moving platform that the player can ride. It follows a path of path_track entities.
Note: Unless the Fixed Orientation flag is set, build your train so that the front of the train is facing down the X axis. (This means that the front of the train is visible in the front view, etc..) When it spawns it will automatically rotate to face the next path_track on the path.Individual keyvalues and flags
To do: Since the keyvalues and flags are currently templated to multiple entities, the individual data for this entity is written in this section until all the other entities having these templates has been researched (and found either similar or diverse).
- orientationtype
- <choices> How/If the train should change its angles as it travels.
Literal value Description Effect 0 Never (fixed orientation) The orientation of the train is fixed (instead of being relative to the direction of the track) permanently facing the direction it was spawned in (according to the direction of the first track). This overrides the Orientation Type settings of its path_track. Does not turn around when reversing direction.1 Near path_tracks The train changes direction upon nearing a path_track. Does not turn around when reversing direction. 2 Linear blend Very weird orientation that is choppy in corners. (Please find a use for it.) Turns around when reversing direction. 3 Ease in/ease out Seemingly the same orientation as Linear blend. Turns around when reversing direction.
- 16 : Fixed Orientation - The orientation of the train is fixed (instead of being relative to the direction of the track) permanently facing the direction it was created in (prior to spawn). Overrides both the "Change angles" keyvalue setting of this
func_tracktrain, and the Orientation Type settings of itspath_tracks.
In code it is represented by class CFuncTrackTrain (http://doxygen.page.needed/class_c_func_track_train.html), defined in trains.cpp (http://doxygen.page.needed/trains_8cpp-source.html).
Keyvalues
- targetname <target_source>
- Defines the name that other entities refer to this entity by.
- hammerid [Episode Two Update]
- <integer readonly> This id is used for debugging purposes in Hammer.
- parentname <target_destination>
- Specifies the targetname of this entity's Parent in a movement hierarchy. Child entities mimic the movements of their Parent.
- origin
- <origin> The position of this entity's center in the world. Rotating entities rotate around their origin.
- renderfx
- <choices>
Literal 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) 17 Scale up 22 Spotlight FX 23 Cull By Distance (TEST) 24 Fade Wider Pulse
- rendermode
- <choices> Used to set a non-standard rendering mode on this entity. See also 'FX Amount' and 'FX Color'.
Literal Value Render Mode Description (Click for more info.) 0 Normal Default rendering. 1 Color Obsolete. 2 Texture Plain opacity. 3 Glow No Z buffer checks. Fixed size on screen. 4 Solid / Alphatest Obsolete. (Use alphatest capabilities in materials instead.) 5 Additive Obsolete. Add this entity's color to what's behind it. 7 Additive Fractional Frame Obsolete? Blend between animation frames. 8 Alpha Add (Not in FGD.) Add alpha. 9 World Space Glow No Z buffer checks. Fixed size in world (as opposed to on screen). 10 Dont Render / None Don't render.
- renderamt
- <integer> FX Amount (0 - 255) - How opaque the entity will be rendered. (
0is fully transparent, while255is fully opaque). Will not work if the rendermode keyvalue is set to Normal or Dont Render.
- rendercolor
- <color255> FX Color - What color the entity will be rendered in (to the degree of the opacity set with renderamt).
- globalname
- <string> Name by which this entity is linked to another entity in a different map. When the player transitions to a new map, entities in the new map with globalnames matching entities in the previous map will have the previous map's state copied over their state.
- disableshadows
- <boolean> Used to disable dynamic shadow casting from this entity.
- target
- <target_destination> The name of the first path_track in the train's path. The train will spawn at this path_track. It will also turn to face direction indicated by the 'Orientation Type' setting.
- startspeed
- <integer> The maximum speed that this train can move. Any speeds applied to this train, such as by path_tracks or SetSpeed inputs, will be clipped to this maximum value.
- speed
- <integer> The speed that the train will move at after it spawns, 0 = stopped.
- velocitytype
- <choices> Change Velocity.
Literal value Description 0 Instantaneously 1 Linear blend 2 Ease in/ease out
- orientationtype
- <choices> Change angles.
Literal value Description 0 Never (fixed orientation) 1 Near path_tracks 2 Linear blend 3 Ease in/ease out
- wheels
- <integer> Used for turning and stopping.
- height
- <integer> The height above the track that this train moves.
- bank
- <string> Bank Angle on Turns.
- dmg
- <integer> The amount of damage this train does to entities that block it.
- _minlight
- <string> The minimum level of ambient light that hits this brush.
- MoveSound
- <sound> A sound that is played (and looped) while the train is moving.
- MovePingSound
- <sound> A sound that is played more frequently as the train speeds up.
- StartSound
- <sound> A sound played when the train starts moving.
- StopSound
- <sound> A sound played when the train stops moving.
- volume
- <integer> Volume (10 = loudest).
- MoveSoundMinPitch
- <integer> The sound pitch value that the train will approach as it comes to a stop.
- MoveSoundMaxPitch
- <integer> The sound pitch value that the train will approach as it approaches its.
- "max speed
- <or 1000 inches/second if the 'Use max speed for pitch shifting move sound' flag is not set> Minimum interval at which to play the move ping sound.
- MoveSoundMaxTime
- <float> Maximum interval at which to play the move ping sound.
Flags
- 1 : No Pitch (X-rot)
- 2 : No User Control
- 8 : Passable
- 16 : Fixed Orientation
- 128 : HL1 Train
- 256 : Use max peed for pitch shifting move sound
- 512 : Is unblockable by player
Inputs
- Kill
- Removes this entity from the world.
- Removes this entity and all its children from the world.
- AddOutput <string>
- Evaluates a keyvalue/output on this entity. It can be potentially very dangerous, use with care.
- Format:
<key> <value> - Format:
<output name> <targetname>:<inputname>:<parameter>:<delay>:<max times to fire (-1 == infinite)>
- Causes this entity's OnUser1-4 outputs to be fired. See User Inputs and Outputs.
- SetParent <target_destination>
- Changes the entity's parent in the movement hierarchy.
- SetParentAttachment <string>
- Change this entity to attach to a specific attachment point on its parent. Entities must be parented before being sent this input. The parameter passed in should be the name of the attachment.
- SetParentAttachmentMaintainOffset <string> [Episode One Update]
- Change this entity to attach to a specific attachment point on it's parent. Entities must be parented before being sent this input. The parameter passed in should be the name of the attachment. The entity will maintain it's position relative to the Parent's Origin and Angles at the time it is attached.
- Removes this entity from its current movement hierarchy.
- DisableShadow
- Turn shadow off.
- EnableShadow
- Turn shadow on.
- SetSpeed <float>
- Set the speed of the train, as a ratio of max speed [0, 1]
- SetSpeedDir <float>
- Set the speed of the train, as a ratio of max speed. Negative values reverse the direction [-1, 1]
- SetSpeedReal <float>
- Set the speed of the train. Must be a positive value from 0 to max speed.
- Stop
- Stop the train.
- StartForward
- Start the train moving forward.
- StartBackward
- Start the train moving backward.
- Resume
- Resume the train moving in the current direction after it was stopped via the 'Stop' or 'Toggle' input.
- Reverse
- Reverse the direction of the train.
- Toggle
- Toggle the train between start and stop.
Backward movement
Due to coding errors or engine limitations, the Reverse and StartBackward may not function correctly if the "New Train Speed" property in the involved path_track entities is set to 0. The train may fail to reverse, jamming in place or moving in the wrong direction. To solve this issue, some or all of the path_tracks must have their "New Train Speed" variable set to a nonzero value.
Outputs
- Fired in response to FireUser1-4 inputs. See User Inputs and Outputs.
- !activator = activator
