Help with the clan system that I wrote

  • Welcome to skUnity!

    Welcome to skUnity! This is a forum where members of the Skript community can communicate and interact. Skript Resource Creators can post their Resources for all to see and use.

    If you haven't done so already, feel free to join our official Discord server to expand your level of interaction with the community!

    Now, what are you waiting for? Join the community now!

  • LOOKING FOR A VERSION OF SKRIPT?

    You can always check out skUnity Downloads for downloads and any other information about Skript!

caliber

Member
Sep 27, 2024
1
0
1
Code:
command /clan [<text>] [<text>] [<text>]:
    aliases: guild, g, c
    trigger:
#CLAN SETRANK
        if arg-1 is "setrank":
            if arg-2 is set:
                if {clan::%{clan::%player's uuid%}%::membercount::*} contains arg-2 parsed as player's uuid:
                    if {clan::%{clan::%player's uuid%}%::canrank::*} contains player's uuid:
                        if {clan::%{clan::%player's uuid%}%::leader::*} doesn't contain arg-2 parsed as player's uuid:
                            if {clan::%{clan::%player's uuid%}%::leader::*} doesn't contain arg-2 parsed as player's uuid:
                                if arg-3 is set:
                                    if arg-3 is "member":
                                        wait 2 ticks
                                        remove arg-2 parsed as player's uuid from {clan::%{clan::%player's uuid%}%::member::*}
                                        remove arg-2 parsed as player's uuid from {clan::%{clan::%player's uuid%}%::recruiter::*}
                                        remove arg-2 parsed as player's uuid from {clan::%{clan::%player's uuid%}%::officer::*}
                                        remove arg-2 parsed as player's uuid from {clan::%{clan::%player's uuid%}%::coleader::*}
                                        remove arg-2 parsed as player's uuid from {clan::%{clan::%player's uuid%}%::caninvite::*}
                                        remove arg-2 parsed as player's uuid from {clan::%{clan::%player's uuid%}%::cankick::*}
                                        remove arg-2 parsed as player's uuid from {clan::%{clan::%player's uuid%}%::canrank::*}
                                        wait 2 ticks
                                        add arg-2 parsed as player's uuid to {clan::%{clan::%player's uuid%}%::member::*}
                                        wait 2 ticks
                                        send "&aSet %arg-2%'s rank to member."
                                    if arg-3 is "recruiter":
                                        wait 2 ticks
                                        remove arg-2 parsed as player's uuid from {clan::%{clan::%player's uuid%}%::member::*}
                                        remove arg-2 parsed as player's uuid from {clan::%{clan::%player's uuid%}%::recruiter::*}
                                        remove arg-2 parsed as player's uuid from {clan::%{clan::%player's uuid%}%::officer::*}
                                        remove arg-2 parsed as player's uuid from {clan::%{clan::%player's uuid%}%::coleader::*}
                                        remove arg-2 parsed as player's uuid from {clan::%{clan::%player's uuid%}%::caninvite::*}
                                        remove arg-2 parsed as player's uuid from {clan::%{clan::%player's uuid%}%::cankick::*}
                                        remove arg-2 parsed as player's uuid from {clan::%{clan::%player's uuid%}%::canrank::*}
                                        wait 2 ticks
                                        add arg-2 parsed as player's uuid to {clan::%{clan::%player's uuid%}%::recruiter::*}
                                        add arg-2 parsed as player's uuid to {clan::%{clan::%player's uuid%}%::caninvite::*}
                                        wait 2 ticks
                                        send "&aSet %arg-2%'s rank to recruiter."
                                    if arg-3 is "officer":
                                        wait 2 ticks
                                        remove arg-2 parsed as player's uuid from {clan::%{clan::%player's uuid%}%::member::*}
                                        remove arg-2 parsed as player's uuid from {clan::%{clan::%player's uuid%}%::recruiter::*}
                                        remove arg-2 parsed as player's uuid from {clan::%{clan::%player's uuid%}%::officer::*}
                                        remove arg-2 parsed as player's uuid from {clan::%{clan::%player's uuid%}%::coleader::*}
                                        remove arg-2 parsed as player's uuid from {clan::%{clan::%player's uuid%}%::caninvite::*}
                                        remove arg-2 parsed as player's uuid from {clan::%{clan::%player's uuid%}%::cankick::*}
                                        remove arg-2 parsed as player's uuid from {clan::%{clan::%player's uuid%}%::canrank::*}
                                        wait 2 ticks
                                        add arg-2 parsed as player's uuid to {clan::%{clan::%player's uuid%}%::officer::*}
                                        add arg-2 parsed as player's uuid to {clan::%{clan::%player's uuid%}%::caninvite::*}
                                        wait 2 ticks
                                        send "&aSet %arg-2%'s rank to officer."
                                    if arg-3 is "coleader":
                                        wait 2 ticks
                                        remove arg-2 parsed as player's uuid from {clan::%{clan::%player's uuid%}%::member::*}
                                        remove arg-2 parsed as player's uuid from {clan::%{clan::%player's uuid%}%::recruiter::*}
                                        remove arg-2 parsed as player's uuid from {clan::%{clan::%player's uuid%}%::officer::*}
                                        remove arg-2 parsed as player's uuid from {clan::%{clan::%player's uuid%}%::coleader::*}
                                        remove arg-2 parsed as player's uuid from {clan::%{clan::%player's uuid%}%::caninvite::*}
                                        remove arg-2 parsed as player's uuid from {clan::%{clan::%player's uuid%}%::cankick::*}
                                        remove arg-2 parsed as player's uuid from {clan::%{clan::%player's uuid%}%::canrank::*}
                                        wait 2 ticks
                                        add arg-2 parsed as player's uuid to {clan::%{clan::%player's uuid%}%::coleader::*}
                                        add arg-2 parsed as player's uuid to {clan::%{clan::%player's uuid%}%::caninvite::*}
                                        add arg-2 parsed as player's uuid to {clan::%{clan::%player's uuid%}%::canrank::*}
                                        add arg-2 parsed as player's uuid to {clan::%{clan::%player's uuid%}%::cankick::*}
                                        wait 2 ticks
                                        send "&aSet %arg-2%'s rank to co-leader."
                            else:
                                send "&cYou can't set that player's rank."
                        else:
                            send "&cYou can't set that player's rank."
                    else:
                        send "&cNo permission."
                else:
                    send "&cThat player is not in your clan."                       
