Free

ds-reporterpro

standalone
Free
Instant DeliveryAccess immediately after purchase
Secure PaymentProtected by Tebex & Cfx.re
Lifetime UpdatesFree updates via Keymaster

Support & Community

Support is provided via Discord after purchase.

Join Discord
← Back

Requirements

  • QBCore / Qbox / ESX
  • OneSync Infinity
  • Server v7290 or newer
  • Json
ds-reporterpro

Overview

# DS Reporter – FiveM Player Reporter

Player report menu with **player** and **admin** options. Reports are sent to **Discord** via webhook.

## Features

- **Players:** Submit reports with category, optional **subject**, **priority** (if configured), optional reported player (ID/name), and description. Cooldown to prevent spam.

- **Admins:** View all reports in the **Logs** tab with **stats** (Total / Open / Resolved), mark as resolved, or delete. New reports trigger an in-game notification and optional sound. Logs tab is visible only to allowed users.

- **Discord:** When `Config.Discord.Enabled = true`, each new report is sent to a Discord channel via webhook (includes subject and priority). When **disabled**, reports are not sent to Discord and appear only in the admin **Logs** tab in the UI.

- **Commands:** `/fixreport` — force-close the report UI (anyone). `/fixreportall` — force-close report UI for all players (admin only).

## Installation

1. Drop the `ds-reporterpro` folder into your `resources` directory.

2. Add to `server.cfg`:

```cfg

ensure ds-reporterpro

```

3. Configure `config.lua` (see below).

4. Give admin permission (see **Admin access** below).

## Config (`config.lua`)

- **Command:** `Config.Command = "report"` — command to open the menu (e.g. `/report`).

- **Keybind:** `Config.Keybind = { key = "F7", default = "F7" }` or `nil` to disable.

- **Categories:** `Config.Categories` — list of report categories (e.g. Cheating, RDM, Fail RP, Other).

- **Priorities:** `Config.Priorities` — optional list of `{ label = "Medium", value = "medium" }` to show a priority dropdown. Leave empty to hide.

- **Notifications:** `Config.Notifications.useSound = true` — play a sound for admins when a new report is submitted.

- **Subject/description length:** `Config.MaxSubjectLength = 120`, `Config.MaxDescriptionLength = 1000`.

- **Discord:**

- `Config.Discord.Enabled = true`

- `Config.Discord.WebhookURL = "https://discord.com/api/webhooks/..."` — create in Discord: Channel → Edit → Integrations → Webhooks.

- Optional: `Config.Discord.AdminWebhookURL` for a separate log channel for resolve/delete actions.

- **Admin check:** `Config.AdminCheck = "ace"` (see **Admin access**).

- **Cooldown:** `Config.ReportCooldown = 60` — seconds between reports per player.

## Admin access (Logs tab)

Admins see the **Logs** tab. Set this in `config.lua`:

- **`Config.AdminCheck = "discord"`** — no ACE; admin by **Discord role ID**.

Set Config.DiscordGuildId, Config.DiscordBotToken, and Config.DiscordAdminRoleId.

The script checks if the player’s Discord account has that role on your server.

You need a Discord Bot with **Server Members Intent** enabled (Developer Portal → Bot).

Role is cached for 5 minutes to avoid spamming the Discord API.

- **`Config.AdminCheck = "ace"`** — use ACE permission `Config.AdminAce`.

**Default `Config.AdminAce = "command"`** so the script checks for the `command` permission. If you already have:

```cfg

add_ace group.admin command allow

```

then **no extra line is needed**: everyone in `group.admin` (and qbcore.god / qbcore.admin if they inherit from it) gets the Logs tab.

To use a separate permission instead, set `Config.AdminAce = "ds-reporter.admin"` and add `add_ace group.admin ds-reporter.admin allow` in server.cfg.

- **Quick test (no ACE):** Add your license to `Config.AdminLicenses` (works with any AdminCheck).

- **`Config.AdminCheck = "export"`** — script calls `exports['ds-reporter']:IsAdmin(source)`. Implement that export and return `true` for admins.

## Discord webhook

1. In Discord, open the channel where you want reports.

2. Channel → **Edit Channel** → **Integrations** → **Webhooks** → **New Webhook**.

3. Copy the **Webhook URL** and set `Config.Discord.WebhookURL` in `config.lua`.

New reports will appear as embeds with: Report ID, category, reporter name/ID, reported player (if any), description, and identifiers (License, Discord, etc.). If `Enabled = false`, reports are not sent to Discord and are only visible in the in-game admin **Logs** tab.

Reports are stored in memory in saved.json For persistence.

More free

ds-notifications

Free

ds-notifications

Free
ds-interiorlight

Free

ds-interiorlight

Free