Skocz do zawartości
  • 0

Skrypt na lokalizacje


Misio12320
 Udostępnij

Pytanie

Witam, proszę o poprawienie lokalizacji oraz zamianę "execute console command" na "teleport" ze Skripta.

on rightclick on any sign:
	if location of clicked block is (x: -216, y: 97, z: 211, world: "swiat"):
		player is not "Wujek_Marcin"
		if player's balance is more than 50:
			remove 50 from player's balance
			execute console command "tppos %player% -213 96 210 swiat"
	if location of clicked block is (-214, 97, 209, world "swiat"):
		execute console command "tppos %player% -213 96 210 swiat"

 

Odnośnik do komentarza
Udostępnij na innych stronach

6 odpowiedzi na to pytanie

Rekomendowane odpowiedzi

  • 0
11 minut temu, Misio12320 napisał:

poprawienie lokalizacji

Użyj w tym celu funkcji location().

location of clicked block is (0, 0, 0, ("world" parsed as world))

Należy pamiętać o tym, że dokładna lokalizacja bloku to jego centrum (czyli blok na 0, 0, 0 to będzie 0.5, 0.5, 0.5) chociaż koordynaty bez przecinka powinny również przejść.

14 minut temu, Misio12320 napisał:

zamianę "execute console command" na "teleport" ze Skripta.

Tutaj używamy efektu 'teleport'.

teleport player to location at (0, 0, 0) in world "world"

# Lub

teleport player to location(0, 0, 0, ("world" parsed as world))

 

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
2 godziny temu, Kormic napisał:

Użyj w tym celu funkcji location().


location of clicked block is (0, 0, 0, ("world" parsed as world))

Należy pamiętać o tym, że dokładna lokalizacja bloku to jego centrum (czyli blok na 0, 0, 0 to będzie 0.5, 0.5, 0.5) chociaż koordynaty bez przecinka powinny również przejść.

Tutaj używamy efektu 'teleport'.


teleport player to location at (0, 0, 0) in world "world"

# Lub

teleport player to location(0, 0, 0, ("world" parsed as world))

 

on rightclick on any sign:
	send "%location of clicked block%"
	location of clicked block is (-215.5, 97.5 ,211.5, ("swiat" parsed as world))
	player is not "Wujek_Marcin"
	if player's balance is more than 50:
		remove 50 from player's balance
		teleport player to location(-213.5, 96.5, 210.5, ("swiat" parsed as world))
	location of clicked block is (-213.5, 97.5, 209.5, ("swiat" parsed as world))
	teleport player to location at (-213.5, 96.5, 210.5) in world "swiat"

nie działa, żadnych błędów, tylko sugestie, że powininem użyć and/or. Nic się nie dzieje ani tu ani tam

Odnośnik do komentarza
Udostępnij na innych stronach

  • 1
2 minuty temu, Misio12320 napisał:

on rightclick on any sign:
	send "%location of clicked block%"
	location of clicked block is (-215.5, 97.5 ,211.5, ("swiat" parsed as world))
	player is not "Wujek_Marcin"
	if player's balance is more than 50:
		remove 50 from player's balance
		teleport player to location(-213.5, 96.5, 210.5, ("swiat" parsed as world))
	location of clicked block is (-213.5, 97.5, 209.5, ("swiat" parsed as world))
	teleport player to location at (-213.5, 96.5, 210.5) in world "swiat"

nie działa, żadnych błędów, tylko sugestie, że powininem użyć and/or. Nic się nie dzieje ani tu ani tam

Hmm... mam jeszcze trzy pomysły.

1. Spróbuj z wywoływania funkcji wywalić świat.

# Zamiast tego:
location(0.5, 0.5, 0.5, ("world" parsed as world))

# Dajesz to:
location(0.5, 0.5, 0.5)

2. Parseuj lokalizację na tekst i spróbuj porównać dwa teksty.

"%location of clicked block%" is "x: 100.5, y: 100.5, z: 100.5":

3. Sprawdź dystans między lokalizacjami.

if distance between location of clicked block and location at (100.5, 100.5, 100.5) is less than 0.5:

 

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
W dniu 30.11.2020 o 19:00, Kormic napisał:

Hmm... mam jeszcze trzy pomysły.

1. Spróbuj z wywoływania funkcji wywalić świat.



# Zamiast tego:
location(0.5, 0.5, 0.5, ("world" parsed as world))

# Dajesz to:
location(0.5, 0.5, 0.5)

2. Parseuj lokalizację na tekst i spróbuj porównać dwa teksty.



"%location of clicked block%" is "x: 100.5, y: 100.5, z: 100.5":

3. Sprawdź dystans między lokalizacjami.



if distance between location of clicked block and location at (100.5, 100.5, 100.5) is less than 0.5:

 

on right click on any sign:
	location(5.5, 70.5, 77.5)
	"%location of clicked block%" is "x: 5.5, y: 70.5, z: 77.5":
		send "yes"
		if distance between location of clicked block and location at (5.5, 70.5, 77.5) is less than 0.5:
			send "works"

nadal nic się nie wysyła. jak daję na początku send "%location of clicked block%" to wysyła X.5 Y.5 Z.5, więc tu działa, ale dalej już nie

 

Edit: problem rozwiązany: Trzeba było usunąć polecenie nr 2. "(location..)"...

 

Edit2: na serwerze testowym działało, na publicznym już nie.

on rightclick on any sign:
	send "%location of clicked block%"
	"%location of clicked block%" is "x: -215.5, y: 97.5 z: 211.5":
		if distance between location of clicked block and location at (-215.5, 97.5, 211.5) is less than 1.5:
			send "yes"

Powyżej znajduje się kod na publicznym, który nie dziala.

Poniżej znajduje się kod na testowym, który działa

on right click on any sign:
	"%location of clicked block%" is "x: 5.5, y: 70.5, z: 77.5":
		send "yes"
		if distance between location of clicked block and location at (5.5, 70.5, 77.5) is less than 0.5:
			send "works"

 

EDIT3: Działa Panowie, dzięki za pomoc. 

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