SKModeration icon

SKModeration -----

A lightweight staff plugin with all the player management essentials




Version: Version 1.1
I believe a lot of features on this are absolutely worthless. Your warning system 30d delete is a bad idea, most of this is glorified vanilla overrides. Vanish doesn't packethide
At least put the time to do your own ban system




--- Here's code I made for you, so you can improve this rushed system ---

options:
no_perm: &aYou can not execute this command!
never_joined: &cWe could not find the mentioned player (did not join)
offline: &cThe mentioned player is offline!
duration: &cSpecify a valid date difference /[???] &n<date difference>&c [???]
punished: &eThis user was already punished for this type. &n/check [their ign]


on connect:
if {banned::%uuid of player%} is "true":
if now is not more than {duration::%uuid of player%} after {datebanned::%uuid of player%}:
set {_dateend} to {duration::%uuid of player%} after {datebanned::%uuid of player%}
set {_dateend} to {_dateend} formatted as "MM.dd.yyyy - HH:mm:ss z"
kick player due to "You are banned until %{_dateend}%! Appeal at discord.io/lanced. Reason: %{reason::%uuid of player%}%"
loop all players:
if loop-player has permission "ban.recievealerts":
send "&e&l[PUNISHMENTS] &d%player% &ftried to join whilst banned" to loop-player
on chat:
if {muted::%uuid of player%} is "true":
if now is more than {muteduration::%uuid of player%} from {datemuted::%uuid of player%}:
set {_dateend} to {muteduration::%uuid of player%} from {datemuted::%uuid of player%}
set {_dateend} to {_dateend} formatted as "MM.dd.yyyy - HH:mm:ss z"
send "&cYou have been muted for %{muteduration::%uuid of player%}%. Moderator notes: ""%{mutereason::%uuid of player%}%."" You will be unmuted on %{_dateend}%"
cancel event
loop all players:
if loop-player has permission "mute.recievealerts":
send "&e&l[PUNISHMENTS] &d%player% &ftried to say &d%message% &fwhilst muted!" to loop-player
else:
cancel event
if player has permission "chat.white":
broadcast "%coloured {prefix::%uuid of player%}%%player% &8» &f%coloured message%"
else:
broadcast "%coloured {prefix::%uuid of player%}%%player% &8» &7%message%"
command /ban <text> <text> [<text>]:
usage: &cUsage: /ban [PLR] [DURATION] <reason>
permission: ban.command
permission message: {@no_perm}
trigger:
if executor is console:
set {player} to "CONSOLE"
else:
set {player} to "%coloured {prefix::%uuid of player%}%%player%"
if {uuid::%arg-1%} is set:
set {_dur} to arg-2
replace all "d" with " &fdays " in {_dur}
replace all "h" with " &fhours " in {_dur}
replace all "m" with " &fminutes " in {_dur}
replace all "s" with " &fseconds" in {_dur}
set {_dur} to arg-2 parsed as timespan
if {_dur} contains "&f":
replace all "&f" with "" in {_dur}
if {banned::%{uuid::%arg-1%}%} is not "true":
set {duration::%{uuid::%arg-1%}%} to coloured {_dur}
set {banned::%{uuid::%arg-1%}%} to "true"
set {_reason} to arg-3
if arg-3 is not set:
set {_reason} to "No reason specified."
if arg-3 is "-s":
set {_reason} to "No reason specified."
set {reason::%{uuid::%arg-1%}%} to {_reason}
if {_silent} is not "true":
loop all players:
if loop-player has permission "ban.mod":
send "&e&l[PUNISHMENTS] &d%{prefix::%{uuid::%arg-1%}%}%%arg-1 parsed as offline player% &fwas banned by &d%{player}% &ffor %{_dur}%. Reason: &d%{_reason}%" to loop-player
else:
send "&c&l%arg-1 parsed as offline player% has been removed from the server! &bThanks for reporting them." to loop-player
set {_p} to arg-1 parsed as player
if {_p} is online:
kick {_p} due to "&3Your account has been banned for %{_dur}%. Reason: %{_reason}%"
else:
send "{@punished}"
else:
send "{@duration}"
else:
send "{@never_joined}"
command /unban <text>:
aliases: /pardon
usage: &cUsage: /unban [Banned Player]
permission: ban.command
permission message: {@no_perm}
trigger:
if executor is console:
set {player} to "CONSOLE"
else:
set {player} to "%coloured {prefix::%uuid of player%}%%player%"
if {banned::%{uuid::%arg-1%}%} is "true":
delete {banned::%{uuid::%arg-1%}%}
loop all players:
if loop-player has permission "ban.mod":
send "&e&l[PUNISHMENTS] &d%{prefix::%{uuid::%arg-1%}%}%%arg-1 parsed as offline player% &fwas unbanned by &d%{player}%" to loop-player
else:
send "&a&l%arg-1 parsed as offline player%'s ban has been removed! &6GG to them" to loop-player
else:
send "&cUser not banned!"
on join:
set {uuid::%player%} to uuid of player
while player is online:
set {prefix::%uuid of player%} to placeholder "vault_prefix"

--- ---


Feel free to code your own mute system, but this is a very simple vanilla override

Version: Version 1.1
I don't like this script for a lot of reasons.

1. The punishments are basically just re-texted vanilla stuff. /ban is useless, it just adds messages to the vanilla bans

2. The mute system is just permaMute

3. Skript vanish is a bad idea, as hacks can easily bypass it.

4. No config

If you want a more reliable skript, I suggest ParosBans as it has TONS of config, and has a way better system.

The reports is also bad, as it just sends to mods. (ParosReports is a way better idea, it uses an ID based reporting that makes it way easier, and mods can handle reports in an organized way(: )

Staff-chat is fine.

The warning system is giving me a brain aneurysm.

So what do you think will happen if the script gets reloaded? Or someone gets warned late into the clear-phase.

> If you want to use this, that is fine, but that is my opinion, since you are basically pulling a DupeBlocks, and making mods jobs miserable

Resource Information
Author:
----------
Total Downloads: 128
First Release: Aug 7, 2023
Last Update: Aug 9, 2023
Category: ---------------
All-Time Rating:
2 ratings
Version -----
Released: --------------------
Downloads: ------
Version Rating:
----------------------
-- ratings