Funkcje
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.
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 function <nazwa funkcji>
, następnie zdefiniowania nazw argumentów oraz ich typów.
Funkcja zwracająca wartość | |
---|---|
Wzór | 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ść |
Przykład | add(a: integer = 5, b: integer) :: number: return a + b |
Funkcja wykonująca kod | |
Wzór | 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... |
Przykład | kill(e: entity): kill {_e} |
W funkcjach można wykorzystywać jedynie zmienne lokalne (rozpoczynają się na _) {_p}, {_max}
. Się biorą od nazw argumentów wypisanych na początku:
function Skript(gracz: player): send "Ty napewno piszesz skrypty" to {_gracz}
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. function Prawda(gracz: player) :: boolean:
Wartość można zwrócić używając return <wartość>, np. boolean return true
function Prawda(gracz: player) :: boolean: if {_gracz}'s inventory contains 64 diamonds: return true else: return false
Wybrane funkcje
Liste wbudowanych wszystkich funkcji znajdziecie tutaj.
Nazwa i argumenty | Wydanie skripta | Opis | Przykłady / Zwracana wartość |
---|---|---|---|
location(x, y, z, "Nazwa świata"=event-world, yaw=0, pitch=0
|
2.2 | Zwraca lokalizacje. | teleport player to location(10, 50, 12)
|
mod(number, number)
|
2.2 | Zwraca reszte z dzielenia | set {_x} to mod(1, 3)
|
floor(number)
|
2.2 | Zwraca liczbe zaokrągloną w dół. | floor(5.99) = 5
|
max(numbers)
|
2.2 | Zwraca największą z podanych liczb. | max(1, 2, 3, 4, 5) = 5
|
min(numbers)
|
2.2 | Zwraca najmniejszą z podanych liczb. | min(0, 2, 5, 6, 6) = 0
|
product(numbers)
|
2.2 | Zwraca iloczyn podanych liczb. | product(1, 7, 2, 2) = 28
|
round(number)
|
2.2 | Zwraca zaokrąglona liczbe. | round(3.54) = 4
|
sqrt(number)
|
2.2 | Zwraca pierwiastek kwadratowy podanej liczby | sqrt(4) = 2
|
sum(numbers)
|
2.2 | Zwraca sume podanych liczb. | sum(1, 5, 6) = 12
|
world(string)
|
2.2 | Zwraca świat o podanej nazwie | set {_flat} to world("flat")
|
date(year, month, day, hour=0, minute=0, second=0)
|
2.2 | Zwraca stworzoną date z podanych argumentów | date(2014, 10, 1) # 0:00, 1st October 2014
|