
CSharpLoader
C# mod加载器,允许使用C# 编写 mod,调用游戏内部的C#接口。C# mod loader, allow you to run mod with C#, call inner C# api.
查看大图《黑神话:悟空》使用USharp作为脚本引擎,许多逻辑通过C#实现,并提供接口供Unreal Engine (UE) 使用,而部分内部接口无法通过UE C++/Lua访问。
此模组加载器可加载用C#编写的模组。C#模组能够调用USharp端提供的API,包括游戏内部接口和C#封装的UE引擎接口,同时也能向游戏内部事件和委托添加回调。
悟空使用USharp作为脚本引擎,大量逻辑用C#实现。有些API只能在C#中访问,而无法在UE C++中访问。
此模组加载器允许您加载用C#编写的模组。C#模组可以调用b1-managed和虚幻引擎中的C# API。
更新记录
0.1.0:
- 重新提前了初始化时间,并避免出现错误,方便一些模组提前hook。
0.0.9:
- 0.0.8版本提前了初始化时机,此版本将等待时间加回来,避免一些现有模组初始化失败。
0.0.8:
- 支持C# Patch/Hook,请注意说明。
- 支持手柄按键(暂不支持PS和Switch手柄),也可以直接hook OnAnyKeyTriggerEvent。
- 兼容其他使用version.dll的插件(放到CSharpLoader/Plugins目录中)。
- 尝试支持游戏中文路径。
更改日志
0.1.0:
- 初始化时间再次提前,避免了错误。
0.0.9:
- 0.0.8版本将初始化时间提前。
0.0.8:
- 支持C#补丁/挂钩,请注意。
- 支持游戏手柄按钮(目前不支持PS和Switch控制器),也可直接挂钩OnAnyKeyTriggerEvent。
- 兼容其他使用version.dll的插件(将它们放在CSharpLoader/Plugins目录中)。
- 尝试支持中文游戏路径。
使用说明
解压到游戏目录
额外添加到游戏文件夹。
BlackMythWukong/b1/Binaries/Win64/
CSharpLoader/
Data/
Mods/
Plugins/
0Harmony.dll
CSharpManager.bin
CSharpModBase.dll
Mono.Cecil.dll
Mono.Cecil.Pdb.dll
Mono.Cecil.Rocks.dll
b1cs.ini
version.dll
模组的dll需要放在
模组dll应放置在
CSharpLoader/Mods/<ModName>/<ModName>.dll
例如
CSharpLoader/Mods/CSharpExample/CSharpExample.dll
如果你安装后游戏打不开,请尝试把hid.dll改名成version.dll(新版默认使用version.dll)。
配置文件 CSharpLoader/b1cs.ini
- 开发:开启开发模式,可以按ctrl+f5重新加载C#模组。
- Console: 显示控制台窗口,打印日志。
- EnableJit: 开启jit模式,请看下面的注意事项。
配置文件 CSharpLoader/b1cs.ini
- 开发:按ctrl+f5重新加载C#修改器。
- 控制台:显示控制台窗口以打印日志。
- EnableJit:请看下面的注意事项。
注意
从版本0.0.7之后的C#加载器开始,为了支持C#补丁/挂钩,游戏的mono运行时的运行模式从默认的解释执行模式,改成了jit(运行时编译执行)模式。jit一定程度上可能会带来一些性能提升,但可能并未经过游戏开发商的充分测试,可能会对游戏的稳定性带来一些影响。同时由于修改了游戏的底层执行代码,目前与一些修改器不兼容,包括风灵月影在内的一些修改器会失效,请根据你使用的模组的说明,决定是否使用支持hook的C#加载器。
注意
从版本0.0.7版本的C#加载器开始,为启用C#补丁/钩子,游戏的Mono运行时执行模式已从默认的解释器模式改为JIT(Just-In-Time)模式。JIT有可能带来一些性能改进,但游戏开发人员可能尚未对其进行彻底测试,这可能会影响游戏的稳定性。此外,它目前与一些训练器(包括flingtrainer)不兼容,可能会失效。请根据您使用的MOD的说明决定是否使用支持钩子的C#加载器。
与其他插件的兼容性
"version.dll"是常用的插件名字。如果您使用的其他插件存在命名冲突,您可以将它们的DLL重命名为"version.dll"以外的任何名称(后缀必须为".dll"),并将它们放在"CSharpLoader/Plugins/"目录中。C#加载器将一起加载这些插件。
如果你想了解如何用C#开发黑神话悟空的模组,可以看这里:
https://github.com/czastack/B1CSharpLoader/
感谢禽兽-云轩等模组作者的使用和反馈,帮助完善了这个C#加载器,期待他们做出的优秀模组。
也感谢之前我修改器的用户们的使用和反馈,C#加载器最开始在修改器上实验,并逐渐完善。
还没有人评论,去客户端里说两句吧。
评论在新手盒子客户端中发表,这里同步展示。