Skip to content

Troubleshooting

Troubleshooting

/status 12 says I am not allowed

The medic check runs on the server and fails for one of four reasons:

  • Your job is not in Config.Permissions.EditOthers, or the list is empty (which disables examining other players entirely).
  • Your job grade is below Config.Permissions.MinGrade.
  • You are further from the target than Config.Permissions.MaxDistance (default 3 m) — that returns "You are too far away."
  • You expected the ACE route but Config.Permissions.UseAce is still false.

"You cannot remove it before it expires"

That annotation was placed on you by a medic and Config.Permissions.LockStaffNotes is on. It will disappear on its own when the timer ends. An authorised job can take it off early only if Config.Permissions.StaffCanRemoveLocked is true.

Clear all and /statusclear behave the same way — they only remove what the caller is allowed to remove, and keep the locked entries.

The markers do not sit on the body

The markers are projected from bone coordinates every frame, so they should follow the ped exactly.

  • offset in Config.BodyParts is deliberately not applied to the markers — it exists to lift the floating in-world text off the body. If you applied it to the markers, every dot would drift upward.
  • To nudge one region's marker, add the optional marker = { x = 0.0, y = 0.0, z = 0.04 } to that body part only.
  • If markers look laggy on a busy server, Config.Camera.HotspotRefresh is your dial — it is a refresh interval in milliseconds, so a higher number is cheaper and less smooth.

The character is cropped, tiny or off-centre

Leave Config.Camera.AutoFrame = true and adjust these instead:

  • Fill — how much of the screen height the body occupies. Lower it if the character feels cramped.
  • VerticalNudge — positive moves the character down the screen, negative moves it up.
  • SideOffset — how far the ped is pushed left so the panel does not cover it.
  • Fov — lower for less distortion, higher to fit more of the body without moving the camera back.

Distance and Height are only read when AutoFrame is false.

Text clips into the clothing

Raise the z value of that body part's offset. That offset moves the in-world text only and does not affect the panel.

Nobody else can see my annotation

  • They must be within Config.Text.ViewDistance (6 m by default).
  • If Config.Text.OnlyWhileAiming is on, they only see it while holding the aim key.
  • Annotations travel through the bupaStatuses player statebag. If a player joined mid-session and sees nothing at all, check that oxmysql is running and that the server console shows no database errors.

"Character data is not loaded yet"

The server could not resolve a citizen id for that player. On QBox, QB-Core and ESX this means the character has not finished loading; the resource reloads a player's annotations on QBCore:Server:PlayerLoaded and esx:playerLoaded.

Annotations come back after a restart

That is intended — they are stored in MySQL against the character's citizen id and reloaded on start. Expired ones are deleted by the sweep thread, which runs every Config.Duration.CleanupInterval seconds (minimum 10).

"Slow down a moment"

Config.Limits.WriteCooldown (default 2 seconds) is the anti-spam gap between writes. Set it to 0 to disable it.

Other limits you may be hitting

Message Cause
Annotation limit reached Config.Limits.MaxPerPlayer (default 4)
That body region already has an annotation Config.Limits.OnePerBodyPart is true
Please write a valid annotation The text was empty after trimming and stripping <, >, ~
Invalid body region The body part id is not in Config.BodyParts

Turn on Config.Debug while you are configuring. It prints a line for every write, showing the writer, the target, the region and whether the note was locked.