WiseAltpath: Alternate paths
This tutorial was originally created by wisemx. It was originally posted on SDKnuts.net.
When using func_tracktrain on path_track's it’s often handy to have an alternative path. Imagine a train that is on a track, the player has to stop the train and push a button, then once back on the train it follows another set of tracks.
In this project I’ve used a Roller_Spikes.mdl
parented to a func_tracktrain
.
The roller will follow a triangular path on the left side of the screen for 3 loops. It will then switch to a triangle on the right side for three loops. This will continue indefinitely.
This is down with 5 path_track
entities with one of them acting as a track switch. I’m using a math_counter
to change the track but the very same effect can be achieved with triggers, buttons, etc. When the map loads the train will be moving from the start. Each time it passes switch01
I’m adding a value to a math_counter
. When the math_counter
gets to 3
it will switch the track.
Give each of the path_track
entities a name that reflects their role. This helps as you are working on your map.
The math_counter
:
- Name: math01
- Initial value: 0
- Min legal value: 0
- Max legal value: 3
My Output | Target Entity | Target Input | Parameter | Delay | Only Once | |
---|---|---|---|---|---|---|
OnHitMax | switch01 | ToggleAlternatePath | 0.00 | No | ||
OnHitMax | math01 | Subtract | 3 | 0.50 | No |
The path_track
, switch01
:
- Next stop target: path_a1
- Branch Path: path_b1
My Output | Target Entity | Target Input | Parameter | Delay | Only Once | |
---|---|---|---|---|---|---|
OnPass | math01 | Add | 1 | 0.00 | No |
When the train gets to path_track switch01
an output will add the value 1
to the math_counter
.
When the math_counter
gets to 3
it will fire an output to ToggleAlternatePath
which will instantly change the train to the alternate path.