Skocz do zawartości
  • 0

Błąd every 1 minute


Pytanie

[09:48:59] [Server thread/ERROR]: #!#!
[09:48:59] [Server thread/ERROR]: #!#! [Skript] Severe Error:
[09:48:59] [Server thread/ERROR]: #!#!
[09:48:59] [Server thread/ERROR]: #!#! Something went horribly wrong with Skript.
[09:48:59] [Server thread/ERROR]: #!#! This issue is NOT your fault! You probably can't fix it yourself, either.
[09:48:59] [Server thread/ERROR]: #!#! It looks like you are using some plugin(s) that alter how Skript works (addons).
[09:48:59] [Server thread/ERROR]: #!#! Here is full list of them:
[09:48:59] [Server thread/ERROR]: #!#! skRayFall v1.9.23 (https://sk.rayfall.net/) skript-reflect v2.1.0 (https://github.com/TPGamesNL/skript-reflect) SkQuery v4.1.4 Skellett v1.9.11 (https://forums.skunity.com/resources/skellett.24/)
[09:48:59] [Server thread/ERROR]: #!#! We could not identify which of those are specially related, so this might also be Skript issue.
[09:48:59] [Server thread/ERROR]: #!#! You should try disabling those plugins one by one, trying to find which one causes it.
[09:48:59] [Server thread/ERROR]: #!#! If the error doesn't disappear even after disabling all listed plugins, it is probably Skript issue.
[09:48:59] [Server thread/ERROR]: #!#! In that case, you will be given instruction on how should you report it.
[09:48:59] [Server thread/ERROR]: #!#! On the other hand, if the error disappears when disabling some plugin, report it to author of that plugin.
[09:48:59] [Server thread/ERROR]: #!#! Only if the author tells you to do so, report it to Skript's issue tracker.
[09:48:59] [Server thread/ERROR]: #!#!
[09:48:59] [Server thread/ERROR]: #!#! Stack trace:
[09:48:59] [Server thread/ERROR]: #!#! java.lang.IllegalArgumentException: Score 'Czas: <none>D/<none>H/<none>M' is longer than the limit of 40 characters
[09:48:59] [Server thread/ERROR]: #!#! at org.apache.commons.lang.Validate.isTrue(Validate.java:136)
[09:48:59] [Server thread/ERROR]: #!#! at org.bukkit.craftbukkit.v1_16_R1.scoreboard.CraftObjective.getScore(CraftObjective.java:121)
[09:48:59] [Server thread/ERROR]: #!#! at net.rayfall.eyesniper2.skrayfall.scoreboard.EffSetScore.execute(EffSetScore.java:63)
[09:48:59] [Server thread/ERROR]: #!#! at ch.njol.skript.lang.Effect.run(Effect.java:51)
[09:48:59] [Server thread/ERROR]: #!#! at ch.njol.skript.lang.TriggerItem.walk(TriggerItem.java:60)
[09:48:59] [Server thread/ERROR]: #!#! at ch.njol.skript.lang.TriggerItem.walk(TriggerItem.java:88)
[09:48:59] [Server thread/ERROR]: #!#! at ch.njol.skript.effects.Delay$1.run(Delay.java:108)
[09:48:59] [Server thread/ERROR]: #!#! at org.bukkit.craftbukkit.v1_16_R1.scheduler.CraftTask.run(CraftTask.java:99)
[09:48:59] [Server thread/ERROR]: #!#! at org.bukkit.craftbukkit.v1_16_R1.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:468)
[09:48:59] [Server thread/ERROR]: #!#! at net.minecraft.server.v1_16_R1.MinecraftServer.b(MinecraftServer.java:1356)
[09:48:59] [Server thread/ERROR]: #!#! at net.minecraft.server.v1_16_R1.DedicatedServer.b(DedicatedServer.java:378)
[09:48:59] [Server thread/ERROR]: #!#! at net.minecraft.server.v1_16_R1.MinecraftServer.a(MinecraftServer.java:1269)
[09:48:59] [Server thread/ERROR]: #!#! at net.minecraft.server.v1_16_R1.MinecraftServer.v(MinecraftServer.java:1001)
[09:48:59] [Server thread/ERROR]: #!#! at net.minecraft.server.v1_16_R1.MinecraftServer.lambda$a$0(MinecraftServer.java:177)
[09:48:59] [Server thread/ERROR]: #!#! at java.base/java.lang.Thread.run(Thread.java:834)
[09:48:59] [Server thread/ERROR]: #!#!
[09:48:59] [Server thread/ERROR]: #!#! Version Information:
[09:48:59] [Server thread/ERROR]: #!#! Skript: 2.5.3 (latest)
[09:48:59] [Server thread/ERROR]: #!#! Flavor: skriptlang-github
[09:48:59] [Server thread/ERROR]: #!#! Date: 2020-12-11
[09:48:59] [Server thread/ERROR]: #!#! Bukkit: 1.16.1-R0.1-SNAPSHOT
[09:48:59] [Server thread/ERROR]: #!#! Minecraft: 1.16.1
[09:48:59] [Server thread/ERROR]: #!#! Java: **.**.**.** (OpenJDK 64-Bit Server VM **.**.**.**+1-post-Debian-1deb10u2)
[09:48:59] [Server thread/ERROR]: #!#! OS: Linux amd64 4.19.0-12-cloud-amd64
[09:48:59] [Server thread/ERROR]: #!#!
[09:48:59] [Server thread/ERROR]: #!#! Server platform: Paper
[09:48:59] [Server thread/ERROR]: #!#!
[09:48:59] [Server thread/ERROR]: #!#! Current node: null
[09:48:59] [Server thread/ERROR]: #!#! Current item: null
[09:48:59] [Server thread/ERROR]: #!#! Current trigger: every 1 minute and 15 seconds (every 1 minute and 15 seconds) (bok.sk, line 2)
[09:48:59] [Server thread/ERROR]: #!#!
[09:48:59] [Server thread/ERROR]: #!#! Thread: Server thread
[09:48:59] [Server thread/ERROR]: #!#!
[09:48:59] [Server thread/ERROR]: #!#! Language: english
[09:48:59] [Server thread/ERROR]: #!#! Link parse mode: STRICT
[09:48:59] [Server thread/ERROR]: #!#!
[09:48:59] [Server thread/ERROR]: #!#! End of Error.
[09:48:59] [Server thread/ERROR]: #!#!

