MOD制作初级教程 第二版 update 20240510
本帖最后由 saintpietro414 于 2024-5-10 15:31 编辑秉着20年不修改不玩游戏的传统,花了两个小时翻N网络,现在介绍庄园领主的初级mod修改教程照搬
https://www.nexusmods.com/manorlords/mods/60?tab=posts
https://www.nexusmods.com/manorlords/mods/65?tab=posts&BH=0
两位作者的研究
1 下载两个工具repak 和UAssetGUI
https://github.com/trumank/repak
https://github.com/atenfyr/UAssetGUI
2 解包pak文件以warbow2xmod作为例子
(1)将需要解包的pak放入解压缩后的repak文件夹
(2)在repak文件夹的地址栏内输入cmd打开控制台,可现在notepad上写好后CTRL V,输入:
repak.exe --aes-key 0xD7D2FFA2744D18A7B84DFF09591C212C2068413A23BA3967F9890A6654989321 unpack WarBow2x.pak (pak文件名称)
即可在repak文件夹内得到解包的文件夹及里面的DT_Items.uasset,这个文件里控制着所有物品项目
3 用UAssetGUI转换uasset文件到JSON文件进行修改
打开UAssetGUI,右上角选择引擎版本,这里选了4.27,打开repak里的DT_Items.uasset,选择另存为,在文件类型下选择Json, 得到一个DT_Items.JSON,这样就可以用Notepad修改
拿WarBow2x这个mod举例子,搜索"Value": "warbows"看到下面攻击8 (原本是4),射程8500,鉴于弓箭手实在刮痧,改成攻击12,射程12000
{
"$type": "UAssetAPI.PropertyTypes.Objects.FloatPropertyData, UAssetAPI",
"Value": 8.0,
"Name": "rangedAtt",
"DuplicationIndex": 0
},
{
"$type": "UAssetAPI.PropertyTypes.Objects.FloatPropertyData, UAssetAPI",
"Value": "+0",
"Name": "def",
"DuplicationIndex": 0
},
{
"$type": "UAssetAPI.PropertyTypes.Objects.FloatPropertyData, UAssetAPI",
"Value": "+0",
"Name": "range",
"DuplicationIndex": 0
},
{
"$type": "UAssetAPI.PropertyTypes.Objects.FloatPropertyData, UAssetAPI",
"Value": 8500.0,
"Name": "shootingRange",
"DuplicationIndex": 0
},
4 将JSON转换回到uasset, 与上面同样方法在UAssetGUI里将DT_Items.JSON另存为DT_Items.uasset文件
5 回到repak中打包成PAK,文件夹内打开cmd,输入repak.exe pack "WarBow2x"
这样就得到修改好了的pak mod文件
6 放入\ManorLords\Content\Paks\~mods
修改教程:
1 物品修改 DT_Items.JSON
武器修改
搜索"Value": "weapons_polearms" 以长柄斧枪为例
{
"$type": "UAssetAPI.PropertyTypes.Objects.FloatPropertyData, UAssetAPI",
"Value": 2.0,
"Name": "att",
"DuplicationIndex": 0
},
防御"+0" 去掉" " 改成"Value": 10 这样长柄民兵就能多出10的防御
{
"$type": "UAssetAPI.PropertyTypes.Objects.FloatPropertyData, UAssetAPI",
"Value": "+0",
"Name": "def",
"DuplicationIndex": 0
},
同理block指的是远程防御
{
"$type": "UAssetAPI.PropertyTypes.Objects.FloatPropertyData, UAssetAPI",
"Value": "+0",
"Name": "block",
"DuplicationIndex": 0
},
"Value": "mail_armor" 链甲
"Value": "gambesons" 棉甲
"Value": "helmets_militia_tier0" 头盔
"Value": "armour_retinue_tier3_variations" 板甲
这些数据理论上都是敌我通用的,但目前AI不出长戟民兵,所以我的修改集中在weapons_polearms
2 产量修改:DT_Items.JSON
举例木炭 "Value": "Charcoal"找到下面"Name": "craftingOutput",产出 amt指的是amount数量
"Value": 2 代表用1个柴火产出2个木炭,改成4就等于产能翻倍
"Value": [
{
"$type": "UAssetAPI.PropertyTypes.Structs.StructPropertyData, UAssetAPI",
"StructType": "Good",
"SerializeNone": true,
"StructGUID": "{00000000-0000-0000-0000-000000000000}",
"Name": "craftingOutput",
"DuplicationIndex": 0,
"Value": [
{
"$type": "UAssetAPI.PropertyTypes.Objects.IntPropertyData, UAssetAPI",
"Name": "type",
"DuplicationIndex": 0,
"Value": 13
},
{
"$type": "UAssetAPI.PropertyTypes.Objects.IntPropertyData, UAssetAPI",
"Name": "amt",
"DuplicationIndex": 0,
"Value": 2
},
还有比如经常紧缺的
"Value": "Ale" 啤酒
"Value": "Malt" 麦芽
3 仓库修改:buildingStats.json
举例粮仓 "Value": "Granary"
经过试验验证, "workerTypes" 下面的6代表工人数量,可改成8
"Value": [
{
"$type": "UAssetAPI.PropertyTypes.Structs.Vector4PropertyData, UAssetAPI",
"Name": "workerTypes",
"DuplicationIndex": 0,
"X": "+0",
"Y": 6.0,
"Z": "+0",
"W": "+0"
}
]
},
storageLimitPantry 2500 就是大型粮仓的存储量
{
"$type": "UAssetAPI.PropertyTypes.Objects.IntPropertyData, UAssetAPI",
"Name": "storageLimitPantry",
"DuplicationIndex": 0,
"Value": 2500
},
每个建筑都有自己的存储量
"Name": "storageLimitGeneric", 通用存储
"Name": "storageLimitLarge", 大型原木存储
"Name": "storageLimitPantry",食品存储
建议主要改一下
"Value": "Granary" 粮仓
"Value": "sawpit" 锯木坑
"Value": "Storehouse" 仓库
"Value": "logging_camp" 伐木
其他生产设施的存储改得很大后可能会破坏游戏的生产物流机制
特别是每一个级别的堡地的存储建议不要修改,
"Value": "residentialPlot_lv1"
"Value": "residentialPlot_lv2"
"Value": "residentialPlot_lv3"
经测试改了很大后会产生苹果萝卜鸡蛋堆在房子里仓库不收货的问题,可能和这个游戏劳动力分配优先级是生产高于送货,家庭副业只有满仓库后才触发运输
4 庄园塔楼数量
"Value": "Mano_Keep_LV1"
下面找到N网上4个塔楼的mod就改了这里改成"Value": 4
{
"$type": "UAssetAPI.PropertyTypes.Objects.IntPropertyData, UAssetAPI",
"Name": "maxInRegion",
"DuplicationIndex": 0,
"Value": 1
},
5 雇佣兵修改DT_MercenaryCompanies.json每个佣兵团的名称下
都有这样的兵牌结构,3倍5倍佣兵mod就是将兵牌复制黏贴,注意"Name": "0", 1 -2 -3 这样编号,注意最后一个兵牌}后要去掉,号
{
"$type": "UAssetAPI.PropertyTypes.Objects.NamePropertyData, UAssetAPI",
"Name": "0",
"DuplicationIndex": 0,
"Value": "mercenary_infantry"
},
{
"$type": "UAssetAPI.PropertyTypes.Objects.NamePropertyData, UAssetAPI",
"Name": "1",
"DuplicationIndex": 0,
"Value": "mercenary_infantry"
},
}
]
"Value": "hildebolts_army" 敌对男爵部队
"Value": "hildebolts_army_large" 最后一块地出的大型部队
我机器还可以,40队兵没问题,但出于真实的话,欧洲小领主之间的村斗出动300步兵已经很不得了了UI也顶多20队
其他修改方式欢迎大家慢慢探索
感谢分享 感谢分享,大佬牛B 修改后是不是敌我双方所有类型的弓箭手都有效? haoailin002 发表于 2024-5-4 18:42
修改后是不是敌我双方所有类型的弓箭手都有效?
当然,目前没有专属的兵种 谢谢分享 66666666666666 'repak.exe' 不是内部或外部命令,也不是可运行的程序
或批处理文件。
:dizzy: 已经鲜有 发表于 2024-5-6 17:55
'repak.exe' 不是内部或外部命令,也不是可运行的程序
或批处理文件。
文件夹内打开cmd saintpietro414 发表于 2024-5-6 20:48
文件夹内打开cmd
没用啊
GitHub好多文件,下载哪一个呀? 自己没测试就不要发出来,压根没用 repak文件夹内打开cmd输入命令 提示和楼上一样
'repak.exe' 不是内部或外部命令,也不是可运行的程序
或批处理文件
能不能麻烦截图展示下这一步的操作 若尘L 发表于 2024-5-8 05:25
自己没测试就不要发出来,压根没用
管用的,改得不亦乐乎,写的步骤也都没有错。
非常感谢楼主,已成功按步骤提取出可以修改的文件,但看不懂,不知道怎么修改,楼主能否出个物品制作教程?比如需要的材料,产量,存储空间等的修改教程,谢谢!
leeplow 发表于 2024-5-8 18:56
repak文件夹内打开cmd输入命令 提示和楼上一样
'repak.exe' 不是内部或外部命令,也不是可运行的程序 ...
楼主给出的地址好像只能下到个工具的主体框架文件,缺启动文件也就是命令开头的repak.exe,这个需要另外下,合并后才是可用的完整工具,分开估计是作者为了区分版本的不同,基本框架不变。
saintpietro414 发表于 2024-5-8 18:59
管用的,改得不亦乐乎,写的步骤也都没有错。
这位老兄能否给个修改物品制作需要的材料数量的具体修改教程以及对应的物品代码。
本帖最后由 saintpietro414 于 2024-5-9 00:33 编辑
ydgc89 发表于 2024-5-8 20:57
这位老兄能否给个修改物品制作需要的材料数量的具体修改教程以及对应的物品代码。
...
已经更新了教程,代码很简单,稍微一琢磨就ok
saintpietro414 发表于 2024-5-9 00:25
已经更新了教程,代码很简单,稍微一琢磨就ok
非常谢谢,由于论坛及N网上的MOD有很多互相不兼容,导致自己相要的功能不能同时用,有些遗憾,于是就想到学下自己制作MOD,把一些想要的功能整合一起用,根据你的教程及相关摸索,基本会了,目前制作出的MOD可以正常使用,谢谢。
链接下载了,没有repak和UAssetGUI的运行文件。 本帖最后由 ydgc89 于 2024-5-10 13:10 编辑
jujia 发表于 2024-5-9 19:19
链接下载了,没有repak和UAssetGUI的运行文件。
我把整合后的完整工具发出来吧。下面的文件都要下载,然后选一个解压就可以用了。解压后得到repak-master文件夹就是顶部教程里的repak文件夹,按教程用就是了。
ydgc89 发表于 2024-5-10 13:06
我把整合后的完整工具发出来吧。下面的文件都要下载,然后选一个解压就可以用了。解压后得到repak-master ...
感谢分享,这下能用了.
你是我的神 贸易怎么修改啊 现在的贸易随随便便就涨到离谱,跌到离谱 感谢分享,收藏
pak文件请问去哪里找?直接用网上下载的mod文件吗? UAssetGUI里不是直接就可以修改了么,为什么还要转JSON呢? maxtri 发表于 2024-5-11 13:19
UAssetGUI里不是直接就可以修改了么,为什么还要转JSON呢?
格式不一样,改了没效果
saintpietro414 发表于 2024-5-11 15:47
格式不一样,改了没效果
有呀,我就直接改的摊位容量,进游戏是有效的。
页:
[1]
2