Skocz do zawartości

  • Pewnego razu wszedłem na konsolę serwera, aby sprawdzić jedną rzecz. Patrzę, patrzę; nagle ktoś zaczyna reklamować inny serwer.
    Nie byłoby w tym nic złego, gdyby złapała ich antyreklama, a że ich nie złapała to trzeba wyczyścić czat. Moderator jest AFK (ang. away from keyboard), a w konsoli nie można wyczyścić czatu.
    Dlaczego? Bo jakiś „geniusz” napisał coś takiego:
     
    player has permission "beznadziejnyskrypt.czyszczeniechatu": loop 100 times: broadcast "" send "Chat wyczyszczony zostal przez %player%" Nie można wyczyścić czatu z konsoli (świadczy o tym pierwsza linia), co może niektórych trochę wkurzyć. Jest pewien sposób jednak nie zawsze on działa (komenda /sudo z Essentials). Wady tego sposobu są takie, że osoba posiadająca uprawnienia do tego musi być online, a poza tym - trzeba posiadać odpowiedni plugin.
    Kolejną zaś rzeczą jest efekt broadcast. Może on narobić zbędnego spamu w konsoli i logach.
    A taki skrypt na czyszczenie czatu to jeszcze nic. Spotkałem się z innym!
    variables: {_wiadomosc.czysczenieczatu} = Czat wyczyszczony {_wiadomosc.wylaczenieczatu} = Czat wylaczony {_wiadomosc.wlaczenieczatu} = Czat wlaczony #I cała reszta kodu... No tak... Zmienna tymczasowa, która właściwie nic nie daje. Ktoś w ogóle sprawdzał, czy te skrypty działają?
    Inny ciekawy przykład....
    „Polecam karzdemó!”
    on chat: if %uuid of player% is set: send "Ponirzsza wiadomosić zostaua zweryfikowana przez wysyuajoncego." Błędy ortograficzne, skrypt nie działa, a poza tym nie ma najmniejszego sensu.
    Co myślę o skryptach i osobach, które takie piszą?
    Skrypty takie są bezużyteczne. Ich autorzy to zazwyczaj „początkujący”, a 99% osób, które z takich korzystają, tłumaczy się „trzeba im dać szansę”. Tak, powinniśmy im dać szansę, ale w inny sposób! Powiedzieć im, co jest nie tak i co nam nie pasuje. Taka osoba może dzięki naszym radom stać się jeszcze lepsza w pisaniu skryptów, więc zwiększa się prawdopodobieństwo, że będzie kiedyś pisać porządne skrypty.
    Skript jest bardzo prostym, językiem, jednak osób które się na nim znają w naszym kraju jest niewiele, o czym świadczą podane wyżej przykłady. Poza tym, wszyscy powinni zastanowić się, czy skrypt ma sens lub czy działa poprawnie przed jego udostępnieniem.
    Aktualizacja
    Na prośbę kilku osób dodaję prawidłowe wersje skryptów.
     
     

    Zaklinanie w Minecraft wydaje się być nieskomplikowanym procesem. O ile samo zaklinanie skomplikowane nie jest, o tyle łączenie i ulepszanie przedmiotów to temat, który wielu ludziom sprawia problemy. Może on nas zaskoczyć w wielu miejscach, a wiki nie jest za bardzo pomocna w tych tematach.

    I. Doświadczenie
    Aby cokolwiek ulepszyć, będziemy potrzebowali określonego poziomu. A jak ów poziom zdobyć? Oto wszystkie źródła doświadczenia:
    Zabijanie potworów i zwierząt Kopanie rud innych niż żelazo i złoto Zaklęte butelki pozyskiwane przez handel z osadnikami, tryb kreatywny lub komendy Rozmnażanie zwierząt Łowienie ryb Przepalanie czegokolwiek w piecach Handel z wieśniakami
      II. Metody otrzymywania ulepszonych przedmiotów
    Metod uzyskiwania ulepszonych przedmiotów lub książek, wbrew pozorom, jest na prawdę sporo i choć może się to wydawać dziwne, ale zaklinanie przy stole do zaklęć to prawdopodobnie tylko początkowy etap wędrówki z zaklęciami. Później mało kto z tego korzysta, a na czysto w grę wchodzą książki z różnych świątyń czy narzędzia lub księgi od wieśniaków i kowadło.
     
    Sprzedający ulepszone przedmioty i książki wieśniacy Kowale (Blacksmith) sprzedają ulepszone narzędzia, bronie czy zbroje Bibliotekarze (Librarian) sprzedają książki z ulepszeniami Remarze (Leatherworker) sprzedają ulepszony skórzany ekwipunek Ulepszone przedmioty można znaleźć w miastach kresu
    Ulepszone książki można znaleźć w miastach kresu, dżunglowych świątyniach, piramidach, twierdzach, opuszczonych kopalniach a także wyłowić z wody
    Zabite moby mogą wyrzucić ulepszone przedmioty
    Przy stole do zaklęć można ulepszyć książki oraz przedmioty
    Przy kowadle można połączyć książki oraz przedmioty

     
    III. Podstawowe pojęcia związane z ulepszeniami
    Na wstępie warto sobie powiedzieć z czym możecie spotkać się na serwerach oraz w czystej teorii, jak będziemy o pewnych rzeczach mówić w kolejnych częściach (już dotyczących ulepszeń bezpośrednio) tego poradnika.
    a/b/c/d/e/f - prawdopodobnie spotkasz się z taką numeracją przy nazwie narzędzia lub elementu zbroi. Ten skrót wykształcił się, gdy wszyscy ogarnęli zaklęcia i chcieli znaleźć szybką drogę komunikacji. Zamiast "Hełm Protection IV Unbreaking 3 Respiration 3 Thorns 3 Aqua Affinity Mending" powie się "Hełm full" lub "Hełm 4/3/3/3/1/1". Krócej? A no krócej. Zaklęcia od początku do końca są podzielone swego rodzaju rangą:
    >>> Pierwsze zaklęcie ma największy maks. poziom (odpowiadająco: Protection dla zbroi, Efficiency dla narzędzi, Power dla łuku, Sharpness dla miecza). Jeżeli przedmiot może mieć kilka zaklęć o tym samym poziomie maksymalnym i wykluczają się one (zbroje i miecze), można to zaznaczyć poprzez skróty od nazw lub nazwy: Miecz BoA, Miecz Smite, Hełm FP (lub Fire prot), Buty PP (lub Proj prot), Klata BP (lub Blast prot), itd.
    >>> Kolejne zaklęcia, jeśli są na tym samym poziomie, są ułożone zgodnie z pewnym schematem, rozpoznawalnością dla danego przedmiotu (tak jak dla kilofa "/3/3/" = "/Unbreaking 3/Fortune 3/", tak dla hełmu "/3/3/3/" = "Unbreaking 3/Respiration 3/Thorns 3"). Przy czym każdy przedmiot ten zestaw zaklęć ma nieco inny. Najbardziej rozpoznawalnym dla każdego narzędzia zaklęciem jest Efektywność, której maks. poziom wynosi 5. Drugim najbardziej rozpoznawalnym zaklęciem dla każdego przedmiotu jest znajdująca się na drugim miejscu trójka - Unbreaking czy też niezniszczalność. Te zestawy są dość intuicyjne i indywidualne.
    >>> Ostatnia jedynka w nazwie przedmiotu może być zastąpiona literą "m" i oznacza "mending". 4ever and ever. Zaklinanie - operacja wykonywana przy stole do zaklęć Przekuwanie - operacje wykonywane przy kowadle Set - Hełm, napierśnik, nogawice i buty LUB Hełm, napierśnik, nogawice, buty, kilof, topór, łopata, miecz, łuk (wynika z kontekstu)

    Aktualizacja „The Frostburn Update” nosząca numer 1.10 już dostępna! 
    8 czerwca 2016 roku Mojang wypuścił kolejną wersję kultowej sand boxowej gry, czyli każdemu dobrze znanego Minecrafta.
    Dodano w niej m.in. niedźwiedzie polarne, nowe bloki, dwa nowe potwory oraz nowe struktury.


    Główna lista zmian w wersji 1.10:
    - dodano nowe moby: Husk oraz Stray;
    - dodano niedźwiedzie polarne występujące na biomie zimowym;
    - dodano automatyczny skok zaimplementowany z MC: PE możliwy do włączenia lub wyłączenia w opcjach;
    - dodano nowe bloki w Piekle: blok magmy oraz blok brodawki Netherowej;
    - dodano nową strukturę: skamieliny;
    - dodano nowe bloki w normalnym świecie; blok kości oraz blok struktur;
    - od teraz Endermany spawnują się również w Netherze;
    - w wioskach zamiast żwiru generuje się ścieżka dodana w wersji 1.9;
    - wioski mogą generować się na biomie tajgi;
    - opuszczone kopalnie mogą występować na biomie mesa.


    To tyle, jeśli chodzi o główne zmiany w najnowszej wersji. Graliście już na 1.10? Opiszcie swoje wrażenia w komentarzach!
     

    I. Wstęp
    Pisanie pluginów pod bukkit, może się nam kojarzyć z czymś trudnym, skomplikowanym, jak i dziwnym. Niekiedy wiedza, zdobyta przy pisaniu kolejnych linijek kodu przychodzi z łatwością, a niekiedy z wielkim trudem. Niezależnie jak zdobywasz wiedzę, i kim jesteś drogi Czytelniku, to ta seria poradników, jest przeznaczona głównie dla Ciebie. No to, zaczynajmy
     
    II. Instalacja edytora
    Do pisania pluginów w Javie, nie wystarczy zwykły notatnik. Jest nim specjalny edytor, który w skrócie nazywa się IDE. Opis jednego z nich - Eclipse opisałem tutaj: klik.
     
    III. Dodanie biblioteki
    Dobrze, przed stworzeniem pierwszego projektu, należy wybrać interesującą Ciebie wersję silnika, pod którą będziemy pisać plugin. Już gotowe silniki, możemy pobrać na tej stronie: klik. Po pobraniu biblioteki, wystarczy stworzyć nowy Java Project, oraz zaimportować nasz silnik.
     
    IV. Hello World
    Dobrze, teraz napiszemy sobie nasz pierwszy plugin. Cel będzie miał dość prosty, mianowicie - ma wyświetlić w konsoli tekst, o treści Hello World. No to, przejdźmy do działania. Stwórz sobie package, o dowolnej nazwie, i w nim klasę, o nazwie HelloWorld, po czym, przepisz poniższy kod, pamiętając o zaimportowaniu wszystkich klas:
     
    public class HelloWorld extends JavaPlugin { @Override public void onEnable() { getLogger().log(Level.INFO, "Hello world!"); } @Override public void onDisable() { } } Dobrze, teraz tłumacze krok, po kroku, co dana linijka znaczy:
    public class HelloWorld extends JavaPlugin - definiuje klasę Hello World, rozszerzajacą klasę z Bukkit API o nazwie JavaPlugin public void onEnable() - metoda, która wykonuje się po uruchomieniu pluginu getLogger().log(Level.INFO, "Hello world!"); pobiera klasę Logger, i wyświetla tekst "Hello world" jako zwykłą informacje. public void onDisable() - metoda, która wykonuje się po zakończeniu działania pluginu  
    V. plugin.yml
    Żeby plugin został rozpoznany, trzeba stworzyć plik, który będzie zawierał dane o nim. Poza naszym package (i folderze src), tworzymy plik, o nazwie plugin.yml, i wpisujemy poniższą zawartość:
     
    main: <Twój package>.HelloWorld name: HelloWorld version: 1.0 author: <Twój nick> Dobrze, teraz tłumacze krok, po kroku, co dana linijka znaczy:
    main - podajemy lokalizacje naszej klasy, która rozszerza klasę JavaPlugin. Jest to nasza klasa główna  name - nazwa naszego pluginu version - wersja naszego pluginu author - autor tego pluginu  
    Teraz po wykonaniu tych kroków, wystarczy skompilować plugin, i przetestować na serwerze  

    Dzisiaj napiszę dlaczego warto tworzyć skrypty w Skript
    Jeden skrypt, wiele wersji Minecraft
    Często pomijamy fakt, że skrypty na 85% będą działać na nowszych wersjach Minecraft (a czasami nawet na starszych!). Zdecydowanie ułatwia to wiele rzeczy, gdyż w przypadku pluginów częściej musimy je tworzyć od nowa. Nowe wersje Skripta i dodatków pojawiają się dość wcześnie, a i tak zanim jakiś serwer przeniesie się na nową wersję, to trochę czasu minie.
    Wystarcza średnio zaawansowana znajomość angielskiego aby pisać skrypty
    Niektórym osobom, nieco leniwym osobom pewnie nie chce się uczyć Javy. I tu jest właśnie ten plus! Wystarczy średnio zaawansowana znajomość języka angielskiego, aby poradzić sobie ze Skriptem.
    Łatwa edycja skryptu
    Coś Ci w skrypcie nie pasuje? Możesz to w prosty sposób zmienić, jedynie otwierając plik w edytorze tekstu. Pamiętaj jednak, jeżeli autor zabronił usuwania/edycji informacji o prawach autorskich, nie wolno Ci tego robić.
    Błędy? Żaden problem!
    Skript dokładnie i zwięźle sprecyzuje, gdzie i jaki błąd występuje. Jeśli nie potrafisz naprawić błędu, możesz się zapoznać z tym poradnikiem, lub zapytać na forach internetowych. Oczywiście zachęcamy do pytania na naszym forum, skript.pl.
    Prosty sposób na system aktualizacji skryptów
    Jeżeli chcesz aktualizować skrypt, nie zmuszając jego użytkowników do szukania nowych wersji, możesz stworzyć system aktualizacji, który opisany jest tutaj. Przyda się to np. w sytuacjach, gdy chcesz wypuścić już skrypt, ale jeszcze zamierzasz dodać jakąś funkcję (skrypt powinien działać bez tej funkcji przed aktualizacją), lub też szybko reagować na błędy, wypuszczając aktualizacje z nimi poprawionymi (no chyba, że popełniłeś błąd w systemie aktualizacji ;)).
    Wiele definicji jednego polecenia lub wydarzenia
    Polecenia i wydarzenia (czasami też ekspresje) nie muszą wyglądać zawsze tak samo, np. w jednym skrypcie możesz się spotkać z poleceniem „dye player's helmet blue”, za to już w drugim „paint player's helmet blue”
    Ogranicza cię (tak jak wszędzie) tylko wyobraźnia.
    Masz też własne powody, dlaczego warto pisać skrypty w Skript? Pisz w komentarzach, może i ja dowiem się czegoś ciekawego
×