Skocz do zawartości
  • 0

"An internal error occurred while attempting to perform this command." - błąd, który nie wyświetla StackTrace.


Savorski
 Udostępnij

Pytanie

Cześć,
Podczas wykonywania komendy napisanej w skrypcie w pewnym momencie otrzymuję błąd: 

An internal error occurred while attempting to perform this command.

Wiem na pewno, że błąd nie jest związany z samym silnikiem Skript - jestem w momencie pisania placeholdera z integracją PlaceholderAPI, używając placeholderów w języku skript z użyciem addonu Ersatz (który umożliwia uzycie placeholderów z PlaceholderAPI w Skript). Nie powiem, że zależy mi na wyświetlaniu bloku błędów - szybciej bym mógł dowiedzieć się, gdzie dany błąd jest, nie? :thinking:

w config.yml ustawioną mam wartość verbosity: debug - wciąż bez skutku.

Wersja skripta: 2.2, na 2.4.1 również bez lepszego rezultatu.
Wersja MC: 1.9.4 (CraftBukkit version git-Spigot-c6871e2-0cd0397 (MC: 1.9.4) (Implementing API version 1.9.4-R0.1-SNAPSHOT))

Odnośnik do komentarza
Udostępnij na innych stronach

6 odpowiedzi na to pytanie

Rekomendowane odpowiedzi

  • 0

Nie chcę zbyt wiele pokazywać, więc pokażę tylko miejsce, do którego skrypt się wykonuje - widzę to estymacyjnie, ale trochę jeszcze mechanikę Skripta kojarzę ;)

command /dane [<offlineplayer>]:
	trigger:
		if offlineplayer arg has played before: 
			set {_nick} to offlineplayer arg        
			set {_ban} to placeholder "lapisbans_status_Ban_%{_nick}%"         
			set {_banos} to placeholder "lapisbans_sender_Ban_%{_nick}%"                  
			set {_banpowod} to placeholder "lapisbans_reason_Ban_%{_nick}%"

Jedna z tych tymczasowych zmiennych podejrzewam, że zwraca NullPointerException. Która? Tego skript nie pokazuje przez StackTrace. Dalsza część kodu to `if {_ban} contains "true":`, które akurat działa poprawnie - więc zmienną ban i nick mamy z głowy. Tak więc pozostają nam dwie zmienne, które można podejrzewać o NullPointer - {_banos} i {_banpowod}. Nawet jakbym zgadł o którą chodzi, wciąż nie dowiem się w którym momencie placeholder zwraca NullPointerException.

Jeżeli to miałoby pomóc, podaję listę pluginów na serwerze testowym:

- Ersatz
- LapisBans
- LapisBansPlaceholders (plugin na placeholdery, które tworzę.)
- PlaceholderAPI
- Skript (2.2-dev35b)

PlaceholderAPI (o ile widzę) nie umożliwia włączania trybu debugowania, Ersatz - nawet nie tworzy pliku konfiguracyjnego.

Edytowane przez Savorski
Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
5 minut temu, PanMaruda napisał:

A ten plugin nie przechowuje przypadkiem danych graczy w swoim folderze? Yaml? A może da się takie coś włączyć w konfiguracji?

- Ersatz nie ma nawet folderu, gdzie miałby cokolwiek przechować
- PlaceholderAPI nie posiada takowego miejsca
- LapisBans przechowuje graczy w MySQL / SQLite / H2.

5 minut temu, PanMaruda napisał:

Wtedy byłoby dużo prościej to pobrać, aniżeli bawić się placeholderami...

Nie rozumiem. Każdy placeholder pobiera dane z API LapisBans. Nie ma żadnej mowy tutaj o sprawdzaniu po plikach (gosh, po YML tym bardziej) danych graczy.

Edytowane przez Savorski
Odnośnik do komentarza
Udostępnij na innych stronach

Dołącz do dyskusji

Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.

Nieaktywny
Odpowiedz na pytanie...

×   Wklejono zawartość z formatowaniem.   Usuń formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić grafiki. Dodaj lub załącz grafiki z adresu URL.

 Udostępnij

  • Ostatnio przeglądający   0 użytkowników

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