スクリプトとは

mscloverでマクロを行うためには操作手順を記述した『スクリプト』という文書・テキストを書く必要があります。
mscloverのスクリプトは構造化プログラミングモデルを参考にして作られており、1行目から2行目、3行目と上から下へ順次実行されていきます。
分岐や反復といった構文も備え、サブルーチンの概念も取り入れているので、複雑なマクロも整理された記述で行えます。



構文

順次

スクリプトの基本は上から下へ一行一命令で実行されていきます。


分岐

@if 条件式
   条件式成立時の処理
@else
   条件式不成立時の処理
@endif
ある操作を条件によって分岐したい場合に使います。
@if-@endifと書いて@elseを省くこともできます。


反復

@repeat 回数
    繰り返す処理
@loop
ある操作を繰り返したい場合、2つの方法があります。
ひとつは繰り返したい操作をその回数だけ記述します。
しかし100回繰り返したいときには100行を書かなければならず賢明ではありません。
そこで反復構文を使います。

ループから脱出

@break
任意のタイミングでループから抜けたい場合に使います。

ループ継続

@continue
通常は@loopのところでループ先頭へ戻ります。
任意のタイミングでループの先頭へ戻りたい場合に使います。
戻った時もループ回数はカウントされます。


サブルーチン

@sub サブルーチンの名前
    サブルーチンとして複数のまとまった処理
@endsub
ある操作のまとまりを他の箇所でも繰り返したい場合、それらをサブルーチンとして定義することで記述する量を減らすことができます。

サブルーチンの呼び出し

@gosub サブルーチン名
サブルーチンが定義してあれば前方・後方に関わらずそのサブルーチンを呼び出すことができます。

サブルーチンから復帰

@return
サブルーチンから抜ける場合に使います。
@endsubはサブルーチン定義を終了するものであり、@return命令を使わなければサブルーチンから抜けることができません。


コメント

; コメントです
スクリプト中にメモを残したい場合、メモの行頭にセミコロンを書きます。




イベント命令

キー入力

[キー種類, 凸凹フラグ]
キー入力はマクロ操作の命令の中で最も基本となります。
ブラケットでキー種類と凸凹フラグを囲みます。
キー種類は「a」キーや「ctrl」キーなどの種類のことです。
凸凹フラグは、1なら押す、0なら離します。

マウス入力

<マウスボタン種類(,パラメータ1(,パラメータ2))>
マウス入力が自動化されるとマクロの応用範囲が広がります。
マウス操作命令はアングルブラケットで囲みますがマウスボタン種類によって後方の記述が変化します。

マウスボタン種類 動作 パラメータ1 パラメータ2
l 左クリック - -
r 右クリック - -
m マウス移動 x座標 y座標
w ホイール 回転量 -



その他の命令

時間待ち

@wait 待ち時間
一定時間、スクリプトの実行を止めることができます。
待ち時間はミリ秒単位で指定できますが、実際の停止時間はわずかに誤差が発生します。

終了

@end
スクリプトは上から下まで実行し終えると再び上から実行しなおします。
最初からスクリプトは@repeat-@loop構文で囲まれているようなもので、無限ループで構成されます。
こうした理由はループのネストが1段省略できるからです。
意図的にスクリプトを止めたい場合は終了命令を書きます。

ビープ音

@beep
ビープ音を鳴らします。
j2kswtの頃の名残で条件判定の結果を識別する機能が無かった頃に音を鳴らして判断していました。
mscloverにはウォッチ機能がついているので、そういった目的では使用しなくなりました。



短縮形

スクリプトの記述に慣れてきたり、複雑なスクリプトを書くようになると数文字の命令でもわずらわしく感じるものです。
mscloverには良く使われる構文・命令に短縮形を用意してあり、その一覧を示します。

一般形 短縮形
@repeat @r
@loop @l
@wait @w
@return @ret
@continue @try
@break @b
@gosub @go
最終更新:2010年03月20日 00:19