Jump to content

Some Free Skripts


Rodney_RWR

Recommended Posts

Haven't been on the forums in a long time so here's some skripts, a range of simple to advanced skripts!

All skripts require:
SkBee

Skript-Placeholders

SkQuery

 


Chat colours skript:
All chat colours are saved in variables and are set via a command.
You can use traditional colours codes (&4) or hex codes (#ff0000) you can use &l (bold) but no other formatting
 

command /cc [<text>] [<text>]:
    aliases: /chatcolor, /chatcolour
    permission: staff.cc
    trigger:
        if arg-1 is not set:
            send "Usage: /cc <rank> <hex code>"
        else:
            if arg-2 is not set:
                send "Usage: /cc %arg-1% <hex code>"
            else:
                if arg-2 contains "&":
                    set {%arg-1%.color} to arg-2
                    send "Chat color for %arg-1% set to %coloured arg-2%%arg-2%"
                else if arg-2 does not contain "##":
                    set {%arg-1%.color} to "##%arg-2%"
                    send coloured "Chat color for %arg-1% set to <##%arg-2%>##%uncoloured arg-2%"
                else:
                    set {%arg-1%.color} to arg-2
                    send coloured "Chat color for %arg-1% set to <%arg-2%>%uncoloured arg-2%"
                
on chat:
    set {_rank} to placeholder "%%luckperms_highest_group_by_weight%%" of player
    set {_color} to {%{_rank}%.color}
    if {_color} contains "##":
        if {_color} contains "&l":
            replace all "&l" in {_color} with "e"
            set {_color} to "<%{_color}%>"
        else:
            set {_color} to "<%{_color}%>"
    else:
        set {_color} to "%{_color}%"
    replace all message with "%coloured {_color}%%uncoloured message%" in message

 

Staff Chat (Bungeecord/velocity multiserver)
This is a Staff Chat Skript that is made for bungeecord, put it on all of your servers and install the "ZulfBungee" skript addon

(1 server version below) 

Use /staffchat to toggle it or put a $ in front of your message to quickly send it

Logs messages to a file (/plugins/skript/logs/serverlogs/staffchat/staffchat.log)

options:
    prefix: <##f50bd0>&lS<##f53eda>&lC <##f50bd0>»


function removeFirst(num: integer, msg: text) :: text:
    return subtext of {_msg} from characters {_num} to (length of {_msg})

on join:
    if {sctoggled::%player's uuid%} is not set:
        set {sctoggled::%player's uuid%} to "false"

command /staffchat:
    aliases: /sc
    permission: staff.chat
    trigger:
        if {sctoggled::%player's uuid%} is "false":
            set {sctoggled::%player's uuid%} to "true"
            send "%{@prefix}% &fStaff Chat &aEnabled&f (Use $Hello! to quickly speak)." to player
        else if {sctoggled::%player's uuid%} is "true":
            set {sctoggled::%player's uuid%} to "false"
            send "%{@prefix}% &fStaff Chat &cDisabled&f (Use $Hello! to quickly speak)." to player
            

on chat:
    if player has permission "staff.chat":
        set {_prefix} to placeholder "%%luckperms_prefix%%" of player
        #Un comment these lines if you use hex codes in your prefixes
        #replace all "&##" in {_prefix} with "<##"
        #replace all (first 12 characters of {_prefix}) in {_prefix} with "%first 12 characters of {_prefix}%>"
        set {_name} to placeholder "%%player_name%%" of player
        if {sctoggled::%player's uuid%} is "true":
            if uncolored message starts with "$":
                replace first "$" in message with ""
                cancel event
                set {_prefix} to placeholder "%%luckperms_prefix%%" of player
                if {_prefix} contains "&##":
                    replace all "&##" in {_prefix} with "<##"
                    replace all (first 12 characters of {_prefix}) in {_prefix} with "%first 12 characters of {_prefix}%>"
                    set {_prefix} to colored {_prefix}
                set {_name} to placeholder "%%player_name%%" of player
                loop all of the bungeecord players:
                    if loop-proxyplayer has permission "staff.chat":
                        proxy message loop-proxyplayer the message "%{@prefix}% &7[%this proxy server%] &r%uncolored {_prefix}%%{_name}%&f: &r%coloured message%"
                        set {chat.%player%} to now
                        set {_ranky} to placeholder "vault_group" of player
                        log "[%{chat.%player%}%] [%this proxy server%] %{_ranky}% %player%: %uncolored message%" to "serverlogs/staffchat/staffchat.log"
            else:
                cancel event
                set {_prefix} to placeholder "%%luckperms_prefix%%" of player
                if {_prefix} contains "&##":
                    replace all "&##" in {_prefix} with "<##"
                    replace all (first 12 characters of {_prefix}) in {_prefix} with "%first 12 characters of {_prefix}%>"
                    set {_prefix} to colored {_prefix}
                set {_name} to placeholder "%%player_name%%" of player
                loop all of the bungeecord players:
                    if loop-proxyplayer has permission "staff.chat":
                        proxy message loop-proxyplayer the message %{@prefix}% &7[%this proxy server%] &r%colored {_prefix}%%{_name}%&f: &r%coloured message%"
                        set {chat.%player%} to now
                        set {_ranky} to placeholder "vault_group" of player
                        log "[%{chat.%player%}%] [%this proxy server%] %{_ranky}% %player%: %uncolored message%" to "serverlogs/staffchat/staffchat.log"
                        
                        
                        
        else if uncoloured message starts with "$":
            set {_prefix} to placeholder "%%luckperms_prefix%%" of player
            if {_prefix} contains "&##":
                replace all "&##" in {_prefix} with "<##"
                replace all (first 12 characters of {_prefix}) in {_prefix} with "%first 12 characters of {_prefix}%>"
                set {_prefix} to colored {_prefix}
            set {_name} to placeholder "%%player_name%%" of player
            
            if message is not "$":
                cancel event
            replace first "$" in message with ""
            loop all of the bungeecord players:
                if loop-proxyplayer has permission "staff.chat":
                    
                    proxy message loop-proxyplayer the message "%{@prefix}% &7[%this proxy server%] &r%colored {_prefix}%%{_name}%&f: &r%coloured message%"
                    set {chat.%player%} to now
                    set {_ranky} to placeholder "vault_group" of player
                    log "[%{chat.%player%}%] [%this proxy server%] %{_ranky}% %player%: %uncolored message%" to "serverlogs/staffchat/staffchat.log"

Staff Chat (1 Server Version)
Same as above but only works on 1 server, no extra install required
 

options:
    prefix: <##f50bd0>&lS<##f53eda>&lC <##f50bd0>»


function removeFirst(num: integer, msg: text) :: text:
    return subtext of {_msg} from characters {_num} to (length of {_msg})

on join:
    if {sctoggled::%player's uuid%} is not set:
        set {sctoggled::%player's uuid%} to "false"

command /staffchat:
    aliases: /sc
    permission: staff.chat
    trigger:
        if {sctoggled::%player's uuid%} is "false":
            set {sctoggled::%player's uuid%} to "true"
            send "%{@prefix}% &fStaff Chat &aEnabled&f (Use $Hello! to quickly speak)." to player
        else if {sctoggled::%player's uuid%} is "true":
            set {sctoggled::%player's uuid%} to "false"
            send "%{@prefix}% &fStaff Chat &cDisabled&f (Use $Hello! to quickly speak)." to player
            

on chat:
    if player has permission "staff.chat":
        set {_prefix} to placeholder "%%luckperms_prefix%%" of player
        #Un comment these lines if you use hex codes in your prefixes
        #replace all "&##" in {_prefix} with "<##"
        #replace all (first 12 characters of {_prefix}) in {_prefix} with "%first 12 characters of {_prefix}%>"
        set {_name} to placeholder "%%player_name%%" of player
        if {sctoggled::%player's uuid%} is "true":
            if uncolored message starts with "$":
                replace first "$" in message with ""
                cancel event
                set {_prefix} to placeholder "%%luckperms_prefix%%" of player
                if {_prefix} contains "&##":
                    replace all "&##" in {_prefix} with "<##"
                    replace all (first 12 characters of {_prefix}) in {_prefix} with "%first 12 characters of {_prefix}%>"
                    set {_prefix} to colored {_prefix}
                set {_name} to placeholder "%%player_name%%" of player
                loop all players:
                    if loop-player has permission "staff.chat":
                        send "%{@prefix}% &r%uncolored {_prefix}%%{_name}%&f: &r%coloured message%" to loop-player
                        set {chat.%player%} to now
                        set {_ranky} to placeholder "vault_group" of player
                        log "[%{chat.%player%}%] %{_ranky}% %player%: %uncolored message%" to "serverlogs/staffchat/staffchat.log"
            else:
                cancel event
                set {_prefix} to placeholder "%%luckperms_prefix%%" of player
                if {_prefix} contains "&##":
                    replace all "&##" in {_prefix} with "<##"
                    replace all (first 12 characters of {_prefix}) in {_prefix} with "%first 12 characters of {_prefix}%>"
                    set {_prefix} to colored {_prefix}
                set {_name} to placeholder "%%player_name%%" of player
                loop all players:
                    if loop-player has permission "staff.chat":
                        send "%{@prefix}% &r%colored {_prefix}%%{_name}%&f: &r%coloured message%" to loop-player
                        set {chat.%player%} to now
                        set {_ranky} to placeholder "vault_group" of player
                        log "[%{chat.%player%}%] %{_ranky}% %player%: %uncolored message%" to "serverlogs/staffchat/staffchat.log"
                        
                        
                        
        else if uncoloured message starts with "$":
            set {_prefix} to placeholder "%%luckperms_prefix%%" of player
            if {_prefix} contains "&##":
                replace all "&##" in {_prefix} with "<##"
                replace all (first 12 characters of {_prefix}) in {_prefix} with "%first 12 characters of {_prefix}%>"
                set {_prefix} to colored {_prefix}
            set {_name} to placeholder "%%player_name%%" of player
            
            if message is not "$":
                cancel event
            replace first "$" in message with ""
            loop all players:
                if loop-player has permission "staff.chat":
                    send "%{@prefix}% &r%colored {_prefix}%%{_name}%&f: &r%coloured message%" to loop-player
                    set {chat.%player%} to now
                    set {_ranky} to placeholder "vault_group" of player
                    log "[%{chat.%player%}%] %{_ranky}% %player%: %uncolored message%" to "serverlogs/staffchat/staffchat.log"

 

Command Spy (Bungeecord/Velocity)

This is a Skript that lets you see what commands players are running that is made for bungeecord, put it on all of your servers and install the "ZulfBungee" skript addon

(1 server version below)

options:
    prefix: <##f50bd0>&lC<##f53eda>&lM<##f570e3>&lD <##f570e3>&lS<##f53eda>&lP<##f50bd0>&lY <##f50bd0>»

on command:
    loop all of the bungeecord players:
        if loop-proxyplayer has permission "essentials.socialspy":
            if network variable {cmdspy::%loop-proxyplayer's uuid%} is "true":
                if player is not loop-proxyplayer:
                    if player is set:
                        if arguments is set:
                            proxy message loop-proxyplayer the message "%{@prefix}% &7[%this proxy server%] &a%player%: &f/%command% %arguments%"
                            
                        else:
                            proxy message loop-proxyplayer the message "%{@prefix}% &7[%this proxy server%] &a%player%: &f/%command%"
                    else:
                        if arguments is set:
                            proxy message loop-proxyplayer the message "%{@prefix}% &7[%this proxy server%] &cServer: &f/%command% %arguments%"
                        else:
                            proxy message loop-proxyplayer the message "%{@prefix}% &7[%this proxy server%] &cServer: &f/%command% %arguments%"
            
command /commandspy:
    aliases: /cmdspy
    permission: essentials.socialspy
    trigger:
        if network variable {cmdspy::%player's uuid%} is "false":
            set network variable {cmdspy::%player's uuid%} to "true"
            send "%{@prefix}% &fCommand Spy has been &aEnabled."
        else if network variable {cmdspy::%player's uuid%} is "true":
            set network variable {cmdspy::%player's uuid%} to "false"
            send "%{@prefix}% &fCommand Spy has been &cDisabled."
        else if network variable {cmdspy::%player's uuid%} is not set:
            set network variable {cmdspy::%player's uuid%} to "true"
            send "%{@prefix}% &fCommand Spy has been &aEnabled."

Command spy (1 server version)

options:
    prefix: <##f50bd0>&lC<##f53eda>&lM<##f570e3>&lD <##f570e3>&lS<##f53eda>&lP<##f50bd0>&lY <##f50bd0>»

on command:
    loop all players:
        if loop-player has permission "essentials.socialspy":
            if {cmdspy::%loop-proxyplayer's uuid%} is "true":
                if player is not loop-player:
                    if player is set:
                        if arguments is set:
                            send "%{@prefix}% %a%player%: &f/%command% %arguments%" to loop-player
                            
                        else:
                            send "%{@prefix}% &a%player%: &f/%command%" to loop-player
                    else:
                        if arguments is set:
                            send "%{@prefix}% &cServer: &f/%command% %arguments%" to loop-player
                        else:
                            send "%{@prefix}% &cServer: &f/%command% %arguments%" to loop-player
            
command /commandspy:
    aliases: /cmdspy
    permission: essentials.socialspy
    trigger:
        if {cmdspy::%player's uuid%} is "false":
            set {cmdspy::%player's uuid%} to "true"
            send "%{@prefix}% &fCommand Spy has been &aEnabled."
        else if {cmdspy::%player's uuid%} is "true":
            set {cmdspy::%player's uuid%} to "false"
            send "%{@prefix}% &fCommand Spy has been &cDisabled."
        else if {cmdspy::%player's uuid%} is not set:
            set {cmdspy::%player's uuid%} to "true"
            send "%{@prefix}% &fCommand Spy has been &aEnabled."

Money Vouchers Skript

options:
    # Placeholders: <amount>
    voucherTitle: "<##32CD32>$<amount>"
    #the amount MUST be in the title
    #warning if you have a colored rename system that players can use, if they figure out the colour code they can set whatever amount they want
    voucherLore: "&7Right Click To Claim Money"

function format(b: text) :: text:
  if length of {_b} > 3:
    return "%format(first length of {_b} - 3 characters of {_b})%,%last 3 characters of {_b}%"
  return {_b}

command /withdraw [<integer>]:
    aliases: /wd, /wdraw, /wthd
    usage: &cPlease enter a number: /withdraw <amount>
    trigger:
        if arg-1 is set:
            if player's balance >= arg-1:
                set {_amount} to "%arg-1%"
                set {_amount} to format({_amount})
                send "&f&lAre you sure you would like to withdraw &a&l$%{_amount}%&f&l?"
                send formatted "&f&l<ttp:Click to confirm><cmd:/confwithd %arg-1%>Click &a&lhere &f&lto confirm!"
            else:
                send "&cYou do not have enough money to do that!"
        else:
            send "&cPlease Specify An Amount!"



command /confwithd [<integer>]:
    trigger:
        if arg-1 is set:
            if arg-1 contains "-":
                send "&cHuh? Withdrawing negative money makes no sense dude."
            else:
                if player's balance >= arg-1:
                    set {_amount} to "%arg-1%"
                    set {_amount} to format({_amount})
                    execute command "eco take %player% %arg-1%"
                    set {_name} to {@voucherTitle}
                    replace all "<amount>" in {_name} with {_amount}
                    give player glowing paper named {_name} with lore {@voucherLore}
                else:
                    send "&cYou do not have enough money to do that!"

on right click:
    if item is paper:
        if uncolored lore of event-items contains uncolored {@voucherLore}:
            remove 1 of tool from tool
            set {_amount} to colored name of event-item
            if {_amount} contains "<##32CD32>":
                if {_amount} contains "&a$":
                    send "&cNaughty Naughty, We Patched This Dumbfuck"
                else:
                    replace all "$" in {_amount} with ""
                    replace all "<##32CD32>" in {_amount} with ""
                    if {_amount} contains "-":
                        send "&cHuh? Withdrawing negative money makes no sense dude."
                    else:
                        if {_amount} contains ",":
                            replace all "," in {_amount} with ""
                            execute command "eco give %player% %{_amount}%"
                        else:
                            execute command "eco give %player% %{_amount}%"

Skript helper

adds some autocomplete to the /sk command

on tab complete of "sk" or "skript":
	set tab completions for position 1 to "reload", "enable", "disable", "update", "info" and "help"
	set tab completions for position 2 to scripts

Simple night vision command

options:
	Prefix:  <##f50bd0>&lN<##f53eda>&lV <##f50bd0>» &r
	EnableMessage: &fNight vision has been &aEnabled. &fDo /nv to toggle
	DisableMessage: &fNight vision has been &cDisabled. &fDo /nv to toggle
	NoPermission: &4You dont have permission to use this!
	

variables:
	{nightvision.mode.%player%} = "False"
command /nightvision:
	aliases: nv
	permission: nightvision.enable
	permission message: {@NoPermission}
	trigger:
		if {nightvision.mode.%player%} is "False":
			message "{@Prefix} {@EnableMessage}"
			set {nightvision.mode.%player%} to "True"
			execute command "effect give %player% minecraft:night_vision 1000000 255 true"
		else:
			if {nightvision.mode.%player%} is "True":
				message "{@Prefix} {@DisableMessage}"
				set {nightvision.mode.%player%} to "False"
				remove night vision from the player
			

Thats all enjoy, more soon.

-------------------------------------------------------------------

NO RANK ALL THE WAY

---------------------------------------------------------------------

play.koolkidzmc.com (Velocity + Pufferfish FTW)
discord.koolkidzmc.com

Spoiler

/_(•v•)_7

image_2021-07-26_104856.png.7740cf6322d3693f332894c1e8485060.png


image_2021-07-26_104457.png

pogies.PNG

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...