Skip to main content
The client configuration file (config/client.lua) contains all client-side settings for Qbox Core. This includes character creation, Discord integration, and UI customization.

Status System

statusIntervalSeconds
number
default:"5"
How often (in seconds) to check hunger/thirst status and remove health if either reaches 0.
loadingModelsTimeout
number
default:"30000"
Waiting time in milliseconds for ox_lib to load models before throwing an error. Increase this value for low-spec PCs that need more time to load assets.

Pause Menu

pauseMapText
string
default:"Powered by Qbox"
Text shown above the map when ESC is pressed. If left empty, ‘FiveM’ will appear instead.

Character Management

Configure character creation and selection behavior.
characters.useExternalCharacters
boolean
default:"false"
Whether you have an external character management resource.If true, disables the character management inside qbx_core and allows you to use a custom character selection screen.
characters.enableDeleteButton
boolean
default:"true"
Whether players should be able to delete their own characters.Set to false to prevent players from deleting characters (admin-only deletion).
characters.startingApartment
boolean
default:"true"
If true, players will choose a starting apartment when creating a new character.
Requires qbx_spawn resource if set to true.
If false, skips apartment selection during character creation.

Date of Birth Settings

characters.dateFormat
string
default:"YYYY-MM-DD"
Date format for character date of birth input.
characters.dateMin
string
default:"1900-01-01"
Minimum allowed date of birth. Must be in the same format as dateFormat.
characters.dateMax
string
default:"2006-12-31"
Maximum allowed date of birth. Must be in the same format as dateFormat.Default ensures characters are at least 18 years old (as of 2024).

Nationality

characters.limitNationalities
boolean
default:"true"
If true, limits nationality selection to predefined options from data/nationalities.lua.If false, players can enter any text in the nationality field.

Profanity Filter

characters.profanityWords
table<string, boolean>
Dictionary of profane words blocked during character creation.Example:
profanityWords = {
    ['bad word'] = true,
    ['another bad word'] = true,
}

Spawn Locations

characters.locations
table[]
Spawn locations for the character selection screen (multichar). One location is chosen randomly each time.Each location contains:
  • pedCoords - Where the player character stands (vec4: x, y, z, heading)
  • camCoords - Where the camera is positioned (vec4: x, y, z, heading)
Example:
locations = {
    {
        pedCoords = vec4(969.25, 72.61, 116.18, 276.55),
        camCoords = vec4(972.2, 72.9, 116.68, 97.27),
    },
    {
        pedCoords = vec4(1104.49, 195.9, -49.44, 44.22),
        camCoords = vec4(1102.29, 198.14, -48.86, 225.07),
    },
    -- More locations...
}
The default configuration includes 7 scenic locations:
  1. Luxury mansion exterior
  2. Underground parking garage
  3. Zancudo bunker interior
  4. Underground facility
  5. Casino penthouse area
  6. Military base interior
  7. Office building exterior

Discord Rich Presence

Configure Discord rich presence integration to show server information in players’ Discord status.
discord.enabled
boolean
default:"true"
Enable or disable the built-in Discord rich presence.
discord.appId
string
default:"1024981890798731345"
Discord Application ID for rich presence.Replace this with your own Application ID from the Discord Developer Portal.

Large Icon

discord.largeIcon.icon
string
default:"duck"
Image name for the large icon in Discord rich presence.
To set up custom images, visit this guide.
discord.largeIcon.text
string
default:"Qbox Ducky"
Hover text for the large icon.

Small Icon

discord.smallIcon.icon
string
default:"logo_name"
Image name for the small icon in Discord rich presence.
discord.smallIcon.text
string
default:"This is a small icon with text"
Hover text for the small icon.

Buttons

Discord rich presence can display up to 2 clickable buttons.
discord.firstButton.text
string
default:"Qbox Discord"
Text for the first button.
URL for the first button.
discord.secondButton.text
string
default:"Main Website"
Text for the second button.
URL for the second button.

Integration Functions

Vehicle Keys (QB Bridge)

hasKeys
function
Function used by the QB bridge to check if a player has vehicle keys.Parameters:
  • plate (string) - Vehicle plate
  • vehicle (number) - Vehicle entity
Returns: boolean - Whether the player has keysDefault Implementation:
hasKeys = function(plate, vehicle)
    return GetResourceState('qbx_vehiclekeys') ~= 'started' 
        or exports.qbx_vehiclekeys:HasKeys(vehicle)
end
This function is only used by the QB bridge compatibility layer.

Build docs developers (and LLMs) love