☰
YimMenuV2从零到跑起来:GTA 5增强菜单10分钟实战指南
2026/10/23 1:56:00 网站建设 项目流程

YimMenuV2从零到跑起来:GTA 5增强菜单10分钟实战指南

【免费下载链接】YimMenuV2Experimental menu for GTA 5: Enhanced项目地址: https://gitcode.com/GitHub_Trending/yi/YimMenuV2

YimMenuV2是一个用 C++23 编写的 GTA 5(增强版)增强菜单项目:它编译出单个 YimMenuV2.dll,注入游戏后提供九个子菜单的神殿模式、传送、匹配操控与线上功能,还带一个沙盒化的 LuaJIT 脚本引擎。做 GTA 5模组开发 想自己写功能,它是一份能直接上手的底子;只想玩现成功能,注入一个 dll 再按个键就行。

🛠 它凭什么值得试

这一节说清楚四件事:为什么它值得你花十分钟。

  • 写功能不碰 C++。自定义功能直接写 Lua,丢进%appdata%/YimMenuV2/scripts/重启即生效;脚本跑在独立沙盒里,io、os、ffi都被禁掉,写崩了也只挂脚本不挂游戏。
  • 功能清单已经铺好,省掉你接原生函数的活。菜单里现成挂着上百个开关,从 Godmode、Noclip 到抢劫修改器,全部是一键切换的 Command,不需要自己查函数签名。
  • 底层钩子不用你重搭。Detour、VMT、IAT、Call 四种钩子实现在 src/core/hooking/ 里,特征码扫描结果有缓存层,你加新指针只要写一条 pattern。
  • 一次配置,之后都记住。四套内置风格 Classic / Modern / Modern Vertical / Modular 存进 themes.json,窗口位置存进 imgui.ini,重启后菜单还是你上次摆的样子,不用再调颜色。

底层是怎么跑起来的

这一节用一个比喻把项目分层讲明白,后面读代码就不会迷路。整体像给老房子做智能化改造:房子是游戏进程,菜单是装进去的整套系统。

核心层是水电改造,游戏层是家具,frontend 是面板

结论先行:src/core/管“能不能干”,src/game/管“具体干什么”。前者放着任何注入式菜单都需要的东西——内存特征码扫描、钩子框架、ImGui 渲染、Lua 引擎、异步日志,与 GTA 5 本身无关;后者按业务切分:backend 存全局状态,features 放功能,pointers 放游戏指针。最上面的面板则是src/game/frontend/,九个子菜单和主题切换都画在那一层。

菜单靠注入进入游戏,钩子是主板上的扩展槽

结论先行:它就是一个 DLL——CMakeLists.txt 里写的是add_library(... MODULE),主菜单阶段被注入器挂进游戏进程。DllMain触发后主线程按顺序做:加载模块、Pointers::Init扫指针、装钩子、勾 D3D12 画界面、注册脚本。每个钩子相当于一个扩展槽,菜单从槽里截住游戏的执行流,塞进自己的逻辑再放行。

功能就是 Command 对象,菜单只是它的开关

结论先行:代码里没有“功能类”这个概念,一切都是 src/core/commands/ 下的 Command——执行一次的叫 Command,每帧循环的叫 LoopedCommand。一个功能文件通常就三四十行:注册命令、写OnTick逻辑,界面上自动多一个开关,开关状态由 settings 系统序列化进 settings.json。这就是加新功能成本低的原因:UI 代码一行不用碰。

⏱ 10分钟从零跑起来

这一节帮你亲手编译出 YimMenuV2.dll 并验证它能进游戏,命令给全,每步标了成功判据。

环境检查

产物是 Windows DLL,最稳的路径是 Windows + Visual Studio 2022(勾选 C++ 核心工作负载,会带上 CMake 和 Ninja),仓库里的 CMakeSettings.json 预置了 x64-Release-MSVC 和 x64-Release-Clang 两套模板,CMake 要求 3.20 以上。在 Linux/macOS 上则走cmake/cross-compile.cmake,默认用 Zig 或 Clang+MinGW 交叉编译。卡住先看:cmake --version低于 3.20 是大多数报错的第一原因。

克隆并构建

git clone https://gitcode.com/GitHub_Trending/yi/YimMenuV2 cd YimMenuV2 mkdir build && cd build cmake .. -DCMAKE_BUILD_TYPE=RelWithDebInfo cmake --build . --config Release

成功的样子:build 目录下产出 YimMenuV2.dll(MODULE 库,没有 exe 是正常的)。ImGui、LuaJIT、MinHook、nlohmann_json 都由cmake/下的脚本拉取,不用你自备任何依赖。

注入与启动验证

