Witaj, w tym poradniku przedstawie Ci podstawy pisania skryptów. Jeżeli potrzebujesz pomocy, napisz do mnie na discord
JorgiTV#0177
Jeżeli uważasz, że nie ma w poradniku jakiejś ważnej funkcji? Napisz do mnie, a ja postaram się ją dodać! (Najpierw przeczytaj cały poradnik!)
- Wprowadzenie do Skript'a
- Co zrobić aby, zacząć pisać skrypty?
- Podstawowe komendy pluginu Skript
- Jak stworzyć swój pierwszy skrypt?
- Podstawowe funkcje komendy
- Czym jest argument?
- Rodzaje argumentów
- Czym jest if oraz else?
- Czym są zmienne?
Skript jest dobry dla początkujących osób. Jest on alternatywą języka Java, którego w minecraft'cie wykorzystujemy m.in. do pisania pluginów. Całą dokumentację Skripta znajdziesz tutaj. Przydatna w pisaniu skryptów jest znajomość języka angielskiego. Podczas pisania skryptów używa się go praktycznie cały czas. Każdy skrypt zapisywany jest w formacie .sk
, a następnie jest on czytany przez język Java. Niestety, skrypty nie są tak wydajne jak pluginy, dlatego więszkość użytkowników nie zaleca ich używania. Jednakże, sądzę, że skrypty są dobrym rozwiązaniem na początek przygody z "programowaniem".
Aby zacząć pisać skrypty, należy zaopatrzeć się w odpowiedni program. Możesz używać domyślnego notatnika, lecz na dłuższą metę, nie będzie on wygodny. Najwygodniejszym programem do pisania na początek jest SkIDE. Jest on programem, które oferuje podświetlanie składni skrypta, oraz automatyczne uzupełnianie. Program pozwala również dodawanie dodatków zarejestrowanych w Skript Hub. Możesz również użyć innego zamiennika np. NotePad++. Zalecane jest również wybranie systemu kodowania UTF-8, tak aby wszystko zapisałby się poprawnie.
Aby zacząć swoją przygodę z pisaniem skryptów, należy pobrać odpowiednią wersję pluginu Skript, i następnie wrzucić go do folderu /plugins/
i zrestartować serwer. Po włączeniu serwera, powinien stworzyć się folder /Skript/
, wejdź do niego a następnie przejdź do folderu /scripts/
. W tym folderze powinny znajdować się pliki ukazane na (Zdjęcie 1). Nie przydadzą Ci się one, więc możesz je usunąć.
-
/sk reload [all/(nazwa pliku)]
- Przeładowuje pliki danego skryptu, lub wszystkie dostępnych na twoim serwerze (W przypadku posiadania większej ilości skryptów, zalecane jest przeładowywanie ich pojedyńczo). Załóżmy, że posiadasz skrypt o nazwietest.sk
, aby go przeładować użyjesz komendy/sk reload test
lub/sk reload test.sk
-
/sk disable (nazwa pliku)
- Pozwala wyłączyć dany skrypt, jeżeli jest on włączony. Dzięki tej funkcji, można wyłączyć tymczasowo dany skrypt w tym jego wszyskie funkcje. -
/sk enable (nazwa pliku)
- Pozwala włączyć dany skrypt, jeżeli jest on wyłączony. Aby rozpoznać, czy skrypt jest wyłączony z poziomu plików, należy zobaczyć czy posiada przed swoją nazwą-
przykładowo-test.sk
. Jeżeli prawidłowo wpiszesz komende-
powinien zniknąć, a nazwa powinna wyglądać tak:test.sk
Aby stworzyć swój pierwszy skrypt należy w ścieżce /plugins/Skript/scripts
stworzyć plik o nazwie i rozszerzeniu twojanazwa.sk
, a następnie wejść do niego. Najważniejszą informacją, którą zawsze musisz pamiętać, to poprawne TAB'owanie skryptu. Jest ono niezbędne podczas pisania. Możesz użyć również 4 spacji = TAB lecz nie jest to wygodne. Przejdźmy już do docelowego pisania skryptu, który będzie wyglądał tak:
command /test:
trigger:
send "Hello world!"
Zastanawiasz się co do czego służy? Już to tłumaczę:
- command: Jest to główna struktura, dzięki niej możesz stworzyć swoją własną komendę
- trigger: Jest on wyznacznikiem dla kodu, po którym zaczyna się jego działanie
- send: Funkcja wysyłania wiadomości na chacie, jej treść musi znajdować się w ""
Gratulacje! Napisałeś swój pierwszy skrypt! Efekt finalny po zapisaniu skryptu Ctrl + S
, przeładowaniu go komendą /sk reload nazwaskryptu
oraz wpisaniu komendy /test
prezentuje się tak:
Jeżeli stworzyłeś już swoją pierwszą komendę, warto jest zapoznać się z przydatnymi funkcjami, które są widoczne poniżej:
command /test:
aliases: pierwszakomenda, pa
permission: twoja.permisja
permission message: "Komunikat informujący o tym, że gracz nie ma permisji"
trigger:
send "Hello world!"
- aliases: Dzięki tej funkcji, możesz uzyskać dodatkowe komendy z tą samą funkcji, bez konieczności powielania jej.
- permission: Funkcja ta, pozwala ustawić permisje do twojej komendy
- permission message: Pozwala ustawić wiadomość, dotyczącą o braku permisji do danej komendy
Argument to treść wpisywana po twojej komendzie. Przykładowo:
- Komenda z argumentem
/test tresc1
- W tym przypadku
tresc1
jest twoimarg 1 (Pierwszym argumentem)
Taka sama sytuacja będzie przy komendzie /test tresc1 tresc2 tresc3
:
- W tym przypadku
tresc1, tresc2, tresc3
jest twoimarg 1, arg 2, arg3 (Pierwszym, drugim, trzecim argumentem)
A więc przetestujmy to w praktyce. Aby wprowadzić argument do komendy, należy dodać [<text>]
:
command /test [<text>]:
trigger:
send "Hello world!"
Forma [<text>]
nie jest jedynym argumentem, jest ich wiele co postaram się przedstawić w wątku niżej.
Argumentów do wykorzystania w komendzie jest wiele, postaram Ci się przedstawić najbardziej przydatne:
[<text>]
: Jest on argumentem tekstowym. Najbardziej uniwersalny argument jakiego można użyć w komendzie.[<player>]
: Argument ten przeznaczony jest dla nicków graczy którzy są online.[<integer>]
: Wykorzystywany jest do komend, które korzystają z liczb całkowitych
Wiele osób, które zaczynają swoją przygode z pisaniem skryptów, ma problem ze zrozumieniem, czym jest if
oraz else
. Postaram się to wyjaśnić poniżej:
if
: Jest to w dosłownym tłumaczeniu na Polski jeśli. Domyślnie sprawdza czy dana wartość, zmienna itp. sątrue
czyfalse
else
: Jest przeciwieństwemif
. Jego dosłowne tłumaczenie to w przeciwnym razie. Wykonuje się, jeżeli wartośćif
nie jest uzupełniona, lub gdy ustawiona jest nafalse
Przykład wykorzystania wraz z użyciem argumentu:
command /test [<text>]:
trigger:
if arg 1 is set:
send "Uzupełniono pierwszy argument"
else:
send "Nie uzupełniono pierwszego argumentu!"
Zmienne to forma zapisywania danych. W skrypcie istnieje forma zmiennych:
- Zmienna globalna:
{twojazmienna}
(Zmienne te zapisywane są w plikuvariables.csv
przez co, po restarcie serwera, dane nie zostaną utracone) - Zmienna tymczasowa:
{_twojazmienna}
(Te zmienne po zakończeniu polecenia zostają usuwane) - Zmienna grupowa:
{twojazmienna::*}
(W tej zmiennej możesz przechowywać listy takie jak: lista graczy, przedmiotów itp.)
Zmienne możesz oddzielać symbolem .
przykład {twojazmienna.%player%}
, lecz zalecane używanie jest {twojazmienna::%player%}
Jeżeli chcesz użyć zmiennej w skrypcie, wystarczy wpisać twoją zmienną w %%
przykład %{twojazmienna}%
variables:
{twojazmienna} = true
command /test:
trigger:
send "%{twojazmienna}%"