Skocz do zawartości
  • 0

Losowe tp


Eldroo
 Udostępnij

Pytanie

Cześć, mam skrypt 
 

Spoiler

 

 

i działa on tylko, jak ktoś kliknie z jednej strony guzik. Blok ma 4 strony i 4 guziki, a działa tylko jeden guzik z jednej strony.... dlaczego


 

options:

    blok1: sponge

 

on rightclick on stone button:

    block behind target block is {@blok1}:

        execute player command "/rtp"        

        stop

 

Edytowane przez xNightPower_
Nieaktywny

Spoiler to nie code.

Odnośnik do komentarza
Udostępnij na innych stronach

9 odpowiedzi na to pytanie

Rekomendowane odpowiedzi

  • 0
4 minuty temu, Eldroo napisał:

i działa on tylko, jak ktoś kliknie z jednej strony guzik. Blok ma 4 strony i 4 guziki, a działa tylko jeden guzik z jednej strony.... dlaczego

Dlatego nie działa, bo 'behind' nie działa tak jak powinno.

Sprawdzaj 'facing of clicked block' i porównuj do wszystkich kierunków świata.

if facing of clicked block is above:
	block 1 below clicked block is sponge
	set {_t} to true
else if facing of clicked block is below:
	block 1 above clicked block is sponge
	set {_t} to true
else if facing of clicked block is north:
	block 1 south clicked block is sponge
	set {_t} to true
	
# (...)

{_t} is set
# Dalszy kod

 

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
8 minut temu, Kormic napisał:

Dlatego nie działa, bo 'behind' nie działa tak jak powinno.

Sprawdzaj 'facing of clicked block' i porównuj do wszystkich kierunków świata.

if facing of clicked block is above:
	block 1 below clicked block is sponge
	set {_t} to true
else if facing of clicked block is below:
	block 1 above clicked block is sponge
	set {_t} to true
else if facing of clicked block is north:
	block 1 south clicked block is sponge
	set {_t} to true
	
# (...)

{_t} is set
# Dalszy kod

 

on rightclick on stone button:
    if facing of clicked block is above:
        block 1 below clicked block is sponge
        set {_t} to true
    else if facing of clicked block is below:
        block 1 above clicked block is sponge
        set {_t} to true
    else if facing of clicked block is north:
        block 1 south clicked block is sponge
        set {_t} to true

    {_t} is set	
    execute console command "/rtp"	

Czy o to chodziło? Jeśli tak, to dalej z jednej strony łapie

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
1 minutę temu, Kormic napisał:

Te trzy kropki nie były tam bez powodu. Uzupełnij sobie resztę kierunków świata (południe, wschód i zachód).

on rightclick on stone button:
    if facing of clicked block is above:
        block 1 below clicked block is sponge
        set {_t} to true
    else if facing of clicked block is below:
        block 1 above clicked block is sponge
        set {_t} to true
    else if facing of clicked block is north:
        block 1 south clicked block is sponge
        execute console command "/say north"
    else if facing of clicked block is north:
        block 1 south clicked block is sponge
        execute console command "/say south"
    else if facing of clicked block is east:
        block 1 south clicked block is sponge
        execute console command "/say east"		
    else if facing of clicked block is west:
        block 1 south clicked block is sponge
        execute console command "/say west"		
		
    {_t} is set	
    execute console command "/rtp"	

Dalej łąpie cały czas to north

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
5 minut temu, Eldroo napisał:

Dalej łąpie cały czas to north

1. Dwa razy sprawdzasz kierunek północny, nigdzie nie sprawdzasz kierunku południowego.

2. Za każdym warunkiem sprawdzającym kierunek świata, w którego stronę zwrócony jest guzik, masz sprawdzanie bloku w stronę kierunku świata przeciwnego do tego od bloku.

Dla przykładu, gdy sprawdzamy czy guzik jest zwrócony w kierunku północnym, chcemy sprawdzić blok od strony południowej względem guzika.

Czyli dla północy sprawdzamy południe, dla wschodu sprawdzamy zachód, dla południa północ, itd.

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

  • 0
37 minut temu, Kormic napisał:

1. Dwa razy sprawdzasz kierunek północny, nigdzie nie sprawdzasz kierunku południowego.

2. Za każdym warunkiem sprawdzającym kierunek świata, w którego stronę zwrócony jest guzik, masz sprawdzanie bloku w stronę kierunku świata przeciwnego do tego od bloku.

Dla przykładu, gdy sprawdzamy czy guzik jest zwrócony w kierunku północnym, chcemy sprawdzić blok od strony południowej względem guzika.

Czyli dla północy sprawdzamy południe, dla wschodu sprawdzamy zachód, dla południa północ, itd.

Nie ogarniam xd, ale raczej powinno złapać inny kierunek niż tylko north

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
1 minutę temu, Eldroo napisał:

Nie ogarniam xd, ale raczej powinno złapać inny kierunek niż tylko north

Sprawdzasz w dwóch warunkach czy guzik jest zwrócony w kierunku północnym, a każdy warunek powinien sprawdzać inny kierunek.

Pokażę na przykładzie.

# Sprawdzamy czy guzik jest zwrócony w kierunku wschodnim
else if facing of clicked block is east:
	# Skoro guzik jest zwrócony w kierunku wschodnim (east), sprawdzamy blok po jego zachodniej stronie (west) (blok, na którym jest położony)
	block 1 west clicked block is sponge
	# Ustawiamy zmienną
	set {_t} to true

 

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
2 minuty temu, Kormic napisał:

Sprawdzasz w dwóch warunkach czy guzik jest zwrócony w kierunku północnym, a każdy warunek powinien sprawdzać inny kierunek.

Pokażę na przykładzie.

# Sprawdzamy czy guzik jest zwrócony w kierunku wschodnim
else if facing of clicked block is east:
	# Skoro guzik jest zwrócony w kierunku wschodnim (east), sprawdzamy blok po jego zachodniej stronie (west) (blok, na którym jest położony)
	block 1 west clicked block is sponge
	# Ustawiamy zmienną
	set {_t} to true

 

Dobra, nie ogarnąłem, że tam jeszcze jest kierunek jeden i temu takie WTF, teraz wszystko działa, a jak moge spradzić czy guzik jest na regionie spawn, jest jest to true a jeśli nie jest to false

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
Teraz, Eldroo napisał:

Dobra, nie ogarnąłem, że tam jeszcze jest kierunek jeden i temu takie WTF, teraz wszystko działa, a jak moge spradzić czy guzik jest na regionie spawn, jest jest to true a jeśli nie jest to false

Przed sprawdzaniem wszystkich kierunków dodaj warunek:

"%region at player%" is "spawn in world twój_świat"

Pierwsze słowo to nazwa regionu, ostatnie to nazwa świata.

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