kenshi吧 关注:91,990贴子:1,277,297
  • 1回复贴,共1

如何无缝合并MOD

取消只看楼主收藏回复



一般我们合并其他MOD的时候, 合并进来的各个Item自己唯一的String id是不变化的, 一般来说这样并没有什么大问题, 但是如果你发布到工坊后, 当别人既订阅了你的MOD又可能也同时订阅了你整合的那个MOD, 这时候就有可能出现冲突了.
那么最好的解决方式就是把整合进来的MOD中的所有Item项目的string id字段的值都修改成自己MOD的唯一值, 这样就比较容易解决冲突的问题.这是我在对虚空入侵MOD第二版开发中所遇到类似问题时所采用的解决方案.
因此, 我写了一个简单的小脚本来实现合并, 当你订阅了这个MOD后, 在MOD目录下的压缩文件请解压缩到你游戏根目录下, 这时候你就能在根目录下找到一个名为:
replaceKenshi.py 的文本文件.
因为本身我是自己使用的, 所以没有做成接受命令行参数的形式, 因此你使用前需要首先修改相关的参数:
1. BASE_PATH = 'F:/SteamLibrary/steamapps/common/Kenshi/mods/'
这个是指向你的游戏的MOD目录的路径, 请根据你实际的情况修改成你游戏MOD目录的路径
2. mod_name = "voidinvasion"
need_replace_mod = "Auto factory"
replace_mod = "voidinvasion"
需要修改这几个变量的值, 分别是
mod_name : 你所要修改的MOD名称
need_replace_mod : 需要替换掉的MOD名称, 比如你想要整合虚空入侵MOD中的内容到你自己的MOD, 那么这里就填写虚空入侵MOD的名称
replace_mod: 替换后的名称, 一般来说和你的MOD名称应该一样, 当然特殊情况你也可以替换成其他的名称.
修改完成保存后, 在你在MOD编辑器合并完成后, 运行一次这个脚本. 你就会发现所有你合并过来的MOD中的内容的string id都变化成为你自己MOD的ID了
具体下载请在工坊搜索Kenshi mod editor plus(中文编辑器加强版)
或者去三大妈的MOD站上搜索中文版Kenshi游戏编辑器
当然直接百度搜索也可以, 另外我还提供了一个自动汉化脚本
编辑器内具体Item项目的名称汉化, 这个汉化我是通过一个自己写的python脚本从官方汉化文件中提取相应的字符串汉化的, 当然这个脚本我也开源出来给各位了.当你订阅了这个MOD后, 在MOD目录下的压缩文件请解压缩到你游戏根目录下, 这时候你就能在根目录下找到一个名为:
replaceKenshiMsg.py 的文本文件.
因为本身我是自己使用的, 所以没有做成接受命令行参数的形式, 因此你使用前需要首先修改一些变量和常量设置:
1. BASE_PATH = 'F:/SteamLibrary/steamapps/common/Kenshi/mods/'
游戏的MOD目录路径, 请根据实际情况修改
2.BASE_PO_PATH = 'F:/SteamLibrary/steamapps/common/Kenshi/locale/zh_CN/gamedata.po'
汉化所使用到的翻译文件, 请根据你的实际路径修改.
注意这里为了统一使用的是游戏的官中, 如果个人使用建议订阅工坊的一个官中修正的MOD, 然后把这个路径修改成那个MOD中翻译文件的路径
3. mod_name = "chs_fcs"
这里设置的chs_fcs就是翻译后的MOD名称, 当然你也可以自己创建一个MOD, 然后填写mod名称在这里.


IP属地:陕西1楼2019-09-22 15:04回复

    结果就是类似这样, 把虚空入侵Auto factory的所有内容都合并到这个新mod:voidinvasion中了,
    并且自动生成了新的唯一String id


    IP属地:陕西3楼2019-09-22 15:34
    收起回复