Func tanktrain

From Valve Developer Community

This Brush-based Entity is available in all Source Games.

Table of contents

Entity Description

A moving train that follows a path of path_track entities, shoots at the player, and can be killed.

Image:note.png Note: Build your train so that the front of the train is facing down the X axis. When it spawns it will automatically rotate to face the next path_track on the path.

In code it is represented by class CFuncTankTrain (http://doxygen.page.needed/class_c_func_tank_train.html), defined in hl2_dll\func_tank.cpp (http://doxygen.page.needed/func__tank_8cpp-source.html).

Keyvalues

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.
Specifies the targetname of this entity's Parent in a movement hierarchy. Child entities move with 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. (0 is fully transparent, while 255 is 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.
  • health
<integer> Health.

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.
Changes the entity's parent in the movement hierarchy.
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.
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.

Outputs

Fired in response to FireUser1-4 inputs. See User Inputs and Outputs.
!activator = activator
  • OnDeath
Fired when the tank is killed.