Report System
Configuration
Configuration
config.lua at the resource root. Unencrypted and freely editable.
Globals
Config.Framework = 'qbx' -- 'qbx' | 'qb' | 'esx'
Config.Locale = 'es' -- 'es' | 'en'
Config.Command = 'calladmin' -- player + admin command name
Config.AllowedGroups = { 'admin', 'god', 'mod' } -- ACE groups for admin actions
Config.MaxSubjectLength = 100
Config.MaxDescriptionLength = 1000
Config.MaxMessageLength = 500 -- per chat reply
Config.ReportCooldown = 60 -- seconds between reports per player
Config.MaxHistoryResults = 50 -- pagination
Config.Logo = 'https://r2.fivemanage.com/.../hoodlife.png' -- shown in the admin queue UI
Revive integration
Config.ReviveMethod = 'suty-ems' -- 'qb-ambulancejob' | 'qbx_medical' | 'suty-ems' | 'wasabi_ambulance' | 'custom'
For 'custom':
Config.ReviveCustom = {
type = 'export', -- 'export' or 'event'
resource = 'my-resource',
name = 'revivePlayer', -- export function or event name
}
Admin badge HUD
Persistent counter showing pending reports — visible only to admins with notifications on.
Config.AdminBadge = 'circle' -- 'minimal' | 'icon' | 'circle' | 'topbar' | false
| Style | Look |
|---|---|
'minimal' |
Pulsing red dot + number + "reports" label (top-right) |
'icon' |
Headset icon with red counter bubble (top-right) |
'circle' |
Floating red circle, just the number (top-right) |
'topbar' |
Centered pill at top: pulsing dot + "pending reports" |
false |
Disabled |
Screenshot attachments
Config.Screenshot = true -- show the screenshot button in the report dialog
Config.ScreenshotWebhook = 'https://discord.com/api/webhooks/...'
Requires screenshot-basic resource. The image is uploaded to your Discord webhook and the message link is attached to the report.
Admin-online gate
Config.RequireAdminOnline = true -- if no admins online, refuse new reports + show Discord link
Config.NoAdminDiscordUrl = 'https://discord.com/channels/SERVER/CHANNEL'
When all admins are offline, the dialog shows the Discord URL instead of accepting the report. Helps avoid stale queues.
Voice notes
Config.VoiceMaxDurationMs = 30000 -- max ms per recording (30s default)
Config.VoiceMaxBytes = 150 * 1024 -- hard cap (~120KB for 30s @ opus 24kbps)
Config.VoiceRateLimitSec = 2 -- min seconds between voice notes from same sender
Config.VoiceCacheMaxBytes = 50 * 1024 * 1024 -- 50 MB total cache safety valve
Voice notes are opus-encoded base64 blobs stored in memory for the report's lifetime. Cleared on resolve / discard.
