【攻略】MOD衝突合併教學

很多mod都會動到rpg_param.xml這個文件
早期版本常常會有相衝突的情況
這篇文章教你如何將多個使用到rpg_param.xml的mod集成成一個新的mod
一、前置作業 – 提取遊戲中的原始xml檔
  1. 首先你讓文件能「顯示擴展名」,方法自行Google。
  2. 新建一個文件夾,命名源文件
  3. 到\KingdomComeDeliverance\Data\里,複製Tables.pak檔丟到源文件文件夾
  4. 把Tables.pak改名成Tables.zip後用解壓縮軟體開啟
  5. 取出\Libs\Tables\rpg\裡頭的rpg_param.xml跟perk_rpg_param_override.xml丟進源文件文件夾
  6. 這兩個文件在步驟五會使用到。
二、前置作業 – 下載基本MOD
  1. 接著我們需要一個基本mod,下載基本MOD好處是只要修改已有文件即可,當然你要自己開記事本從頭寫起也是可以。這邊我們拿這個做為基本MOD,Nexus網站使用方法自行Google。
  2. 下載好後再新建一個文件夾,命名param_demo (或你想要的英文名做為mod名稱)。
  3. 把下載壓縮檔里的文件丟進param_demo文件夾里。
  4. 文件夾格式會是這樣

——————————————————–
param_demo文件夾
 - Data文件夾
  - IncreasedCarryWeight.pak    
 - mod.manifest
——————————————————–

三、修改mod.manifest
  1. 用記事本打開mod.manifest。
  2. 把<name>Increased Carry Weight</name>改成<name>param_demo</name>
  3. 其餘信息像作者的隨意。
四、取出mod的rpg_param.xml
  1. 把IncreasedCarryWeight.pak  改名 param_demo.zip並打開,取出rpg_param.xml。
  2. 接著重點來了,把rpg_param.xml改名「rpg_param__param_demo.xml」。注意param_demo後是接兩個下底線再接mod.manifest裡頭<name>的值。這是最新版才有mod格式,讓你可以只修想要的參數而不會覆蓋其他無關參數的值。
  3. 接著打開rpg_param__param_demo.xml
  4. 你可以看到   

——————————————————–   
<rows>
      <row rpg_param_key=”BaseInventoryCapacity” rpg_param_value=”150″ />
<rows>
——————————————————–
「<row rpg_param_key…..」這一行就是此mod的做的修改內容,表示把基本負重修改成150。

註:早期的mod都是直接使用內置的rpg_param.xml,這會導致後面的mod會覆蓋前面的mod的值,結果就是兩個mod有衝突只能擇一使用。因此,新版的做法是只需要放上修改過的值,這樣就不會覆蓋舊值的情況發生。
五、比對原始xml找出修改內容

這邊拿採集範圍mod做範例

  1. 下載好後照前述方法提取出此mod的rpg_param.xml並用記事本打開。
  2. 你會發現這個xml有100多行,要找出修改哪一條也太累了。這時候要靠比對軟體像是WinMerge找出兩個相異的行數,載點跟用法也請自行google。
  3. 接著你把步驟一提取的原始rpg_param.xml文件,拿來跟mod的rpg_param.xml做比對。
  4. 經過WinMerge比對後找出有修改的行數有兩個

——————————————————–   
      <row rpg_param_key=”BaseInventoryCapacity” rpg_param_value=”999999999″ />
      <row rpg_param_key=”HerbGatherSkillToRadius” rpg_param_value=”25″ />
——————————————————–

第一個我們已經知道是修改負重所以不用理他,把第二行複製並粘貼到你的mod文件夾裡頭rpg_param__param_demo.xml中,結果應該會是這樣

——————————————————–   
<rows>
      <row rpg_param_key=”BaseInventoryCapacity” rpg_param_value=”150″ />
      <row rpg_param_key=”HerbGatherSkillToRadius” rpg_param_value=”25″ />
