星際殖民 MOD製作教程 製作自己的飛船組件
首先大家不要看到MOD製作就開始聯想到編程,算法,計算機語言。
ZERO發佈的教程關於給飛船製作新的組件其實並不需要C#之類的計算機語言和編程基礎,更不需要什麼算法 。 你只需要瞭解基礎的XML知識就可以了,我想很多網友經常修改XML檔案,對XML已經輕車熟路了,不輸給一個程序員。那麼開始正題。
這次教程我們以給遊戲中添加一個新的增強版的導彈發射器爲例子,進行逐步講解。
首先既然我們要製作一個新組件,那麼必然是先定義一個新組件的XML檔案,以讓遊戲識別。
SD關於所有飛船組件的定義在遊戲目錄ContentShipModules檔案夾中,一個新的組件涉及到很多屬性,比如組件類型(武器,護甲,護 盾),組件名字,組件耗電量等,這麼多的屬性,在沒有開發文檔之前,我們是不可能憑空創建的。所以我們直接在舊有的組件XML裏面改然後在另存爲就可以 了。
步驟:
1.開啟ContentShipModules檔案夾,找到檔案(遊戲默認的導彈發射器組件定義XML檔案)
2.在同一目錄下創建一個空白的xml檔案,取名爲
3.將遊戲默認的檔案裏面的內容全數複製到新建的檔案裏,儲存
我們創建的檔案內容如下(內容和原檔案完全相同)
接着介紹其中對於我們這次製作MOD極爲重要/需要改動的字段.
A. UID是每個組件的唯一標示符,通俗的說就像是每個人的名字一樣,如果遊戲要識別你製作的組件,你必須得給它取個獨一無二的新名字,不能與其他舊有的組件,或是其他MOD裏定義的新組件名字相同,既然是增強版的導彈發射器,我們就取名爲RocketLauncherEnchanced吧(XML檔案名必須與UID一致)
B. IconTexturePath是定義遊戲裏面組件要用到的圖像資源檔案,一 般都是Modules/資源名.這是一個相對路徑,它的絕對路徑是 遊戲目錄ContentTexturesModules。 關於給自己添加的組件定義及製作新的圖像 我會在2L講解。這裏使用默認屬性不修改,即遊戲會顯示會原版火箭發射器一樣的圖標。
C. NameIndex,DescriptionIndex 這兩個字段對應遊戲裏面組件的名字和詳細介紹2個文字的引用。引用的定義在遊戲目錄ContentLocalizationEnglish檔案夾的 GameText_檔案裏面。這個地方我自己在對着zero的教程製作的時候出了一個問題,導致添加組件之後遊戲老是彈錯。。。。調試半天才 發現,對於1.08版本來說,那個教程在這個地方已經過時。由於1.08版本遊戲添加了對德語的支援,所以zero放棄使用老的 ContentLocalization裏面的檔案放遊戲裏面的所有文字,而是使用這個目錄下新的ENGLISH目錄的檔案而產 生錯誤,對於德語文字時使用這個目下的GERMEN目錄下的XML檔案,所以1.08裏面對遊戲文字新加,修改,翻譯等操作應該全部在新的ENGLISH 目錄下的XML檔案裏進行。
那麼我們爲了給自己添加的組件在遊戲裏取個顯示的名字和組件詳細介紹,開啟ContentLocalizationEnglish檔案夾下的GameText_檔案,然後在最下面添加2個新的節點
如下圖:
Index節點給這個token定義一個唯一標識符,數字最好是4000以上,不能與原作者 zero已經定義過的標識符衝突,你可以使用編輯器的搜尋功能進行測試,比方說我用的windows文字編輯器開啟的這個XML檔案,你可以使用快速鍵 ctrl+f開啟搜尋功能,然後搜尋3888看上面ZERO有沒有定義這個數字,如果沒有 那麼我們就可以使用了。好了現在我們定義了3888,3889兩個字段,一個是新組件的名字 一個是介紹。 現在我們回到自己創建的,找到NameIndex節點把屬性改成3888,然後找到DescriptionIndex 把屬性改成3889.
然後我們在修改這個增強版火箭發射器的詳細遊戲屬性,比方說Mass對應他的質量是多少 我們可以把10改成8 ,Health字段它的生命值是多少我們可以改成120等等,最後我們自己定義的檔案
如圖示
好了,現在我們的新組件增強版火箭發射器算是完成了一大半,現在還剩下一個問題,這個武器在什麼科技研究完了之後纔會解鎖呢?
很明顯,我們並沒有告訴遊戲,這個組件的定位。
開啟ContentTechnology目錄,火箭發射器對應的是missli theory科技,所以我們開啟檔案,添加如下圖所示
ModuleUID這個字段對應組件定義檔案裏面的UID字段,這樣告訴遊戲新的火箭發射器在玩家研究了MissileTheory科技之後會解鎖。好了,需要改動的地方我們都該完了,
趕緊進遊戲去看看吧?
2L 講解如何給自己製作的組件添加自訂圖片
之所以將這部分分開到2樓是因爲要使用到VS2008開發工具將PNG之類的圖片檔案編譯成檔案,不過一樣不需要編程知識。
需要用到的工具1: vs2008 C#
工具2:XNA STUIO 3.1(這個不是執行時組件,而是遊戲開發組件)
_2/1/79/id=41111&pn=0&linkPage=
2個工具是正式版 完全免費,按照順序先裝VS2008 然後裝XNA 3.1,太晚了 碼字很累 睡覺 明天更新
在講匯入圖片之前,我們先說說設計模組圖片的一些規則,如下圖
遊戲裏面的每一個組件都是有大小規格的,導彈發射器是1X1格,而像其他的進階武器例如魚雷是2X5格。所以在匯入圖片之前我們應該先告訴遊戲程序 要製作的模組是什麼規格,1X1是默認規格 所以導彈發射器的XML並沒有定義,不過爲了規範我們可以自己加進去,並且定義爲1X1。遊戲使用的圖片素材對應的比例是 1格=16像素,即導彈發射器1X1的組件 我們需要製作一張16X16規格的圖片,而魚雷這種2X5的需要32X80大小的圖片。
下面開始講編譯圖片爲遊戲可讀的檔案
1.按照上面的下載地址,下載安裝VS2008和XNA3.1,然後點WINDOWS介面開始按鈕啓動VS2008,在左上角FILE下拉選單(圖1)->new project... 創建新的工程。
接着會出現如圖示
接着點擊圖2的XNA3.1選單,然後選擇圖3指示的Windows Game(3.1)項目類型,按右下角的OK,系統會爲你創建一個XNA 遊戲項目。
在執行上述操作的時候一定要記住圖4顯示的項目存儲位置(你也可以自定設定新的地址),因爲之後需要來這裏找編譯好的XNB檔案
然後出現下圖
左邊一大堆的代碼,不去管它,我們需要關心的是右邊紅框框裏的CONTENT內容。現在需要做的就是把電腦裏面我們做好的模組圖片拖到content裏面然後按F6就可以了
我使用遊戲內置的另一個1X1格的激光武器圖片來做樣例 將這個圖片拖到CONTENT裏面,然後按F6。如下圖
因爲我們沒有修改任何代碼,只是給項目加了一個圖片資源進行編譯 所以編譯是會透過的(圖左下角)
既然編譯成功了,現在我們就去之前記下來的項目地址去找到生成的資源檔案吧
好了,現在複製粘貼這個檔案到遊戲目錄ContentTexturesModules下
接着開啟1L教程我們製作的新組件定義檔案 ,改動圖像屬性,讓它指向我們自己製作的XNB資源
OK,進入遊戲看看吧?
什麼?新組件的圖片太囧?額 對於不會作圖的人 我已經盡力了。。。
-
第八章:重逢之花(2) 最終幻想7重製版全劇情流程視頻攻略 劇情向解說視頻
第八章:重逢之花(2)...
-
流程試玩:傲澤要塞 鏟子騎士口袋地牢攻略 上手指南流程攻略試玩
流程試玩:傲澤要塞這一關有一種新怪,金甲護衛,打中之後舉盾免傷,得換個方向再打,或者打旁邊一隻觸發連鎖。如果有矛的話就可以直接戳死,但是注意還是會掉血。最好前面有東西擋的時候戳,可以白嫖一點血。矛的效果就是可以打到目標後面一格的東西。這關後面還會出一種獅...
-
黃巾之亂:交趾守衛戰 真三國無雙8帝國攻略 系統玩法詳解及劇本流程攻略
交趾守衛戰西邊的孟獲趁我們不備開始進攻交趾,同樣的方法,爲了降低難度,派重兵防守。孟獲軍有祝融出場,這傢伙是強力武將,務必將其擊敗。戰鬥中,孟獲召喚巨熊,將其擊敗可以削弱敵軍。正式去打巨熊的時候,先將周圍的敵軍武將消滅,然後一對一,巨熊攻速很慢,但威力巨大,血也很...
-
鐮鼬龍王 怪物獵人崛起全怪物圖鑑 怪物肉質弱點及屬性掉落一覽
1、鐮鼬龍王①鐮鼬龍王肉質/抗性②鐮鼬龍王異常狀態效果...