Skocz do zawartości
  • 0

Pomoc przy wykonaniu skrypta na animację rąk armor standu.


Pytanie

Więc chciałbym zrobić skrypt na "miniony". Jest to mały armor stand który respi się na 3x3 bloków danej rudy i będzie kopał je w czasie gdy gracz jest offline. Chciałbym aby ruszał on ręką z kilofem co jakiś czas, problem jest taki że nie wiem jak w ogóle się za to zabrać. Szukałem po internecie sposobu na animowanie armor standów skriptem ale nic nie znalazłem. Wie ktoś może jak to zrobić?

Odnośnik do komentarza
https://skript.pl/temat/57499-pomoc-przy-wykonaniu-skrypta-na-animacj%C4%99-r%C4%85k-armor-standu/
Udostępnij na innych stronach

3 odpowiedzi na to pytanie

Rekomendowane odpowiedzi

  • 0

Pisałem kiedyś cos takiego, nie wiem czy pomoże (i czy w ogóle działa) ale możesz sprawdzić :D
Ps. dodatek który używałem kiedy robiłem ten skrypt to chyba SkBee 

Edytowane przez Hiri12
Odnośnik do komentarza
https://skript.pl/temat/57499-pomoc-przy-wykonaniu-skrypta-na-animacj%C4%99-r%C4%85k-armor-standu/#findComment-342399
Udostępnij na innych stronach

  • 0
7 godzin temu, Pixeel133 napisał:

Więc chciałbym zrobić skrypt na "miniony". Jest to mały armor stand który respi się na 3x3 bloków danej rudy i będzie kopał je w czasie gdy gracz jest offline. Chciałbym aby ruszał on ręką z kilofem co jakiś czas, problem jest taki że nie wiem jak w ogóle się za to zabrać. Szukałem po internecie sposobu na animowanie armor standów skriptem ale nic nie znalazłem. Wie ktoś może jak to zrobić?

Nie był w stanie Pan znaleźć jak można taki mechanizm zaimplementować w Skript'cie, gdyż nie wspiera on takich operacji.

W mojej ocenie najprostszym rozwiązaniem będzie wspomożenie się dodatkiem skript-reflect. Od razu informuję, że Pan tutaj nie ucieknie od matematyki (głównie mowa o układach współrzędnych, ich transformowaniu i radianach).

Więc tak. Bukkit API wspiera obracanie poszczególnymi częściami stojaka na zbroję, warto zwrócić szczególną uwagę na wszystkie metody zawierające słowo "Pose". Odpowiadają one za ustawianie kątów obrotów względem każdej z osi układów współrzędnych, co jest realizowane przy pomocy obiektów typu EulerAngle. Więcej o kątach Eulera można poczytać tutaj. Należy odnotować fakt, iż kąty te są podawane w radianach, nie stopniach.

Pokażę Panu przykładowy kod jak można w najprostszy możliwy sposób obrócić prawą rękę stojaka na zbroję względem osi X o pi/4 rad (ekwiwalent 45°).

import:
	java.lang.Math

command /armorstandrotate:
	executable by: players
	trigger:
		spawn armor stand at player
		set {_armorStand} to last spawned armor stand
		{_armorStand}.setArms(true)
		wait 3 seconds
		set {_oldEulerAngle} to {_armorStand}.getRightArmPose()
		set {_oldRotX} to {_oldEulerAngle}.getX()
		set {_rotation} to Math.toRadians(45)
		set {_newRotX} to {_oldRotX} + {_rotation}
		set {_newEulerAngle} to {_oldEulerAngle}.setX({_newRotX})
		{_armorStand}.setRightArmPose({_newEulerAngle})

Opóźnienie dodałem, aby było widać różnicę przed i po pojawieniu się stojaka na zbroję.

Rzecz jasna jest to najbardziej podstawowa operacja, symulacja animacji kopania jest bardziej złożona w implementacji z dwóch względów:

  • obrót układu współrzędnych już nie będzie następował tylko dla jednej, a dla dwóch osi (jeśli nie trzech, jest to prawdopodobne),
  • w celu symulacji płynności animacji będzie musiał Pan w pętli wykonać takie obracanie o mały kąt (na przykład: zamiast wykonywać obrót o 45 stopni, lepszym rozwiązaniem jest dodanie pętli wykonującej 10 razy obrót o 4,5 stopnia).

W razie pytań służę pomocą.

Pozdrawiam.

Edytowane przez Kormic
Odnośnik do komentarza
https://skript.pl/temat/57499-pomoc-przy-wykonaniu-skrypta-na-animacj%C4%99-r%C4%85k-armor-standu/#findComment-342400
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ę...