Kormic 1952 Opublikowano 28 listopada 2020 Udostępnij Opublikowano 28 listopada 2020 (edytowane) 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. Edytowane 5 maja 2024 przez Kormic Usunięcie postscriptum o SkCylinder Misio12320, CoFFeIN04, jaku49 i 4 innych 2 5 Cytuj Odnośnik do komentarza https://skript.pl/temat/43209-skarmorevent-event-zak%C5%82adania-i-zdejmowania-zbroi-w-skript/ Udostępnij na innych stronach Więcej opcji udostępniania...
Misio12320 32 Opublikowano 28 listopada 2020 Udostępnij Opublikowano 28 listopada 2020 Bardzo przydatny, zrozumiały poradnik. Polecam tego Pana. Kormic 1 Cytuj Odnośnik do komentarza https://skript.pl/temat/43209-skarmorevent-event-zak%C5%82adania-i-zdejmowania-zbroi-w-skript/#findComment-270323 Udostępnij na innych stronach Więcej opcji udostępniania...
PanMaruda 624 Opublikowano 28 listopada 2020 Udostępnij Opublikowano 28 listopada 2020 Jaki ładny skrypt dodatek napracowałeś się to widać... byłoby szkoda gdyby ktoś... import: com.destroystokyo.paper.event.player.PlayerArmorChangeEvent PlayerArmorChangeEvent: broadcast "zmieniłeś zbroję" Kormic, Misio12320 i nwse 2 1 Cytuj Odnośnik do komentarza https://skript.pl/temat/43209-skarmorevent-event-zak%C5%82adania-i-zdejmowania-zbroi-w-skript/#findComment-270326 Udostępnij na innych stronach Więcej opcji udostępniania...
Kormic 1952 Opublikowano 28 listopada 2020 Autor Udostępnij Opublikowano 28 listopada 2020 4 minuty temu, PanMaruda napisał: Jaki ładny skrypt dodatek napracowałeś się to widać... byłoby szkoda gdyby ktoś... Drogi przyjacielu, prosiłbym uprzednio o przeczytanie tego co napisałem w poście (dokładniej fragment "Komu może przydać się ten skrypt?"). Inaczej to ujmę. Skrypt przyda się głównie osobom, które mają serwer postawiony na Spigot'cie. Misio12320 i PanMaruda 1 1 Cytuj Odnośnik do komentarza https://skript.pl/temat/43209-skarmorevent-event-zak%C5%82adania-i-zdejmowania-zbroi-w-skript/#findComment-270328 Udostępnij na innych stronach Więcej opcji udostępniania...
xAxee 1968 Opublikowano 28 listopada 2020 Udostępnij Opublikowano 28 listopada 2020 Aby nie kolidowało z sharpsk najlepiej gdybyś dodał jakiś swój niewymagany prefix Spoiler np [knormic] Ogólnie to spoko dodatek Glicz, Misio12320, PanMaruda i 1 inny 4 Cytuj Odnośnik do komentarza https://skript.pl/temat/43209-skarmorevent-event-zak%C5%82adania-i-zdejmowania-zbroi-w-skript/#findComment-270334 Udostępnij na innych stronach Więcej opcji udostępniania...
PanMaruda 624 Opublikowano 6 grudnia 2020 Udostępnij Opublikowano 6 grudnia 2020 W dniu 28.11.2020 o 21:50, xAxee napisał: Aby nie kolidowało z sharpsk najlepiej gdybyś dodał jakiś swój niewymagany prefix Ukryj zawartość np [knormic] tylko trzeba pamiętać żeby ten prefiks zawsze zapisywać w kodzie - bo bez niego skript zwariuje i sypnie error do konsoli na nasze nieszczęście nawet jak będzie z prefiksem to też może się zdarzyć że coś się popsuje (mgui i tuske miały takie momenty) najlepiej byłoby gdyby główna składnia była lekko inna Kormic 1 Cytuj Odnośnik do komentarza https://skript.pl/temat/43209-skarmorevent-event-zak%C5%82adania-i-zdejmowania-zbroi-w-skript/#findComment-271789 Udostępnij na innych stronach Więcej opcji udostępniania...
UnioNS 5 Opublikowano 18 grudnia 2020 Udostępnij Opublikowano 18 grudnia 2020 Dodanie eventu "cancel event" aby zablokowac zakładanie zbroji, ktora nie nalezy do gracza. Przykład : on armour equip: if event-item's name is "&aDobry Helm gracza %player%": send "&aNałożyłeś dobry hełm!" to event-player else: cancel event Kormic 1 Cytuj Odnośnik do komentarza https://skript.pl/temat/43209-skarmorevent-event-zak%C5%82adania-i-zdejmowania-zbroi-w-skript/#findComment-274228 Udostępnij na innych stronach Więcej opcji udostępniania...
Kormic 1952 Opublikowano 19 grudnia 2020 Autor Udostępnij Opublikowano 19 grudnia 2020 (edytowane) Update v. 1.1! Nowości: - skrócenie oraz uporządkowanie kodu - dodanie możliwości anulowania eventu (dziękuję @UnioNS) - zmiana składni na mniej konflitową (dziękuję @xAxee oraz @PanMaruda) Zachęcam do testowania skryptu oraz poszukiwania możliwych błędów Edytowane 19 grudnia 2020 przez Kormic PanMaruda 1 Cytuj Odnośnik do komentarza https://skript.pl/temat/43209-skarmorevent-event-zak%C5%82adania-i-zdejmowania-zbroi-w-skript/#findComment-274479 Udostępnij na innych stronach Więcej opcji udostępniania...
Kormic 1952 Opublikowano 26 grudnia 2020 Autor Udostępnij Opublikowano 26 grudnia 2020 (edytowane) Update v. 1.2! Nowości: - naprawiono błąd z brakiem działania skryptu w przypadku zmiany zbroi za pomocą klawiszy numerycznych, - naprawiono błąd z wywoływaniem podczas gdy mając w ręce zbroję klikaliśmy prawym przyciskiem myszy na interaktywny blok (stół rzemieślniczy, piec itp.), - dodano wywoływanie eventu przy zakładaniu zbroi przez dozownik. Skrypt w wersji 1.2 obecnie jest dostępny jedynie dla serwerów na wersji 1.13.2+! Za niedługo planuję wypuścić wersję 1.2 dla serwerów w przedziale 1.9.4 - 1.13.1, więc zainteresowani niech czekają cierpliwie. Jak zwykle, zachęcam do testowania skryptu oraz poszukiwania błędów Edytowane 5 maja 2024 przez Kormic Poprawa formatowania tekstu PanMaruda 1 Cytuj Odnośnik do komentarza https://skript.pl/temat/43209-skarmorevent-event-zak%C5%82adania-i-zdejmowania-zbroi-w-skript/#findComment-275844 Udostępnij na innych stronach Więcej opcji udostępniania...
Kormic 1952 Opublikowano 13 stycznia 2021 Autor Udostępnij Opublikowano 13 stycznia 2021 (edytowane) Wersja 1.2 dla serwerów 1.9.4 - 1.13.1! Tak więc nadeszła długo wyczekiwana finalna wersja SkArmorEvent dla wyżej podanych wersji! PS. Skrypt powinien działać bezproblemowo również na wersjach 1.8 - 1.8.9 wraz ze Skriptem 2.5+ od Matocolotoe. Wersja 1.2 jest finalną, dlatego też jeżeli w tej wersji nie będzie żadnych błędów, tak długo jak nie będzie wprowadzone do Minecrafta więcej metod zakładania/zdejmowania zbroi, nie będę rozwijał skryptu. Przepraszam również za dość długi czas wykonywania tej wersji, ale było kilka problemów: - warunek 'contains' przy sprawdzaniu lokalizacji nie działał dobrze i musiałem samemu sprawdzać koordynaty, - najwięcej czasu rzecz jasna zajęło tworzenie kodu do zakładania zbroi poprzez dozownik, tutaj wszystko trzeba było ręcznie sprawdzać, - problem był również z utworzeniem funkcji przyjmującej jako argument kilka lokalizacji. Mimo powyższych błędów koniec końców wszystkie zostały rozwiązane, a skrypt powinien działać jak marzenie. Rzecz jasna zachęcam do testowania skryptu oraz poszukiwania błędów. Miłego użytkowania! Edytowane 5 maja 2024 przez Kormic Poprawa formatowania tekstu PanMaruda 1 Cytuj Odnośnik do komentarza https://skript.pl/temat/43209-skarmorevent-event-zak%C5%82adania-i-zdejmowania-zbroi-w-skript/#findComment-279642 Udostępnij na innych stronach Więcej opcji udostępniania...
Kormic 1952 Opublikowano 15 stycznia 2021 Autor Udostępnij Opublikowano 15 stycznia 2021 (edytowane) Update v. 1.2.1! Nowości: - naprawa działania anulowania eventu przy założeniu zbroi poprzez dozownik (wersja dla 1.9.4 - 1.13.1), - skrócenie kodu (w przypadku wersji dla 1.9.4 - 1.13.1 jest to zmniejszenie ze 155 do 98 linijek, a w przypadku wersji dla 1.13.2+ jest to ze 114 do 75 linijek; nie licząc podpisu w skrypcie), - naprawa działania eventu przy zakładaniu zbroi (wersja dla 1.13.2+). Zachęcam do testowania skryptu oraz poszukiwania błędów. Miłego użytkowania! Edytowane 5 maja 2024 przez Kormic Poprawa formatowania tekstu PanMaruda 1 Cytuj Odnośnik do komentarza https://skript.pl/temat/43209-skarmorevent-event-zak%C5%82adania-i-zdejmowania-zbroi-w-skript/#findComment-279940 Udostępnij na innych stronach Więcej opcji udostępniania...
xAxee 1968 Opublikowano 11 lutego 2021 Udostępnij Opublikowano 11 lutego 2021 Ten temat został przeniesiony. HuraganMaks i PanMaruda 2 Cytuj Odnośnik do komentarza https://skript.pl/temat/43209-skarmorevent-event-zak%C5%82adania-i-zdejmowania-zbroi-w-skript/#findComment-287271 Udostępnij na innych stronach Więcej opcji udostępniania...
knugi 794 Opublikowano 18 listopada 2024 Udostępnij Opublikowano 18 listopada 2024 Dzięki, akurat czegoś takiego szukałem na swój serwer lokalny. Nie chciało mi się pisać podstawki od nowa, to użyję Twojego. Oczywiście jeżeli będę musiał to przerobie pod siebie, mam nadzieję że się nie obrazisz, lecz ewentualna przeróbka nie ujrzy światła dziennego, gdyż jest to jedynie lokalne rozwiązanie Pozdrawiam #Knugi Kormic 1 Cytuj Odnośnik do komentarza https://skript.pl/temat/43209-skarmorevent-event-zak%C5%82adania-i-zdejmowania-zbroi-w-skript/#findComment-345569 Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi
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ą.