Jump to content

Better Reports v2 | An updated one!


Swayl

Recommended Posts

BETTER REPORTS (v2)

 

So I got bored, so I make a better version of my other report system. It's pretty cool. Here's some of its features:

1.) FULLY CUSTOMIZABLE EVERYTHING!

2.) GUI that logs all the reports, very nice. (picture 1)

3.) Ability to clear all the reports at once! (picture 2)

4.) When you right click a head, it gives 2 more features, Inform & Remove 

Inform: Informs the reporter that the staff is taking a look/investigating (picture 3)

Remove: Removes the report. (picture 4)

5.) Unlimited pages! very epic.

6.) Command cooldown for the annoying report spammers

( I have anxiety so atleast give me credits for using this system ;-; )

ENJOY!!

 

PICTURES

Picture 1Picture 2image.png.6a655c7e6be717f70e3424d7af23e630.png

image.png.e794dc5739e375f74195a079d945fd22.png

 

SCRIPT (82 lines)

options:
    mColor: &e                                  # Main Color
    sColor: &7                                  # Secondary Color
    staff: rank.staff                           # Staff permission
    no-perm: &cYou do not have permission.      # Message given to those who have no permission
    gui-name: &8Reports                         # Name of the reports gui (/reports)
    cmd-cooldown: 30 seconds                    # Command cooldown
    cd-msg: &7Please wait &c%remaining time%    # Command cooldown message
    prefix: &e[Server]                          # Prefix for the command

command /report [<offline player>] [<text>]:
    cooldown: {@cmd-cooldown}
    cooldown message: {@cd-msg}
    trigger:
        if arg-1 is not set:
            send "&cUsage: /report <player> <reason>"
        else:
            if arg-2 is not set:
                send "&cUsage: /report <player> <reason>"
            else:
                add arg-1 to {reports::list::*}
                set {reports::reason::%arg-1%} to arg-2
                set {reports::reporter::%arg-1%} to player
                
                send "{@prefix} {@sColor}You have reported {@mColor}%arg-1%&7. Please wait for response." 
                send "{@prefix} {@mColor}%player% {@sColor}has reported {@mColor}%arg-1%&7. Please check {@mColor}/reports{@sColor}." to all players where [input has permission "{@staff}"]

command /reports [<text>]:
    permission: {@staff}
    permission message: {@no-perm}
    trigger:
        send "{@prefix} {@sColor}Listing the reports...."
        wait a tick
        page(player, 0)

function page(p: player, page: number):
    set {_u} to uuid of {_p}
    set {_pageStart} to 45*{_page}
    set {_i} to 1
    set {_a} to 0
    open virtual chest inventory with size 6 named "{@gui-name} &7&o(Page %{_page}+1%&7&o)" to {_p}
    wait 2 ticks
    loop {reports::list::*}:
        (loop-index parsed as integer) > {_pageStart}
        set {_x} to loop-value
        format gui slot {_a} of {_p} with skull of ("%{_x}%" parsed as offline player) named "{@mColor}%{_x}%" with lore "{@sColor}Reporter: {@mColor}%{reports::reporter::%{_x}%}%", "{@sColor}Reason: {@mColor}%{reports::reason::%{_x}%}%" and "&7&oClick this for more!" to run:
            wait a tick
            feature({_p}, {_x})
        add 1 to {_a}
        if {_a} = ((45*{_i})):
            exit loop
    format gui slot 49 of {_p} with book named "{@mColor} Clear reports" to run:
        loop {reports::list::*}:
            delete {reports::reason::%loop-value%}
            delete {reports::reporter::%loop-value%}
        wait a tick
        clear {reports::list::*}
        page({_p}, 0)
    if (amount of {reports::list::*}) > {_pageStart} + 45:
        
        format gui slot 53 of {_p} with arrow named "{@mColor} Next Page" to run:
            set {_page} to {_page} + 1
            page({_p}, {_page})
    if {_page} > 0:
        format gui slot 45 of {_p} with arrow named "{@mColor}Previous Page" to run:
            set {_page} to {_page} - 1
            page({_p}, {_page})

function feature(p: player, report: offline player):
    wait a tick
    set {_e} to {_report}
    open virtual chest inventory with size 1 named "&8%{_e}%" to {_p}
    format gui slot 3 of {_p} with paper named "&aInform" with lore "&7Inform the reporter." to run:
        set {_player} to {reports::reporter::%{_e}%} parsed as offline player
        send "{@prefix} {@mColor}%{_p}% {@sColor}has seen your report and will investige. Please be patient." to {_p}
    format gui slot 5 of {_p} with barrier named "&cRemove" with lore "&7Remove the report." to run:
        remove {_report} from {reports::list::*}
        delete {reports::reporter::%{_report}%}
        delete {reports::reason::%{_report}%}
        page({_p}, 0)
    format gui slot 0 of {_p} with arrow named "&cGo back" to run:
        page({_p}, 0)

 

Edited by Swayl
  • Like 2

Things to know about me

• I have 2 years of skript experience

• I work on my servers all by myself
• I like being alone

• I have insane trust issues

• I simp for alot of people (trying my best not to)

• My mental age is somewhere 8

• I dont like meeting new people

• Very toxic

 

Discord Swayl#0099

MC IGN - Swayl

(I suggest avoiding me because I get too attached to people quick)

Link to comment
Share on other sites

If you got any suggestions, tell me 😄

 

Things to know about me

• I have 2 years of skript experience

• I work on my servers all by myself
• I like being alone

• I have insane trust issues

• I simp for alot of people (trying my best not to)

• My mental age is somewhere 8

• I dont like meeting new people

• Very toxic

 

Discord Swayl#0099

MC IGN - Swayl

(I suggest avoiding me because I get too attached to people quick)

Link to comment
Share on other sites

1 minute ago, Underachievers said:

I'd suggest this over mine any day of the week, I do have one suggestion though, make a command / subcommand that makes it so you can look at all of one person's reports.

I'll keep that on the list! and Thank you!

Things to know about me

• I have 2 years of skript experience

• I work on my servers all by myself
• I like being alone

• I have insane trust issues

• I simp for alot of people (trying my best not to)

• My mental age is somewhere 8

• I dont like meeting new people

• Very toxic

 

Discord Swayl#0099

MC IGN - Swayl

(I suggest avoiding me because I get too attached to people quick)

Link to comment
Share on other sites

6 hours ago, FadelessBanjo said:

Maybe you can add that the staff member teleports to where the report was done 

Adding that to my list too for Better Reports v3!

  • Like 1

Things to know about me

• I have 2 years of skript experience

• I work on my servers all by myself
• I like being alone

• I have insane trust issues

• I simp for alot of people (trying my best not to)

• My mental age is somewhere 8

• I dont like meeting new people

• Very toxic

 

Discord Swayl#0099

MC IGN - Swayl

(I suggest avoiding me because I get too attached to people quick)

Link to comment
Share on other sites

  • 2 months later...

You can overwrite your own Report.....
and ah User can only have one report, which can be overwritten...... 

That's way I created one today, be sure to check it out...
You can create multiple Reports for each user which gets listed nicely.....

 

Swayl, sry for editing your code 😘

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...