Configuration
Configuration
config.lua at the resource root. Unencrypted and freely editable.
Globals
Config.Framework = 'qbx' -- 'qbx' | 'qb' | 'esx'
Config.Lang = 'es' -- 'es' | 'en'
Config.UseSutyEMS = true -- use suty-ems exports/state-bags for death state
Scale range
Config.DefaultScale = 1.0
Config.MinScale = 0.80 -- lowest scale for normal players
Config.MaxScale = 1.10
Bypass system
Config.BypassMinScale = 0.50 -- bypass players can go down to this
Config.BypassJobs = {
['ambulance'] = true, -- on-duty ambulance gets bypass
}
Bypass is also automatically granted to admins (group.admin by default — see BypassPermission below). You can grant per-player bypass via /scalebypass <id> grant.
Auto-growth (for bypass players)
Config.Growth = {
Enabled = true,
StartHeight = 0.50, -- only players AT this height grow
EndHeight = 0.55, -- they grow until reaching this
Step = 0.01, -- height added per interval
IntervalSeconds = 14 * 24 * 3600, -- 2 weeks of online time per +0.01
TickSeconds = 60 * 60, -- check every 1 hour while online
NotifyOnGrow = true, -- notify the player on each growth step
}
Designed so toddler/baby characters slowly grow back to "shorter adult" over weeks of real play. Catches up the moment they reconnect after being offline.
Commands
Config.AdminCommand = 'scalemenu' -- /scalemenu [id]
Config.AdminGroups = { 'admin', 'god', 'mod' }
Config.BypassCommand = 'scalebypass' -- /scalebypass <id> <grant|revoke>
Config.SetHeightCommand = 'scaleset' -- /scaleset <id> <altura>
Config.BypassPermission = 'group.admin' -- ACE for bypass-related commands
NPC self-service
Config.Price = 20000
Config.Locations = {
{
coords = vector4(1136.41, -1529.71, 34.37, 272.23),
ped = 's_m_m_doctor_01',
label = 'Cambiar Altura',
icon = 'fas fa-up-down',
job = nil, -- optional job lock
},
}
Discord role gate (optional)
Config.DiscordRoleRestriction = {
Enabled = false,
BotToken = '', -- same token as suty-queue if you use it
GuildId = '',
RoleId = '',
DeniedMessage = 'No tienes el rol de Discord necesario para cambiar tu altura',
}
When enabled, only players with the specified Discord role can use the NPC locations.
Reset zones (e.g. barber chairs)
Config.UseScaleResetZones = false
Config.ScaleResetZones = {
{
coords = {
vector3(-830.58, -1089.7, 10.74),
vector3(-832.4, -1090.74, 10.74),
-- ...
},
radius = 1.5,
},
}
When a player enters one of these radii, their scale is auto-reset to DefaultScale. Used for barber chairs or other locations where scale would break animations.
Hide-when conditions
Config.HideWhen = {
Swimming = true,
Falling = true,
Ragdoll = true,
Climbing = true,
Invisible = true,
Dead = true,
}
When any active condition matches, scale is temporarily reset to 1.0 (re-applied on exit) — prevents weird visuals during these states.
Sync distance
Config.SyncDistance = 25.0 -- only apply visual scale to players within this range
Performance optimization — players outside this range render at default scale.
Webhook logging
Config.Webhook = {
Enabled = true,
URL = '', -- paste webhook URL
Title = 'Scale Menu Log',
Footer = 'suty-scalemenu',
Color = 0xdc2626,
}
Logs scale changes, bypass grants/revokes, and admin-set heights.