Witam, taki błąd mi spami w konsolce rozumiem że chodzi o event every 1 minute a dokładniej o zbyt durzą ilość znaków w linijce na scoreboard która wygląda tak:

set score "&cCzas&7: %{czas::%loop-player%::dni}%D&7/&7%{czas::%loop-player%::godziny}%H&7/&7%{czas::%loop-player%::minuty}%M" in sidebar of loop-player to -11

Da rade coś z tym zrobić? czy muszę się np jednej z zmiennych pozbyć? No chyba że chodzi o coś innego to proszę mnie uświadomić. Z góry dziękuję.

Odnośnik do komentarza
https://skript.pl/temat/44943-b%C5%82%C4%85d-every-1-minute/
Udostępnij na innych stronach

10 odpowiedzi na to pytanie

Rekomendowane odpowiedzi

  • 0

Jak widać błąd jest tutaj:

4 minuty temu, suchymonster napisał:

Score 'Czas: <none>D/<none>H/<none>M' is longer than the limit of 40 characters

 

Jest <none>, czyli {czas::%loop-player%::dni} nie ma wartości. Powiedz mi jaki czas liczysz?

Pokaż cały kod

Edytowane przez CoFFeIN04
Odnośnik do komentarza
https://skript.pl/temat/44943-b%C5%82%C4%85d-every-1-minute/#findComment-282551
Udostępnij na innych stronach

  • 0
1 minutę temu, CoFFeIN04 napisał:

Jak widać błąd jest tutaj:

 

Jest <none>, czyli {czas::%loop-player%::dni} nie ma wartości. Powiedz mi jaki czas liczysz?

Pokaż cały kod

co minute dodaje 1 do minut gracza, sprawdzam czy ma ustawione te minuty jesli nie to ustawiam a jesli ma to tylko dodaje. nawet z tym <none> to tylko 29 znaków

Odnośnik do komentarza
https://skript.pl/temat/44943-b%C5%82%C4%85d-every-1-minute/#findComment-282552
Udostępnij na innych stronach

  • 0

No to nie rób tak, masz https://docs.skunity.com/syntax/search/id:5254

Nie musisz tego zliczać.

1 minutę temu, suchymonster napisał:

<none> to tylko 29 znaków

nie wiem czy przypadkiem kolorki się nie liczą

Odnośnik do komentarza
https://skript.pl/temat/44943-b%C5%82%C4%85d-every-1-minute/#findComment-282553
Udostępnij na innych stronach

  • 0
36 minut temu, suchymonster napisał:

zostawiłem dwa kolorki co razem daje 33 znaki, zobaczę czy pomogło i dam znać

 

Zapewne w tych zmiennych powinieneś mieć zapisane o wiele krótsze wartości niż nazwy tych zmiennych.

"&cCzas&7: %{czas::%loop-player%::dni}%D&7/&7%{czas::%loop-player%::godziny}%H&7/&7%{czas::%loop-player%::minuty}%M" # Tutaj masz 114 znaków
"&cCzas&7: 10D&7/&723H&7/&722M" # Tutaj masz 29 znaków - podstawiłem przykładowe liczby 10D/23H/22M

