PuPpet, ну насчет takes
например сделаем так
Code
function setnum takes integer i returns nothing
call BJDebugMSG(I2S(i))
endfunction
т.е. мы можем к этой функции обратиться так call setnum(2)
т.е. в takes мы указываем аргументы которая функция будет использовать: в данном случае это число , и действие которое покажет текст этого числа в игре