Requireコマンド
Requireコマンドでイベントファイルをロードすると、ファイル中に書かれている各種ラベルが有効になる。
これは通常ラベル(サブルーチン)だけでなくイベントラベルも同様なので、これを活用することでGジェネのようなマルチシナリオを作成することが可能。
これは通常ラベル(サブルーチン)だけでなくイベントラベルも同様なので、これを活用することでGジェネのようなマルチシナリオを作成することが可能。
// サンプル1 [Requireテスト1.eve] *プロローグ: Require "Requireテスト2.eve" Exit
// サンプル2 [Requireテスト2.eve] プロローグ: Talk テスト2のプロローグです end Exit スタート: Talk テスト2のスタートです end Exit
以上のように記述するとプロローグ、スタートイベントがともに実行される。
Requireテスト1.eveを改造すれば複数ファイルから一つ選択し、それをプレイするという動作が可能。
// サンプル1改 [Requireテスト1.eve] *プロローグ: Ask "どこに進みますか?" 平原 海 森 砂漠 End Switch 選択 Case 1 Require "平原.eve" Case 2 Require "海.eve" Case 3 Require "森.eve" Case 4 Require "砂漠.eve" EndSw Exit
※注意! 10/05 23:11追記
Requireコマンドで動的にロードしたイベントファイルでは"@フォルダ名"による各種データのロードが行われないようです。
よってデータの読み込みを行いたい場合はLoadコマンドを使ってください。
// サンプル:このようなイベントファイルをRequireで読み込んだ場合、「オリジナル」フォルダはロードされない。 @オリジナル スタート: ... Exit
// このようにLoadコマンドを使うことでロードできる スタート: Load "オリジナル" Exit
ステージ選択システムテンプレート 09/29 22:05追記
ステージ選択システム実装の際に役立つかもしれないテンプレート。
シナリオファイル名を適当に変更すれば完成かもしれません。
シナリオファイル名を適当に変更すれば完成かもしれません。
$ scenario08.eve *プロローグ: Local ステージセレクト If IsVarDefined(scenario08-aクリア) = 0 Then ステージセレクト["scenario08-a.eve"] = "○○のステージ" Endif If IsVarDefined(scenario08-bクリア) = 0 Then ステージセレクト["scenario08-b.eve"] = "××のステージ" Endif Ask ステージセレクト "ステージを選択してください" Require 選択 Exit *エピローグ If (scenario08-aクリア) and (scenario08-bクリア) Then UnSet scenario08-aクリア UnSet scenario08-bクリア 次ステージ = "scenario09.eve" Endif Exit
$ scenario08-a.eve プロローグ: ... Exit スタート: ... Exit 全滅 敵: Global scenario08-aクリア Set scenario08-aクリア Continue "scenario08.eve"
$ scenario08-b.eve プロローグ: ... Exit スタート: ... Exit 全滅 敵: Global scenario08-bクリア Set scenario08-bクリア Continue "scenario08.eve"