uwscマクロの質を向上させるための別にたいしたことも無い工夫につい

こんにちはお久しぶりです、最近週一ぐらいしか更新してませんね、はい。
さて今日もみんな興味の無いuwscのお話ですよ。もうイラねえって?
uwscにて適当なオペレーションを記録、再生、この操作を単純にFORでループにしたがうまくいかない、というケースをもしuwscを使ったことがあるのならば一度は体験したことがあるかもしれない。これの最大の原因は記録時と再生時のシステムの状態にあるように思える。たとえば.docファイルを大量に空けて編集更新、閉じたりする動作を記録再生したとしよう。この場合最初の一回はおそらく予定通り動作する。しかし2回3回と回数を増やしていくうちに大体4回目ぐらいで編集が上手くいかないか更新が上手くいかない場面に遭遇しそうだ。これはWordがきちんと立ち上がる前にキー入力が先走ってしまい… といった具合。つまりきちんとWordが立ち上がるのを見届けてからキー入力・マウス入力をしなければならないということ。特にコレは設定の「余分な時間、マウス移動は記録しない」チェックボックスをONににしていると頻繁に発生する。
さて、この問題は後日ゆっくり解説するつもりであるAutoitV3という競合ソフトでは標準で関数として提供、解決されている問題ではあるが、まあ、ともかく僕らが和製のuwscでは標準ではどうしようもない。そこで以下の関数が役に立つというわけだ。結局ただソースをさらしてみたいというわけだ。
//////////////////////////////
//Make sure open Window
//Make sure whether the specified Window has opend.
//
//Argument
// 1st :windowtitle
// [2nd] :retry limit time[sec](default:1)
// [3rd] :retry interval[sec](default:0.1)
//Return
// windowid :Success(opened)
// -1 :Failed(not opened)
function makesure(win_title, retry_limit=1, retry_step=0.1)
 for i=0 to (retry_limit+retry_step) step retry_step
  ifb (POS(win_title, status(getid(get_active_win), st_title)) > 0)_
            and (i