From e8adcde6e2703f2179fcf2912cc0618a06c68e84 Mon Sep 17 00:00:00 2001 From: Debugger <30207948+Sys0xdbg@users.noreply.github.com> Date: Thu, 17 Sep 2026 02:14:43 -0400 Subject: [PATCH] Keep offset loader out of script listings --- Nenyoo/README.md | 2 +- Nenyoo/TESTING.md | 2 +- Nenyoo/Ultimate_Menu.lua | 2 +- Nenyoo/lib/Ultimate_Menu_Legacy.lua | 2 +- Nenyoo/lib/{game_offsets.lua => game_offsets.offsets} | 0 Nenyoo/lib/tests/load_yim_test.lua | 2 +- 6 files changed, 5 insertions(+), 5 deletions(-) rename Nenyoo/lib/{game_offsets.lua => game_offsets.offsets} (100%) diff --git a/Nenyoo/README.md b/Nenyoo/README.md index 4740925..711d401 100644 --- a/Nenyoo/README.md +++ b/Nenyoo/README.md @@ -4,7 +4,7 @@ This edition runs the YimMenu Legacy script through a Nenyoo API adapter on GTA Copy the contents of this folder to `%LOCALAPPDATA%\Nenyoo\Plus\Scripts\User\UltimateMenu\`, then select `Ultimate_Menu.lua` from Nenyoo's Scripts menu to load its page. Keep the `lib` folder beside the entry script. The script selects the matching address catalog using Nenyoo's game-edition API. The included catalogs target GTA V Legacy build 3889 and Enhanced build 1158.13. Use the online menus only after joining GTA Online. -When a GTA update changes script addresses, update the named entries in `lib/game_offsets_legacy.offsets` or `lib/game_offsets_enhanced.offsets`. The `.offsets` files contain Lua-readable data but do not appear as runnable Lua scripts. Each catalog separates `globals`, `locals`, and script names and keeps dynamic address formulas beside their bases. `lib/game_offsets.lua` only detects the edition and loads the appropriate catalog. +When a GTA update changes script addresses, update the named entries in `lib/game_offsets_legacy.offsets` or `lib/game_offsets_enhanced.offsets`. The `.offsets` files contain Lua-readable data but do not appear as runnable Lua scripts. Each catalog separates `globals`, `locals`, and script names and keeps dynamic address formulas beside their bases. `lib/game_offsets.offsets` only detects the edition and loads the appropriate catalog. The adapter requires a Nenyoo build exposing `ctx.edition`, `__ny_execute_as_script`, and `__ny_request_script_host`. The host request uses Nenyoo's cooperative script-host election and cannot evict a healthy current host. Actions that rely on becoming mission-script host therefore need in-game validation on each edition. diff --git a/Nenyoo/TESTING.md b/Nenyoo/TESTING.md index ccdec4b..4ceed7e 100644 --- a/Nenyoo/TESTING.md +++ b/Nenyoo/TESTING.md @@ -1,6 +1,6 @@ # Nenyoo Legacy and Enhanced in-game verification -Run this pass separately on GTA V **Legacy build 3889** and **Enhanced build 1158.13** with the Nenyoo DLL that exposes `ctx.edition`, `__ny_execute_as_script`, and `__ny_request_script_host`. The package must be at `%LOCALAPPDATA%\Nenyoo\Plus\Scripts\User\UltimateMenu\` with `Ultimate_Menu.lua`, `lib\game_offsets.lua`, both edition-specific `.offsets` catalogs, and `lib\yim_compat.lua` beside `lib\Ultimate_Menu_Legacy.lua`. Open `Ultimate_Menu.lua` from Nenyoo's Scripts menu; it is a menu page that loads when opened. Confirm its heading says `Legacy` or `Enhanced` to match the running game before testing any action. +Run this pass separately on GTA V **Legacy build 3889** and **Enhanced build 1158.13** with the Nenyoo DLL that exposes `ctx.edition`, `__ny_execute_as_script`, and `__ny_request_script_host`. The package must be at `%LOCALAPPDATA%\Nenyoo\Plus\Scripts\User\UltimateMenu\` with `Ultimate_Menu.lua`, the three `lib\game_offsets*.offsets` files, and `lib\yim_compat.lua` beside `lib\Ultimate_Menu_Legacy.lua`. Open `Ultimate_Menu.lua` from Nenyoo's Scripts menu; it is a menu page that loads when opened. Confirm its heading says `Legacy` or `Enhanced` to match the running game before testing any action. ## First run diff --git a/Nenyoo/Ultimate_Menu.lua b/Nenyoo/Ultimate_Menu.lua index 389b305..dc37b9f 100644 --- a/Nenyoo/Ultimate_Menu.lua +++ b/Nenyoo/Ultimate_Menu.lua @@ -34,7 +34,7 @@ local function run(path) return chunk() end -local offsets = run(directory .. "lib\\game_offsets.lua") +local offsets = run(directory .. "lib\\game_offsets.offsets") for _, group in ipairs({offsets.globals, offsets.locals, offsets.scripts}) do for name, value in pairs(group) do environment[name] = value end end diff --git a/Nenyoo/lib/Ultimate_Menu_Legacy.lua b/Nenyoo/lib/Ultimate_Menu_Legacy.lua index 8b35b3e..63afbb9 100644 --- a/Nenyoo/lib/Ultimate_Menu_Legacy.lua +++ b/Nenyoo/lib/Ultimate_Menu_Legacy.lua @@ -1,4 +1,4 @@ --- GTA V global and script-local addresses are loaded from game_offsets.lua. +-- GTA V global and script-local addresses are loaded from game_offsets.offsets. function MPX() local PI = stats.get_int("MPPLY_LAST_MP_CHAR") diff --git a/Nenyoo/lib/game_offsets.lua b/Nenyoo/lib/game_offsets.offsets similarity index 100% rename from Nenyoo/lib/game_offsets.lua rename to Nenyoo/lib/game_offsets.offsets diff --git a/Nenyoo/lib/tests/load_yim_test.lua b/Nenyoo/lib/tests/load_yim_test.lua index 44f804d..922cb25 100644 --- a/Nenyoo/lib/tests/load_yim_test.lua +++ b/Nenyoo/lib/tests/load_yim_test.lua @@ -174,7 +174,7 @@ for _, group_name in ipairs({"globals", "locals", "scripts"}) do "Legacy catalog is missing " .. group_name .. "." .. name) end end -local offset_catalog = dofile("Nenyoo/lib/game_offsets.lua") +local offset_catalog = dofile("Nenyoo/lib/game_offsets.offsets") assert(offset_catalog.globals.TRANSACTION_ERROR_GLOBAL_1 == 4516981, "Global offset catalog did not load") if ctx.edition() == "Enhanced" then assert(offset_catalog.edition == "Enhanced" and offset_catalog.build == "1158.13",