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

# Exports

***

### Client Exports

<details>

<summary>OpenPlayerMenu</summary>

Opens the player report menu.

```lua
exports['nayzeee-reports']:OpenPlayerMenu()
```

</details>

<details>

<summary>OpenStaffPanel</summary>

Opens the staff panel (requires permission).

```lua
exports['nayzeee-reports']:OpenStaffPanel()
```

</details>

<details>

<summary>OpenMonitor</summary>

Opens the staff monitor.

```lua
exports['nayzeee-reports']:OpenMonitor()
```

</details>

<details>

<summary>GetActiveReportCount</summary>

Gets count of active reports.

```lua
local count = exports['nayzeee-reports']:GetActiveReportCount()
```

**Returns:** `number`

</details>

<details>

<summary>HasActiveReport</summary>

Checks if player has an active report.

```lua
local hasReport = exports['nayzeee-reports']:HasActiveReport()
```

**Returns:** `boolean`

</details>

***

### Server Exports

<details>

<summary>CreateReport</summary>

Creates a report programmatically.

```lua
local reportId = exports['nayzeee-reports']:CreateReport(playerId, category, message)
```

**Parameters:**

| Parameter  | Type   | Description      |
| ---------- | ------ | ---------------- |
| `playerId` | number | Player server ID |
| `category` | string | Report category  |
| `message`  | string | Report message   |

**Returns:** `number` - Report ID

</details>

<details>

<summary>CloseReport</summary>

Closes a report.

```lua
exports['nayzeee-reports']:CloseReport(reportId, resolution)
```

**Parameters:**

| Parameter    | Type   | Description                |
| ------------ | ------ | -------------------------- |
| `reportId`   | number | Report ID                  |
| `resolution` | string | (Optional) Resolution note |

</details>

<details>

<summary>GetReport</summary>

Gets a specific report.

```lua
local report = exports['nayzeee-reports']:GetReport(reportId)
```

**Returns:**

```lua
{
    id = number,
    playerId = number,
    playerName = string,
    category = string,
    message = string,
    status = string, -- 'open', 'claimed', 'closed'
    claimedBy = string,
    timestamp = number
}
```

</details>

<details>

<summary>GetAllReports</summary>

Gets all active reports.

```lua
local reports = exports['nayzeee-reports']:GetAllReports()
```

**Returns:** `table` - Array of report objects

</details>

<details>

<summary>GetStaffStats</summary>

Gets statistics for a staff member.

```lua
local stats = exports['nayzeee-reports']:GetStaffStats(staffId)
```

**Returns:**

```lua
{
    claimed = number,
    closed = number,
    avgResponseTime = number
}
```

</details>

<details>

<summary>IsStaff</summary>

Checks if player is staff.

```lua
local isStaff = exports['nayzeee-reports']:IsStaff(playerId)
```

**Returns:** `boolean`

</details>

<details>

<summary>GetOnlineStaff</summary>

Gets list of online staff members.

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

**Returns:** `table` - Array of staff data

</details>

***

### Integration Examples

#### Auto-Report System

```lua
-- Auto-create report for suspected cheaters
RegisterNetEvent('anticheat:detected')
AddEventHandler('anticheat:detected', function(playerId, reason)
    exports['nayzeee-reports']:CreateReport(
        playerId,
        'anticheat',
        'Automated detection: ' .. reason
    )
end)
```

#### Report Button in Phone

```lua
-- Add report option to phone app
RegisterNUICallback('phone:openReport', function(data, cb)
    exports['nayzeee-reports']:OpenPlayerMenu()
    cb('ok')
end)
```

#### Staff Notification Badge

```lua
-- Show badge with report count
CreateThread(function()
    while true do
        if exports['nayzeee-reports']:IsStaff(GetPlayerServerId(PlayerId())) then
            local count = exports['nayzeee-reports']:GetActiveReportCount()
            if count > 0 then
                -- Show notification badge
                SendNUIMessage({ action = 'updateBadge', count = count })
            end
        end
        Wait(30000) -- Check every 30 seconds
    end
end)
```

#### Discord Webhook Integration

```lua
-- Send report to Discord
AddEventHandler('nayzeee-reports:newReport', function(reportData)
    -- Use your webhook system
    SendDiscordWebhook({
        title = 'New Report',
        description = reportData.message,
        fields = {
            { name = 'Player', value = reportData.playerName },
            { name = 'Category', value = reportData.category }
        }
    })
end)
```
