『「本当に」とりあえず動くだけのキャンペーンを作ってみた』の
『とにかくやってみましょう』にも書いてあるとおり、今作ったキャンペーンには、WML に反して本来 _main.cfg と別ファイルにして、scinarios フォルダに入れるべきシナリオを _main.cfg 内に記述しています。
このるーるは守らなくても _main.cfg に [scenario] タグを追加してシナリオを記述していってもキャンペーンは作れます(現に「とりあえず動くだけのキャンペーン」がちゃんと動いています。)
それなのに、なぜこのようなルールがあるのでしょう。
シナリオは、通常簡単なものでも数十行、手の込んだものだと数百行にもなります。
_main.cfg ファイルの中にすべてのシナリオを書き込んだら、_main.cfg ファイルは、数千から数万行にもなってしまい、修正が必要となった場合に修正箇所を見つけるだけでも大変な作業になってしまいます。
ですから、1章ごとのシナリオを別ファイルにして、しかも1つのフォルダにまとめて管理していくのが効率的なのです。
WML では必須ではありませんが、マップファイルも1つのフォルダにまとめた方がすっきりして管理しやすくなりますので、こちらもいっしょに修正しましょう。
フォルダを作成します
small_campaign フォルダ直下に scenarios フォルダと maps フォルダを作成します。
この時点で、small_campaign フォルダ直下には、scenarioフォルダ、mapsフォルダ、_main.cfgファイル、small.mapファイルの4つのフォルダとファイルがあります。
マップのファイルを maps フォルダに移動します。
small.mapファイルを mapsフォルダ内に移動します。
この時点で、small_campaign フォルダ直下には、scenarioフォルダ、mapsフォルダ、_main.cfgファイルの3つのフォルダとファイルとなります。
_main.cfg ファイルを分割します。
_main.cfg ファイルを本来の _main.cfg とシナリオの部分に分割します。
_main.cfg の部分
[campaign]
id=small campaign
name= _ "small_campaign"
define="CAMPAIGN_SMALL_CAMPAIGN"
first_scenario=small
[/campaign]
シナリオの部分
[scenario]
id=small
next_scenario=null
map_data="{~add-ons/small_campaign/small.map}"
turns=-1
[side]
side=1
controller=human
team_name=human
type=Sergeant
id=XXX
canrecruit=yes
recruit="Spearman,Bowman,Mage"
[/side]
[side]
side=2
controller=ai
team_name=ai
type=Orcish Grunt
id=YYY
canrecruit=yes
recruit="Orcish Archer,Orcish Assassin,Troll Whelp"
[/side]
[event]
name=start
[message]
speaker=XXX
message= _ "狭いな。ここは。"
[/message]
[message]
speaker=YYY
message= _ "お前が消えれば広くなるぜ。グヒヒ。"
[/message]
[/event]
[/scenario]
シナリオの部分は、id と同じ名前をつけると管理しやすいので、small.cfg と名前をつけて保存しましょう。
シナリオファイルを修正、移動する。
_main.cfg からシナリオ部分を分離して、small.cfg として保存しましたが、このままでは問題があります。
4行目で次のようにマップデータを読み込んでいます
map_data="{~add-ons/small_campaign/small.map}"
しかし、先ほど、small.map の保存先を変更したので、それに合わせて
シナリオファイルを修正する必要があります。
そこで、small.cfg を次のとおり修正します。
[scenario]
id=small
next_scenario=null
map_data="{~add-ons/small_campaign/maps/small.map}" ##small.map の保存先を変更
turns=-1
[side]
side=1
controller=human
team_name=human
type=Sergeant
id=XXX
canrecruit=yes
recruit="Spearman,Bowman,Mage"
[/side]
[side]
side=2
controller=ai
team_name=ai
type=Orcish Grunt
id=YYY
canrecruit=yes
recruit="Orcish Archer,Orcish Assassin,Troll Whelp"
[/side]
[event]
name=start
[message]
speaker=XXX
message= _ "狭いな。ここは。"
[/message]
[message]
speaker=YYY
message= _ "お前が消えれば広くなるぜ。グヒヒ。"
[/message]
[/event]
[/scenario]
修正が終わったら、シナリオファイル small.cfg を scenario フォルダ内に移動します。
_main.cfg を修正する
_main.cfg は実はこのままでは不十分です。
シナリオを別ファイルにしたので、どこからシナリオを読み込むべきかという情報を記載する必要があります。
そこで、次のように修正します。
[campaign]
id=small campaign
name= _ "small_campaign"
define="CAMPAIGN_SMALL_CAMPAIGN"
first_scenario=small
[/campaign]
{~add-ons/small_campaign/scenarios} #シナリオの保存先の情報を追加
この時点で、small_campaign フォルダ内の構造は次のようになっています。
small_campaign(フォルダ) ----- main.cfg
|-- scenario(フォルダ) ----- small.cfg
|-- maps(フォルダ) --------- small.map
最終更新:2016年05月05日 10:40