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

# Configuration

<details>

<summary>View Full Config</summary>

```lua
--[[
    ███╗   ██╗ █████╗ ██╗   ██╗███████╗███████╗███████╗███████╗
    ████╗  ██║██╔══██╗╚██╗ ██╔╝╚══███╔╝██╔════╝██╔════╝██╔════╝
    ██╔██╗ ██║███████║ ╚████╔╝   ███╔╝ █████╗  █████╗  █████╗  
    ██║╚██╗██║██╔══██║  ╚██╔╝   ███╔╝  ██╔══╝  ██╔══╝  ██╔══╝  
    ██║ ╚████║██║  ██║   ██║   ███████╗███████╗███████╗███████╗
    ╚═╝  ╚═══╝╚═╝  ╚═╝   ╚═╝   ╚══════╝╚══════╝╚══════╝╚══════╝
                                                                
    ██████╗ ███████╗██╗   ██╗███████╗██╗      ██████╗ ██████╗ ███╗   ███╗███████╗███╗   ██╗████████╗
    ██╔══██╗██╔════╝██║   ██║██╔════╝██║     ██╔═══██╗██╔══██╗████╗ ████║██╔════╝████╗  ██║╚══██╔══╝
    ██║  ██║█████╗  ██║   ██║█████╗  ██║     ██║   ██║██████╔╝██╔████╔██║█████╗  ██╔██╗ ██║   ██║   
    ██║  ██║██╔══╝  ╚██╗ ██╔╝██╔══╝  ██║     ██║   ██║██╔═══╝ ██║╚██╔╝██║██╔══╝  ██║╚██╗██║   ██║   
    ██████╔╝███████╗ ╚████╔╝ ███████╗███████╗╚██████╔╝██║     ██║ ╚═╝ ██║███████╗██║ ╚████║   ██║   
    ╚═════╝ ╚══════╝  ╚═══╝  ╚══════╝╚══════╝ ╚═════╝ ╚═╝     ╚═╝     ╚═╝╚══════╝╚═╝  ╚═══╝   ╚═╝   
                                                                                                      
    NAYZEEE ADMIN JAIL - 1.0.0
    Discord: discord.gg/nayzeeedev
]]

Config = {}

--[[ 
    ███████╗██████╗  █████╗ ███╗   ███╗███████╗██╗    ██╗ ██████╗ ██████╗ ██╗  ██╗
    ██╔════╝██╔══██╗██╔══██╗████╗ ████║██╔════╝██║    ██║██╔═══██╗██╔══██╗██║ ██╔╝
    █████╗  ██████╔╝███████║██╔████╔██║█████╗  ██║ █╗ ██║██║   ██║██████╔╝█████╔╝ 
    ██╔══╝  ██╔══██╗██╔══██║██║╚██╔╝██║██╔══╝  ██║███╗██║██║   ██║██╔══██╗██╔═██╗ 
    ██║     ██║  ██║██║  ██║██║ ╚═╝ ██║███████╗╚███╔███╔╝╚██████╔╝██║  ██║██║  ██╗
    ╚═╝     ╚═╝  ╚═╝╚═╝  ╚═╝╚═╝     ╚═╝╚══════╝ ╚══╝╚══╝  ╚═════╝ ╚═╝  ╚═╝╚═╝  ╚═╝
]]

Config.Framework = 'auto' -- 'auto', 'qb', 'esx', 'qbox'
Config.Debug = false

--[[ 
     █████╗ ██████╗ ███╗   ███╗██╗███╗   ██╗
    ██╔══██╗██╔══██╗████╗ ████║██║████╗  ██║
    ███████║██║  ██║██╔████╔██║██║██╔██╗ ██║
    ██╔══██║██║  ██║██║╚██╔╝██║██║██║╚██╗██║
    ██║  ██║██████╔╝██║ ╚═╝ ██║██║██║ ╚████║
    ╚═╝  ╚═╝╚═════╝ ╚═╝     ╚═╝╚═╝╚═╝  ╚═══╝
]]

Config.AdminGroups = {
    'admin',
    'mod',
    'superadmin',
    'god',
}

--[[ 
     ██████╗ ██████╗ ███╗   ███╗███╗   ███╗ █████╗ ███╗   ██╗██████╗ ███████╗
    ██╔════╝██╔═══██╗████╗ ████║████╗ ████║██╔══██╗████╗  ██║██╔══██╗██╔════╝
    ██║     ██║   ██║██╔████╔██║██╔████╔██║███████║██╔██╗ ██║██║  ██║███████╗
    ██║     ██║   ██║██║╚██╔╝██║██║╚██╔╝██║██╔══██║██║╚██╗██║██║  ██║╚════██║
    ╚██████╗╚██████╔╝██║ ╚═╝ ██║██║ ╚═╝ ██║██║  ██║██║ ╚████║██████╔╝███████║
     ╚═════╝ ╚═════╝ ╚═╝     ╚═╝╚═╝     ╚═╝╚═╝  ╚═╝╚═╝  ╚═══╝╚═════╝ ╚══════╝
]]

Config.Commands = {
    openUI = 'adminjail',    -- Opens the admin jail management UI
    jailPlayer = 'jail',     -- /jail [id] [time] [reason]
    unjailPlayer = 'unjail', -- /unjail [id]
}

--[[ 
    ██╗      ██████╗  ██████╗ █████╗ ████████╗██╗ ██████╗ ███╗   ██╗███████╗
    ██║     ██╔═══██╗██╔════╝██╔══██╗╚══██╔══╝██║██╔═══██╗████╗  ██║██╔════╝
    ██║     ██║   ██║██║     ███████║   ██║   ██║██║   ██║██╔██╗ ██║███████╗
    ██║     ██║   ██║██║     ██╔══██║   ██║   ██║██║   ██║██║╚██╗██║╚════██║
    ███████╗╚██████╔╝╚██████╗██║  ██║   ██║   ██║╚██████╔╝██║ ╚████║███████║
    ╚══════╝ ╚═════╝  ╚═════╝╚═╝  ╚═╝   ╚═╝   ╚═╝ ╚═════╝ ╚═╝  ╚═══╝╚══════╝
]]

Config.Locations = {
    release = vector3(219.11, -799.94, 30.74),
}

Config.JailLocations = {
    {
        id = 'aircraft_carrier',
        name = 'USS Luxington Aircraft Carrier',
        description = 'Maximum security floating prison',
        image = 'https://r2.fivemanage.com/4iPDn6qcQHpV9zEdQQSZO/aircraft.png',
        coords = vector4(3066.8, -4738.24, 15.26, 0.0),
        zone = {
            points = {
                vec3(3057.8, -4826.37, 15.0),
                vec3(2991.62, -4605.99, 15.0),
                vec3(2999.78, -4513.56, 15.0),
                vec3(3020.38, -4508.06, 15.0),
                vec3(3049.91, -4586.47, 15.0),
                vec3(3073.2, -4592.7, 15.0),
                vec3(3130.08, -4800.5, 15.0),
            },
            thickness = 40.0,
        },
        sweepPoints = {
            vector3(3046.41, -4715.99, 15.26),
            vector3(3060.23, -4680.54, 15.26),
            vector3(3080.08, -4717.49, 15.26),
            vector3(3053.08, -4750.20, 15.26),
            vector3(3081.39, -4759.89, 15.26),
        },
    },
    {
        id = 'bolingbroke',
        name = 'Bolingbroke Penitentiary',
        description = 'Maximum security prison',
        image = 'https://r2.fivemanage.com/4iPDn6qcQHpV9zEdQQSZO/prison.png',
        coords = vector4(1680.51, 2512.66, 45.56, 204.54),
        zone = {
            points = {
                vec3(1700.17, 2474.98, 45.0),
                vec3(1718.68, 2524.92, 45.0),
                vec3(1657.65, 2549.12, 45.0),
                vec3(1630.09, 2525.54, 45.0),
            },
            thickness = 30.0,
        },
        sweepPoints = {
            vector3(1656.47, 2522.59, 45.56),
            vector3(1699.13, 2516.4, 45.56),
            vector3(1693.89, 2491.02, 45.56),
            vector3(1668.44, 2507.46, 45.56),
            vector3(1654.31, 2542.92, 45.56),
        },
    },
    {
        id = 'military_base',
        name = 'Fort Zancudo Detention',
        description = 'Military detention facility',
        image = 'https://r2.fivemanage.com/4iPDn6qcQHpV9zEdQQSZO/militery.png',
        coords = vector4(-2047.4, 3132.1, 32.8, 240.0),
        zone = {
            points = {
                vec3(-2100.0, 3100.0, 32.0),
                vec3(-2000.0, 3100.0, 32.0),
                vec3(-2000.0, 3200.0, 32.0),
                vec3(-2100.0, 3200.0, 32.0),
            },
            thickness = 30.0,
        },
        sweepPoints = {
            vector3(-2047.4, 3132.1, 32.8),
            vector3(-2052.1, 3138.7, 32.8),
            vector3(-2042.8, 3142.3, 32.8),
            vector3(-2038.2, 3128.9, 32.8),
            vector3(-2055.6, 3125.4, 32.8),
        },
    },
    {
        id = 'police_station',
        name = 'Mission Row Holding Cell',
        description = 'Police station detention',
        image = 'https://r2.fivemanage.com/4iPDn6qcQHpV9zEdQQSZO/police.png',
        coords = vector4(461.65, -994.49, 24.91, 180.0),
        zone = {
            points = {
                vec3(459.56, -990.78, 24.0),
                vec3(465.29, -990.83, 24.0),
                vec3(465.61, -1008.32, 24.0),
                vec3(454.91, -1008.95, 24.0),
            },
            thickness = 15.0,
        },
        sweepPoints = {
            vector3(461.6, -994.5, 24.91),
            vector3(465.2, -998.1, 24.91),
            vector3(458.3, -1001.7, 24.91),
            vector3(454.8, -991.2, 24.91),
            vector3(468.9, -987.6, 24.91),
        },
    },
}

--[[ 
    ███████╗███████╗ ██████╗ █████╗ ██████╗ ███████╗
    ██╔════╝██╔════╝██╔════╝██╔══██╗██╔══██╗██╔════╝
    █████╗  ███████╗██║     ███████║██████╔╝█████╗  
    ██╔══╝  ╚════██║██║     ██╔══██║██╔═══╝ ██╔══╝  
    ███████╗███████║╚██████╗██║  ██║██║     ███████╗
    ╚══════╝╚══════╝ ╚═════╝╚═╝  ╚═╝╚═╝     ╚══════╝
]]

Config.Escape = {
    penalty = 5,
    graceTime = 10000,
    checkInterval = 1000,
    broadcastAttempts = true,
}

--[[ 
    ██╗    ██╗ ██████╗ ██████╗ ██╗  ██╗
    ██║    ██║██╔═══██╗██╔══██╗██║ ██╔╝
    ██║ █╗ ██║██║   ██║██████╔╝█████╔╝ 
    ██║███╗██║██║   ██║██╔══██╗██╔═██╗ 
    ╚███╔███╔╝╚██████╔╝██║  ██║██║  ██╗
     ╚══╝╚══╝  ╚═════╝ ╚═╝  ╚═╝╚═╝  ╚═╝
]]

Config.Work = {
    enabled = true,
    timeReduction = 2,
    maxPerHour = 10,
    sweepDuration = 5000,
    cooldown = 3000,
    autoStart = true,
    
    -- Marker visibility settings
    markerViewDistance = 100.0,
    
    -- Animation (multiple fallbacks handled in code)
    animation = {
        dict = 'anim@amb@drug_field_workers@rake@male_a@base',
        anim = 'base',
    },
    -- Broom prop with proper attachment
    prop = {
        model = 'prop_tool_broom',
        bone = 28422,
        offset = vec3(0.0, 0.0, 0.0),
        rotation = vec3(0.0, 0.0, 0.0),
    },
}

--[[ 
    ██████╗  █████╗ ████████╗ █████╗ ██████╗  █████╗ ███████╗███████╗
    ██╔══██╗██╔══██╗╚══██╔══╝██╔══██╗██╔══██╗██╔══██╗██╔════╝██╔════╝
    ██║  ██║███████║   ██║   ███████║██████╔╝███████║███████╗█████╗  
    ██║  ██║██╔══██║   ██║   ██╔══██║██╔══██╗██╔══██║╚════██║██╔══╝  
    ██████╔╝██║  ██║   ██║   ██║  ██║██████╔╝██║  ██║███████║███████╗
    ╚═════╝ ╚═╝  ╚═╝   ╚═╝   ╚═╝  ╚═╝╚═════╝ ╚═╝  ╚═╝╚══════╝╚══════╝
]]

Config.Database = {
    table = 'nayzeee_adminjail',
    historyTable = 'nayzeee_adminjail_history',
    persistent = true,
    saveInterval = 300000,
}

--[[ 
    ██╗    ██╗███████╗██████╗ ██╗  ██╗ ██████╗  ██████╗ ██╗  ██╗
    ██║    ██║██╔════╝██╔══██╗██║  ██║██╔═══██╗██╔═══██╗██║ ██╔╝
    ██║ █╗ ██║█████╗  ██████╔╝███████║██║   ██║██║   ██║█████╔╝ 
    ██║███╗██║██╔══╝  ██╔══██╗██╔══██║██║   ██║██║   ██║██╔═██╗ 
    ╚███╔███╔╝███████╗██████╔╝██║  ██║╚██████╔╝╚██████╔╝██║  ██╗
     ╚══╝╚══╝ ╚══════╝╚═════╝ ╚═╝  ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝
]]

Config.Webhook = {
    enabled = false,                      -- Set to true to enable Discord webhooks
    url = '',                             -- Your Discord webhook URL  
    botName = 'NAYZEEE Admin Jail',       -- Bot display name in Discord
    avatarUrl = '',                       -- Bot avatar image URL (leave empty for default)
    color = {
        jail = 16711680,                  -- Red (0xFF0000)
        release = 65280,                  -- Green (0x00FF00)
        escape = 16776960,               -- Yellow (0xFFFF00)
        timeAdjust = 3447003,            -- Blue (0x348FDB)
    },
}

--[[ 
    ██████╗ ██╗   ██╗██╗     ███████╗███████╗
    ██╔══██╗██║   ██║██║     ██╔════╝██╔════╝
    ██████╔╝██║   ██║██║     █████╗  ███████╗
    ██╔══██╗██║   ██║██║     ██╔══╝  ╚════██║
    ██║  ██║╚██████╔╝███████╗███████╗███████║
    ╚═╝  ╚═╝ ╚═════╝ ╚══════╝╚══════╝╚══════╝

    Rules displayed to jailed players on the side panel UI.
    Supports HTML formatting for colored text:
      <span class="red">text</span>     = Red
      <span class="green">text</span>   = Green
      <span class="yellow">text</span>  = Yellow
]]

Config.Rules = {
    'Escape attempts will add <span class="red">extra time</span> to your sentence',
    'Complete work cycles to <span class="green">reduce your time</span>',
    'There is a <span class="yellow">hourly work limit</span> in place',
    'Do not disconnect to avoid your jail sentence',
    'Respect all staff decisions at all times',
}

--[[ 
    ███╗   ██╗ ██████╗ ████████╗██╗███████╗██╗   ██╗
    ████╗  ██║██╔═══██╗╚══██╔══╝██║██╔════╝╚██╗ ██╔╝
    ██╔██╗ ██║██║   ██║   ██║   ██║█████╗   ╚████╔╝ 
    ██║╚██╗██║██║   ██║   ██║   ██║██╔══╝    ╚██╔╝  
    ██║ ╚████║╚██████╔╝   ██║   ██║██║        ██║   
    ╚═╝  ╚═══╝ ╚═════╝    ╚═╝   ╚═╝╚═╝        ╚═╝   
]]

Config.Notify = 'ox' -- 'ox', 'qb', 'esx', 'nayzeee'

```

</details>
