Skocz do zawartości
  • 0

Hej potrzebuje skryptu na zmiane bloku co 10, 5, i 15 minut ale by sie nie bagowały


Pytanie

12 odpowiedzi na to pytanie

Rekomendowane odpowiedzi

  • 0
5 godzin temu, poken12 napisał:

chodzi o to że buduje miasto i potrzebuje świateł drogowych jest ktoś w stanie pomóc?

Najprościej będzie napisać w skrypcie kod cyklicznie wykonywany (znany również jako periodical). Może w nim Pan ustawiać osobno każdy blok w danej lokalizacji jak poniżej.

every 5 minutes:
	set {_block} to block at location (100, 100, 100) in world "world"
	if {_block} is red stained hardened clay:
		set {_block} to lime stained hardened clay
	else if {_block} is lime stained hardened clay:
		set {_block} to red stained hardened clay

Nietrudno jednak zauważyć, że takie rozwiązanie jest skrajnie niewydajne. Gdyby Pan miał 50 świateł, musiałby Pan przekopiować taki kod 50 razy. Dlatego lepiej jest utworzyć listę lokalizacji sygnalizatorów świetlnych i ją zapętlić.

every 5 minutes:
	loop {trafficLights::locations::*}:
		set {_block} to block at loop-location
		if {_block} is red stained hardened clay:
			set {_block} to lime stained hardened clay
		else if {_block} is lime stained hardened clay:
			set {_block} to red stained hardened clay

Może Pan tę listę zapełnić właściwie na dwa sposoby.

  1. Ręcznie dodać wszystkie lokalizacje po kolei do listy.
  2. Dodać jakiś mechanizm dodawania lokalizacji sygnalizatora przy prawym kliknięciu na niego lub wpisaniu odpowiedniej komendy.

Szczerze mówiąc, próba oceny tego czy Pan zlecił napisanie skryptu, czy też poprosił o pomoc, przyprawiła mi nieco trudności. Stwierdziłem więc, że wytłumaczę jak ten kod można napisać.

Pozdrawiam.

Edytowane przez Kormic
  • 0
1 minutę temu, poken12 napisał:

dało by rade ustawic to na główke custom?

 

Jak najbardziej, ale nie obędzie się tutaj bez dodatku. Ściślej mówiąc, potrzebny będzie dodatek SkBee. Pozwala on na działanie na NBT, a więc tym samym na otrzymywanie dowolnych główek.

Poradnik dla wersji 1.20.5+ może Pan znaleźć tutaj.  Jeśli jednak Pan korzysta z jednej ze starszych wersji, proszę posłużyć się tym poradnikiem.

W razie wątpliwości proszę pytać.

Pozdrawiam.

  • 0
5 godzin temu, poken12 napisał:

mam pytanko można też nazwać prośbe dałbyś rade połaczyć te główki z tym twoim kodem?

 

Niech Pan jasno określi czy jest to zlecenie, czy też prosi Pan o jakąś podpowiedź.

Jeśli to drugie, może Pan to rozwiązać na dwa sposoby.

  1. Tworzymy trzy listy lokalizacji dla każdego światła (zielone, żółte i czerwone), a następnie przy podmianie sprawdzamy w której z list jest lokalizacja danej główki. W ten sposób jesteśmy w stanie jednoznacznie wskazać jaki ona reprezentuje kolor sygnalizatora świetlnego.
  2. Sprawdzamy przy podmianie świateł NBT główki i porównujemy (prawie) cały znacznik 'SkullOwner' z zapisanymi gdzieś ich wartościami. Innymi słowy, sprawdzamy w NBT jaką wartość ma tekstura główki, a więc sprawdzamy jakiego jest ona koloru.

Mimo wszystko, nie wytłumaczył Pan dokładnej zasady działania tych sygnalizatorów świetlnych (jak zmieniają się kolory, itp.). Prosiłbym więc o taką informację.

Pozdrawiam.

Edytowane przez Kormic
  • 0

jest to zlecenie i chodzi o to że mam zielone i czerwone światło chodzi o to aby one sie zmieniały na czarną całą główkę np. jest zielone to czerwone światło zamienia sie na czarne

  • 0
6 godzin temu, poken12 napisał:

jest to zlecenie i chodzi o to że mam zielone i czerwone światło chodzi o to aby one sie zmieniały na czarną całą główkę np. jest zielone to czerwone światło zamienia sie na czarne

Rozumiem. W takim razie proszę uprzejmie, skrypt nie był testowany.

Ponieważ Pan nie podał wersji serwera, przyjąłem założenie, że kod ma działać na wersji 1.20.5+.

Za pomocą komendy /lightswand może Pan sobie dać różdżkę, która pozwala ustawiać sygnalizatory świetlne. Lewy przycisk myszy ustawia zielone sygnalizatory, a prawy czerwone. Jeśli Pan chce usunąć sygnalizator, wystarczy kliknąć ponownie, aby został on usunięty z listy danych sygnalizatorów.

Co prawda kod mógłby być nieco krótszy poprzez zastosowanie funkcji, jednakże byłoby to przyczyną problemów z zapisaniem w niej wiadomości wysyłanych do gracza.

Pozdrawiam.

  • 0

pozdrawiam i dziękuje 

 

jest jeszcze sprawa że nie ładuje tekstur główek

 

dodałem własne tekstury i nic nie działa

 

ivall

Łączę posty

Notatka dodana przez ivall

  • 0
53 minuty temu, poken12 napisał:

dodałem własne tekstury i nic nie działa

 

Proszę pokazać jak Pan wpisał NBT do skryptu. Proszę podać również wersję serwera i linki do stron z głowami, które chce Pan ustawić.

  • 0
  • 0
Godzinę temu, poken12 napisał:

Pan dodaje do kodu NBT prawidłowe dla wersji 1.20.5+ pomimo faktu, iż Pana serwer korzysta z wersji gry 1.20.1. Mówiłem, aby Pan zwrócił na to uwagę. To jest przyczyną braku działania skryptu.

Dla wersji poniżej 1.20.5, informacje o właścicielu głowy i jej teksturze zawiera znacznik 'SkullOwner'. Proszę więc wybrać na stronie wersję 1.20 i użyć poprawnych dla niej NBT.

Pozdrawiam.

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ę...