Job Announcements
Configuration
Configuration
config.lua at the resource root. Unencrypted and freely editable.
Globals
Config.Framework = 'qbx' -- 'qbx' | 'qb' | 'esx'
Config.Command = 'anuncio' -- job announcement command
Config.AdminCommand = 'announce' -- global admin announce command (NOT /evento, see below)
Config.AnnouncementDuration = 15000 -- ms a banner stays on screen
Config.AnnouncementCooldown = 10 -- seconds between announcements per player
Admin groups for the global command
Config.AdminGroups = {
['god'] = true,
['admin'] = true,
['mod'] = true,
['moderator'] = true,
}
These groups can use Config.AdminCommand (defaults to /announce) which broadcasts as a generic server-wide message.
Postal script integration
Config.UsePostalScript = true -- auto-detect popular postal scripts
Config.PostalScript = nil -- manual override resource name (optional)
Config.PostalExport = nil -- manual override export name (optional)
Auto-detects: nearest-postal, Chow_Postal, melons_postals, jc-postal, qb-postal.
Job-based jobs (Config.AllowedJobs)
Each entry is a job that can use /anuncio. Sample:
police = {
label = 'HOOD LIFE POLICE DEPARTMENT',
icon = '👮',
logo = false, -- 'police.png' in html/img/ for a logo (false to skip)
banner = false, -- banner image (URL or local file in html/img/)
color = '#0066cc', -- accent color (one var theming)
postalCode = '10001', -- default postal shown
gps = vector3(428.46, -981.19, 30.71), -- GPS waypoint when player presses E
permissions = {
canSendGlobal = true, -- true = banner goes to ALL players; false = job-only
},
},
postalCode = 'RANDOM'uses the postal script's nearest-postal lookuplogoandbanneraccept either anhttps://URL or a filename inhtml/img/canSendGlobal = falserestricts the broadcast to other people in the same job
UI / notification
Config.NotificationPosition = 'top-right' -- 'top-left' | 'top-center' | 'top-right'
Config.UseOxLib = false -- true = ox_lib notifications, false = native QB notify
Config.EnableSounds = true
Config.SoundVolume = 0.3
GPS marking
Config.EnableGPSMarking = true -- hold E to set waypoint
Config.Use3DWaypoint = true -- spawn 3D world marker via sleepless_waypoints (soft dep)
Anonymous event broadcaster (/evento)
Config.AnonymousEvent = {
Enabled = true,
Command = 'evento',
AceGroup = 'admin', -- 'admin' OR 'group.admin' both accepted at runtime
DefaultDurationMs = 15000,
MinDurationMs = 5000,
MaxDurationMs = 60000,
CooldownSeconds = 10,
VehicleFollow = {
Enabled = true,
UpdateMs = 5000, -- server pushes new coords every X ms
DurationMs = 5 * 60 * 1000, -- follow up to N ms after broadcast ends
ArriveDistance = 25.0, -- player's waypoint auto-clears within X m
},
Style = {
AlertLabel = '⚠ TRANSMISIÓN ANÓNIMA INTERCEPTADA',
Accent = '#fcd000', -- caution-stripe amber accent
},
}
Discord webhook
Config.DiscordLogs = {
enabled = true,
webhook = 'https://discord.com/api/webhooks/...',
botName = 'HoodLife Announce',
botLogo = 'https://r2.fivemanage.com/.../suty.png',
}
Logs all announcements with sender identity — including anonymous /evento (the webhook captures who sent it for audit even though players don't see).
