Skip to main content

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.

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

Required

es_extended, ox_lib, saltychat

Optional

wais-hudv4 (or any HUD) for edit-mode / mirror toggle via Config.HudEvents

Configuration

config.lua
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. Key hook: Hooks.GetMemberInfo(xPlayer) returns { name, gradeLabel } — override to surface citizen IDs / department prefixes / custom ranks.

Resource info

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