Solved Skript if message starts with "!" not working.

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

    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!

Status
Not open for further replies.

jonawoning

Member
May 24, 2019
29
2
3
32
Title: Skript if message starts with "!" not working. <

I have skript like:


Code:
on chat:
    if {kd.%player%} is "Kingdomloos":
        cancel event
        broadcast "&7[&fKingdomloos&7] &7%coloured player's displayname%: &7%message%"
    else:
        set {hash} to "##"
        set {procent} to "@"
        if message starts with "!":
            cancel event
            set {message.%player%} to "%message%"
            replace all "!" with "" in {message.%player%}
            broadcast "&7{&rRoleplay&7} [&f%coloured {kd.prefix.%{kd.%player%}%}%&7] &7[&f%{kd.role.%player%}%&7] &f%coloured player's prefix%&7%coloured player's displayname%: &f%{message.%player%}%"
        else if message starts with "%{hash}%":
            cancel event
            set {message.%player%} to "%message%"
            replace all "%{hash}%" with "" in {message.%player%}
            broadcast "&7{&rP&7} [&f%coloured {kd.prefix.%{kd.%player%}%}%&7] &7[&f%{kd.role.%player%}%&7] &f%coloured player's prefix%&7%coloured player's displayname%: &7%{message.%player%}%"
        else if message starts with "%{procent}%":
            if {kd.role.%player%} is "&6Koning" or "&6Koningin" or "&6Senator" or "&6Keizer" or "&2Hertog" or "&2Hertogin" or "&2Warchief":
                cancel event
                set {message.%player%} to "%message%"
                replace all "%{procent}%" with "" in {message.%player%}
                loop all players:
                    if {kd.role.%loop-player%} is "&6Koning" or "&6Koningin" or "&6Senator" or "&6Keizer" or "&2Hertog" or "&2Hertogin" or "&2Warchief":
                        send "&7{&cHKM&7} [&f%coloured {kd.prefix.%{kd.%player%}%}%&7] &7[&f%{kd.role.%player%}%&7] &f%coloured player's prefix%&7%coloured player's displayname%: &7%{message.%player%}%" to loop-player
                    else:
                        if loop-player has permission "kd.hkm":
                            send "&7{&cHKM&7} [&f%coloured {kd.prefix.%{kd.%player%}%}%&7] &7[&f%{kd.role.%player%}%&7] &f%coloured player's prefix%&7%coloured player's displayname%: &7%{message.%player%}%" to loop-player
            else:
                if player has permission "kd.hkm":
                    cancel event
                    set {message.%player%} to "%message%"
                    replace all "%{procent}%" with "" in {message.%player%}
                    loop all players:
                        if {kd.role.%loop-player%} is "&6Koning" or "&6Koningin" or "&6Senator" or "&6Keizer" or "&2Hertog" or "&2Hertogin" or "&2Warchief":
                            send "&7{&cHKM&7} [&f%coloured {kd.prefix.%{kd.%player%}%}%&7] &7[&f%{kd.role.%player%}%&7] &f%coloured player's prefix%&7%coloured player's displayname%: &7%{message.%player%}%" to loop-player
                        else:
                            if loop-player has permission "kd.hkm":
                                send "&7{&cHKM&7} [&f%coloured {kd.prefix.%{kd.%player%}%}%&7] &7[&f%{kd.role.%player%}%&7] &f%coloured player's prefix%&7%coloured player's displayname%: &7%{message.%player%}%" to loop-player                 
                else:
                    loop all players:
                        if {kd.%loop-player%} is equal to {kd.%player%}:
                            cancel event
                            send "&7[&f%coloured {kd.prefix.%{kd.%player%}%}%&7] &7[&f%{kd.role.%player%}%&7] &f%coloured player's prefix%&7%coloured player's displayname%: &7%message%" to loop-player
        else:
            cancel event
            loop all players:
                if {kd.%loop-player%} is equal to {kd.%player%}:
                    send "&7[&f%coloured {kd.prefix.%{kd.%player%}%}%&7] &7[&f%{kd.role.%player%}%&7] &f%coloured player's prefix%&7%coloured player's displayname%: &7%message%" to loop-player

I keep getting an error of ''if message starts with "!":"
Does someone know how to solve this?

Thanks!

(Server version 1.8)
 
Last edited:
Please add your Skript version and insert the code into CODE tags (under the +). Also, send the error
 
That's some trash code you got there. I suggest rewriting it using lists, uuids, and the chat format expression
 
  • Like
Reactions: jonawoning
Yes i know, but do you know an other condition or alternative for ''If message starts with...''?

Skript version: ''Skript 2.2 Fixes V8b''
[doublepost=1558682299,1558682203][/doublepost]I will send the error when i am home, right now on school.

Sorry for my bad English btw, i am Dutch/Netherlands.
 
Yes i know, but do you know an other condition or alternative for ''If message starts with...''?

Skript version: ''Skript 2.2 Fixes V8b''
[doublepost=1558682299,1558682203][/doublepost]I will send the error when i am home, right now on school.

Sorry for my bad English btw, i am Dutch/Netherlands.
Use Skript 2.2-dev36 for 1.8
 
Will that work do you think?

But thanks for the support!
I will reply later if it has worked out with that version!
[doublepost=1558683152,1558682782][/doublepost]I've inserted the code btw.
 
