YimMenu 完整指南:如何免费编译并跑通这款带崩溃防护的 GTA V 菜单
【免费下载链接】YimMenuYimMenu, a GTA V menu protecting against a wide ranges of the public crashes and improving the overall experience.项目地址: https://gitcode.com/GitHub_Trending/yi/YimMenu
YimMenu 是一款开源的 GTA V 增强菜单:一边给你加车、传送、改天气,一边挡住其他模组用户发来的崩溃和踢出攻击。适合愿意自己编译源码、想把菜单改成自己样子的玩家。
⏱️ 30 秒先搞清楚 YimMenu 是什么
这一节帮你快速判断:它是什么形态、管什么用、你该不该花时间上手。
| 项目 | 说明 |
|---|---|
| 形态 | 编译产物是一个 DLL 模块(YimMenu.dll),注入 GTA V 进程后呼出 ImGui 菜单 |
| 定位 | 项目自述"Strictly for educational purposes",作者把防护当成第一卖点 |
| 内容量 | 210 条命令、50 个菜单页签、Lua 脚本接口、40 余种攻击反应事件 |
| 适配版本 | GTA V 在线 1.69 / build 3274(记录在 metadata.json 中) |
一句话定性:它是个"守"字当头的菜单基座——防崩溃是默认行为,210 条命令是留给你想折腾时的弹药库。
🚀 从 0 到跑通:YimMenu 菜单编译注入四步走
这一节解决"怎么把它跑起来",照着顺序做就行。
环境要求:
- ✅ Windows 10/11 64 位系统
- ✅ Visual Studio 2022,勾选"使用 C++ 的桌面开发"(CMakeLists.txt 只认 MSVC)
- ✅ CMake ≥ 3.20(VS 自带版本即可,代码要求 C++23)
- ✅ GTA V 本体为在线 1.69 / build 3274
四步跑通:
- 克隆仓库:
git clone https://gitcode.com/GitHub_Trending/yi/YimMenu cd YimMenu- 配置并编译(仓库自带 CMakeSettings.json,含 x64-Debug / x64-Release-FastCompile / x64-Release 三套预设):
cmake -B build -G Ninja cmake --build build --config RelWithDebInfo不想敲命令的话,直接用 Visual Studio 打开目录,它会按 CMakeSettings.json 自动选中 x64-Release(额外开 /LTCG 优化)。 3. 注入:build 目录(VS 则在 out/build/)下的 YimMenu.dll 就是成品。仓库不带注入器,用你惯用的方式把它送进 GTA V 进程。 4. 验证:首次进入会弹出 onboarding 窗口(600×400),依次选语言、确认呼出键、决定要不要外部控制台;走完再按呼出键,主菜单就该出现了。
游戏更新后旧菜单大概率直接崩,README 给的维护方式只有一句:
git pull拉最新再重编。
🎮 按你的玩法解锁功能:休闲、在线、动手三类各取所需
功能不按类别平铺,按人分。先认自己是哪一类,只看对应那一段。
休闲玩家:把单人模式玩出花
- 传送四件套:waypointtp、objectivetp、lastvehtp、bringpv,全都支持绑快捷键
- 时间与天气:timeoverride、weatheroverride,源码注释写明只本地生效,其他玩家看不到
- 载具生成:spawn 支持满改(spawnmaxed)、生成即上车(spawnin)、自定义车牌
- 整活选项:黑洞(默认缩放 6.0)、行人雨、载具雨、重力调节(默认 9.8)
适用场景:跑图、录视频、找隐藏内容。注意:这些开关互不干扰,录完视频记得把界面浮层关回去。
在线模式玩家:先装好防护再出门
- 脚本事件防护:bounty、CEO 资金、强制任务、强制传送、MC 传送、载具踢出等 18 项里 17 项默认开启,唯独 gta_banner 默认关
- 连接层防护:admin_check、kick_rejoin、stop_traffic 默认开;desync_kick、rid_join、receive_pickup 默认关
- 攻击反应:40 余种事件(crash、kick、modder detection 等)可分别配"弹窗通知"和"全服公告"
- 伪装开关:假排名、假 K/D(默认 2.0)、假地图标记;godmode 与载具 god 的显示默认隐藏
- 聊天工具:聊天指令前缀
/、默认权限 FRIENDLY;内置聊天翻译,默认指向本地 LibreTranslate(http://localhost:5000/translate)
适用场景:公开战局长期驻场。注意:防护尽量全开,但 explodeall、killall 这类*all指令请留给私人战局。
想动手的人:脚本和改码都留了口子
- Lua 脚本:50 个 tab 都能加按钮,调命令一行搞定
command.call("spawn", {joaat("adder")})- 改 C++ 源码:循环型功能丢进 src/backend/ 的分类目录即可,CMake 用 GLOB_RECURSE 自动收录新文件,不用手动改工程
- 生成脚本在 scripts/:generate_natives.py 产出 src/natives.hpp 与 crossmap.hpp,natives_gen.py 再生成 Lua 绑定
注意:工程开着 COMPILE_WARNING_AS_ERROR,警告就是报错;命名和提交格式按 CONTRIBUTING.md 来。
🧩 它是怎么做到的:YimMenu 目录结构与关键机制
看不懂源码没关系,知道每块东西放在哪,出了问题知道去哪找。
- src/backend/:所有功能实现,按 self / vehicle / player / session 分目录,循环型功能集中在 looped/
- src/hooks/:游戏函数钩子,其中 protections/ 下二十多个文件基本都是防崩溃用的
- src/hooking/:钩子基础设施,MinHook detour + vtable hook
- src/views/:ImGui 界面,一个页签一个文件
- src/services/:玩家服务、通知、handling、翻译等长驻服务
- src/lua/:Lua 绑定层,40 多个 natives 分类绑定文件(APP、AUDIO、PED……)
- src/renderer/:渲染逻辑,UI 绘制挂在 src/hooks/gui/ 的 SwapChain Present 钩子上
机制一句话串起来:注入后先扫指针(src/pointers.cpp),再挂钩子,功能跑在 fiber 脚本池里(src/fiber_pool.cpp),界面用 ImGui 画在 SwapChain 上。
🛠️ 进阶调优:快捷键、配置备份与聊天翻译
这一节把菜单调到"顺手",用的都是设置页里现成的开关。
- 呼出键与功能热键:设置里预留了 25 个热键位,覆盖传送、noclip、heal、超级跳、隐身载具、fast_quit 等;命令执行器窗口默认绑
U - 配置备份:全部设置自动存成 JSON(file_manager 读写),把这个文件拷走就等于备份了一整套方案,换机即还原
- 编译选项:日常开发用 x64-Release-FastCompile 最快;要极致体积和速度选 x64-Release(CMake 会追加 /LTCG /OPT:REF,ICF)
- 聊天翻译:按 docs/chat translator/setup_LibreTranslate_with_docker.md 用 Docker 起一个 LibreTranslate;用
--port改过端口的,记得同步改 YimMenu 里的 endpoint
🚑 踩坑急救:五个高频问题先给结论
每个问题先告诉你答案,再给排查步骤。
编译直接报 "Unsupported compiler"?
结论:CMakeLists.txt 写死只支持 MSVC,别的编译器一律拒编。
- 重装 Visual Studio,勾"使用 C++ 的桌面开发"
- 重新配置时确认用的是 MSVC 工具链,别混进 MinGW/gcc 的 CMake
注入后呼出键没反应?
结论:九成是游戏版本和菜单版本对不上。
- 对照 metadata.json:当前支持在线 1.69 / build 3274
- 游戏更新过就先
git pull重编 - 还不开就检查 onboarding 是否卡在首个弹窗没走完
聊天翻译没反应?
结论:本地 LibreTranslate 没起,或者端口改了没同步。
- 确认容器输出
Running on http://*:5000才算起来 - 改过端口的,把 YimMenu 设置里的 endpoint 同步改掉
- 目标语言默认 en,跨语言场景按需修改
改了游戏版本后编译报一堆错?
结论:警告被当错误处理,旧代码和新版本对不上。
- 拉最新提交重编,README 说 CMake 会自动处理增删文件
- fork 过并自己改过的,得手动处理与上游的合并
想确认某个防护到底开没开?
结论:看 JSON 配置里的 protections 字段,默认值以 src/core/settings.hpp 为准。
- bounty、kick_rejoin、stop_traffic 默认 true
- rid_join、desync_kick、receive_pickup 默认 false
📚 资源入口:文档与规范各一行
- Lua 脚本文档与全部命令清单:docs/lua/
- 代码生成脚本说明:scripts/README.md
- 提交规范与 C++ 代码风格:CONTRIBUTING.md
- 翻译服务 Docker 搭建:docs/chat translator/setup_LibreTranslate_with_docker.md
✅ 总结与最佳实践
YimMenu 把"防崩溃"做成了默认行为,把 210 条命令和 Lua 接口留给想折腾的人。编译门槛不高,MSVC + CMake 走完四步就能注入;真正的功夫花在按需开关防护、备份配置这两件小事上。
- ✅ 首次使用先在故事模式或私人战局验证
- ✅ 进公开战局前确认 bounty、kick_rejoin、stop_traffic 三项防护已开
- ✅ JSON 配置文件存一份备份,换机 5 秒还原
- ✅ 游戏一更新就
git pull重编,别拿旧版硬扛 - ✅ 公开战局只开防护,
*all系指令留给私人战局
打开终端,跑完那两条 cmake 命令,属于你自己的 YimMenu 就跑起来了。
免责声明:本项目自述仅供学习。在 GTA V 在线模式使用第三方工具可能违反游戏服务条款并导致封禁,风险请自行评估。
【免费下载链接】YimMenuYimMenu, a GTA V menu protecting against a wide ranges of the public crashes and improving the overall experience.项目地址: https://gitcode.com/GitHub_Trending/yi/YimMenu
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考