Skocz do zawartości

Ranking

Popularna zawartość

Treść z najwyższą reputacją w 06/21/22 uwzględniając wszystkie działy

  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
  2. no chyba w format slocie on load: set {testList::*} to unbreaking function guiBlocks(P: player, t: text, item: item): if {_t} = "disenchant": #tworzenie nowego inventory set {_chest} to chest inventory named "test" with 3 rows #ustawianie slotu inventory (a nie jak wczesniej otwartemu inventory gracza) set {_chest}'s slot 4 to {_item} set {_inv} to 10 loop {testList::*}: #sprawdzanie enchantu if {_item} is enchanted with loop-value: #ustawienie zmiennej na level enchantu set {_lvl} to level of loop-value of {_item} #powtarzanie tyle razy ile wynosi level enchantu loop {_lvl} times: set {_chest}'s slot {_inv} to enchanted book named "%loop-value-1% %loop-number%" add 1 to {_inv} #otwieranie inventory graczowi open {_chest} to {_p} Ogólnie poprawiłem ci to troche i (mam nadzieje) zrobiłem tak jaki miałeś plan jeżeli jakoś inaczej to napisz to zmienie Gui zmieniłem tak aby najpierw było tworzone inventory a dopiero później było otwierane graczowi. Błąd był w tym enchanted with {testList::%{_n}%} {_var}: ponieważ nie możesz z dwóch zmiennych zrobić od tak typu czyli z {testList::%{_n}%} {_var} zrobić enchantment type
    1 punkt
  3. AxPlugManSk (Tak wiem rakowa nazwa, napisz ktoś lepszą to zmienie) Cześć chciałbym wam przedstawić skrypt do zarządzania pluginami i skryptami na serwerze, niby nic a jednak coś fajnego wyszło. Skrypt wymaga tylko jednego dodatku którym jest skript-reflect. Starałem się napisać skrypt jak najkrócej i jak najlepiej. Skrypt posiada dodatkowe wyrażenia, efekty i wraunki Uprawnienia: - PlugMan #Dostęp do głównej komendy - PlugMan.plugins #Dostęp do zarządzania pluginami - PlugMan.scripts #Dostęp do zarządzania skryptami Główna komenda: AxPlugSkMan: Zamienniki: (plugman, plugskman...) Składnia: /plugman <list/on/off/reload/change> <plugin name> list #Wyświetla liste pluginów i skryptów on <plugin name> #Włącza plugin off <plugin name> #Wyłącza plugin change <plugin name> #Zmienia status pluginu reload <plugin name> #Przeładowywuje plugin np: /plugman on TuSke Napisane na: Skript 2.6.3 Skript-reflect 0.19.1 Serwer Spigot 1.18.1 Konfiguracja Brak, dlatego wiadomości zostały napisane po angielsku. (No i nie wiem co tu do konfiguracji jest ale mogę dodać) Dodatkowa składnia SS: Zmiany i wydania: 1.0 Napisanie skryptu 1. 5 Ogarnięcie skryptu (zmiany) Wszelkie błędy / możliwości poprawy działania / pomysły proszę zgłaszać pod postem lub na pw
    0 punktów
  4. Mówicie, macie - pierwszy w historii serwera turniej z BedWarsów! Zgłoszenia można wykonywać za pomocą formularza dostępnego tutaj: https://forms.gle/55PjkNsHfmSreTHcA Przewiduję podział na 4 etapy: - preeliminacje - wszyscy chętni biorą udział w czterech wybranych przeze mnie lub innego administratora mapkach; - ćwierćfinał - 6 zwycięskich drużyn (o ile takie się uformują) biorą udział w walce o półfinał; - półfinał - 4 zwycięskie drużyny biorą udział w walkach o finał; - finał - czyli walka o wszystko! 2 drużyny, które dotrwały do samego końca, walczą o zwycięstwo w turnieju! Punktacja za poszczególne etapy Wraz z każdym kolejnym awansem zyskujesz, ale też ryzykujesz więcej! - preeliminacje: a) wygrana - 2 pkt; b) przegrana - 1 pkt; c) wymagane do awansu - 5 pkt; d) maksymalna l. pkt - 8 - ćwierćfinał: a) wygrana - 3 pkt; b) przegrana - 1 pkt; c) wymagane do awansu - 9 pkt; d) maksymalna l. pkt - 12 - półfinał: a) wygrana - 6 pkt; b) przegrana - 2 pkt; c) wymagane do awansu - 18 pkt; d) maksymalna l. punktów - 24 - finał: a) wygrana - 12 pkt; b) przegrana - 4 pkt; c) wymagane do zwycięstwa - 36 pkt; d) maksymalna l. pkt - 48 Nagrody za uczestnictwo - 1sze miejsce: 40 000 pkt doświadczenia na trybie BedWars rozdzielonych po równo na wszystkich graczy w drużynie, oraz jeden zestaw efektów kosmetycznych na hubie za darmo na zawsze dla każdego uczestnika zwycięskiej drużyny - 2gie miejsce: 25 000 pkt doświadczenia na trybie BedWars rozdzielonych po równo na wszystkich graczy w drużynie - 3cie miejsce: 15 000 pkt doświadczenia na trybie BedWars rozdzielonych po równo na wszystkich graczy w drużynie Preeliminacje odbędą się w piątek 24 czerwca o godzinie 18:00 (CEST)! Nieaktualne, brak wystarczającej liczby drużyn. Turniej anulowany.
    0 punktów
  5. maxcom1

    Jaki hosting polecacie?

    HostGier jest dość dobry
    0 punktów
Ten Ranking jest ustawiony na Warszawa/GMT+02:00
  • Najwięcej postów w tygodniu

    Quexsu
    Quexsu
    6 postów
    bug128
    bug128
    1 post
    Grabsky
    Grabsky
    1 post
    Nicku
    Nicku
    1 post
    mervi_X
    mervi_X
    1 post
    Fendi
    Fendi
    1 post
    kinimod5021
    kinimod5021
    1 post
  • Najwięcej tematów w tygodniu

    Quexsu
    Quexsu
    1 temat
    mervi_X
    mervi_X
    1 temat
    bug128
    bug128
    1 temat
  • Aktywni użytkownicy

    Nikt jeszcze nie otrzymał reputacji w tym tygodniu.

×
×
  • Dodaj nową pozycję...