Trains | Index
| func_train_ext can have certain "children" objects that tag along, can change direction, or stop/resume at any time. These use "smart" waypoints and trigger relays that actually control most aspects of the train, but a simple train can still be setup by ignoring extra options. The last waypoint does not need a target. The train will either auto-reverse (if set) or wait for manual reverse/move triggers. |
| speed | Speed of the train (can be overridden by waypoints) |
| dmg | amonut of damage to inflict when blocked |
| noise | Start/travel noise (can be overridden by waypoints) |
| noise1 | Stop noise (can be overridden by waypoints) |
| noise4 | Noise to make when changing directions (DON'T USE A LOOPED WAV!!) |
| noise5 | Noise to make when trying to go wrong way at end of path (uses "noise1" if not set) |
| target | First waypoint or start position |
| event | Start at this waypoint (since you MUST use the first waypoint as the "target" on a non-looped path) |
| targetname | Can be triggered and/or targeted by child objects |
| 1 : START_ON | Start the train immediately, even if targeted |
| 2 : ALLOWPAUSE | Re-Triggering will pause/resume the train at any point along it's path |
| 4 : ALLOWCHANGEDIR | Lets a changedir trigger reverse the train's direction at any time |
| 8 : AUTOREVERSE | Train automatically reverses direction when it hits the last/first waypoint (only makes sense if last waypoint has no target). It will NOT auto-reverse on spawn if facing the wrong way (which is possible and valid). |
| 16 : BLOCKREVERSE | Reverses train direction when blocked (after inflicting damage) Don't use this on trains with non-looped paths without some way of getting it back to the forward direction (AUTOREVERSE or ALLOWCHANGEDIR). Else it'll get stuck when it reaches the start point again. |
| 32 : STARTREVERSE | Start in reverse |
| A train without a targetname will start immediately (doesn't need "START_ON" to be set) but it can not be stopped, and can not have children objects. |
| If your waypoints are not looped (i.e. the last point doesn't target the first), the train MUST target the first waypoint. Use the "event" target to have the train spanw at a different point along it's path ("event" is ignored if it's not on the same path.). |
| If you have a train on a non looped waypoint path, and AUTOREVERSE is not set, the train will stop at the last waypoint. If ALLOWCHANGEDIR is set, and the train gets a t_changerdir trigger, you will then be able to re-trigger movement in the reverse direction. Otherwise re-triggering will just produce the wrong-way sound. |
| func_train_ext is "dumb" on it's own these entities really control the train. These are used by func_watertrain as well. |
| speed | Forward speed from this waypoint to the next (-1 is warp to next waypoint) |
| wait | Time to pause at this waypoint when moving forward (-1 is wait for re-trigger, 0 is no pause) |
| noise | Override train's start/travel noise from this waypoint to the next when moving forward |
| noise1 | Override train's stop noise at this waypoint when moving forward (or between this waypoint and the next) |
| event | Targetname of entity to fire when the train hits this point when moving forward |
| speed2 | Reverse speed from this waypoint to the previous in (-1 is warp to previous) |
| wait2 | Time to pause at this waypoint when moving in reverse (-1 is wait for re-trigger, 0 is no pause) |
| noise2 | Override train's start/travel noise from this waypoint to the previous when moving in reversw |
| noise3 | Override train's stop noise at this waypoint when moving in reverse (or between this waypoint to the previous) |
| event2 | Targetname of entity to fire when the train hits this point when moving in reverse |
| targetname | This waypoint's name |
| target | Name of the next waypoint |
| Always use unique sets of train_ext_waypoint for func_train_ext and func_watertrain. The waypoints are linked with one another and can only work with one train at a time. |
| Speed propogates from waypoint to waypoint (if it's not set, the last speed is used). The first waypoint can also simply use the train's "speed" if set. |
| If the reverse speed/event are not set, the forward direction speed/event are used. Reverse sounds default to the train's sounds if they are not set. (This only matters for trains that can go in reverse of course). |