Troubleshooting Guide
Common issues and solutions for Oxide Chat.
Table of Contents
- Installation Issues
- Chat Display Issues
- Command Issues
- Styling Issues
- Proximity Chat Issues
- Job Radio Issues
- Private Message Issues
- Settings Issues
- Performance Issues
- Compatibility Issues
- FAQ
Installation Issues
Chat resource not found
Symptom: Error in console: No such export addMessage in resource oxide-chat
Solutions:
- Ensure the resource is started in
server.cfg:ensure oxide-chat - Check the resource folder name is exactly
oxide-chat - Ensure it starts after qb-core:
ensure qb-core ensure oxide-chat - Run
refreshthenensure oxide-chatin console
NUI not loading
Symptom: Chat opens but shows blank/broken UI
Solutions:
-
Clear FiveM cache:
%localappdata%/FiveM/FiveM.app/data/cache/Delete contents of this folder
-
Verify all files exist:
oxide-chat/ ├── html/ │ ├── index.html │ ├── css/ │ │ ├── variables.css │ │ ├── animations.css │ │ ├── main.css │ │ └── settings.css │ └── js/ │ ├── app.js │ └── composables/ -
Check F8 console for NUI errors
QBCore not found
Symptom: Error: attempt to index a nil value (global 'QBCore')
Solutions:
- Ensure qb-core starts first in server.cfg
- Verify qb-core is working properly
- Check fxmanifest.lua has qb-core as dependency
Conflicting chat resource
Symptom: Chat displays twice or has weird behavior
Solutions:
- Remove or disable any other chat resource:
# Comment out # ensure chat # ensure esx_chat # ensure other-chat - Oxide Chat uses
provide 'chat'so only one chat should run
Chat Display Issues
Chat not appearing
Symptom: Press T but nothing shows
Solutions:
-
Check keybind:
- Go to FiveM Settings > Key Bindings
- Look for "Open Chat"
- Ensure it's bound to T (or your preferred key)
-
Check if chat is enabled:
-- In F8 or client console print(exports['oxide-chat']:isEnabled()) -
Check NUI focus:
- Another resource may have stolen focus
- Try pressing Escape multiple times
-
Verify NUI loaded:
- Check F8 for "NUI ready" or errors
Chat stuck open
Symptom: Can't close chat, mouse trapped
Solutions:
-
Force close via console (F8):
SetNuiFocus(false, false) -
Check for script errors in F8 that might prevent close
-
Restart the resource:
restart oxide-chat
Messages not visible
Symptom: Messages sent but not shown
Solutions:
-
Check chat type visibility:
- Open settings (
/chatsettings) - Go to Colors tab
- Ensure the chat type is visible (eye icon)
- Open settings (
-
Check if using correct chatType:
-- Verify chatType exists in Config.ChatTypes print(Config.ChatTypes['yourtype']) -
Verify color isn't black on dark background:
- Check the color value in settings
Command Issues
Command not working
Symptom: Type command, nothing happens
Solutions:
-
Check syntax:
/me waves hello -- Correct / me waves hello -- Wrong (space after /) me waves hello -- Wrong (missing /) -
Check command exists:
- Start typing
/meand see if suggestion appears - If no suggestion, command may not be registered
- Start typing
-
Check cooldown:
- You may be rate-limited
- Wait a few seconds and try again
-
Check F8 for errors when executing
Command cooldown too long
Symptom: "Wait X seconds" message too frequently
Solutions:
-
Adjust cooldowns in config:
Config.Cooldowns = { proximity = 1000, -- Reduce from 1500 ooc = 3000, -- Reduce from 5000 } -
Check which cooldown type applies:
/me,/do,/whisper,/shoutuseproximity/oocusesooc/msg,/replyusepm
Suggestions not showing
Symptom: No autocomplete when typing /
Solutions:
-
Check if command is blacklisted:
-- config/blacklist.lua Config.BlacklistedCommands = { 'yourcommand' } -
Check ACE permissions:
- Some commands require permissions
- Check F8 for permission errors
-
Verify player is loaded:
- Suggestions refresh after player loads
- Try
/refreshor reconnect
Styling Issues
Wrong colors
Symptom: Messages show wrong colors
Solutions:
-
Check config:
Config.ChatTypes.yourtype = { color = '#FF0000', -- Must be valid hex } -
Check player settings override:
- Open
/chatsettings - Go to Colors tab
- Check if custom color is set
- Open
-
Clear settings if corrupted:
- Delete KVP data
- Or use Settings > Data > Reset
Styling broken
Symptom: CSS not loading correctly
Solutions:
-
Clear FiveM cache
-
Verify CSS files exist:
html/css/ ├── variables.css ├── animations.css ├── main.css └── settings.css -
Check for CSS syntax errors in F8 console
-
Verify CSS imports in index.html
Proximity Chat Issues
Messages not reaching nearby players
Symptom: /me sent but others don't see it
Solutions:
-
Check distance:
- Default
/merange is 15 meters - Move closer and retry
- Default
-
Check LOS if enabled:
Config.RequireLOS.me = true -- May block if can't see -
Verify on server-side:
- Check server console for errors
- Verify
GetPlayerCoordsreturns valid data
LOS blocking messages incorrectly
Symptom: Can see player but message blocked
Solutions:
-
Check if in same vehicle:
- Vehicle occupants exempt from LOS
-
Disable LOS for that command:
Config.RequireLOS.me = false -
Adjust eye-level offset:
- Default is 0.7m
- May need adjustment for custom peds
Job Radio Issues
"You do not have access to this radio"
Symptom: Job radio command rejected
Solutions:
-
Verify your job:
-- Check in F8 local job = QBCore.Functions.GetPlayerData().job print(job.name) -
Check job name matches config:
-- config/commands.lua jobs = { 'police' }, -- Must match exact job name -
Verify job assignment:
- Use admin command to set job
- Check database for correct job
Job messages not received
Symptom: Sent job message but colleagues don't see
Solutions:
-
Verify recipients have same job:
- Job validation is done twice (client + server)
-
Check for errors in server console
-
Verify player is in GetPlayers list:
- Player must be fully loaded
Private Message Issues
"Player not found"
Symptom: /msg [id] says player not found
Solutions:
-
Verify player ID is correct:
- Check player list for correct ID
- IDs are server IDs, not character IDs
-
Player may have disconnected:
- Target must be online
-
Ensure ID is numeric:
/msg 5 Hello -- Correct /msg five Hello -- Wrong
"No one to reply to"
Symptom: /reply says no one to reply to
Solutions:
-
You must receive a PM first:
/replyresponds to last person who PM'd you
-
Original sender may have disconnected:
- Reply tracking clears on disconnect
-
Check if cooldown active:
- Wait a moment and retry
Settings Issues
Settings not saving
Symptom: Settings reset on reconnect
Solutions:
-
Check KVP storage:
- Settings use FiveM KVP system
- Verify KVP is working on server
-
Check for save errors in F8
-
Try export/import:
- Export settings in Data tab
- Reimport after reconnecting
Settings corrupted
Symptom: Chat behaves strangely, settings won't open
Solutions:
-
Reset settings via console:
DeleteResourceKvp('oxide_chat_settings') -
Reconnect to server:
- Default settings will be applied
Import fails
Symptom: Can't import settings from another client
Solutions:
-
Verify import string is complete:
- Must be valid base64
-
Check version compatibility:
- Very old exports may need migration
-
Try fresh export from working client
Performance Issues
Chat causing FPS drops
Symptom: FPS drops when chat is active
Solutions:
-
Reduce max messages:
Config.MaxMessages = 50 -- Lower from 100 -
Disable animations:
- Settings > Appearance > Animations: Off
-
Reduce blur intensity:
- Settings > Appearance > Blur: 0
Message lag
Symptom: Delay between sending and seeing messages
Solutions:
-
Check network latency:
- Ping to server affects message timing
-
Check server performance:
- Server tick rate affects event delivery
-
Reduce message processing:
- Disable message hooks if not needed
Compatibility Issues
Other resources not sending to chat
Symptom: Resource uses chat API but messages don't appear
Solutions:
-
Verify event names:
-- These should work: TriggerEvent('chat:addMessage', {...}) TriggerClientEvent('chat:addMessage', source, {...}) -
Check export syntax:
-- Both work: exports['chat']:addMessage(...) exports['oxide-chat']:addMessage(...) -
Verify oxide-chat started:
- Must start before resources that use chat
Chat event fires but nothing shows
Symptom: Event triggers but no message
Solutions:
-
Check message format:
-- Must have args { args = { 'Author', 'Message' } } -- Not just { message = 'Hello' } -
Check chatEnabled:
print(exports['oxide-chat']:isEnabled())
FAQ
Can I use this alongside another chat?
No. Only one chat resource should run. Oxide Chat uses provide 'chat' to replace the default.
How do I add custom job radios?
See Commands for step-by-step instructions.
Can players change their chat key?
Yes. Go to FiveM Settings > Key Bindings > "Open Chat".
How do I make chat wider/narrower?
Open /chatsettings and adjust Chat Width slider (320-640px).
Why can't I see timestamps?
Check Settings > General > Timestamp Mode. Options: always/hover/never.
How do I hide specific message types?
Open /chatsettings > Colors tab. Toggle visibility per type.
Can I export my settings?
Yes. Open /chatsettings > Data tab > Export. Share the code with others.
Messages disappear too fast?
Increase fade time in Settings > General, or set to 0 for no fade.
Getting Help
If your issue isn't covered here:
- Check F8 console for errors
- Enable debug mode (
Config.Debug = true) - Test with /testchat to verify all types work
- Check for resource conflicts with other NUI resources
- Verify QBCore is working correctly