Can I please have some feedback on my railway signalling system? It contains a standalone modulescript, another script to start the module and a template signal and signal block. It has documentation included in the modulescript, so hopefully you’ll be able to get a good understanding of how it works.
So you need to place signals (signals) and blocks (every area on a railway line is in a block, and signalling with signals at the entrances of blocks ensures only one train can be in a block at once - see this Wikipedia article if you don’t know how this works, although I assume you do). An example block and signal is included in the model. The block contains a value object you can ignore called Occupied. However, in each and every signal, you’ll need to:
use the Block ObjectValue to set which block it ‘protects’ (is at the entrance to)
use the Autotrigger BoolValue to set whether it is always green or only when a train is coming towards it (set to false if there’s more than one signal ‘protecting’ the block this signal protects, otherwise true)
add ObjectValues to the ASignals folder for every signal a train can pass as its next signal after this one
Then, if you set Autotrigger to false:
add ObjectValues to the TBlocks folder for every block that ‘triggers’ the signal to make it turn green
= add ObjectValues to the TSignals folder for every signal that can’t be green when this one is (other signals ‘protecting’ the block)
You can also use the S1-3Enabled BoolValues to decide whether single yellow, double yellow and green signal aspects can be shown (if not, it defaults down - for example, if a signal wants to show green but can’t, it tries to show double yellow - if it can’t, it tries single yellow, and so on). As well as this, the ManualState value effectively overrides everything else (but only down - you can make a green signal red, but not a red signal green), so if you ever implement a manual signalling system you can use that.
The signal also has more value objects - ignore them.
Is there a way to have the system indicate a restricting (yellow) signal. The main purpose of this signal is to indicate that the following signal is red. Although it could just be me confusing my ABS systems.