func_train
This is an entity, present on Quake, Quake II, Quake III Arena, RTCW Single Player, RTCW Multiplayer, Enemy Territory and Quake 4. Below you can find its spawnflags, keys and editor settings for each game that defines it.
Quake
Trains are moving platforms that players can ride. The targets origin specifies the min point of the train at each corner. The train spawns at the first target it is pointing at. If the train is the target of a button or trigger, it will not begin moving until activated.
Keys
| Key |
Description |
| speed |
movement speed (default 100) |
| dmg |
damage to inflict when blocked (default 2) |
| sounds |
1) ratchet metal |
Editor
| Property |
Value |
| Type |
brush entity |
| Color |
0 .5 .8 |
Quake II
Trains are moving platforms that players can ride. The targets origin specifies the min point of the train at each corner. The train spawns at the first target it is pointing at. If the train is the target of a button or trigger, it will not begin moving until activated. speed default 100 dmg default 2 noise looping sound to play when the train is in motion
Spawnflags
| Flag |
Bit |
Description |
| START_ON |
1 |
|
| TOGGLE |
2 |
|
| BLOCK_STOPS |
4 |
|
Editor
| Property |
Value |
| Type |
brush entity |
| Color |
0 .5 .8 |
| Spawn function |
SP_func_train |
Quake III Arena
A train is a mover that moves between path_corner target points. Trains MUST HAVE AN ORIGIN BRUSH. The train spawns at the first target it is pointing at.
Spawnflags
| Flag |
Bit |
Description |
| START_ON |
1 |
|
| TOGGLE |
2 |
|
| BLOCK_STOPS |
4 |
|
Keys
| Key |
Description |
| model2 |
.md3 model to also draw |
| speed |
default 100 |
| dmg |
default 2 |
| noise |
looping sound to play when the train is in motion |
| target |
next path corner |
| color |
constantLight color |
| light |
constantLight radius |
Editor
| Property |
Value |
| Type |
brush entity |
| Color |
0 .5 .8 |
| Spawn function |
SP_func_train |
RTCW Single Player
A train is a mover that moves between path_corner target points. Trains MUST HAVE AN ORIGIN BRUSH. The train spawns at the first target it is pointing at.
Spawnflags
| Flag |
Bit |
Description |
| START_ON |
1 |
|
| TOGGLE |
2 |
|
| BLOCK_STOPS |
4 |
|
Keys
| Key |
Description |
| model2 |
.md3 model to also draw |
| speed |
default 100 |
| dmg |
default 2 |
| noise |
looping sound to play when the train is in motion |
| target |
next path corner |
| color |
constantLight color |
| light |
constantLight radius |
Editor
| Property |
Value |
| Type |
brush entity |
| Color |
0 .5 .8 |
| Spawn function |
SP_func_train |
RTCW Multiplayer
A train is a mover that moves between path_corner target points. Trains MUST HAVE AN ORIGIN BRUSH. The train spawns at the first target it is pointing at.
Spawnflags
| Flag |
Bit |
Description |
| START_ON |
1 |
|
| TOGGLE |
2 |
|
| BLOCK_STOPS |
4 |
|
Keys
| Key |
Description |
| model2 |
.md3 model to also draw |
| speed |
default 100 |
| dmg |
default 2 |
| noise |
looping sound to play when the train is in motion |
| target |
next path corner |
| color |
constantLight color |
| light |
constantLight radius |
Editor
| Property |
Value |
| Type |
brush entity |
| Color |
0 .5 .8 |
| Spawn function |
SP_func_train |
Enemy Territory
A train is a mover that moves between path_corner target points. Trains MUST HAVE AN ORIGIN BRUSH. The train spawns at the first target it is pointing at.
Spawnflags
| Flag |
Bit |
Description |
| START_ON |
1 |
|
| TOGGLE |
2 |
|
| BLOCK_STOPS |
4 |
|
Keys
| Key |
Description |
| model2 |
.md3 model to also draw |
| speed |
default 100 |
| dmg |
default 2 |
| noise |
looping sound to play when the train is in motion |
| target |
next path corner |
| color |
constantLight color |
| light |
constantLight radius |
Editor
| Property |
Value |
| Type |
brush entity |
| Color |
0 .5 .8 |
| Spawn function |
SP_func_train |
Quake 4
Trains are movers with a scriptObject that lets you move them along a linked path of target_nulls or func_splinemovers.
Keys
| Key |
Type |
Default |
Description |
| loopDelay |
float |
0 |
If set, the train will restart it's path after this amount of time once it reaches the end. |
| useSplineAngles |
float |
0 |
If set, the train will align itself to the spline's angles as it moves along the route. |
| snd_accel |
snd |
|
sound to play when acceleration starts. Played on SND_CHANNEL_BODY & SND_CHANNEL_BODY2. |
| snd_move |
snd |
|
sound to play when movement starts. Played on SND_CHANNEL_BODY & SND_CHANNEL_BODY2. |
| snd_decel |
snd |
|
sound to play when deceleration starts. Played on SND_CHANNEL_BODY & SND_CHANNEL_BODY2. |
| snd_stopped |
snd |
|
sound to play when the mover has stopped. Played on SND_CHANNEL_BODY & SOUND_CHANNEL_BODY2. |
| snd_idle |
snd |
|
sound to play all the time on this object. |
| accel_time |
var |
|
how long it takes the mover to accelerate to full speed. |
| decel_time |
var |
|
how long it takes the mover to deccelerate to a stop. |
| move_time |
var |
|
how long it takes the mover to complete a move. cannot be used with 'move_speed'. |
| move_speed |
var |
|
how many units the mover travels per second. cannot be used with 'move_time'. |
| solidForTeam |
var |
|
whether mover is solid to objects bound to it, or objects it is bound to. |
| damage |
var |
|
how much damage to cause entities that block mover. |
| solid |
var |
|
whether the mover is solid to other entities. |
| nopush |
var |
|
set to 1 to disable pushing objects that block the mover. |
| guiTarget |
var |
|
GUI's associated with mover. |
| health |
var |
|
when non-zero, how much damage to take before triggering targets. |
| attenuate |
var |
|
Allow the sound on this object to be attenuated based on speed. |
| attenuationScale |
var |
|
Scale for attenuation. Set this to be roughly the average speed of the mover. Tweak as necessary. |
| maxAttenuation |
var |
|
Maximum attenuation allowed. |
Editor
| Property |
Value |
| Type |
brush entity |
| Spawn class |
idMover -> idEntity -> idClass |
| Inherits |
func_mover |
| Color |
0 .5 .8 |
Script events
| Event |
Declared by |
| stopMoving |
idMover |
| stopRotating |
idMover |
| speed |
idMover |
| time |
idMover |
| accelTime |
idMover |
| decelTime |
idMover |
| moveTo |
idMover |
| moveToPos |
idMover |
| move |
idMover |
| accelTo |
idMover |
| decelTo |
idMover |
| rotateDownTo |
idMover |
| rotateUpTo |
idMover |
| rotateTo |
idMover |
| rotate |
idMover |
| rotateOnce |
idMover |
| bob |
idMover |
| sway |
idMover |
| openPortal |
idMover |
| closePortal |
idMover |
| accelSound |
idMover |
| decelSound |
idMover |
| stoppedSound |
idMover |
| moveSound |
idMover |
| enableSplineAngles |
idMover |
| disableSplineAngles |
idMover |
| removeInitialSplineAngles |
idMover |
| startSpline |
idMover |
| stopSpline |
idMover |
| activate |
idMover |
| isMoving |
idMover |
| isRotating |
idMover |
| getSplineEntity |
idMover |
| moveAlongVector |
idMover |
| getName |
idEntity |
| setName |
idEntity |
| activateTargets |
idEntity |
| numTargets |
idEntity |
| getTarget |
idEntity |
| randomTarget |
idEntity |
| bindToJoint |
idEntity |
| removeBinds |
idEntity |
| bind |
idEntity |
| bindPosition |
idEntity |
| unbind |
idEntity |
| setOwner |
idEntity |
| setModel |
idEntity |
| setSkin |
idEntity |
| getShaderParm |
idEntity |
| setShaderParm |
idEntity |
| setShaderParms |
idEntity |
| setColor |
idEntity |
| getColor |
idEntity |
| isHidden |
idEntity |
| hide |
idEntity |
| show |
idEntity |
| cacheSoundShader |
idEntity |
| startSoundShader |
idEntity |
| startSound |
idEntity |
| stopSound |
idEntity |
| fadeSound |
idEntity |
| getWorldOrigin |
idEntity |
| setWorldOrigin |
idEntity |
| getOrigin |
idEntity |
| setOrigin |
idEntity |
| getAngles |
idEntity |
| setAngles |
idEntity |
| getLinearVelocity |
idEntity |
| setLinearVelocity |
idEntity |
| getAngularVelocity |
idEntity |
| setAngularVelocity |
idEntity |
| getSize |
idEntity |
| setSize |
idEntity |
| getMins |
idEntity |
| getMaxs |
idEntity |
| touches |
idEntity |
| setGuiParm |
idEntity |
| setGuiFloat |
idEntity |
| getNextKey |
idEntity |
| setKey |
idEntity |
| getKey |
idEntity |
| getIntKey |
idEntity |
| getFloatKey |
idEntity |
| getVectorKey |
idEntity |
| getEntityKey |
idEntity |
| restorePosition |
idEntity |
| distanceTo |
idEntity |
| distanceToPoint |
idEntity |
| startFx |
idEntity |
| waitFrame |
idEntity |
| wait |
idEntity |
| hasFunction |
idEntity |
| callFunction |
idEntity |
| setNeverDormant |
idEntity |
| clearSkin |
idEntity |
| setContents |
idEntity |
| getLastBlocker |
idEntity |
| playEffect |
idEntity |
| stopEffect |
idEntity |
| stopAllEffects |
idEntity |
| getHealth |
idEntity |
| hideSurface |
idEntity |
| showSurface |
idEntity |
| guiEvent |
idEntity |
| playbackCallback |
idEntity |
| getBindMaster |
idEntity |
| applyImpulse |
idEntity |
| removeNullTargets |
idEntity |
| isA |
idEntity |
| isSameTypeAs |
idEntity |
| matchPrefix |
idEntity |
| clearTargetList |
idEntity |
| appendTarget |
idEntity |
| removeTarget |
idEntity |
| setHealth |
idEntity |
| remove |
idClass |