# config.lua

```lua
--[[
    ███████╗████████╗ █████╗ ███████╗███████╗    ████████╗ █████╗  ██████╗ 
    ██╔════╝╚══██╔══╝██╔══██╗██╔════╝██╔════╝    ╚══██╔══╝██╔══██╗██╔════╝ 
    ███████╗   ██║   ███████║█████╗  █████╗         ██║   ███████║██║  ███╗
    ╚════██║   ██║   ██╔══██║██╔══╝  ██╔══╝         ██║   ██╔══██║██║   ██║
    ███████║   ██║   ██║  ██║██║     ██║            ██║   ██║  ██║╚██████╔╝
    ╚══════╝   ╚═╝   ╚═╝  ╚═╝╚═╝     ╚═╝            ╚═╝   ╚═╝  ╚═╝ ╚═════╝ 
                                                                           
    Staff Mode System v1.0
    Created by: Loureiro
    
    Documentation: https://loureiro-stoned.gitbook.io/docs
    Support: https://discord.com/invite/pS8b9SEvBr
]]--

Config = {}

--[[ ===================================================================
    CORE SETTINGS
    ===================================================================
    Basic configuration options for the script
]]--
Config.Framework = "esx"  -- Framework to use: 'esx', 'qb', 'vrp' 
Config.Locale = "en"      -- Default language: 'en', 'pt', etc. || Check config/locales.lua
Config.Debug = false       -- Enable debug mode (prints additional information to console)
Config.AlertAllByChat = true -- Notify all players when staff enters/exits staff mode

--[[ ===================================================================
    COMMAND SETTINGS
    ===================================================================
    Configure the commands and keys used to activate staff features
]]--
Config.CommandModeStaf = 'staffmode'  -- Command to toggle staff mode
Config.OpenSettings = {
    command = "staffsettings",        -- Command to open settings panel
    useKey = true,                    -- Set to `true` to enable key activation, `false` to disable
    keyToPress = 344,                 -- F11 key (see: https://docs.fivem.net/docs/game-references/controls/)
}

--[[ ===================================================================
    DISPLAY SETTINGS
    ===================================================================
    Configure how staff tags and visual elements are displayed in-game
]]--
Config.NameType = 'steam'             -- Name display type: 'steam' or 'discord'
Config.ZOffset = 1                    -- Default height offset for staff tags above player
Config.Distance = 15                  -- Maximum distance to display staff tags (in meters)
Config.HelpMessage = "MODE STAFF | How can I help you?"  -- Default help message


--[[ ===================================================================
    BLIP SETTINGS
    ===================================================================
    Configure player blips that appear on the map when in staff mode
]]--
Config.EnableBlips = true             -- Enable player blips feature
Config.Blips = {
    Sprite = 1,                      -- Blip icon style (1 = standard circle)
    Color = 0,                       -- Blip color (0 = white)
    Scale = 0.85,                    -- Blip size
    ShortRange = true,               -- Only visible at short range on the map?
    ShowNames = true                 -- Show player names on blips?
}
-- Reference: https://docs.fivem.net/docs/game-references/blips/

--[[ ===================================================================
    STAFF FEATURES
    ===================================================================
    Configure additional staff mode features
]]--
Config.Godmode = true                 -- Automatically enable godmode when entering staff mode

--[[ ===================================================================
    DISCORD INTEGRATION
    ===================================================================
    Configure Discord integration features
    Note: Complete Discord API settings in config/sv_config.lua (Bot Token & Guild ID)
]]--
Config.EnableDiscordImages = true     -- Use Discord profile pictures for staff tags
Config.DefaultStaffImage = "exports-figma/iconprofile.png"  -- Default image if Discord image = OFF
Config.UseDiscordRoles = true         -- Enable Discord role synchronization
Config.DefaultRole = "STAFF"          -- Default role text if Discord role is not found

-- Discord Role Mapping (Discord Role ID → Display Name)
Config.DiscordRoleMapping = {
    ["1008035983633154088"] = "STAFF",  -- Staff role
    ["1008035261814423573"] = "ADMIN",  -- Admin role
    ["1008035261814423574"] = "MOD",    -- Moderator role
    ["1008035261814423575"] = "HELPER"  -- Helper role
}

--[[ ===================================================================
    STAFF OUTFIT CONFIGURATION
    ===================================================================
    Define the outfits that staff members will wear in staff mode
]]--
Config.StaffOutfit = {
    -- ESX Male Outfit
    male = {
        ['torso_1'] = 257,  -- Torso ID
        -- Add other clothing components as needed
        -- Format: ['component_id'] = value
    },
    
    -- ESX Female Outfit
    female = {
        ['tshirt_1'] = 15,  -- T-shirt ID
        ['tshirt_2'] = 0,   -- T-shirt variation
        ['torso_1'] = 287,  -- Torso ID
        ['torso_2'] = 0,    -- Torso variation
        ['decals_1'] = 0,   -- Decals ID
        ['decals_2'] = 0,   -- Decals variation
        ['arms'] = 0,       -- Arms ID
        ['pants_1'] = 114,  -- Pants ID
        ['pants_2'] = 0,    -- Pants variation
        ['shoes_1'] = 78,   -- Shoes ID
        ['shoes_2'] = 0,    -- Shoes variation
        ['mask_1'] = 0,     -- Mask ID
        ['mask_2'] = 0,     -- Mask variation
        ['bproof_1'] = 0,   -- Bulletproof vest ID
        ['bproof_2'] = 0,   -- Bulletproof vest variation
        ['chain_1'] = 0,    -- Chain/accessory ID
        ['chain_2'] = 0     -- Chain/accessory variation
    },
    
    -- QBCore Outfits
    qbcore = {
        -- QBCore Male Outfit
        male = {
            outfitData = {
                ['t-shirt'] = { item = 15, texture = 0 },   -- T-shirt item and texture
                ['torso2'] = { item = 287, texture = 0 },   -- Torso item and texture
                ['arms'] = { item = 0, texture = 0 },       -- Arms item and texture
                ['pants'] = { item = 114, texture = 0 },    -- Pants item and texture
                ['shoes'] = { item = 78, texture = 0 },     -- Shoes item and texture
                ['mask'] = { item = 0, texture = 0 },       -- Mask item and texture
                ['vest'] = { item = 0, texture = 0 },       -- Vest item and texture
                ['accessory'] = { item = 0, texture = 0 }   -- Accessory item and texture
            }
        },
        
        -- QBCore Female Outfit
        female = {
            outfitData = {
                ['t-shirt'] = { item = 15, texture = 0 },   -- T-shirt item and texture
                ['torso2'] = { item = 287, texture = 0 },   -- Torso item and texture
                ['arms'] = { item = 0, texture = 0 },       -- Arms item and texture
                ['pants'] = { item = 114, texture = 0 },    -- Pants item and texture
                ['shoes'] = { item = 78, texture = 0 },     -- Shoes item and texture
                ['mask'] = { item = 0, texture = 0 },       -- Mask item and texture
                ['vest'] = { item = 0, texture = 0 },       -- Vest item and texture
                ['accessory'] = { item = 0, texture = 0 }   -- Accessory item and texture
            }
        }
    }
}
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://loureiro-stoned.gitbook.io/docs/scripts-guides/mode-staff/config.lua.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
