> ## Documentation Index
> Fetch the complete documentation index at: https://docs.apex-services.site/llms.txt
> Use this file to discover all available pages before exploring further.

# APEX Radio List

> Live SaltyChat channel overlay with talking indicators.

A live SaltyChat radio-channel member list with real-time talking indicators. Shows everyone on your current primary channel as a floating overlay, with soundwave animations and a glowing accent whenever anyone is transmitting.

## Features

* Live member list with per-player talking indicators + soundwave animation
* Current channel label — per-frequency display name configurable
* Real-time sync — instant on `SaltyChat_RadioChannelChanged`, 3s safety poll
* CSS color variables — drop in your brand colors
* Mirrored layout option — left/right side, persisted in localStorage
* External HUD integration — hideHud, editMode, mirror, alwaysShow events
* Custom grade labels per member via hook
* Handles player-dropped + job-change cleanup + resource-restart resync

## Requirements

<CardGroup cols={2}>
  <Card title="Required" icon="circle-check">
    `es_extended`, `ox_lib`, `saltychat`
  </Card>

  <Card title="Optional" icon="puzzle-piece">
    `wais-hudv4` (or any HUD) for edit-mode / mirror toggle via `Config.HudEvents`
  </Card>
</CardGroup>

## Configuration

```lua config.lua theme={null}
Config.PollIntervalMs         = 3000
Config.DefaultChannelLabelKey = 'defaultChannelLabel'
Config.ChannelNames = { ['1'] = 'Police Radio', ['2'] = 'EMS Radio' }
Config.Colors = { accent = '#0cabb6', accentDim = '#098a93' }
Config.HudEvents = {
    hideHud    = 'wais:hideHud',
    editMode   = 'wais-hudv4:client:editMode',
    mirror     = 'wais-hudv4:client:radiolistMirror',
    alwaysShow = 'wais-hudv4:client:radiolistAlwaysShow',
}
```

Set any `HudEvents` entry to `nil` or `''` to disable that integration.

## Hooks

See [Hooks reference / Radio List](/hooks/apex-radio-list). Key hook: `Hooks.GetMemberInfo(xPlayer)` returns `{ name, gradeLabel }` — override to surface citizen IDs / department prefixes / custom ranks.

## Resource info

<Note>
  Code accessible: `config.lua`, `hooks.lua`, `locales/*`, `html/*`. Approximately 600 lines of Lua + NUI. English + German.
</Note>