<rows>
——————————————————–
這樣就表示你把採集範圍mod合併到你自己的mod中了。完成後保存文件。
六、修改perk_rpg_param_override
  1. 有的mod會動到其他文件 像是這個解除修理耐久度限制的mod:
  2. 你會發現pak檔裡頭多了一個perk_rpg_param_override.xml。
  3. 按照步驟二的方式,先複製這個文件到你的mod文件夾並改名成新格式perk_rpg_param_override__param_demo.xml
  4. 再來按照步驟五的方法比對源文件找出修改內容為

——————————————————–   
      <row perk_id=”01c3b32a-5751-4c98-b6ab-258d02370382″ rpg_param_key=”RepairKitItemHealthBestLimit” rpg_param_value=”” />
      <row perk_id=”01c3b32a-5751-4c98-b6ab-258d02370382″ rpg_param_key=”RepairKitItemHealthDefaultLimit” rpg_param_value=”” />
——————————————————–

記住新版的mod格式你只需要保留有修改的行數,所以把其他不需要的行數刪掉後會長這樣
——————————————————–   
<rows>
       <row perk_id=”01c3b32a-5751-4c98-b6ab-258d02370382″ rpg_param_key=”RepairKitItemHealthBestLimit” rpg_param_value=”” />
      <row perk_id=”01c3b32a-5751-4c98-b6ab-258d02370382″ rpg_param_key=”RepairKitItemHealthDefaultLimit” rpg_param_value=”” />
<rows>
——————————————————–
完成後保存文件。

七、對應perk_rpg_param_override修改rpg_param
再來比較特別的是只要perk_rpg_param_override裡頭有的值,在rpg_param文件也要有對應值,你可以看一下源文件的rpg_param.xml里是沒有這兩個值的,所以我們的rpg_param__param_demo.xml要補進這兩個值,但要刪除perk_id,結果會是這樣

——————————————————–   

<rows>
      <row rpg_param_key=”BaseInventoryCapacity” rpg_param_value=”150″ />
      <row rpg_param_key=”HerbGatherSkillToRadius” rpg_param_value=”25″ />
      <row rpg_param_key=”RepairKitItemHealthBestLimit” rpg_param_value=”” />
      <row rpg_param_key=”RepairKitItemHealthDefaultLimit” rpg_param_value=”” />
<rows>
——————————————————–
八、將參數調整到你要的值
調整一下剛剛集成進你的mod的內容到你想要的值
負重:mod值為150,你想要無限負重可以改為9000或
採集距離:mod值為25,是原始值的100倍,這半徑可能有幾百公尺,採集一次量就破千,建議1.25最好,大概半徑是2公尺,可以採集到你眼前看到的同類藥草。
解除修理限制:他的值留空,我是把它改為0,正常運作。
九、打包xml成pak
  1. 上述都完成後準備收尾,開啟param_demo.zip。進到\Libs\Tables\rpg\文件夾
  2. 把修改好的rpg_param__param_demo.xml跟perk_rpg_param_override__param_demo.xml壓進rpg文件夾里,注意要rpg_param.xml跟rpg_param.tbl是舊的文件,必須刪掉
  3. 打包好的zip檔應該如下:
——————————————————–
Libs文件夾
 - Tables文件夾
  - rpg文件夾
   - rpg_param__param_demo.xml
   - perk_rpg_param_override__param_demo.xml
——————————————————–
完成後把param_demo.zip改名為param_demo.pak
十、大功告成

完成後檢查一下:

  1. mod.manifest裡頭的<name>值是param_demo
  2. Data文件夾里的pak文件名是param_demo.pak
  3. pak裡頭的xml文件,文件名末端是「__param_demo」結尾
最終完成的文件格式如下

——————————————————–
param_demo文件夾
 - Data文件夾
  - param_demo.pak
 - mod.manifest
——————————————————–

注意,如果下載的mod是采新版格式是沒問題,但如果仍為舊版格式,又有使用到rpg_param.xml,就先把它集成進你的mod以免發生衝突。確認mod無衝突後就能進遊戲做測試了。
本文來自網路,不代表3樓貓立場,轉載請註明出處:https://www.3loumao.org/8430.html?variant=zh-tw
返回頂部