- FRAXY Try function (SubScript) -

ADDSUBSCRIPT "ADDSUBSCRIPT","labelname",variable
指定したラベルを開始点としてサブスクリプトを登録します。
サブスクリプトはIDの順番でメインスクリプトの後に実行されます。(メインスクリプトはID=0として扱われます)
最大で15個まで登録でき、同じサブスクリプトの重複登録も可能です。

登録に成功した場合はvar2にIDを返します。
失敗した場合はvar2に-1以下の負数を返します。

"LIMIT"と"WAIT"による停止はメインスクリプトとサブスクリプトでそれぞれ個別に管理しています。
そのためメインスクリプトが停止中でもサブスクリプトを動かすことができます。

基本的に上記以外の要素はメインスクリプトと全てのサブスクリプトで共有します。
例えば、サブスクリプトで"CHOICES"を使用するとメインスクリプトも停止することになります。
変数やオブジェクトも共有するため、"CREATEOBJECT"などを使用するサブスクリプトを重複登録する場合は注意してください。
書式"ADDSUBSCRIPT","label1",var2
"label1"開始点となるラベル
var2サブスクリプトIDを返す変数

DELSUBSCRIPT "DELSUBSCRIPT",subscriptID
登録したサブスクリプトを削除します。
通常、int1には"ADDSUBSCRIPT"でIDを格納した変数を指定してください。
int1に-1を指定した場合は現在実行しているサブスクリプトの登録を削除します。

この命令自体はBreak属性を持ちません。
しかしサブスクリプトが自身の登録を削除した場合はBreak属性を持っているとして処理されます。
書式"DELSUBSCRIPT",int1
int1削除するサブスクリプトのID
-1
現在実行しているサブスクリプト
1~
任意のサブスクリプト

SETCOOPERATIVE "SETCOOPERATIVE",scriptID,level
スクリプトの協調レベルを変更します。
対象スクリプトIDにはサブスクリプトIDを指定してください。
0 を指定するとメインスクリプトが対象になります。
協調レベルの初期値は 0 で、選択肢表示などの特殊な状況下で処理が停止するようになっています。
協調レベルを 1 に変更するとそれらの状況下で処理が停止しないようになります。
書式"SETCOOPERATIVE",int1,int2
int1対象スクリプトID
int2協調レベル (0~1)