How to make an automated announcement system for the train?

I am developing a train simulator featuring a fictional railroad system inspired by the Long Island Rail Road. Currently, I’m working on refining an automated announcement and destination system, which has proven to be quite challenging.

Initially, I attempted a system where a station’s value is set to true when selected, and when a Sensor Block interacts with the ASI Block, it checks if the train is stopping at that station. If the ASI Block confirms a stop, it triggers the corresponding announcement. While this method functions, I believe it lacks efficiency and sophistication.

My goal is to create a more streamlined system where passengers can select their destinations based on their stops. The system will only allow terminals, the originating station, or stations where track crossings are possible as final destinations. Additionally, I aim to include announcements like “This is the train to…” and “The next station is…” as the train progresses towards its next stop.

I’m open to suggestions and would appreciate any better ideas you may have for enhancing this system.