簡單的可運(yùn)行戰(zhàn)役地圖制作——2.2戰(zhàn)役地圖的運(yùn)行方法
如果你不想知道內(nèi)在邏輯,那么你可以參考下面的內(nèi)容:
將地圖文件名改為左邊的內(nèi)容(包括文件后綴),然后放在地圖根目錄,從戰(zhàn)役列表運(yùn)行右邊對應(yīng)的關(guān)卡即可打開地圖,下面是對應(yīng)表(A代表盟軍戰(zhàn)役,S代表蘇軍戰(zhàn)役,E代表厄普西隆戰(zhàn)役,數(shù)字代表第幾關(guān)):
areddawn.map——A1 ?????aeaglesfly.map——A2? ???aroadtrip.map——A3
aheavenhell.map——A4? abadapple.map——A5? ??abmind.map——A6
ahammerfall.map——A7? awrongside.map——A8? azerosignal.map——A9
agardener.map——A10? ?apanic.map——A11? ??????asunlight.map——A12
asiren.map——A13? ???????apuppet.map——A14? ? ? astone.map——A15
aghost.map——A16? ????? abottle.map——A17? ??????ahyst.map——A18
astorm.map——A19? ????? apara.map——A20? ????????arele.map——A21
ainsomnia.map——A22? sbleed.map——S1? ?????????sggate.map——S2
shbd.map——S3? ??????????sside.map——S4? ????????????speace.map——S5
srech.map——S6? ???????? sidle.map——S7? ?????????????sdeath.map——S8
sroad.map——S9? ???????? sopen.map——S10? ????????smachine.map——S11
sdragon.map——S12?? ??sraven.map——S13? ????? ?sawake.map——S14
sexist.map——S15????????sfire.map——S16? ????????????sjugger.map——S17
sheart.map——S18? ?????sred.map——S19? ????????????sthread.map——S20
smelt.map——S21? ??????searth.map——S22? ?????????epeace.map——E1
eaccel.map——E2? ??????escrap.map——E3? ??????????eship.map——E4
ehuman.map——E5? ???eland.map——E6? ????????????ethink.map——E7
elord.map——E8? ????????efields.map——E9? ??????????efocus.map——E10
esing.map——E11? ?????emoon.map——E12? ????????edilemma.map——E13
ehuehue.map——E14?ebreed.map——E15????????? ediver.map——E16
egodsend.map——E17 elizard.map——E18????????eblood.map——E19
ehead.map——E20? ???esands.map——E21? ??????etotal.map——E22
?
以下是原理解析:
運(yùn)行戰(zhàn)役相關(guān)的文件是BattleClient.ini,它的位置在根目錄下的INI文件夾,我們先打開這個(gè)文件。
我們首先看到的是這個(gè)部分:

這個(gè)區(qū)域?qū)?yīng)的是戰(zhàn)役列表里的這些部分:


上面[]里的是每個(gè)項(xiàng)目的注冊名,下面Description=后面的內(nèi)容是這個(gè)項(xiàng)目的文本內(nèi)容。
如果你想新建一個(gè)戰(zhàn)役列表的區(qū)域,首先要在這里注冊,例如:

然后往下看到這里:

這里往下是整個(gè)戰(zhàn)役列表的內(nèi)容,按照從上往下的順序依次顯示已經(jīng)注冊的內(nèi)容,我們選一個(gè)區(qū)域?yàn)槔?/p>
在代碼里“;”后面的是注釋內(nèi)容,用來標(biāo)記這里的代碼意義,沒有實(shí)際作用,比如“;;Allied Act One”標(biāo)記的是下面是盟軍戰(zhàn)役第一幕的內(nèi)容。
“XA1=”后面的內(nèi)容是我們在上面注冊的[XCATONEALL],這里就會顯示[XACTONEALL]里的文本“—— 同盟國聯(lián)軍 - 第一幕 ——”,自動(dòng)居中。
下面的1=到12=的“=”后面接戰(zhàn)役注冊名,戰(zhàn)役注冊在下面進(jìn)行。需要注意的是,這里的數(shù)字在整個(gè)列表中不可以重復(fù),否則會發(fā)生沖突,可以使用大于78的數(shù)字。
XNA=XNULL,XNULL在上面注冊了一個(gè)空文本,使用這一句就會形成一個(gè)空行。
為了測試效果,我們在這里加上這些內(nèi)容:

往下翻到這里,這里往下是每個(gè)戰(zhàn)役注冊的區(qū)域:

我們以盟軍第一關(guān)為例:

第一行[AREDDAWN]是戰(zhàn)役的注冊名,“[]”里的內(nèi)容要和上面的“數(shù)字=”后面的名稱相同。
Scenario=后面的內(nèi)容是戰(zhàn)役對應(yīng)的地圖文件名稱,MO的地圖文件在.mix文件里,我們把自制的地圖文件放在根目錄也可以讀取,這里似乎是不區(qū)分大小寫的,填上需要的地圖的名字。
FinalMovie=后面似乎是過場電影的名稱,也許是戰(zhàn)役結(jié)束后播放影片。但暫時(shí)沒有看到有戰(zhàn)役用到這一條。
Description=后面的是戰(zhàn)役顯示在游戲客戶端里的名稱,填上戰(zhàn)役名就可以了。
SideName=后面的內(nèi)容對應(yīng)戰(zhàn)役名稱前面的圖標(biāo),目前有Allies,AlliesX,Soviets,SovietsX,Epsilon,EpsilonX,F(xiàn)oehn,F(xiàn)oehnX八個(gè),具體效果可以自己嘗試著看。
Enabled=false,在戰(zhàn)役注冊里加入這條代碼可以使戰(zhàn)役無法運(yùn)行(不能開始戰(zhàn)役,但還可以看簡報(bào)),目前用于四陣營的兩個(gè)結(jié)局關(guān)。
LongDescription=后面的是任務(wù)簡報(bào),里面用@可以換行。
Summary=后面的內(nèi)容可能是某句文本,但是沒有找到對應(yīng)位置,不填寫似乎也沒問題。
最后我們寫成的就是這個(gè)樣子:

進(jìn)游戲看到的效果就是這樣的:

所以,我們只要找到對應(yīng)戰(zhàn)役注冊的位置,然后看Scenario=后面的內(nèi)容,把自己的地圖名字改成一樣的放到根目錄,就可以通過運(yùn)行這個(gè)戰(zhàn)役來啟動(dòng)自己的地圖了,或者參考上面的方法直接把自己的地圖新增到戰(zhàn)役列表里。