|
なる程、cs_pを予想以上に使いこなしてらっしゃいますね。 他に代用で使えそうな物としては、痴漢鉄ではステージクリアのフラグ管理に [csFlg]を使用しています。 0〜99まで有りますが、順番や番号は関係ありません。
スクリプトのストーリー上の任意の進行位置に >SetPar_ADDcs フラグ名; での記述を行なってフラグ名を記憶します。 >GOSUBcs フラグ名,フラグ存在時のジャンプ先ラベル,それ以外のジャンプ先ラベル; の記述でフラグの存在の有無で処理を分岐します。(「GosubCS」とは異なります) これはGOSUBしか実装されて無いので、呼び元に戻る処理にしか使えません。
また、従来の作品の仕様ですが、イベントフラグを使用する方法も有ります。 これが現在も使えるかは検証していないので分りませんが、多分大丈夫は筈です・・・ [EV]は消化済みイベントを記憶しています。 [EVFlg]と[EVFlg2]はイベント実行の為の管理フラグです。
(1)主ストーリスクリプト.txt←Eventを記述し(2)を呼び出します (2)イベント管理用スクリプト.txt←フラグを判断して(3)を呼び出します (3)イベントスクリプト.txt←イベントの内容です。終了後(1)のEvent次行に復帰します
●(1)主ストーリスクリプトの書き方 イベントの分岐は、ストーリー用のメインスクリプトから イベント管理用スクリプトを呼び出す事で行ないます。 >Event イベント管理用スクリプト名.txt;
●(2)イベント管理用スクリプトの書き方 イベント管理用スクリプトには次の文(EVの宣言のみ)を必要な数だけ記述します。 通常の他のスクリプト文は記述できません。RETURNも不要です。
>EV 0,0,0,0,0,イベントスクリプト.txt,,フラグ1,フラグ2,フラグ3; 0〜4番パラメータ:痴漢鉄では使用できません。0を入れてください。 5番パラメータ:呼び出すイベントスクリプトファイル名です。 6番パラメータ:再実行可能か?を記述します。 trueを記述すると[EV]には記憶されず、そのイベントは何度でも実行されます。 7,8,9番パラメータ:フラグは3つまで記述可能です。
EV文は上から記述順に条件が判断されて、呼び出し可能なスクリプトが見付かると それを実行します。 イベント管理用スクリプトから呼び出されたスクリプトファイルは[EV]に記憶され 同じイベントを何度も実行しない様に成ります。 条件を満たす物が複数ある場合は一番上の物だけが実行されて[EV]に記憶され 次回以降は次の物が実行される流れに成ります。
●(3)イベントスクリプトの書き方 >SetPar_ADDFlg フラグ名; フラグ名を記憶します。
>SetPar_ADDFlg2 フラグ名; これもフラグ名を記憶します。フラグは同様に処理されますが[EVFlg2]に記憶されます。
>DataReSet3 ; この記述は[EVFlg2]だけ残してフラグをリセットします。 例えばゲームの2週目などの処理の際にクリアフラグの引継ぎなどで使用します。
イベントスクリプトは、最後は「RETURN ;」で戻らなくては成りません。 戻り先は主ストーリスクリプトのEvent文の次に成ります。
フラグの追加は、主ストーリスクリプトで書いても構いませんが、通常は イベントスクリプト内部で自身のイベントが終了した事を記憶する為に使用します。 例えば、イベント2の実行条件をフラグ1にして、イベント1の内部でフラグ1を 追加する事で、イベントの発生順を制御します。 メニューによる分岐でフラグを変更したり、イベント実行条件を複数のフラグにする事で より複雑な進行を制御する事も出来ます。
分り辛い説明で申し訳ありませんが、今ある機能で使えそうなのはこんな感じです。
|