Introduction
Enhanced Report Handler is a script for FiveM servers which helps server staff deal with player reports in an organized way.
This script is fully dynamic and you can customize almost everything as you wish.
UI Show Case
How to use
Players may issue a command as shown below in order to open report menu.
/report
In order to cancel your report, you can simply type /cancelreport
or just type in /report
command and click on cancel report command
Whenever a new report is submitted, staff members who have the access to answer the report type, will get notified as shown below
Server staff will have to use /reports
in order to see a list of active reports and use /ar [Report ID]
to accept a report and /cr
to close it.
Staff can also use /VR [Report ID]
to see the content of a report
The player who started a report and the staff member who’s answering it may chat directly with the command /rd [Message]
Features
Customizability
This script is fully customizable and you can change nearly everything in the config.lua file such as commands, settings, etc.
Discord
You can link your reports to a channel in your discord server if you want the script to send messages in the discord channel as shown below
Whenever someone submits, cancels, closes or accepts a report the script will send a message containing the details.
Report Types
There are 3 report types by default, you can change them and add more if you want.
There’s also an option to manage who can access each type of report.
- Report Type 1: Rule break report
- Report Type 2: Bug report
- Report Type 3: Questions
Extra Options
There are some extra options for you to use as you want:
-
Report Cooldowns: You can set cooldowns for Reporting
Default: 120 seconds
-
Report Idle: Reports will get closed automatically if not answered for a period of time
Default: 10 minutes
-
Minimum Length: The minimum amount of characters have to write in reason to submit report
Default: 5 characters
-
Maximum Length: The maximum amount of characters players can write in reason
Default: 75 characters
-
Notify Report Idle Close: Notifies staff when a report gets automatically closed
Default: Enabled
-
Notify Cancel: Notifies staff when a player cancels his/her report
Default: Enabled
-
Notify Close: Notifies staff when a staff member closes a report
Default: Enabled
-
Close Report On Leave: Closes player’s report if the player leaves the server
Default: Disabled
-
Blur Background: Makes game interface blur when report UI opens
Default: Enabled
-
Notify Close Report On Leave: if
Close Reports on Leave
is enabled, notifies the staff if a report gets closed because the player who initiated the report left the server.
Default: Disabled
Other Features
-
Supports onesync/onesync legacy
-
No vulnerable triggers (Even if executors trigger events directly can’t do anything but submit a
report with given cooldown interval set in config) -
Optimized and no client/server-side usage of more than 0.01 ms
-
User friendly UI for submit/cancel reports
-
Highly configurable locale file you can even change UI texts without any programming knowledge just by editing the locale file
-
Every single command exist within this script can be changed through config
Discord WebHooks
Discord WebHooks allows this script to send messages directly to a channel in your Discord server.
To use it, go to config.lua file and change API Master Switch to True, then head down put your WebHook in the Config.WebHooks section between the double quotations
You can set different channels for each action.
API (For Developers)
Summary
In this section, I want to show you how Enhanced Report Handler’s API works.
We use an Object in our API which is called Data
by default which contains the following information:
An object containing the report issuer’s information
issuer = { id = issuer id, identifier = issuer identifier }
Name of the player who issued the report
name = issuer name
Report’s current ID in the list
rid = Report current ID
Report type based on your config.lua file
type = report type
Report message
content = message
A nullable object which only exists if an staff member accepts a report and it contains responder’s server ID, name and identifier
?responder = {name = responder name, id = responder id, identifier = responder identifier}
A nullable object which only exists if a staff member closes a report and it contains closer’s server ID, name, and identifier
?closer {name = closer name, id = closer id, identifier = closer identifier}
Events
Summary
There are several events, we will see when each of them triggers
onReportSubmit
Triggers when a player submits a new report
onReportAccept
Triggers when a staff member accepts a report
onReportClose
Triggers when a staff member closes an open report
onReportCancel
Triggers when the report issuer cancels his/her own report
Dependencies
- ESX
Terms of Service
By purchasing our script you accept these Terms of Service:
- You must not resell or share this script
- You must not transfer the files to another person or upload them somewhere else
- Rsource is obfuscated by escrew and any attempt for accessing source code is not allowed
- You must not Modify/Edit/Copy/Use this script for any commercial purposes!
- You must not remove ANY Copyright trademark!
Code is accessible | Partial (modules and HTML only) |
Subscription-based | No |
Lines (approximately) | 1100 |
Requirements | ESX |
Support | Yes |