Z trzema "<none>" wychodzi 41 znaków. Tak więc wystarczy cokolwiek ustawić do tych zmiennych, aby zadziałało, nawet nie trzeba zmieniać żadnych kolorków.

EDIT:

Tak, kolorki zaliczają się do długości nazwy, gdyż SkRayFall od razu sprawdza długość przed parse'owaniem kolorów.

Edytowane przez Kormic
Odnośnik do komentarza
https://skript.pl/temat/44943-b%C5%82%C4%85d-every-1-minute/#findComment-282561
Udostępnij na innych stronach

  • 0
1 godzinę temu, CoFFeIN04 napisał:

No to nie rób tak, masz https://docs.skunity.com/syntax/search/id:5254

Nie musisz tego zliczać.

nie wiem czy przypadkiem kolorki się nie liczą

Słuszna uwaga, głupim jest liczenie tego samemu, tylko jak chce to przetłumaczyć to jakoś mi się to nie chce pozamieniać wiesz może dlaczego? robię to w taki sposób:

			loop all offline players:
				set {timeplayed::%loop-value%} to time played of loop-value
				replace all "days" in {timeplayed::%loop-value%} with "dni"

 

Odnośnik do komentarza
https://skript.pl/temat/44943-b%C5%82%C4%85d-every-1-minute/#findComment-282593
Udostępnij na innych stronach

  • 0

Zapewne najpierw musi być with a dopiero potem in.

Możesz skorzystać z funkcji translateTimespan(), link: https://skript.pl/temat/43757-naprawa-skript-na-kit/?do=findComment&comment=274141

Lub możesz się nią wzorować i przerobić pod swoje wymagania

WIęcej info tutaj https://docs.skunity.com/syntax/search/id:5024

 

edit:

26 minut temu, suchymonster napisał:

loop all offline players:

zauważyłem teraz, że loopujesz graczy offline, a to w jakim celu, skoro im się ten scoreboard nie musi wyświetlać, nie musisz też tego zapisywać do zmiennej, tzn. użyć zmiennej tymczasowej (więcej informacji znajdzie tutaj)

 

Edytowane przez CoFFeIN04
Odnośnik do komentarza
https://skript.pl/temat/44943-b%C5%82%C4%85d-every-1-minute/#findComment-282597
Udostępnij na innych stronach

  • 0
22 minuty temu, suchymonster napisał:

Słuszna uwaga, głupim jest liczenie tego samemu, tylko jak chce to przetłumaczyć to jakoś mi się to nie chce pozamieniać wiesz może dlaczego? robię to w taki sposób:

Nie możesz odczytać czasu gry gracza offline, musisz zapisywać przy jego wyjściu z serwera czas gry do jakiejś zmiennej.

Co do funkcji translateTimespan(), to jest aktualna wersja.

function translateTimespan(t: timespan) :: text:
	set {_t} to "%{_t}%"
	set {_eng::*} to "years", "year", "months", "month", "days", "day", "hours", "hour", "minutes", "minute", "seconds", "second" and " and "
	set {_pol::*} to "lat", "rok", "miesięcy", "miesiąc", "dni", "dzień", "godzin", "godzinę", "minut", "minutę", "sekund", "sekundę" and ", "
	loop {_eng::*}:
		replace all loop-value with {_pol::%loop-index%} in {_t}
	return {_t}

Przykład użycia:

send "%translateTimespan({czasGry::%player%})%" to player

 

Odnośnik do komentarza
https://skript.pl/temat/44943-b%C5%82%C4%85d-every-1-minute/#findComment-282608
Udostępnij na innych stronach

  • 0
29 minut temu, CoFFeIN04 napisał:

Zapewne najpierw musi być with a dopiero potem in.

Możesz skorzystać z funkcji translateTimespan(), link: https://skript.pl/temat/43757-naprawa-skript-na-kit/?do=findComment&comment=274141

Lub możesz się nią wzorować i przerobić pod swoje wymagania

WIęcej info tutaj https://docs.skunity.com/syntax/search/id:5024

 

edit:

zauważyłem teraz, że loopujesz graczy offline, a to w jakim celu, skoro im się ten scoreboard nie musi wyświetlać, nie musisz też tego zapisywać do zmiennej, tzn. użyć zmiennej tymczasowej (więcej informacji znajdzie tutaj)

 

tak wiem, ta pętla była jednorazowa. na stałe będzie pobierane przy wychodzeniu. poprostu nie chciałem topki czasu spędzonego na serwerze zepsuć, bo kilka z osób topowych juz nie gra. Dziękuję za uwagę problem zażegnany miłego wieczoru Panowie.

Odnośnik do komentarza
https://skript.pl/temat/44943-b%C5%82%C4%85d-every-1-minute/#findComment-282612
Udostępnij na innych stronach

Nieaktywny
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...