Skocz do zawartości
  • 0

Wykrywanie mobów na chunku


Gość Mopsior
 Udostępnij

Pytanie

Witam, potrzebuje pomocy. Jak zrobić żeby jak jest na jednym chunku np więcej niż 15 mobów to ustawiało zmienną {mobyspawn} na false.

Z góry dziękuję!

EDIT: Chodzi że maks 15 mobów z nazwą Zombie wszędzie lub na chunku

 

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

7 odpowiedzi na to pytanie

Rekomendowane odpowiedzi

  • 0
Teraz, Mopsior napisał:

Witam, potrzebuje pomocy. Jak zrobić żeby jak jest na jednym chunku np więcej niż 15 mobów to ustawiało zmienną {mobyspawn} na false.

Z góry dziękuję!

Możesz w ten sposób policzyć moby w chunku, na którym jest gracz. Wymagane SkQuery.

command /test:
	trigger:
		loop all living entities within chunk at player:
			if loop-entity is not player:
				add 1 to {_num}
		broadcast "Na tym chunku jest %{_num}% mobow!"

 

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
2 minuty temu, Mopsior napisał:

a da się że z daną nazwą i np. eventem lub ifem a nie komendą?

 

W takim wypadku mógłbyś to w ten sposób zrobić:

on join:
	while player is online:
		loop all living entities within chunk at player:
			if loop-entity is not player:
				if name of loop-entity is "Nazwa":
					add 1 to {_num}
		broadcast "Na tym chunku jest %{_num}% mobow!"
		wait 30 seconds

EDIT:

Poprawiłem skrypt, bo był błąd.

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

  • 0
27 minut temu, Mopsior napisał:

jesli usunę at player to będzie na wszystkich chunkach bo mi na tym zależy (czy jest tak jak w przypadku innej komendy że wszystkie co widać)

To będzie obciążało serwer. Użyj lepiej jakiegoś pluginu do tego typu rzeczy.

EDIT:

Pamiętaj też, że chunki po jakimś czasie (bodajże 60 sekund) znikają.

EDIT:

Mimo wszystko postanowiłem spróbować zrobić skrypt, sprawdź czy zadziała:

every 30 seconds:
	loop all living entities:
		if loop-entity is not player:
			if name of loop-entity is "Zombie":
				add loop-entity to {_livingEntities::atChunk::%chunk at loop-entity%::*}
	loop {_livingEntities::atChunk::*}:
		if size of {_livingEntities::atChunk::%loop-index%::*} is greater than 15:
			set {_num} to size of {_livingEntities::atChunk::%loop-index%::*}
			loop ({_num} - 15) times:
				set {_entity} to random entity out of {_livingEntities::atChunk::%loop-index%::*}
				kill {_entity}
				remove {_entity} from {_livingEntities::atChunk::%loop-index%::*}

 

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

  • 0
on spawn:
	if event-entity is not zombie:
		stop
	loop all living entities in chunk at event-entity:
		if loop-entity is not player:
			if name of loop-entity is "Zombie":
				add 1 to {_mobs}
	if {_mobs} >= 15:
		cancel event

 

Edytowane przez xAxee
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ę...