> For the complete documentation index, see [llms.txt](https://docs.lenoscripts.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.lenoscripts.com/scripts/lenoreports/faq-troubleshooting.md).

# FAQ / Troubleshooting

Common install and runtime issues for LenoReports.

## How do players and staff use reports?

Follow the [User Guide](/scripts/lenoreports/user-guide.md) for creating a report, managing participants, screenshots, staff duty, and closing tickets. Default shortcuts are listed in [Commands](/scripts/lenoreports/commands.md).

## Staff receive no new-report notifications

With the defaults, staff start **Off Duty** and notifications are sent only to staff **On Duty**. Open `/reports` and switch **On Duty** in the sidebar. Also check `Config.StaffNotify.enabled`, `onlyOnDuty`, and `notifyOnNewReport`. A persisted duty preference can override the default on subsequent sessions.

## The example integration returns invalid\_category or invalid\_reason

For creation, use a key from `Config.Categories`; the default player-report key is `player_report`, not `player`.

The `CloseReport` export cannot submit the note required by `Other`. Use a supported export reason or close with **Other** and a note in the staff UI. See [Exports and Events](/scripts/lenoreports/exports-and-events.md#closereport-reasons).

## How do I change the language, appearance, or integrations?

See [Customization](/scripts/lenoreports/customization.md), including the current limits of language coverage and inventory adapters.

## Staff menu says I have no permission

Check all of:

1. ACE: `add_ace group.admin reports.admin allow` and your principal is in that group
2. Framework admin (QB god/admin, ESX admin/superadmin)
3. Custom `ReportsHooks.IsStaff` / `CanOpenStaff` not blocking you

Debug with:

```
reports_debugperms [serverId]
```

## Resource starts but creating a report fails / SQL errors

Run **`sql/install.sql`** against the correct oxmysql database. Core tables are not auto-migrated.

Staff chat tables alone can be created at runtime; report tables cannot.

## No Discord action logs

1. Set `set leno:discord_webhook "..."` in `server.cfg`
2. `Config.Discord.enabled = true`
3. Enable the specific event under `Config.Discord.events`
4. Restart after changing convars

Console may log that Discord was skipped because the convar is missing.

## Screenshots fail

| Cause                                | Fix                                                       |
| ------------------------------------ | --------------------------------------------------------- |
| `screenshot-basic` not started       | `ensure screenshot-basic` before `leno_reports`           |
| `Config.Screenshots.enabled = false` | Enable in config                                          |
| Missing images webhook               | `set leno:discord_images_webhook "..."`                   |
| Hit max per report                   | Raise `Config.Screenshots.maxPerReport` (`0` = unlimited) |

## Framework not detected

Start `es_extended` or `qb-core` / `qbx_core` **before** `leno_reports`, or set:

```lua
Config.Framework = 'esx' -- or 'qbcore'
```

## Anti-cheat kicks on goto / bring / freeze

Whitelist resource **`leno_reports`**. Teleports are server-validated; the client only applies coords after the server event. The resource briefly sets a player state bag during admin actions — some ACs can key off that.

## Webhooks in config.lua

Unsupported by design. Always use:

```cfg
set leno:discord_webhook "..."
set leno:discord_images_webhook "..."
```

## Notify resource not working

Unknown `Config.Notify` values fall back to `'default'`. Use a supported value.

## Still stuck?

1. Confirm ensure order: oxmysql → ox\_lib → screenshot-basic → framework → leno\_reports
2. Confirm SQL imported
3. Enable `Config.Debug.enabled = true` temporarily and reproduce
4. Check F8 / server console for the first error line


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

```
GET https://docs.lenoscripts.com/scripts/lenoreports/faq-troubleshooting.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
