シナリオ作成

簡単な改変

イベント作成

The GC Neo

投稿シナリオ

マルチプレイ用

メニューへ戻る

トップへ戻る

 

2002/5/20更新

 
 ここではオリジナル・イベントの作成を解説します。
  とはいっても全てを解説するのは困難なので、実例を挙げつつ、その基本を紹介していきましょう。

イベント・データのある場所

 EU II のインストールされた「Europa Universalis 2」フォルダ内の
Db」→「Events」 内にある大量のテキスト・ファイルがイベント・データです。
 たとえば、「major_spa.txt」 なんて名前のファイルがあるはずです。大事なのは major のあとにある spa という国識別タグで、この場合スペインを意味しています。
  ファイルの名前が「major ・・・」となっている物が各国の主要イベントファイル、「flavor ・・・」となっている物は文化系の追加イベント群です。
 日本で言えば、「応仁の乱」や「関ヶ原」といったものは「major」ファイルに、「女歌舞伎の禁止」や「風姿花伝の完成」なんていうのは「flavor」ファイルに登録されています。

  これらのファイルの他にも、「randomevents.txt」、「randomreligiousevents.txt」というものもあります。
  この二つはランダムに発生する国を選ばないイベントが登録されている物で、「コンキスタドールの出現」や「君主に世継ぎが生まれる」なんていうのが当てはまります。

さらに「ReligiousEvents.txt」 、「hugeevents.txt」というのもありますが、これは改変しない方が無難です。「巨大イベント」の名の通り、「宗教改革」や「トリデシラス条約」なんかが入っていますので、下手に弄くって潰すとゲームが不安定になりかねなりません。


イベント・データ内部

 

 では、実際に具体的なイベントデータを見てみましょう。
 「 major_fra.txt 」をエディタで開けてみると、少し長いですが・・・

#Jean D'Arc and the French Monarchy#
event = {

id = 3101
random = no
country = FRA
name = "EVENTNAME3101"
desc = "EVENTHIST3101"
style = 1

date = { day = 1 month = january year = 1429 }
offset = 30
deathdate = { day = 1 month = january year = 1430 }

action_a ={ #Heed the Advise of Jean D'Arc#
name = "ACTIONNAME3101A"
command = { }
command = { type = domestic which = CENTRALIZATION value = 2 }
command = { type = domestic which = OFFENSIVE value = 2 }
command = { type = domestic which = QUALITY value = 2 }
command = { type = domestic which = INNOVATIVE value = 1 }
command = { type = land value = 500 }
command = { type = infra value = 500 }
command = { type = INF which = -2 value = 5000 }
command = { type = stability value = 1 }
}

action_b ={ #Ignore the Advise of Jean D'Arc#
name = "ACTIONNAME3101B"
command = { }
command = { type = domestic which = ARISTOCRACY value = 2 }
command = { type = domestic which = SERFDOM value = 2 }
command = { type = domestic which = LAND value = 2 }
command = { type = domestic which = INNOVATIVE value = -1 }
command = { type = fortress which = -2 value = 1 }
command = { type = CAV which = -2 value = 5000 }
command = { type = stability value = -1 }
}
}

・・・と、ここまでが一つ目のイベント、「フランス王家とジャンヌ・ダルク」です。
 最初の「」に囲まれた部分はプログラマーによるコメントで、動作に影響していません。以後も「」に囲まれた部分が出て来ますが全て同様です。
 各行の頭になる部分が記述の核となり、「」でその後に実際にどんな動きをさせるのかが記述されていきます。
 それでは、この各行頭の語の解説をしていきます。


Event = { }

この Event = のあとの{ }で囲まれた部分が1イベントとなります。
以下、全ての定義部分は{ }で囲まれていることに注意して下さい。
括弧の閉じ忘れでエラーというのは、およそあらゆるプログラムで頻出するバグです。

id =

各イベントには固有の番号が振られていて、重複はエラーになります
その番号を規定するのがここです。

random =
ランダム発生のイベントかどうかを規定します。
=の右はyesまたはnoです。
country =
ランダム発生でない場合に、どの国を主体として発生するイベントかを規定するところです。
国識別タグを書き込みます。
name = " "
イベントの名前、つまり発生時に画面に表示されるタイトルを規定するところです。
上記の例の用にコード「EVENTNAME3101」といった記述をすると、「config」フォルダ内の「text.csv」を参照して対応するタイトルに決定します。
直接好みのタイトルを書き込んでも、それがちゃんと表示されるので、その方が楽ですね。
desc = " "
これは発生時に表示されるイベントの詳細文を規定するところで、上の name = と似たような動きをします。
よって、ここも直接、文を入力した方が楽です。
style =
これはイベント外観の年代スタイルを決定するところで、世紀ごとに区切って1から5までの数字を記述します。
date = { }
ここは注意深く記述した方がよいでしょう。イベントの発生日時を決定する部分です。
{ }内に、day =month = year = と記述するのですが、月は英単語で記述しなければなりません。

ある程度の期間でランダム発生させたい場合は、次の offset を併用します。

また、この項目全てを省略すると、他のイベントから発動させるか、最後に解説する「trigger」によって発動させる以外、出現しないイベントになります。
offset =
これは、発生時期に余裕を持たせるために使う物です。
任意の数字を記述すると、その日数だけ開始時期がずれ込む可能性が出るわけです。
deathdate = { }
これはイベントの無効日時を規定するものです。
何かの加減で開始日がずれ込んだとしても、絶対にここの日時を過ぎて発生することはありません。
action_a = { }
これが、イベント発生時に与えられる選択肢を決めるところです。
action_a だけだと選択不可、さらに action_b の記述があれば2択のイベントになります。
action_c もあれば3択ですね。
4択まで可能です。

action_a のあとの{ }の中にも name = { } という記述がありますが、これが実際に表示される選択文になります。例によって、そのまま選択分を記述した方が楽です。
command = { }
action 内に書き込む、実際のイベント効果を規定する部分です。
「探検者を獲得」とか、「イギリスとの関係が悪化」とかいったことを決定するわけですね。
当然、書き込めるコマンドはエライ数があります。
trigger = { }
さて、上で例に挙げたイベントにはこの trigger という語は出て来ません。
しかし、これは非常に重要なコマンドで、位置的には id = の次の行くらいに置くことが多いようです。

trigger は、そのイベントが「何を条件に引き起こされるのか」を決めるものです。
単純に一定の日時を引き金にするなら、この trigger は必要ありませんが、「ある特定の土地を所有している」とか「国教がプロテスタントである」とか、発生条件がある場合は必須となってきます。
これも結構な記述パターンがあります。



さらに詳しく知りたい方は、「ダウンロード」のページで、
「イベント作成マニュアル」を落としてみて下さい。