Skip to content

Alerts, paging and the console

Alerts

Any script can put a spoken alert on a channel:

local RadioAPI = require(game.ServerStorage.RadioSystem.RadioAPI)

RadioAPI.Alert({
    Text = "Door forced, north stair",
    Channel = "Security 1",
    Priority = "High",
    Tone = "Alert1",
})

Alerts queue per channel by priority, wait for a clear channel or preempt a lower-priority talker, and are replayed if they get cut off.

Watchers: alerts with no code

Config.Alarms.Watchers turns an attribute or value changing anywhere in the game into an alert, once per change into the matching value:

{ Path = "Workspace.Generator.ATS", Attribute = "Source", Equals = "Generator",
  Channel = "Power", Text = "Utility power lost. Building on generator.",
  Priority = "High" }

Paging

Parts tagged RadioPASpeaker form a PA bus. All-calls route into it, and so do alerts at Config.Paging.AlertsAtPriority and above.

The dispatch console

Parts tagged RadioConsole are operator positions. An operator signs in at a position and can:

  • monitor any set of channels
  • transmit at console priority
  • all-call
  • run a radio check
  • stun or revive a radio
  • acknowledge an emergency
  • send alerts

Backend only

The console ships as a backend with a documented remote contract, not as a finished operator screen. You build the UI you want; the server side is done.

If you only need someone to hear channels, a ChannelMonitor part needs no code at all.