> cntが一定の数値以上になるとそれ以上あがらない。とかできますか?
cntを変更できるのは初期値(repeatの第二引数)だけで上限値を決めることはできません。
その代わりにcntを一度別の変数に代入して加工したものを使用することで解決できます。
下限,上限を指定したlimit関数を使うことで、ある数値の範囲を制限した結果を得ることができます。
n = 0
repeat 20
n = limit(cnt, 0, 10)
suuti.cnt = 16 * n + 16
mes "" + cnt + "回目:" + strf("$%x",suuti.cnt)
loop
> そこでそのエラーをonerrorで無理矢理出さないようにもできますよね?
エラーの種類によってはそういうことも可能ですが、本来onerrorはエラーメッセージや
ログ等を自分で管理するための命令なので根本的な解決には至らないことが多いです。
適当に実験してみた結果、なんだかちゃんと復帰できてるっぽい…?
ですが真似するのはやめた方がいいです。徐々に空きメモリが侵食されている可能性もありますし、
何よりエラーを前提とした仕様は紛らわしく、HSPの仕様変更が起きたときにも正常な動作が保障されないからです。
onerror *error
*main
repeat
i++
if i == 600 : break
goto *main
loop
mes "end"
title "エラー回数:" + err_cnt
stop
*error
err_cnt++
mes "nest error"
goto *main