This file establishes the connection to your TMC Framework. Modify the export name if your core resource uses a different identifier.
Gym Locations Configuration
Adding a New Gym
Each gym location in configGyms.lua follows this structure:
Config.Gyms.Locations= { ['Your Gym Name'] = {enabled=true, -- Set to false to disable this gymBusinessSetup= { -- Business and membership settings },Zones= {Building= { -- Zone definitions },Tasks= { -- Equipment locations } } }}
Business Setup (Optional)
Configure gym as a player-owned business with membership system:
Configuration Options:
job - The job identifier that allows access to management features
EmployeeWorkoutFree - If true, employees can use equipment without membership
ReturnPaymentsPercent - Percentage of membership payments that go to the business bank account (0-100)
memberships - Table of available membership tiers
Membership Tiers:
label - Display name shown to players
item - Item identifier that represents the membership card
price - Cost per day of membership
maxdays - Maximum duration in days (prevents infinite memberships)
allowedEquiptment - Array of equipment types this membership can access
Zone Configuration
Boundary Zone
Define the perimeter of your gym building:
Tips for Boundary Zones:
Walk around the perimeter of your gym MLO
Use /coords or similar to capture corner points
Order points in a clockwise or counter-clockwise pattern
Ensure minZ/maxZ captures all floors
Membership Zone
Define where workers manage memberships:
This zone typically goes at a front desk or reception area.
Clothing Change Zone (Optional)
Create zones where players can change outfits:
Punching Machines (Optional)
Configure interactive punching machines:
Equipment Locations
Define coordinates for each type of workout equipment:
Config.Gyms.Locale = {
Notifications = {
EnteredGym = {
text = 'You entered %s. Time to get those gains!',
type = 'success'
},
LeftGym = {
text = 'You left %s. Great workout!',
type = 'info'
},
AlreadyOnTask = {
text = 'You are already working out...',
type = 'error'
},
NoMembership = {
text = 'You need a valid gym membership to use this equipment.',
type = 'error'
},
WrongMembership = {
text = 'Your membership tier does not include access to this equipment.',
type = 'error'
},
TooFatigued = {
text = 'You are too fatigued to continue. Rest up!',
type = 'error'
},
FatigueGained = {
text = 'Fatigue +%d%% (%s)',
type = 'info'
},
InjuryDueFatigue = {
text = 'You strained something from overtraining. Take a break!',
type = 'error'
},
SkillIncreased = {
text = '%s increased to %.1f%%!',
type = 'success'
}
}
}