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

# Exports

***

### Client Exports

<details>

<summary>OpenAdminMenu</summary>

Opens the admin panel UI.

```lua
exports['nayzeee-admin']:OpenAdminMenu()
```

**Note:** Requires staff permission.

</details>

<details>

<summary>CloseAdminMenu</summary>

Closes the admin panel.

```lua
exports['nayzeee-admin']:CloseAdminMenu()
```

</details>

<details>

<summary>ToggleNoclip</summary>

Toggles noclip mode.

```lua
exports['nayzeee-admin']:ToggleNoclip()
```

</details>

<details>

<summary>ToggleGodmode</summary>

Toggles god mode.

```lua
exports['nayzeee-admin']:ToggleGodmode()
```

</details>

<details>

<summary>ToggleInvisible</summary>

Toggles invisibility.

```lua
exports['nayzeee-admin']:ToggleInvisible()
```

</details>

<details>

<summary>IsNoclipActive</summary>

Checks if noclip is active.

```lua
local active = exports['nayzeee-admin']:IsNoclipActive()
```

**Returns:** `boolean`

</details>

<details>

<summary>IsGodmodeActive</summary>

Checks if god mode is active.

```lua
local active = exports['nayzeee-admin']:IsGodmodeActive()
```

**Returns:** `boolean`

</details>

<details>

<summary>IsInvisible</summary>

Checks if player is invisible.

```lua
local invisible = exports['nayzeee-admin']:IsInvisible()
```

**Returns:** `boolean`

</details>

***

### Server Exports

<details>

<summary>IsStaff</summary>

Checks if a player is staff.

```lua
local isStaff = exports['nayzeee-admin']:IsStaff(source)
```

**Parameters:**

| Parameter | Type   | Description      |
| --------- | ------ | ---------------- |
| `source`  | number | Player server ID |

**Returns:** `boolean`

</details>

<details>

<summary>GetStaffRank</summary>

Gets a player's staff rank.

```lua
local rank = exports['nayzeee-admin']:GetStaffRank(source)
```

**Returns:**

```lua
{
    id = string,
    label = string,
    level = number,
    color = string
}
```

Returns `nil` if not staff.

</details>

<details>

<summary>GetStaffLevel</summary>

Gets a player's staff level number.

```lua
local level = exports['nayzeee-admin']:GetStaffLevel(source)
```

**Returns:** `number` (0 if not staff)

</details>

<details>

<summary>HasPermission</summary>

Checks if staff has specific permission.

```lua
local hasPerm = exports['nayzeee-admin']:HasPermission(source, permission)
```

**Parameters:**

| Parameter    | Type   | Description      |
| ------------ | ------ | ---------------- |
| `source`     | number | Player server ID |
| `permission` | string | Permission name  |

**Returns:** `boolean`

**Example:**

```lua
if exports['nayzeee-admin']:HasPermission(source, 'ban') then
    -- Can ban players
end
```

</details>

<details>

<summary>BanPlayer</summary>

Bans a player.

```lua
local success = exports['nayzeee-admin']:BanPlayer(target, reason, duration, adminName)
```

**Parameters:**

| Parameter   | Type   | Description                                        |
| ----------- | ------ | -------------------------------------------------- |
| `target`    | number | Target player ID                                   |
| `reason`    | string | Ban reason                                         |
| `duration`  | number | Duration in seconds (use 2147483647 for permanent) |
| `adminName` | string | Admin name for logs                                |

**Returns:** `boolean`

</details>

<details>

<summary>UnbanPlayer</summary>

Unbans a player by ban ID.

```lua
local success = exports['nayzeee-admin']:UnbanPlayer(banId)
```

**Returns:** `boolean`

</details>

<details>

<summary>WarnPlayer</summary>

Warns a player.

```lua
local success = exports['nayzeee-admin']:WarnPlayer(target, reason, adminName)
```

**Parameters:**

| Parameter   | Type   | Description         |
| ----------- | ------ | ------------------- |
| `target`    | number | Target player ID    |
| `reason`    | string | Warning reason      |
| `adminName` | string | Admin name for logs |

**Returns:** `boolean`

</details>

<details>

<summary>KickPlayer</summary>

Kicks a player from server.

```lua
exports['nayzeee-admin']:KickPlayer(target, reason)
```

**Parameters:**

| Parameter | Type   | Description      |
| --------- | ------ | ---------------- |
| `target`  | number | Target player ID |
| `reason`  | string | Kick reason      |

</details>

<details>

<summary>GetBans</summary>

Gets all active bans.

