Troubleshooting and FAQ
Diagnose ox_target — menu not opening, invisible option, refused action, engine F8 and console messages, integrations not responding and frequent questions.
First of all: open F8 (client) and the server console, then reproduce the problem. The engine prefixes its messages with [ox_target].
The menu does not open
- Check that the resource is named exactly
ox_targetand starts (ensure ox_target) after ox_lib. - The default key is Left Alt; a player may have changed it in Settings › Key Bindings › FiveM.
- Targeting does not open while the pause menu is open or another interface has NUI focus, and it closes during an ox_lib progress bar.
- A resource may have disabled it with
exports.ox_target:disableTargeting(true).
An option does not appear
Check in this order:
- F8 at start: unknown builtin, builtin not usable in a list, option without
nameignored. The archive prints these warnings in French. - Feature: is
Config.Features.<key>set tofalse? - Permission: does the
permissionvalue exist inConfig.Permissions? Does your group give access? Wait up toConfig.Security.permissionRefreshms after a group change. - Submenu: is the
menuvalue equal to theopensof a category in the same list? - Distance: are you closer than the option’s
distance? - Job, items, groups: does the bridge read your job? With
Config.Frameworkset toox,ndorstandalone, no job is read without aGetPlayerJobhook. - Availability: keys, billing, appearance and weather require an available integration or the matching hook.
- Game conditions: tyre slashing (melee weapon in hand, on foot), trunk (unlocked, free, close enough), lockpicking and repair (on foot).
An action is refused
| Message shown | Server-side cause |
|---|---|
| No permission | Permission refused (no_permission). |
| Wrong job | The action’s jobs not satisfied. |
| Missing item | item missing from the inventory read by the bridge. |
| Target too far | Distance beyond maxDistance + distanceTolerance. |
| Invalid target | Nonexistent player or entity, wrong target type, or self-targeting not allowed. |
| Feature disabled | Feature set to false, or integration unavailable. |
| Invalid data | Arguments refused by the args schema. |
| (nothing) | Cooldown running or per-second limit exceeded. |
The exact texts come from Config.Messages. Suspicious refusals (unknown action, forged target, invalid arguments, bursts) are printed in the server console if Config.Security.logSuspicious = true, or passed to your OnSuspiciousActivity hook.
Console messages
The engine writes its messages in French, whatever the language. Their meaning:
| Message | Meaning |
|---|---|
nom d'option en double '…' dans la liste '…' |
Two options share the same name; rename one of them. |
l'option '…' n'a aucune action |
Neither onSelect, type nor builtin. |
erreur dans l'option '…' |
Your callback or the called export raised an error. |
action '…' invalide (handler manquant) |
Server action without a handler. |
l'action '…' est intégrée et ne peut pas être remplacée |
Reserved action name. |
requête suspecte de … |
See the previous table. |
FAQ
Do I need to restart the server after a change?
No: restart ox_target is enough for config*.lua files. Resources that add options through exports must then be restarted. For a convar, see Convars.
Copying an emote always answers that the player is not doing any emote.
Your emote script does not return the current emote name. Define the GetCurrentEmote client hook.
Revive shows a success but nothing happens.
The self_revived message is sent by the server as soon as the request is validated, without waiting for the medical script. Check Config.MedicalScript and your hooks.
The weather menu does not appear.
weather permission, weather feature and integration available client side: av_weather started, or a SetLocalRain / SetLocalFreeze client hook.
Vehicle door labels are in French even with ox_lib in English.
They come from locales/*.json, chosen by the ox_lib language. In the archive, locales/en.json also contains French texts.
The Rock Paper Scissors window stays in French.
Its texts come from the rps_ui_* keys of the locales/<language>.json file chosen by ox_lib. In the archive, locales/en.json holds them in French: translate them in that file, then restart ox_target.
The console shows a version warning.
The original server script (server/main.lua, protected) calls lib.versionCheck('overextended/ox_target'), which compares the declared version with Overextended releases. This message is unrelated to MrPoulpi Labs updates.
The outline does not appear on a vehicle.
The outline is reserved for entities with specific options (model, entity). VehicleInteractions options apply to every vehicle and do not trigger it.
If the problem persists, prepare a ticket: Support.