Completely redesigned Instant Rewards. Previous versions (v7.6.0, v7.7.0) called the game's
grantfunction which includes anotifystep that fires events and needs the game's thread context — it failed silently (no wheelspins) or crashed (thread hijack). v7.8.0 bypasses grant+notify entirely: finds the wallet (one safe call) then writes the value directly.
What changed
Reading the full decompiled chain revealed: grant does three things:
- Read wallet value (simple, guarded) ✅
- Write wallet value (simple, guarded) ✅
- Notify (fire events, allocate, dispatch — needs game thread context) ❌
Steps 1+2 are simple memory reads/writes. Step 3 (notify) is what crashed or silently failed on non-game threads.
v7.8.0 skips all three. It calls ONLY get_target (one TLS-safe function that finds the wallet address from a global), then data-writes [wallet+0x48] (wheelspins) or [wallet+0x88] (super-wheelspins) directly — plain int32, no hooks, no grant, no notify, no event dispatch. Crash-free by construction (same mechanism as the SQL cheats).
What to test
- Load into the world (driving mode).
- Unlocks → INSTANT REWARDS → enter 999 → Wheelspins.
- Check: did the wheelspin counter change to 999? Did the game not crash?
The log will show wallet found @ 0x... and set [wallet+0x48] = 999 if it worked.
- Offline mode only. SQL cheats unaffected. Build v403.798.