Skript: Różnice pomiędzy wersjami

Z wiki.skript.pl
Przejdź do nawigacji Przejdź do wyszukiwania
(potęŹny update.)
(Znaczniki: Z internetu mobilnego, Z wersji mobilnej www, VisualEditor)
Linia 1: Linia 1:
 
'''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.
 
'''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 ==
+
==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ą.
 
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}}
 
{{Main|Kategoria:Dodatki}}
  
== Skrypty ==
+
==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:
+
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 help''' - informacje o wtyczce i jej ko
* '''/skript disable''' - pozwala na wyłączenie skryptów/określonego
+
*omendy.
* '''/skript enable''' - włączanie skryptów/konkretnego
+
*'''/skript disable [all/nazwa]''' - pozwala na wyłączenie skryptu (wszystkich lub konkretnego).
* '''/skript update''' - sprawdza wersję Skripta.
+
*'''/skript enable [all/nazwa]''' - pozwala na włączenie skryptu (wszystkich lub konkretnego).
* '''/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.
+
*'''/skript update''' - sprawdza wersję Skripta.
 +
*'''/skript reload [all/nazwa]''' - jest to najważniejsza z komend, która odświeża 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 powinienieś otworzyć dowolny edytor tekstu ''(np. Windowsowy notatnik)'' lub ''Notepad++''.
+
Aby napisać swój pierwszy skrypt powinieneś otworzyć dowolny edytor tekstu ''(np. Windowsowy notatnik)'' lub ''Notepad++''.
  
== Pisanie skryptu ==
+
==Pisanie skryptu==
 
Przed napisaniem skryptu zapoznaj się z:
 
Przed napisaniem skryptu zapoznaj się z:
* [[Zdarzenia]]
+
 
* [[Warunki]]
+
*[[Zdarzenia]]
* [[Typy]]
+
*[[Warunki]]
* [[Wyrażenia]]
+
*[[Typy]]
* [[Komendy]]
+
*[[Wyrażenia]]
* [[Zmienne]]
+
*[[Komendy]]
 +
*[[Zmienne]]
 +
 
 
Te artykuły dokładnie opisują podstawowe elementy tego języka.
 
Te artykuły dokładnie opisują podstawowe elementy tego języka.
 
Pierwszym skryptem może być np. komenda.
 
Pierwszym skryptem może być np. komenda.
Linia 34: Linia 37:
 
         send "Hello world!" to player</pre>
 
         send "Hello world!" to player</pre>
 
Po krótce:
 
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 permisję (potrzebny '''PermissionsEx'''
+
*'''command /hello''' opisuje budowę komendy. Po wpisaniu komendy "hello" ma się wykonać poniższy kod.
* '''permission message: Nie masz uprawnień!''' opisuje wiadomość, która się pojawi graczowi na czacie, jeżeli <u>nie posiada on</u> uprawnienia.
+
*'''permission: sk.hello"''' jest opcjonalne, ale Skript sprawdza, czy gracz posiada permisję (potrzebny '''PermissionsEx'''
* '''aliases: /hi''' - w tym przypadku można dodatkowo wpisać ''/hi'' i się wykona komenda ''/hello''.
+
*'''permission message: Nie masz uprawnień!''' opisuje wiadomość, która się pojawi graczowi na czacie, jeżeli <u>nie posiada on</u> uprawnienia.
* '''trigger:''' tutaj jest potrzebne, jak do każdej innej komendy. Trigger opisuje, co ma zrobić gra po wpisaniu komendy.
+
*'''aliases: /hi''' - w tym przypadku można dodatkowo wpisać ''/hi'' i się wykona komenda ''/hello''.
* '''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]].
+
*'''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:
 
To była komenda. Podsumowując:
Linia 66: Linia 70:
 
Pętle? {{Main|Pętle}}
 
Pętle? {{Main|Pętle}}
  
== Wgrywanie skryptu ==
+
==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ń.
 
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ń.
  
Linia 72: Linia 76:
 
Wszystko jest okej, ale co, jeżeli będą błędy?
 
Wszystko jest okej, ale co, jeżeli będą błędy?
  
== Jak rozumieć błędy ==
+
==Jak rozumieć błędy==
* Źródłem jest [https://skript.pl/temat/2594-jak-rozumieć-błędy/ klik!] autorstwa ''PoweredDragon''<br><br>
+
 
 +
*Ź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.
 
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.

Wersja z 01:58, 29 paź 2019

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ą.

Information.png Artykuł główny:

Skrypty

Aby stworzyć swój pierwszy skrypt, otwórz klienta FTP i zainstaluj wtyczkę 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 jej ko
  • omendy.
  • /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] - jest to najważniejsza z komend, która odświeża 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) lub Notepad++.

Pisanie skryptu

Przed napisaniem skryptu zapoznaj się z:

Te artykuły dokładnie opisują podstawowe elementy tego języka. Pierwszym skryptem może być np. komenda.

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 permisję (potrzebny PermissionsEx
  • permission message: Nie masz uprawnień! opisuje wiadomość, która się pojawi graczowi na czacie, jeżeli nie posiada on uprawnienia.
  • 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:

<komenda/periodical/zdarzenie>:
    <effect>:
        <kod>

(Periodical jest jedną z 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.

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 - kiedy gracz wykopie kamień
  • 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%: Information.png Artykuł główny: 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. on death of cow: drop 1 of milk bucket at event-entity

Pętle? Information.png Artykuł główny: Pętle

Wgrywanie skryptu

Napisany skrypt należy zapisać w rozszerzeniu .sk i wgrać do folderu Skript/scripts. 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 klik! autorstwa PoweredDragon

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.

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:

Te wszystkie sposoby działają tak samo! :O

Najczęstszym błędem jest can't understand this condition/effect. Wynika to z tego faktu, że jak sam Skript nam mówi, nie może on 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.

Najczęstsze błędy
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 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ź forum: klik!.