Using Gym Creator: building gyms in game, stations and props, memberships, the workout minigame, strength and stamina, daily decay, custom exercises and every config option.
Gym Creator has one window for building gyms and three small screens players meet while training. It helps to know which is which from the start.
Screen
Opened with
What it is for
The creator
/gymcreator
Building, editing, teleporting to and deleting gyms. Admins and the jobs in Config.CreatorJobs only.
Membership
The reception NPC → Purchase Membership
The gym's logo, price and length; buying with cash or bank; the expiry date of an active membership.
Workout overlay
A station → Start …
The exercise name, a percentage and a progress bar, with SPACE for a rep and DELETE to stop.
Stats HUD
F10 or /gymstats
Strength and stamina, 0 to 100, at the top of the screen.
Every gym is configured per gym, in game. config/main.lua only holds the server-wide defaults and schedule — see the Configuration Reference at the end of this page.
/gymcreator opens a list of every gym on the left and the editor on the right. The list can be searched by gym or blip name, and each card shows the gym's logo, its number of stations and its membership price, with a teleport button that takes you to its blip after a confirmation. Press + to start a new gym, or click a card to edit it.
The editor has five panels. Fill them top to bottom, then press Create gym — or Save when editing. The gym appears for every player at once.
The blip's label, sprite and colour — both chosen from searchable lists with a preview — its scale (0.2 to 1.0, 0.8 is a standard map blip) and its coordinates. Press Select, aim at the spot and left-click.
The ped model of the receptionist — any GTA ped, a_f_y_fitness_01 by default — and where it stands. Press Select and a see-through copy of that ped follows your aim: scroll to turn it, use the arrow keys to raise or lower it, and left-click to place it. Players buy their membership from this NPC.
A station is one spot where one exercise is done. Pick an exercise from Add station, then press Select: a see-through clone of your own character appears in the exercise's resting pose — lying for push-ups, hanging from the bar for chin-ups — so you can line it up with the real bench, bar or bag. Add as many stations as you like, of any exercise, in any order.
Per station
What it does
Reps
How fast the progress bar fills: each press of SPACE adds that many percent. The default 10 finishes a set in ten presses; 5 takes twenty.
Stamina +
Stamina given when the set reaches 100% (0 to 50).
Strength +
Strength given when the set reaches 100% (0 to 50).
Fields you leave untouched use the exercise's own values from config/exercises.lua, so most stations need nothing but a position. The gym's multiplier is applied on top.
Benches, barbells, weight racks, a treadmill and a pull-up frame, placed anywhere — useful when you do not have a gym MLO and want to turn an empty room or a beach into one. Pick a model from Add prop, press Select and place it the same way as the receptionist.
Category
Models
Bench
prop_muscle_bench_01 to _06, prop_weight_bench_02, m25_2_prop_m52_gymbench_01a
Barbell
prop_barbell_01, prop_barbell_02, prop_barbell_10kg to prop_barbell_100kg
Props are decoration only: they are spawned on each player's own game, frozen, and cost the server nothing. A station is what makes a spot usable — place one on top of a prop to train on it.
Every Select closes the window and lets you aim with the normal camera. A red marker shows where the point will land, up to 50 metres away, and the keys are listed at the bottom of the screen.
Key
Does
Mouse
Aim at the spot.
Left click
Place.
Mouse wheel
Turn the ped, the station clone or the prop.
↑ / ↓
Raise or lower it, for a bench top or a raised floor.
BACKSPACE
Cancel and go back to the editor.
The creator reopens on its own after each placement, with the coordinates filled in.
Click a gym in the list, change anything and press Save — the receptionist, stations, props and blip are respawned for every player straight away. Delete removes the gym after a confirmation; it cannot be undone. Players who held a membership there keep their stats.
A player walks up to the receptionist and chooses Purchase Membership. The screen shows the gym's logo, the price and the length in days, and lets them pay with Cash or Bank. The money is taken, and the membership runs from that moment for the gym's number of days.
Rule
Detail
One gym at a time
A player holds one membership. Buying at another gym moves it there, and the first gym stops letting them train.
No stacking
While a membership is active the purchase button reads Active and shows the expiry date. It can be bought again once it has expired.
Free gyms
With Requires membership off, anybody can use the stations and there is nothing to buy.
Where the money goes
Out of the economy. It is not paid into a society or job account.
Prices and dates on this screen are formatted with Config.Intl — your currency symbol, decimal places and date style.
Walk to a station and choose Start … (for example Start Push-ups). The server checks the membership first; without one the player sees "You do not have an active membership here."
Get into position
The character is moved onto the station, turned to face the way you placed it, and frozen. The exercise's props — the curl bar for barbell curls — are put in their hands, and the entry animation plays.
Press SPACE for each rep
The overlay appears on the left, or on the right with Config.ExerciseUIPosition = 'right'. Each press plays one rep and moves the bar forward; the next press is accepted once the rep has finished.
Finish the set
At 100% the character stands up, the props are removed and the reward is added. Press DELETE at any point to stop — a set that is not finished gives nothing.
While a set is running the player cannot sprint, jump, shoot or punch, and cannot walk off unless the exercise is configured with freeze = false.
Both stats start at 0 and stop at 100. They are saved per character, so a player with two characters trains each of them.
What a set gives. The station's reward — or the exercise's default — multiplied by the gym's stat multiplier. A push-up set gives 6 strength and 3 stamina at a 1.0× gym, 12 and 6 at a 2.0× one.
What the stats do. With Config.AffectPedStats = true (the default), both are written into GTA's own MP0_STRENGTH and MP0_STAMINA stats, which change how long a player can sprint and how hard they hit. They are re-applied when the player spawns and every time they change.
The HUD.F10 — or /gymstats — shows both as meters at the top of the screen and hides them again. Players can rebind it in Settings → Key Bindings → FiveM; the default key is Config.StatsHUDKey.
A finished set can only be counted once every three seconds per player, and the server checks that the station really runs that exercise at that gym. A modified client cannot invent rewards or skip the workout.
Once a day, at Config.StatDecay.hour and minute (22:00 server time by default), strength and stamina go down. How much depends on the last gym the player held a membership at:
The player's gym
Each night
A gym with Daily stat decay on
Loses that gym's Decay per day, for both stats.
A gym with Daily stat decay off
Loses nothing.
No gym yet, or a gym that was deleted
Loses 5 points of each.
Stats never go below 0. Decay reaches offline players too — it is applied in the database — and online players see their HUD update at once. It runs at most once per day: if the server is off at the scheduled minute, that night is skipped rather than caught up later.
To switch decay off for the whole server, regardless of each gym's setting:
Add an entry to Config.Exercises and it appears in the creator's Add station list after a restart — no code changes needed. Give it a translation under exercise in your locale file.
The animation that gets the character into position, and how long it lasts in ms.
idleDict / idleAnim
The pose held between reps.
actionDict / actionAnim / actionTime
One rep, played on every SPACE. Required.
exitDict / exitAnim / exitTime
The animation that stands the character back up.
actionProcent
Percent added per step of the bar (default 1).
actionProcentTimes
Steps per SPACE press — the default Reps of a station. One press adds actionProcent × actionProcentTimes percent.
holdIdle
Freezes the idle on its first frame, for GTA animations whose idle is already a full rep.
prop / propAttachment
A prop held during the exercise, with { bone, x, y, z, xRot, yRot, zRot }.
freeze
Keeps the character in place during the set (default true).
An animation dictionary that does not exist is skipped with a warning in the F8 console rather than breaking the exercise, so a typo shows up as a missing stage, not a stuck player.