Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Poprawa prostego skryptu


MiamiCenter

Rekomendowane odpowiedzi

Opublikowano

Witam, skrypt ma działać tak, że jeśli gracz użyje w komendzie /nick lub na czacie &4 lub &c komenda nie zadziała <cancel event>

command /nick [<text>]:
    permission: essentials.nick
    permission message: Brak uprawnien
    trigger:
        if arg 1 is set:
            if arg 1 contains "&4" or "&c":
                if player has permission "essentials.colornick":
                    set display name of player to "%arg 1%"
                    send "Zmieniono nazwe twojego nicku!"
                    stop
                else:
                    send "Nie mozesz uzywac tych kolorow!"
                    stop

Jeśli chodzi o pierwszą część skryptu - Działa :D

Ale jak mógłbym zrobić, aby łapało to co się wpisze w komendę /nick?

Errory z Konsoli:

Brak.
Opublikowano

Zamiast on chat w drugim to

on command:

if command contains ....

 

 

Nie jestem pewien czy to zadziała, ale możesz sprawdzić ;)

.

Opublikowano

Zamiast on chat w drugim to

on command:

if command contains ....

 

 

Nie jestem pewien czy to zadziała, ale możesz sprawdzić ;)

 

Jeśli chodziło ci o to <tak jak teraz poprawiłem> to niestety nie działa, ale konsola nie wywala przynajmniej żadnego błędu. Co nie zmienia faktu że nie działa

Opublikowano

A no tak bo to jest jeśli komenda zawiera hmm :/

A może to?:

on command "nick [<text>]":
    if arg-1 contains "&4" or "&c":
        if player has permission "PexGdyMa":
            send "Masz pexa"
        else:
            canvel event
            send "Nie mozesz uzywac tych kolorow!"
            stop

.

Opublikowano

Omg... @MiamiCenter sprawdz

command /nick [<text>]:
    permission: essentials.nick
    permission message: Brak uprawnien
    trigger:
        if arg 1 is set:
            if arg 1 contains "&4" or "&c":
                if player has permission "essentials.colornick":
                    set display name of player to "%arg 1%"
                    send "Zmieniono nazwe twojego nicku!"
                    stop
                else:
                    send "Nie mozesz uzywac tych kolorow!"
                    stop

.

Opublikowano

Co Ci tu może nie działać - tak zapytam profilaktycznie, masz plugin skript a jeżeli masz to działa?

 

Plugin Skript jest, jedyne co to wywala w konsoli błąd <Dodam że korzystam z najnowszej wersjii Skript, i silnika Spigot 1.10.2>

[20:36:13 WARN]: [Skript] Plugin Skript v2.1.2 generated an exception while executing task 29
java.lang.NoSuchMethodError: org.bukkit.Server.getOnlinePlayers()[Lorg/bukkit/entity/Player;
        at ch.njol.skript.Metrics.postPlugin(Metrics.java:347) ~[?:?]
        at ch.njol.skript.Metrics$1.run(Metrics.java:235) ~[?:?]
        at org.bukkit.craftbukkit.v1_10_R1.scheduler.CraftTask.run(CraftTask.java:71) ~[spigot.jar:git-Spigot-72c2605-251a5b6]
        at org.bukkit.craftbukkit.v1_10_R1.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:52) [spigot.jar:git-Spigot-72c2605-251a5b6]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) [?:1.8.0_121]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) [?:1.8.0_121]
        at java.lang.Thread.run(Unknown Source) [?:1.8.0_121]

Przy włączaniu serwera:

