您的位置: 單機(jī) > 攻略 > 游戲秘籍 > 攻略詳情

星際殖民 MOD制作教程 制作自己的飛船組件

時(shí)間:2013-05-14 13:57:59
  • 來源:3DM論壇-fuku
  • 作者:fcz1234
  • 編輯:ChunTian
0

首先大家不要看到MOD制作就開始聯(lián)想到編程,算法,計(jì)算機(jī)語言。

ZERO發(fā)布的教程關(guān)于給飛船制作新的組件其實(shí)并不需要C#之類的計(jì)算機(jī)語言和編程基礎(chǔ),更不需要什么算法 。 你只需要了解基礎(chǔ)的XML知識(shí)就可以了,我想很多網(wǎng)友經(jīng)常修改XML文件,對(duì)XML已經(jīng)輕車熟路了,不輸給一個(gè)程序員。那么開始正題。

這次教程我們以給游戲中添加一個(gè)新的增強(qiáng)版的導(dǎo)彈發(fā)射器為例子,進(jìn)行逐步講解。

首先既然我們要制作一個(gè)新組件,那么必然是先定義一個(gè)新組件的XML文件,以讓游戲識(shí)別。

SD關(guān)于所有飛船組件的定義在游戲目錄\Content\ShipModules文件夾中,一個(gè)新的組件涉及到很多屬性,比如組件類型(武器,護(hù)甲,護(hù) 盾),組件名字,組件耗電量等,這么多的屬性,在沒有開發(fā)文檔之前,我們是不可能憑空創(chuàng)建的。所以我們直接在舊有的組件XML里面改然后在另存為就可以 了。

步驟:

1.打開Content\ShipModules文件夾,找到RocketLauncher.xml文件(游戲默認(rèn)的導(dǎo)彈發(fā)射器組件定義XML文件)

2.在同一目錄下創(chuàng)建一個(gè)空白的xml文件,取名為RocketLauncherEnchanced.xml

3.將游戲默認(rèn)的RocketLauncher.xml文件里面的內(nèi)容全數(shù)復(fù)制到新建的RocketLauncherEnchanced.xml文件里,保存

我們創(chuàng)建的RocketLauncherEnchanced.xml文件內(nèi)容如下(內(nèi)容和原文件完全相同)

rl.jpg

接著介紹其中對(duì)于我們這次制作MOD極為重要/需要改動(dòng)的字段.

A. UID是每個(gè)組件的唯一標(biāo)示符,通俗的說就像是每個(gè)人的名字一樣,如果游戲要識(shí)別你制作的組件,你必須得給它取個(gè)獨(dú)一無二的新名字,不能與其他舊有的組件,或是其他MOD里定義的新組件名字相同,既然是增強(qiáng)版的導(dǎo)彈發(fā)射器,我們就取名為RocketLauncherEnchanced吧(XML文件名必須與UID一致)

B. IconTexturePath是定義游戲里面組件要用到的圖像資源.xnb文件,一 般都是Modules/資源名.xnb.這是一個(gè)相對(duì)路徑,它的絕對(duì)路徑是 游戲目錄\Content\Textures\Modules。 關(guān)于給自己添加的組件定義及制作新的圖像 我會(huì)在2L講解。這里使用默認(rèn)屬性不修改,即游戲會(huì)顯示會(huì)原版火箭發(fā)射器一樣的圖標(biāo)。

