> 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/events.md).

# Events

***

### Client Events

<details>

<summary>nayzeee-adminjail:jail</summary>

Jails the player and teleports them to jail location.

```lua
TriggerClientEvent('nayzeee-adminjail:jail', playerId, coords, time, locationId, reason, adminName)
```

**Parameters:**

| Parameter    | Type    | Description               |
| ------------ | ------- | ------------------------- |
| `playerId`   | number  | Target player server ID   |
| `coords`     | vector3 | Jail location coordinates |
| `time`       | number  | Jail time in minutes      |
| `locationId` | string  | Jail location ID          |
| `reason`     | string  | Reason for jailing        |
| `adminName`  | string  | Name of admin who jailed  |

</details>

<details>

<summary>nayzeee-adminjail:release</summary>

Releases the player from jail.

```lua
TriggerClientEvent('nayzeee-adminjail:release', playerId)
```

</details>

<details>

<summary>nayzeee-adminjail:restore</summary>

Restores jail state on reconnect.

```lua
TriggerClientEvent('nayzeee-adminjail:restore', playerId, data)
```

**Data Structure:**

```lua
{
    coords = vector3,
    remainingTime = number,
    locationId = string,
    reason = string,
    admin = string
}
```

</details>

<details>

<summary>nayzeee-adminjail:updateTime</summary>

Updates the player's remaining jail time.

```lua
TriggerClientEvent('nayzeee-adminjail:updateTime', playerId, newTime)
```

</details>

***

### Server Events

<details>

<summary>nayzeee-adminjail:checkStatus</summary>

Checks if player has pending jail time on connect.

```lua
TriggerServerEvent('nayzeee-adminjail:checkStatus')
```

</details>

<details>

<summary>nayzeee-adminjail:jailPlayer</summary>

Jails a player (from admin UI).

```lua
TriggerServerEvent('nayzeee-adminjail:jailPlayer', targetId, time, reason, locationId)
```

</details>

<details>

<summary>nayzeee-adminjail:releasePlayer</summary>

Releases a player from jail.

```lua
TriggerServerEvent('nayzeee-adminjail:releasePlayer', targetId)
```

</details>

<details>

<summary>nayzeee-adminjail:adjustTime</summary>

Adjusts a player's jail time.

```lua
TriggerServerEvent('nayzeee-adminjail:adjustTime', targetId, adjustment)
```

**Parameters:**

| Parameter    | Type   | Description                                    |
| ------------ | ------ | ---------------------------------------------- |
| `targetId`   | number | Player server ID                               |
| `adjustment` | number | Minutes to add (positive) or remove (negative) |

</details>

<details>

<summary>nayzeee-adminjail:syncTime</summary>

Syncs jail time from client to server.

```lua
TriggerServerEvent('nayzeee-adminjail:syncTime', time)
```

</details>

<details>

<summary>nayzeee-adminjail:timeUp</summary>

Called when player's jail time is complete.

```lua
TriggerServerEvent('nayzeee-adminjail:timeUp')
```

</details>

<details>

<summary>nayzeee-adminjail:escape</summary>

Called when player attempts to escape.

```lua
TriggerServerEvent('nayzeee-adminjail:escape', penalty)
```

</details>

<details>

<summary>nayzeee-adminjail:workComplete</summary>

Called when player completes a work cycle.

```lua
TriggerServerEvent('nayzeee-adminjail:workComplete', reduction)
```

</details>

***

### ox\_lib Callbacks

<details>

<summary>nayzeee-adminjail:hasPermission</summary>

Checks if player has admin permission.

```lua
local hasPermission = lib.callback.await('nayzeee-adminjail:hasPermission', false)
```

**Returns:** `boolean`

</details>

<details>

<summary>nayzeee-adminjail:getJailedPlayers</summary>

Gets list of all jailed players.

```lua
local players = lib.callback.await('nayzeee-adminjail:getJailedPlayers', false)
```

**Returns:** `table` - Array of jailed player data

</details>

<details>

<summary>nayzeee-adminjail:getHistory</summary>

Gets jail history records.

```lua
local history = lib.callback.await('nayzeee-adminjail:getHistory', false, page, limit)
```

**Returns:** `table` - Array of history records

</details>