[19:49:56 INFO]: [Skript] Checking for the latest version of Skript...
[19:49:56 ERROR]: [Skript] indentation error: expected 16 spaces, but found 4 tabs (Kolory.sk, line 17: cancel event')
[19:49:56 ERROR]: [Skript] indentation error: expected 16 spaces, but found 4 tabs (Kolory.sk, line 18: message "&4Kolor zarezerwowany dla administracjii!"')
[19:49:56 ERROR]: [Skript] indentation error: expected 16 spaces, but found 3 tabs (Kolory.sk, line 19: else:')
[19:49:56 INFO]: [Skript] Loaded 1 script with a total of 1 trigger and 1 command in 0.15 seconds
[19:49:56 INFO]: [Skript] Finished loading.
[19:49:56 INFO]: [Vault] Checking for Updates ...
[19:49:56 WARN]: [Skript] Plugin Skript v2.1.2 generated an exception while executing task 29
java.lang.NoSuchMethodError: org.bukkit.Server.getOnlinePlayers()[Lorg/bukkit/entity/Player;
        at ch.njol.skript.Metrics.postPlugin(Metrics.java:347) ~[?:?]
        at ch.njol.skript.Metrics$1.run(Metrics.java:235) ~[?:?]
        at org.bukkit.craftbukkit.v1_10_R1.scheduler.CraftTask.run(CraftTask.java:71) ~[spigot.jar:git-Spigot-72c2605-251a5b6]
        at org.bukkit.craftbukkit.v1_10_R1.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:52) [spigot.jar:git-Spigot-72c2605-251a5b6]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) [?:1.8.0_121]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) [?:1.8.0_121]
        at java.lang.Thread.run(Unknown Source) [?:1.8.0_121]
[19:49:57 INFO]: [Skript] An internal error occurred while checking for the latest version of Skript. Please refer to the server log for details.
[19:49:57 ERROR]: #!#!
[19:49:57 ERROR]: #!#! [Skript] Severe Error:
[19:49:57 ERROR]: #!#! Unexpected error while checking for a new version of Skript
[19:49:57 ERROR]: #!#!
[19:49:57 ERROR]: #!#! If you're developing an add-on for Skript this likely means that you have done something wrong.
[19:49:57 ERROR]: #!#! If you're a server admin however please go to http://dev.bukkit.org/server-mods/skript/tickets/
[19:49:57 ERROR]: #!#! and check whether this error has already been reported.
[19:49:57 ERROR]: #!#! If not please create a new ticket with a meaningful title, copy & paste this whole error into it,
[19:49:57 ERROR]: #!#! and describe what you did before it happened and/or what you think caused the error.
[19:49:57 ERROR]: #!#! If you think that it's a trigger that's causing the error please post the trigger as well.
[19:49:57 ERROR]: #!#! By following this guide fixing the error should be easy and done fast.
[19:49:57 ERROR]: #!#!
[19:49:57 ERROR]: #!#! Stack trace:
[19:49:57 ERROR]: #!#! javax.xml.stream.XMLStreamException: ParseError at [row,col]:[1,1]
Message: Premature end of file.
[19:49:57 ERROR]: #!#!     at com.sun.org.apache.xerces.internal.impl.XMLStreamReaderImpl.next(Unknown Source)
[19:49:57 ERROR]: #!#!     at com.sun.xml.internal.stream.XMLEventReaderImpl.nextEvent(Unknown Source)
[19:49:57 ERROR]: #!#!     at ch.njol.skript.Updater.getChangelogs(Updater.java:286)
[19:49:57 ERROR]: #!#!     at ch.njol.skript.Updater$2.run(Updater.java:210)
[19:49:57 ERROR]: #!#!     at java.lang.Thread.run(Unknown Source)
[19:49:57 ERROR]: #!#!
[19:49:57 ERROR]: #!#! Version Information:
[19:49:57 ERROR]: #!#!   Skript: 2.1.2
[19:49:57 ERROR]: #!#!   Bukkit: 1.10.2-R0.1-SNAPSHOT
[19:49:57 ERROR]: #!#!   Minecraft: 1.10.2
[19:49:57 ERROR]: #!#!   Java: 1.8.0_121
[19:49:57 ERROR]: #!#!
[19:49:57 ERROR]: #!#! Running CraftBukkit: false
[19:49:57 ERROR]: #!#!
[19:49:57 ERROR]: #!#! Current node: null
[19:49:57 ERROR]: #!#! Current item: null
[19:49:57 ERROR]: #!#!
[19:49:57 ERROR]: #!#! Thread: Skript update thread
[19:49:57 ERROR]: #!#!
[19:49:57 ERROR]: #!#! End of Error.
[19:49:57 ERROR]: #!#!

Nie zwracaj uwagi na te spacje co tam są, bo już to naprawiłem :D

@AlexanderARG Skrypt nie potrafi sprawdzić czy w argumencie 1 jest &4 lub &c, i myśli że nie ma, po czym przechodzi dalej. Nie ważne co by się wpisało w argument 1.

<Przykład: /nick &4Kot <- "&4Kot" ma być tym argumentem.>

Opublikowano

@MiamiCenter

 

A jakbyś zmienił ten skrypt na taki:

command /nick [<text>]:
    permission: essentials.nick
    permission message: Brak uprawnien
    trigger:
        if arg 1 is set:
            if arg 1 contains "&4%arg 1%" or "&c%arg 1%":
                if player has permission "essentials.colornick":
                    set display name of player to "%arg 1%"
                    send "Zmieniono nazwe twojego nicku!"
                    stop
                else:
                    send "Nie mozesz uzywac tych kolorow!"
                    stop
Opublikowano

 

@MiamiCenter

 

A jakbyś zmienił ten skrypt na taki:

command /nick [<text>]:
    permission: essentials.nick
    permission message: Brak uprawnien
    trigger:
        if arg 1 is set:
            if arg 1 contains "&4%arg 1%" or "&c%arg 1%":
                if player has permission "essentials.colornick":
                    set display name of player to "%arg 1%"
                    send "Zmieniono nazwe twojego nicku!"
                    stop
                else:
                    send "Nie mozesz uzywac tych kolorow!"
                    stop

Nie działa ;/ Zrobiłem taki skrypt:

command /zmiennick [<text>]:
	trigger:
		argument 1 contains "&4":
			if player has permission "skript.red":
				execute player command "nick %argument 1%"
			else:
				message "&4Blad"

Jeśli zamiast &4 dam zwykłe 4, to działa, jeśli jest &4 to niestety nie działa ;//

 

Może spróbujemy zrobić żeby zamiast tekstu &4 wykrywał kolor czerwony?

Opublikowano

:P

command /nick [<text>]:
    permission: essentials.nick
    permission message: Brak uprawnien
    trigger:
        if arg 1 is set:
            if arg 1 contains "&4" or "&c" or "§4" or "§c":
                if player has permission "essentials.colornick":
                    set display name of player to "%arg 1%"
                    send "Zmieniono nazwe twojego nicku!"
                    stop
                else:
                    send "Nie mozesz uzywac tych kolorow!"
                    stop
            else:
                set display name of player to "%arg 1%"
                send "Zmieniono nazwe twojego nicku!"
                stop
        else:
            send "Podaj kolor nicku!"
            stop

???

.

Opublikowano

:P

command /nick [<text>]:
    permission: essentials.nick
    permission message: Brak uprawnien
    trigger:
        if arg 1 is set:
            if arg 1 contains "&4" or "&c" or "§4" or "§c":
                if player has permission "essentials.colornick":
                    set display name of player to "%arg 1%"
                    send "Zmieniono nazwe twojego nicku!"
                    stop
                else:
                    send "Nie mozesz uzywac tych kolorow!"
                    stop
            else:
                set display name of player to "%arg 1%"
                send "Zmieniono nazwe twojego nicku!"
                stop
        else:
            send "Podaj kolor nicku!"
            stop

???

 

Nie wiem czemu, ale on nie wykrywa &4 i &c, jakbyś dał samo 4 i c, to ci wykryje, ale problem jest jak ktos ma c albo 4 w nicku ;//

@MiamiCenter

 

Hmmm

command /zmiennick [<text>]:
	trigger:
		argument 1 contains "&4":
			if player has permission "skript.red":
				execute player command "nick &4%argument 1%"
			else:
				send "&4Blad"

Spróbuj takie coś

bez if argument skrypt w ogole nie działa ;//

command /zmiennick [<text>]:
	trigger:
		if argument 1 contains "&4" or "&c" or "§4" or "§c":
			if player has permission "skript.red":
				execute player command "nick %argument 1%"
			else:
				message "&4Blad"
		else:
			execute player command "nick %argument 1%"

Ten skrypt działa, tylko problem jest z tym że nie wykrywa &4 ale jakbym tam dał samo 4, to wykrywa... Może zamiast żeby wykrywało tekst, to damy żeby wykrywał kolor tekstu?

Opublikowano

A spróbujmy tak?:

command /nick [<text>]:
    permission: essentials.nick
    permission message: Brak uprawnien
    trigger:
        if arg 1 is set:
            set {_v.%player%} to arg-1
            if {_v.%player%} contains "&4" or "&c" or "§4" or "§c":
                if player has permission "essentials.colornick":
                    set display name of player to "%{_v.%player%}%"
                    send "Zmieniono nazwe twojego nicku!"
                    stop
                else:
                    send "Nie mozesz uzywac tych kolorow!"
                    stop
            else:
                set display name of player to "%{_v.%player%}%"
                send "Zmieniono nazwe twojego nicku!"
                stop
        else:
            send "Podaj kolor nicku!"
            stop

.

Opublikowano

 

A spróbujmy tak?:

command /nick [<text>]:
    permission: essentials.nick
    permission message: Brak uprawnien
    trigger:
        if arg 1 is set:
            set {_v.%player%} to arg-1
            if {_v.%player%} contains "&4" or "&c" or "§4" or "§c":
                if player has permission "essentials.colornick":
                    set display name of player to "%{_v.%player%}%"
                    send "Zmieniono nazwe twojego nicku!"
                    stop
                else:
                    send "Nie mozesz uzywac tych kolorow!"
                    stop
            else:
                set display name of player to "%{_v.%player%}%"
                send "Zmieniono nazwe twojego nicku!"
                stop
        else:
            send "Podaj kolor nicku!"
            stop

 

Podałem już działający skrypt, ale plugin tak jakby nie widzi &4 <Bo chyba dostaje informację np. jak wpiszesz /nick &4Kot to dostaje informację: arg1=Kot a nie &4Kot, więc trzeba by było chyba zrobić żeby wykrywał kolor tekstu.

 

Prześpijmy się z tym, ja narazie lecę ;) Jeśli coś wykombinujecie - będę wdzięczny :D! To by musiało być coś w stylu:

