Пишем function <Название> takes <Принимаемые значения> returns <Возвращаемое значение>.
Затем идёт тело функции, которое должно заканчиваться return <Что-то>, если конечно <Возвращаемое значение> != nothing.
Также return может встречаться в функции несколько раз (например для условий), на нём функция всегда заканчивает свою работу.
В конце пишется endfunction. Ещё вызываемая функция должна быть выше вызывающей. Например: function LOL takes string any returns string
if (any == "LOL") then
return "WTF"
endif
return "LOL"
endfunction
Пример использования:
local string s1 = "LLO"
local string s2 = "LOL"
local string s3 = LOL(s1)
local string s4 = LOL(s2)
После выполнения строка s3 будет равна "LOL", а строка s4 - "WTF".