-
Ilość zawartości
11012 -
Rejestracja
-
Ostatnia wizyta
-
Wygrane w rankingu
230
Treść opublikowana przez Kormic
-
Ten temat został przeniesiony.
-
Ten temat został zamknięty.
-
@Fquido_Games Z tego co wyczytałem tutaj, PlaceholderAPI będzie wspierało sieci serwerów oparte na BungeeCord (zapewne też na Velocity, mam nadzieję) dopiero od wersji 3.0. Najprostszym rozwiązaniem jest skorzystanie z tzw. plugin messaging channels, które są wykorzystywane często do komunikacji między serwerami w sieci. Alternatywnym rozwiązaniem byłoby stworzenie bazy danych, z której korzystałyby wszystkie serwery w sieci i za jej pośrednictwem cyklicznie wymieniały się wartościami placeholderów z PAPI. Rzecz jasna, należy zwrócić uwagę na potencjalne problemy z synchronizacją tej wymiany, ale będąc szczerym, nie jest to jakkolwiek krytyczny mechanizm, więc można przymknąć oko na to. Pozdrawiam.
-
Jest to błąd w zapisie struktury, ponieważ w Skript nie ma zdefiniowanego typu npc. Zamiast tego należy użyć entity (dowolny byt na serwerze, można również zacieśnić do living entity) i sprawdzić czy kliknięty byt (event-entity) posiada metadata tag "NPC". W ten sposób Citizens (rozumiem, że mowa o NPC z tego pluginu) oznacza NPC. Od tego momentu mamy pewność, że mamy do czynienia z NPC z Citizens, o ile nie nadaliśmy sami ten tag innemu bytowi. Dalej możemy chociażby sprawdzić display name tego NPC, aby zweryfikować czy operujemy na konkretnym NPC, o którego nam chodzi. Pozdrawiam.
-
Jest to możliwe. Można stworzyć własny filtr przy pomocy frameworku Log4j, co zresztą zdaje się, że robi większość pluginów obsługujących autentykację. Wystarczy przechwycić logger serwera i dodać do niego filtr będący rozszerzeniem klasy AbstractFilter. Należy zwrócić szczególną uwagę na słowo "klasy". Dodatek skript-reflect nie pozwala na tworzenie klas rozszerzających inne klasy, nawet abstrakcyjne. Wykracza to więc poza możliwości klas proxy i zmusza do skorzystania z dodatku Hippo pozwalającego na tworzenie własnych klas. W tym momencie warto się zastanowić czy nie lepszym rozwiązaniem będzie napisanie własnego pluginu. Jako przykład podsyłam kod źródłowy pluginu LoginSecurity. Jedyne dwie interesujące nas rzeczy to ten fragment z metody onEnable() dodający filtr do loggera i definicja samego filtru. Pozdrawiam.
-
@CoFFeIN04 Anulowanie wydarzenia 'on command' nie zapobiega wyświetlaniu wiadomości o wykonaniu komend w konsoli. @TeZetYT Ponieważ logging komend jest wprowadzony na poziomie silnika, najprostszym rozwiązaniem byłoby wyłączenie logów komend w pliku spigot.yml i własna implementacja logów komend, które można wyświetlać w konsoli. Na przykład coś takiego jak poniżej. on command: sender is not console {nonLoggableCommands::*} doesn't contain command send "%sender% executed command /%full command%" to console Jeśli jednak zależy nam na eleganckim rozwiązaniu, należy przejrzeć kod źródłowy któregokolwiek z sensownych pluginów wprowadzających mechanizm autentykacji (logowania) na serwerze. Mogę jedynie podejrzewać, że jest to rozwiązane za pomocą anulowania konkretnych pakietów. Pozdrawiam.
-
@iZee Zdaje się, że jedyne dwie permisje używane w skrypcie są wymienione w sekcji 'options' na górze kodu. Pozdrawiam.
-
@kumpela6 Nie ma potrzeby pozostawania na tak starej wersji Skripta. Sugeruję zaktualizować serwer i Skripta do najnowszej wersji, a SkQuery usunąć, ponieważ już nie jest rozwijane. Jeśli jednak nie ma takiej możliwości, warto przynajmniej rzucić okiem na również już porzucony projekt o nazwie Skript-1.8 autorstwa Matocolotoe, który oferuje wiele nowych elementów składni, w tym chociażby wspomniane wyświetlanie action bar. Plugin można pobrać na stronie jego repozytorium na GitHub. Może też być taka sytuacja, że na przykład sam hosting (chociażby Aternos ze względu na swoją politykę) nie pozwala na pobranie innej wersji Skripta. W tym przypadku zalecam zastanowić się nad innym hostingiem. Co do samego skryptu, warto poszukać na forum istniejących kodów. Na pewno coś przypadnie do gustu. Samo wyświetlanie action bar jest banalnie proste, co można zobaczyć w dokumentacji Skripta. Pozdrawiam.
-
Ten temat został przeniesiony.
-
@smafiii Tutaj może pomóc dodatek SkBee, ponieważ zależy nam tutaj na sprawdzeniu czy znacznik 'waterlogged' w block data bloku jest ustawiony na 'true'. Co prawda Skript również pozwala na ustawianie i sprawdzanie znaczników block data, ale jest to rozwiązanie skrajnie nieelastyczne, bo wymaga to podawania typu bloku. Wracając, można zamienić warunek 'loop-block is water or lava' na poniższy: if any: loop-block is water or lava block data tag "waterlogged" of loop-block is true then: # Dalszy kod Pozdrawiam.
-
@Fquido_Games Twoje rozwiązanie sprawdza czy argument jest tekstową reprezentacją liczby, a nie czy tekst zawiera cyfry, więc to nie jest rozwiązanie opisanego problemu. @TeZetYT Warto tu się wspomóc wyrażeniami regularnymi. Przykład poniżej: if arg partially matches "\d": send "Argument zawiera co najmniej jedną cyfrę." to sender Jeżeli chodzi o wyszukiwanie wielkich liter i znaków specjalnych, jest to proste. Do pierwszego wystarczy wzorzec '[A-Z]', a w przypadku drugiego można sprawdzić czy tekst nie jest alfanumeryczny. Pozdrawiam.
-
Skrypt nie podmienia barrier blocków
Kormic odpowiedział(a) na elimssmile pytanie w Pytania i problemy
Problem został rozwiązany. -
Problem został rozwiązany.
-
Łatwiej będzie pomóc i wytłumaczyć błędy na podstawie kodu, bo teraz trudno odnieść się do istoty problemu. Pozdrawiam.
-
Istnieje znacznie prostszy sposób niż definiowanie osobnej komendy w Skript'cie. Wystarczy zdefiniować alias w pliku commands.yml. Przykład poniżej: aliases: examplealias: - "somecommand" Po zapisaniu aliasu (pliku) i ponownym uruchomieniu serwera /examplealias stanie się aliasem komendy /somecommand. Pozdrawiam.
-
Ten temat został przeniesiony.
-
Proszę pokazać tę drugą wersję.
-
Ten temat został przeniesiony.
-
Ten temat został przeniesiony.
-
Ten temat został przeniesiony.
-
Ustawienie zmiennej ze skryptu do innych pluginów
Kormic odpowiedział(a) na TremeQ pytanie w Pytania i problemy
Problem został rozwiązany. -
Ustawienie zmiennej ze skryptu do innych pluginów
Kormic odpowiedział(a) na TremeQ pytanie w Pytania i problemy
No dobrze. W zasadzie jedynie przyda Ci się ten artykuł z wiki dodatku skript-placeholders, którego należy użyć do zarejestrowania własnego placeholderu w Skript'cie. Zdecydowana większość rzeczy jest tam opisana i jak wspomniałem, są tam załączone przykłady. Jeżeli chodzi o samo zrozumienie składni tego dodatku, a właściwie to Skripta, nie obędzie się bez zrozumienia tego co oznaczają dane elementy we wzorcach wszystkich elementów składni, które można przeczytać w dokumentacjach Skripta i wszystkich dodatków, na przykład wzorzec struktury rejestrowania placeholdera w skript-placeholders: (placeholder[ ]api|papi) placeholder (with|for) [the] prefix %*string% Teraz opiszę w skrócie co oznaczają te tajemnicze nawiasy i procenty: coś - wymagany element wzorca, trzeba go napisać, [coś] - opcjonalny element wzorca, (coś|coś) - wybór, należy wybrać jeden z elementów w nawiasie, %coś% - wyrażenie danego typu. Warto jeszcze zwrócić uwagę na modyfikator wyrażenia "*". Oznacza on, że podane wyrażenie musi być literałem - najprościej mówiąc, w tym przypadku musi to być napisany "z palca" tekst w cudzysłowie (na przykład "skript"). Zmienne z tekstem i inne wyrażenia są niedopuszczalne. Istnieją jeszcze inne modyfikatory wyrażeń jak chociażby "~" (ten jest przeciwieństwem gwiazdki, nie może to być literał), ale nie będę ich opisywał. Pozdrawiam. -
Ustawienie zmiennej ze skryptu do innych pluginów
Kormic odpowiedział(a) na TremeQ pytanie w Pytania i problemy
@TremeQ Zanim się wykorzysta jakiś element składni, warto się dowiedzieć który dodatek go wprowadza, a następnie go zainstalować na serwerze... Na wiki dodatku skript-placeholders (o którym zresztą była mowa na serwerze Discord skript.pl) widnieją przykłady wykorzystania. Pozdrawiam. -
@graffi123456 Skrypt zawiera już komendę /elo, do której można przesłać argument "top", co spowoduje wyświetlenie rankingu. To, że jest to dziwnie napisane to już inna sprawa, ale wydaje mi się, że zlecenie zostało napisane bez wiedzy o istnieniu tej komendy. Pozdrawiam.
-
Ten temat został przeniesiony.