```lua
local bans = exports['nayzeee-admin']:GetBans()
```

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

</details>

<details>

<summary>GetWarnings</summary>

Gets warnings for a player.

```lua
local warnings = exports['nayzeee-admin']:GetWarnings(identifier)
```

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

</details>

<details>

<summary>AddNote</summary>

Adds a note to a player.

```lua
exports['nayzeee-admin']:AddNote(identifier, note, adminName)
```

</details>

<details>

<summary>GetNotes</summary>

Gets notes for a player.

```lua
local notes = exports['nayzeee-admin']:GetNotes(identifier)
```

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

</details>

<details>

<summary>GetOnlineStaff</summary>

Gets list of online staff members.

```lua
local staff = exports['nayzeee-admin']:GetOnlineStaff()
```

**Returns:**

```lua
{
    { id = number, name = string, rank = string, level = number },
    ...
}
```

</details>

<details>

<summary>RevivePlayer</summary>

Revives a player.

```lua
exports['nayzeee-admin']:RevivePlayer(target)
```

</details>

<details>

<summary>ReviveArea</summary>

Revives all players in radius.

```lua
exports['nayzeee-admin']:ReviveArea(coords, radius)
```

**Parameters:**

| Parameter | Type    | Description        |
| --------- | ------- | ------------------ |
| `coords`  | vector3 | Center coordinates |
| `radius`  | number  | Radius in meters   |

</details>

<details>

<summary>AddMoney</summary>

Adds money to a player.

```lua
exports['nayzeee-admin']:AddMoney(target, moneyType, amount)
```

**Parameters:**

| Parameter   | Type   | Description          |
| ----------- | ------ | -------------------- |
| `target`    | number | Player server ID     |
| `moneyType` | string | `'cash'` or `'bank'` |
| `amount`    | number | Amount to add        |

</details>

<details>

<summary>RemoveMoney</summary>

Removes money from a player.

```lua
exports['nayzeee-admin']:RemoveMoney(target, moneyType, amount)
```

</details>

<details>

<summary>SetMoney</summary>

Sets a player's money to exact amount.

```lua
exports['nayzeee-admin']:SetMoney(target, moneyType, amount)
```

</details>

<details>

<summary>SetJob</summary>

Sets a player's job.

```lua
exports['nayzeee-admin']:SetJob(target, jobName, grade)
```

**Parameters:**

| Parameter | Type   | Description      |
| --------- | ------ | ---------------- |
| `target`  | number | Player server ID |
| `jobName` | string | Job name         |
| `grade`   | number | Job grade        |

</details>

<details>

<summary>GiveItem</summary>

Gives an item to a player.

```lua
exports['nayzeee-admin']:GiveItem(target, itemName, amount)
```

</details>

***

### Integration Examples

#### Permission Check

```lua
-- Check permission before action
RegisterNetEvent('yourscript:adminAction')
AddEventHandler('yourscript:adminAction', function()
    local src = source
    if not exports['nayzeee-admin']:HasPermission(src, 'manage_server') then
        return -- No permission
    end
    -- Do admin action
end)
```

#### Staff Level Restriction

```lua
-- Require minimum staff level
local function RequireLevel(source, minLevel)
    local level = exports['nayzeee-admin']:GetStaffLevel(source)
    return level >= minLevel
end

-- Usage
if RequireLevel(source, 5) then
    -- Only level 5+ staff can do this
end
```

#### Auto-Ban System

```lua
-- Ban player from anti-cheat
RegisterNetEvent('anticheat:ban')
AddEventHandler('anticheat:ban', function(playerId, reason)
    exports['nayzeee-admin']:BanPlayer(
        playerId,
        'Anti-Cheat: ' .. reason,
        2147483647, -- Permanent
        'Anti-Cheat System'
    )
end)
```

#### Staff Notification

```lua
-- Notify all online staff
local function NotifyStaff(message)
    local staff = exports['nayzeee-admin']:GetOnlineStaff()
    for _, s in pairs(staff) do
        TriggerClientEvent('ox_lib:notify', s.id, {
            description = message,
            type = 'info'
        })
    end
end
```

#### Webhook Logging

```lua
-- Log admin actions
AddEventHandler('nayzeee-admin:playerBanned', function(admin, target, reason, duration)
    SendDiscordWebhook({
        title = 'Player Banned',
        fields = {
            { name = 'Admin', value = admin },
            { name = 'Target', value = target },
            { name = 'Reason', value = reason },
            { name = 'Duration', value = duration }
        }
    })
end)
```
