Regisignalling v2.4, a railway signalling system

Hiya,

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.

It’s here: https://www.roblox.com/library/5879126273/regisignalling-v2-4

Thanks!

3 Likes

I hope i dont sound dumb but i don’t get how it works yet. what i need to do for it to work?

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.

Feel free to ask if you have any more questions!

1 Like

Thank you very much, i think i understand

1 Like