> For the complete documentation index, see [llms.txt](https://newily-scripts.gitbook.io/newily-scripts-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://newily-scripts.gitbook.io/newily-scripts-docs/documentation/scripts/newily-bossmenu/config.md).

# Config

```
Config = {

    -- Enable debug prints in the server/client console
    debug = false,

    -- Which framework to use
    -- Options: "auto", "esx", "qbcore"
    framework = "auto",

    -- Which language the script uses
    -- Options: "en", "sv" - add more in shared/locales
    language = "en",

    -- Command used to open the boss menu (without the slash)
    command = "bossmenu",

    -- Command to open the duty manager UI (without the slash)
    dutyCommand = "duty",

    -- Maximum bonus amount a boss can give at one time
    maxBonus = 50000,

    -- Paycheck system
    paycheck = {
        -- Set to false to disable the paycheck system entirely
        enabled = true,

        -- How often paychecks are paid out, in minutes
        interval = 1,

        -- If true, only employees with on_duty = 1 receive a paycheck
        -- If false, all employees in bossmenu_employees are paid regardless of duty status
        onDutyOnly = true,

        -- Which account the money is added to
        -- ESX options: "money" (cash), "bank"
        -- QBCore options: "cash", "bank"
        account = "bank",
    },

    -- Duty system configuration
    duty = {
        -- Set to false to disable the built-in duty system entirely
        -- If disabled, you can use your own duty system and use the exports instead
        enabled = true,

        -- Set to false to disable duty notifications (prevents double notifications)
        -- Useful if your framework or another script already sends duty notifications
        sendNotifications = true,

        -- If true, triggers exports when a player goes on/off duty
        -- Use: exports["newily_bossmenu"]:OnPlayerDuty(function(source, jobName, onDuty) end)
        useExports = true,
    },

    -- Prefix applied to a player's job when they go off duty.
    -- Example: "police" becomes "offduty_police".
    -- Make sure the off-duty jobs exist in your framework.
    offDutyPrefix = "offduty_",

    -- Discord webhook logging
    -- Set url = "" to disable a group. Set enabled = false to disable all groups at once.
    webhook = {

        -- Master switch, set to false to disable all webhook logs
        enabled = false,

        -- Employee actions
        employees = {
            url    = "",
            events = {
                hire       = true,
                fire       = true,
                rankChange = true,
                salary     = true,
                bonus      = true,
            },
        },

        -- Economy actions
        economy = {
            url    = "",
            events = {
                deposit  = true,
                withdraw = true,
                purchase = true,
            },
        },

        -- Rank management
        ranks = {
            url    = "",
            events = {
                rankAdd    = true,
                rankEdit   = true,
                rankDelete = true,
            },
        },

        -- Duty status changes
        duty = {
            url    = "",
            events = {
                duty = true,
            },
        },

    },

    -- Jobs that have access to the boss menu.
    -- Add as many jobs as needed, each key is the job name in the framework.
    jobs = {

        ["police"] = {
            -- Display label shown in the UI
            label = "Police Department",

            -- Minimum job grade required to open the boss menu
            bossGrade = 3,

            -- Society/company bank account name (used with ESX society plugins)
            societyAccount = "society_police",

            -- Coords where the boss menu can be opened.
            -- Leave as an empty table {} to allow opening from anywhere.
            menuCoords = {
                { x = 441.0, y = -982.0, z = 30.0, radius = 5.0 },
            },

            -- Products available for purchase by this job
            -- Each product has: id, name, description, price, item (item name to give)
            products = {
                { id = 1, name = "Pistol", description = "Standard police pistol", price = 150, item = "weapon_pistol" },
                { id = 2, name = "Police Baton", description = "Non-lethal baton", price = 200, item = "weapon_nightstick" },
                { id = 3, name = "Body Armor", description = "Level IIIA protective vest", price = 1500, item = "armor" },
                { id = 4, name = "First Aid Kit", description = "Emergency medical supplies", price = 250, item = "firstaid" },
                { id = 5, name = "Radio", description = "Police radio for communication", price = 500, item = "radio" },
            },
        },

        ["ambulance"] = {
            label = "Emergency Medical Services",
            bossGrade = 2,
            societyAccount = "society_ambulance",

            -- No coords restriction, can open from anywhere
            menuCoords = {},

            -- Products for EMS
            products = {
                { id = 1, name = "Bandage", description = "Basic wound dressing", price = 50, item = "bandage" },
                { id = 2, name = "First Aid Kit", description = "Complete medical kit", price = 250, item = "firstaid" },
                { id = 3, name = "Defibrillator", description = "AED for cardiac emergencies", price = 3000, item = "defibrillator" },
                { id = 4, name = "Stretcher", description = "Portable patient stretcher", price = 1000, item = "stretcher" },
                { id = 5, name = "Painkillers", description = "Pain relief medication", price = 100, item = "painkillers" },
            },
        },
    },
}

```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

```
GET https://newily-scripts.gitbook.io/newily-scripts-docs/documentation/scripts/newily-bossmenu/config.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
