※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。

Requireコマンド


Requireコマンドでイベントファイルをロードすると、ファイル中に書かれている各種ラベルが有効になる。
これは通常ラベル(サブルーチン)だけでなくイベントラベルも同様なので、これを活用することで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"