Input lock: while LocalPlayer.state.nsInputLock holds the name of a running resource, the open keys
(Enter / T) do not open the chat. ns-animpos sets it while its editor runs, so confirming a pose with Enter
no longer opens the chat. A lock left by a stopped resource is ignored.
1.7.0
Added
Default chat templates: chat:addTemplate / exports.chat:addTemplate store a template (up to 64, 1000
characters each) and chat:addMessage { templateId = ..., args = { ... } } uses it. Built in: default,
defaultAlt, print. HTML is shown as plain text, like every external message. Before, templateId was
ignored and addTemplate did nothing.
Development
Offline tests (lua5.4 tests/run_tests.lua): command router, delivery range and routing bucket, validation,
cooldown, flood, PM / reply, 911 routing, status, typing state, default chat exports, templates. Not shipped.
1.6.0
Added
Typing indicator: an animated "..." bubble above the head while a player has the chat open (Overhead.Typing, Overhead.TypingTimeout). Players walking into range see it too.
1.5.0
Added
Framework bridge (bridge/framework.lua, open file): Qbox, QBCore, ESX or standalone, Config.Framework = 'auto'.
Character names and 911 jobs work on Qbox, QBCore and ESX.
Kept statuses belong to the character (citizenid / ESX identifier): a status only returns to the same character, character logout behaves like a disconnect.
INSTALLATION and CONFIGURATION guides (EN / TR).
Changed
The status list under the chat is off by default (StatusPanel = false); statuses are shown on the characters.
1.4.0
Changed
911 calls are only delivered to emergency jobs: Config.EmergencyJobs (default police, bcso, sasp, ambulance) and Config.EmergencyRequireDuty. The caller is told when no unit is available.
Config.GetCharacterName reads the Qbox character name (falls back to the FiveM name).
1.3.2
Improved
Overhead texts: screen positions are only sent to the NUI when something actually moved on screen (lower client resmon while standing still).
1.3.1
Changed
The [STATUS] chat line now fades like me / do (Config.StatusDuration). The status itself stays on the character and in the status panel.
1.3.0
Added
Other resources' commands work without "/" too (e dance = /e dance), shown without "/" in autocomplete. Config.OtherCommandsWithoutSlash.
Engine / console commands and Config.SlashOnlyCommands (quit, restart, stop ...) still require "/".
Overhead text size settings: Overhead.TextSize, StatusTextSize, MaxWidth, StatusMaxWidth, HeadOffset.
1.2.1
Fixed
exports.chat:addMessage, registerMessageHook, addSuggestion ... now work (default chat export compatibility), e.g. qbx_chat_theme join / quit messages.
HTML messages (e.g. Qbox MOTD) no longer show <style> contents.
1.2.0
Added
Text above characters: me / do above the head (for MeDuration / DoDuration), status on the chest while active and nearby. Chat lines are kept.
Rendered in the NUI so Turkish characters display correctly; hidden behind walls, beyond Overhead.DrawDistance and in the pause menu.
Config.Overhead block; player settings "Text above characters" and "Fade messages".
1.1.0
Added
Modern theme: message bubbles, name on top, message below.
Settings button next to the input: theme, font size, width, height, position X/Y, background opacity, time, status panel, hide when closed, reset.
Chat can be dragged with the mouse while the settings panel is open.
Player settings are saved per client (KVP). Config.DefaultUI, Config.AllowThemeChange.
Changed
Classic theme shows header and message on one line: [21:42] [42] Mehmet [ME]: text.
Config.FontSize, Config.CompactMode, Config.ShowTimestamp replaced by Config.DefaultUI.
1.0.0
Added
Voice-RP chat without IC text chat; plain text is ignored silently.
Commands with and without slash: me, do, status, ooc, b, pm, r, twt, ad, 911, clear, mute, unmute, togglechat, fontsize.
Persistent server-side status system with proximity tracking, status panel and status clear.
Configurable status behaviour on death, disconnect and resource restart.
Server-side distance checks, cooldowns, flood protection and text sanitising.
Autocomplete, input history, timestamps, local mute, font size setting.
Default chat API compatibility (chat:addMessage, suggestions) and provide 'chat'.
Integration hooks: ns-chat:sv:onEmergencyCall, ns-chat:sv:onStatusChanged, status exports.