>>879
いや、別に不可じゃない。ただ、その記述は、単に aaa と bbb をグローバルに定義するだけ。

実際の呼び出しはシナリオ中で

[iscript]
aaa()
[endscript]

とするか、

[eval exp="aaa()"]

とすることになる。むろん その定義の末尾に aaa() を書いてもいいんだが、
毎回まるごと iscript を呼び出すのは定義処理の分無駄になるので定義と呼び出しは分けるのが普通

ただ、>>880 も指摘しているが、その記述、tf というグローバル変数を直接呼び出す処理を関数にうめているが、
それは単純に見通しが悪くなるので、bbb のような引数をとって動作するような部分だけ定義しておいて、
パラメータ渡す部分は

[eval exp="tf.zzz = bbb(tf.xxx,tf.yyy)"]

とKAG側にもってきたほうがスタイルとしては好ましい。
必要なところでグローバル変数使うのはもちろんかまわないんだが、むやみに
使うと、どこで値がさしかわったのかとかがわからなくなるのでほどほどにな