Configuration
Configuration
Everything a server owner is meant to touch lives in config.lua, and the file is commented section by section. Permissions, duration and limits are covered on Permissions & Duration; the webhook has its own page. This page covers the rest.
General
Config.Command = 'status'
Config.Keybind = '' -- 'F6', 'F7', 'INSERT'… empty disables it
Config.ClearCommand = 'statusclear'
Config.Debug = falseIn-world text
What other players see floating on the ped.
| Option | Default | Purpose |
|---|---|---|
Config.Text.ViewDistance |
6.0 |
Nothing is drawn beyond this distance, in metres. |
Config.Text.ScanInterval |
800 |
How often (ms) the client rescans for nearby players carrying notes. Higher is cheaper and slower to appear. |
Config.Text.Size |
0.34 |
Base scale; the script also scales with camera distance. |
Config.Text.Font |
4 |
GTA font id — 0 chalet, 1 sign, 2 slab, 4 chalet comprime, 7 pricedown. |
Config.Text.Outline |
true |
Dark outline behind the text so it stays readable on any surface. |
Config.Text.MinScale / MaxScale |
0.10 / 0.58 |
Clamp so text never becomes unreadable or comically large. |
Config.Text.Alpha |
225 |
Text opacity, 0–255. |
Config.Text.ColorBySeverity |
true |
Tint the text with the severity colour. false = always white. |
Config.Text.White |
255, 255, 255 |
Colour used when severity tinting is off or unknown. |
Config.Text.OnlyWhileAiming |
false |
Only draw while the observer holds the aim key. |
Camera
The panel opens over a transparent interface and the game camera does the work.
| Option | Default | Purpose |
|---|---|---|
Config.Camera.AutoFrame |
true |
Measure the ped head to feet and frame it automatically. Recommended — it works on any ped model. |
Config.Camera.Fill |
0.88 |
How much of the screen height the body fills when AutoFrame is on. |
Config.Camera.VerticalNudge |
0.0 |
Fine tuning in metres. Positive moves the character down the screen. |
Config.Camera.Distance |
3.35 |
Distance from the ped — only used when AutoFrame is false. |
Config.Camera.Height |
0.95 |
Height the camera looks at — only used when AutoFrame is false. |
Config.Camera.SideOffset |
0.45 |
Pushes the ped left so the panel never covers it. 0 centres it. |
Config.Camera.Fov |
34.0 |
Lower is more of a portrait lens with less distortion. |
Config.Camera.ZoomMin / ZoomMax / ZoomStep |
1.60 / 4.60 / 0.20 |
Zoom limits and the step per button press. |
Config.Camera.RotateSensitivity |
0.6 |
Degrees the ped turns per pixel of mouse drag. |
Config.Camera.FreezePlayer |
true |
Freeze the ped while the panel is open. |
Config.Camera.HideRadar |
true |
Hide the minimap while the panel is open. |
Config.Camera.HotspotRefresh |
30 |
How often (ms) bone positions are pushed to the interface. Raise to 50–60 on very busy servers. |
When AutoFrame is on, the zoom limits are derived from the measured framing rather than from ZoomMin / ZoomMax, so the buttons always do something sensible whatever the ped's size.
Interface
Config.UI = {
Accent = '#5b6cf0', -- any CSS colour
Watermark = true, -- hand-drawn "Status" watermark behind the character
ShowSeverity = true,
ShowTypes = true,
CloseOnEscape = true,
}Types and severities
Both are plain lists. The interface adapts to whatever you put in them; labels come from the locale files.
Config.Types = {
{ id = 'injury', icon = 'activity' }, -- label: type_injury
{ id = 'bandage', icon = 'plus' },
{ id = 'note', icon = 'message' },
}
Config.Severities = {
{ id = 'minor', color = { r = 143, g = 214, b = 171 } },
{ id = 'moderate', color = { r = 195, g = 201, b = 209 } },
{ id = 'severe', color = { r = 255, g = 154, b = 157 } },
}icon is a lucide icon name rendered by the interface. Adding an entry needs a matching type_<id> or sev_<id> line in every locale file.
Body parts
Sixteen regions ship by default, each anchored to a GTA ped bone.
{ id = 'head', bone = 31086, offset = { x = 0.0, y = 0.0, z = 0.28 } },| Field | Meaning |
|---|---|
bone |
The ped bone index the annotation is anchored to. |
offset |
Nudges the floating in-world text off the bone so it does not sit inside the model. Raise z if text clips into clothing. It does not move the clickable marker. |
marker |
Optional. Nudges the clickable marker in the panel only. Leave it out and the marker sits exactly on the bone, which is right in almost every case. |
Removing an entry hides that region everywhere. Adding one needs a valid bone index and a matching bp_<id> line in every locale file.
Advanced
Config.Table = 'bupa_syncstatus' -- created automatically on first startThe lookup tables at the bottom of config.lua (Config.BodyPartMap, Config.TypeMap, Config.SeverityMap) are built from the lists above on start. Do not edit them by hand.