Guide to setting up single line routes without AI locking your junctions!!

Davie_UCF

Here since 2001, Trainz!!
This is something i'd like to share on how after months I have tackled setting up a single line route to work with AI. Without even lifting a finger once in the cab!

The Problem
The problem we get with single line routes is the AI will lock the junction out of a passing loop, meaning for you to gain access to pass the AI you have to stop the AI's commands so it will free the loop.
If you forget about this you can end up going head on into the AI.
The solution of stopping the AI is rather bothersome itself, meaning you have to remember where the loop is, slow down, stop and then sort out the AI.. this is hardly realistic and can take away the immersion and realism of your route..

My Solution
What I have discovered is placing a catchpoint after the signal (see diagram if confused) at the end of the loop before you exit will stop the AI from locking the further point. It will lock the catchpoint (which by default will be set in your/its favour anyway so its not going to mess up your driving).

Usually for some strange reason once your train has entered the loop the AI grabs the exit point.. I do wonder why it doesnt do that in the first place and give the original problem again..

My solution for it not always freeing itself is a setup of triggers and set junctions rules which is very simple.

1.
This is a diagram of a passing loop showing my setup.



First you need to make sure your loop is set up. Place your signals normally but leave a bit of space so you can put in a catch point at the end (see diagram). Make sure you use directional markers, i've not put these on the diagram as I think its standard practice for loops and you will have done this before..

Next thing you need to do is set up triggers outside the loop (YY loop approach East and Westbound, note the YY can be replaced with the name of the loop or station).
These will be set up so a train approaching will set the loop in its favour so it may enter if the loops points have been changed/tampered with.. it also acts as setting the loop for ongoing trains once the train in opposite direction has left the loop.. so make sure its at least a trains length away from the loop entrance/exit

Next step is to add two triggers before the signal on either side of the loop. These triggers will ensure that when the train has entered the loop the points will change allowing the AI train out of the loop on the other track. (It can also be set up to let you out using a junction link, but this is an extra addition).

You can name these triggers in my format to make it easier to understand and set up later.


That is all you need to do in surveyor..

You now need to open the rules list.
Create an ordered list.. (there will be one ordered list for each direction a train enters the loop) to keep this organised I name them by the stations further down the line on each end, for example, if the town on the west of the loop is called Credo Junction and the one on the east is called Tunstead I will name the ordered list CJ-TS. Make sure you click edit and set it to Repeat forever!

Next you need to add a trigger check rule then a Set Junction and use the right arrow to move them across so it looks like this.

Ordered List (CJ-TS)
--Trigger Check
--Set Junction


In the first trigger check you will select the YY loop approach Ebound
and for set junction select the junction on the left J01 and set it to Left (you may have to test the trigger in surveyor as the correct direction may be Right or Centre, trainz is confusing with this)

You then add another two underneath so it becomes this;

Ordered List (CJ-TS)
--Trigger Check
--Set Junction
--Trigger Check
--Set Junction

For the next two, set the trigger check as YY loop ebound and the junction the same, but the opposite direction, this will make the point return to its previous state once you are in the loop and let out the train waiting in the other track...(make sure your trigger is at the far end of the loop just before the signal otherwise you may derail your train as the point changes and you are still entering the loop.)You have now created for any train traveling in the east direction and allowing a train traveling west to escape once you're in.

All you need to do now is set up the same ordered list for the opposite direction (TS-CJ) and the whole thing should work perfectly, allowing you to drive with AI, meet them in the loops and be allowed out withing even lifting a finger!!!

Few words on the catch points
This can be iffy, you may have to test once done and see if the AI will only grab the catch points. If it grabs the exit creaiting the original problem, try moving the catch point further from the exit and/or move the signal a bit further from the catch point.

Something extra you may want to add..
I have found a great way to improve this setup is to download the Junction Link from the DLS. This lets you link two junctions so when one is changed the other will also change.
You can set this so both ends of the loop are linked meaning when the points are set for the train to exit, the other points are also set... this works fine because on these loops the points will never be allowing you straight through and there is no risk of derailing an AI train by linking them.

If you think you should be able to drive straight through when theres no AI train approaching you can! think about it, once you hit that trigger that lets the AI out, if using the junction link your exit will change too! if you're not going insanely fast you won't even have to stop and will flow through the loop!


I will add screenshots of my setup in Trainz and a picture of the ordered list to make it clearer if you are confused..
I do hope this has helped you out.. Please give it a go and tell me how you get on!!
Long live single lines, AI and human co existing peacefully!!!!!

David
 
Last edited:
Two screenies of the east end of the loop to make it clearer.





http://img195.imageshack.us/i/singleline2.jpg/

I know it may seem complicated if you have never used rules but trust me, it works (99% of the time) and its truly worth it if you want to drive your single line route with AI trains without getting stuck head on, or even drive without AI, with this you can drive through a loop and it change for you without you stepping out the cab or fiddling with junctions!

Hope this helps out anyone confused how it will look in trainz :)
 
Last edited:
Great idea. I employ a similar method as well, albeit slightly simpler; put trackmark A at the end of the passing loop and trigger A at the opposite end of the passing loop.

Tell AI train to drive to trackmark A and wait for trigger A. Player train completely passes passing loop and AI train continues to it's destination.

Cheerio,
Nicholas.
 
Great idea. I employ a similar method as well, albeit slightly simpler; put trackmark A at the end of the passing loop and trigger A at the opposite end of the passing loop.

Tell AI train to drive to trackmark A and wait for trigger A. Player train completely passes passing loop and AI train continues to it's destination.

Cheerio,
Nicholas.
Yeah, I knew of this but never tried it.. its good if you know you're going to meet an AI train, otherwise you/or they may just sit there for ages waiting for the trigger.. with my longer a bit more complicated method the train will run through without the need for another train to let it out.. which works good for open sessions where you just want to run around or where trians may be delayed or ahead..!

:)
Thanks for the reply
David
 
David,

Thank you for taking the time to document and share this information.

Regards

Chris
 
Last edited:
Thanks.

And update on this..
I have noticed that Trigger Check doesn't seem to work. Previously I have used Trigger Rule but remember reading it was older and Trigger Check should be used.. however none of my setups seem to work with Trigger check for some strange reason..

So if you are trying this out, please use Trigger rule instead of Trigger check :)
Unless you have managed to get it working with Trigger Check.. to me it appears to do nothing at all :eek:

David
 
Back
Top