# Config

```lua
Config = {}

Config.Framework = 'esx' -- 'esx' | 'qb'
Config.NotificationType = 'esx' -- 'esx' | 'qb' | 'mythic' | 'ox'
Config.Locale = 'en' -- 'en' | 'fi'
Config.DebugMode = false -- false | true

Config.Inventory = 'default' -- 'default' | 'ox' | 'qb_old' | 'qb_new' | 'qs'
Config.ImagePath = 'nui://ox_inventory/web/images' -- path for images used in shop (for QB: nui://qb-inventory/html/images) (for ox_inventory: nui://ox_inventory/web/images)
Config.Target = 'none' -- 'none' | 'ox' | 'qb'
Config.Banking = 'esx' -- 'esx' | 'qb_old' | 'qb_new' | 'okok' | 'renewed' | 'fd'
Config.Clothing = 'esx' -- 'esx' | 'qb' | 'illenium'
Config.UseOxLib = false -- false | true

Config.UISettings = { -- if player changes UI settings inside the boss menu, it will override these settings
    color = 'blue', -- 'default' | 'red' | 'rose' | 'pink' | 'fuchsia' | 'purple' | 'violet' | 'indigo' | 'blue' | 'sky' | 'cyan' | 'teal' | 'emerald' | 'green' | 'lime' | 'yellow' | 'amber' | 'orange'
    shade = 6, -- 1-9,
    theme = 'dark', -- 'dark' | 'light'
}

Config.Controls = {
    interact = 38,
}

Config.Commands = {
    boss = {
        needItem = false, -- false | true, if true, the player needs to have the Config.Tablet.item in their inventory to use the command
        name = 'bossmenu', -- the command name
        --keybind = 'F6', -- the keybind for the command
    },
    admin = {
        name = 'bossadminmenu',
    },
}

Config.AdminGroups = { -- these should match the framework admin groups
    admin = true,
}

Config.Tablet = {
    item = 'boss_tablet', -- item used to open boss menu
    anim = { -- anim used when opening boss menu with the tablet item or command
        dict = 'amb@world_human_seat_wall_tablet@female@base',
        name = 'base',
        model = `prop_cs_tablet`,
    },
}

Config.DefaultJob = 'unemployed' -- name for job that is set when player is fired
Config.DefaultGang = 'Unaffiliated' -- name for gang that is set when player is fired from a gang society (QB only)
Config.Hiring = {
    maxDistance = 10, -- max distance for hiring players
    showNames = true, -- false | true, when enabled, shows list of players in the range (uses Config.MaxHireDistance)
}

Config.HoursDecimals = 2 -- how many decimals should be used when displaying hours
Config.TimeFormat = {hour = '2-digit', minute = '2-digit', second = '2-digit'} -- https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toLocaleTimeString#using_options
Config.TimeLocale = 'en-US'

Config.Expire = { -- How many days before analytics are removed automatically. 0 = do not delete data for that type. Recommended to keep relatively low
    money = 7,
    hours = 7,
    activity = 1,
}

Config.Jobs = { -- jobs that can use the boss tablet
    police = { -- job/gang name
        permissions = { -- permission name, minimum grade needed
            open = 3, -- open the boss menu
            deposit = 3, -- deposit money
            withdraw = 3, -- withdraw money
            viewEmployees = 3, -- view employees page
            demote = 3, -- demote an employee
            promote = 3, -- promote an employee
            fire = 3, -- fire an employee
            giveBonus = 3, -- give a bonus to an employee
            viewGrades = 3, -- view grades page
            viewStatistics = 3, -- view statistics page
            editPermissions = 3, -- edit permissions for the job
            editSalary = 3, -- edit grade salaries
            orderItems = 3, -- view shop page and order items from the shop
        },
        maxSalary = 100, -- max salary that can be set when editing salaries (only used for ESX)
        shopItems = { -- items that can be purchased through the tablet and then collected from the "shop" NPC
            {name = 'phone', amount = 1, price = 50},
            {name = 'ammo-9', amount = 12, price = 50},
            {name = 'weapon_combatpistol', amount = 1, price = 500},
        },
        locations = {
            {
                coords = vec4(447.98, -973.37, 30.69, 0.0),
                distance = 2.0,
            },
        },
        additionalJobs = { -- add additional jobs that will be shown in the menu, players with these jobs can't access the boss menu
            --off_police = true,
        },
        storage = { -- settings for the job storage that can be accessed from the boss menu
            weight = 1000000,
            slots = 100,
        }
    },
    ambulance = {
        permissions = {
            open = 3,
            deposit = 3,
            withdraw = 3,
            viewEmployees = 3,
            demote = 3,
            promote = 3,
            fire = 3,
            giveBonus = 3,
            viewGrades = 3,
            viewStatistics = 3,
            editPermissions = 3,
            editSalary = 3,
            orderItems = 3,
        },
        maxSalary = 100,
        shopItems = {
            {name = 'phone', amount = 1, price = 50},
        },
        locations = {
            {
                coords = vec4(441.0, -981.0, 30.7, 90.0),
                distance = 2.0,
            },
        },
        additionalJobs = {
            --off_ambulance = true,
        },
        storage = {
            weight = 1000000,
            slots = 100,
        }
    },
}

Config.Shop = { -- settings for the shop where you pick up the ordered items
    locations = {
        {
            coords = vec4(861.2597, -3185.3801, 6.0350, 5.9768),
            distance = 2.5,
            ped = `a_m_m_business_01`,
            scenario = 'WORLD_HUMAN_STAND_IMPATIENT',
        },
    },
    blip = {
        enable = true,
        color = 2,
        scale = 0.8,
        sprite = 59,
    },
    anim = {
        dict = 'mp_common',
        name = 'givetake2_a',
    },
}
```


---

# 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://tk-scripts.gitbook.io/docs/tk_bossmenu/config.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.
