112
edycji
Zmiany
Przejdź do nawigacji
Przejdź do wyszukiwania
brak opisu edycji
Funkcje zostały dodane do Skripta w wersji deweloperskiej 2.2, a służą przede wszystkim do skrócenia kodu oraz jego wygładzenia. Skript posiada kilkanaście wbudowanych matematycznych funkcji, jednak gracz jest w stanie stworzyć funkcję zwracającą wartość lub jedynie wykonującą kod.<br>Funkcje mogą być przechowywane w każdym pliku skryptowym, niezależnie od jego położenia będzie on działał w każdym pliku. ==Budowa==Pisanie funkcji należy rozpocząć od napisania <code>function <nazwa funkcji></code>, następnie zdefiniowania nazw argumentów oraz ich typów. {| class="wikitable"!!Funkcja zwracająca wartość|-!Wzór|<pre>Nazwa funkcji(Nazwa argumentu 1: Typ argumentu 1 [<= Domyślna wartość argumentu 1>], Nazwa argumentu 2: Typ argumentu 2 [<= Domyślna wartość argumentu 2>]...) :: Typ zwracanej wartości: kod... return wartość</pre>|-!'''Przykład'''|<pre>add(a: integer = 5, b: integer) :: number: return a + b</pre>|-!!Funkcja wykonująca kod|-!'''Wzór'''|<pre>Nazwa funkcji(Nazwa argumentu 1: Typ argumentu 1 [<= Domyślna wartość argumentu 1>], Nazwa argumentu 2: Typ argumentu 2 [<= Domyślna wartość argumentu 2>]...): kod...</pre>|-!'''Przykład'''|<pre>kill(e: entity): kill {_e}</pre>|} W funkcjach można wykorzystywać jedynie zmienne lokalne (rozpoczynają się na '''_''') <code>{_p}, {_max}</code>. Się biorą od nazw argumentów wypisanych na początku: <pre>function Skript(gracz: player): send "Ty napewno piszesz skrypty" to {_gracz}</pre> ===Funkcje zwracające wartość===W tej funkcji oprócz zdefiniowania nazw i typów argumentów dodatkowo należy zdefiniować typ zwracanej wartości, np. <code>function Prawda(gracz: player) :: '''boolean''':</code>Wartość można zwrócić używając ''return <wartość>'', np. boolean <code>return true</code> <pre>function Prawda(gracz: player) :: boolean: if {_gracz}'s inventory contains 64 diamonds: return true else: return false</pre> ==Wybrane funkcje== Liste wbudowanych wszystkich funkcji znajdziecie [https://skriptlang.github.io/Skript/functions.html tutaj.]{| class="wikitable"|+'''Najprzydatniejsze wbudowane funkcje:'''!Nazwa i argumenty!Wydanie skripta!Opis!Przykłady / Zwracana wartość|-|<code>location(x, y, z, "Nazwa świata"=event-world, yaw=0, pitch=0</code>|'''2.2'''|Zwraca lokalizacje.|<code>teleport player to location(10, 50, 12)</code> <code>set {_l} to location(10, 100, 52, "world", 90, 90)</code>|-|<code>mod(number, number)</code>|'''2.2'''|Zwraca reszte z dzielenia|<code>set {_x} to mod(1, 3)</code>|-|<code>floor(number)</code>|'''2.2'''|Zwraca liczbe zaokrągloną w dół.|<code>floor(5.99) = 5</code><code>floor(3.12) = 3</code>|-|<code>max(numbers)</code>|'''2.2'''|Zwraca największą z podanych liczb.|<code>max(1, 2, 3, 4, 5) = 5</code><code>max(0, 4, 6, 3, 2) = 6</code>|-|<code>min(numbers)</code>|'''2.2'''|Zwraca najmniejszą z podanych liczb.|<code>min(0, 2, 5, 6, 6) = 0</code><code>min(9, 2, 5, 8, 4) = 2</code>|-|<code>product(numbers)</code>|'''2.2'''|Zwraca iloczyn podanych liczb.|<code>product(1, 7, 2, 2) = 28</code><code>product(6, 3, 5, 6) = 540</code>|-|<code>round(number)</code>|'''2.2'''|Zwraca zaokrąglona liczbe.|<code>round(3.54) = 4</code><code>round(3.21) = 3</code> |-|<code>sqrt(number)</code>|'''2.2'''|Zwraca pierwiastek kwadratowy podanej liczby|<code>sqrt(4) = 2</code><code>sqrt(25) = 5</code> <code>sqrt(2) = 1.4142</code> |-|<code>sum(numbers)</code>|'''2.2'''|Zwraca sume podanych liczb.|<code>sum(1, 5, 6) = 12</code><code>sum(1, 1, 1) = 3</code>|-|<code>world(string)</code>|'''2.2'''|Zwraca świat o podanej nazwie|<code>set {_flat} to world("flat")</code><code>set {_nether} to world("world_nether")</code>|-|<code>date(year, month, day, hour=0, minute=0, second=0)</code>|'''2.2'''|Zwraca stworzoną date z podanych argumentów|<code>date(2014, 10, 1) # 0:00, 1st October 2014</code>|}[[Kategoria:Skript]]