Skocz do zawartości
  • 0

Wejście/wyjście z chunków


uiuin
 Udostępnij

Pytanie

Witam
Czy istnieje jakaś możliwość ustawienie uruchamiania się danej funkcji gdy gracz wejdzie/wyjdzie z dowolnego chunka? 
Robię sobie skrypt na zajmowanie terenów, ale nie mam pojęcia jak zrobić wiadomości gdy się wejdzie na teraz innej osoby. 

Odnośnik do komentarza
Udostępnij na innych stronach

8 odpowiedzi na to pytanie

Rekomendowane odpowiedzi

  • 0
Godzinę temu, xAxee napisał:
on walking on any block:
	if {lastChunk::%player%} is not chunk at player:
		set {lastChunk::%player%} to chunk at player
		send "&7Zmieniles chunk!"

 

Z tego co mi się wydaje to takie wydarzenie nie zadziała, trzeba użyć SkQuery:

on any move:
	if {lastChunk::%player%} is not chunk at player:
		set {lastChunk::%player%} to chunk at player
		send "&7Zmieniles chunk!"

 

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
35 minut temu, uiuin napisał:

Czyli nie ma możliwości zrobienia tego w sposób bez lagowania ;/ 
No nic pozostaje przerobić to na system który co 5 sek będzie sprawdzał

on join:
	set {lastChunk::%player%} to chunk at player
	while chunk at player is {lastChunk::%player%}:
		wait 2 second
		if {lastChunk::%player%} is not chunk at player:
			set {lastChunk::%player%} to chunk at player
			send "&7Zmieniles chunk!"

 

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
1 godzinę temu, uiuin napisał:

Czyli nie ma możliwości zrobienia tego w sposób bez lagowania ;/ 
No nic pozostaje przerobić to na system który co 5 sek będzie sprawdzał

Wierz mi lub nie, ale sprawdzanie przemieszczeń gracza nawet te klika razy na sekundę jest lepsze niż jedna pętla z opóźnieniem albo tak jak w przykładzie powyżej - tyle pętli ilu będzie graczy.

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
Godzinę temu, PanMaruda napisał:

Wierz mi lub nie, ale sprawdzanie przemieszczeń gracza nawet te klika razy na sekundę jest lepsze niż jedna pętla z opóźnieniem albo tak jak w przykładzie powyżej - tyle pętli ilu będzie graczy.

Niby tyle pętli ile graczy ale on any move sprawdza od 0 do 20 razy (20 starczy chodzić) na sekunde, więc kod wywołuje się 0-20 razy na sekunde * każdego gracza.
Ani to ani to nie jest dobrym pomysłem, najlepiej użyć tego on walk, tylko jeżeli on any block nie działa to trzeba się ograniczyć do tych podstawowych

on walk on dirt or grass or stone or farmland:
	if {lastChunk::%player%} is not chunk at player:
		set {lastChunk::%player%} to chunk at player
		send "&7Zmieniles chunk!"

 

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
16 godzin temu, xAxee napisał:

Niby tyle pętli ile graczy ale on any move sprawdza od 0 do 20 razy (20 starczy chodzić) na sekunde, więc kod wywołuje się 0-20 razy na sekunde * każdego gracza.
Ani to ani to nie jest dobrym pomysłem, najlepiej użyć tego on walk, tylko jeżeli on any block nie działa to trzeba się ograniczyć do tych podstawowych

on walk on dirt or grass or stone or farmland:
	if {lastChunk::%player%} is not chunk at player:
		set {lastChunk::%player%} to chunk at player
		send "&7Zmieniles chunk!"

Nie wiem czy wiesz, ale to korzysta z tego samego wydarzenia, czyli on walk = on any move

Zrób test i sprawdź co bardziej obciąża ci serwer (nie wiem - przez timingi czy coś) - wydarzenie on any move, czy pętla dla każdego gracza z opóźnieniem.

 

 

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