Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # -------------------------------
- #
- # ReportsX
- # Coded by xd0
- #
- # --------------------------------
- #======================================
- # DO NOT TOUCH THE FOLLOWING. THIS IS THE JUST DEFINING NEEDED OPTIONS.
- Variables:
- {reports.toggle} = true
- {reports.alerts.%player%} = true
- {Report.Debug} = true
- {playerReceiveCloseMessage.toggle} = true
- # This option is able to be changed. This is how much ReportX logs for admins. The only options here are:
- # LITE -> only logs the admin commands.
- # HEAVY -> logs everything [HIGHLY DO NOT RECOMMEND USING THIS, but hey...]
- #======================================
- #======================================
- # The following is the main configuration for the script.
- # The options are incredibly strict with how they are changed. If you are not exactly sure with the description of the option, check the page.
- Options:
- # This is the prefix for the script. It is recommended to have brackets, but that is your decision
- prefix: &8[&aReport&8]
- # This is the command of the script. This is what players will type in game.
- command: report
- # This is the permission for staff/moderators.
- perm: reports.see
- # This is the permission for Administrator and up. This is a dangerous permission to grant.
- adminperm: reports.admin
- # This is just the version of ReportX.
- version: 1.1.0
- # This option is able to be changed. This is how much ReportX logs for admins. The only options here are:
- # LITE -> only logs the admin commands.
- # HEAVY -> logs everything [HIGHLY DO NOT RECOMMEND USING THIS, but hey...]
- loggingrate: LITE
- # This is how many logged commands will be shown in the logs. Recommended is 25.
- loggingamount: 25
- # The following is the configuration for the messages.
- # If the option contains the prefix MSG, it is highly recommended you do not change it unless you know what you're doing.
- # If the option contains the prefix Message, no repercussions will occur if changed.
- DebugDisableBroadcastMSG: &b%{_p}% has disabled Debug Mode!
- DebugDisableMessage: &cYou just disabled Debug Mode!
- DebugEnableBroadcastMSG: &b%{_p}% has enabled Debug Mode!
- DebugEnableMessage: &aYou just enabled Debug Mode!
- ReportListMSG: &b%player% &7reported &b%{_player}% &7for &b%{_reason}%&7 at&b %{report.date::%player%}%
- FinishedReportMSG: You reported &c%{_player}% &7for &c%{_reason}%&7.
- ReportDisabledToggleMessage: &aYou have just toggled off alerts!
- ReportEnabledToggleMessage: &aYou have just toggled on alerts!
- NoPermissionMessage: &cYou do not have permission to use this command.
- ConfigurationMessage: &aConfiguration reloaded!
- CloseReportMessage: &aYou have just closed your report.
- NoReportListMessage: &cThere are currently no open reports.
- MustHaveReportMessage: &cYou must have an open report in order to close one!
- CheckReportMSG: &aYou are observing &e%arg-2%'s&a report!
- CheckReportBroadcastMSG: &b%event-player% is observing %arg-2%'s report!
- ConfigurationBroadcastMSG: &b%event-player% has reloaded the configuration!
- NotOnlinePlayerMessage: &cThe player you wanted to check is not online!
- NoOpenReportMessage: &cThat player does not have an open report!
- SpecifyCheckPlayerMessage: &cYou must specify a player!
- ClearedAllReportsMessage: &4You have just cleared all of the opened reports. This may cause issues with reporting players in the future.
- ClosedReportToReporterMessage: &cYour report was closed!
- ClosedReportToYouMSG: You closed the Report of &c%arg-2%.
- ClosedReportBroadcastMSG: &c%player% &7closed &c%{_player}%'s report.
- EnablePlayerReceiveReportBroadcastMSG: &b%{_p}% just toggled on closing report messages.
- EnablePlayerReceiveReportMessage: &aYou just toggled on closing report messages for players.
- DisablePlayerReceiveReportBroadcastMSG: &b%{_p}% just toggled off closing report messages.
- DisablePlayerReceiveReportMessage: &aYou just toggled off closing report messages for players.
- ClearLogsMessage: &4You just cleared the logs!
- NoLogsMessage: &cThere were not logs to be cleared.
- #======================================
- #====================
- # Note: This is my first ever public script. If you encounter any errors or issues, please contact me via Discord.
- # If you have any suggestions or feedback, leave a comment on the resource page.
- # My Discord - xd0#5822
- #====================
- #================================================
- command /{@command} [<text>] [<text>]:
- trigger:
- arg 1 is not set:
- player does not have permission "{@perm}":
- send "&6&m-----------------------------------------------------"
- send " &a&lReportsX"
- send " &7Coded by xd0"
- send ""
- send "&c/{@command} <Player> <Reason> &8- &7Report a Player."
- send "&c/{@command} close &8- &7Closes your open report."
- send ""
- send "&6&m-----------------------------------------------------"
- else:
- send "&6&m-----------------------------------------------------"
- send " &a&lReportsX"
- send " &7Coded by xd0"
- send ""
- send "&c/{@command} <Player> <Reason> &8- &7Report a Player."
- send "&c/{@command} check <Player> &8- &7Check a Report."
- send "&c/{@command} delete <Player> &8- &7Delete a report."
- send "&c/{@command} close &8- &7Closes your open report."
- send "&c/{@command} list&8- &7Lists currently opened reports."
- if player has permission "{@adminperm}":
- send "&c/{@command} admin&8- &7Opens the Admin Panel."
- send "&c/{@command} ver/version&8- &7Displays the version of ReportX."
- send "&c/{@command} toggle&8- &7Toggles whether you will receive alerts."
- send ""
- send "&6&m-----------------------------------------------------"
- arg 1 is not "check", "delete", "list", "admin", "clear", "reload", "toggle", "ver", "version", "logs" or "close":
- arg 2 is set:
- if {reports.%event-player%} is {reports::*}:
- send "{@prefix}&c You already opened a report."
- stop
- set {_player} to "%arg 1%" parsed as offline player
- set {_reason} to "%arg 2%" parsed as text
- set {report.date::%player%} to now
- set {reports.%player%} to "{@ReportListMSG}" parsed as string
- add {reports.%player%} to {reports::*}
- set {report::%player%::player} to {_player}
- set {report.commanduse.date} to now
- set {report.log} to "&b%event-player%&7 used &b/{@command} at %{report.commanduse.date}%"
- add {report.log} to {report.logs.heavy::*}
- send "{@prefix} {@FinishedReportMSG}"
- if {reports.toggle} is true:
- loop all players:
- loop-player has permission "{@perm}":
- if {reports.alerts.%loop-player%} is true:
- send "{@prefix} &7There is a new Report! &bNeeded: &9Staff-Member" to loop-player
- send "{@prefix} &c%player% &7reported &c%{_player}%&7 for &c%{_reason}%" to loop-player
- else:
- stop
- else:
- loop all players:
- loop-player has permission "{@perm}":
- send "{@prefix} &cReport alerts have been toggled off by an administrator!" to loop-player
- send "{@prefix} &cContact an administrator to toggle alerts on!" to loop-player
- else:
- send "{@prefix} Use &c/{@command} <Player> <Reason>"
- arg-1 is "logs":
- if player has permission "{@adminperm}":
- if arg-2 is not set:
- set {report.commanduse.date} to now
- set {report.log} to "&b%event-player%&7 used &b/{@command} logs at %{report.commanduse.date}%"
- add {report.log} to {report.logs.heavy::*}
- set {loggingrate} to "{@loggingrate}" parsed as text
- if {loggingrate} = "LITE":
- set {_mass} to size of {report.logs.lite::*}
- if {_mass} = 0:
- send "{@prefix} &cThere are currently no logs."
- else:
- send "&6&m-----------------------------------------------------"
- send "&4&l Reports&7- Page 1&e [LITE]"
- send ""
- set {_logs::*} to {report.logs.lite::*}
- loop {_logs::*}:
- add 1 to {_size}
- set {_log} to "%loop-value%"
- add {_log} to {logslist::*}
- send "%loop-value%"
- if {_size} = {@loggingamount}:
- stop
- else if {loggingrate} = "HEAVY":
- set {_mass} to size of {report.logs.heavy::*}
- if {_mass} = 0:
- send "{@prefix} &cThere are currently no logs."
- else:
- send "&6&m-----------------------------------------------------"
- send "&4&l Reports&7- Page 2&e [HEAVY]"
- send ""
- set {_logs::*} to {report.logs.heavy::*}
- loop {_logs::*}:
- add 1 to {_size}
- set {_log} to "%loop-value%"
- add {_log} to {logslist::*}
- send "%loop-value%"
- if {_size} = {@loggingamount}:
- stop
- else if arg-2 is "2":
- set {report.commanduse.date} to now
- set {report.log} to "&b%event-player%&7 used &b/{@command} logs at %{report.commanduse.date}%"
- add {report.log} to {report.logs.heavy::*}
- set {loggingrate} to "{@loggingrate}" parsed as text
- if {loggingrate} = "LITE":
- set {_mass} to size of {report.logs.lite::*}
- if {_mass} <= {@loggingamount}:
- send "&6&m-----------------------------------------------------"
- send "&4&l Reports&7- Page 2&e [LITE]"
- else:
- send "&6&m-----------------------------------------------------"
- send "&4&l Reports&7- Page 2&e [LITE]"
- send ""
- set {_logs::*} to {report.logs.lite::*}
- remove {logslist::*} from {_logs::*}
- loop {_logs::*}:
- add 1 to {_size}
- set {_log} to "%loop-value%"
- add {_log} to {logslist2::*}
- send "%loop-value%"
- if {_size} = {@loggingamount}:
- stop
- else if {loggingrate} = "HEAVY":
- set {_mass} to size of {report.logs.heavy::*}
- if {_mass} <= {@loggingamount}:
- send "&6&m-----------------------------------------------------"
- send "&4&l Reports&7- Page 2&e [HEAVY]"
- else:
- send "&6&m-----------------------------------------------------"
- send "&4&l Reports&7- Page 2&e [HEAVY]"
- send ""
- set {_logs::*} to {report.logs.heavy::*}
- remove {logslist::*} from {_logs::*}
- loop {_logs::*}:
- add 1 to {_size}
- set {_log} to "%loop-value%"
- add {_log} to {logslist2::*}
- send "%loop-value%"
- if {_size} = {@loggingamount}:
- stop
- else if arg-2 is "3":
- set {report.commanduse.date} to now
- set {report.log} to "&b%event-player%&7 used &b/{@command} logs at %{report.commanduse.date}%"
- add {report.log} to {report.logs.heavy::*}
- set {loggingrate} to "{@loggingrate}" parsed as text
- if {loggingrate} = "LITE":
- set {_mass} to size of {report.logs.lite::*}
- set {_newlogamount} to {@loggingamount} * 2
- if {_mass} <= {_newlogamount}:
- send "&6&m-----------------------------------------------------"
- send "&4&l Reports&7- Page 3&e [LITE]"
- else:
- send "&6&m-----------------------------------------------------"
- send "&4&l Reports&7- Page 3&e [LITE]"
- send ""
- set {_logs::*} to {report.logs.lite::*}
- remove {logslist2::*} from {_logs::*}
- loop {_logs::*}:
- add 1 to {_size}
- set {_log} to "%loop-value%"
- add {_log} to {logslist3::*}
- send "%loop-value%"
- if {_size} = {@loggingamount}:
- stop
- else if {loggingrate} = "HEAVY":
- set {_mass} to size of {report.logs.heavy::*}
- if {_mass} <= {_newlogamount}:
- send "&6&m-----------------------------------------------------"
- send "&4&l Reports&7- Page 3&e [HEAVY]"
- else:
- send "&6&m-----------------------------------------------------"
- send "&4&l Reports&7- Page 3&e [HEAVY]"
- send ""
- set {_logs::*} to {report.logs.heavy::*}
- remove {logslist2::*} from {_logs::*}
- loop {_logs::*}:
- add 1 to {_size}
- set {_log} to "%loop-value%"
- add {_log} to {logslist3::*}
- send "%loop-value%"
- if {_size} = {@loggingamount}:
- stop
- else if arg-2 is "4":
- set {report.commanduse.date} to now
- set {report.log} to "&b%event-player%&7 used &b/{@command} logs at %{report.commanduse.date}%"
- add {report.log} to {report.logs.heavy::*}
- set {loggingrate} to "{@loggingrate}" parsed as text
- if {loggingrate} = "LITE":
- set {_mass} to size of {report.logs.lite::*}
- set {_newlogamount} to {@loggingamount} * 3
- if {_mass} <= {_newlogamount}:
- send "&6&m-----------------------------------------------------"
- send "&4&l Reports&7- Page 4&e [LITE]"
- else:
- send "&6&m-----------------------------------------------------"
- send "&4&l Reports&7- Page 4&e [LITE]"
- send ""
- set {_logs::*} to {report.logs.lite::*}
- remove {logslist::*} from {_logs::*}
- loop {_logs::*}:
- add 1 to {_size}
- set {_log} to "%loop-value%"
- add {_log} to {logslist4::*}
- send "%loop-value%"
- if {_size} = {@loggingamount}:
- stop
- else if {loggingrate} = "HEAVY":
- set {_mass} to size of {report.logs.heavy::*}
- if {_mass} <= {_newlogamount}:
- send "&6&m-----------------------------------------------------"
- send "&4&l Reports&7- Page 4&e [HEAVY]"
- else:
- send "&6&m-----------------------------------------------------"
- send "&4&l Reports&7- Page 4&e [HEAVY]"
- send ""
- set {_logs::*} to {report.logs.heavy::*}
- remove {logslist::*} from {_logs::*}
- loop {_logs::*}:
- add 1 to {_size}
- set {_log} to "%loop-value%"
- add {_log} to {logslist4::*}
- send "%loop-value%"
- if {_size} = {@loggingamount}:
- stop
- arg-1 is "ver" or "version":
- if player has permission "{@adminperm}":
- set {report.commanduse.date} to now
- set {report.log} to "&b%event-player%&7 used &b/{@command} ver at %{report.commanduse.date}%"
- add {report.log} to {report.logs.heavy::*}
- send "{@prefix} &cYou are running ReportX version &b{@version}"
- arg-1 is "toggle":
- if player has permission "{@perm}":
- if {reports.alerts.%event-player%} = true:
- set {report.commanduse.date} to now
- set {report.log} to "&b%event-player%&7 turned off personal alerts at %{report.commanduse.date}%"
- add {report.log} to {report.logs.heavy::*}
- set {reports.alerts.%event-player%} to false
- send "{@prefix} {@ReportDisabledToggleMessage}"
- else:
- set {reports.alerts.%event-player%} to true
- set {report.commanduse.date} to now
- set {report.log} to "&b%event-player%&7 turned on personal alerts at %{report.commanduse.date}%"
- add {report.log} to {report.logs.heavy::*}
- send "{@prefix} {@ReportEnabledToggleMessage}"
- else:
- send "{@NoPermissionMessage}"
- arg-1 is "list":
- if player has permission "{@perm}":
- set {report.commanduse.date} to now
- set {report.log} to "&b%event-player%&7 used &b/{@command} list at %{report.commanduse.date}%"
- add {report.log} to {report.logs.heavy::*}
- if {reports::*} is set:
- loop {reports::*}:
- send "%loop-value%"
- else:
- send "{@prefix} {@NoReportListMessage}"
- else:
- send "{@NoPermissionMessage}"
- arg-1 is "close":
- if {reports.%event-player%} is {reports::*}:
- set {report.commanduse.date} to now
- set {report.log} to "&b%event-player%&7 used &b/{@command} close at %{report.commanduse.date}%"
- add {report.log} to {report.logs.heavy::*}
- delete {report::%player%}
- remove {reports.%event-player%} from {reports::*}
- send "{@prefix} {@CloseReportMessage}"
- else:
- send "{@prefix} {@MustHaveReportMessage}"
- arg-1 is "clear":
- if player has permission "{@adminperm}":
- clear {reports::*}
- send "{@prefix} {@ClearedAllReportsMessage}"
- set {report.commanduse.date} to now
- set {report.log} to "&b%event-player%&7 used &b/{@command} clear at %{report.commanduse.date}%"
- add {report.log} to {report.logs.lite::*}
- add {report.log} to {report.logs.heavy::*}
- execute player command "/report admin"
- else:
- send "{@NoPermissionMessage}"
- arg-1 is "check":
- if player has permission "{@perm}":
- if arg-2 is set:
- if {reports.%arg-2%} is {reports::*}:
- if {report::%arg-2%::player} is online:
- teleport event-player to {report::%arg-2%::player}
- execute player command "/v"
- remove {reports.%arg-2%} from {reports::*}
- set {report.commanduse.date} to now
- set {report.log} to "&b%event-player%&7 used &b/{@command} check at %{report.commanduse.date}%"
- add {report.log} to {report.logs.heavy::*}
- send "{@prefix} {@CheckReportMSG}"
- loop all players:
- if loop-player has permission "{@perm}":
- send "{@prefix} {@CheckReportBroadcastMSG}" to loop-player
- else:
- stop loop
- else:
- send "{@prefix} {@NotOnlinePlayerMessage}"
- else:
- send "{@prefix} {@NoOpenReportMessage}"
- else:
- send "{@prefix} {@SpecifyCheckPlayerMessage}"
- else:
- send "{@NoPermissionMessage}"
- arg-1 is "reload":
- if player has permission "{@adminperm}":
- if {Report.Debug} is true:
- set {report.commanduse.date} to now
- set {report.log} to "&b%event-player%&7 used &b/{@command} reload at %{report.commanduse.date}%"
- add {report.log} to {report.logs.lite::*}
- add {report.log} to {report.log.heavy::*}
- send "{@prefix} &4&lDEBUG MODE ENABLED: &cConfiguration reloading. May cause a lag spike..."
- execute player command "/skript reload ReportX"
- wait 5 ticks
- send "{@prefix} {@ConfigurationMessage}"
- loop all players:
- if loop-player has permission "{@perm}":
- send "{@prefix} {@ConfigurationBroadcastMSG}" to loop-player
- execute player command "/report admin"
- else if {Report.Debug} is false:
- set {report.commanduse.date} to now
- set {report.log} to "&b%event-player%&7 used &b/{@command} reload at %{report.commanduse.date}%"
- add {report.log} to {report.logs.lite::*}
- add {report.log} to {report.log.heavy::*}
- send "{@prefix} &4&lDEBUG MODE DISABLED: &cConfiguration reloading. May cause a lag spike..."
- execute console command "/skript reload ReportX"
- wait 5 ticks
- send "{@prefix} {@ConfigurationMessage}"
- loop all players:
- if loop-player has permission "{@perm}":
- send "{@prefix} {@ConfigurationBroadcastMSG}" to loop-player
- execute player command "/report admin"
- else:
- send "{@NoPermissionMessage}"
- arg 1 is "delete":
- player has permission "{@perm}":
- arg 2 is set:
- if {reports.%arg-2%} is {reports::*}:
- set {_player} to "%arg 2%" parsed as offline player
- remove {reports.%arg-2%} from {reports::*}
- set {report.commanduse.date} to now
- set {report.log} to "&b%event-player%&7 used &b/{@command} delete at %{report.commanduse.date}%"
- add {report.log} to {report.logs.heavy::*}
- if {playerReceiveCloseMessage.toggle} = true:
- send "{@prefix} {@ClosedReportToReporterMessage}" to {_player}
- send "{@prefix} {@ClosedReportToYouMSG}"
- loop all players:
- loop-player has permission "{@perm}":
- send "{@prefix} {@ClosedReportBroadcastMSG}" to loop-player
- else:
- send "{@prefix} {@NoOpenReportMessage}"
- else:
- send "{@prefix} {@SpecifyCheckPlayerMessage}"
- else:
- send "{@NoPermissionMessage}"
- arg-1 is "admin":
- if player has permission "{@adminperm}":
- set {report.commanduse.date} to now
- set {report.log} to "&b%event-player%&7 used &b/{@command} admin at %{report.commanduse.date}%"
- add {report.log} to {report.logs.lite::*}
- add {report.log} to {report.logs.heavy::*}
- open virtual chest inventory with 5 rows named "{@prefix} &c&lAdmin Panel" to player
- create gui slot 10 of player with locked chest:13 named "&a&lReload&7 the Configuration" with lore "&8Fully reloads all options in the config file." to close then run player command "/report reload"
- create gui slot 13 of player with redstone block named "&c&lClear&7 opened reports" with lore "&8Clears all currently opened reports." to close then run player command "/report clear"
- create gui slot 16 of player with clay ball named "&a&lToggle&7 debug-mode" with lore "&8Debug mode is currently %{debug}%." to close then run function toggleDebug(Player)
- create gui slot 31 of player with book named "&4&lClear&7 all command logs" with lore "&8Logs were last cleared by &c%{logs.clearer}%&7 at &c%{logs.cleardate}%." to close then run function clearLogs(Player)
- create gui slot 28 of player with redstone torch on named "&a&lToggle&7 in-game alerts" with lore "&8In-Game Alerts are currently %{reports.toggle}%" to close then run function toggleAlerts(Player)
- create gui slot 34 of player with paper named "&a&lToggle&7 closing report messages" with lore "&8Players getting reports are currently %{playerReceiveCloseMessage.toggle}%" to close then run function toggleCloseReportMessage(Player)
- else:
- send "{@NoPermissionMessage}"
- #===============================================
- #=============================================== Admin Panel Script
- function clearLogs(p: player):
- if {report.logs.lite::*} is set:
- clear {report.logs.lite::*}
- set {logs.clearer} to {_p}
- set {logs.cleardate} to now
- send "{@prefix} {@ClearLogsMessage}" to {_p}
- else:
- send "{@prefix} {@NoLogsMessage}" to {_p}
- function toggleDebug(p: player):
- if {Report.Debug} is true:
- set {Report.Debug} to false
- set {debug} to "&cDisabled" parsed as string
- set {report.commanduse.date} to now
- set {report.log} to "&b%{_p}%&7 disabled debug mode at %{report.commanduse.date}%"
- add {report.log} to {report.logs.lite::*}
- send "{@prefix} {@DebugDisableMessage}" to {_p}
- loop all players:
- if loop-player has permission "{@perm}":
- send "{@prefix} {@DebugDisableBroadcastMSG}" to loop-player
- else if {Report.Debug} is false:
- set {Report.Debug} to true
- set {debug} to "&aEnabled" parsed as string
- set {report.commanduse.date} to now
- set {report.log} to "&b%{_p}%&7 enabled debug mode at %{report.commanduse.date}%"
- add {report.log} to {report.logs.lite::*}
- send "{@prefix} {@DebugEnableMessage}" to {_p}
- loop all players:
- if loop-player has permission "{@perm}":
- send "{@prefix} {@DebugEnableBroadcastMSG}" to loop-player
- function toggleAlerts(p: player):
- if {reports.toggle} is true:
- set {reports.toggle} to false
- set {report.commanduse.date} to now
- set {report.log} to "&b%{_p}%&7 turned off alerts at %{report.commanduse.date}%"
- add {report.log} to {report.logs.lite::*}
- send "{@prefix} &4You have just turned off all in-game report alerts. To re-enable them, go into the admin panel and click toggle alerts." to {_p}
- execute {_p} command "/report admin"
- else if {reports.toggle} is false:
- set {reports.toggle} to true
- set {report.commanduse.date} to now
- set {report.log} to "&b%{_p}%&7 turned on alerts at %{report.commanduse.date}%"
- add {report.log} to {report.logs.lite::*}
- send "{@prefix} &aYou have just turned on all in-game report alerts. It is highly recommended to keep this setting on." to {_p}
- execute {_p} command "/report admin"
- function toggleCloseReportMessage(p: player):
- if {playerReceiveCloseMessage.toggle} is true:
- set {playerReceiveCloseMessage.toggle} to false
- set {report.commanduse.date} to now
- set {report.log} to "&b%{_p}%&7 turned off report messages at %{report.commanduse.date}%"
- add {report.log} to {report.logs.lite::*}
- send "{@prefix} {@DisablePlayerReceiveReportMessage}" to {_p}
- loop all players:
- if loop-player has permission "{@perm}":
- send "{@prefix} {@DisablePlayerReceiveReportBroadcastMSG}" to loop-player
- else:
- set {playerReceiveCloseMessage.toggle} to true
- set {report.commanduse.date} to now
- set {report.log} to "&b%{_p}%&7 turned off report messages at %{report.commanduse.date}%"
- add {report.log} to {report.logs.lite::*}
- send "{@prefix} {@EnablePlayerReceiveReportMessage}" to {_p}
- loop all players:
- if loop-player has permission "{@perm}":
- send "{@prefix} {@EnablePlayerReceiveReportBroadcastMSG}" to loop-player
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement