PunishmentGUI - 2.8.sk

Created by Jakaboii

Other available versions. Ordered by newest to oldest versions:

Just so you know, we don't know the file format for every file. If it's just a bunch of random characters, it's probably a .zip or .jar.

# PunishmentGUI coded by Jakaboii#6818
# If you have any issues contact me through the Support Server https://discord.gg/KNwJrd2
# DO NOT post any issues in reviews, support will only be given on the Discord Server & I won't fix issues posted there
# If you have any suggestions then leave them in the suggestions channel on the Discord Server
# Please leave a rating with your honest opinion as it helps me make the skript better!

on load:
    send "&aEnabling &fPunishementGUI 2.8&a..." to console
    send "&aDon't forget to leave a 5 star review on spigot!" to console
    send "&aSuccessfully enabled &fPunishementGUI 2.8&a!" to console

# =======================================================
# |                                                     |
# |                 PUNISHMENT COMMAND                  |
# |                                                     |
# =======================================================

command /punish [<offline player>] [<text>]:
    permission: punish.command
    permission message: "&cInsufficient Permissions"
    trigger:
        if arg-1 is not set:
            send "&8========={ &4&lPunishmentGUI Help &8}=========" to player
            send "&c/punish <player> <reason> &7- &fOpens a PunishmentGUI to help punish players" to player
            send "&c/punish example &7- &fSends an example of the command"
            send "&c/punish reload &7- &fReloads the Skript" to player
            send "&8========={ &4&lPermissions &8}=========" to player
            send "&c/punish &7- &fRequires punish.command" to player
            send "&c/punish reload &7- &fRequires skript.admin"
            send "&8========={ &4&lNOTE &8}=========" to player
            send "&cYou &c&lMUST &chave a punishment plugin pre-installed" to player
            send "&cOr this plugin &c&lWILL NOT WORK!" to player
            send "&8========={ &7PunishmentGUI v2.8 &8}=========" to player
        if arg-1 is set:
            if arg-1 is "reload":
                execute player command "sk reload PunishmentGUI - 2.8.sk"
            if arg-1 is "example":
                send "&8========={ &4&lPunishmentGUI Example &8}=========" to player
                send "&c/punish Player Combat Hacks" to player
                send " " to player
                send "&fUse &c/punish help &ffor more info"
                send "&8========={ &7PunishmentGUI v2.8 &8}=========" to player
            if arg-2 is set:
                set {_offender} to arg-1
                set {_reason} to arg-2
                create gui with id "MAIN" with virtual chest with 6 rows named "&4&lPunishmentGUI":
                    make gui 4 with glowing book and quill named "&4Player: &c&l%arg-1% &4Reason: &c&l%arg-2%"
                    make gui 19 with book named "&4&lSilent Punishment":
                        silentpunish(player, {_offender}, {_reason})
                    make gui 21 with book named "&4&lPublic Punishment":
                        publicpunish(player, {_offender}, {_reason})
                    make gui 23 with book named "&4&lUnpunish":
                        unpunish(player, {_offender})
                    make gui 25 with book named "&4&lHistory":
                        execute player command "/history %{_offender}%"
                        close the player's inventory
                    make gui 49 with ender pearl named "&c&lExit":
                        close the player's inventory
                    loop 49 times:
                        make next gui with black stained glass pane named " "
                open last gui to player

# =======================================================
# |                                                     |
# |             SILENT PUNISHMENT FUNCTIONS             |
# |                                                     |
# =======================================================

function silentpunish(player: player, offender: offline player, reason: text):
    wait 1 tick
    create gui with id "SILENTPUNISH" with virtual chest with 6 rows named "&c&lSilent Punishment":
        make gui 4 with glowing book and quill named "&4Player: &c&l%{_offender}% &4Reason: &c&l%{_reason}%"
        make gui 19 with paper named "&cSilent Ban":
            silentpunishTime(player, {_offender}, "ban", {_reason})
        make gui 21 with paper named "&cSilent Kick":
            execute {_player} command "kick -s %{_offender}% %{_reason}%"
            close the player's inventory
        make gui 23 with paper named "&cSilent Mute":
            silentpunishTime(player, {_offender}, "mute", {_reason})
        make gui 25 with paper named "&cSilent Warn":
            execute {_player} command "warn -s %{_offender}% %{_reason}%"
            close the player's inventory
        make gui 45 with arrow named "&c&lBack":
            open gui "MAIN" to player
        make gui 49 with ender pearl named "&c&lExit":
            close the player's inventory
        loop 47 times:
            make next gui with black stained glass pane named " "
    open last gui to {_player}