command /zmiennick [<text>]:
    trigger:
        if argument 1 has color "red":

I dalej to samo co było wyżej... Tylko nie wiem jak to tak na serio musi być bo jestem nowy w Skryptach :D

 

@1361622928-U485574.pngKsawoX i @AlexsanderARG -> Przeróbcie to tak, żeby działało xD

Opublikowano

@MiamiCenter

 

No to co podałeś to masz:

command /zmiennick [<text>]:
    trigger:
        if argument 1 has color "red":
            execute player command "nick &4%player%"

W dodatku możesz zrobić tak:

command /zmiennick [<text>]:
    trigger:
        if argument 1 is not contains "czerwony" or "bialy" or "czarny" or "zielony":
            send "&cPoprawne kolory to; &4&oczerwony&7, &f&obialy&7, &0&oczarny&7, &azielony"
        if argument 1 "czerwony":
            execute player command "nick &4%player%"
        if argument 1 is "bialy":
            execute player command "nick &f%player%"
        if argument 1 is "czarny":
            execute player command "nick &0%player%"
        if argument 1 is "zielony":
            execute player command "nick &a%player%"

Ale nie wiem czy to działa xD

Opublikowano

@MiamiCenter

 

No to co podałeś to masz:

command /zmiennick [<text>]:
    trigger:
        if argument 1 has color "red":
            execute player command "nick &4%player%"

