Prographer> Короче, если нужна экономия переменных(если в функции должны быть какие-то дополнительные вычисления, связанные с использованием большого числа переменных) - используй scm функцию, как написал mfisto. Если нет, и функция нужна лишь для лаконичности кода - используй gosub:
{$CLEO}
0000:
thread 'func'
wait 0
0@ = 0
while true // Правда, я не понимаю смысл вот этого - тут же нет условий
wait 2000
gosub @Marker
end
end_thread
:Marker
wait 0
0@ += 5
01E3: text_1number_styled 'REWARD' number 0@ time 1000 style 6
return
Смысл просто в том, чтобы продемонстрировать, что функция не работает. Сейчас, когда
mfisto объяснил почему так происходит, код конечно кажется бессмысленным.
По поводу функций также хотелось бы сказать, что они позволяют сделать скрипт не только лаконичным, но и функциональным. У меня, помнится, даже когда-то была идея сделать своеобразный фреймворк на Cleo, чтобы можно было заменить написание большого количества однотипных операций одной функцией. Допустим, рисования спрайтов или создание системы частиц.