- FRAXY Try function (Script) -
CHOICEIMAGE
| "CHOICEIMAGE",itemID,imageID,imagePosX,imagePosY,imageSizeX,imageSizeY,blendMode,blendRate
|
"CHOICES"の各項目を画像タイプに設定します。
この命令で設定した項目は"CHOICEPOS"で位置を設定する必要があります。
書式 | "CHOICEIMAGE",int1,int2,int3,int4,int5,int6,int7,int8
|
CHOICEIMAGEFONT
| "CHOICEIMAGEFONT",itemID,imageID,fontSizeX,fontSizeY,shiftX,shiftY,blendMode,blendRate
|
"CHOICES"の各項目を画像フォントタイプに設定します。
この命令で設定した項目は"CHOICEPOS"で位置を設定する必要があります。
画像フォントに関しては
OBJECTIMAGEFONT を参照してください。
書式 | "CHOICEIMAGEFONT",int1,int2,int3,int4,int5,int6,int7,int8
|
CHOICEPOS
| "CHOICEPOS",itemID,align,basePos,posX,posY
|
"CHOICES"の各項目の位置を設定する命令です。
書式 | "CHOICEPOS",int1,int2,int3,int4,int5
|
CHOICERESET
| "CHOICERESET",itemID
|
"CHOICES"の各項目のタイプや位置設定を初期化する命令です。
-1を指定した場合は全ての項目を初期化します。
CHOICES
| "CHOICES","words","words"...
|
文字列の数だけ選択肢を作り表示する命令です。
どれか一つ選択されるまでスクリプト処理は停止状態になります。
選択されると選択された文字列のインデックスを_statに返し処理が再開されます。
インデックスは各文字列に0から順番に割り振られています。
文字列を""のように省略すると空欄として選択できなくなります。
文字無しで選択できるようにしたい場合は" "のように半角スペースを入れてください。
書式 | "CHOICES","str1","str2"...
|
CHOICEWORD
| "CHOICEWORD",itemID
|
"CHOICES"の各項目を文字列タイプに設定します。
この命令で設定した項目は"CHOICEPOS"で位置を設定する必要があります。
ループを継続する命令です。
"REPEAT"と"LOOP"の間で使用してください。
DESTROYCHOICES
| "DESTROYCHOICES",returnvalue
|
現在表示されている選択肢を破棄します。
この命令は"SETCOOPERATIVE"で協調レベルを 1 に設定したサブスクリプトで使用してください。
"IF"の式が成り立たなかった場合のスキップ先を示す命令です。
この命令は必ず"IF"と"ENDIF"の間で使用します。
"IF"の式の終わりを示す命令です。
この命令は必ず"IF"とセットで使用します。
指定されたラベルがある行にジャンプする命令です。
ラベル名は先頭に * を付けてください。
同名のラベルが複数存在する場合は行の浅い方が有効になります。
GOSUB
| "GOSUB","labelname"
|
指定されたラベルがある行にサブジャンプする命令です。
ラベル名は先頭に * を付けてください。
"GOTO"と違ってジャンプする前の行を記憶し、"RETURN"で戻ってくることができます。
ジャンプ先で処理を終えたら必ず"RETURN"で戻るようにしてください。
最大で16重の多重ジャンプをすることもできます。
指定された式を判定する命令です。
この命令は必ず"ENDIF"とセットで使用します。
式が成り立つ場合は次の行へ、成り立たない場合は"ELSE"または"ENDIF"までスキップされます。
式が成り立ちなおかつ"ELSE"が記述されている場合は"ELSE"から"ENDIF"までスキップされます。
LIMIT
| "LIMIT",enemyLimit,partsLimit
|
敵の数やパーツ数が指定された数以下になるまでスクリプトの処理を停止する命令です。
-1を指定するとその制限を無効化します。
ループの終点を指定する命令です。
この命令は必ず"REPEAT"とセットで使用します。
REPEAT
| "REPEAT",loopNumber
|
"REPEAT"から"LOOP"までの処理を指定された回数だけ繰り返す命令です。
この命令は必ず"LOOP"とセットで使用します。
最大で16重の多重ループをすることもできます。
ループ中は現在のループのループ回数が変数(_cnt)に代入されます。
指定回数が0の場合は"REPEAT"から"LOOP"までスキップされます。
指定回数が-1の場合は無限ループになります。
無限ループから抜け出す場合は"EXITLOOP"を利用してください。
"GOSUB"で記憶した行へ戻る命令です。
この命令は必ず"GOSUB"とセットで使用します。
SETSCRIPTADDRESS
| "SETSCRIPTADDRESS","labelname",scriptID,option
|
任意のスクリプトIDの実行位置を変更します。
位置はラベルによる指定になります。
gosubを指定した場合は一時的なサブルーチンジャンプになります。
スクリプトIDには"ADDSUBSCRIPT"で作成したスクリプトID、もしくはメインスクリプト(ID0)を指定します。
これは実行中でない別のスクリプトIDの位置情報を書き換えることができるため、
場合によっては想定外の動作やエラーを誘発するという点に注意してください。
例えば、対象スクリプトがループの最中にgotoで抜けてしまうとスタックに情報が残ったままになります。
この動作を繰り返すと最終的にスタックがオーバーフローしてエラーになります。
この場合は &2 でスタック情報をクリアすることで回避できます。
また、この命令を多用するとスクリプトの制御フローが解りにくくなります。
よってこの命令による強制ジャンプは必要最低限に留めるべきです。
書式 | "SETSCRIPTADDRESS","label1",int2,int3
|
指定されたフレーム値だけスクリプト処理を停止する命令です。
この命令が実行されるとスクリプト処理から抜けてゲームのメインループに戻します。
そのため待ち時間は指定されたフレーム値+1フレームになります。
フレーム値が 0 ならばスクリプト→メインゲーム→スクリプト、
フレーム値が 1 ならばスクリプト→メインゲーム→(1フレーム待ち)→メインゲーム→スクリプト
という流れになります。
WAITFOR
| "WAITFOR",expression,waitFrame
|
条件指定でスクリプトを停止する命令です。
int1が偽(int1=0)の場合、実行中のスクリプトを中断し(int2)フレームの間停止します。
停止後は再度この命令が実行されます。
int1が真(int1!0)の場合は中断も停止もせずにスクリプトを継続します。
この場合はBreak属性が無視されます。