** 内容はSRC2.2.33のものです **
イベントデータ
イベントデータはテキストファイルとなっています。テキストファイルはWindowsに付属しているメモ帳でも扱えますが、メモ帳は機能が限られており、扱えるファイルサイズに制限があるので、より高機能なテキストエディタを使うことを強くお勧めします。お勧めのテキストエディタについてはデータを作成する前にのページを参照して下さい。
イベントデータは戦闘前の会話、ユニットの配置、戦闘時のイベントの処理など1つのステージで起こるすべての出来事を記述したものです。
イベントデータはイベント駆動型に分類されるプログラム言語になっています。したがってプログラミングの経験がある方なら、理解は容易でしょう。
イベント
シナリオはイベントの集まりとして作られれています。イベントとは「この条件のときに、この処理をする」という事を書き表したものです。「条件」の部分をイベントラベルで、「処理」の部分をイベントコマンドを使って記述します。
例えば、
「3ターン目の味方フェイズにサイキックバスターに乗ったジェイを増援として出現させる」
というのも一つのイベントです。
この場合、「条件」が「3ターン目の味方フェイズ」、「処理」が「サイキックバスターに乗ったジェイを増援として出現させる」ということになります。これを実際にイベントデータで書き表すと下のようになります。
#3ターン目の味方フェイズ開始時
ターン 3 味方:
#サイキックバスターに乗ったジェイを出撃
Create 味方 サイキックバスター 0 ジェイ 30 5 3
#イベントを終了
Exit
「ターン 味方 3:」の部分がイベントラベル、つまり「条件」を現わしています。「Create サイキックバスター 0 ジェイ 30 5 3」の部分が「処理」に該当する部分、つまりイベントコマンドです。この例ではイベントコマンドは1つだけですが、複数のコマンドを組み合わせて複雑な処理をさせることもできます。例えば、先ほどの例でジェイを登場させた後、セリフを喋らせるとすると下のようになります。
#3ターン目の味方フェイズ開始時
ターン 3 味方:
#サイキックバスターに乗ったジェイを出撃
Create 味方 サイキックバスター 0 ジェイ 30 5 3
#ジェイのせりふを表示
Talk ジェイ
よっ! みんなお待たせ!
End
#イベントを終了
Exit
「Talk」の行から「End」の行までがセリフを表示するためのTalkコマンドになっています。イベントコマンドは先ほどのCreateのように1行で1つのコマンドというのが基本ですが、このTalkコマンドのように複数行に渡るものもあります。
さて上の二つの例の最後に書かれているのはなんでしょうか? これはExitコマンドと呼ばれるイベントコマンドで、イベントの終りを示すものです。イベントの最後には必ずこのコマンドを配置します。
Exitコマンドがないとイベントは終了されません。Exitコマンドの付け忘れに注意して下さい。
このようにしていくつものイベントを記述してくことでシナリオを作っていきます。シナリオを作るに当たって具体的にどのようなイベントが必要なのかはイベントラベルの解説を参照してください。
使用データの指定
イベントデータはイベントの記述の他にもう一つ役割があります。それは読み込むデータの指定です。
シナリオで使っているデータの作品名を「@作品名」(@は半角)という行をイベントファイルの先頭で指定し、その作品のデータを読みます。
例
@汎用
@聖魔聖戦リュードジェイダー
指定した作品のデータは開発パックからシナリオのDataフォルダにコピーしておいて下さい(あるいは一から自作してもかまいません)。人工知能などの汎用的なデータは「汎用」に格納されています。
![](/images/bm0.gif) 作品名は「スペースなし、文字はすべて全角」で統一されています。
一度ロードされた作品はセーブデータに記録されるので、その後のステージのイベントデータでは指定する必要はありません。ロードした作品のデータが必要でなくなった場合にはロード時間を短縮するため、[**Forget**コマンド](/Forget%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89/)を使ってデータを消去することをお勧めします。
コメント
イベントデータにはこれまで述べたイベントラベル、イベントコマンド、作品名指定の他に、コメントも記述することができます。コメントとは注釈のことです。イベントデータを読みやすく管理しやいようにするためになるべく書いておくことをお勧めします。
コメントを記述するには「#」(半角)を使用します。「#」で始まる行(スペースやタブは無視)はコメントと見なされます。また、行の途中からコメントを始めるには「//」(半角)を使用します。「//」以降の文字列はコメント部分と見なされます。
例
#-----------------------ゲームオーバー-------------------------
全滅 味方:
Talk ジェイダメージ
こんな…こんな事で終わりなのかよ…
End
GameOver
ファイルの取り込み
複数のイベントファイルで同じ処理を共有する場合など、イベントデータ中から他のイベントデータファイルを呼び出したい場合があります。このような場合はファイルのインクルードを使います。
ファイルのインクルードを行うには次のように指定します。
書式<ファイル名>
例<Event\画像処理.eve>
SRCは上の行の場所に指定したファイルの中身がそのまま書かれているものとみなしてイベントの実行を行います。
指定したファイルは
(1) シナリオのあるフォルダ
(2) ExtDataPathで設定されたフォルダ
(2) ExtDataPath2で設定されたフォルダ
(3) Src.exeのあるフォルダ
の優先順位で検索されます。
ファイルの取り込みは「<ファイル名>」の行が実行されなくても行われます。イベントデータを必要に応じて動的に読み込みたい場合は[Requireコマンド](/Require%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89/)を使ってください。ファイル名>
全てのイベントファイルで共通した処理を行いたい場合はシナリオファルダ内に Lib\include.eve というファイルを作成し、その中に処理内容を記述しておくと便利です。Lib\include.eve の読み込みが自動的に行われます。Lib\include.eve によって読み込まれたファイルはシナリオロード時に一度だけ読み込まれます。これによりステージ開始時やインターミッションコマンド実行時のロード時間を短縮する事が出来ます。
Dataフォルダにインクルードファイルを置き、データファイルと一緒に自動的に読みこませることもできます。データの作品のディレクトリに include.eve というファイルを置いて下さい。その作品のデータが読み込まれた際にインクルードファイルの読み込みが自動的に行われます。
例 Data\作品名\include.eve