Ranking
Popularna zawartość
Treść z najwyższą reputacją w 04/05/20 uwzględniając wszystkie działy
-
Skrypt na Przytulanie
ViselibterPL oraz jeden pozostały przyznał(a) reputację PanMaruda za pytanie
on sneak toggle: if player is not sneaking: loop all players in radius 1.5 around player: if loop-player is sneaking: play wolf hearts on player play wolf hearts on loop-player send "przytuliles %loop-player%"2 punkty -
Automatyczne logowanie premium na serwer Minecraft
Toranktto oraz jeden pozostały przyznał(a) reputację kacperduras za temat
Robiąc porządki na swoim komputerze, znalazłem moją starą wtyczkę służącą do weryfikowania statusu kont graczy w grze Minecraft. Odświeżyłem, przetestowałem i działa, tak więc postanowiłem, iż ją wystawię Działa ona na serwerze BungeeCord od wersji 1.8 (choć wskazane nowsze wersje), ponadto może być zintegrowana ze Spigotem, Spongem, czy Cauldronem (za dodatkową opłatą dopiszę rozszerzenie, w cenie jest tylko bardzo proste API). Konfiguracja Całość jest prosta i przyjazna: balancing: enabled: false premium: - "premium-1" - "premium-2" - "premium-3" cracked: - "cracked-1" - "cracked-2" - "cracked-3" messaging: false cracked-uuid: false forward-skin: true messages: error: "&cNastapil blad, zglos sie do administracji!" opisując: balancing - w tej sekcji mamy możliwość włączenia load balancing’u dla naszego serwera (enabled: false), stosownie dla graczy niezautoryzowanych (cracked) i zautoryzowanych (premium); messaging - zdefiniowanie, czy kanał do informowania o graczach premium ma być włączony (patrz: omówienie API); cracked-uuid - czy niezależnie od stanu autoryzacji, gracze mają mieć UUID jak gracze niezautoryzowani (przydatne dla zachowania spójności danych w bazach danych, w przypadku gdyby wtyczka była dogrywana do działającego już serwera) forward-skin - czy ma przenosić własną skórkę dla graczy premium API Wtyczka sama w sobie ma na celu udostępnienie bardzo prostego API, pod które można podpiąć każdy plugin, dla którego działania niezbędne są zachodzące procesy w moim rozszerzeniu (tj. weryfikacja autentyczności kont graczy). Informacje są wysyłane tylko dla graczy zweryfikowanych, więc jeśli informacja nie dotarła, oznacza to, że: dane rozszerzenie musi założyć, iż gracz jest niezweryfikowany jeżeli gracz był wcześniej zautoryzowany jako prawidłowy, to może oznaczać, że API Mojangu (producenta gry) jest obecnie niedziałające W jednym i w drugim przypadku zachęcam, by odpowiednio te wyjątki przetwarzać. Cała informacja jest wysyłana na poziomie łączenia ze serwerem, przed przetwarzaniem pierwszych wydarzeń, stosownych dla używanego oprogramowania serwerowego. BungeeCord Dla BungeeCord wystawione są tylko dwie klasy: HolterEvent i PremiumVerificationEvent: package pl.kacperduras.holter.api; import java.util.UUID; import net.md_5.bungee.api.plugin.Event; public class HolterEvent extends Event { private final String username; private final UUID uuid; public HolterEvent(String username, UUID uuid) { this.username = username; this.uuid = uuid; } public String getUsername() { return username; } public UUID getUUID() { return uuid; } } package pl.kacperduras.holter.api; import java.util.UUID; public class PremiumVerificationEvent extends HolterEvent { public PremiumVerificationEvent(String username, UUID uuid) { super(username, uuid); } } Starczy stworzyć zwykłego Listenera, z nasłuchiwaniem wydarzenia PremiumVerificationEvent i przetwarzać dane zgodnie z logiką poszczególnej aplikacji. Przykład: import net.md_5.bungee.api.plugin.Listener; import net.md_5.bungee.event.EventHandler; import pl.kacperduras.holter.api.PremiumVerificationEvent; public class HolterExampleListener implements Listener { @EventHandler public void premiumAuthorizationEvent(PremiumVerificationEvent event) { // do something... } } Pozostałe silniki Z tej opcji zalecam korzystać przy serwerach o mniejszej skali, do przetwarzania większej ilości danych zalecam stosowanie integracji BungeeCord Dla nich udostępniony jest mechanizm Plugin Messaging Channel, którego dokładniejszy opis możesz znaleźć tutaj. Wystarczy w konfiguracji włączyć opcję messaging i nasłuchiwać kanału o nazwie Holter. Dane będą wysyłane w formacie: <nick użytkownika>:<uuid użytkownika> przykład: _an0:6477d13c-835e-4701-ae79-238324166a85 Dodatkowe informacje Wtyczka przetwarza dane zgodnie ze specyfikacją udostępnioną przez Mojang, dzięki czemu nie ma możliwości zablokowania serwera przez nadmierny limit zapytań. Z powodzeniem sprawdzi się na mniejszą, jak i większą skalę. Cena 30 zł, mile widziany przelew bankowy lub PayPal. W przypadku płatności typu PaySafeCard doliczam opłatę 20zł za wypłatę środków od operatora. Inne formy płatności dostępne po wcześniejszym zapytaniu. Zachęcam do zakupu2 punkty -
Poradnik przedstawiający pętle w Skript. Skript - pętle Poznajemy pętle, ich rodzaje i przykładowe zastosowania. I. Wstęp Czym są pętle? Jak je dzielimy? Pętle są wyrażeniami, dzięki którym możemy zapętlić w dany sposób/daną ilość razy jakiś kod. Pętle dzielimy na dwie grupy: - pętle skończone (wykonujące określoną ilość razy dany kod) - pętle nieskończone (wykonujące dany kod przez cały czas działania skryptu) wyjątkiem jest pętla while, która może być skończona lub nieskończona. II. Pętle skończone Czym się charakteryzują? Do czego można ich użyć? Pętle skończone można podzielić na dwie grupy: - pętle ze zdefiniowaną ilością zapętleń: loop 13 times: # kod loop {zmienna} times: # kod loop 4*5+2^30 times: # kod W pętlach tych możemy się odwoływać do zmiennej loop-number, która przechowuje numer zapętlenia. - pętle zapętlające daną grupę obiektów loop {lista::*}: # kod loop all players: # kod loop all sheeps in player's world: # kod loop players in radius 4 of player: # kod loop inventory of clicked block: # kod loop inventory of arg: # kod loop worlds: # kod loop all dropped items: # kod Każda z tych pętli może zawierać inne zmienne: po zapętleniu listy zmiennych: loop-index - nazwa zmiennej, loop-value - wartość zmiennej, po zapętleniu graczy: loop-player - gracz, po zapętleniu owiec: loop-sheep (lub loop-entity) - owca, po zapętleniu ekwipunku: loop-item - przedmiot, po zapętleniu światów: loop-world - świat. Pętle te wykonają dany kod dla każdego obiektu z zapętlonej grupy. Pętle w pętli Jeśli tworzymy kilka pętli w sobie nawzajem i posiadają one zmienne o takich typach, aby się do nich odwołać musimy zdefiniować numer pętli w formacie: nazwa_zmiennej-numer_pętli np. loop-number-2. loop 30 times: loop 4 times: loop-number-1 is 3: send "3 zapętlenie pierwszej pętli, wyświetli się 4 razy" loop-number-2 is 4: send "4 zapętlenie drugiej pętli, wyświetli się 30 razy" loop-number-1 is 30: send "ostatnie zapetlenie pierwszej pętli, wyświetli się 4 razy" III. Pętle nieskończone Czym się charakteryzują? Do czego można ich użyć? Pętle nieskończone, jak sama nazwa wskazuje, wykonują dany kod nieograniczoną ilość razy. Jako jedyne stanowią samodzielne jednostki (nie muszą być zawarte w komendach, zdarzeniach). every <czas>: # kod every 1 tick: # kod every 5 hours: # kod Dany kod będzie wykonywany w nieskończoność co zdefiniowany czas np. co 5 godzin. IV. Pętla while Czym się charakteryzuje? Do czego można jej użyć? Ciekawą pętlą jest pętla while, gdyż może być zarówno skończona jaki i nieskończona. while <warunek>: # kod Słownie można opisać ją tak: dopóki warunek jest spełniony wykonuje dany kod. while 1 is 1: # kod Powyższa pętla będzie wykonywała dany kod w nieskończoność. W praktyce jednak nie ma sensu tworzyć nieskończonej pętli while gdyż będzie ona działała tak samo jak pętle every. Jedyną różnicą jest ta, że jeśli kod w pętli nie będzie zawierał polecenia wait to nieskończona pętla while "zlaguje" serwer gdyż będzie on bez najmniejszej przerwy wykonywał kod w pętli "nie mając czasu" na żadne inne działanie. Tak więc tworzenie nieskończonych pętli while - niewskazane! Przy używaniu tej pętli warto zastosować zabezpieczenie przed nieskończonością, mianowicie: set {_limit} to <limit powtorzen> while <warunek>: # kod remove 1 from {_limit} {_limit} is 0: exit loop V. Przykłady Przykładowe zastosowania różnych pętli. - Pętla every 5 seconds oraz zapętlenie wszystkich graczy na serwerze: every 5 seconds: loop all players: {vampire.%loop-player%} is true sunlight level at the loop-player is greater than 10 ignite the loop-player for 5 seconds Działanie: jeśli zmienna {vampire.%gracz%} ma wartość true i gracz przebywa w słońcu - będzie się palił. - Zapętlenie wszystkich graczy: command /ac [<text>]: trigger: loop all players: loop-player has permission "jestem.adminem": send arg to loop-player Działanie: wysyła wiadomość do wszystkich graczy posiadających uprawnienie jestem.adminem. - Pętla while: on right click on sign: line 1 is "[sklep]" line 2 constains "S" and "K" and ":" set {_i} to 1 while {_k} or {_s} is not set: line 2 of clicked block constains "S %{_i}%:": set {_s} to {_i} line 2 of clicked block constains ":%{_i}% K": set {_k} to {_i} add 1 to {_i} {_i} is 9999: exit loop send "Cena kupna: %{_k}%, Cena sprzedaży: %{_s}%" Działanie: pętla while jest tu wykorzystana do pobrania kwoty kupna i sprzedaży z tabliczki o wzorze: linia 1: [sklep] linia 2: S <cena sprzedaży>:<cena kupna> K Pętla będzie wykonywana tak długo, aż zmienne {_s} i {_k} będą zapisane lub gdy osiągnie 9999 powtórzeń.1 punkt
-
Czy zastanawiałeś się kiedyś na stworzeniem serwera, na który będą mogli wchodzić gracze na różnych wersjach? Dobrze trafiłeś, w dzisiejszym poradniku przybliżę Ci serię plug-in’ów Via, a dokładnie ViaVersion, ViaBackwards oraz ViaRewind. ViaVersion – dodaje wsparcie dla nowych wersji, gdy serwer stoi na starszej (np. 1.12 wtedy gracze mogą dołączyć z wersji od 1.12 do najnowszej, aktualnie 1.21) ViaBackwards – dodaje połączenia „wstecz” dla serwerów stojących na nowych wersjach (np. 1.21), czyli gracze mogą dołączyć na wersjach 1.9 – 1.19. Plugin jest kompatybilny z wersją 1.21. ViaRewind – dodaje połączenia dla graczy z wersji 1.7 oraz 1.8, gdy serwer stoi na wyższych wersjach. Plugin jest kompatybilny z wersją 1.21. Jeśli chcesz, aby serwer był dostępny dla graczy z wersji 1.7 – 1.21, najlepiej postawić go na wersji 1.8, ale jest tego wada, a są nią stare pluginy i liczne błędy. Gdy serwer będzie uruchomimy na wersji 1.21, a będziemy chcieli, aby gracze mogli dołączyć z starszych wersji, musisz użyć ViaBackwards (wsparcie dla nowszych od 1.9) oraz ViaRewind (wsparcie do wersji 1.7 i 1.8). Oczywiście nie trzeba wspominać, że to rozwiązanie pobiera trochę pamięci RAM. Nie zaleca się również stosować komendy /reload, ponieważ spowoduje ona wysokie obciążenie serwera i serwer może się wyłączyć. Istnieje również dodatek dodający wsparcie dla wersji 1.7 czyli ViaRewind działa on w porozumieniu z ViaBackwards. /viaver list – lista graczy na odpowiednich wersjach, /viaver dontbugme – włącza informacje o aktualizacji pluginu, /viaver autoteam – włącza kolizje między graczami, /viaver pps – wyświetla ilość wysyłanych pakietów przez danego gracza, /viaver debug – nie należy używać, ale służy do wyświetlania wszystkich wysyłanych przez gracza pakietów w konsoli. Instalacja plug-inów przebiega w standardowy sposób, należy wkleić pliki .jar wtyczek do folderu /plugins. https://www.spigotmc.org/resources/viaversion.19254/ https://ci.viaversion.com/view/ViaBackwards/job/ViaBackwards-DEV/ https://ci.viaversion.com/view/ViaRewind/job/ViaRewind/ Poradnik jest własnością jaku49 (kubix03), był również publikowany na konkurencyjnym forum oraz blogu o tematyce Minecrafta.1 punkt
-
Z dedykacją dla wszystkich tych, którzy wmawiają sobie i innym, że do wysłania na chat klikalnego tekstu lub podpowiedzi po najechaniu potrzebują skryptu json.sk albo jakichś magicznych efektów ze starożytnego dodatku. Ten poradnik pokazuje i tłumaczy w jaki sposób osiągnąć takie efekty jedynie przy pomocy czystego pluginu Skript (od bodajże wersji 2.0). Interaktywny chat: zaznaczam, iż wszystkie poniższe akcje odnoszą się jedynie do efektów które wysyłają wiadomość do gracza (broadcast oraz message); wszystkich akcji jakich możemy użyć jest cztery i dzielą się one na dwie grupy, zapisujemy je dość prosto według poniższego formatu: '<nazwa: treść akcji>tekst do którego będzie się ona odnosić' [GRUPA PIERWSZA] akcje aktywowane po najechaniu na tekst: tooltip - wyświetla dodatkowy tekst (tzw. podpowiedź) w ramce nad wybraną wiadomością, przykładowo: '<tooltip:Wiadomość po najechaniu>Najedź na tą wiadomość' [GRUPA DRUGA] akcje aktywowane po kliknięciu na tekst: url - przenosi gracza do domyślnej przeglądarki i otwiera mu stronę z podanego linku (w większości przypadków wymaga to dodatkowego potwierdzenia przez użytkownika - w celach bezpieczeństwa - czy na pewno chce otworzyć daną stronę, przykładowo: '<url:https://www.youtube.com/watch?v=JnHPN1WsjBo>Kliknij tutaj aby posłuchać' command - wykonuje komendę jako gracz: jeżeli treść akcji zaczyna się od ukośnika - wtedy jest ona traktowana jako komendą wykonywana przez gracza, przykładowo: '<command:/help>Kliknij mnie aby otrzymać pomoc' jeżeli treść nie zaczyna się od ukośnika - wtedy jest ona traktowana jako zwykła wiadomość wysyłana przez gracza na chat, przykładowo: '<command:Dzień dobry>Kliknij tutaj aby się przywitać' suggest command - wpisuje graczowi podaną treść w jego pole tekstowe pod chatem, przykładowo: '<suggest command:Jestem twoją wklejoną wiadomością>Kliknij tutaj, aby wkleić wiadomość do swojego pola tekstowego' Formatowanie i kolorowanie tekstu: myślę że każdy, kto teraz czyta to zdanie doskonale wie jak korzystać z kolorów w minecraft przy użyciu paragrafu (§) lub spójnika (&) - więc nie będę ich tutaj przytaczał, skupię się na osobnej Skriptowej wersji kolorowania i formatowania wiadomości; tak jak powyżej, poszczególne kolory \ efekty dodajemy zapisując je w nawiasach ostrych: '<efekt\kolor>' kolory - wiem, że z tej opcji nikt nigdy nie skorzysta skoro możemy to robić dużo szybciej i krócej przy użyciu spójnika, ale i tak warto o tym wspomnieć, przykładowo: '<red>Ta wiadomość będzie czerwona' lista wszystkich głównych kolorów wraz z ich aliasami: [ 0 ] black - czarny [ 1 ] blue (dark blue) - niebieski [ 2 ] green (dark green) - zielony [ 3 ] cyan (cyanaqua, dark cyan, dark aqua, dark turquoise, dark turquois) - turkusowy [ 4 ] red (dark red) - czerwony [ 5 ] purple (dark purple) - fioletowy [ 6 ] orange (orange, gold, dark yellow) - pomarańczowy [ 7 ] grey (light grey, gray, light gray, silver) - szary [ 8 ] dark grey (dark gray) - ciemny szary [ 9 ] light blue (indigo) - jasny niebieski [ a ] light green (lime, lime green) - jasny zielony [ b ] light cyan (light aqua, turquoise, turquois, light blue) - błękitny [ c ] light red (pink) - jasny czerwony [ d ] light purple (magenta) - jasny fioletowy [ e ] yellow (light yellow) - żółty [ f ] white - biały formatowanie - tak, tak - to też niepotrzebnie piszę, ale co tam, przykładowo: '<bold>Ta wiadomość będzie pogrubiona' lista wszystkich opcji formatowania: [ k ] magic (obfuscated) - mrugające znaki (zwykle zwane - matrixem) [ l ] bold (b) - pogrubienie [ m ] strikethrough (strike, s) - przekreślenie [ n ] underlined (underline, u) - podkreślenie [ o ] italic (italics, i) - pochylenie kolory RGB (hexadecymalne) - nowością w minecraft (dostępną od wersji 1.16) jest wsparcie dla kolorów RGB w formacie hexadecymalnym, jak z nich korzystać i skąd je brać: swoje własne kolory możemy wybierać z np. generatorów online (https://htmlcolorcodes.com/color-picker/) - nas interesuje zawsze wartość z kratką (hashtag), wpisujemy ją identycznie jak wszystkie powyższe kolory - w nawiasy ostre. (kratka również musi być podana), przykładowo: '<#00FF00>Ta wiadomość będzie zielona' Warto wiedzieć: we wszystkich powyższych przykładach, efekt (kolor lub formatowanie) będzie odnosiło się do całej wiadomości; jeżeli jednak będziemy chcieli się go pozbyć, możemy to zrobić na dwa sposoby: korzystając z opcji resetowania tekstu '<reset>', '<r>' lub '&r', przykładowo: '<red>Ta wiadomość będzie czerwona <reset>Ale ta będzie już w domyślnym kolorze białym' wstawiając za tekstem kolejne formatowanie, przykładowo: '<bold>Ta wiadomość będzie biała i pogrubiona <red>Ale ta będzie czerwona i niepogrubiona' jeżeli efekty (kolory lub formatowanie) następują po sobie to się na siebie nakładają, przykładowo: '<tooltip:Wiadomość><red><bold>Ta wiadomość będzie czerwona, pogrubiona i pokaże tekst po najechaniu na nią' tooltip - czyli podpowiedzi opisane na początku poradnika - mogą składać się z wielu linijek. Jeżeli chcemy taki efekt uzyskać musimy każdą nową linijkę oddzielić wyrażeniem nowej linii '%new line%' lub w skrócie '%nl%', przykładowo: '<tooltip: 1 linijka %nl% 2 linijka %nl% 3 linijka %nl% i tak dalej>Mamy tutaj długą podpowiedź' wewnątrz efektów (np. w podpowiedziach) możemy również używać kolorów i formatowania, przykładowo: '<tooltip: <yellow><bold>Żółta podpowiedź>&4&lNajedź tutaj kursorem, aby zobaczyć żółtą podpowiedź' jeżeli wewnątrz naszego efektu (koloru lub formatowania) chcemy umieścić wyrażenie lub zmienną - to jak najbardziej możemy to zrobić, ale: skript podczas wysyłania wiadomości najpierw stara się ją formatować (tj. ustawia kolory, efekty i wszystko co powyżej opisałem), a dopiero po nich wstawia do naszego tekstu zmienne, co skutkuje niepokolorowaną wiadomością wysłaną na chat, przykładowo: set {_pogrubienie} to "bold" send "<%{_pogrubienie}%>nasza wiadomość" niestety, na chacie naszym oczom ukaże się: <bold>Nasza wiadomość z pomocą przychodzi nam wyrażenie '[un] formatted %text%' - sprawia ono, że plugin ponownie (po wczytaniu zmiennych) sprawdza wiadomość w poszukiwaniu formatowania tekstu - dzięki temu możliwe jest umieszczanie zmiennych w tekście (np. z nickami graczy, kolorami rgb lub kolorami pobranymi przez skripta), przykładowo: set {_hex} to "##00FF00" send formatted "<%{_hex}%Ta wiadomość zawiera działającą zmienną z kolorem zielonym" Tylko gdzie pizza zapytacie - a ja na to: *pstryk* średnia hawajska dla wszystkich.1 punkt
-
MOTD w skript
Alanekx123xx1 przyznał(a) reputację PanMaruda za temat
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...1 punkt -
szybka odpowiedź nawet nie zdążyłem edytować pytania xD1 punkt
-
Jak usunąć komunikat przy wchodzeniu na server
ViselibterPL przyznał(a) reputację xAxee za pytanie
on join: set join message to ""1 punkt -
1 punkt
-
no bo w evencie on load nie ma żadnego event-playera zmień event lub zmien playera1 punkt
-
1 punkt
-
1 punkt
-
tool of %player% Odsyłam do dokumentacji Skripta: https://skriptlang.github.io/Skript/index.html1 punkt
-
ma ktoś skrypt na /schowek z wyplata wszystko
Filipxdd123 przyznał(a) reputację jaku49 za pytanie
Dowolny tego typu skrypt + dodanie wypłaty wszystkiego w postaci jednej linijki kodu1 punkt -
Witajcie :hi: W tym Mini Poradniku postaram się wyjaśnić, jak używać efektów potionów w SKRIPT. :p Jest to mój pierwszy TUT, więc proszę o wyrozumiałość i zbytnie niekrytykowanie mojej pracy 1.Zacznijmy od tego, iż wiele ludzi używa tego sposobu : command /dragi: trigger: give player 1 sugar named "&7Bialy proszek" on rightclick holding a sugar: if name of player's tool is "&7Bialy proszek": if player has permission "Dragi": Send "&8Wlasnie wciagnales kreske. Za chwilke odczujesz tego efekty :]" to the player wait 3 second execute console command "/effect %player% 1 40 2" execute console command "/effect %player% 4 30 2" execute console command "/effect %player% 9 40 2" wait 1 second execute console command "/effect %player% 17 20 1" execute console command "/effect %player% 20 15 1" wait 10 second execute console command "/effect %player% 15 10 1"Można go w łatwy sposób zastąpić skryptowym effectem : trigger: give player 1 sugar named "&7Bialy proszek" on rightclick holding a sugar: if name of player's tool is "&7Bialy proszek": if player has permission "Dragi": Send "&7Wlasnie wciągnąles kreske. Za chwilke odczujesz tego efekty :]" to the player wait 3 second apply speed potion of tier 1 to the player for 40 second apply slow 2 to the player for 30 second apply nausea 2 to the player for 40 second wait 3 second apply hunger 1 to the player for 20 second apply wither 1 to the player for 15 second wait 10 second apply blindness 1 to the player for 10 second2. Jak używać ? W dokumentacji SKRIPT znajdziemy taki effect: apply [potion of] %potions% [potion] [[[of] tier] %number%] to %living entities % [for %time span%] Rozłóżmy go na części i przeanalizujmy do :) 1) Część : [potion of] %potions% [potion] odwołuje się do nazwy potionu, przedrostek [potion of] oraz przyrostek [potion] nie są potrzebne do prawidłowego działanie efektu, lecz można je dopisać, aby poprawić wizualną stronę skryptu. Użycie: apply potion of speed ... apply speed potion... apply speed... 2) Część: [[[of] tier] %number%] odwołuje się do mocy potionu, przedrostek [[of] tier] nie jest potrzebny do prawidłowego działania efektu, lecz można je dopisać, aby poprawić wizualną stronę skryptu. Użycie: apply speed of 1... apply speed of tier 1... apply speed 1 3) Część: to %living entities% odwołuje się do żywych istot, w naszym wypadku do gracza (Nie jestem pewien czy efekt działa na zwierzęta i moby, gdyż kilka prób, które wykonałem zakończyły się fiaskiem) Użycie: apply speed 1 to the player... 4) Część: [for %time span%] odwołuje się do czasu, jaki dany efekt ma trwać. Przedrostek [for] w tym wypadku jest niezbędny do prawidłowego działania efektu. Użycie: apply speed 1 to the player for 40 second 3. Usuwanie efektu potionu ? Aby usunąć efekt potionu musimy się odwołać do efektu : remove %potions% from player Użycie: remove speed from player nausea remove slow from player remove nausea from player Zastosujmy ten efekt do wyżej napisanego kodu na narkotyki: trigger: give player 1 sugar named "&7Bialy proszek" on rightclick holding a sugar: if name of player's tool is "&7Bialy proszek": if player has permission "Dragi": Send "&7Wlasnie wciągnąles kreske. Za chwilke odczujesz tego efekty :]" to the player wait 3 second apply speed potion of tier 1 to the player for 40 second apply slow 2 to the player for 30 second apply nausea 2 to the player for 40 second wait 3 second apply hunger 1 to the player for 20 second apply wither 1 to the player for 15 second wait 10 second apply blindness 1 to the player for 10 secondcommand /czysc: trigger: remove nausea from player remove speed from player remove nausea from player remove blindness from player remove wither from player send "&7Twoje Efekty zostaly wyczyszczone" 4. Lista Efektów Potionów: 1. Szybkość - Speed 2. Spowolnienie - Slowness 3. Szybkość kopania - Haste 4. Wolne kopanie - Mining Fatigue 5. S iła - Strength 6.Natychmiastowe leczenie - Instant Health 7.Natychmiastowe obrażenie - In stant Damage 8.Wysokie skoki - Jump Boost 9.Nudności - Nausea 10.Regeneracja - Regeneration 11.Ochrona - Resistance 12.Ochrona przed ogniem - Fire Resistance 13.Oddychanie pod wodą - Water Breathing 14.Niewidzialność - Invisibility 15. Ślepota - Blindness 16. Widzenie w ciemnośc i - Night Vision 17.Głód - Hunger 18.Osłabienie - Weakness 19.Trucizna - Poison 20.Efekt wither'a - Wither 21.Dodatkowe serca - Health Boost 22.Więcej złotych serc - Absorption 23.Zaspokaja głód - Saturation Mam nadzieję, że poradnik przyda się osobom rozpoczynającym zabawę z SKRIPT'EM i nie tylko c: Pozdrawiam no i cześć :hi2: ~Hydorax1 punkt
-
command /OpisEdit [<text>]: trigger: if player has permission "SuperScript.OpisEdit": if arg 1 is set: send "{@p1} &4&l%player% &7&lUstawil opis na: &6%arg 1%" set {motd} to arg else: send "{@p1} Dopisz Prefix" Else: message "{@p1} Nie posidasz permisji" on server ping: set motd to {motd}1 punkt
-
Wersja Skripta
czubek przyznał(a) reputację CountingDogs za pytanie
Jeśli chcesz pisać skrypty pod wersję 1.0-1.7.10 to nie, dużo nie tracisz, bo i tak tylko pod tę wersje piszesz skrypty, jednak tracisz trochę ponieważ te wersje nie są już tak popularne i skrypt nie umożliwi Tobie tyle co najnowsze wersje pluginu Skript. Znajdź sobie taką wersję jaką chcesz https://github.com/SkriptLang/Skript/releases Tutaj masz najnowsze wersje tego pluginu i powtórzę, poszukaj takiej wersji pluginu na jaką chcesz pisać skrypty.1 punkt -
mc.Kiroksiewicz.PL [1.14.x-1.15.x] Adres serwera » mc.Kiroksiewicz.PL Strona serwera » https://kiroksiewicz.pl Discord » https://discord.gg/CcS2Uf4 Wersja Serwera » 1.14.x - 1.15.x Typ serwera » Survival + Działki Autoryzacja » NON PREMIUM + PREMIUM Jest to serwer zarówno dla graczy non premium oraz premium, swoim bytem przypomina istniejącą wcześniej Kwadratową Masakrę (Sezon 1). Serwer opiera się na działkach oraz zdobywaniu pieniędzy, wbijaniu topki, rozwoju swojej działki do perfekcji. Nie mniej jednak możemy żyć jako pustelnik, odłączony od reszty, gdzieś ukryty w kopalni czy innej dżungli. Na serwerze występuje system Sklepów (na spawnie), Magicznych Skrzyń oraz Smoczych Monet, czyli waluty Premium. Nie jest to serwer PayToPlay, Smocze Monety możemy uzyskać poprzez kupno ich na stronie (http://kiroksiewicz.pl) bądź wylosowaniu ich z Magicznej Skrzynki, którą możemy dostać za kopanie Stone. Jest dużo innych dodatków, feature'ów oraz systemów (chociażby własny sklep na działce). Zapraszamy do gry, serwer świeżo wystartował.1 punkt
-
Konsola forumowa
Misio12320 przyznał(a) reputację PanMaruda za temat
[CraftserveAgent] Disabling CraftserveAgent v20191204-20211 punkt -
command /repair [<text>]: executable by: players aliases: fix trigger: if player has permission "sk.repair": if arg 1 is "all": if player has 5 enchanted golden apple: repair all items in player's inventory send "&a[Naprawa] &7Naprawiono wszystkie itemy." remove 5 enchanted golden apple from player else: send "&c[Naprawa] &7Nie masz: &f5xENCHANTED_GOLDEN_APPLE" else: if player has 64 diamonds: repair player's tool send "&a[Naprawa] &7Naprawiono trzymany item." remove 64 diamonds from player else: send &c[Naprawa] &7Nie masz: &f64xDIAMONDS&7." else: send "&c[Naprawa] &7Nie masz uprawnienia: &fsk.repair"1 punkt
-
Konsola forumowa
Misio12320 przyznał(a) reputację boleknowak za temat
[SkriptoCore] Deleting mcskriptpl and adding @knugi to game.0 punktów
-
Najwięcej postów w tygodniu
-
Najwięcej tematów w tygodniu
-
Aktywni użytkownicy
Nikt jeszcze nie otrzymał reputacji w tym tygodniu.
