Skocz do zawartości
  • 0

dodawanie do listy aktualnego stanu HP loop-entity


piter909
 Udostępnij

Pytanie

Hej,

Mam problem ze skriptem, a mianowicie, gdy próbuję dodać aktualne HP loop-entity do listy, nie przypisuje się do niej żadna wartość. Przy reloadzie skripta nie ma żadnych błędów.

kod:

command test:	trigger:		if player is op:			loop all entities:				if loop-entity is ender dragon:					add 1 to {_ldrag}					add health of loop-entity to {_hp::*}					wait 1 tick					if {_ldrag} > 1:						clear loop-entity								send "lista hp: %{_hp::*}%" to player

W miejscu z {_hp: :*} jest wartość <none>. Wie ktoś może jak odwołać się poprawnie do aktualnego stanu hp loop-entity i dopisać go do listy? 

Skrypt ma komendą kasować wszystkie smoki i zostawiać tylko 1, który ma najmniej HP. Aktualnie zatrzymałem się na setowaniu zmiennych xD

Próbowałem także z "loop-entity's health", "rounded health of loop-entity"

 

Będę wdzięczny za każdą pomoc :D

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

4 odpowiedzi na to pytanie

Rekomendowane odpowiedzi

  • 0
command /zabijsmoki:    trigger:        loop all enderdragons:            set {_lista::%health of loop-entity%} to loop-entity            set {_kill::%loop-entity%} to true        loop {_lista::*}:            clear {_kill::%{_lista::%loop-index%}%}            clear {_lista::%loop-index%}            exit loop        loop all enderdragons:            {_kill::%loop-entity%} is true:                delete loop-entity
Pewnie można krócej, ale to powinno zadziałać.
Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
command /zabijsmoki:    trigger:        loop all enderdragons:            set {_lista::%health of loop-entity%} to loop-entity            set {_kill::%loop-entity%} to true        loop {_lista::*}:            clear {_kill::%{_lista::%loop-index%}%}            clear {_lista::%loop-index%}            exit loop        loop all enderdragons:            {_kill::%loop-entity%} is true:                delete loop-entity
Pewnie można krócej, ale to powinno zadziałać.

 

Skrypt o dziwo jednak działa :x

Wytłumaczysz mi jak to funkcjonuje? Bo nie potrafię tego zrozumieć :x

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

  • 0

Hmm, musisz wiedzieć że jeżeli lista ma fromat np.

{lista::1} i {lista::2} to przy loopie one zawsze się ułożą od najmniejszego indexu do największego, nawet jeżeli te liczby są ułamkiem, jak w przypadku hp.

Jeżeli loop-index jest stringiem to układają się alfabetycznie.

Lista z życiem ma wygląd "hp => entity"

Dobra, tak więc dla wszystkich smoków ustawiam zmienną {_kill::%loop-entity%} na true

ma ona wygląd "entity => true"

Potem zapętlam listę hp (czyli od najmniejszego hp zaczynając) i usuwam zmienną {_kill} dla tego smoka.

Po czym wychodzę z loopa żeby to się stało tylko dla tego jednego smoka :D

Potem znowu zapętlam smoki, sprawdzam czy {_kill::%loop-entity%} jest true i usuwam tego dziada xD

Trochę skomplikowane, można to było zrobić z samą listą hp (bez listy kill) ale tak mi najpierw przyszło do głowy :)

Odnośnik do komentarza
Udostępnij na innych stronach

Nieaktywny
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.
 Udostępnij

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

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