Skip to main content
Filter the server console and the F8 client console for nex_crutchsystem first.

Common issues

ProblemFix
Using the crutch item does nothingThe inventory useCrutch hook isn’t wired up. For ox_inventory, check the item entry has server.export = 'nex_crutchsystem.useCrutch'. For QBCore / Qbox, make sure you’ve registered the CreateUseableItem callback. See Installation → Inventory item.
”You can’t use a crutch while you are in ragdoll/falling/combat/…”Working as intended — the crutch refuses to come out in these states. Strings are in locales/en.lua if you want to soften the wording.
EMS third-eye option doesn’t appearYour job name isn’t in Config.AllowedJobs, or ox_target isn’t started. The bridge reads playerData.job.name — confirm the value with /jobname (or print it from your framework) and add it to the table.
EMS option appears for everyoneSame — your ambulance job sets a name that’s already in the default Config.AllowedJobs list (ambulance, ems, doctor, etc.). Remove it from the table or rename your job.
Medic NPC doesn’t spawnYou’re outside Config.SpawnDistance (60m default) of any MedicLocations entry, the coords are wrong, or the model failed to load. Open F8 near the location and look for failed to load NPCModel.
[E] Remove Crutch prompt doesn’t showEither you’re not within Config.TextUI.distance (2m default), or you don’t have a crutch equipped — the prompt is gated by a local “have crutch” check. Confirm with the IsUsingCrutch() client export.
/crutchadmin does nothingYou’re missing the group.admin ACE. Run add_ace group.admin command.crutchadmin allow. The server callback always rejects non-admins regardless of the chat permission.
Force lock never expiresThe force timer runs server-side. If the player disconnected and reconnected, the lock should resume from the saved secondsLeft. If it doesn’t, check the server console for SQL or callback errors. As a workaround, run /removecrutch <id>.
Money is charged but the crutch staysThe server’s selfRemoveInternal step failed after chargeMoney succeeded. Filter the server console for nex_crutchsystem — you should see the error. Refund and report.
”Not enough money” on a clearly-rich playerConfig.MoneyAccount is set to bank but your framework only exposes cash, or vice versa. Try the other account.
Legacy crutch script’s crutch isn’t removed at the NPCThe entry in Config.CrutchResources is wrong, or the legacy script isn’t running. Each entry needs a resource name and either an event or export. See Configuration → Legacy crutch resources.
NUI doesn’t appear (medic dialog / EMS menu / HUD / admin panel)Config.UI.Enabled is false, or the specific per-flow toggle is off. Toggles fall back to ox_lib menus / progressBar / notifications when off, so the flow still works — it just looks different.

Rate limiting

Every player-triggered event is rate-limited and server-validated:
  • canAfford re-checks the price, the has-crutch state, the near-medic state, and the player’s wallet.
  • chargeMoney validates the same again before debiting.
  • selfRemoveInternal validates again before clearing the crutch.
If a player sees their action repeatedly fail with no clear reason, it’s almost always one of these gates. Set Config.Debug = true (in config.lua, if exposed in your build) or read the server console — each rejection logs the reason.

Before opening a support ticket

Please include:
  1. Server console output filtered for nex_crutchsystem.
  2. F8 client console output filtered for nex_crutchsystem.
  3. Your framework (Qbox / QBCore / ESX / ND_Core), inventory, and ambulance job.
  4. Your Config.AllowedJobs entries and the value of playerData.job.name for the affected player.
  5. What you did and what you expected to happen.
See Support & contact.