function silentpunishTime(player: player, offender: offline player, type: string, reason: text):
    wait 1 tick
    create gui with id "SILENTTIME" with virtual chest with 6 rows named "&c&lPunishment Time":
        make gui 4 with glowing book and quill named "&4Player: &c&l%{_offender}% &4Type: &c&l%{_type}%"
        make gui 12 with paper named "&c15 Minutes":
            execute {_player} command "%{_type}% -s %{_offender}% 15minutes %{_reason}%"
            close the player's inventory
        make gui 13 with paper named "&c30 Minutes":
            execute {_player} command "%{_type}% -s %{_offender}% 30minutes %{_reason}%"
            close the player's inventory
        make gui 14 with paper named "&c1 Hour":
            execute {_player} command "%{_type}% -s %{_offender}% 1hour %{_reason}%"
            close the player's inventory
        make gui 21 with paper named "&c12 Hours":
            execute {_player} command "%{_type}% -s %{_offender}% 12hours %{_reason}%"
            close the player's inventory
        make gui 22 with paper named "&c24 Hours":
            execute {_player} command "%{_type}% -s %{_offender}% 24hours %{_reason}%"
            close the player's inventory
        make gui 23 with paper named "&c7 Days":
            execute {_player} command "%{_type}% -s %{_offender}% 7days %{_reason}%"
            close the player's inventory
        make gui 30 with paper named "&c30 Days":
            execute {_player} command "%{_type}% -s %{_offender}% 30days %{_reason}%"
            close the player's inventory
        make gui 31 with paper named "&c1 Year":
            execute {_player} command "%{_type}% -s %{_offender}% 1year %{_reason}%"
            close the player's inventory
        make gui 32 with paper named "&cPermanent":
            execute {_player} command "%{_type}% -s %{_offender}% %{_reason}%"
            close the player's inventory
        make gui 45 with arrow named "&c&lBack":
            open gui "SILENTPUNISH" to player
        make gui 49 with ender pearl named "&c&lExit":
            close the player's inventory
        loop 42 times:
            make next gui with black stained glass pane named " "
    open last gui to {_player}

# =======================================================
# |                                                     |
# |             PUBLIC PUNISHMENT FUNCTIONS             |
# |                                                     |
# =======================================================

function publicpunish(player: player, offender: offline player, reason: text):
    wait 1 tick
    create gui with id "PUBLICPUNISH" with virtual chest with 6 rows named "&c&lPublic Punishment":
        make gui 4 with glowing book and quill named "&4Player: &c&l%{_offender}% &4Reason: &c&l%{_reason}%"
        make gui 19 with paper named "&cPublic Ban":
            publicpunishTime(player, {_offender}, "ban", {_reason})
        make gui 21 with paper named "&cPublic Kick":
            execute {_player} command "warn %{_offender}% %{_reason}%"
            close the player's inventory
        make gui 23 with paper named "&cPublic Mute":
            publicpunishTime(player, {_offender}, "mute", {_reason})
        make gui 25 with paper named "&cPublic Warn":
            execute {_player} command "warn %{_offender}% %{_reason}%"
            close the player's inventory
        make gui 45 with arrow named "&c&lBack":
            open gui "MAIN" to player
        make gui 49 with ender pearl named "&c&lExit":
            close the player's inventory
        loop 47 times:
            make next gui with black stained glass pane named " "
    open last gui to {_player}

function publicpunishTime(player: player, offender: offline player, type: string, reason: text):
    wait 1 tick
    create gui with id "PUBLICTIME" with virtual chest with 6 rows named "&c&lPunishment Time":
        make gui 4 with glowing book and quill named "&4Player: &c&l%{_offender}% &4Type: &c&l%{_type}%"
        make gui 12 with paper named "&c15 Minutes":
            execute {_player} command "%{_type}% %{_offender}% 15minutes %{_reason}%"
            close the player's inventory
        make gui 13 with paper named "&c30 Minutes":
            execute {_player} command "%{_type}% %{_offender}% 30minutes %{_reason}%"
            close the player's inventory
        make gui 14 with paper named "&c1 Hour":
            execute {_player} command "%{_type}% %{_offender}% 1hour %{_reason}%"
            close the player's inventory
        make gui 21 with paper named "&c12 Hours":
            execute {_player} command "%{_type}% %{_offender}% 12hours %{_reason}%"
            close the player's inventory
        make gui 22 with paper named "&c24 Hours":
            execute {_player} command "%{_type}% %{_offender}% 24hours %{_reason}%"
            close the player's inventory
        make gui 23 with paper named "&c7 Days":
            execute {_player} command "%{_type}% %{_offender}% 7days %{_reason}%"
            close the player's inventory
        make gui 30 with paper named "&c30 Days":
            execute {_player} command "%{_type}% %{_offender}% 30days %{_reason}%"
            close the player's inventory
        make gui 31 with paper named "&c1 Year":
            execute {_player} command "%{_type}% %{_offender}% 1year %{_reason}%"
            close the player's inventory
        make gui 32 with paper named "&cPermanent":
            execute {_player} command "%{_type}% %{_offender}% %{_reason}%"
            close the player's inventory
        make gui 45 with arrow named "&c&lBack":
            open gui "PUBLICPUNISH" to player
        make gui 49 with ender pearl named "&c&lExit":
            close the player's inventory
        loop 42 times:
            make next gui with black stained glass pane named " "
    open last gui to {_player}

# =======================================================
# |                                                     |
# |                 UNPUNISH FUNCTIONS                  |
# |                                                     |
# =======================================================

function unpunish(player: player, offender: offline player):
    wait 1 tick
    create gui with id "UNPUNISH" with virtual chest with 6 rows named "&c&lUnpunish":
        make gui 4 with glowing book and quill named "&4Player: &c&l%{_offender}%"
        make gui 20 with paper named "&cUnban":
            execute {_player} command "unban -s %{_offender}%"
            close the player's inventory
        make gui 22 with paper named "&cUnmute":
            execute {_player} command "unmute -s %{_offender}%"
            close the player's inventory
        make gui 24 with paper named "&cUnwarn":
            execute {_player} command "unwarn -s %{_offender}%"
            close the player's inventory
        make gui 45 with arrow named "&c&lBack":
            open gui "MAIN" to player
        make gui 49 with ender pearl named "&c&lExit":
            close the player's inventory
        loop 47 times:
            make next gui with black stained glass pane named " "
    open last gui to {_player}