Bus Display System & Announcement Controller
A comprehensive Bus Route Destination Display system featuring an operator touch interface, automated "Next Stop" announcements based on GPS, and a fully adaptive passenger display.
🌟 Key Features
[list]
[*] [b]Adaptive Display:[/b] The passenger monitor adjusts automatically based on size (Wide, Medium, or Small).
[*] [b]GPS Automation:[/b] Automatic "NEXT STOP" alert when entering a stop's radius.
[*] [b]Touch Interface:[/b] 1x2 Operator screen to scroll and select destinations.
[*] [b]Stop Request System:[/b] Integrated STOP button logic with visual overlays.
[*] [b]Special Modes:[/b] Includes presets for "Out of Service", "Coffee Break", and "Special Transport".
[/list]
[hr]
📺 Monitor Behavior
[b]Wide Screens (>65px width):[/b]
[list]
[*] [b]Activation:[/b] Red "NEXT STOP" text scrolls once when entering the stop zone.
[*] [b]Standard:[/b] Destination text pans left/right (Stop Request overlay blinks red when active).
[/list]
[b]Medium Screens (33–65px width):[/b]
[list]
[*] Shows Route Number + Status Square (Red/Yellow/Cyan for special modes).
[/list]
[b]Small Screens (<33px width):[/b]
[list]
[*] Compact Route Number only (Stop overlay hidden to save space).
[/list]
[hr]
⚙️ Configuration & Properties
[b]1. General Settings[/b]
[list]
[*] [b]HEX:[/b] The UI text color (e.g., #FF9900).
[*] [b]Route number:[/b] The bus line number (e.g., 42). It automatically pads to two digits.
[/list]
[b]2. Defining Stops[/b]
Add a [b]Text Property[/b] for each stop. Name the property with the stop number (e.g., "1", "2", "3").
[b]Value Format:[/b]
Stop Name:x,y,radius
[list]
[*] [b]Stop Name:[/b] The text shown on the screen.
[*] [b]x, y:[/b] GPS Coordinates of the stop.
[*] [b]radius:[/b] Distance in meters to trigger the announcement.
[/list]
[b]Examples:[/b]
North Harbor:1260,-3750,260
Holt Town (hub):15,-4780,300
Central Station
(Note: If you omit coordinates, it will display the name but won't trigger the "Next Stop" alert).
[hr]
🛠️ Wiring Guide
[b]Microcontroller Inputs:[/b]
[list]
[*] [b]Composite 1:[/b] Operator Touch Display (1x2 Monitor).
[*] [b]Composite 2:[/b] Physics Sensor (Required for GPS/Stop triggering).
[*] [b]Bool 1:[/b] STOP Request Button.
[*] [b]Bool 2:[/b] DOOR OPEN Button (Resets the Stop Request).
[/list]
[b]Microcontroller Outputs:[/b]
[list]
[*] [b]Video 1:[/b] Operator Display (Must be 1x2).
[*] [b]Video 2:[/b] Passenger Displays (Connect as many as you want).
[*] [b]Bool 1:[/b] "Next Stop" Pulse (Triggers once when entering radius).
[*] [b]Bool 2:[/b] Stop Signal Output (Pass-through).
[*] [b]Bool 3:[/b] In-Zone Flag (True when inside activation radius).
[/list]
[hr]
🎮 Operator Panel Guide
[list]
[*] [b]Touch Input:[/b] Connect Composite Video 1 to a 1x2 Monitor.
[*] [b]Controls:[/b] Scroll through the list and tap a row to select the destination.
[*] [b]Special Codes:[/b]
[list]
[*] -1: OUT OF SERVICE
[*] 0: COFFEE BREAK
[*] >Max: SPECIAL TRANSPORT
[/list]
[/list]
[hr]
📝 Credits
Credit to [url=https://steamcommunity.com/id/Tigrrer]Tigrrer[/url] for permission to use parts of the display code.
(If you are the original creator of the base script, please message me and I will add you to the credits!)