G.A.S Docs / Other
Gym & Fitness
Train on real gym equipment anywhere in the world — a timing-based rep minigame builds persistent Strength and Stamina stats with real gameplay effects, placed entirely in-game with an admin dashboard.
Train on real gym equipment anywhere in the world. A timing-based rep minigame builds persistent Strength and Stamina stats with real gameplay effects, and an in-game admin dashboard lets you place equipment in any gym MLO, on the beach, in the prison yard — no config coordinates needed.
Features
- 8 equipment types — bench press, chin-ups, free weights, dumbbell curls, push-ups, sit-ups, treadmill, yoga. All native GTA animations/scenarios (the free-weights barbell spawns itself).
- Rep minigame — a cursor sweeps a bar; hit SPACE in the zone. Perfect reps give bonus gains, and the zone shrinks as you get stronger.
- Real effects — strength drives GTA core melee damage & climb speed plus a configurable melee damage modifier; stamina drives sprint duration (optional run-speed multiplier). Yoga relieves stress.
- Progression that breathes — diminishing returns, a daily fatigue cap, and slow decay if you skip the gym (all configurable).
- In-game placement dashboard (
/gymadmin) — pick equipment, name the gym, optionally spawn a prop, stand where the animation should play and press E. Teleport to or delete any spot from the table. Auto map blips per gym. - Player dashboard (
/fitness) — stats, daily fatigue, workout history, city leaderboard. - HUD-ready — stats replicate as player statebags (
gymStrength,gymStamina) any HUD can read. Server/client exports included. - Server-authoritative — all gains validated server-side (rep rate + distance checks), stored in MySQL per citizenid.
Dependencies
Install
- Drop
rr-gyminto your resources andensure rr-gymafter ox_lib, oxmysql and your core. - Tables auto-create on first start (
sql/install.sqlincluded if you prefer manual import). - In game as admin:
/gymadmin→ Add Equipment → place your first spots.
Commands
| Command | Who | What |
|---|---|---|
/fitness | everyone | Fitness dashboard (stats / history / leaderboard) |
/gymadmin | admin ACE (Config.AdminAce) | Placement & management dashboard |
Config.AdminAcemust be an ACE, not a principal. Qbox's default permissions already includeadd_ace group.admin admin allow, so admins work out of the box. On other setups, add that line (or point the config at an ACE you already grant, e.g.command).
Reading the stats from other resources
-- client
local stats = exports['rr-gym']:GetStats() -- { strength, stamina }
local str = LocalPlayer.state.gymStrength -- statebag (any resource)
-- server
local row = exports['rr-gym']:GetPlayerFitness(src) -- full stats row
local str = Player(src).state.gymStrength
Escrow notes (Tebex packaging)
- Encrypt:
client/*.lua,server/main.lua - Keep open:
config.lua,locales/*,html/*,sql/*,README.md
Last updated August 10, 2026
