Advertisement
Savorski

PiratPoradnikWiki

Dec 6th, 2016
145
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.22 KB | None | 0 0
  1. [[Category:skQuery]]
  2. {{DISPLAYTITLE:skQuery Addons - Własne efekty i wyrażenia}}
  3. == Autorzy ==
  4. Oryginalnym autorem treści jest użytkownik o nicku piratjsk. Treść została przemigrowana z forum [https://skript.pl skript.pl]
  5.  
  6. == Wstęp ==
  7. Wielu skrypterów używało zmiennych i niestandardowych komend aby tworzyć skomplikowane i łatwo rozszerzalne skrypty. Niestety, dla wielu korzystanie z komend jest niewygodne i uciążliwe. Autorzy kilku dodatków (w tym skQuery, WildSkript, a nawet samego Skript) próbowali (i w większości im się to nie udało) wprowadzić system, który mógłby zastąpić korzystanie z komend zachowując piękno składni Skript. Dzięki wprowadzeniu niestandardowych wyrażeń i efektów możesz stworzyć swój mini-dodatek do Skript bez jakiejkolwiek wiedzy na temat Javy.
  8.  
  9. == Wymagania ==
  10. By móc używać takowej funkcjonalności, należy posiadać pluginy:
  11. * skQuery (wersje 3.x)
  12.  
  13. == Tworzenie pliku .skq ==
  14. Pierwszy krok na drodze do stworzenie nowych efektów i wyrażeń polega na stworzeniu w folderze /scripts/ pliku z rozszerzeniem .skq. Jeśli nazwę pliku zaczniesz od - nie zostanie on, tak jak w przypadku zwykłego skryptu, załadowany.
  15.  
  16. Dodaj jedną lub więcej poniższych linii kodu do utworzonego pliku:
  17.  
  18. === Efekty ===
  19. Wszystkie elementy są formatowane tak jak to można odczytać z oficjalnej dokumentacji, co oznacza, że możesz użyć %<typ>% wewnątrz składni aby skorzystać z parametrów.
  20.  
  21. <code>declare effect "<składnia Twojego efektu>"</code>
  22.  
  23. === Wyrażenia ===
  24. <code>declare expression "<składnia Twojego wyrażenia>" as "<typ wartości, którą zwraca Twoje wyrażenie>"<br>
  25. <br>
  26. declare loopable expression "<sładnia>" as "<typ>"<br>
  27. <br>
  28. declare property "<składnia>" as "<typ>" for "<typ obiektu, dla którego jest ta właściwość>"</code>
  29.  
  30. === Komentarze ===
  31. Każda linia zaczynająca się -- będzie odczytana jako komentarz i zignorowana.
  32.  
  33. Plik example.sqk, do którego będę się niżej odwoływał zawiera następujący kod:
  34.  
  35. <code>-- Test 1.0
  36. declare effect "my custom effect"<br>
  37. declare expression "answer to life" as "number"<br>
  38. declare loopable expression "cool people" as "text"<br>
  39. declare property "%number% decrementation" as "number" for "number"</code>
  40.  
  41. Należy także zwrócić uwgaę, że gdy uruchomisz swój serwer, plik .skq zostanie deaktywwany (w nazwie zostanie dodany -) i w folderze /scripts/ znajdzejsz nowy plik .skqc. Jeśli nie udostępniasz źródła, NIGDY NIE UDOSTĘPNIAJ PLIKU .SQK. Jeśli chcesz zmienić zawartość pliku .skq musisz usunąć - z początku jego nazwy.
  42.  
  43. == Dodawanie logiki ==
  44.  
  45. Teraz w pliku .sk musisz dodać logikę (kod) do Twojego nowego efektu/wyrażenia. Zakładając, że doszedłeś już tak daleko, zakładam, że rozumiesz, że będę tu tworzył implementację pliku exapmle.skq. Obowiązują tu zwykłe zasady Skript, niestandardowe elementy mogą być stosowane w tworzonej logice.
  46.  
  47. <code>custom effect logic for "my custom effect":<br>
  48. give 1 diamond to all players<br>
  49. wait 10 seconds<br>
  50. ban all players<br>
  51. custom expression logic for "answer to life":<br>
  52. set expression value to 42<br>
  53. custom expression logic for "cool people":<br>
  54. set expression value to "w00tmast3r", "MostFunGuy", "Nfell2009", "Njolbrim"<br>
  55. custom property logic for "%number% decrementation" of "number":<br>
  56. set expression value to number origin expression - number expression 1</code>
  57.  
  58. Podstawowe wyrażenia: lekka dokumentacja
  59.  
  60. # Dotyczy wszystkich przypadków gdy chcemy uzyskać wartość wyrażenia zdefiniowanego w składni tworząc logikę elementu<br>
  61. # Loopable (zapętlanie) dotyczy tylko wyrażeń, które zwracają wiele wartości (teksty, gracze, bloki, itp.)<br>
  62. # Type (typ) dotyczy typu, który oczekujesz, że zwróci wyrażenie (liczba, przedmiot, gracz, mob, itd.)<br>
  63. %type% [loopable] expression( |-)%number%
  64.  
  65. # Dotyczy tylko wyrażeń i własności (properties), określa to czym chcesz, żeby była wartość wyrażenia
  66. [custom] expression ([return] value|output)
  67.  
  68. # Dotyczy tylko własnośći (properties), to samo co wyrażenie ale odnosi się do właściciela własności (np. player's sack, cheese of {_var})
  69. %type% origin expression
  70.  
  71. == Dokładniej opisująca i tłumacząca zagadnienie wersja poradnika ==
  72. === Co chcemy zrobić? ===
  73. Stworzyć własne efekty i wyrażenia dzięki nowej funkcji skQuery.
  74.  
  75. === Zaczynamy ===
  76. Tworzymy w folderze /scripts/ plik z rozszerzeniem .skq np "miniaddon.skq".<br>
  77. Jeśli nazwę pliku zaczniemy od myślnika "-" to plik nie zostanie wczytany (dokładnie tak jak wygląda to w przypadków zwykłych skryptów).
  78.  
  79. === W utworzonym pliku wpisujemy ===
  80. Jeśli chcemy utworzyć nowy efekt:
  81. <code>declare effect "<składnia Twojego efektu>"</code>
  82. -- np.:
  83. declare effect "zabij adminow"
  84.  
  85. === Jeśli chcemy utworzyć wyrażenie ===
  86. <code>declare expression "<składnia Twojego wyrażenia>" as "<typ wartości, którą zwraca Twoje wyrażenie>"</code>
  87. -- np.:
  88. declare expression "moje wyrazenie" as "boolean"
  89.  
  90. <code>declare loopable expression "<sładnia>" as "<typ>"</code>
  91. -- to wyrażenie będzie zwracało kilka wartości i będzie je można zapętlać
  92. -- np.:
  93. declare loopable expression "pobliskie krowy" as "entity"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement