Skocz do zawartości
  • 0

brush w regionie spawn


Gość Usunięty#58125

Pytanie

Gość Usunięty#58125

witam, linijka 23-27, mam pewien problem pomimo zastosowania owego skryptu ze jezeli znajduje sie na terenie spawna to nie moge niszczyc blokow brushem ani go uzywac, co prawda wyswietla sie komunikat ze nie moge go uzywac ale jezeli klikne na region spawna to bloki sie nadal rozwalaja, flagi mam zastosowane odpowiednie dla owego regionu prosilbym o pomoc
skript 2.8.5
worldguard 7.0.5
wersja mc 1.16.4

Odnośnik do komentarza
https://skript.pl/temat/57568-brush-w-regionie-spawn/
Udostępnij na innych stronach

5 odpowiedzi na to pytanie

Rekomendowane odpowiedzi

  • 0
6 godzin temu, FilipK napisał:

witam, linijka 23-27, mam pewien problem pomimo zastosowania owego skryptu ze jezeli znajduje sie na terenie spawna to nie moge niszczyc blokow brushem ani go uzywac, co prawda wyswietla sie komunikat ze nie moge go uzywac ale jezeli klikne na region spawna to bloki sie nadal rozwalaja, flagi mam zastosowane odpowiednie dla owego regionu prosilbym o pomoc
skript 2.8.5
worldguard 7.0.5
wersja mc 1.16.4

To, że Pan anuluje zdarzenie w dowolnym miejscu w kodzie, nie znaczy, że wszelkie listenery nasłuchujące do niego nie mogą już go obsłużyć. Jeśli Pan chce, aby pędzel działał tylko gdy zdarzenie nie zostało anulowane, należy skorzystać z warunku 'event is not cancelled'.

Warto również tutaj zastanowić się nad użyciem priorytetów listenerów zdarzenia. - informacja o nich znajduje się na samej górze tej strony. W wielkim skrócie, im wyższy jest priorytet listenera zdarzenia, tym później jest on obsługiwany. Pozwala to więc na nadpisanie działania wszystkich listenerów o niższym priorytecie.

Niemniej jednak, najprostszym rozwiązaniem byłoby złączenie dwóch listenerów zdarzenia 'on right click' w Pana kodzie w jeden listener, co pozwoliłoby na sprawne zablokowanie używania pędzla na spawnie. Proszę również pamiętać, że Pan blokuje jedynie działanie pędzla poziomu 1.

Pozdrawiam.

Edytowane przez Kormic
Odnośnik do komentarza
https://skript.pl/temat/57568-brush-w-regionie-spawn/#findComment-342712
Udostępnij na innych stronach

  • 0
Gość Usunięty#58125
W dniu 28.05.2024 o 16:59, Kormic napisał:

To, że Pan anuluje zdarzenie w dowolnym miejscu w kodzie, nie znaczy, że wszelkie listenery nasłuchujące do niego nie mogą już go obsłużyć. Jeśli Pan chce, aby pędzel działał tylko gdy zdarzenie nie zostało anulowane, należy skorzystać z warunku 'event is not cancelled'.

Warto również tutaj zastanowić się nad użyciem priorytetów listenerów zdarzenia. - informacja o nich znajduje się na samej górze tej strony. W wielkim skrócie, im wyższy jest priorytet listenera zdarzenia, tym później jest on obsługiwany. Pozwala to więc na nadpisanie działania wszystkich listenerów o niższym priorytecie.

Niemniej jednak, najprostszym rozwiązaniem byłoby złączenie dwóch listenerów zdarzenia 'on right click' w Pana kodzie w jeden listener, co pozwoliłoby na sprawne zablokowanie używania pędzla na spawnie. Proszę również pamiętać, że Pan blokuje jedynie działanie pędzla poziomu 1.

Pozdrawiam.

dałby pan rade zrobić to w skrypcie za mnie?, prosiłbym bardzo

Odnośnik do komentarza
https://skript.pl/temat/57568-brush-w-regionie-spawn/#findComment-342756
Udostępnij na innych stronach

  • 0
5 minut temu, FilipK napisał:

dałby pan rade zrobić to w skrypcie za mnie?, prosiłbym bardzo

No dobrze. Modyfikacja jest prosta, proszę spojrzeć na poniższy kod.

on left click with blaze rod:
	if name of event-item contains "&8» &6Brush ":
		if "%regions at player%" contains "spawn":
			send "&cNie możesz używać brusha na spawnie" to player
			stop
		set {_b1} to block at event-block
		set {_b2} to block at event-block
		# Dalszy kod...

Przepisałem kod z pierwszego listenera zdarzenia 'on right click' do drugiego listenera, a więc połączyłem je tak jak sugerowałem Panu. Jedynie dwie różnice to brak anulowania eventu (jeśli Pan tego potrzebuje, może Pan dopisać 'cancel event' wewnątrz warunku sprawdzającego region) i brak możliwości używania dowolnego pędzla w regionie "spawn", a nie tylko pędzla poziomu 1. jak to wcześniej miało miejsce.

Pozdrawiam.

Odnośnik do komentarza
https://skript.pl/temat/57568-brush-w-regionie-spawn/#findComment-342757
Udostępnij na innych stronach

  • 0
Gość Usunięty#58125
Godzinę temu, Kormic napisał:

No dobrze. Modyfikacja jest prosta, proszę spojrzeć na poniższy kod.

on left click with blaze rod:
	if name of event-item contains "&8» &6Brush ":
		if "%regions at player%" contains "spawn":
			send "&cNie możesz używać brusha na spawnie" to player
			stop
		set {_b1} to block at event-block
		set {_b2} to block at event-block
		# Dalszy kod...

Przepisałem kod z pierwszego listenera zdarzenia 'on right click' do drugiego listenera, a więc połączyłem je tak jak sugerowałem Panu. Jedynie dwie różnice to brak anulowania eventu (jeśli Pan tego potrzebuje, może Pan dopisać 'cancel event' wewnątrz warunku sprawdzającego region) i brak możliwości używania dowolnego pędzla w regionie "spawn", a nie tylko pędzla poziomu 1. jak to wcześniej miało miejsce.

Pozdrawiam.

dziekuje panu bardzo, do zamkniecia

Odnośnik do komentarza
https://skript.pl/temat/57568-brush-w-regionie-spawn/#findComment-342758
Udostępnij na innych stronach

Nieaktywny
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...