Skript: Różnice pomiędzy wersjami
m (drobne merytoryczne, drobne redakcyjne.) |
m (Drobne merytoryczne.) |
||
| Linia 1: | Linia 1: | ||
| − | '''Skript''' to plugin przeznaczony dla silników serwerowych opartych na | + | '''Skript''' to plugin przeznaczony dla silników serwerowych opartych na Bukkicie. Wtyczka ta umożliwia tworzenie oraz uruchamianie różnorodnych instrukcji i czynności na odpowiednie zdarzenia, od kilkuset zdarzeń po wiele typów i wyrażeń. Plugin został napisany specjalnie dla użytkowników, którzy chcą dodawać coś autorskiego nie umiejąc Javy. Język Skript opiera się na podstawowym języku angielskim i jest prosty w użyciu. |
==Dodatki== | ==Dodatki== | ||
| Linia 5: | Linia 5: | ||
==Skrypty== | ==Skrypty== | ||
| − | Aby stworzyć swój pierwszy skrypt, otwórz miejsce z plikami serwerowymi i zainstaluj wtyczkę [https://github.com/SkriptLang/Skript/releases Skript] | + | Aby stworzyć swój pierwszy skrypt, otwórz miejsce z plikami serwerowymi i zainstaluj wtyczkę [https://github.com/SkriptLang/Skript/releases Skript] w katalogu <code>plugins</code>. Po wgraniu wtyczki należy zrestartować serwer i sprawdzić czy plugin jest kompatybilny z wersją silnika serwera. Oprócz samego uruchamiania skryptów, Skript umożliwia nam manipulację między nimi oraz między samym pluginem poprzez komendy. Możemy uruchomić takie instrukcje jak: |
*'''/skript help''' - wyświetla informacje o wtyczce i jej komendy. | *'''/skript help''' - wyświetla informacje o wtyczce i jej komendy. | ||
| Linia 13: | Linia 13: | ||
*'''/skript reload [all/nazwa]''' - pozwala ponownie wczytać skrypt (lub wszystkie skrypty), więc można je tworzyć podczas gry na bieżąco i co chwilę sprawdzać ich działanie. | *'''/skript reload [all/nazwa]''' - pozwala ponownie wczytać skrypt (lub wszystkie skrypty), więc można je tworzyć podczas gry na bieżąco i co chwilę sprawdzać ich działanie. | ||
| − | Aby napisać swój pierwszy skrypt powinieneś otworzyć dowolny edytor tekstu ''(np. Windowsowy notatnik | + | Aby napisać swój pierwszy skrypt powinieneś otworzyć dowolny edytor tekstu ''(np. Windowsowy notatnik, Sublime Text, Brackets'' bądź ''Notepad++)''. |
==Pisanie skryptu== | ==Pisanie skryptu== | ||
| Linia 70: | Linia 70: | ||
Napisany skrypt należy zapisać w rozszerzeniu .sk i wgrać do folderu <code>Skript/scripts</code>, który znajduje się w katalogu <code>plugins</code> katalogu naszego serwera. Przykładowe skrypty można usunąć, ale warto się również z nich nauczyć pewnych [[efekt]]ów lub wyrażeń. | Napisany skrypt należy zapisać w rozszerzeniu .sk i wgrać do folderu <code>Skript/scripts</code>, który znajduje się w katalogu <code>plugins</code> katalogu naszego serwera. Przykładowe skrypty można usunąć, ale warto się również z nich nauczyć pewnych [[efekt]]ów lub wyrażeń. | ||
| − | Wchodząc do gry wpisujemy komendę /sk reload <nazwa skryptu> | + | Wchodząc do gry wpisujemy komendę /sk reload <nazwa skryptu>, która umożliwi nam przeładowanie naszego skryptu. |
==[https://skript.pl/temat/2594-jak-rozumieć-błędy/ Jak rozumieć błędy?]== | ==[https://skript.pl/temat/2594-jak-rozumieć-błędy/ Jak rozumieć błędy?]== | ||
| Linia 93: | Linia 93: | ||
walking over dirt: | walking over dirt: | ||
walking on dirt:</pre> | walking on dirt:</pre> | ||
| − | + | Jednym z cięższych błędów do naprawienia jest błąd rozpoczynający się frazą <code>can't understand this condition/effect</code>. Wynika to z tego faktu, że jak sam Skript nam mówi, <u>nie rozumie</u> efektu/warunku w danej linii. Przed wyszukaniem fragmentu kodu z błędem warto pierw sprawdzić, czy w katalogu <code>plugins</code> posiadamy odpowiedni dodatek, do którego próbujemy się odwołać. Jeżeli posiadamy odpowiedni addon w naszym katalogu - należy sprawdzić, czy jest on kompatybilny z wersją serwera. Jeżeli mimo wszystko uważamy, że dodatek posiada wersję wspierającą naszą edycję silnika, należy upewnić się, czy nasz serwer odpowiednio wczytał addon komendą <code>/plugins</code> na serwerze. | |
<center>'''Najczęstsze błędy'''</center> | <center>'''Najczęstsze błędy'''</center> | ||
| Linia 116: | Linia 116: | ||
|} | |} | ||
| − | Jeżeli naprawdę Skript cię wycieńcza z błędami - koniecznie odwiedź [https://skript.pl/ forum]. | + | Jeżeli naprawdę Skript cię wycieńcza z błędami - koniecznie odwiedź nasze [https://skript.pl/ forum]. |
[[Kategoria:Skript]] | [[Kategoria:Skript]] | ||
Wersja z 00:37, 21 lis 2019
Skript to plugin przeznaczony dla silników serwerowych opartych na Bukkicie. Wtyczka ta umożliwia tworzenie oraz uruchamianie różnorodnych instrukcji i czynności na odpowiednie zdarzenia, od kilkuset zdarzeń po wiele typów i wyrażeń. Plugin został napisany specjalnie dla użytkowników, którzy chcą dodawać coś autorskiego nie umiejąc Javy. Język Skript opiera się na podstawowym języku angielskim i jest prosty w użyciu.
Spis treści
Dodatki
Skript pozwala na tworzenie dodatków. Istnieje wiele wtyczek, które dodają bardzo dużo nowych wyrażeń, efektów, zdarzeń lub typów. Autorzy bardzo chętnie je tworzą i publikują. Oficjalną kategorię z dodatkami możesz znaleźć tutaj.
Skrypty
Aby stworzyć swój pierwszy skrypt, otwórz miejsce z plikami serwerowymi i zainstaluj wtyczkę Skript w katalogu plugins. Po wgraniu wtyczki należy zrestartować serwer i sprawdzić czy plugin jest kompatybilny z wersją silnika serwera. Oprócz samego uruchamiania skryptów, Skript umożliwia nam manipulację między nimi oraz między samym pluginem poprzez komendy. Możemy uruchomić takie instrukcje jak:
- /skript help - wyświetla informacje o wtyczce i jej komendy.
- /skript disable [all/nazwa] - pozwala na wyłączenie skryptu (wszystkich lub konkretnego).
- /skript enable [all/nazwa] - pozwala na włączenie skryptu (wszystkich lub konkretnego).
- /skript update - sprawdza wersję Skripta.
- /skript reload [all/nazwa] - pozwala ponownie wczytać skrypt (lub wszystkie skrypty), więc można je tworzyć podczas gry na bieżąco i co chwilę sprawdzać ich działanie.
Aby napisać swój pierwszy skrypt powinieneś otworzyć dowolny edytor tekstu (np. Windowsowy notatnik, Sublime Text, Brackets bądź Notepad++).
Pisanie skryptu
Przed napisaniem skryptu zapoznaj się z tematami, takimi jak:
Te artykuły dokładnie opisują podstawowe elementy tego języka. Pierwszym skryptem może być np. komenda.
Komendy
Komendy to instrukcje wykonywane przez dowolnego adresata wypisującego w polu chatu określony łańcuch znaków poprzedzony znakiem "/" (w Minecrafcie).
command /hello:
permission: sk.hello
permission message: Nie masz uprawnień!
aliases: /hi
trigger:
send "Hello world!" to player
Po krótce:
- command /hello opisuje budowę komendy. Po wpisaniu komendy "hello" ma się wykonać poniższy kod.
- permission: sk.hello" jest opcjonalne, ale Skript sprawdza, czy gracz posiada uprawnienia.
- permission message: Nie masz uprawnień! opisuje wiadomość, która się pojawi graczowi na czacie, jeżeli nie posiada on określonych uprawnień.
- aliases: /hi - w tym przypadku można dodatkowo wpisać /hi i się wykona komenda /hello.
- trigger: ten operator jest wymagany przy pisaniu każdej komendy. Trigger opisuje, co ma zrobić gra po wpisaniu komendy.
- send "Hello world!" to player - send jest operacją, która określa instrukcję wysyłania wiadomości. "Hello world!" jest przykładowym łańcuchem znaków - w tym miejscu powinniśmy napisać wiadomość, którą chcemy wysłać dla danego odbiorcy. to player natomiast oznacza, że wiadomość ma być wysłana do nas. W późniejszym czasie, po większym rozeznaniu się z wtyczką poznacie więcej typów odbiorców wiadomości.
Podsumowując:
<komenda/periodical/zdarzenie>:
<effect>:
<kod>
(Periodical jest jedną z pętli.)
Zdarzenia
Zdarzenia to kod wywoływany podczas wykonanej czynności. Czynnością takową może być na przykład rozpoczęcie jedzenia bądź zadanie obrażenia. W Skripcie wyróżniamy bardzo wiele zdarzeń (Wszystkie można znaleźć tutaj).
on mine of stone:
if player's tool is diamond pickaxe of unbreaking 10 named "Kilof Mocy" with lore "Linia 1","Linia 2","Linia 3":
chance of 15%:
drop 1 nether star of unbreaking 10 named "&cGwiazda Piekła" at event-block
- on mine of stone uruchamia instrukcje wskazane poniżej podczas, gdy gracz zacznie kopać kamień.
- if player's tool is diamond pickaxe sprawdza, czy narzędziem w ręce gracza jest diamentowy kilof.
- of unbreaking 10 sprawdza, czy ten kilof ma Niezniszczalność X (w miejscu unbreaking 10 można wpisać wszystkie typy zaklęć).
- named "Kilof Mocy" with lore "Linia 1","Linia 2","Linia 3" sprawdza, czy kilof jest nazwany Kilof Mocy i czy ma on opis (lore). Tutaj można dodać wiele linijek, wystarczy że po pierwszej "linii" opisu dopiszemy przecinek. Cudzysłowiem rozpoczynamy drugą linię.
- chance of 15%
Artykuł główny: Losowość - drop 1 nether star nakazuje wyrzucić jedną gwiazdę netheru (ang. nether star).
- event-block - miejsce zdarzenia (miejsce wykopanego kamienia). W zdarzeniach można używać terminów event-() aby określić miejsce zdarzenia. np.
on death of cow: drop 1 of milk bucket at event-entity
Wgrywanie skryptu
Napisany skrypt należy zapisać w rozszerzeniu .sk i wgrać do folderu Skript/scripts, który znajduje się w katalogu plugins katalogu naszego serwera. Przykładowe skrypty można usunąć, ale warto się również z nich nauczyć pewnych efektów lub wyrażeń.
Wchodząc do gry wpisujemy komendę /sk reload <nazwa skryptu>, która umożliwi nam przeładowanie naszego skryptu.
Jak rozumieć błędy?
Aby pierw zrozumieć błędy, należy ze zrozumieniem przeczytać wyswietlony przez plugin Skript błąd. Plugin zawsze podaje, w jakiej linii kodu wystąpił błąd, więc należy się tam udać i wyszukać źle napisany fragment skryptu. Dodatkowo trzeba się upewnić, czy poprawnie efekt/wyrażenie/zdarzenie zostało zapisane. Poniższy przykład ilustruje mnogość zapisanych warunków, które odegrają taką samą instrukcję.
on step over dirt: on step on dirt: on steping on dirt: on steping over dirt: step over dirt: step on dirt: steping over dirt: steping on dirt: on walk over dirt: on walk on dirt: on walking on dirt: on walking over dirt: walk over dirt: walk on dirt: walking over dirt: walking on dirt:
Jednym z cięższych błędów do naprawienia jest błąd rozpoczynający się frazą can't understand this condition/effect. Wynika to z tego faktu, że jak sam Skript nam mówi, nie rozumie efektu/warunku w danej linii. Przed wyszukaniem fragmentu kodu z błędem warto pierw sprawdzić, czy w katalogu plugins posiadamy odpowiedni dodatek, do którego próbujemy się odwołać. Jeżeli posiadamy odpowiedni addon w naszym katalogu - należy sprawdzić, czy jest on kompatybilny z wersją serwera. Jeżeli mimo wszystko uważamy, że dodatek posiada wersję wspierającą naszą edycję silnika, należy upewnić się, czy nasz serwer odpowiednio wczytał addon komendą /plugins na serwerze.
| Błąd | Opis i wyjaśnienie |
|---|---|
| can't understand this condition/effect | Skript nie może zrozumieć warunku/efektu. Warto zobaczyć, czy posiadamy dodatek bądź czy fragment kodu jest poprawny. |
| indentation error | Błąd z wcięciami w kodzie. Wcięcia są bardzo ważne w pluginie Skript - podczas wczytywania kodu Skript sprawdza każde wcięcie. |
| invalid use of quotes | Złe użycie cudzysłowia. W tekstach ważne jest prawidłowe ich użycie. Aby Skript wziął cudzysłów za tekst należy go wpisać dwukrotnie - "" #To jest tekst!
|
| the percent sign is used for expressions (e.g. %player%). To insert a '%' type it twice: %% | Procenty w tekście. Aby były wzięte za tekst należy je wstawić dwa razy. Tak samo jak z cudzysłowiem. |
| can't understand expression | Skript nie rozumie wyrażenia. |
Jeżeli naprawdę Skript cię wycieńcza z błędami - koniecznie odwiedź nasze forum.