Skocz do zawartości
  • 0

skrypt na usunięcie bloków


Pytanie

4 odpowiedzi na to pytanie

Rekomendowane odpowiedzi

  • 0

Proszę bardzo.
Niestety, Skript nie oferuje zapętlania wszystkich bloków za pomocą "loop all blocks", więc dodałem ci krótki kodzik na dodawanie i usuwanie bloków do list {bloki::*} działającej tylko w regionie "pvp", gdy są stawiane i niszczone.
Dzięki temu, można łatwo zapętlić, i wyczyścić podane bloki.

Oto testowany kod:

# Dodawanie bloku do listy bloków 
on block place:
    if event-block is cobweb or oak planks:
        region at event-block is "pvp":
            add event-block to {bloki::*}

# Usuwanie go, jeżeli zostanie zniszczony
on block break:
    if {bloki::*} contains event-block:
        remove event-block from {bloki::*}

# Komenda na czyszczenie bloków
command /wyczysc:
    permission: op
    trigger:

        loop {bloki::*}:
            set block at loop-value to air
                
        clear {bloki::*}


Pozdrawiam.

Odnośnik do komentarza
https://skript.pl/temat/58026-skrypt-na-usuni%C4%99cie-blok%C3%B3w/#findComment-344593
Udostępnij na innych stronach

  • 0
1 minutę temu, naujan napisał:

Proszę bardzo.
Niestety, Skript nie oferuje zapętlania wszystkich bloków za pomocą "loop all blocks", więc dodałem ci krótki kodzik na dodawanie i usuwanie bloków do list {bloki::*} działającej tylko w regionie "pvp", gdy są stawiane i niszczone.
Dzięki temu, można łatwo zapętlić, i wyczyścić podane bloki.

Oto testowany kod:

# Dodawanie bloku do listy bloków 
on block place:
    if event-block is cobweb or oak planks:
        region at event-block is "pvp":
            add event-block to {bloki::*}

# Usuwanie go, jeżeli zostanie zniszczony
on block break:
    if {bloki::*} contains event-block:
        remove event-block from {bloki::*}

# Komenda na czyszczenie bloków
command /wyczysc:
    permission: op
    trigger:

        loop {bloki::*}:
            set block at loop-value to air
                
        clear {bloki::*}


Pozdrawiam.

dziękuję

Odnośnik do komentarza
https://skript.pl/temat/58026-skrypt-na-usuni%C4%99cie-blok%C3%B3w/#findComment-344594
Udostępnij na innych stronach

  • 0
30 minut temu, naujan napisał:

Proszę bardzo.
Niestety, Skript nie oferuje zapętlania wszystkich bloków za pomocą "loop all blocks", więc dodałem ci krótki kodzik na dodawanie i usuwanie bloków do list {bloki::*} działającej tylko w regionie "pvp", gdy są stawiane i niszczone.
Dzięki temu, można łatwo zapętlić, i wyczyścić podane bloki.

Oto testowany kod:

# Dodawanie bloku do listy bloków 
on block place:
    if event-block is cobweb or oak planks:
        region at event-block is "pvp":
            add event-block to {bloki::*}

# Usuwanie go, jeżeli zostanie zniszczony
on block break:
    if {bloki::*} contains event-block:
        remove event-block from {bloki::*}

# Komenda na czyszczenie bloków
command /wyczysc:
    permission: op
    trigger:

        loop {bloki::*}:
            set block at loop-value to air
                
        clear {bloki::*}


Pozdrawiam.

Zakładam, że kod który Pan napisał działa lecz to, co Pan napisał o braku możliwości zapętlenia bloków w danym regionie jest nieprawdą. Można taką czynność bardzo łatwo wykonać za pomocą tego wyrażenia:
 

loop all blocks in region "nazwa regionu"

A więc używając tego wyrażenia skrypt można skrócić do 7 linijek. Takowy zostawiam poniżej.
 

options:
	Region: "pvp"
	
	BlokiDoWyczyszczenia: cobweb or oak planks
	
command /wyczysc:
	permission: *
	trigger:
		loop all blocks in region {@Region}:
			set {_c} to loop-value
			if {_c} is {@BlokiDoWyczyszczenia}:
				set loop-block to air

Pozdrawiam :).

Odnośnik do komentarza
https://skript.pl/temat/58026-skrypt-na-usuni%C4%99cie-blok%C3%B3w/#findComment-344596
Udostępnij na innych stronach

  • 0
2 minuty temu, Hiri12 napisał:

Zakładam, że kod który Pan napisał działa lecz to, co Pan napisał o braku możliwości zapętlenia bloków w danym regionie jest nieprawdą. Można taką czynność bardzo łatwo wykonać za pomocą tego wyrażenia:
 

loop all blocks in region "nazwa regionu"

A więc używając tego wyrażenia skrypt można skrócić do 7 linijek. Takowy zostawiam poniżej.
 

options:
	Region: "pvp"
	
	BlokiDoWyczyszczenia: cobweb or oak planks
	
command /wyczysc:
	permission: *
	trigger:
		loop all blocks in region {@Region}:
			set {_c} to loop-value
			if {_c} is {@BlokiDoWyczyszczenia}:
				set loop-block to air

Pozdrawiam :).

Przepraszam za pomyłkę, przy moim testowaniu, to wyrażenie nie działało :D 
Najwyraźniej musiałem w złej kolejności coś wpisać

 

Pozdrawiam

Odnośnik do komentarza
https://skript.pl/temat/58026-skrypt-na-usuni%C4%99cie-blok%C3%B3w/#findComment-344597
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.

  • Ostatnio przeglądający   0 użytkowników

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