Length of argument

  • 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!

T3chnicality

Member
Jun 11, 2023
2
0
1
Skript Version 2.7.0-beta2
Skript Author: T3chnlcality
Minecraft Version: 1.19

When i use the length of argument expression, it doesn't produce an error, but it will instantly go to my else!
Code:
if length of arg-3 < 2:
#code
else:
#error message

and the #error message above is what happens no matter what i type.
 
Code:
#Clans Skript created by Tech#3251/TechnicalityMC
options:
    prefix: &8[&c&lCLANS&8] &r|

on load:
    set {id::*} to "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z"
    set {id1::*} to 1, 2, 3, 4, 5, 6, 7, 8, 9, 0

command /clan <string> [<string>] [<string>] [<string>]:
    aliases: /clans, /c
    permission: op                                                        #Remove This after fixing errors
    trigger:
        if arg-1 is "create":
            if {clans::enabled.%player%} is not set:
                if arg-2 is set:
                    if arg-3 is set:
                        if length of arg-3 > 2:
                            if length of arg-3 < 5:
                                set {_clan::id.%player%} to random element out of {id::*}
                                set {_clan::id1.%player%} to random element out of {id1::*}
                                set {_clan::id2.%player%} to random element out of {id::*}
                                set {_clan::id3.%player%} to random element out of {id1::*}
                                set {clans::id.%player%} to "%arg-2%##%{_clan::id.%player%}%%{_clan::id1.%player%}%%{_clan::id2.%player%}%%{_clan::id3.%player%}%"
                                delete {_clan::id.%player%}
                                delete {_clan::id1.%player%}
                                delete {_clan::id2.%player%}
                                delete {_clan::id3.%player%}
                                set {clans::owner::%{clans::id.%player%}%} to player
                                set {clans::name::%{clans::id.%player%}%} to arg-2
                                set {clans::tag::%{clans::id.%player%}%} to arg-3
                                add player to {clans::members::%{clans::id.%player%}%::*}
                                add player to {clans::admins::%{clans::id.%player%}%::*}
                                set {clans::enabled.%player%} to true
                                send "{@prefix} You have successfully created a new clan named %{clans::name::%{clans::id.%player%}%}% with tag %{clans::tag::%{clans::id.%player%}%}%"
                            else:
                                send "{@prefix} &4Clan Tag Error: Clan Tag has to be 3 or 4 Characters"
                        else:
                            send "{@prefix} &4Clan Tag Error: Clan Tag has to be 3 or 4 Characters"
                    else:
                        send "{@prefix} &4Create a Clan Tag!"
                else:
                    send "{@prefix} &4Create a Clan Name!"
            else:
                send "{@prefix} &4You are already in a clan"
        else if arg-1 is "delete":
            if {clans::enabled.%player%} is "true":
                if player is {clans::owner.%player%}:
                    if arg-2 is "confirm":
                        loop {clans::members::%{clans::id.%player%}%::*}:
                            delete {clans::owner::%{clans::id.%loop-value%}%}
                            delete {clans::name.%{clans::id.%loop-value%}%}
                            delete {clans::tag::%{clans::id.%loop-value%}%}
                            delete {clans::id.%loop-value%}
                            delete {clans::enabled.%loop-value%}
                            delete {clans::members::%{clans::id.%loop-value%}%::*}
                            send "{@prefix} &cClan deleted!"
                    else:
                        send "{@prefix} &bAre you sure you want to delete your clan? If you are sure, do /%command% delete confirm"
                else:
                    send "{@prefix} &4No permission to delete this clan"
            else:
                send "{@prefix} &4You are not in a clan!"
        else if arg-1 is "invite":
            if {clans::enabled.%player%} is "true":
                if player is {clans::owner.%player%}:
                    if {invite::enabled::%arg-2%.%player%} is not set:
                        add arg-2 parsed as a player to {_invitee.%player%::%arg-2 parsed as a player%}
                        add player to {_inviter.%arg-2 parsed as a player%::%player%}
                        set {clans::%{_invitee.%player%::%arg-2 parsed as a player%}%::id::%player%} to {clans::id.%player%}
                        set {clans::%{_invitee.%player%::%arg-2 parsed as a player%}%::name::%{clans::%{_invitee.%player%::%arg-2 parsed as a player%}%::id::%player%}%} to {clans::name::%{clans::id.%player%}%}
                        set {clans::%{_invitee.%player%::%arg-2 parsed as a player%}%::tag::%{clans::%{_invitee.%player%::%arg-2 parsed as a player%}%::id::%player%}%} to {clans::tag::%{clans::id.%player%}%}
                        set {invite::enabled::%arg-2%.%player%} to true
                        send "{@prefix} &aInvited %arg-2%!"
                        send "{@prefix} &b%player% has invited you to his clan, %{clans::name::%{clans::id.%player%}%}% (%{clans::tag::%{clans::id.%player%}%}%). Do /clan accept %player% to accept the clan invite" to arg-2 parsed as a player
                else if {clans::admins::%{clans::id.%player%}%} contains player:
                    if {invite::enabled::%arg-2%.%player%} is not set:
                        add arg-2 parsed as a player to {_invitee.%player%::%arg-2 parsed as a player%}
                        add player to {_inviter.%arg-2 parsed as a player%::%player%}
                        set {clans::%{_invitee.%player%::%arg-2 parsed as a player%}%::id::%player%} to {clans::id.%player%}
                        set {clans::%{_invitee.%player%::%arg-2 parsed as a player%}%::name::%{clans::%{_invitee.%player%::%arg-2 parsed as a player%}%::id::%player%}%} to {clans::name::%{clans::id.%player%}%}
                        set {clans::%{_invitee.%player%::%arg-2 parsed as a player%}%::tag::%{clans::%{_invitee.%player%::%arg-2 parsed as a player%}%::id::%player%}%} to {clans::tag::%{clans::id.%player%}%}
                        set {invite::enabled::%arg-2%.%player%} to true
                        send "{@prefix} &aInvited %arg-2%!"
                        send "{@prefix} &b%player% has invited you to his clan, %{clans::name::%{clans::id.%player%}%}% (%{clans::tag::%{clans::id.%player%}%}%). Do /clan accept %player% to accept the clan invite" to arg-2 parsed as a player
                else:
                    send "{@prefix} &4 No Permission!"
            else:
                send "{@prefix} &4You are not in a clan!"

        else if arg-1 is "accept":
            if {clans::enabled.%player%} is not set:
                loop {inviter.%player%::*}:
                    if loop-value is arg-2:
                        set {_invitecheck.%player%} to true
                if {_invitecheck.%player%} is true:
                    send "{@prefix} &aAccepted invite to %arg-2%'s clan!"
                    send "{@prefix} &a %player% accepted your clan invite!" to arg-2 parsed as a player
                    set {clans::id.%player%} to {clans::%{_invitee.%player%::%arg-2 parsed as a player%}%::id::%arg-2%}
                    delete {clans::%{_invitee.%arg-2%}%::id::%arg-2%}
                    delete {clans::%{_invitee.%arg-2%}%::name::%{clans::%{_invitee.%player%::%arg-2 parsed as a player%}%::id::%player%}%}
                    delete {clans::%{_invitee.%player%::%arg-2 parsed as a player%}%::tag::%{clans::%{_invitee.%player%::%arg-2 parsed as a player%}%::id::%player%}%}
                else:
                    send "{@prefix} &4Invalid Clan!"
            else:
                send "{@prefix} &4You are already in a clan!"

        else if arg-1 is "deny":
            if arg-2 is "confirm":
                delete {clans::id.%player%}
                send "{@prefix} &cDenied Clan Invite"
                send "{@prefix} &c%player% had denied your clan invite." to arg-2 parsed as a player
                delete {clans::%{_invitee.%arg-2%}%::id::%arg-2%}
                delete {clans::%{_invitee.%arg-2%}%::name::%{clans::%{_invitee.%player%::%arg-2 parsed as a player%}%::id::%player%}%}
                delete {clans::%{_invitee.%player%::%arg-2 parsed as a player%}%::tag::%{clans::%{_invitee.%player%::%arg-2 parsed as a player%}%::id::%player%}%}

        else if arg-1 is "leave":
            if {clans::enabled.%player%} is "true":
                if player is not {clans::owner::%{clans::id.%player%}%}:
                    if arg-2 is "confirm":
                        send "{@prefix} &cYou have left your clan!"
                        loop {clans::members::%{clans::id.%player%}%::*}:
                            send "{@prefix} &c%player% has left your clan. o7 in the chat"
                        delete {clans::id.%player%}
                        delete {clans::enabled.%player%}
                    else:
                        send "{@prefix} &cAre you sure you want to leave? do /clan leave confirm to leave."
            else:
                send "{@prefix} &4You are not in a clan!"
        else if arg-1 is "kick":
            if {clans::enabled.%player%} is "true":
                if player is {clans::owner::%{clans::id.%player%}%}:
                    if arg-2 is not {clans::owner::%{clans::id.%player%}%}:
                        if {clans::admins::%{clans::id.%player%}%::*} does not contain arg-2:
                            if arg-3 is "confirm":
                                send "{@prefix} &cYou have been kicked from your clan!" to arg-2 parsed as a player
                                loop {clans::members::%{clans::id.%player%}%::*}:
                                    send "{@prefix} &c%player% has left the clan. o7 in the chat"
                                delete {clans::id.%arg-2%}
                                delete {clans::enabled.%player%}
                            else:
                                send "{@prefix} &cAre you sure you want to kick %arg-2%? do /clan kick %arg-2% confirm to leave."
                else if {clans::admins::%{clans::id.%player%}%::*} contains player:
                    if arg-2 is not {clans::owner::%{clans::id.%player%}%}:
                        if {clans::admins::%{clans::id.%player%}%::*} does not contain arg-2:
                            if arg-3 is "confirm":
                                send "{@prefix} &cYou have been kicked from your clan!" to arg-2 parsed as a player
                                loop {clans::members::%{clans::id.%player%}%::*}:
                                    send "{@prefix} &c%player% has left the clan. o7 in the chat"
                                delete {clans::id.%arg-2%}
                                delete {clans::enabled.%player%}
                            else:
                                send "{@prefix} &cAre you sure you want to kick %arg-2%? do /clan kick %arg-2% confirm to leave."
            else:
                send "{@prefix} &4You are not in a clan!"
        else if arg-1 is "promote":
            if {clans::enabled.%player%} is "true":
                if {clans::members::%{clans::id.%player%}%::*} contains arg-2:
                    if player is {clans::owner::%{clans::id.%player%}%}:
                        add arg-2 to {clans::admins::%{clans::id.%player%}%::*}
                        send "{@prefix} &aPromoted %arg-2% to admin!"
                        send "{@prefix} &aYou have been promoted to admin in your clan!" to arg-2 parsed as a player
            else:
                send "{@prefix} &4You are not in a clan!"
        else if arg-1 is "demote":
            if {clans::enabled.%player%} is "true":
                if {clans::admins::%{clans::id.%player%}%::*} contains arg-2:
                    if player is {clans::owner::%{clans::id.%player%}%}:
                        add arg-2 to {clans::admins::%{clans::id.%player%}%::*}
                        send "{@prefix} &cDemoted %arg-2% to Member!"
                        send "{@prefix} &cYou have been demoted to member in your clan!" to arg-2 parsed as a player
            else:
                send "{@prefix} &4You are not in a clan!"
        else if arg-1 is "tag":
            if {clans::enabled.%player%} is "true":
                if arg-2 is "get":
                    send "{@prefix} &bYour Clan Tag is: %{clans::tag::%{clans::id.%player%}%}%"
                else if arg-2 is "set":
                    if player is {clans::owner::%{clans::id.%player%}%}:
                        if arg-3 is set:
                            set {clans::tag::%{clans::id.%player%}%} to arg-3
                            send "{@prefix} &aChanged Clan Tag to: %arg-3%"
            else:
                send "{@prefix} &4You are not in a clan!"
        else if arg-1 is "stats":
            set {clans::sortkills::*} to sorted {clans::kills::*}
            send "{@prefix} &bClan Kills:"
            set {_c} to 1
            loop {clans::sortkills::*}:
                send "##%{_c}% | %{clans::name::%loop-index%}% | %loop-value%"
                add 1 to {_c}
            delete {_c}
            delete {clans::sortkills::*}
        else if arg-1 is "members":
            if {clans::enabled.%player%} is "true":
                send "{@prefix} &cClan Members:"
                loop {clans::members::%{clans::id.%player%}%::*}:
                    send "%loop-value%"
            else:
                send "{@prefix} &4You are not in a clan!"
        else if arg-1 is "credits":
            send "&bThis skript was created by TechnicalityMC and was made specifically for LIFEDUPZ.&r", and "&bIf this skript is used outside of lifedupz, dm me at Tech##3251 please"

