AC Chat

Premium FiveM chat system, channels, roleplay commands, proximity, smart autocomplete, moderation, and Discord. QB, QBox, ESX, standalone. No database.

What it is

AC Chat is a premium chat system for FiveM. It gives you channels, roleplay commands, proximity chat, smart command autocomplete, moderation tools, and an in game settings panel, all with a clean modern look. It works on QBCore, QBox, ESX, and standalone, and it needs no database.

It is free, from scripts.aczone.xyz.

Features

  • Smart autocomplete. Fuzzy command search (type job to find /setjob), argument hints (/setjob [id] [job] [rank]), and it learns which commands each player uses most. It reads your framework's real command list, nothing is hardcoded.
  • Channels. Global, Local (proximity), OOC, Job, and Staff out of the box. Add your own. Each has its own colour, permission, cooldown, and range.
  • Six message styles. Badge, chip, label, coloured name, top line, or plain. Server default plus a per player override.
  • 3D /me and /do. Clean floating text above the player, scaled by distance.
  • @mentions. Only an explicit @Name pings someone. A bare name in a sentence does not.
  • In game settings. Theme presets, accent colour, size, draggable position, and a live preview. Saved per player, no database.
  • Moderation. Anti spam, per channel cooldowns, a word filter, and mutes that survive a reconnect.
  • Keybinds. Up to four player assignable command keys, set from the settings panel.
  • Discord. Outbound webhook mirroring per channel, plus admin action logging.
  • Localisation. Every player facing string lives in locales/. Copy en.lua, translate, set Config.Locale.

Commands

Everyone

  • Open chat: T (rebindable in FiveM keybinds, or Config.OpenKey).
  • Channel shortcuts: /g /l /o /j /s (Global, Local, OOC, Job, Staff).
  • Roleplay: /me [action], /do [text], /try [action], /looc [message], /dice [sides].
  • Settings panel: /chatsettings.
  • Reposition the HUD: /chatpos (or drag it in settings).

Staff (need the ACE permission, see Installation)

  • /announce [message] posts a server wide banner.
  • /clearchat wipes everyone's chat.
  • /mutechat [id] [seconds] [reason] mutes a player in chat.
  • /unmutechat [id] lifts a mute early.
  • /mutes lists everyone currently muted.

Command names are all configurable in config.lua.

Quick start

  1. Drop the ac_chat folder into your resources (for example [communication]/ac_chat).
  2. Add ensure ac_chat to your server.cfg.
  3. Stop any other chat resource first (the default chat, or another paid chat). Two resources that provide 'chat' fight over the UI.
  4. Restart. It auto detects your framework, nothing else to set up.

One important step: grant your staff the admin permission, or staff commands look broken. This is the number one support question and it is working as intended. See Installation.

Developer API (exports)

lua
-- send a message to everyone (-1) or one server id
exports.ac_chat:SendMessage(-1, { author = 'Dispatch', text = 'Bank 10-90', color = '#c6a15b', mode = 'system' })
 
-- quick system line
exports.ac_chat:AddSystemMessage(source, 'Welcome to the city.')
 
-- register a channel at runtime
exports.ac_chat:RegisterChannel({ id = 'gang', label = 'Gang', type = 'job', color = '#a9c6a0', perm = false })

Legacy chat:addMessage, chat:addSuggestion, chat:clear, and chat:removeSuggestion from other resources are supported automatically, so existing scripts that print to chat keep working.