EXOTICA NETWORKDocs

Referencia completa de configuración

Archivos editables, valores de fábrica y esquema SQL del paquete

Consulta los valores de fábrica antes de comparar tu configuración. Modifica tu copia instalada y conserva los archivos originales como respaldo. Los ejemplos de identificadores y webhooks deben sustituirse en el servidor.

Las sociedades sin comillas en los ejemplos originales son variables Lua; utiliza cadenas explícitas o el fallback society_job al personalizar. El SQL propio se crea en server/mysql.lua, mientras las tablas de ESX y addonaccount pertenecen a sus dependencias.

config.lua

config.lua
--[[
    https://github.com/karmache/KMS-BossMenu

    This file is licensed under GPL-3.0 or higher <https://www.gnu.org/licenses/gpl-3.0.en.html>

    Copyright © 2025 karmache <https://github.com/karmache>
]]

Config = {}

Config.Locale = 'es'

Config.Currency = '$'

Config.Timestamp = 'es'

Config.Notify = 'ox_lib' -- Boss menu notifications use the default ox_lib notify.

-- Translate the boss menu from here without editing the NUI files.
-- NUI supports dot paths from html/locales/*.json and keeps placeholders like {amount}.
-- Lua supports the keys from locales/*.lua and keeps string format placeholders like %s.
Config.TranslationOverrides = {
    nui = {
        -- ['pages.home'] = 'Inicio',
        -- ['pages.timeclock'] = 'Bitacora',
        -- ['employees.add_employee'] = 'Contratar empleado',
        -- ['buttons.deposit'] = 'Depositar',
        -- ['buttons.refresh'] = 'Actualizar',
        -- ['timeclock.ranking'] = 'Ranking de horas',
        -- ['notifies.account.deposit.success'] = 'Deposito de {amount}$ realizado.',
    },

    lua = {
        -- ['ox_target'] = 'Menu de Jefe',
        -- ['help_notification'] = 'Presiona ~INPUT_CONTEXT~ para abrir el menu',
        -- ['receive_bonus'] = 'Recibiste un bono de %s.',
    }
}

Config.WebhookLogo = 'https://imgur.com/ICZpr7I.png' -- Discord embed thumbnail fallback.

Config.UnemployedJobName = 'unemployed'

Config.UseTarget = true -- Open the boss menu with ox_target when ox_target is running.

Config.JobCreator = 'jaksam' -- 'jaksam', 'lunar', false | NEW -- Only Lunar supports marker by job creator. For the others, you need to set them in the Config.Jobs file.
Config.DefaultColor = 'green' -- Default color if you use jobcreator and not this config | NEW

Config.EnableCommand = true -- Keeps /bossmenu as a backup while ox_target is available.
Config.CommandName = 'bossmenu'

-- Salaries can NEVER be edited from the boss menu. The menu is removed from the UI and the
-- server has no callback to change them. Salaries are only managed outside this resource (DB / jobs creator).
Config.AllowSalaryEditing = false

Config.Jobs = {
    -- grades = { N } means grade N and every grade above it has FULL access to the boss menu (minimum grade, not an exact list).
    -- limitedGrades = { N } means grade N and every grade above it can ONLY open the tablet to hire and fire.
    --   Limited ranks see only the employees page: hire + fire. No promote, no demote, no account,
    --   no bonus, no laundering, no timeclock. Set to nil or omit if the job has no limited ranks.
    --   If a grade qualifies for both, full access wins.
    ['arturos'] = {
        society = society_arturos,
        color = 'orange',
        grades = { 3 },
        limitedGrades = nil, -- e.g. { 2 } -- grade 2+ can open the tablet only to hire/fire.
        manageAccount = true, -- Set to false to hide the account menu (deposit/withdraw) for this job.
        manageBonus = true, -- Set to false to hide the bonus menu for this job.
        manageLaundering = false, -- Set to false to hide the money laundering menu for this job.
        marker = {
            type = 1,
            coords = vector3(-579.26, -879.96, 26.17),
            scale = vector3(1.5, 1.5, 1.5),
            color = { r = 0, g = 0, b = 255, a = 200 },
        },
    },
    ['ambulance'] = {
        society = society_ambulance,
        color = 'red',
        grades = { 8 },
        limitedGrades = { 6 }, -- e.g. { 6 } -- grade 6+ can open the tablet only to hire/fire.
        manageAccount = false, -- Set to false to hide the account menu (deposit/withdraw) for this job.
        manageBonus = false, -- Set to false to hide the bonus menu for this job.
        manageLaundering = false, -- Set to false to hide the money laundering menu for this job.
        marker = {
            type = 1,
            coords = vector3(-2818.89, -64.34, 18.65),
            scale = vector3(1.5, 1.5, 1.5),
            color = { r = 0, g = 0, b = 255, a = 200 },
        },
    },
    ['cluckinbell'] = {
        society = society_cluckinbell,
        color = 'yellow',
        grades = { 3 },
        limitedGrades = nil, -- e.g. { 2 } -- grade 2+ can open the tablet only to hire/fire.
        manageAccount = false, -- Set to false to hide the account menu (deposit/withdraw) for this job.
        manageBonus = false, -- Set to false to hide the bonus menu for this job.
        manageLaundering = false, -- Set to false to hide the money laundering menu for this job.
        marker = {
            type = 1,
            coords = vector3(15.1354, -1598.5449, 29.3912),
            scale = vector3(1.5, 1.5, 1.5),
            color = { r = 0, g = 0, b = 255, a = 200 },
        },
    },
    ['gym'] = {
        society = society_gym,
        color = 'yellow',
        grades = { 3 },
        limitedGrades = nil, -- e.g. { 2 } -- grade 2+ can open the tablet only to hire/fire.
        manageAccount = false, -- Set to false to hide the account menu (deposit/withdraw) for this job.
        manageBonus = false, -- Set to false to hide the bonus menu for this job.
        manageLaundering = false, -- Set to false to hide the money laundering menu for this job.
        marker = {
            type = 1,
            coords = vector3(15.1354, -1598.5449, 29.3912),
            scale = vector3(1.5, 1.5, 1.5),
            color = { r = 0, g = 0, b = 255, a = 200 },
        },
    },
    ['exoticacustom'] = {
        society = society_exoticacustom,
        color = 'yellow',
        grades = { 3 },
        limitedGrades = nil, -- e.g. { 2 } -- grade 2+ can open the tablet only to hire/fire.
        manageAccount = true, -- Set to false to hide the account menu (deposit/withdraw) for this job.
        manageBonus = true, -- Set to false to hide the bonus menu for this job.
        manageLaundering = true, -- Set to false to hide the money laundering menu for this job.
        marker = {
            type = 1,
            coords = vector3(-348.74, -1334.54, 36.22),
            scale = vector3(1.5, 1.5, 1.5),
            color = { r = 0, g = 0, b = 255, a = 200 },
        },
    },
    ['ammunation'] = {
        society = society_ammunation,
        color = 'black',
        grades = { 3 },
        limitedGrades = nil, -- e.g. { 2 } -- grade 2+ can open the tablet only to hire/fire.
        manageAccount = true, -- Set to false to hide the account menu (deposit/withdraw) for this job.
        manageBonus = true, -- Set to false to hide the bonus menu for this job.
        manageLaundering = true, -- Set to false to hide the money laundering menu for this job.
        marker = {
            type = 1,
            coords = vector3(840.48, -1036.21, 28.45),
            scale = vector3(1.5, 1.5, 1.5),
            color = { r = 0, g = 0, b = 255, a = 200 },
        },
    },
    ['police'] = {
        society = society_police,
        color = 'blue',
        grades = { 30 },
        limitedGrades = { 27 }, -- e.g. { 25 } -- grade 25+ can open the tablet only to hire/fire.
        manageAccount = false, -- Set to false to hide the account menu (deposit/withdraw) for this job.
        manageBonus = false, -- Set to false to hide the bonus menu for this job.
        manageLaundering = false, -- Set to false to hide the money laundering menu for this job.
        marker = {
            type = 1,
            coords = vector3(456.2124, -931.6520, 34.2504),
            scale = vector3(1.5, 1.5, 1.5),
            color = { r = 0, g = 0, b = 255, a = 200 },
        },
    },
    ['tacos'] = {
        society = society_tacos,
        color = 'yellow',
        grades = { 3 },
        limitedGrades = nil, -- e.g. { 2 } -- grade 2+ can open the tablet only to hire/fire.
        manageAccount = false, -- Set to false to hide the account menu (deposit/withdraw) for this job.
        manageBonus = false, -- Set to false to hide the bonus menu for this job.
        manageLaundering = false, -- Set to false to hide the money laundering menu for this job.
        marker = {
            type = 1,
            coords = vector3(15.1354, -1598.5449, 29.3912),
            scale = vector3(1.5, 1.5, 1.5),
            color = { r = 0, g = 0, b = 255, a = 200 },
        },

    }
}

Config.Menus = {
    employees = {
        enabled = true
    },

    -- Salaries are permanently disabled. No job and no grade can view or edit them from the tablet.
    -- Changing this to true does nothing: the server has no salary-change callback anymore.
    salaries = {
        enabled = false,
        maximum = nil,
    },

    account = {
        enabled = true
    },

    bonus = {
        enabled = true,
        maximum = nil,
    },

    laundering = {
        enabled = true,
        feePercent = 20, -- Cut kept by the organization. The player receives (100 - feePercent)% as clean money.
        maximum = nil, -- Optional cap per laundering operation. nil = no limit.
    },

    timeclock = {
        enabled = true,
        rangeDays = 7,
    }
}

webhooks.lua

webhooks.lua
--[[
    https://github.com/karmache/KMS-BossMenu

    This file is licensed under GPL-3.0 or higher <https://www.gnu.org/licenses/gpl-3.0.en.html>

    Copyright © 2025 karmache <https://github.com/karmache>
]]

Config.Webhooks = {
    hire = "YOUR_DISCORD_WEBHOOK_URL",
    fire = "YOUR_DISCORD_WEBHOOK_URL",
    promote = "YOUR_DISCORD_WEBHOOK_URL",
    demote = "YOUR_DISCORD_WEBHOOK_URL",
    deposit = "YOUR_DISCORD_WEBHOOK_URL",
    withdraw = "YOUR_DISCORD_WEBHOOK_URL",
    salary = "YOUR_DISCORD_WEBHOOK_URL",
    bonus = "YOUR_DISCORD_WEBHOOK_URL",
    general = "YOUR_DISCORD_WEBHOOK_URL"
}

Config.JobWebhooks = {
    -- police = {
    --     hire = "YOUR_DISCORD_WEBHOOK_URL",
    --     fire = "YOUR_DISCORD_WEBHOOK_URL",
    --     promote = "YOUR_DISCORD_WEBHOOK_URL",
    --     deposit = "YOUR_DISCORD_WEBHOOK_URL",
    --     withdraw = "YOUR_DISCORD_WEBHOOK_URL",
    --     salary = "YOUR_DISCORD_WEBHOOK_URL",
    --     bonus = "YOUR_DISCORD_WEBHOOK_URL"
    -- },
}

En esta página