#CLAN CREATE
        if arg-1 is "create":
            if arg-2 is set:
                if {clan::%player's uuid%} isn't set:
                    if arg-2 is alphanumeric:
                        if {clan::name::*} doesn't contain arg-2:
                            wait 3 ticks
                            set {clan::%player's uuid%} to arg-2
                            add arg-2 to {clan::name::*}
                            wait 2 ticks
                            add player's uuid to {inclan::*}
                            add player's uuid to {clan::%{clan::%player's uuid%}%::leader::*}
                            add player's uuid to {clan::%{clan::%player's uuid%}%::caninvite::*}
                            add player's uuid to {clan::%{clan::%player's uuid%}%::canrank::*}
                            add player's uuid to {clan::%{clan::%player's uuid%}%::cankick::*}
                            add player's uuid to {clan::%{clan::%player's uuid%}%::membercount::*}
                            set {clan::%{clan::%player's uuid%}%::coin} to 0
                            wait 2 ticks
                            send "&aCreated clan." to player
                        else:
                            send "&cClan name already taken." to player
                    else:
                        send "&cInvalid character."
                else:
                    send "&cYou are already in a clan."
#CLAN INVITE
        if arg-1 is "invite":
            if arg-2 is set:
                set {_allplayers::*} to all players
                if {_allplayers::*} contains arg-2:
                    if {clan::%player's uuid%} is set:
                        if {inclan::*} doesn't contain arg-2 parsed as player's uuid:
                            if {clan::%{clan::%player's uuid%}%::caninvite::*} contain player's uuid:
                                wait 3 ticks
                                set {invited::%{clan::%player's uuid%}%::%arg-2%} to {clan::%player's uuid%}
                                wait 2 ticks
                                send "&aInvited %arg-2%."
                                wait 2 ticks
                                send "&a%player% invited you to join %{clan::%player's uuid%}%, type &e/clan join %{clan::%player's uuid%}%&a to join." to arg-2 parsed as player
                            else:
                                send "&cNo permission."
                        else:
                            send "&cThat player is already in a clan."
                    else:
                        send "&cYou are not in a clan."
                else:
                    send "&cThat player does not exist or isn't online."
#CLAN JOIN
        if arg-1 is "join":
            if arg-2 is set:
                if {clan::name::*} contains arg-2:
                    if {invited::%arg-2%::%player%} is set:
                        wait 2 ticks
                        add player's uuid to {clan::%{invited::%arg-2%::%player%}%::membercount::*}
                        add player's uuid to {clan::%{invited::%arg-2%::%player%}%::member::*}
                        set {clan::%player's uuid%} to {invited::%arg-2%::%player%}
                        add player's uuid to {inclan::*}
                        send "&aJoined clan."
                        wait 3 ticks
                        delete {invited::%arg-2%::%player%}
                    else:
                        send "&cYou are not invited to any clan."
                else:
                    send "&cThat clan does not exist."

After I invite my friend and then do /clan setrank them. My invite permission kind of disappears I can't invite any other players, even when {clan::%{clan::%player's uuid%}%::caninvite::*} still contains my UUID. Any support is appreciated.