《死亡島》MOD製作方法
從上手到今天,黑天白地的聯機了好幾天,77任務也完成了,骷髏也找到了,4號小屋也去參觀了,死亡島可以告一段落。
從上周日遊戲到手,花了兩個小時找到了MOD的方法,之後就一直研究各種mod的方式,但是不敢放出,生怕影響了聯機的平衡。
這兩天國內外各種暴力mod紛紛發布,那我也就整理一下我所知的MOD技巧給大家分享。
本文並不算一份基礎教程,更像是給稍有一些其他遊戲mod經驗的modder看的一份介紹性文檔。
有些同志會發說文中的一些檔案找不到、檔案夾沒有之類的問題,那麽請你仔細閱讀第一段基礎知識,雖然不算完全小白化的說明,但是還是應該可以看懂的。
=========================================================================================================
基礎知識
首先,現有的覆蓋遊戲壓縮包的mod方式是錯誤的,這樣破壞了遊戲的源檔案,而且需要修改dll檔案,使用不同破解的同志經常會出現問題。
真正的方法如下(你再也不用去修改什麽dll了):
在遊戲dead island\DI\Out\目錄下建立data檔案夾。然後將壓縮包內需要mod的檔案拷貝進去。如果該檔案壓縮包中的目錄是:data\skills\xian_skills.xml,那麽就將xian_skills.xml拷貝至dead island\DI\Out\data\skills\xian_skills.xml
不同的data檔案裡面的檔案架結構是一樣的,不管是data0還是data2,裡面的檔案只要在data\檔案夾下,都放在至dead island\DI\Out\data\裡面的對應位置。
(遊戲dead island\DI目錄下的*.pak檔案可以使用rar軟體解壓縮,遊戲原檔案就在裡面,做這一切前備份工作請自己做好)
此遊戲是mod開放的,至少破解版是mod開放的。遊戲總是以dead island\DI\Out\data下的檔案優先。
以後mod只需將要修改的檔案放在這裡就好了,包括漢化也應該這麽做。
==========================================================================================================
關於聯機
關於聯機時mod能不能生效,怎麽生效,請自行測試。
=========================================================================================================
技能修改
現在介紹一下人物技能的修改:
人物技能檔案在data\Skills\ 檔案夾中,定義了人物更新經驗、技能點給予、人物技能效果、基礎人物能力更新等內容。mod這個可以讓你的人物擁有全新的技能,更新的時候擁有更多的技能點,調整物品欄數目的解鎖,人物屬性提升成都,調整更新難度等等。
首先介紹人物技能檔案,以黑妹為例:
黑妹的檔案為:purna_levels.xml、purna_skills.xml,
人物更新
其中level檔案定義了黑妹的更新經驗和技能點獎勵。以一到五級為例:
<level id="1">
<prop n="ExpToNextLevel" v="2000"/> //到下一級的經驗
<prop n="MaxStamina" v="0.8"/> //本級時的最大耐力
<prop n="QuickSlotsCount" v="3"/> //本級別可以擁有的武器槽位
<prop n="InventorySize" v="12"/> //本級別的物品欄大小
<prop n="MaxHealth" v="110"/> //本級別的血量
</level>
<level id="2">
<prop n="ExpToNextLevel" v="2220"/>
<prop n="AllowedSkillsCount" v="1"/> //說明到二級時所能擁有的技能點
<prop n="MaxHealth" v="120"/> //此時絕對血量變為120
</level>
<level id="3">
<prop n="ExpToNextLevel" v="2464"/>
<prop n="AllowedSkillsCount" v="2"/>
<prop n="MaxHealth" v="130"/>
</level>
<level id="4">
<prop n="ExpToNextLevel" v="2735"/>
<prop n="AllowedSkillsCount" v="3"/>
<prop n="MaxHealth" v="140"/>
</level>
<level id="5">
<prop n="ExpToNextLevel" v="3036"/>
<prop n="AllowedSkillsCount" v="4"/>
<prop n="MaxHealth" v="150"/>
<prop n="QuickSlotsCount" v="5"/> //此時武器欄變為5個
人物技能
多謝zyshiyong提醒,我忘了提醒:技能的描述式獨立的文本,不會隨著參數的修改而改變,參數修改後進遊戲試試就可以看見效果,但是技能的描述是不會變的。
skill檔案定義了人物的技能,這是個重點檔案,經常有朋友問我,你的黑妹為什麽會回旋鏢之類的問題,關鍵就在這裡了。此處以黑妹生存系第一個技能的修改為例:
<skill id="BoostAura1" cat="Tree3" max_level="1" tier="0"> //說明是第三個技能樹,只能更新一次,是0級技能
<effect id="BoostAuraRange" change="1500"/> //定義了光環的半徑,部門是厘米
<effect id="BoostAuraTeamFactor" change="0.35"/> //定義了對隊友的加強因子,我增加到35%
<effect id="ItemBuyFactor" change="-0.99"/> //這裡開始就是我增加的屬性了,這個是買東西降價,打0.1折,此技能來自細妹
<effect id="InventorySize" change="20"/> //這裡代表背包太空增量,我增加了20
<effect id="NearByExperiensceMul" change="-25"/> //這裡我修改了經驗獲取buff,我不愛更新,所以定義為-2500%,願意更新的人可以用正值
<effect id="TeamLootDropChance" change="5.0"/> //這裡定義了物品掉落幾率,我增加了500%
<effect id="LootItemWeightMod" change="5.0"/> //這裡定義了珍惜物品出現權重加成,同樣我定義了500%
<effect id="FuryPointsNeededToActivate" change="-0.9"/> //這裡是達到狂怒煉獄所需的怒氣修改,我改為只需正常的10%
<effect id="FuryLevel" change="9"/> //這裡是狂怒煉獄等級,就是你怒後可以釋放幾次技能,正常升滿是3次,直接改為9次
<effect id="BoomerangProb" change="1.0"/> //這個是回旋鏢技能,1.0表示100%飛鏢回歸
<effect id="ThrowMaxDist" change="25000"/> //投擲距離增量,想成為李尋歡必須要射的遠
<effect id="PenaltyForEnemiesLvlNuliffy" change="50"/> //越級攻擊懲罰降低,50表示越50級攻擊也不會miss
<effect id="MedPackEffectivness" change="5.0"/> //醫療包效果調整為500%,一個小醫療包就能補滿
</skill>
這裡的修改可以參考其他角色的skill技能檔案,可以讓你的人物實現所有人物的全技能,例如火器精確度上升、修補物品便宜、加強物品耐久、百分百原地復活神馬的都可以(每個人狂怒煉獄效果仍然是獨特的,不在這裡修改)
其他人物特性(例如攜彈量、跑路速度)
此外還有重要的default_levels.xml檔案,定義了人物的基本屬性,例如回血、視角大小、各種狀態下的行動速度、跳躍高度等等,這裡我並沒有進行修改,如果你想來個北斗亂入,這裡的代碼是需要研究一下的,好在可讀性還算不錯。
這裡隻給出幾個大家最喜歡的參數
最大子彈攜帶量:
<prop n="MaxAmmoPistol" v="5000"/>
<prop n="MaxAmmoRifle" v="6000"/>``
<prop n="MaxAmmoShotgun" v="2000"/>
<prop n="MaxAmmoSniper" v="1500"/>
你想做一個痛快的槍手的話,除了這裡,你還需要有一位出售所有子彈的商人(修改shop檔案),以及讓子彈便宜一些更多一些(修改Inventory.scr),或者乾脆用技能效果來達到這兩個目的(子彈百分百回收)
視場大小:
<prop n="CameraDefaultFOV" v="85"/>
85是個不錯的視場大小,但是槍支的後部會有一點點空白,這個看大家個人喜好了
死亡懲罰:
<prop n="PenaltyOnDeath" v="1"/>
將此數值改為0,死後不掉錢
跑動速度和跳躍高度: