Configurations
config.lua file at the root of the resource. Changes take effect on resource restart.Locale
Set the language for all UI labels and system messages.
Config.Locale = 'en' -- Options: 'en', 'de', 'es', 'fr', 'pl', 'pt', 'tr'Notification Settings
These top-level values control the default behavior for all notifications.
Config.Position = 'left-center' -- Options: 'top-right', 'right-center', 'bottom-right', 'top-left', 'left-center', 'bottom-left'
Config.DefaultDuration = 5000 -- Default notification duration in ms
Config.DefaultAnimation = 'slide-right' -- Options: 'slide-right', 'fade-in', 'scale-up', 'bounce-in', 'flip-in'
Config.DefaultSound = true -- Play a sound on notification
Config.NotificationSoundVolume = 1.0 -- Volume multiplier (1.0 = 100%, 0.5 = 50%)
Config.DefaultShowProgress = true -- Show the duration bar underneath notifications
Config.StackNotification = true -- Identical notifications merge into a counter badgeis great for busy servers — if the same notification fires multiple times rapidly, it collapses into one with a counter instead of flooding the screen.
Progress Bar
Configure the progress bar behavior, including default icons and cancel keys.
Config.ProgressBar = {
DefaultDuration = 5000,
DefaultType = 'info', -- Fallback type if none provided (uses Config.Types)
DefaultIcon = 'spinner fa-spin', -- Default icon if none provided
CancelKeys = { -- Keys that cancel the ProgressBar if canCancel = true
73, -- X
200, -- ESC
177, -- BACKSPACE
167 -- F6
}
}Global Announcements
The announcement system allows administrators to broadcast server-wide messages via the /announce command. It also intercepts txAdmin events like scheduled restarts, player warnings, kicks, and direct messages.
Config.Announce = {
Command = 'announce', -- Slash command to trigger broadcasts
Duration = 10000, -- How long announcements stay on screen (ms)
Type = 'announce', -- Theme type from Config.Types
ShowProgress = true, -- Show time remaining bar
AllowedGroups = { -- Works with ESX, QBCore, QBOX, or Standalone (ACE)
'admin',
'god',
'superadmin'
},
EnableTxAdminOverride = true -- Intercept txAdmin events and style them via mizu_interface
}Announcements, Scheduled Restarts, Player Warnings, Player Kicks, and Direct Messages are all automatically intercepted when EnableTxAdminOverride is enabled.
Logging
Route announcement logs and txAdmin events to Discord and/or FiveManage.
Config.Announce.Logging = {
Type = 'Both', -- Options: 'Discord', 'Fivemanage', 'Both', 'None'
DiscordWebhook = '', -- Your Discord Webhook URL
FiveManageToken = '' -- Your FiveManage V3 API Token
}All announcements and intercepted txAdmin events (warnings, kicks, DMs, restarts) are automatically logged when a valid webhook or token is provided.
Theme Types
Notification types define the color and icon for UI elements. Every notification, progress bar, text UI, or radial item can reference a type key to inherit its styling.
Config.Types = {
['success'] = { color = '#2ecc71', icon = 'fas fa-check-circle' },
['error'] = { color = '#e74c3c', icon = 'fas fa-exclamation-circle' },
['warning'] = { color = '#f1c40f', icon = 'fas fa-exclamation-triangle' },
['info'] = { color = '#3498db', icon = 'fas fa-info-circle' },
['system'] = { color = '#9b59b6', icon = 'fas fa-cogs' },
['police'] = { color = '#0984e3', icon = 'fas fa-shield-alt' },
['announce']= { color = '#e30909', icon = 'fas fa-bullhorn' },
-- Add your own custom types here!
}type parameter across the entire resource.Text UI
Configure the permanent Text UI overlay (replacement for qb-core DrawText or ox_lib showTextUI).
Config.TextUI = {
DefaultTheme = 'split', -- Options: 'split', 'classic', 'solid'
Position = 'middle-left', -- Options: 'top-left', 'top-middle', 'top-right',
-- 'middle-left', 'middle-right',
-- 'bottom-left', 'bottom-middle', 'bottom-right'
Timeout = 250, -- Auto-hide after ms without a refresh (dead-man switch)
DefaultColor = '#ffffff', -- Default color if no type is provided
DefaultStyle = 'Key Separated' -- Options: 'Normal', 'Key Separated', 'Key Top', 'Key Bottom'
}Context Menu
Configure the list-based context menu system.
Config.ContextMenu = {
DefaultTheme = 'classic', -- Options: 'classic', 'solid'
DefaultPosition = 'right', -- 'right' or 'left'
DefaultColor = '#3498db' -- Default accent color for glowing borders and elements
}Radial Menu
Configure the SVG Pie Menu with keybind, hold behavior, center display, and default menu items. Items support unlimited nesting via the items sub-table.
Config.RadialMenu = {
Enabled = true,
Hold = true, -- If true, menu closes when releasing the keybind
Command = 'radialmenu',
Keybind = 'X',
Center = {
icon = 'user-gear',
title = 'ACTIONS'
},
Items = {
{
icon = 'car',
title = 'VEHICLE',
type = 'info',
items = { -- Sub-menu (unlimited nesting!)
{
icon = 'key',
title = 'KEY',
type = 'success',
color = '#00ffff',
action = 'myresource:client:ToggleLock',
actionType = 'client' -- 'client', 'server', or 'command'
}
}
},
{
icon = 'box',
title = 'INVENTORY',
type = 'success',
action = 'qb-inventory:client:openInventory',
actionType = 'client'
}
}
}icon — FontAwesome name (no fa- prefix)title — Display labeltype — Color key from Config.Typescolor — Direct hex (overrides type)action — Event name or commandactionType — ‘client’, ‘server’, ‘command’items — Nested sub-menu arraySkill Check
Configure the timing-based minigame used for lockpicking, hotwiring, hacking, etc.
Config.SkillCheck = {
DefaultDifficulty = 'medium',
DefaultTargetColor = '#bbff00',
CenterColor = 'rgba(0, 255, 255, 1)',
DefaultRounds = 4,
DefaultKeys = {'W', 'A', 'S', 'D'},
Difficulties = {
easy = { speed = 2.0, size = 60 },
medium = { speed = 3.5, size = 45 },
hard = { speed = 5.0, size = 30 },
custom = { speed = 4.0, size = 25 }
}
}size controls the target zone width in degrees. speed controls how fast the indicator rotates. You can add entirely new difficulty levels — they’ll be available as the difficulty parameter in SkillCheck() exports.
Input Dialog
Configure the interactive input form system.
Config.InputDialog = {
DefaultColor = '#3498db', -- Accent color of the dialog
DefaultIcon = 'keyboard', -- Default FontAwesome icon
DefaultHeader = 'Input' -- Default header text
}NPC Dialog
Configure the branching NPC conversation system.
Config.NPCDialog = {
DefaultColor = '#3498db',
DefaultIcon = 'user',
DefaultName = 'Unknown',
DefaultJob = '',
InteractionMethod = 'both' -- 'keyboard', 'mouse', or 'both'
}Action Panel
Configure the confirmation/decline panel with optional auto-accept timer.
Config.ActionPanel = {
DefaultTitle = 'Confirmation',
DefaultText = 'Are you sure you want to proceed?',
DefaultIcon = 'exclamation-circle',
DefaultColor = '#3498db',
DefaultAccept = 'Confirm',
DefaultDecline = 'Cancel',
DefaultPosition = 'top-center', -- 'top-center', 'top-right', 'top-left',
-- 'center', 'bottom-center', 'bottom-right', 'bottom-left'
DefaultDuration = 5000 -- Auto-accept timer duration in ms
}