W dodatku możesz zrobić tak:

command /zmiennick [<text>]:
    trigger:
        if argument 1 is not contains "czerwony" or "bialy" or "czarny" or "zielony":
            send "&cPoprawne kolory to; &4&oczerwony&7, &f&obialy&7, &0&oczarny&7, &azielony"
        if argument 1 "czerwony":
            execute player command "nick &4%player%"
        if argument 1 is "bialy":
            execute player command "nick &f%player%"
        if argument 1 is "czarny":
            execute player command "nick &0%player%"
        if argument 1 is "zielony":
            execute player command "nick &a%player%"

Ale nie wiem czy to działa xD

[16:04:19 ERROR]: can't understand this condition: 'argument 1 has color "red"' (Kolory.sk, line 16: if argument 1 has color "red":')

 

Sproboje zmienić plugin na ten co podał ScoreBoard.

Opublikowano

@MiamiCenter

 

Nie zauważyłem xD

command /zmiennick [<text>]:
    trigger:
        if argument 1 is "red":
            execute player command "nick &4%player%"

Drugie:

command /zmiennick [<text>]:
    trigger:
        if argument 1 is not contains "czerwony" or "bialy" or "czarny" or "zielony":
            send "&cPoprawne kolory to; &4&oczerwony&7, &f&obialy&7, &0&oczarny&7, &azielony"
        if argument 1 is "czerwony":
            execute player command "nick &4%player%"
        if argument 1 is "bialy":
            execute player command "nick &f%player%"
        if argument 1 is "czarny":
            execute player command "nick &0%player%"
        if argument 1 is "zielony":
            execute player command "nick &a%player%"
Opublikowano

ZAMYKAM!

Ten skrypt działa <3:

command /zmiennick [<text>]:
    trigger:
        if argument 1 is set:
            if colored argument 1 contains "&4":
                if player has permission "skript.red":
                    execute player command "essentials:nick %argument 1%"
                else:
                    message "&4Format zarezerwowany dla administracjii"
            else:
                execute player command "essentials:nick %argument 1%"
        else:
            message "&aWpisz swoj nick w kolorach!"

Dziękuję wszystkim za próbę pomocy.

Diabeł tkwi w szczegółach, wystarczyło dać: if colored argument 1 contains "&4": xDDD

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...