PanMaruda 624 Opublikowano 17 lutego 2020 Udostępnij Opublikowano 17 lutego 2020 (edytowane) Dzień dobry, ten poradnik będzie już drugim, w którym przedstawię Skripta jako niezależny i rozbudowany plugin. Bedzie on dotyczył tworzenia MOTD serwera, czyli 'baneru' wyświetlanego na liście wyboru serwerów. Od wersji pluginu 2.3 (czyli jakoś mniej więcej od minecraftowej 1.12.2) trafiło do niego wydarzenie 'serwer list ping' wykonywane w momencie wysłania przez gracza lub inny serwer prośby o ten właśnie baner. Wprowadzono również kilka wyrażeń, które pozwalają dowolnie modyfikować zwracaną wtedy wartość. Skript tym samym uniezależnił się od specjalnych dodatków, czy całkiem osobnych pluginów na zarządzanie MOTD. Zatem do sedna, co możemy zmieniać: Otóż odpowiedź jest prosta - wszystko. Zanim jednak zacznę - chciałbym tylko zaznaczyć, iż cześć z poniższych wyrażeń może wymagać silnika PaperSpigot do poprawnego działania. on server list ping wydarzenie, tak jak już powyżej napisałem wykonuje się podczas prośby o MOTD wysyłanej przez gracza lub inny serwer (może być ono anulowane, o ile silnik to PaperSpigot - wtedy serwer będzie się wyświetlał jako offline ale gracz wciąż będzie mógł na niego wejść). Wszystkie poniższe wyrażenia dostępne będą tylko i wyłącznie w tym wydarzeniu. IP[( |-)address] to wyrażenie zwraca adres IP pingującego (tj. Gracza lub serwera), można go użyć np. do stworzenia prywatnego MOTD, przykład: on quit: #przy wyjściu gracza z serwera przypisujemy jego nick do jego adresu ip set {ip::%ip of player%} to displayname of player on server list ping: #gdy gracz pinguje serwer, sprawdzamy czy jego ip ma przypisany nick, jeżeli tak to go wyświetlamy set motd to {ip::%ip%} ? "Domyślne MOTD" [the] [(default)|(shown|displayed)] (MOTD|message of [the] day) to wyrażenie odpowiada za ustawianie 'message of the day (MOTD)' serwera - czyli tych dwóch linijek opisu, przykład: on server list ping: #zrobmy dwa losowe motd - jedno oraz dwulinijkowe - użyję do tego wyrażenia %new line% (%nl%) z dodatku SkQuery aby rozpocząć nową linię chance of 50%: set motd to "&6Zwykłe motd" else: set motd to "&5Magiczne motd %nl% &dw dwóch linijkach" [the] [((real|default)|(fake|shown|displayed))] max[imum] player[s] [(count|amount|number|size)] to wyrażenie zwraca ilość graczy online - nie może być zmieniane, np. on server list ping: set motd to "Online: %real max players%" [the] [((real|default)|(fake|shown|displayed))] max[imum] player[s] [(count|amount|number|size)] taka opcja uprawnia nas do ustawienia fałszywej liczby graczy online, przykład: on server list ping: #pobierzmy liczbę graczy z serwera i zwiększmy ją o 20% set {_fake} to rounded down ((online player count) * 1.2) set fake max players to {_fake} [the] [(sent|required|fake)] protocol version [number] to wyrażenie zarządza wyświetlaną wersją serwera (https://wiki.vg/Protocol_version_numbers), przykład: on server list ping: #ustawmy wersję serwera jako 702 (20w07a) - czyli w momencie pisania poradnika - najnowszy snapshot wersji 1.16 #gdy wersja minecrafta gracza będzie zgodna z ową wersją wtedy serwer pokaże się jako dostępny set the protocol version to 702 [the] [(shown|custom)] version [(string|text)] wyświetlana wersja serwera (tekst) - pokazywana jest tylko wtedy gdy nie ma zgodności między wersjami (czyt. punkt powyżej). tej opcji można użyć by stworzyć 'lewe motd', czyli napis po lewej stronie ikony, przykłady: on server list ping: set protocol version to 702 #tak jak powyżej ustawiamy wersję na snapshot 1.16, jeżeli wersja gracza nie będzie zgodna, wtedy nad motd wyświetli się poniższa wiadomość set version string to "&d&lTylko wersja 1.16 20w07a" on server list ping: set protocol version to 0 #stwórzmy obiecane motd po lewej stronie ekranu - wydłużamy wiadomość pustymi spacjami, aby tekst przesunął się odpowiednio w lewo set version string to "&dMagiczny tekst po lewo od ikony &6heh" [the] [custom] [(player|server)] (hover|sample) ([message] list|message) tym wyrażeniem ustawiamy własny tekst (własną listę), który pokazuje się po najechaniu na tekst wersji (patrz powyżej). Domyślnie zobaczymy tam listę kilku losowych graczy z serwera, przykład: on server list ping: add "Serdecznie zapraszam" to {_hover::*} add "na nasz wspaniały" to {_hover::*} add "i niesamowity serwer" to {_hover::*} add "&6&lSurvival 1.16" to {_hover::*} #stworzyliśmy sobie listę, teraz wystarczy podmienić ją na domyślną set hover list to {_hover::*} hide [all] player [related] info[rmation] [(in|on|from) [the] server list] ten efekt sprawia, że lista graczy (patrz punkt powyżej) jest wyłączana (show|reveal) [all] player [related] info[rmation] [(in|to|on|from) [the] server list] ten efekt sprawia, że lista graczy (patrz punkt powyżej) jest włączana hide %players% (in|on|from) [the] server list ten efekt ukrywa konkretnych graczy z listy, przykład: on server list ping: set {_gracz} to ("Maruda" parsed as player) hide {_gracz} from server list [the] [((default)|(shown|sent))] [server] icon ta opcja służy do zmiany wysyłanego logo serwera, przydatny będzie tutaj efekt load [the] server icon (from|of) [the] [image] [file] %text% tym wyrażeniem wczytujemy do pamięci ikonkę z danego pliku, przyklad: on server list ping: #pamiętajmy że jego wymiar musi mieć 64x64 load server icon from "ścieżka/do/naszego/obrazka.png" set server icon to last loaded server icon A jeżeli kiedyś zapytacie czy dobrze jest robić motd skryptem, to ja wtedy odpowiem że moim zdaniem to nie ma tak że dobrze, albo że niedobrze. Gdybym miał powiedzieć co cenię w motd najbardziej, powiedziałbym że asynchroniczność... Yyy... asynchroniczność, która dodała mi pomocne tps kiedy serwer sobie nie radził, kiedy był zlagowany i co ciekawe to właśnie przypadkowe osoby wchodzące na serwer wpływają na nasz procesor. Chodzi o to, że kiedy wyznaje się pewne wartości, czasem pozornie uniwersalne... Edytowane 11 grudnia 2020 przez PanMaruda Poprawa błędów i oprawy wizualnej. jaku49, Alanekx123xx1, Tymekd i 4 innych 5 2 Cytuj Odnośnik do komentarza https://skript.pl/temat/37111-motd-w-skript/ Udostępnij na innych stronach Więcej opcji udostępniania...
xdzikuu 42 Opublikowano 17 lutego 2020 Udostępnij Opublikowano 17 lutego 2020 Świetny poradnik, robisz naprawde świetnie te poradniczki. Przejrzyste i przydatne. Dzięki wielkie Cytuj Odnośnik do komentarza https://skript.pl/temat/37111-motd-w-skript/#findComment-236398 Udostępnij na innych stronach Więcej opcji udostępniania...
Gość Usunięty#32366 Opublikowano 20 października 2020 Udostępnij Opublikowano 20 października 2020 Bardzo fajny poradnik, zrobiłbyś poradnik motd bungeecord w skrypcie? Chodzi o wszystkie możliwe funkcje motd w skrypcie Cytuj Odnośnik do komentarza https://skript.pl/temat/37111-motd-w-skript/#findComment-264517 Udostępnij na innych stronach Więcej opcji udostępniania...
PanMaruda 624 Opublikowano 22 października 2020 Autor Udostępnij Opublikowano 22 października 2020 W dniu 20.10.2020 o 20:59, Filip napisał: Bardzo fajny poradnik, zrobiłbyś poradnik motd bungeecord w skrypcie? Chodzi o wszystkie możliwe funkcje motd w skrypcie nie mam pojęcia jak dokładnie działa bugneecord, aczkolwiek z tego co się orientuję to na serwerze lobby będziesz musiał wgrać plugin skript oraz dodatek obsługujący właśnie bugneecorda - potem musisz już normalnie korzystając z tego poradnika zrobić sobie skrypt tylko zamiast (przykładowo) liczby graczy z lobby, musisz pobrać liczbę graczy ze wszystkich pod-serwerów zsumować ją i dopiero wyświetlić - ot, cała filozofia. Cytuj Odnośnik do komentarza https://skript.pl/temat/37111-motd-w-skript/#findComment-264702 Udostępnij na innych stronach Więcej opcji udostępniania...
pation 9 Opublikowano 19 marca 2021 Udostępnij Opublikowano 19 marca 2021 @PanMarudaNie działa mi icona serwera, nie pokazuje się PanMaruda 1 Cytuj Odnośnik do komentarza https://skript.pl/temat/37111-motd-w-skript/#findComment-295788 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ą.