Skocz do zawartości
  • 0

Skrypt - zwierzęta biegną w twoją strone.


masterekkkk
 Udostępnij

Pytanie

16 odpowiedzi na to pytanie

Rekomendowane odpowiedzi

  • 0
3 minuty temu, masterekkkk napisał:

Witam, jest możliwość zrobienia skrypty, który działałby w sposób że jeżeli gracz ma jakiś item to zwierzęta z promienia 10 kratek będą biegły do niego?

Tak. Wystarczy zapętlać wszystkich graczy, zapętlać wszystkie 'living entities' w promieniu 10 kratek od gracza i jeżeli będzie spełniony warunek 'loop-entity is not a monster', wiesz, że to jest zwierzę, które nie jest agresywne. Wtedy możesz ustawić cel tego loop-entity.

set loop-entity's target to loop-player

 

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
2 minuty temu, masterekkkk napisał:

Niestety na wersji 1.8.8 nie działa takie coś jak:

if loop-entity-2 is a monster:

 

1. Miałeś sprawdzać czy NIE jest potworem.

2. W takim razie musisz sobie wypisać wszystkie potwory.

if loop-entity-2 is not a zombie or skeleton or spider or creeper:

Jeszcze należy tam kilka dorzucić.

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
every 1 seconds:
    loop all players:
        if loop-player's tool is hay block named "&6&lSIANO":
            loop all living entities in radius 50 around loop-player:
                if loop-entity-2 is not a zombie or skeleton or spider or creeper:
                    set loop-entity's-2 target to loop-player

Niestety w ostatniej linijce wyrzuca bład

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
13 minut temu, masterekkkk napisał:
every 1 seconds:
    loop all players:
        if loop-player's tool is hay block named "&6&lSIANO":
            loop all living entities in radius 50 around loop-player:
                if loop-entity-2 is not a zombie or skeleton or spider or creeper:
                    set loop-entity's-2 target to loop-player

Niestety w ostatniej linijce wyrzuca bład

Zamień ją na:
 

set loop-entity-2's target to loop-player

 

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
every 1 seconds:
	loop all players:
		if loop-player is in world "zbieracz":
			if loop-player's tool is hay block named "&6&lSIANO":
				loop all entity in radius 50 around loop-player:
					if loop-entity-2 is not a zombie or skeleton or spider or creeper:
						set loop-entity-2's target to loop-player

Błędy nie ma ale zwierzęta stoją w miejscu

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
1 minutę temu, masterekkkk napisał:
every 1 seconds:
	loop all players:
		if loop-player is in world "zbieracz":
			if loop-player's tool is hay block named "&6&lSIANO":
				loop all entity in radius 50 around loop-player:
					if loop-entity-2 is not a zombie or skeleton or spider or creeper:
						set loop-entity-2's target to loop-player

Błędy nie ma ale zwierzęta stoją w miejscu

A może by tak zamienić loop-entity-2 na po prostu loop-entity?

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
7 minut temu, masterekkkk napisał:

Błędy nie ma ale zwierzęta stoją w miejscu

Powinieneś zamienić pętlę 'loop all players' na 'loop all players in world "twój_świat":'. Wtedy możesz się pozbyć tego warunku, a i będzie to nieco mniej obciążające.

Zmniejsz również ten dystans o ile to możliwe, bo 50 kratek to jest dużo.

Ostatnia sprawa to zamiana 'loop all entity' na 'loop all living entities'. Tutaj też zmniejszymy ilość zbędnych obliczeń.

EDIT:

Skoro nie działa, zrób sobie z tego loop-value-1 i loop-value-2.

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

  • 0

W dalszym ciągu nie działa, nie wazne czy uzywam: loop-entity-2 czy loop-value-2

 

every 1 seconds:
    loop all players in world "zbieracz":
        if loop-player's tool is hay block named "&6&lSIANO":
            loop all living entities in radius 10 around loop-player:
                if loop-entity-2 is not a zombie or skeleton or spider or creeper:
                    set loop-entity-2's target to loop-player

 

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
9 minut temu, masterekkkk napisał:

W dalszym ciągu nie działa, nie wazne czy uzywam: loop-entity-2 czy loop-value-2

 


every 1 seconds:
    loop all players in world "zbieracz":
        if loop-player's tool is hay block named "&6&lSIANO":
            loop all living entities in radius 10 around loop-player:
                if loop-entity-2 is not a zombie or skeleton or spider or creeper:
                    set loop-entity-2's target to loop-player

Dobrze, więc zadam kilka pytań.

1. Czy znajdujesz się w świecie "zbieracz"?

2. Czy trzymasz w ręce blok siana o nazwie "&6&lSIANO"?

3. Czy są jakiekolwiek zwierzęta w promieniu 10 metrów od ciebie?

Co do twojego kodu, zamień pierwsze oraz drugie 'loop-player' na 'loop-value'. Trzecie zamień na 'loop-value-1'. A co do 'loop-entity', zamień oba na 'loop-value-2'.

Jeżeli nadal nie zadziała, zrób sobie kilka 'send' w kodzie, abyś wiedział gdzie się przerywa.

EDIT:

Jeżeli dochodzi do końca, znaczy że Skript nie pozwala na ustawienie targetu zwierząt (a to byłoby dziwne).

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

  • 1
10 minut temu, masterekkkk napisał:

W dalszym ciągu nie działa, nie wazne czy uzywam: loop-entity-2 czy loop-value-2

 


every 1 seconds:
    loop all players in world "zbieracz":
        if loop-player's tool is hay block named "&6&lSIANO":
            loop all living entities in radius 10 around loop-player:
                if loop-entity-2 is not a zombie or skeleton or spider or creeper:
                    set loop-entity-2's target to loop-player

 

 

Masz tu rozwiązanie:

every 1 seconds:
    loop all players in world "zbieracz":
        if loop-player's tool is hay block named "&6&lSIANO":
            loop all living entities in radius 10 around loop-player:
                if loop-value-2 is not a zombie or skeleton or spider or creeper:
                    make loop-value-2 pathfind to loop-player with speed 1

Wymaga: SkQuery-Lime

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

  • 0
1 minutę temu, PanAnimek napisał:

Masz tu rozwiazanie:

Masz tu rozwiązanie:

every 1 seconds:
    loop all players in world "zbieracz":
        if loop-player's tool is hay block named "&6&lSIANO":
            loop all living entities in radius 10 around loop-player:
                if loop-value-2 is not a zombie or skeleton or spider or creeper:
                    make loop-value-2 pathfind to loop-player with speed 1

 

Och, dziękujemy ci serdecznie za ten gotowy kod, na pewno wiele się z niego nauczy oraz nabierze samodzielności.

Spoonfeeding ssie i nawet nie podałeś wymagań, a później będzie płacz i zgrzytanie zębów, że nie działa.

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
1 minutę temu, Kormic napisał:

Och, dziękujemy ci serdecznie za ten gotowy kod, na pewno wiele się z niego nauczy oraz nabierze samodzielności.

Spoonfeeding ssie i nawet nie podałeś wymagań, a później będzie płacz i zgrzytanie zębów, że nie działa.

Tak, bo zmiana CAŁEJ JEDNEJ LINII i podanie jej już jako całości z tym, do czego doszedł wcześniej jest ZBRODNIĄ 😮

A co do wymagań, edytowałem praktycznie zaraz po wrzuceniu ;)

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