目录
  1. 前言
    1. 为什么要安装mod引擎
    2. mod引擎加载mod的原理浅谈
  2. 视频教程
  3. 图文教程
    1. 下载mod引擎
    2. mod引擎的目录结构说明
    3. mod引擎配置文件config_darksoulsremastered.toml说明
    4. 让mod引擎加载无缝联机mod
    5. 大功告成 🎉🎉🎉

前言

为什么要安装mod引擎

mod引擎的作用是启动游戏时加载mod文件,并且如果mod文件没有冲突的话可以同时加载多个mod,所以我们可以利用这个特性来整合无缝联机mod和其他mod

mod引擎加载mod的原理浅谈

如果是dll文件,那就是dll注入,原理就是在游戏启动时,把dll文件加载到游戏进程的内存中,通过hook游戏原有的函数来实现自己的逻辑(最热门的就是无缝联机)

那如果是对游戏内原有资产的修改,比如修改武器的伤害,修改地图布局,修改环境模型,修改特效,修改怪物分布,这种数据肯定是在游戏某个文件内保存着呢,我想修改的话就是找到这个文件,然后修改成我想要的样子。

原版游戏的文件夹结构如下:(未列出所有文件)

├─ action/
├─ asset/ #地图素材模型与贴图
│    ├─ aet/ #贴图文件
│    └─ aeg/ #模型文件
├─ chr/ #人物与NPC的模型与动作数据
├─ cutscene/ #过场动画文件
├─ event/ #事件数据
├─ expression/ #记录文件
├─ facegen/ #捏脸数据(基础脸型
├─ font/ #字体
├─ map/ #地图模型及相关文件
├─ menu/ #UI布局以及贴图文件
├─ msg/ #存放多语种的文本信息,如人物对话,物品介绍等
│    ├─ engus/ #英文
│    ├─ zhocn/ #简体中文
│    └─ zhotw/ #繁体中文
├─ param/ #渲染参数和系统参数
├─ parts/ #武器模型和装备模型
├─ script/ #敌人AI代码文件
├─ sfx/ #特效文件
├─ shader/ #着色器
└─ sound/ #语音、音效、bgm

我们以传送mod这个mod的目录结构举例:

传送mod目录结构.png

可以看到这几个目录是跟游戏解包后的目录结构重合的,也就是说,这些对游戏原有资产的修改的mod,本质就是文件替换,也就是游戏运行的时候要加载对应的文件了,让游戏优先加载你mod目录下的同名文件,那就做到了修改游戏的效果,mod引擎从中起到的作用就是让游戏优先加载你的文件

在了解原理后,我们在使用mod引擎的时候就会更加得心应手

怎么修改这些文件属于制作mod的范畴,本教程不会涉及

视频教程

图文教程

下载mod引擎

魂1重制版mod引擎 N网地址

夸克网盘:魂1mod引擎.7z

mod引擎的目录结构说明

├─ mod/ #默认给玩家放mod文件的地方
├─ modengine2/ #mod引擎的逻辑代码
├─ config_darksoulsremastered.toml #黑暗之魂1重制版的mod引擎配置文件
├─ launchmod_darksoulsremastered.bat #启动黑暗之魂1重制版的mod引擎bat脚本
├─ modengine2_launcher.exe #mod引擎的启动程序,不要给这个文件重命名
└─ README.txt #说明文件,可以删

拖进游戏目录

mod引擎游戏目录.png

mod引擎配置文件config_darksoulsremastered.toml说明

[modengine]
# 是否开启调试,如果设置为true的话小黑窗会打印更多的信息
debug = false
# 配置dll文件路径的地方,用来加载dll文件,示例:
# external_dlls = [ "coolmod.dll", "D:\\nicemods\\nicemod.dll", "sosofolder\sosomod.dll" ]
external_dlls = []
[extension.mod_loader]
# 是否加载mod,改成false的话不会加载下方mods配置项对应的目录下的文件,只会加载dll文件
enabled = true
#
loose_params = false
# 可以配置多个存放mod文件的目录配置,并命名不同的名字,比如:
# mods = [
#    { enabled = true, name = "coolmod", path = "mod1" },
#    { enabled = true, name = "nicemod", path = "mod2" },
#    { enabled = true, name = "sosomod", path = "mod3" }
# ]
mods = [
    { enabled = true, name = "mod", path = "mod" }
]
# 用来调试游戏的,给逆向游戏的开发者用的
[extension.scylla_hide]
enabled = true

让mod引擎加载无缝联机mod

打开mod引擎的配置文件config_darksoulsremastered.toml,并配置external_dlls配置项

mod引擎配置文件加载无缝.png

我这里用的是第三方的文本编辑器,会有语法高亮 下载地址

一定要是英文符号,修改完记得保存

这里用的是相对路径,相对于谁呢?相对于游戏目录里的modengine2_launcher.exe,当然你也可以填绝对路径,看你喜欢

大功告成 🎉🎉🎉

开始游戏之前使用加速器加速一下steam,如果你不跟人联机,那不用加速

可以双击modengine2_launcher.exe启动游戏了

你可能需要:常见问题