Zdravim, zde vam ukazu jak si vytvorit vlastni funkce a jak je pouzivat. Cela lua je zalozena na funkcich.
Funkce se vytvareji nasledovne:
Code:
function nazevFunkce () --Do zavorek se davaji pripadne parametry oddelene carkou
--co se ma vykonat.
end --Kazda funkce se musi radne ukoncit.
Ukazu vam jak udelat funkci ktera vypise neco do chatu s predefinovanou barvou, tudiz zadavame jen text.
Code:
function zprava (text) --Definovani funkce 'zprava' s parametrem 'text'
outputChatBox(text, getRootElement(), 255,0,0, true) --Odesle zpravu v cervene barve
end --Ukonceni
Funkci zprava pote pouzijeme nasledovne: zprava("Muj Text")
A jak muzeme vytvorit funkci ktera je vyvolana hracem pomoci prikazu? Uplne jednoduse pomoci addCommandHandler()
Prikazy muzete delat dvema zpusoby, bud:
Code:
addCommandHandler("prikaz",
function (player, cmd)
end)
nebo muzete samostatne vytvorit funkci a pak k ni priradit prikaz:
Code:
function funkce (player, cmd)
end
addCommandHandler("prikaz", funkce)
Jeste je zde moznost to provest prez event onPlayerCommand ale to je zbytecnost.
Urcite ste si vsimli ze funkce maji parametry player a cmd, to proto ze addCommandHandler poskytuje pro vyvolane funkce parametry kterymy jsou: Element Hrace ktery prikaz zadal (player), text prikazu, v tomto pripade "prikaz" (cmd), a pak uz jto so libovolne parametry ktere zada hrac... pokud zada napriklad '/prikaz 24' tak cislo 24 se da ziskat tak ze do vyvolane funkce pridate jeden parametr, napr. function (player, cmd, cislo).
Pozor! parametr player je poskytovan pouze server-sided, v clientu jsou pak parametry nasledovne: function (cmd, cislo)
Zde vam ukazu priklad ktery zjisti hracovi pozice po zadani prikazu /getpos
Code:
addCommandHandler("getpos",
function (player, cmd)
local x, y, z = getElementPosition(player) --Zjisteni suradnic
outputChatBox("Souradnice: " .. x .. ", " .. y .. ", " .. z, player) --Posle zpravu danemu hraci.
end)
Doufam ze vam tento tutorial neco rekl
___________________Ten nepodstatnej hlavni admin