把 FSL 的 WINMM.dll 放进 GTA V 目录(可选项,README 建议为账号安全启用),Rockstar Launcher 里对 GTA V Enhanced 关闭 BattlEye(Steam/Epic 版再给启动参数加-nobattleye),启动游戏进主菜单,用注入器把 YimMenuV2.dll 挂进去。成功的样子:屏幕右上角弹一条绿色 “Loaded succesfully” 通知,按INSERT或Ctrl+\呼出菜单,能看到 Self、Vehicle、Teleport 直到 Debug 共九个一级子菜单。卡住先看:打开%appdata%/YimMenuV2/cout.log,日志停在哪个 Init 就对应哪一步失败;停在Pointers::Init基本是游戏版本不匹配。

🎮 三个最值得玩的功能

从上百个功能里挑三个一分钟能感受到效果的,按“能做什么 → 怎么开启 → 体验如何”讲。

Freecam:把相机从角色身上拔下来

能做什么:镜头脱离玩家自由飞,第一人称“无人机视角”看地图。怎么开启:Self 子菜单勾上 Freecam,开着菜单时用 WASD 移动,左 Shift 上升、左 Ctrl 下降,速度由菜单里的 “Freecam Speed” 滑条控制(0.01 到 10)。体验如何:实现文件 src/game/features/self/Freecam.cpp 会创建一个脚本相机并复制当前游戏相机的姿态做起点,所以开起来的瞬间没有跳变;关掉之后控制权直接交还角色。

Teleport to Waypoint:红点在哪就去哪

能做什么:一键把人送到地图红点位置。怎么开启:Teleport 子菜单点 “Teleport to Waypoint”(旁边还有常驻的自动模式)。体验如何:它和别的菜单的差距在细节——传送前会跑最多 20 轮碰撞查询找地面高度(ResolveZCoordinate),落点贴着地表面,传进海里则对齐水面,不会出现“传进墙体卡死”的情况。

Modify Rocket Boost:火箭助推永不耗尽

能做什么:给支持火箭助推的载具把助推能量行为改成“永远满格”或“用完瞬充”。怎么开启:Vehicle 子菜单勾 “Modify Boost Behavior”,列表里选 Infinite 或 Instant recharge。体验如何:src/game/features/vehicle/RocketBoost.cpp 里整段逻辑不到 40 行,上车后助推条恒满,想按多久按多久。

老手才有的5个技巧

这几条 README 里没细讲,但每次都用得上,且能直接上手。

  • 共享代码放进名字含include的文件夹(区分大小写),菜单不会自动执行它,只用require引入,这就是模块的写法:
-- scripts/include/hello.lua local hello = {} function hello.run() notify.info("YimMenuV2", "Hello") end return hello
  • 不想跑某个脚本?把它挪进disabled/文件夹即停用,挪回来恢复,相当于免重启的开关。
  • 把 docs/yimmenu_v2.lua 指向语言服务器(.luarc.json里配workspace.library),Lua 侧就拿到全套 API 的自动补全和类型检查。
  • 非 Windows 交叉编译时,configure 阶段选 Zig 或 Clang 工具链即可,链接选项已静态化,产物没有运行时依赖问题。
  • 每条命令默认都能绑热键:HotkeySystem 对全部命令做了注册,绑好后开车时单手就能开功能。

🩹 新手踩坑急救

README 的 Common issues 里出现频率最高的三个问题,各用三句话答完。

公共局每五分钟被踢出现象:屏幕 desync,约五分钟后被移出会话。原因:项目不做 BattlEye 绕过,宿主机的 heartbeat 校验最终会移除你。处理:线上使用需要真正的(私有)绕过,或只在自己开的局里玩。

移除 FSL 后存档进度全丢现象:删掉 WINMM.dll 后,线上账号里攒的进度找不到了。原因:FSL 把账号存档重定向到磁盘,FSL 关闭时这些数据不会出现在官方存档里。处理:把 FSL 装回去,之前用 FSL 跑的进度会重新出现。

移除 FSL 后游戏启动不了现象:删 FSL 之后游戏直接开不起来。原因:一个已知的兼容性问题。处理:删除Documents/GTAV Enhanced/Profiles目录,游戏即可恢复启动。

这份项目适合两类人:想在 GTA 5 里快速试用增强功能的玩家,以及做 GTA 5模组开发、想复用一套成熟钩子、渲染和脚本底子的开发者。建议的下一步很短:先按上面的步骤自己编译出 dll 并跑通,然后翻一遍 docs/lua-api.md,照着写一个几行的 Lua 脚本,能把某个功能从菜单里手动开关起来,就可以开始写属于自己的东西了。

【免费下载链接】YimMenuV2Experimental menu for GTA 5: Enhanced项目地址: https://gitcode.com/GitHub_Trending/yi/YimMenuV2

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询