ARTICLE DETAIL

资讯详情

深耕商务建站与企业官网运营的一线实战洞察。

REFramework 实战指南:5 分钟跑通游戏内菜单 + 第一个 Lua 脚本与 C++ 插件

REFramework 实战指南:5 分钟跑通游戏内菜单 + 第一个 Lua 脚本与 C++ 插件 REFramework 实战指南5 分钟跑通游戏内菜单 第一个 Lua 脚本与 C 插件【免费下载链接】REFrameworkMod loader, scripting platform, and VR support for all RE Engine games项目地址: https://gitcode.com/GitHub_Trending/re/REFrameworkREFramework 是面向 RE 引擎游戏的 Mod 框架集 mod 加载、Lua 脚本、C 插件与 VR 支持于一体。读完本文你能按 Insert 呼出游戏内菜单、跑通第一个 Lua 脚本并编译加载自己的 C 插件。唯一前提是 Windows 游戏客户端。它到底是什么RE 引擎游戏的一体化 Mod 加载器dinput8.dll 注入本体是一个伪装成 DirectInput 的 DLL丢进游戏目录即注入DX11/DX12 均支持ImGui 游戏内菜单注入后接管渲染钩子所有内置 mod、脚本面板、插件都挂在同一菜单下Lua 脚本平台内置 sol2 沙箱re回调表 sdk对象表直接操作游戏托管对象C 插件与 VR启动时扫描目录自动LoadLibrary插件 DLLVR 用户解压整包即可用支持范围覆盖《生化危机 2/3/4/7/Village/Requiem》《鬼泣 5》《街霸 6》《怪物猎人 Rise/Wilds/Stories 3》《龙之信条 2》等完整列表见 README.md。动手之前dinput8.dll 该放哪运行环境Windows Steam 游戏客户端无需反编译、不修改游戏本体文件。获取从 Releases 页下载稳定版 zip想要新特性用 Nightly 开发版。非 VR 用户只解压dinput8.dll一个文件放到游戏根目录与主.exe同级VR 用户先装 SteamVROpenXR 设备除外整个 zip 解压到对应游戏目录确认装好进游戏按Insert默认菜单键可在菜单里改弹出覆盖窗口即成功。Linux/Proton 用户在 Steam 启动选项加WINEDLLOVERRIDESdinput8.dlln,b。5 分钟跑通游戏内菜单最小可行体验dinput8.dll放进游戏根目录正常启动游戏进入主界面后按Insert观察弹出的覆盖窗口成功判定窗口分区列出 Script Runner、各内置 modFree Camera、Scene Timescale、FOV、First Person 等与 VR 设置。看到即注入成功这是后续一切操作的入口。内置 mod 即装即用Free Camera 全游戏通用First Person、Manual Flashlight 限特定作品开发者构建下还有 Game Objects Display 和 Object Explorer 两个工具。核心工作流从加载脚本到拿到游戏对象跑通第一个 Lua 脚本打开菜单里的 Script Runner 区块Run script弹出文件选择框选中任意.lua立即执行Reset scripts卸载全部Spawn Debug Console弹调试控制台。加载后 Known scripts 区列出复选框可随时单独开关。判定标准面板 Last Script Error 为空脚本出现在 Known scripts 勾选列表中。仓库 scripts/ 是现成参考按re2_xxx.lua、re4_xxx.lua区分游戏。注意脚本有加载时机框架等场景就绪才加载日志出现Scene and scene manager found. Loading scripts...才算真正开始。写一个自己的 re.on_frame 回调re.on_frame注册每帧执行的函数re.msg输出会显示在菜单里。新建my_first.lua放进reframework/autorun/持久目录或手动Run script加载-- 顶部缓存方法指针别在每帧里重复查找 local get_go sdk.find_type_definition(via.Component):get_method(get_GameObject) re.on_frame(function() local cam sdk.get_primary_camera() if cam then re.msg(找到主相机: .. tostring(get_go(cam))) end end)判定标准菜单里每帧刷出相机信息说明回调链路已挂上。用 sdk 拿到游戏对象sdk表是操作游戏托管对象的统一入口find_type_definition(类型全名)拿类型:get_method(方法名)拿方法再调用sdk.game_namespace帮你补全游戏命名空间。scripts/re2_smooth_movement.lua 是完整范例——它获取角色 Transform 与 Joint 并改写实现平滑移动local re2 require(utility/RE2) -- 仓库自带工具库直接拿玩家对象 local get_transform sdk.find_type_definition(via.GameObject):get_method(get_Transform) local get_position sdk.find_type_definition(via.Transform):get_method(get_Position) re.msg(玩家位置: .. tostring(get_position(get_transform(re2.player))))require能解析utility/RE2这类相对路径工具库在 scripts/utility/跨游戏通用。判定标准日志打出三维坐标类型 → 方法 → 对象整条链路即通。进阶编译并加载你的第一个 C 插件想做 Lua 之外的事自定义 hook、直连渲染后端、独立 Lua 沙箱就写 C 插件。装 Visual Studio 2022C23 CMake完整细节见 COMPILING.md拉取仓库与依赖git clone https://gitcode.com/GitHub_Trending/re/REFramework cd REFramework git submodule update --init --recursive只构建你玩的游戏目标避免全量编译几十分钟cmake --build build --config Release --target RE2通读 examples/example_plugin/Plugin.hpp声明版本与生命周期回调Plugin.cpp实现 ImGui 初始化、D3D11/D3D12 双后端接入并用API::get()-param()-functions-create_script_state()创建独立 Lua state 沙箱把编译出的 DLL 丢进持久目录下reframework/plugins/文件名即插件名重启游戏——启动时框架自动扫描该目录加载每一个.dll判定标准重启后菜单正常日志无[Plugin] error插件区列出 Loaded plugins。C 插件 API 的准确定义看 include/reframework/ 头文件另有一个更小的实战示例 examples/weapon_stay_big_plugin/ 可参考。避坑REFramework 脚本常见坑与性能调优在线匹配下脚本整体卸载面板提示Online match detected单机模式才生效这是设计行为不是 bugDLL 放错位置dinput8.dll必须与主程序同级VR 用户只放一个 dll 也会看起来没生效os库被沙箱裁剪os.remove / execute / getenv等全部置空删文件、跑命令改用fs绑定误判脚本没生效先看日志是否出现Loading scripts...场景没就绪前脚本根本没跑性能re.on_frame回调只做增量计算get_method方法指针在脚本顶部取一次并缓存别每帧find_type_definition。Script Runner 面板的 Garbage Collection Stats 实时显示 MB 占用数值稳定不再上涨说明回收策略已调好。资源索引与你的下一步C 插件骨架examples/example_plugin/Lua 实战脚本scripts/跨游戏工具库scripts/utility/编译指南COMPILING.md插件 API 头文件include/reframework/下一步动手用 Script Runner 把 scripts/re2_smooth_movement.lua 加载进 RE2移动角色观察画面再Reset scripts卸载对比两者差异照re.on_frame例子改一版把主相机换成玩家对象用计数器控制每 60 帧打印一次位置体会回调 节流写法编译 examples/example_plugin/产物丢进reframework/plugins/重启确认菜单正常——你就完成了从源码到插件的完整闭环【免费下载链接】REFrameworkMod loader, scripting platform, and VR support for all RE Engine games项目地址: https://gitcode.com/GitHub_Trending/re/REFramework创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表
PREV
查看更多资讯
NEXT
返回资讯列表