Skocz do zawartości

Ranking

Popularna zawartość

Treść z najwyższą reputacją w 08/08/24 uwzględniając wszystkie działy

  1. naujan

    skrypt na usunięcie bloków

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

    skrypt na usunięcie bloków

    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 :).
    1 punkt
  3. DariuszGki

    skrypt na usunięcie bloków

    dziękuję
    1 punkt
  4. naujan

    skrypt na usunięcie bloków

    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.
    1 punkt
  5. PolsatGraniePL

    stawianie blokow na danym terenie

    Dementuje. Swoje kody testowałem na wersji purpur-1.21-2275, Skript-2.9.1 oraz worldguard-bukkit-7.0.11-beta1-dist wraz z worldedit-bukkit-7.3.5. Kod działał oraz nie zwracał żadnego błędu.
    1 punkt
  6. NaxterEK

    skrypt miedziak

    dobra dzieki za pomoc ;D
    1 punkt
  7. Kormic

    stawianie blokow na danym terenie

    @CoFFeIN04 @polsatgraniepl @Xyntegi_ok Zanim zamknę temat, chciałbym powiedzieć, że wszystkie powyższe kody nie działają na wersji 1.21 z najnowszą wersją Skripta i WorldGuarda, ponieważ: Skript nie jest w stanie zrozumieć tekstu jako regionu (to znaczy, pobrać regionu na podstawie jego nazwy), porównywanie obiektu regionu z tekstem nigdy nie zadziała, co jest bezpośrednio powiązane z tym co napisałem wyżej. Jak można więc pobrać region na podstawie nazwy? Cóż, jedyny działający sposób w czystym Skript'cie to użycie wyrażenia '%text% parsed as %*type%'. Przykład poniżej. set {_region} to "kowadla" parsed as region Dzięki powyższej linijce uzyskujemy region na podstawie jego nazwy. Należy jednak uważać, ponieważ nie zadziała on dla regionów dzielących tę samą nazwę, ale istniejących w różnych światach (WorldGuard dopuszcza tworzenie takich regionów). Po otrzymaniu obiektu reprezentującego region reszta kodu regenerującego uszkodzone kowadła staje się trywialna. every 10 seconds: set {_region} to "kowadla" parsed as region set (blocks in region {_region} where [input is any anvil]) to anvil Wspomnę jeszcze tylko o tym, że choć wedle dokumentacji słowo 'region' w składni wyrażenia 'blocks in %region%' jest opcjonalne, ze względu na kolizję składni musi ono się tam znaleźć. Finalnie, jeszcze mam trzy uwagi- jedną do Coffeina i dwie do polsatgranie. @CoFFeIN04: otwieranie GUI kowadła poprzez Skripta co prawda zadziała, ale takie GUI jest bezużyteczne, ponieważ nic nie da się w nim zrobić. Warto tu powiedzieć, że jest to problem związany z Bukkit API, a nie z samym Skriptem. Aby uporać się z tym problemem, należy wykorzystać albo wysyłanie pakietów, albo pakiet NMS. Można się tutaj posłużyć biblioteką AnvilGUI, która zdecydowanie ułatwia te zadanie. @polsatgraniepl: Alias 'an anvil' obejmuje jedynie nieuszkodzone kowadło. Aby skrypt obsługiwał kowadła w dowolnym stanie, należy użyć aliasu 'any anvil'. Zalecam nie podawać typu przy wyrażeniu 'input', ponieważ czasem powoduje to brak działania filtru. Przynajmniej tak było w wersji Skripta 2.9.0, nie miałem okazji przetestować tego w wersji 2.9.1. Zdarzenie 'anvil damage' jest jednym z tych zdarzeń, których użyteczność jest niemalże bliska zerowej, ponieważ (najprawdopodobniej) nie posiada jakichkolwiek wartości możliwych do pobrania związanych ze zdarzeniem, co jest następstwem wpakowania go do klasy SimpleEvents, która "przechowuje" dziesiątki innych takich mało użytecznych zdarzeń. Pozdrawiam.
    1 punkt
  8. CoFFeIN04

    Dzielenie z resztą

    Pokaż kod. Wiesz, że istnieje coś takiego jak modulo? https://docs.skriptlang.org/docs.html?search=#mod
    1 punkt
  9. Eletez

    Custom Model Data

    Czy ktoś wie jak to zrobić aby działało? Custom model data ma nadawać plugin oraxen.
    0 punktów
Ten Ranking jest ustawiony na Warszawa/GMT+02:00
×
×
  • Dodaj nową pozycję...