Jump to content

Soft Coded Rules Manager


kegnh

Recommended Posts

command /rules [<text>]:
    trigger:
        if arg-1 is "reset":
            if player has permission "rules.admin":
                delete {rules::*}
                player command "/rules"
            else:
                player command "/rules"
        else:
            create gui with virtual chest inventory with size 3 named "&8&lRules":
                format gui slots (0,1,2,3,4,5,6,7,8,9,17,18,19,20,21,22,23,24,25,26) with black stained glass pane named "&7"
                format gui slot 22 with barrier named "&cClose":
                    close player's inventory
                loop {rules::*}:
                    format next gui slot with loop-value
                if player has permission "rules.admin":
                    format next gui slot with stone button of infinity named "&6Add New Rule" with all flags hidden:
                        close player's inventory
                        set {rule_creation::%player%} to 1
                        set {_loc} to player's location
                        send "&aType the rules name in chat:" to player
                        while {rule_creation::%player%} is not 3:
                            teleport player to {_loc}
                            wait 5 ticks
                        add oak sign named "&f%coloured {rule_creation::%player%::name}%" with lore "&f%coloured {rule_creation::%player%::description}%" to {rules::*}
                        delete {rule_creation::%player%}
                        delete {rule_creation::%player%::*}
                        player command "/rules"
                loop integers between 0 and 26:
                    format next gui slot with light grey stained glass pane named "&7"
            open last gui to player

on chat:
    if {rule_creation::%player%} is 1:
        cancel event
        set {rule_creation::%player%::name} to message
        set {rule_creation::%player%} to 2
        send "&aType the rules description in chat:" to player
    else if {rule_creation::%player%} is 2:
        cancel event
        set {_} to message
        replace all "\n" in {_} with "%nl%&f"
        set {rule_creation::%player%::description} to {_}
        set {rule_creation::%player%} to 3

on command:
    if {rule_creation::%player%} is 1:
        cancel event
        send "&cYou must type the rules name in chat." to player
    else if {rule_creation::%player%} is 2:
        cancel event
        send "&cYou must type the rules description in chat." to player

on quit:
    delete {rule_creation::%player%}
    delete {rule_creation::%player%::*}

Commands:

/rules - rules page (people with "rules.admin" can add new rules from here)

/rules reset - clear all rules

  • Like 1

Minecraft Ranks
[DEFAULT] - 9th October 2020
[PRO] - 21st November 2020
[PATRON] - 27th October 2021

Proficiency
Python - 8 Years
C/C++ - 5 Years
Skript - 4 Years
Javascript - 3 Year
Java - 1 Year

Links
Discord - kegnh#1234

 
Link to comment
Share on other sites

2 hours ago, itskegnh said:
command /rules [<text>]:
    trigger:
        if arg-1 is "reset":
            if player has permission "rules.admin":
                delete {rules::*}
                player command "/rules"
            else:
                player command "/rules"
        else:
            create gui with virtual chest inventory with size 3 named "&8&lRules":
                format gui slots (0,1,2,3,4,5,6,7,8,9,17,18,19,20,21,22,23,24,25,26) with black stained glass pane named "&7"
                format gui slot 22 with barrier named "&cClose":
                    close player's inventory
                loop {rules::*}:
                    format next gui slot with loop-value
                if player has permission "rules.admin":
                    format next gui slot with stone button of infinity named "&6Add New Rule" with all flags hidden:
                        close player's inventory
                        set {rule_creation::%player%} to 1
                        set {_loc} to player's location
                        send "&aType the rules name in chat:" to player
                        while {rule_creation::%player%} is not 3:
                            teleport player to {_loc}
                            wait 5 ticks
                        add oak sign named "&f%coloured {rule_creation::%player%::name}%" with lore "&f%coloured {rule_creation::%player%::description}%" to {rules::*}
                        delete {rule_creation::%player%}
                        delete {rule_creation::%player%::*}
                        player command "/rules"
                loop integers between 0 and 26:
                    format next gui slot with light grey stained glass pane named "&7"
            open last gui to player

on chat:
    if {rule_creation::%player%} is 1:
        cancel event
        set {rule_creation::%player%::name} to message
        set {rule_creation::%player%} to 2
        send "&aType the rules description in chat:" to player
    else if {rule_creation::%player%} is 2:
        cancel event
        set {_} to message
        replace all "\n" in {_} with "%nl%&f"
        set {rule_creation::%player%::description} to {_}
        set {rule_creation::%player%} to 3

on command:
    if {rule_creation::%player%} is 1:
        cancel event
        send "&cYou must type the rules name in chat." to player
    else if {rule_creation::%player%} is 2:
        cancel event
        send "&cYou must type the rules description in chat." to player

on quit:
    delete {rule_creation::%player%}
    delete {rule_creation::%player%::*}

Commands:

/rules - rules page (people with "rules.admin" can add new rules from here)

/rules reset - clear all rules

cool, but a quick suggestion
Use %player's uuid% instead of %player% for storing variables as if a player changes their name, their stats wont save unless its saved to the uuid.

 

 

image.png.bc433d6489d70ad831075fe76809b993.png
 

Lifestealed | Minecraft Servers
 

OG [VIP] 12/26/20 - 10/27/2021
OG [PRO] 12/27/21 - 11/18/2022
OG [LEGEND] 11/18/2022 - 3/14/2023
[DEFAULT] 3/14/2023 - Present

 

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...