** 内容はSRC2.2.33のものです **
イベントラベル
イベントラベルはイベントの「この条件のときに、この処理をする」のうち、「条件」を指定するためのものです。イベントラベルはイベントの種類を示すイベントラベル名と、引数と呼ばれる値のリストを使って記述します。
書式
イベントラベル名 引数1 引数2…… :
例えば「ターン 3 全:」というイベントラベルの場合、最初の「ターン」がイベントラベル名、「3」及び「全」が引数になります。
イベントラベルには以下の種類があります。
イベントラベル一覧
プロローグイベントステージ開始時に発生するイベント
スタートイベントステージの戦闘開始時に発生するイベント
エピローグイベントステージ終了時に発生するイベント
ターンイベント指定したターンに発生するイベント
損傷率イベントユニットのダメージが一定値を越えた場合に発生するイベント
破壊イベント指定したユニットが破壊されたときに発生するイベント
全滅イベント各陣営のユニットの全滅時に発生するイベント
攻撃イベントユニットが他のユニットに攻撃をかけるときに発生するイベント
攻撃後イベントユニットが他のユニットに攻撃をした後に発生するイベント
接触イベント特定ユニット同士が接触した時に発生するイベント
進入イベントユニットが特定の地点に進入したときに発生するイベント
脱出イベントユニットがマップ端に到達したときに発生するイベント
収納イベントユニットが母艦に着艦したときに発生するイベント
使用イベントユニットが特定の武器やアビリティ、スペシャルパワーを使用する時に発生するイベント
使用後イベントユニットが特定の武器やアビリティ、スペシャルパワーを使用した後に発生するイベント
変形イベントユニットが特定の形態へ変形したときに発生するイベント
合体イベントユニットが特定の形態へ合体したときに発生するイベント
分離イベントユニットが特定の形態から分離したときに発生するイベント
行動終了イベントユニットが行動終了したときに発生するイベント
レベルアップイベントユニットのメインパイロットがレベルアップしたときに発生するイベント
勝利条件イベント作戦目的を表示するためのイベント
再開イベント中断セーブデータから再開した際にマップの再描画を行うためのイベント
マップコマンドイベントマップコマンドメニューに独自のコマンドを追加するためのイベント
ユニットコマンドイベント ユニットコマンドメニューに独自のコマンドを追加するためのイベント
イベントラベルの使い方
シナリオはイベントの集まりであり、そのイベントにはすべてイベントラベルが付けられています。ではどのイベントラベルをどのようにして使えばシナリオを作ることができるのでしょうか? ここでは基本的なシナリオにおけるイベントラベルの使い方を説明します。
まず基本的なシナリオの流れを形作るものとして、下のものが不可欠です。
戦闘に至るまでの背景の説明を行います。Talkコマンドを使うと良いでしょう。
例
プロローグ:
Talk ナレーター
現在地球圏では、 2つの大きな勢力が互いに不毛な争いをしていた。
:
End
Exit
プロローグイベント終了後、マップ表示とともにこのイベントが実施されます。まずはTelopコマンドでシナリオのタイトルを表示すると良いでしょう。
次に敵・味方のユニットを配置して下さい。敵の配置はCreateコマンドを使います。味方の配置は新規のユニットはCreateコマンドで、既に作成してあるユニットはLaunchコマンドやOrganizeコマンドで配置してください。
なお、Talkコマンドでパイロット同士の会話を入れ、戦いを熱く演出することをお勧めします。
このイベントが終るとイベントモードは終了、プレイヤーがユニットを操作できるようになります。
例
スタート:
Telop 第一話.「龍怒 起動」
Create 敵 アファード 1 ヴァルスタ製人工知能(ザコ) 3 10 10
Create 敵 アファード 1 ヴァルスタ製人工知能(ザコ) 3 9 11
Create 敵 バルトレッド 1 ヴァルスタ製人工知能(ザコ) 3 11 15
Talk リグ
ヴァルスタ… 例の地球に対して宣戦布告をかけてきた…
Talk アイル博士
そうだ。リグ、龍怒で敵を迎撃せよ!
Talk リグ
言われなくてもわかってらあ!;それが俺のやるべき事なんだからな!
End
Launch リグ 5 5
Talk リグ
動く… 思い通りに… これならいける!!
よし… いくぞっ!!
End
Exit
多くのシナリオの勝利条件は敵の全滅でしょうからこのイベントが不可欠です。Continueコマンドを使ってステージをクリアさせてください。
例
全滅 敵:
Talk リグ
よし、全機撃墜!
End
Continue 聖魔聖戦リュードジェイダー-02.eve
味方ユニットの全滅はほぼ例外なくゲームオーバーを意味します。忘れずにイベントを設定しておきましょう。GameOverコマンドでゲームオーバーの処理ができます。
例
全滅 味方:
Talk リグ
ちっ! 油断したか……
End
GameOver
めでたくステージをクリアした後、つまりContinueコマンドを実行した後に実行されるイベントです。次回予告を入れるなどして雰囲気を盛り上げましょう。
例
エピローグ:
Talk ナレーター
中国四川省、そこにリュードチームの新しいメンバーが誕生した
その名はレン=リンファ。リグは彼女と合流すべく一路中国へ向かう。
だが、彼女はリグの協力を無視し、自分一人の力だけで戦おうとする……
次回、聖魔聖戦リュードジェイダー第3話、「信頼という名の力」
End
Exit
これがないと作戦目的コマンドが表示されないので、プレイヤーがそのステージでなにをすべきか分からなくなってしまいます。忘れずに定義しておきましょう。
例
勝利条件:
Talk システム
勝利条件 「敵の全滅」;敗北条件 「味方の全滅」
End
Exit
最低これだけのイベントを作ればシナリオを作ることはできます。あとは個々のイベントラベルの解説を読んでイベントを追加していき、シナリオの演出をより豊かにしていってください。次に挙げたものはほんの一例です。
(1)ステージ途中で敵や味方の増援が出現
ターンイベントで特定ターンの最初にCreateコマンドを使ってユニットを出現させてやればOKです。
(2)宿敵同士の会話
因縁の対決の場合には戦闘前にパイロット同士を会話させ、戦いを盛り上げましょう。攻撃イベントを使います。
(3)捨て台詞
名前付きのエースパイロットの場合には破壊された際の捨て台詞が付き物です。そのままでも脱出メッセージを喋りますが、シナリオの状況に合わせるには破壊イベントを使ってTalkコマンドを使って喋らせます。
(4)脱出シナリオ
敵全滅ではなく、脱出が勝利条件となるシナリオを作るには脱出イベントを使います。
(5)基地への進入を許すな!
基地への進入が敗北条件となるシナリオもよくあります。この場合は進入イベントを使います。
イベントラベルの引数
イベントラベルの多くは引数を持ちます。例えば破壊イベントは破壊されたユニットを指定するための引数を持ちます。引数は大きく2種類に分けられます。
ユニットイベントの対象となるユニットを指定します。
指定に用いるのはユニットのメインパイロットの名称、愛称、またはグループIDです。
ユニットの名称を指定することも出来ます。
個別のユニットではなく、陣営名を指定することもできます。
数値半角数字で数値を指定します。
イベントラベルの引数に「全」を指定すると、対応する引数はすべての条件に適合するようになります。例えばユニットを指定する引数に「全」を指定すると対象となるユニットにかかわらずそのイベントラベルの発生条件が満たされるようになります。
イベントラベルの指定の仕方によってはある出来事が発生したとき、同時に2つ以上のイベントラベルが条件を満すことがあります。例えばジェイが乗っているユニットが破壊された場合、
破壊 ジェイ:
破壊 味方:
の両方のイベントの発生条件が満たされます。この場合、ファイル中で先に書かれているイベントラベルのイベントがだけが発生します。
これは通常のイベントラベルでの話です。後述する常時イベントラベルの場合は条件を満たすイベント
すべてが実行されます。
イベントラベルの前後関係は同一ファイル内でのみ保証されます。複数のイベントデータファイルを読み込んでいる場合、どのファイルのラベルが先に選択されるかはプレイヤーの実行手順によっても異なり、どのファイルのラベルが先に選択されるか一意に判断することは出来ません。複数のイベントデータファイルを使う場合はご注意下さい。
引数には式も使用可能です。変数の値を参照したり、関数を使ったりといったことが可能です。
例
ターン (援軍登場 + 3) 味方:
常時イベントラベル
インクルードファイルでの処理など、通常のイベント処理にかかわりなく常時発生させたいイベントは常時イベントラベルを使って実現することができます。イベントラベルの先頭に「*」(半角文字)をつけたイベントラベルは常時イベントラベルと見なされます。
常時イベントラベルは同じ種類のイベントが実行されても、条件を満たせば必ず実行されます。また常時イベントラベルの実行は通常イベントが実行されるかどうかには影響しません。例えば、
*破壊 味方:
破壊 ジェイ:
*破壊 ジェイ:
破壊 味方:
の順でイベントラベルがイベントファイル中にあった場合、ジェイの乗っているユニットが破壊されたときに
*破壊 味方
破壊 ジェイ上のイベントは常時イベントなのでそのまま実行される
*破壊 ジェイ通常イベントが実行されているが、常時イベントなので実行される
の順でイベントが実行されます(「破壊 味方」は通常イベント「破壊 ジェイ」が実行されているので実行されない)。
イベントラベルのうちユニットコマンドイベントのイベントラベルには常時イベントラベルは使えません。その代わり、ユニットコマンドイベントのイベントラベルに「*」を付けた場合はそのユニットコマンドがユニットの行動終了時にも使用可能になります。
通常ラベル
上のイベントラベル一覧で書かれた以外のラベルを定義することもできます。シナリオ中、このラベルが直接実行されることはありません。書式はイベントラベルと同様、
通常ラベル名:
となっています。
通常ラベルはIf文やGoToコマンドを使ってイベントの流れを制御したり、Callコマンド・Call関数とReturnコマンドを組み合わせてサブルーチンコールを実現するのに使用します。詳しくはこれらのコマンドの解説をご覧ください。
通常ラベル名としてユニット名やパイロット名をそのまま使うことは避けてください。思わぬ動作を招くことがあります。また、通常ラベルは引数を持つことはできません。ラベル名の中に空白は含めないで下さい。この他、半角数字で始まるラベル名や、半角文字の特殊記号(アンダーライン「_」を除く)をつけたラベル名も使わないで下さい。