当前为早期版本,目前作者正致力于完善框架功能,使用体验方面可能会稍微欠缺,欢迎提出建议和意见,未来会逐渐完善。
可以和LuaEngine共存,但是脚本不能互相兼容。
目标是实现我的基本所有MOD转移到Lua实现。
之前的 Eigeen's Loader 已停更,在之前前置上发布的mod只有一个伤害属性显示,已经成功迁移,可以前往下载。
LuaFramework 插件收集帖:https://www.caimogu.cc/post/1677884.html
封装核心API,在脚本内完成以前只有DLL插件能实现的功能,包括但不限于:
- 内存读写
- 动态函数Hook(Inline Hook)
- 动态汇编指令Hook(或Mid hook,instruction hook等名称)
- 动态函数调用
- 特征码扫描
- 游戏内静态单例管理器
- imgui 游戏内UI系统(v0.2.0+可用)
- 内存Patch(v0.2.3+可用)
注:以上都是基础API,为Lua脚本实现游戏Mod提供了可能性。Lua端便于使用的进阶API封装仍在进行中。
UI示例。如果脚本报错,会在控制台和Script Manager内显示。
需要先安装 Stracker's Loader 前置。 v0.3.0以后不需要独立前置。
可在帖子底部附件下载并解压 lua-framework_.zip 压缩包,将其中的所有文件和文件夹都放在游戏根目录下即可。根目录内应该如以下所示:
MonsterHunterWorld.exe
lua_framework/
lua_framework.dll
d3d11.dll
*MOD管理器兼容,推荐使用你喜欢的MOD管理器安装,该mod文件较多,管理器更方便安装卸载。
如果你从其他地方获得了.lua格式的脚本文件,需要放到 lua_framework/scripts 内。进入游戏后打开UI,Script Manager内可以看到你添加的脚本,且没有红字报错,则表示已生效。
如果脚本是压缩包格式,通常说明作者已经将其按指定目录格式打包,可以通过mod管理器安装,或者解压后覆盖到相同的目录内。
快速停用:移除 nativePC/plugins/lua_framework.dll 文件即可。
完全删除:参考下载的压缩包文件结构,对文件进行删除即可。
nativePC/plugins/lua_framework.dll:核心文件
lua_framework目录:脚本,扩展,数据等核心目录
lua_framework/scripts:存放用户脚本
lua_framework/extensions:存放扩展,包括核心扩展或用户自己添加的扩展。
lua_framework/fonts:GUI使用的字体文件。
lua_framework/data:统一的数据文件存放处。
因为API文档真的很难写,所以我们暂时没有统一的文档!
最好参考已有的脚本作为案例,参考 sdk.d.lua 等核心API定义文件来查看函数方法和用例。
鸣谢以下项目:
[Stracker's Loader] https://github.com/Strackeror/MHW-QuestLoader
[SharpPluginLoader] https://github.com/Fexty12573/SharpPluginLoader
[LuaEngine] https://github.com/HalcyonAlcedo/LuaEngine
[REFramework] https://github.com/praydog/REFramework
LuaFramework交流群:453913769 (答案:lua)。群内更新最新动态,开发版和问题解答。
源代码:https://github.com/eigeen/LuaFramework
附件LuaFramework下载:https://github.com/eigeen/LuaFramework/releases
网盘备用:https://pan.baidu.com/s/1btlr6OjIY0I02joloyKVDA?pwd=rcrb
最后更新:v0.3.0 2025/01/09