Will that work do you think?

But thanks for the support!
I will reply later if it has worked out with that version!
[doublepost=1558683152,1558682782][/doublepost]I've inserted the code btw.
It will work, since that condition was added in dev36. As an alternative (e.g. if dev36 doesn't work) you can use what ShaneBee said. But I do recommend that you use dev36, since it has less bugs and is newer.
 
Thanks guys!

It worked, i simply replaced the % and # by twice.

Example: ''##''
Example2: ''%%"

And updated the version.

You can close this thread.
 
Title: Skript if message starts with "!" not working. <

I have skript like:


Code:
on chat:
    if {kd.%player%} is "Kingdomloos":
        cancel event
        broadcast "&7[&fKingdomloos&7] &7%coloured player's displayname%: &7%message%"
    else:
        set {hash} to "##"
        set {procent} to "@"
        if message starts with "!":
            cancel event
            set {message.%player%} to "%message%"
            replace all "!" with "" in {message.%player%}
            broadcast "&7{&rRoleplay&7} [&f%coloured {kd.prefix.%{kd.%player%}%}%&7] &7[&f%{kd.role.%player%}%&7] &f%coloured player's prefix%&7%coloured player's displayname%: &f%{message.%player%}%"
        else if message starts with "%{hash}%":
            cancel event
            set {message.%player%} to "%message%"
            replace all "%{hash}%" with "" in {message.%player%}
            broadcast "&7{&rP&7} [&f%coloured {kd.prefix.%{kd.%player%}%}%&7] &7[&f%{kd.role.%player%}%&7] &f%coloured player's prefix%&7%coloured player's displayname%: &7%{message.%player%}%"
        else if message starts with "%{procent}%":
            if {kd.role.%player%} is "&6Koning" or "&6Koningin" or "&6Senator" or "&6Keizer" or "&2Hertog" or "&2Hertogin" or "&2Warchief":
                cancel event
                set {message.%player%} to "%message%"
                replace all "%{procent}%" with "" in {message.%player%}
                loop all players:
                    if {kd.role.%loop-player%} is "&6Koning" or "&6Koningin" or "&6Senator" or "&6Keizer" or "&2Hertog" or "&2Hertogin" or "&2Warchief":
                        send "&7{&cHKM&7} [&f%coloured {kd.prefix.%{kd.%player%}%}%&7] &7[&f%{kd.role.%player%}%&7] &f%coloured player's prefix%&7%coloured player's displayname%: &7%{message.%player%}%" to loop-player
                    else:
                        if loop-player has permission "kd.hkm":
                            send "&7{&cHKM&7} [&f%coloured {kd.prefix.%{kd.%player%}%}%&7] &7[&f%{kd.role.%player%}%&7] &f%coloured player's prefix%&7%coloured player's displayname%: &7%{message.%player%}%" to loop-player
            else:
                if player has permission "kd.hkm":
                    cancel event
                    set {message.%player%} to "%message%"
                    replace all "%{procent}%" with "" in {message.%player%}
                    loop all players:
                        if {kd.role.%loop-player%} is "&6Koning" or "&6Koningin" or "&6Senator" or "&6Keizer" or "&2Hertog" or "&2Hertogin" or "&2Warchief":
                            send "&7{&cHKM&7} [&f%coloured {kd.prefix.%{kd.%player%}%}%&7] &7[&f%{kd.role.%player%}%&7] &f%coloured player's prefix%&7%coloured player's displayname%: &7%{message.%player%}%" to loop-player
                        else:
                            if loop-player has permission "kd.hkm":
                                send "&7{&cHKM&7} [&f%coloured {kd.prefix.%{kd.%player%}%}%&7] &7[&f%{kd.role.%player%}%&7] &f%coloured player's prefix%&7%coloured player's displayname%: &7%{message.%player%}%" to loop-player                
                else:
                    loop all players:
                        if {kd.%loop-player%} is equal to {kd.%player%}:
                            cancel event
                            send "&7[&f%coloured {kd.prefix.%{kd.%player%}%}%&7] &7[&f%{kd.role.%player%}%&7] &f%coloured player's prefix%&7%coloured player's displayname%: &7%message%" to loop-player
        else:
            cancel event
            loop all players:
                if {kd.%loop-player%} is equal to {kd.%player%}:
                    send "&7[&f%coloured {kd.prefix.%{kd.%player%}%}%&7] &7[&f%{kd.role.%player%}%&7] &f%coloured player's prefix%&7%coloured player's displayname%: &7%message%" to loop-player

I keep getting an error of ''if message starts with "!":"
Does someone know how to solve this?

Thanks!

(Server version 1.8)
Voor welke kingdom server maak je dit? Ik zoek een kingdom server ;D
 
Voor welke kingdom server maak je dit? Ik zoek een kingdom server ;D
Ben simpel weg een beetje aan het testen hier en daar.
Heb al een Java plugin voor Kingdom klaar staan die is gemaakt door een goeie Java Developer.
Maar vroeg me gewoon af hoe een skript kingdom plugin zou uitwerken.
En waarvoor dit is? Dit is dus gewoon voor een lolletje.
Maar ik start uiteindelijk mijn eigen project.
 
Keep your posts English please.
 
Sorry, i didn't mean to.

He was asking me where i am making this plugin/skript for.
I will keep it English, thanks.
 
Status
Not open for further replies.