Skocz do zawartości
  • 0

Odbudowa terenu


Deyvson

Pytanie

2 odpowiedzi na to pytanie

Rekomendowane odpowiedzi

  • 0

Witam, rozwiążę lub pomogę rozwiązać błędy w puntach:

 

Błąd na linii nr. 39
W skripcie, wystarczy że pan da:

if {areny::%player's uuid%::%arg 1%::pos1} or {areny::%player's uuid%::%arg 1%::pos2} is not set:

Bo on i tak sobie sprawdza obie zmienne czy nie są ustawione.

Błąd na linii nr 45
Zakładam, że chciał pan dodać bloki między {_pos1} a {_pos2} do list {_area}.
Po 1, listy, muszą być zakończone symbolami "::*", ponieważ jest to wielowartościowa zmienna.
A do zebrania bloków między dwoma lokacjami, używamy "blocks within {_pos1} and {_pos2}".
Oto poprawiona część kodu, oczywiście pan musi sobie wszystkie zmienne {_area} w kodzie podmienić na listę {_area::*}.

set {_pos1} to {areny::%player's uuid%::%arg 1%::pos1}
set {_pos2} to {areny::%player's uuid%::%arg 1%::pos2}
set {_area::*} to all blocks within {_pos1} and {_pos2}

 

Błąd na linii nr. 50:
Z tego co widzę, pan chce policzyć bloki w liście. Używamy do tego "size of  "

set {regeneracja::%player's uuid%::%arg 1%::total_blocks} to size of {_area::*}

 

Błąd na linii nr. 53:
Aby ten błąd naprawić, musi pan zrobić funkcję o nazwie regeneracja_tick, oraz zaimplementować ją po prostu wpisująć

regeneracja_tick(%player's uuid%, %arg 1%)

Oraz lepiej użyć %player% zamiast player's uuid w funkcjach ponieważ przy tworzeniu, przypisuje pan argument jako "player" a nie "player's uuid".
Więcej informacji o funkcjach znajdzie pan pod tym linkiem.

 

Błąd na linii nr. 63:
Błąd taki sam jak wcześniej, po prostu usuwamy jeden warunek w środku.

if {areny::%player's uuid%::%arg 1%::pos1} and {areny::%player's uuid%::%arg 1%::pos2} is not set:

 

Błąd na linii nr. 86:
Niestety, u mnie ten błąd też się pojawia w skryptach, i rozwiązaniem na to jest po prostu stworzenie parametru "status", i do niego dodawanie wartości. 
W skrócie, musi być jedna lista o nazwie "status", "progress" itd. i do nich, przypisujesz zmienne o nazwie aren.
Przykład:

# Zamiast
if {lista::*::zmienna} = "wartosc": # - "*" tutaj oznacza areny

# Użyj
if {lista::zmienna::nazwa_areny} = "wartość" # - Za pomocą zmiennej, lub pętki dodajesz nazwę areny.

 

 

Mam nadzieję że pomogłem, 

Pozdrawiam.
 

Odnośnik do komentarza
https://skript.pl/temat/58025-odbudowa-terenu/#findComment-344595
Udostępnij na innych stronach

  • 0

dalej 53 i 86

 

W dniu 8.08.2024 o 11:35, naujan napisał:

Witam, rozwiążę lub pomogę rozwiązać błędy w puntach:

 

Błąd na linii nr. 39
W skripcie, wystarczy że pan da:

if {areny::%player's uuid%::%arg 1%::pos1} or {areny::%player's uuid%::%arg 1%::pos2} is not set:

Bo on i tak sobie sprawdza obie zmienne czy nie są ustawione.

Błąd na linii nr 45
Zakładam, że chciał pan dodać bloki między {_pos1} a {_pos2} do list {_area}.
Po 1, listy, muszą być zakończone symbolami "::*", ponieważ jest to wielowartościowa zmienna.
A do zebrania bloków między dwoma lokacjami, używamy "blocks within {_pos1} and {_pos2}".
Oto poprawiona część kodu, oczywiście pan musi sobie wszystkie zmienne {_area} w kodzie podmienić na listę {_area::*}.

set {_pos1} to {areny::%player's uuid%::%arg 1%::pos1}
set {_pos2} to {areny::%player's uuid%::%arg 1%::pos2}
set {_area::*} to all blocks within {_pos1} and {_pos2}

 

Błąd na linii nr. 50:
Z tego co widzę, pan chce policzyć bloki w liście. Używamy do tego "size of  "

set {regeneracja::%player's uuid%::%arg 1%::total_blocks} to size of {_area::*}

 

Błąd na linii nr. 53:
Aby ten błąd naprawić, musi pan zrobić funkcję o nazwie regeneracja_tick, oraz zaimplementować ją po prostu wpisująć

regeneracja_tick(%player's uuid%, %arg 1%)

Oraz lepiej użyć %player% zamiast player's uuid w funkcjach ponieważ przy tworzeniu, przypisuje pan argument jako "player" a nie "player's uuid".
Więcej informacji o funkcjach znajdzie pan pod tym linkiem.

 

Błąd na linii nr. 63:
Błąd taki sam jak wcześniej, po prostu usuwamy jeden warunek w środku.

if {areny::%player's uuid%::%arg 1%::pos1} and {areny::%player's uuid%::%arg 1%::pos2} is not set:

 

Błąd na linii nr. 86:
Niestety, u mnie ten błąd też się pojawia w skryptach, i rozwiązaniem na to jest po prostu stworzenie parametru "status", i do niego dodawanie wartości. 
W skrócie, musi być jedna lista o nazwie "status", "progress" itd. i do nich, przypisujesz zmienne o nazwie aren.
Przykład:

# Zamiast
if {lista::*::zmienna} = "wartosc": # - "*" tutaj oznacza areny

# Użyj
if {lista::zmienna::nazwa_areny} = "wartość" # - Za pomocą zmiennej, lub pętki dodajesz nazwę areny.

 

 

Mam nadzieję że pomogłem, 

Pozdrawiam.
 

[08:28:11 INFO]: Line 53: (MC.sk)
[08:28:11 INFO]:     Functions cannot be used here (or there is a problem with your arguments).
[08:28:11 INFO]:     Line: regeneracja_tick(%player's uuid%, %arg 1%)
[08:28:11 INFO]:
[08:28:11 INFO]: Line 86: (MC.sk)
[08:28:11 INFO]:     A variable's name must not contain any asterisks except at the end after '::' to denote a list variable, e.g. {variable::*} (error in variable {regeneracja::%loop-player's uuid%::*::status})
[08:28:11 INFO]:     Line: if {regeneracja::%loop-player's uuid%::*::status} is "w toku":
[08:28:11 INFO]:
[08:28:11 INFO]: [Skript] Encountered 2 errors while reloading MC.sk! (123ms)

taki błąd

Kormic

Łączę posty. Wstawiam kod do serwisu code.skript.pl, a wycinek konsoli w formatowanie "Kod".

Notatka dodana przez Kormic

Odnośnik do komentarza
https://skript.pl/temat/58025-odbudowa-terenu/#findComment-344681
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.

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

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