Zmiany

Przejdź do nawigacji Przejdź do wyszukiwania

Skript-mirror

Dodane 3549 bajtów, 02:36, 31 gru 2019
brak opisu edycji
'''Skript-mirror''' jest dodatkiem do [[Skript]]a umożliwiającym importowanie poszczególnych klas (wydarzeń, wyrażeń i efektów) z silników gry, np. Bukkita lub Spigota oraz z zewnętrznych pluginów, pozwalając jednocześnie na rozszerzenie możliwości Skripta. Aby zrozumieć ten dodatek zaleca się podstawową naukę języka programowania Javy, jednak nie jest on wymagany, ponieważ wystarczy importować i zastosowywać klasy w skryptach.
=== Importowanie Instalacja ===1. Pobierz dodatek z [https://forums.skunity.com/resources/skript-mirror.254/ tej strony].<br>2. Wgraj wtyczkę do folderu \plugins.<br>3. Zrestartuj serwer.<br> ==Czytanie dokumentacji ==Aby importować klasę należy wyszukać ją w różnorodnych dokumentacjachWiele pluginów oferuje swoje publiczne dokumentacje, aby z nich korzystać importując klasy, npna przykład [https://docs.oracle. com/javase/8/docs/api/index.html?overview-summary.html Java] lub [https://hub.spigotmc.org/javadocs/bukkit/index.html?overview-summary.html Spigot]. Każda pełna nazwa jest skonstruowana z pakietu oraz "rodziców", po kropce następuje sub-klasa, czyli "dziecko", i tak dalej. <code>org.bukkit.event.Player</code> ''org'' rozpoczyna nazwę, jest on "rodzicem" dalszych subklas, ''bukkit/Bukkit'' natomiast zawiera wiele sub-klas, w tym właśnie ''event'' który z kolei zawiera sub-klasę ''Player''. Taką pełną klasę należy importować, aby zadziałała. W kodach źródłowych pluginów także można pozyskać klasy.html Bukkita] === Instalacja zewnętrznych pluginów ===Czysty skript-mirror rozpoznaje jedynie klasy z paru silników i Javy. Następnie Aby rozszerzyć ten zbiór należy wgrać swój chciany dodatek do kodu folderu \plugins\skript-mirror. Jeżeli nie ma go, to należy importować go zrobić pod nazwą ''skript-mirror''. == Importowanie klas ==Aby zaimportować klasę efektem pomyślnie, należy zatwierdzić jej pełną nazwę. W tym celu używa się nowego bloku kodu ''import:'':
<pre>import:
org.bukkit.event.player.PlayerJoinEvent
org.bukkit.event.player.PlayerQuitEvent</pre>Zostały zaimportowane zdarzenia. Do określania zdarzeń w następnej części kodu trzeba określić jedynie najdalsze "dziecko" czyli ''PlayerJoinEvent''.<pre>on PlayerJoinEvent: # kod</pre>Powyżej zostały importowane dwie klasy związane z dołączeniem == Zastosowanie klas ==<pre>on PlayerJoinEvent: set {_gracz} to event.getPlayer() broadcast "&8>> &6%{_gracz}% &adołączył na serwer! on PlayerQuitEvent: set {_gracz} to event.getPlayer() broadcast "&8>> &6%{_gracz}% &copuścił serwer!"</pre> Użyto metody ''.getPlayer()''. Pozyskuje nazwę gracza i przydzielana jest ona do tymczasowej [[zmienne]]j ''{_gracz}''. Następnie Skript ogłasza wiadomość. W powyższym kodzie został połączony język Skript oraz opuszczeniem serwera przez graczaJava, ponieważ jest to możliwe. Do pobierania danych w np. zdarzeniach służą '''metody''', np. jak ta opisana powyżej. Jej przedrostkiem jest ''PlayerJoinEventevent.'' ponieważ nawiązuje ona do wywołanego zdarzenia. == Własne wyrażenia ==Skript-mirror udostępnia możliwość tworzenia własnych efektów, zdarzeń lub wyrażeń. Ogólny wzór składni:* [text] - Opcjonalne* (text) - Wymagane* text1|text2 - lub* %text% - typ zmiennej Na przykład <code>(fill) %expression-1% (with) [%integer%] %expression-2%</code>. To jest efekt, ale w dosłownym tłumaczeniu oznacza zdarzenie wywołane dołączeniem gracza na serwertym momencie nie może nic zrobić, a ponieważ nie ma kodu w sobie. Wymagany jest blok ''PlayerQuitEventtrigger:'' jego wyjściem. Istnieje wiele  <pre>effect [httpsGM] announce %expr-1%: trigger: send "%colored expr-1%" to all players on rightclick: announce "&8>> &6&lSkript-mirror jest świetnym dodatkiem"<//hubpre>Ten skrypt dodaje efekt ogłaszający wiadomość na czacie. Aby sprawdzić tego skuteczność, dodano zdarzenie który wywołuje nowo powstały efekt.Aby dodać efekt trzeba przed składnią napisać ''effect''. Niektóre dodane przez nas rzeczy mogą być już zawarte w innych pluginach, poleca się więc dodawać przedrostki przed nimi, np. [GM] aby Skript wiedział, że jest to akurat nasze.spigotmc<br>''%expr-1%'' oznacza to, co wpisze się w efekcie po ''announce'' czyli tekst.org === Warunki ===[[Warunki]] w skript-mirror wyglądają mniej więcej tak:<pre>[local] condition [AxTops] %player% can buy (for|with) %number%: check: if {points::%expr-1%} >= expr-2: continue</javadocs/bukkit/org/bukkit/event/Eventpre> * [local] oznacza globalność tego warunku, tzn.html zdarzeń Bukkitajeżeli [local]zostało zastosowane to znaczy, znajdują się one że można tego warunku użyć w jednym skrypcie.* [AxTops] jest przedrostkiem opcjonalnym. Warunek sprawdza, czy gracz może kupić coś za "punkty" w zmiennej ''{points}''.''%expr-1%'' to gracz, nawiązanie do %player% w kategorii składni, a ''%expr-2%'' nawiązuje do ''%number%''org.bukkit '''check''' to blok specjalnie dla warunków.eventJeżeli kod w bloku się zgadza, to należy zastosować '''continue'''.EventContinue tymczasem daje wartość '''true''' więc skrypt idzie dalej </pre>
112
edycji

Menu nawigacyjne