StarDrive (星際殖民) MOD製作教學

14 5 月

廣告

來源:遊俠論壇

作者:vancat007

 

第一大家不要看到MOD製作就開始聯想到編程,算法,計算機語言。

ZERO發布的教程關於給飛船製作新的組件其實並不需要C#之類的計算機語言和編程基礎,更不需要什麼算法。 你只需要了解基礎的XML知識就可以了,我想很多網友經常修改XML文件,對XML已經輕車熟路了,不輸給一個程序員。 那麼開始正題。

 

這次教程我們以給遊戲中添加一個新的增強版的導彈發射器為例子,進行逐步講解。

 

首先既然我們要製作一個新組件,那麼必然是先定義一個新組件的XML文件,以讓遊戲識別。

 

SD關於所有飛船組件的定義在遊戲目錄\Content\ShipModules文件夾中,一個新的組件涉及到很多屬性,比如組件類型(武器,護甲,護盾),組件名字,組件耗電量等,這麼多的屬性,在沒有開發文檔之前,我們是不可能憑空創建的。 所以我們直接在舊有的組件XML裡面改然後在另存為就可以了。

 

步驟:

 

1.打開Content\ShipModules文件夾,找到RocketLauncher.xml文件(遊戲默認的導彈發射器組件定義XML文件)

 

2.在同一目錄下創建一個空白的xml文件,取名為RocketLauncherEnchanced.xml

 

3.將游戲默認的RocketLauncher.xml文件裡面的內容全數複製到新建的RocketLauncherEnchanced.xml文件裡,保存

 

我們創建的RocketLauncherEnchanced.xml文件內容如下(內容和原文件完全相同)

 

 

接著介紹其中對於我們這次製作MOD極為重要/需要改動的字段.

 

A. UID是每個組件的唯一標示符,通俗的說就像是每個人的名字一樣,如果遊戲要識別你製作的組件,你必須得給它取個獨一無二的新名字,不能與其他舊有的組件,或是其他MOD裡定義的新組件名字相同,既然是增強版的導彈發射器,我們就取名為RocketLauncherEnchanced吧(XML文件名必須與UID一致)

 

B. IconTexturePath是定義遊戲裡面組件要用到的圖像資源.xnb文件,一般都是Modules/資源名.xnb.這是一個相對路徑,它的絕對路徑是遊戲目錄\Content\Textures\Modules。 關於給自己添加的組件定義及製作新的圖像我會在2L講解。 這裡使用默認屬性不修改,即遊戲會顯示會原版火箭發射器一樣的圖標。

 

C. NameIndex,DescriptionIndex 這兩個字段對應遊戲裡面組件的名字和詳細介紹2個文本的引用。 引用的定義在遊戲目錄\Content\Localization\English文件夾的GameText_EN.xml文件裡面。 這個地方我自己在對著zero的教程製作的時候出了一個問題,導致添加組件之後遊戲老是彈錯。 。 。 。 調試半天才發現,對於1.08版本來說,那個教程在這個地方已經過時。 由於1.08版本遊戲添加了對德語的支持,所以zero放棄使用老的Content\Localization裡面的English.xml文件放遊戲裡面的所有文本,而是使用這個目錄下新的ENGLISH目錄的文件而產生錯誤,對於德語文本時使用這個目下的GERMEN目錄下的XML文件,所以1.08裡面對遊戲文本新加,修改,翻譯等操作應該全部在新的ENGLISH目錄下的XML文件裡進行。

 

那麼我們為了給自己添加的組件在遊戲裡取個顯示的名字和組件詳細介紹,打​​開Content\Localization\English\文件夾下的GameText_EN.xml文件,然後在最下面添加2個新的節點

 

如下圖:

 

 

Index節點給這個token定義一個唯一標識符,數字最好是4000以上,不能與原作者zero已經定義過的標識符衝突,你可以使用編輯器的搜索功能進行測試,比方說我用的windows文本編輯器打開的這個XML文件,你可以使用快捷鍵ctrl+f打開搜索功能,然後搜索3888看上面ZERO有沒有定義這個數字,如果沒有那麼我們就可以使用了。 好了現在我們定義了3888,3889兩個字段,一個是新組件的名字一個是介紹。 現在我們回到自己創建的RocketLauncherEnchanced.xml,找到NameIndex節點把屬性改成3888,然後找到DescriptionIndex 把屬性改成3889.

 

然後我們在修改這個增強版火箭發射器的詳細遊戲屬性,比方說Mass對應他的質量是多少我們可以把10改成8 ,Health字段它的生命值是多少我們可以改成120等等,最後我們自己定義RocketLauncherEnchanced.xml文件

 

 

如圖示

 

好了,現在我們的新組件增強版火箭發射器算是完成了一大半,現在還剩下一個問題,這個武器在什麼科技研究完了之後才會解鎖呢?

 

很明顯,我們並沒有告訴遊戲,這個組件的定位。

 

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

 

 

ModuleUID這個字段對應組件定義文件裡面的UID字段,這樣告訴遊戲新的火箭發射器在玩家研究了MissileTheory科技之後會解鎖。 好了,需要改動的地方我們都該完了,

 

 

趕緊進遊戲去看看吧?

 


發佈留言

發佈留言必須填寫的電子郵件地址不會公開。