on death of player:
    if {clans::enabled.%attacker%} is "true":
        add 1 to {clans::kills::%{clans::id.%attacker%}%}

command /clanchat <string>:
    trigger:
        if {clans::enabled.%player%} is "true":
            loop {clans::members::%{clans::id.%player%}%::*}:
                send "&8[&c&lCLANCHAT&8] &r| %player's display name%: &b%arg-1%"

on tab complete of "/clan" or "/clans" or "/c":
    if {clans::enabled.%player%} is "true":
        if player is {clans::owner::%{clans::id.%player%}%}:
            set tab completions for position 1 to "delete", "invite", "leave", "kick", "promote", "demote", "tag", "stats", "members", "credits"
        else if {clans::admins::%{clans::id.%player%}%::*} contains player:
            set tab completions for position 1 to "invite", "leave", "kick", "tag", "stats", "members", "credits"
        else:
            set tab completions for position 1 to "leave", "tag", "stats", "members", "credits"
    else:
        set tab completions for position 1 to  "create", "stats", "credits"
    if tab arg-1 is "create":
        set tab completions for position 2 to "<Name Of Clan>"
        set tab completions for position 3 to "<Tag Of Clan>"
    else if tab arg-1 is "invite":
        loop all players:
            add "%loop-player%" to tab completions for position 2
    else if tab arg-1 is "accept":
        loop {inviter.%player%::*}:
            add "%loop-value%" to tab completions for position 2
    else if tab arg-1 is "deny":
        loop {inviter.%player%::*}:
            add "%loop-value%" to tab completions for position 2
    else if tab arg-1 is "kick":
        loop all players:
            add "%loop-player%" to tab completions for position 2
    else if tab arg-1 is "promote":
        loop all players:
            add "%loop-player%" to tab completions for position 2
    else if tab arg-1 is "demote":
        loop all players:
            add "%loop-player%" to tab completions for position 2
    else if tab arg-1 is "tag":
        set tab completions for position 2 to "get", "set"