Skocz do zawartości

Ranking

Popularna zawartość

Treść z najwyższą reputacją w 11/18/24 w Odpowiedzi

  1. SkArmorEvent Witam serdecznie wszystkich skrypterów, chciałbym wam zaprezentować już drugą moją publiczną pracę, czyli skrypt dodający dwa eventy - jeden wywołujący się przy zakładaniu zbroi, a drugi przy zdejmowaniu zbroi. Cechy: Możliwość nasłuchiwania do dwóch eventów: - przy zakładaniu zbroi - przy zdejmowaniu zbroi Dodatkowo: Możliwość anulowania (cancelowania) obu eventów w celu blokady zakładania/zdejmowania zbroi. W razie potrzeby można wywołać te eventy w dowolnym kodzie, omówię to w dalszej części postu. Wymagania: - Skript min. 2.5 (zalecany 2.5.3) - skript-reflect (zalecany 2.1.0) Użycie: W mojej ocenie nie ma tutaj nad czym się rozwodzić, więc przejdę do rzeczy. Tak jak napisałem wyżej, skrypt dodaje 2 eventy. Tutaj szybko dla niewtajemniczonych omówię co oznacza dana rzecz w składni: - [ ] oznacza opcjonalność - | oznacza lub - ( ) oznacza wybór jednego spośród kilku elementów Pierwszy to 'on skae armor equip'. Jego składnia wygląda następująco: sk(ae|ArmorEvent) armo[u]r (equip|wear) Drugi event natomiast to 'on skae armor unequip'. Składnia niemalże niczym się nie różni od pierwszego eventu poza przedrostkiem 'un'. sk(ae|ArmorEvent) armo[u]r un(equip|wear) Oczywiście przed dwoma eventami możemy tradycyjnie zastosować 'on', ale nie jest to obowiązkowe. on skae armour equip: # Twój dalszy kod # Lub: skae armour equip: # Twój dalszy kod Wartości do pobrania w evencie: W evencie do dyspozycji mamy dwie wartości: - pierwsza to 'player' (bądź event-player), reprezentuje gracza, który nałożył zbroję - druga to 'item' (bądź event-item), reprezentuje nałożony, bądź zdjęty element zbroi Przykłady użycia: # 1. on skae armour wear: if event-item's name is "&aDobry Helm": send "&aNałożyłeś dobry hełm!" to event-player # 2. skArmorEvent armor unequip: send "&aŚciągnąłeś &6%item%&a!" to player Anulowanie eventu: Event jak najbardziej można anulować za pomocą zwykłego 'cancel event'. Przykłady: # 1. on skae armor equip: cancel event send "&cNie możesz założyć zbroi!" # 2. on skArmorEvent armor unequip: cancel event send "&cNie możesz ściągnąć zbroi!" Wywoływanie eventu: Miałem powiedzieć kilka słów na temat wywoływania tych eventów w dowolnym kodzie, więc teraz to zrobię. Aby poprawnie wywołać event w naszym kodzie, musimy ustawić naszego gracza oraz element zbroi do listy. set {_l::player} to player set {_l::item} to event-item Następnie używamy linijki wywołującej event. call event (custom event "onArmorEquip" with {_l::*}) Tutaj ukazuje nam się "onArmorEquip" i jest to nazwa eventu 'on armor equip', której używamy przy wywoływaniu eventu. W przypadku eventu 'on armor unequip' będzie to "onArmorUnequip". Podsumowując, za pomocą tych 3 linijek możemy w naszym kodzie użyć te eventy kiedykolwiek chcemy. A kiedy może to się przydać? Cóż, tutaj podam przykład: Mamy prostą komendę ustawiającą hełm gracza na diamentowy hełmet. Skrypt domyślnie obsługuje jedynie ręczne nakładanie hełmu przez gracza, więc wtedy właśnie wywołujemy event "onArmorEquip", przekazując przy tym odpowiednie wartości. Komu może przydać się ten skrypt? - osobom, które mają postawiony serwer na silniku Spigot - jest dobrą alternatywą dla przebywania na starszych wersjach ze względu na SharpSK - zamiennik dla eventu 'on armor change' ze względu na dostępność dla serwerów postawionych na silniku PaperSpigot (oraz Tuinity) oraz ze względu na to, że ten event pozwala jedynie na przechwycenie nowo nałożonego elementu zbroi, nie zdejmowanego. Dodatkowo SkArmorEvent pozwala na anulowanie eventu, co w przypadku wcześniej wspomnianego skriptowego eventu jest niemożliwe. Pobieranie: https://code.skript.pl/aFdMxpEb - v. 1.0 https://code.skript.pl/p6ChYMtK - v. 1.1 https://code.skript.pl/UYZsuVif - v. 1.2 (1.9.4 - 1.13.1) https://code.skript.pl/41MK80It - v. 1.2 (1.13.2+) https://code.skript.pl/ynOMxBFf - v. 1.2.1 (1.9.4 - 1.13.1) https://code.skript.pl/12ck83eI - v. 1.2.1 (1.13.2+) Rozwiązywanie problemów: W razie znalezienia jakichkolwiek błędów w skrypcie (miejąc uprzednio na uwadze wymagania skryptu) prosiłbym o dokładne opisanie ich w sekcji komentarzy. Prosiłbym również o podanie wersji serwera, silnika serwera, wersji Skripta oraz listy dodatków do Skripta. Propozycje: Co prawda nie myślę nad dalszym rozwojem skryptu, aczkolwiek jeżeli ktoś zaproponuje coś ciekawego, przemyślę to Dziękuję bardzo za przeczytanie, życzę miłej zabawy ze skryptem.
    1 punkt
Ten Ranking jest ustawiony na Warszawa/GMT+02:00
  • Najwięcej postów w tygodniu

    Fendi
    Fendi
    2 posty
    xSebixx1
    xSebixx1
    2 posty
    kinimod5021
    kinimod5021
    1 post
    bug128
    bug128
    1 post
    F3lip3za
    F3lip3za
    1 post
    Nieaktywny
    Nieaktywny
    1 post
    LusiaMC
    LusiaMC
    1 post
    Antychryst
    Antychryst
    1 post
    MICHALBEZSKINOW
    MICHALBEZSKINOW
    1 post
  • Najwięcej tematów w tygodniu

    bug128
    bug128
    1 temat
    Nieaktywny
    Nieaktywny
    1 temat
    LusiaMC
    LusiaMC
    1 temat
    Antychryst
    Antychryst
    1 temat
    MICHALBEZSKINOW
    MICHALBEZSKINOW
    1 temat
    artur9010
    artur9010
    1 temat
    0j_12
    0j_12
    1 temat
    xSebixx1
    xSebixx1
    1 temat
  • Aktywni użytkownicy

×
×
  • Dodaj nową pozycję...