Otwórz menu główne

Zmiany

Skript

Dodane 4122 bajty, 01:37, 29 paź 2019
potęŹny update.
'''Skript''' jest pluginem dla silników opartych o Bukkit API. Ta wtyczka pozwala graczom na tworzenie różnorodnych rzeczy i zdarzeń, od kilkuset zdarzeń po wiele typów i wyrażeń. Plugin został napisany specjalnie dla graczy, którzy chcą dodawać coś autorskiego nie umiejąc Javy. Język Skripta opiera się na podstawowym języku angielskim i jest prosty w użyciu.
==Dodatki==
Dla Skripta można tworzyć '''dodatki'''. Istnieje wiele dodatków, które dodają bardzo dużo nowych wyrażeń, efektów, zdarzeń lub typów. Autorzy bardzo chętnie je tworzą i publikują.
{{Main|Kategoria:Dodatki}}
==Skrypty==Aby stworzyć swój pierwszy skrypt, otwórz klienta FTP i zainstaluj wtyczkę [https://github.com/SkriptLang Skript] (najnowsze wersje). Po wgraniu wtyczki należy zrestartować serwer, i sprawdzić czy plugin jest kompatybilny z serwerem. Kiedy wszystko działa, to:
*'''/skript help''' - informacje o wtyczce i komendy*'''/skript disable''' - pozwala na wyłączenie skryptów/określonego*'''/skript enable''' - włączanie skryptów/konkretnego*'''/skript update''' - sprawdza wersję Skripta.*'''/skript reload''' - jest to najważniejsza z komend, która odświeża skrypt, więc można je tworzyć podczas grania na bieżąco i co chwilę sprawdzać jego działanie.
Aby napisać swój pierwszy skrypt powinienieś otworzyć dowolny edytor tekstu ''(np. Windowsowy notatnik)'' lub ''Notepad++''.
==Pisanie skryptu==
Przed napisaniem skryptu zapoznaj się z:
 *[[Zdarzenia]]*[[Warunki]]*[[Typy]]*[[Wyrażenia]]*[[Komendy]]*[[Zmienne]] 
Te artykuły dokładnie opisują podstawowe elementy tego języka.
Pierwszym skryptem może być np. komenda.
send "Hello world!" to player</pre>
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.permisję (potrzebny '''PermissionsEx'''*'''permission message: Nie masz uprawnień!''' opisuje wiadomość, która się pojawi graczowi na czacie, jeżeli <u>nie posiada on</u> permisjiuprawnienia.*'''aliases: /hi''' - w tym przypadku można dodatkowo wpisać ''/hi'' i się wykona komenda ''/hello''.*'''trigger:''' tutaj jest potrzebne, jak do każdej innej komendy. Trigger opisuje, co ma zrobić gra po wpisaniu komendy.*'''send "Hello world!" to player''' - send: wysyła, "Hello world!" jest stringiem, tekstem, w cudzysłowiu, można wstawić tu dowolną wartość, natomiast ''to player'' oznacza, że wiadomość ma być wysłana do nas. Jak później bardziej poznacie wtyczkę to się okaże, że można wstawiać w miejsce ''player'' różne [[typy]].
To była komenda. Podsumowując:
(Periodical jest jedną z [[pętle|pętel]].)
 
Coś teraz o zdarzeniach.
Krótko mówiąc, zdarzenia wywołują kod, jak gracz zacznie coś robić na serwerze, np. jeść lub zadać obrażenia, albo zginąć lub rzucić śnieżką. W Skripcie jest od groma tych zdarzeń ([[Zdarzenia]]) plus więcej w dodatkach.
 
<pre>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</pre>
 
*'''on mine of stone''' - kiedy gracz wykopie <u>kamień</u>
*'''if player's tool is diamond pickaxe''' - sprawdza, czy narzędziem w ręce gracza jest diamentowy kilof
*'''of unbreaking 10''' - tutaj 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":''' czy kilof jest nazwany ''Kilof Mocy'' i czy ma on opis (lore). Tutaj można dodać wiele linijek, wystarczy że po pierwszej "linii" opisu napiszemy przecinek i rozpoczynamy cudzysłowiem drugą linijkę.
*'''chance of 15%:''' {{Main|Losowość}}
*'''drop 1 nether star''' - wyrzuć 1 gwiazdę netheru
*'''event-block''' - miejsce zdarzenia (miejsce wykopanego kamienia). W zdarzeniach można używać terminów event-() aby określić miejsce zdarzenia. np. <code>on death of cow: drop 1 of milk bucket at event-entity</code>
 
Pętle? {{Main|Pętle}}
 
== Wgrywanie skryptu ==
Napisany skrypt należy zapisać w rozszerzeniu .sk i wgrać do folderu <code>Skript/scripts</code>. 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> (bez .sk, ponieważ wtedy Skript nam nie znajdzie pliku.)
Wszystko jest okej, ale co, jeżeli będą błędy?
 
== Jak rozumieć błędy ==
* Źródłem jest [https://skript.pl/temat/2594-jak-rozumieć-błędy/ klik!] autorstwa ''PoweredDragon''<br><br>
 
Warto zlokalizować błąd. Skript zawsze podaje, w jakiej linii kodu wystąpił błąd, więc należy się tam udać i wyszukać się źle napisanego fragmentu.
Dodatkowo trzeba się upewnić, czy poprawnie się zapisało efekt/wyrażenie/zdarzenie.
 
<pre>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:</pre>
Te wszystkie sposoby działają tak samo! :O<br><br>
Najczęstszym błędem jest <code>can't understand this condition/effect</code>. Wynika to z tego faktu, że jak sam Skript nam mówi, <u>nie może on</u> zrozumieć efektu/warunku w danej linii. Dlatego trzeba zobaczyć, czy się nie posiada danego dodatku i sprawdzić, czy dodatek jest kompatybilny, to znaczy jest zaznaczony na zielono. Zaznaczony na czerwono oznacza, że nie działa.
 
<center>'''Najczęstsze błędy'''</center>
{| class="wikitable" style="margin-left: auto; margin-right: auto; border: none;"
!Błąd
!Opis i wyjaśnienie
|-
|can't understand this condition/effect
|Skript nie może zrozumieć warunku/efektu. Warto zobaczyć, czy się posiada dodatek lub czy się dobrze zapisało.
|-
|indentation error
|Błąd z wcięciami w kodzie. Wcięcia (taby) są bardzo ważne i zawsze wystąpi jedno wcięcie do przodu po dwukropku.
|-
|invalid use of quotes
|Złe użycie cudzysłowia. W [[tekst]]ach ważne jest prawidłowe ich użycie. Aby Skript wziął cudzysłów za tekst należy go wpisać dwukrotnie <code>"" < to jest tekst!</code>
|-
|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ź forum: [https://skript.pl/ klik!].
112
edycji