C. NameIndex,DescriptionIndex 這兩個(gè)字段對(duì)應(yīng)游戲里面組件的名字和詳細(xì)介紹2個(gè)文本的引用。引用的定義在游戲目錄\Content\Localization\English文件夾的 GameText_EN.xml文件里面。這個(gè)地方我自己在對(duì)著zero的教程制作的時(shí)候出了一個(gè)問題,導(dǎo)致添加組件之后游戲老是彈錯(cuò)。。。。調(diào)試半天才 發(fā)現(xiàn),對(duì)于1.08版本來說,那個(gè)教程在這個(gè)地方已經(jīng)過時(shí)。由于1.08版本游戲添加了對(duì)德語的支持,所以zero放棄使用老的 Content\Localization里面的English.xml文件放游戲里面的所有文本,而是使用這個(gè)目錄下新的ENGLISH目錄的文件而產(chǎn) 生錯(cuò)誤,對(duì)于德語文本時(shí)使用這個(gè)目下的GERMEN目錄下的XML文件,所以1.08里面對(duì)游戲文本新加,修改,翻譯等操作應(yīng)該全部在新的ENGLISH 目錄下的XML文件里進(jìn)行。

那么我們?yōu)榱私o自己添加的組件在游戲里取個(gè)顯示的名字和組件詳細(xì)介紹,打開Content\Localization\English\文件夾下的GameText_EN.xml文件,然后在最下面添加2個(gè)新的節(jié)點(diǎn)

如下圖:

nd.jpg

Index節(jié)點(diǎn)給這個(gè)token定義一個(gè)唯一標(biāo)識(shí)符,數(shù)字最好是4000以上,不能與原作者 zero已經(jīng)定義過的標(biāo)識(shí)符沖突,你可以使用編輯器的搜索功能進(jìn)行測(cè)試,比方說我用的windows文本編輯器打開的這個(gè)XML文件,你可以使用快捷鍵 ctrl+f打開搜索功能,然后搜索3888看上面ZERO有沒有定義這個(gè)數(shù)字,如果沒有 那么我們就可以使用了。好了現(xiàn)在我們定義了3888,3889兩個(gè)字段,一個(gè)是新組件的名字 一個(gè)是介紹。 現(xiàn)在我們回到自己創(chuàng)建的RocketLauncherEnchanced.xml,找到NameIndex節(jié)點(diǎn)把屬性改成3888,然后找到DescriptionIndex 把屬性改成3889.

然后我們?cè)谛薷倪@個(gè)增強(qiáng)版火箭發(fā)射器的詳細(xì)游戲?qū)傩?,比方說Mass對(duì)應(yīng)他的質(zhì)量是多少 我們可以把10改成8 ,Health字段它的生命值是多少我們可以改成120等等,最后我們自己定義的RocketLauncherEnchanced.xml文件

如圖示 rke.jpg

好了,現(xiàn)在我們的新組件增強(qiáng)版火箭發(fā)射器算是完成了一大半,現(xiàn)在還剩下一個(gè)問題,這個(gè)武器在什么科技研究完了之后才會(huì)解鎖呢?

很明顯,我們并沒有告訴游戲,這個(gè)組件的定位。

打開Content\Technology\目錄,火箭發(fā)射器對(duì)應(yīng)的是missli theory科技,所以我們打開MissileTheory.xml文件,添加如下圖所示

t.jpg

ModuleUID這個(gè)字段對(duì)應(yīng)組件定義文件里面的UID字段,這樣告訴游戲新的火箭發(fā)射器在玩家研究了MissileTheory科技之后會(huì)解鎖。好了,需要改動(dòng)的地方我們都該完了,

趕緊進(jìn)游戲去看看吧?

友情提示:支持鍵盤左右鍵"←""→"翻頁
9.4
已有1人評(píng)分 您還未評(píng)分!
  • 類型:即時(shí)戰(zhàn)略
  • 發(fā)行:Zero Sum Games
  • 發(fā)售:2013-04-27
  • 開發(fā):Zero Sum Games
  • 語言:簡(jiǎn)中 | 英文
  • 平臺(tái):PC
  • 標(biāo)簽:科幻,太空

玩家點(diǎn)評(píng) 0人參與,0條評(píng)論)

收藏
違法和不良信息舉報(bào)
分享:

熱門評(píng)論

全部評(píng)論

3DM自運(yùn)營(yíng)游戲推薦 更多+