# System Config

***

### General Config

```lua
targetSystem = 'qb-target',
    PrisonNoteBook = 'prison_notebook',
    ItemSystem = false,
    AddItems = {
        ['bread'] = 1,
        ['water'] = 1,
        ['cigarette'] = 5,
        ['prison_notebook'] = 1
    },
    Job = {'police', 'sheriff'},
```

* **`targetSystem`**: Choose between `qb-target` or `ox_target`.
* **`PrisonNoteBook`**: The item name for the prison notebook.
* **`ItemSystem`**: If `true`, players’ items are removed when jailed and returned on release.
* **`AddItems`**: Items given automatically upon entering prison.
* **`Job`**: Jobs with permission to access the prison system.

***

### Teleport & Zone Config

```lua
ReleaseTeleportCoords = {
        from = vector3(1855.6772, 2610.3850, 45.6720),
        fromHeading = 281.5382,
        to = vector3(1762.2449, 2489.4612, 45.8450),
        toHeading = 119.0463,
        visitCoords = vector3(1837.3680, 2578.2546, 45.8879),
    },
```

* **`from`**: Release location when leaving prison.
* **`to`**: Entry location inside prison.
* **`visitCoords`**: Visiting room teleport point.

```lua
PrisonZoneCoords = {
        vector2(1842.5515, 2593.2415),
        vector2(1824.5754, 2476.2856),
        ...
    },
    PrisonZoneMinZ = 35.0,
    PrisonZoneMaxZ = 70.0,
```

* Defines the polygon area for the prison zone and its vertical height range.

***

### Phone System (Visits)

```lua
PhoneSystem = {
        phoneModels = { `hei_prop_hei_bank_phone_01` },
        qbTargetOptions = {
            options = {
                {
                    event = "frkn-prison:interactWithPhone",
                    icon = "fas fa-phone",
                    label = "Using the Phone",
                }
            },
            distance = 2.5,
        },
        oxTargetOptions = {
            {
                event = "frkn-prison:interactWithPhone",
                icon = "fas fa-phone",
                label = "Using the Phone",
                distance = 2.5,
            }
        },
    },
```

* **`phoneModels`**: World models used for visit calls.
* **Target Options**: Both `qb-target` and `ox_target` configurations are supported.

***

### Prison Outfits

```lua
PrisonOutfit = {
        enable = false,
        male = {
            mask = { item = 0, texture = 0 },
            arms = { item = 4, texture = 0 },
            ...
        },
        female = {
            mask = { item = 0, texture = 0 },
            arms = { item = 4, texture = 0 },
            ...
        }
    },
```

* **`enable`**: Toggle prison uniforms.
* Separate configurations for **male** and **female** outfits using clothing component IDs.

***

### Electric Panel & Time Control

```lua
panelLocations = {
        { x = 1752.9846, y = 2721.7998, z = 45.5649, w = 107.4926, status = false },
    },
    TimeControl = false,
```

* **`panelLocations`**: Electrical panels used in escape plans.
* **`TimeControl`**: If `true`, panels can only be sabotaged at night.

***

### Tunnel Escape

```lua
digSpot = {
        coords = vector3(1671.8668, 2700.0352, 45.5649),
        heading = 72.9042,
        cleaned = false,
        progress = 0
    },
    TunelEntrance = { coords = vector3(1770.2507, 2829.3689, 20.6350) },
    TunelExit = { coords = vector3(1942.06921, 2687.84644, 32.8981743) },
    TunelOut = { coords = vector3(1947.5433, 2683.4050, 42.7956) },
```

* Fully controls digging spot, tunnel entry, exit, and post-escape spawn.

***

### NPC Dialogs

```lua
PrisonDialogs = {
        goodNpc = {
            greeting = "Hey, you new here?",
            firstOption = {
                type = "job_inquiry",
                ...
            },
            escapeOption = {
                label = "How can I escape from here?",
                ...
            }
        },
        badNpc = { ... }
    },
```

* **`goodNpc`**: Provides job hints.
* **`badNpc`**: Guides escape planning. Supports guard alert toggles (`alertsGuards`).

***

### Prison NPCs

```lua
PrisonNPCs = {
        { coords = vector4(1687.6576, 2565.9609, 45.5649, 176.9481), npc = "s_m_y_prisoner_01", animDict = "...", animName = "base", status = 1 },
        ...
    },
```

* Configurable NPCs with positions, animations, and behaviors.

***

### Basketball System

```lua
BasketballZones = {
        {
            label = "Basketball Court",
            points = { vector2(1682.5226, 2528.4807), ... },
            minZ = 44.5,
            maxZ = 47.0
        }
    },
    Limit = 5,
    PropModel = 'prop_bskball_01',
    Commands = 'basketball',
    PickUpBall = 38,
    PlayStyleBall = 303,
    ShootBall = 263,
    DribbleBall = 47,
    DetachBall = 73,
```

* Defines basketball courts, limits ball spawn count, and sets controls.


---

# 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://docs.0resmon.org/0resmon/frkn-resources/frkn-prison/system-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.
