{"id":92223,"date":"2023-10-31T12:48:54","date_gmt":"2023-10-31T11:48:54","guid":{"rendered":"https:\/\/fivem-mods.net\/?post_type=product&#038;p=92223"},"modified":"2025-12-24T07:31:59","modified_gmt":"2025-12-24T06:31:59","slug":"habilidades-de-ginastica-2","status":"publish","type":"product","link":"https:\/\/fivemx.com\/pt\/gym-skills\/","title":{"rendered":"GIN\u00c1STICA E HABILIDADES (ESX\/QB)"},"content":{"rendered":"\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe title=\"vms gym &amp; skills \uff5c Owned Gyms, Player Skills\" width=\"1290\" height=\"726\" src=\"https:\/\/www.youtube.com\/embed\/-Smr_xvRqeY?feature=oembed\" loading=\"lazy\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Config file:<\/h2>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"lua\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">Config = {}\n\nConfig.Core = \"ESX\" -- \"ESX\" \/ \"QB-Core\"\nConfig.CoreExport = function()\n    return exports['es_extended']:getSharedObject()\n    -- return exports['qb-core']:GetCoreObject()\nend\n\nConfig.Notification = function(title, message, time, icon, type)\n    if type == \"success\" then\n        exports[\"vms_notify\"]:Notification(title, message, time, \"#27FF09\", icon)\n        -- ESX.ShowNotification(message)\n\t\t-- QBCore.Functions.Notify(message, \"success\", 5000)\n    elseif type == \"info\" then\n        exports[\"vms_notify\"]:Notification(title, message, time, \"#428AF5\", icon)\n        -- ESX.ShowNotification(message)\n\t\t-- QBCore.Functions.Notify(message, \"inform\", 5000)\n    elseif type == \"error\" then\n        exports[\"vms_notify\"]:Notification(title, message, time, \"#FF0909\", icon)\n        -- ESX.ShowNotification(message)\n\t\t-- QBCore.Functions.Notify(message, \"error\", 5000)\n    end\nend\n\nConfig.TextUI = {\n    Enabled = false,\n    Open = function(msg)\n        exports[\"interact\"]:Open(\"E\", msg) -- Here you can use your TextUI or use my free one - https:\/\/github.com\/vames-dev\/interact\n        -- exports['okokTextUI']:Open('[E] '..msg, 'darkgreen', 'right')\n        -- exports['qb-core']:DrawText(msg, 'right')\n    end,\n    Close = function(msg)\n        exports[\"interact\"]:Close() -- Here you can use your TextUI or use my free one - https:\/\/github.com\/vames-dev\/interact\n        -- exports['okokTextUI']:Close()\n        -- exports['qb-core']:HideText()\n    end,\n}\n\n--@AutoExecuteQuery: Will automatically add the 'statistics' column to your ESX: `users` \/ QB-Core: `players` table if it doesn't already exist.\nConfig.AutoExecuteQuery = true\n\n-- @PlayerLoaded: ESX: \"esx:playerLoaded\" \/ QB-Core: \"QBCore:Client:OnPlayerLoaded\"\nConfig.PlayerLoaded = \"esx:playerLoaded\"\n\n-- @PlayerLoaded: ESX: \"esx:playerLoaded\" \/ QB-Core: \"QBCore:Server:OnPlayerLoaded\"\nConfig.PlayerLoadedServer = \"esx:playerLoaded\"\n\n-- @PlayerLogoutServer: ESX: \"esx:playerDropped\" \/ QB-Core: \"QBCore:Server:OnPlayerUnload\"\nConfig.PlayerLogoutServer = \"esx:playerDropped\"\n\n-- @JobUpdated: ESX: \"esx:setJob\" \/ QB-Core: \"QBCore:Client:OnJobUpdate\"\nConfig.JobUpdated = 'esx:setJob'\n\n-- @SavingTimeout: Every how long the player's statistics will be saved to the database - recommended 10 or 15 minutes\nConfig.SavingTimeout = 60 * 10 * 1000 -- 10 minutes\n\nConfig.Menu = 'esx_context' -- 'esx_menu_default' \/ 'esx_context' \/ 'qb-menu' \/ 'ox_lib'\nConfig.ESXMenuDefault_Align = 'right'\n\nConfig.SendNotificationWhenSkillIncrase = true\nConfig.SendNotificationWhenSkillDecrease = true\n\nConfig.DistanceView = 2.25\nConfig.DistanceAccess = 0.5\nConfig.UseMarkers = true\nConfig.Use3DText = false\nConfig.UseHelpNotify = true\n\n-- @UseTarget: If you use a target, markers for gym activities will not be displayed - the marker will remain for the boss menu\nConfig.UseTarget = false\nConfig.TargetResource = 'ox_target'\nConfig.Target = function(data, func)\n    if Config.TargetResource == 'ox_target' then\n        exports[\"ox_target\"]:addBoxZone({\n            coords = data.activityCoord,\n            size = vec(2.0, 2.0, 4.3),\n            debug = false,\n            useZ = true,\n            rotation = data.activityCoord.w,\n            options = {\n                {\n                    distance = 2.0,\n                    name = 'gym-'..data.name,\n                    icon = 'fa-solid fa-dumbbell',\n                    label = Config.Translate[Config.Language]['action.'..data.name],\n                    onSelect = func\n                }\n            }\n        })\n    elseif Config.TargetResource == 'qb-target' then\n        local id = math.random(1000000,1000000000000)\n        exports['qb-target']:AddBoxZone('gym-'..data.name..'-'..id, data.activityCoord, 2.0, 2.0, {\n            name = 'gym-'..data.name..'-'..id,\n            heading = data.activityCoord.w,\n            debugPoly = true,\n            minZ = data.activityCoord.z,\n            maxZ = data.activityCoord.z+3.5,\n        }, {\n            options = {\n                {\n                    num = 1,\n                    icon = 'fas fa-example',\n                    label = Config.Translate[Config.Language]['action.'..data.name],\n                    targeticon = 'fa-solid fa-dumbbell',\n                    action = func,\n                    drawDistance = 10.0,\n                    drawColor = {255, 255, 255, 255},\n                    successDrawColor = {30, 144, 255, 255},\n                }\n            },\n            distance = 0.7,\n        })\n    else\n        -- If you are using a target system other than ox_target and qb-target, add your target usability logging function here\n    end\nend\n\n\n-- @EnableMemberships: If you use in any gym the required membership, run it then it will work correctly reading memberships\nConfig.EnableMemberships = true\n\n-- @EnableGiveMembership: Allows employees to give gym memberships.\nConfig.EnableGiveMembership = true\nConfig.GetClosestPlayersFunction = function()\n    local playerInArea = ESX.Game.GetPlayersInArea(GetEntityCoords(PlayerPedId()), 10.0) -- For ESX\n    -- local playerInArea = QBCore.Functions.GetPlayersFromCoords(GetEntityCoords(PlayerPedId()), 10.0) -- For QB-CORE\n    return playerInArea\nend\n\n\n-- @EnableStrenghtModifier: In the config.client.lua file, you can modify the player's hitting power with certain power stats.\n-- !!! IF YOUR ANTI-CHEAT BANS FOR STRENGHT MODIFICATION YOU NEED TO SET THIS OPTION TO FALSE OR MAKE A CHANGE IN THE ANTI-CHEAT !!!\nConfig.EnableStrenghtModifier = true\n\n-- @EnableRunSpeedModifier: In the config.client.lua file, you can modify the player's running speed with certain condition stats.\n-- !!! IF YOUR ANTI-CHEAT BANS FOR RUN MODIFICATION YOU NEED TO SET THIS OPTION TO FALSE OR MAKE A CHANGE IN THE ANTI-CHEAT !!!\nConfig.EnableRunSpeedModifier = true\n\n-- @EnableStaminaModifier: In the config.client.lua file, you can modify the player's stamina level with certain condition stats.\nConfig.EnableStaminaModifier = true\n\n\n-- @EnableSkillDrivingEffects: With low driving skill your vehicle will run into slides more often or through lack of skill will randomly turn, the higher the level the less or no effect it has\nConfig.EnableSkillDrivingEffects = true\nConfig.SkillDrivingEffectMinimumSpeed = 30.0\n\n-- @UnitOfSpeed: Customize your speed unit if you intend to use Config.EnableSkillDrivingEffects\nConfig.UnitOfSpeed = 'kmh' -- 'kmh' or 'mph'\n\n\n-- @AutoMembershipForEmployees: Every gym employee will have a gym membership with no requirement to buy one\nConfig.AutoMembershipForEmployees = true\n\n\n-- @UseCustomQuestionMenu: if you want to use for example vms_notify Question Menu, set it true, if you want to use Config.Menu to accept \/ reject of buying membership\nConfig.UseCustomQuestionMenu = false\nConfig.CustomQuestionMenu = function(sellerId, membershipName, days, hours, price)\n    local question = exports['vms_notify']:Question(\n        Config.Translate[Config.Language][\"question.title.buy_membership\"], \n        hours ~= 0 and Config.Translate[Config.Language][\"question.description.buy_membership_hours\"]:format(price, hours) or Config.Translate[Config.Language][\"question.description.buy_membership\"]:format(price, days), \n        '#4f64ff', \n        'fa-solid fa-people-arrows'\n    )\n    Citizen.Await(question)\n    if question == 'y' then -- vms_notify question export return 'y' when player accept and 'n' when player reject\n        TriggerServerEvent(\"vms_gym:sv:acceptMembership\", sellerId, membershipName, days, price)\n    elseif question == 'n' then\n        TriggerServerEvent(\"vms_gym:sv:rejectMembership\", sellerId)\n    end\nend\n\n\n-- @UseProgressbar: If you want to use a progress-bar for the exercises you are doing, you can do so below.\nConfig.UseProgressbar = false\nConfig.Progressbar = function(actionName, time)\n    exports['progressbar']:Progress({\n        name = actionName,\n        label = Config.Translate[Config.Language][\"progressbar.\"..actionName],\n        duration = time,\n        canCancel = false,\n        controlDisables = {\n            disableMouse = false,\n            disableMovement = true,\n            disableCarMovement = true,\n            disableCombat = true,\n        }\n    })\nend\n\n-- @UseSkillbar: If you want to use a skill-bar for the exercises you are doing, you can do so below.\nConfig.UseSkillbar = false\nConfig.Skillbar = function(actionName, cb)\n    local finished = exports[\"tgiann-skillbar\"]:taskBar(3000)\n    cb(finished)\nend\n\nConfig.BossMenu = function(jobName)\n    if Config.Core == \"ESX\" then\n        TriggerEvent('esx_society:openBossMenu', jobName, function(data, menu) -- esx_society\n            menu.close()\n        end, {wash = false})\n    elseif Config.Core == \"QB-Core\" then\n        TriggerEvent('qb-bossmenu:client:OpenMenu') -- qb-management\n    end\nend\n\nConfig.StatisticCommand = '+statistics'\nConfig.StatisticKey = 'G'\nConfig.StatisticDescription = 'Open statistics menu'\n\nConfig.StatisticsMenu = {\n    ['strenght'] = true,\n    ['condition'] = true,\n    ['shooting'] = true,\n    ['driving'] = true,\n    ['flying'] = true,\n}\n\nConfig.Blip = { -- https:\/\/docs.fivem.net\/docs\/game-references\/blips\/\n    [\"Sprite\"] = 311,\n    [\"Scale\"] = 0.85,\n    [\"Color\"] = 46,\n    [\"Display\"] = 4\n}\n\nConfig.Keys = { -- https:\/\/docs.fivem.net\/docs\/game-references\/controls\/\n    enter = 38, -- E\n    train = 22, -- SPACE\n    stop = 73-- X\n}\n\nConfig.Markers = {\n\t['BossMenu'] = {\n\t\tid = 29,\n\t\tcolor = {95, 255, 95, 125},\n\t\tsize = vec(0.33, 0.33, 0.33),\n\t\tbobUpAndDown = false,\n\t\trotate = true\n\t},\n\t['FreeSeat'] = {\n\t\tid = 20,\n        color = {59, 227, 137, 125},\n        rotation = {180.0, 0.0, 0.0},\n\t\tsize = vec(0.15, 0.15, 0.15),\n\t\tbobUpAndDown = false,\n\t\trotate = true\n\t},\n}\n\nConfig.Animations = {\n    ['pull-up'] = {\n        enter = {'amb@prop_human_muscle_chin_ups@male@enter', 'enter', 1800},\n        idle = {'amb@prop_human_muscle_chin_ups@male@idle_a', 'idle_a', -1},\n        training = {'amb@prop_human_muscle_chin_ups@male@base', 'base', 2900},\n        exit = {'amb@prop_human_muscle_chin_ups@male@exit', 'exit', 2000},\n    },\n    ['bench'] = {\n        enter = {'amb@prop_human_seat_muscle_bench_press@enter', 'enter', 0},\n        idle = {'amb@prop_human_seat_muscle_bench_press@base', 'base', -1},\n        training = {'amb@prop_human_seat_muscle_bench_press@idle_a', 'idle_a', 2350},\n        exit = {'amb@prop_human_seat_muscle_bench_press@exit', 'exit', 2500},\n    },\n    ['barbell'] = {\n        idle = {'amb@world_human_muscle_free_weights@male@barbell@idle_a', 'idle_a', -1},\n        training = {'amb@world_human_muscle_free_weights@male@barbell@base', 'base', 4500},\n    },\n    ['push-up'] = {\n        enter = {'amb@world_human_push_ups@male@enter', 'enter', 3500},\n        idle = {'amb@world_human_push_ups@male@idle_a', 'idle_a', -1},\n        training = {'amb@world_human_push_ups@male@base', 'base', 1100},\n        exit = {'amb@world_human_push_ups@male@exit', 'exit', 4050},\n    },\n    ['dumbbells'] = {\n        idle = {'amb@world_human_muscle_free_weights@male@barbell@idle_a', 'idle_a', -1},\n        training = {'amb@world_human_muscle_free_weights@male@barbell@base', 'base', 4500},\n    },\n    ['treadmill'] = {\n        idle = {'move_m@hurry@c', 'walk', -1},\n        training = {'move_m@brave@a', 'run', 4000},\n    },\n}\n\n-- @RefreshTimeAddStats: Time every how much the statistic will add up for different activities e.g. swimming, running etc.\nConfig.RefreshTimeAddStats = 10000 -- 10 seconds\nConfig.AddStatsValues = {\n    -- Condition:\n    ['Running'] = 3,\n    ['Swimming'] = {5, 8},\n    ['Cycling'] = {minimumSpeed = 15, value = {6, 8}},\n    \n    -- Shooting:\n    ['Shooting'] = {1, 2},\n\n    -- Driving:\n    ['Driving'] = {minimumSpeed = 140, value = {2, 7}},\n\n    -- Flying:\n    ['Flying'] = {minimumSpeed = 180, value = {5, 10}},\n}\n\n-- @RefreshTimeRemoveStats: \nConfig.RefreshTimeRemoveStats = 120000 -- 120 seconds\nConfig.RemoveStatsValues = {\n    -- Condition:\n    ['RemoveCondition'] = 1,\n\n    -- Strength:\n    ['RemoveStrength'] = 1,\n}\n\nConfig.Gyms = {\n    [1] = {\n        business = true,\n        ownerJob = 'police',\n        jobMenuPos = vector3(-1195.35, -1577.57, 4.5),\n        menuGrades = nil, -- nil: any player with this job | string: 'boss' | table: {'boss', 'manager'}\n        bossMenuGrades = 'boss', -- string: 'boss' or table: {'boss', 'manager'}\n        blipCoords = vector3(-1203.47, -1564.67, 4.02), -- don't remove it, set it in the center of the gym\n        blipName = 'Gym Plaza',\n        blipEnabled = true,\n        requiredMembership = 'plaza_gym', -- false or name of membership like: 'plaza_gym'\n        memberships = {\n            {hours = 2, price = 100},\n            {hours = 12, price = 500},\n            {days = 1, price = 1000},\n            {days = 7, price = 5500},\n            {days = 14, price = 10000},\n            {days = 24, price = 20000},\n            {days = 31, price = 25000},\n        },\n        points = {\n            {\n                name = 'bench',\n                prop = {name = 'prop_barbell_60kg', attachBone = 28422, placement = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0}},\n                activityCoord = vector4(-1200.64, -1562.11, 3.10, 125.29),\n                position = vec(-1201.55, -1562.81, 4.5),\n                removeStamina = 8,\n                addSkill = {skill = \"strenght\", value = {2, 4}}, -- this value is divided by 10 - this means that setting {2, 4} it will be 0.2, 0.4\n            },\n            {\n                name = 'bench',\n                prop = {name = 'prop_barbell_60kg', attachBone = 28422, placement = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0}},\n                activityCoord = vector4(-1207.11, -1560.81, 3.10, 212.49),\n                position = vec(-1206.53, -1561.62, 4.5),\n                removeStamina = 8,\n                addSkill = {skill = \"strenght\", value = {2, 4}}, -- this value is divided by 10 - this means that setting {2, 4} it will be 0.2, 0.4\n            },\n            {\n                name = 'bench',\n                prop = {name = 'prop_barbell_60kg', attachBone = 28422, placement = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0}},\n                activityCoord = vector4(-1201.3, -1575.02, 3.10, 216.27),\n                position = vec(-1200.68, -1575.89, 4.5),\n                removeStamina = 8,\n                addSkill = {skill = \"strenght\", value = {2, 4}}, -- this value is divided by 10 - this means that setting {2, 4} it will be 0.2, 0.4\n            },\n            {\n                name = 'bench',\n                prop = {name = 'prop_barbell_60kg', attachBone = 28422, placement = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0}},\n                activityCoord = vector4(-1197.96, -1568.22, 3.10, 305.69),\n                position = vec(-1197.13, -1567.6, 4.5),\n                removeStamina = 8,\n                addSkill = {skill = \"strenght\", value = {2, 4}}, -- this value is divided by 10 - this means that setting {2, 4} it will be 0.2, 0.4\n            },\n            {\n                name = 'pull-up',\n                activityCoord = vector4(-1204.74, -1564.35, 3.585, 35.88),\n                position = vec(-1204.74, -1564.35, 4.5),\n                removeStamina = 6,\n                addSkill = {skill = \"strenght\", value = {1, 3}}, -- this value is divided by 10 - this means that setting {1, 3} it will be 0.1, 0.3\n            },\n            {\n                name = 'pull-up',\n                activityCoord = vector4(-1200.02, -1571.14, 3.585, 213.62),\n                position = vec(-1200.19, -1570.93, 4.5),\n                removeStamina = 6,\n                addSkill = {skill = \"strenght\", value = {1, 3}}, -- this value is divided by 10 - this means that setting {1, 3} it will be 0.1, 0.3\n            },\n            {\n                name = 'barbell',\n                prop = {name = 'prop_curl_bar_01', attachBone = 28422, placement = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0}},\n                activityCoord = vector4(-1199.03, -1574.59, 3.61, 215.48),\n                position = vec(-1198.97, -1574.5, 4.5),\n                removeStamina = 7,\n                addSkill = {skill = \"strenght\", value = {2, 3}}, -- this value is divided by 10 - this means that setting {2, 3} it will be 0.2, 0.3\n            },\n            {\n                name = 'barbell',\n                prop = {name = 'prop_curl_bar_01', attachBone = 28422, placement = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0}},\n                activityCoord = vector4(-1197.01, -1572.9, 3.61, 214.71),\n                position = vec(-1197.01, -1572.9, 4.5),\n                removeStamina = 7,\n                addSkill = {skill = \"strenght\", value = {2, 3}}, -- this value is divided by 10 - this means that setting {2, 3} it will be 0.2, 0.3\n            },\n            {\n                name = 'barbell',\n                prop = {name = 'prop_curl_bar_01', attachBone = 28422, placement = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0}},\n                activityCoord = vector4(-1202.67, -1565.53, 3.61, 32.46),\n                position = vec(-1202.67, -1565.53, 4.5),\n                removeStamina = 7,\n                addSkill = {skill = \"strenght\", value = {2, 3}}, -- this value is divided by 10 - this means that setting {2, 3} it will be 0.2, 0.3\n            },\n            {\n                name = 'barbell',\n                prop = {name = 'prop_curl_bar_01', attachBone = 28422, placement = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0}},\n                activityCoord = vector4(-1210.31, -1561.34, 3.61, 77.1),\n                position = vec(-1210.31, -1561.34, 4.5),\n                removeStamina = 7,\n                addSkill = {skill = \"strenght\", value = {2, 3}}, -- this value is divided by 10 - this means that setting {2, 3} it will be 0.2, 0.3\n            },\n            {\n                name = 'push-up',\n                activityCoord = vector4(-1204.48, -1561.15, 3.61, 29.36),\n                position = vec(-1204.48, -1561.15, 4.5),\n                removeStamina = 3,\n                addSkill = {skill = \"strenght\", value = 1}, -- this value is divided by 10 - this means that setting 1 it will be 0.1\n            },\n            {\n                name = 'dumbbells',\n                prop = {name = 'prop_barbell_01', attachBone = 28422, placement = {-0.24, 0.0, -0.03, 0.0, -50.0, 0.0}},\n                prop2 = {name = 'prop_barbell_01', attachBone = 60309, placement = {0.05, 0.0, 0.0, 0.0, -90.0, 120.0}},\n                activityCoord = vector4(-1202.6, -1572.78, 3.61, 127.31),\n                position = vec(-1202.6, -1572.78, 4.5),\n                removeStamina = 4,\n                addSkill = {skill = \"strenght\", value = {1, 2}}, -- this value is divided by 10 - this means that setting {1, 2} it will be 0.1, 0.2\n            },\n            {\n                name = 'dumbbells',\n                prop = {name = 'prop_barbell_01', attachBone = 28422, placement = {-0.24, 0.0, -0.03, 0.0, -50.0, 0.0}},\n                prop2 = {name = 'prop_barbell_01', attachBone = 60309, placement = {0.05, 0.0, 0.0, 0.0, -90.0, 120.0}},\n                activityCoord = vector4(-1209.33, -1559.18, 3.61, 48.95),\n                position = vec(-1209.33, -1559.18, 4.5),\n                removeStamina = 4,\n                addSkill = {skill = \"strenght\", value = {1, 2}}, -- this value is divided by 10 - this means that setting {1, 2} it will be 0.1, 0.2\n            },\n            {\n                name = 'dumbbells',\n                prop = {name = 'prop_barbell_01', attachBone = 28422, placement = {-0.24, 0.0, -0.03, 0.0, -50.0, 0.0}},\n                prop2 = {name = 'prop_barbell_01', attachBone = 60309, placement = {0.05, 0.0, 0.0, 0.0, -90.0, 120.0}},\n                activityCoord = vector4(-1198.32, -1565.38, 3.62, 240.3),\n                position = vector3(-1198.32, -1565.41, 4.5),\n                removeStamina = 4,\n                addSkill = {skill = \"strenght\", value = {1, 2}}, -- this value is divided by 10 - this means that setting {1, 2} it will be 0.1, 0.2\n            },\n        },\n    },\n    [2] = {\n        business = nil,\n        ownerJob = nil,\n        jobMenuPos = vector3(-1254.26, -354.04, 36.96),\n        menuGrades = nil, -- nil: any player with this job | string: 'boss' | table: {'boss', 'manager'}\n        bossMenuGrades = 'boss', -- string: 'boss' or table: {'boss', 'manager'}\n        blipCoords = vector(-1255.8, -354.21, 35.96),\n        blipName = 'Pump &amp; Run GYM',\n        blipEnabled = true,\n        requiredMembership = 'pump_and_run', -- false or name of membership like: 'pump_and_run'\n        memberships = {\n            {days = 1, price = 1000},\n            {days = 7, price = 5500},\n            {days = 14, price = 10000},\n            {days = 24, price = 20000},\n            {days = 31, price = 25000},\n        },\n        points = {\n            {\n                name = 'treadmill',\n                activityCoord = vector4(-1257.63, -366.56, 36.12, 207.75),\n                position = vector3(-1258.33, -365.23, 36.96),\n                removeStamina = 1,\n                addSkill = {skill = \"condition\", value = {4, 5}}, -- this value is divided by 10 - this means that setting 1 it will be 0.1\n            },\n            {\n                name = 'treadmill',\n                activityCoord = vector4(-1259.15, -367.3, 36.11, 207.75),\n                position = vector3(-1259.76, -366.11, 36.96),\n                removeStamina = 1,\n                addSkill = {skill = \"condition\", value = {4, 5}}, -- this value is divided by 10 - this means that setting 1 it will be 0.1\n            },\n            {\n                name = 'treadmill',\n                activityCoord = vector4(-1260.75, -368.02, 36.11, 207.75),\n                position = vector3(-1261.32, -366.99, 36.96),\n                removeStamina = 1,\n                addSkill = {skill = \"condition\", value = {4, 5}}, -- this value is divided by 10 - this means that setting 1 it will be 0.1\n            },\n            {\n                name = 'treadmill',\n                activityCoord = vector4(-1262.14, -368.9, 36.11, 207.75),\n                position = vector3(-1262.67, -367.88, 36.96),\n                removeStamina = 1,\n                addSkill = {skill = \"condition\", value = {4, 5}}, -- this value is divided by 10 - this means that setting 1 it will be 0.1\n            },\n            {\n                name = 'treadmill',\n                activityCoord = vector4(-1263.46, -369.66, 36.11, 207.75),\n                position = vector3(-1264.11, -368.58, 36.96),\n                removeStamina = 1,\n                addSkill = {skill = \"condition\", value = {4, 5}}, -- this value is divided by 10 - this means that setting 1 it will be 0.1\n            },\n            {\n                name = 'treadmill',\n                activityCoord = vector4(-1264.84, -370.34, 36.11, 210.35),\n                position = vector3(-1265.42, -369.34, 36.96),\n                removeStamina = 1,\n                addSkill = {skill = \"condition\", value = {4, 5}}, -- this value is divided by 10 - this means that setting 1 it will be 0.1\n            },\n\n            {\n                name = 'push-up',\n                activityCoord = vector4(-1263.23, -363.06, 35.99, 281.81),\n                position = vector3(-1263.24, -363.07, 36.99),\n                removeStamina = 3,\n                addSkill = {skill = \"strenght\", value = 1}, -- this value is divided by 10 - this means that setting 1 it will be 0.1\n            },\n            {\n                name = 'push-up',\n                activityCoord = vector4(-1262.22, -359.14, 35.99, 225.7),\n                position = vector3(-1262.35, -359.08, 36.99),\n                removeStamina = 3,\n                addSkill = {skill = \"strenght\", value = 1}, -- this value is divided by 10 - this means that setting 1 it will be 0.1\n            },\n            {\n                name = 'dumbbells',\n                prop = {name = 'prop_barbell_01', attachBone = 28422, placement = {-0.24, 0.0, -0.03, 0.0, -50.0, 0.0}},\n                prop2 = {name = 'prop_barbell_01', attachBone = 60309, placement = {0.05, 0.0, 0.0, 0.0, -90.0, 120.0}},\n                activityCoord = vector4(-1261.55, -353.61, 35.96, 293.97),\n                position = vector3(-1261.55, -353.61, 36.96),\n                removeStamina = 4,\n                addSkill = {skill = \"strenght\", value = {1, 2}}, -- this value is divided by 10 - this means that setting {1, 2} it will be 0.1, 0.2\n            },\n            {\n                name = 'dumbbells',\n                prop = {name = 'prop_barbell_01', attachBone = 28422, placement = {-0.24, 0.0, -0.03, 0.0, -50.0, 0.0}},\n                prop2 = {name = 'prop_barbell_01', attachBone = 60309, placement = {0.05, 0.0, 0.0, 0.0, -90.0, 120.0}},\n                activityCoord = vector4(-1268.76, -357.8, 35.96, 298.89),\n                position = vector3(-1268.7, -357.75, 36.96),\n                removeStamina = 4,\n                addSkill = {skill = \"strenght\", value = {1, 2}}, -- this value is divided by 10 - this means that setting {1, 2} it will be 0.1, 0.2\n            },\n            {\n                name = 'dumbbells',\n                prop = {name = 'prop_barbell_01', attachBone = 28422, placement = {-0.24, 0.0, -0.03, 0.0, -50.0, 0.0}},\n                prop2 = {name = 'prop_barbell_01', attachBone = 60309, placement = {0.05, 0.0, 0.0, 0.0, -90.0, 120.0}},\n                activityCoord = vector4(-1266.69, -356.9, 35.96, 118.72),\n                position = vector3(-1266.69, -356.9, 36.96),\n                removeStamina = 4,\n                addSkill = {skill = \"strenght\", value = {1, 2}}, -- this value is divided by 10 - this means that setting {1, 2} it will be 0.1, 0.2\n            },\n        },\n    },\n}<\/pre>\n","protected":false},"excerpt":{"rendered":"<h2>Caracter\u00edsticas<\/h2>\n<ul>\n<li>Compat\u00edvel com <strong>ESX e QB-Core<\/strong><\/li>\n<li>Compatibilidade com barras de progresso<\/li>\n<li>Compatibilidade com <a href=\"https:\/\/fivemx.com\/pt\/minijogos\/\" data-wpil-monitor-id=\"454\">minijogos<\/a> como barra de habilidade<\/li>\n<li>Compatibilidade com o sistema de destino \u2013 ox_target, qb-target etc.<\/li>\n<li>Compatibilidade com menus: esx_menu_default, esx_context, qb-menu, ox_lib.<\/li>\n<li>Compatibilidade com menu de perguntas personalizado para aceitar compras de passes de academia, como vms_notify.<\/li>\n<li>Menu com estat\u00edsticas dos personagens.<\/li>\n<li><a href=\"https:\/\/fivemx.com\/pt\/tutoriais\/traducao-de-scripts-fivem-2\/\" data-wpil-monitor-id=\"567\">Tradu\u00e7\u00e3o do roteiro<\/a> em v\u00e1rios idiomas gra\u00e7as \u00e0 equipe do VMS Translator: ingl\u00eas, tcheco, alem\u00e3o, franc\u00eas, espanhol, portugu\u00eas, polon\u00eas<\/li>\n<li>A capacidade de ter v\u00e1rios gin\u00e1sios no servidor.<\/li>\n<li>A capacidade de configurar a academia para funcionar, incluindo a capacidade de definir o passe necess\u00e1rio que pode ser vendido por um funcion\u00e1rio com o sinal definido na configura\u00e7\u00e3o de trabalho.<\/li>\n<li>Assinaturas tempor\u00e1rias de academias inclu\u00eddas no script com tempos de expira\u00e7\u00e3o ajust\u00e1veis.<\/li>\n<li>Muitas atividades na academia: supino, barra, halteres, pull-ups em uma barra, flex\u00f5es, corrida em uma esteira \u2022 Resist\u00eancia durante o exerc\u00edcio dependente da condi\u00e7\u00e3o do seu personagem - para aumentar a condi\u00e7\u00e3o do seu personagem, \u00e9 necess\u00e1rio nadar, correr ou andar de bicicleta. \u2022 Para praticar isso, \u00e9 necess\u00e1rio pressionar um bot\u00e3o, n\u00e3o \u00e9 feito automaticamente, tamb\u00e9m \u00e9 poss\u00edvel conectar a ele, por exemplo, barra de habilidades.<\/li>\n<li>A falta de exerc\u00edcio resulta em redu\u00e7\u00e3o da condi\u00e7\u00e3o f\u00edsica e da for\u00e7a ao longo do tempo.<\/li>\n<li>Capacidade de modificar a velocidade de corrida e a for\u00e7a do impacto dependendo das estat\u00edsticas do personagem.<\/li>\n<li>Possibilidade de usar marcador, texto 3D ou sem essas op\u00e7\u00f5es.<\/li>\n<li>O script tem 3 exporta\u00e7\u00f5es dispon\u00edveis do lado do cliente \u2013 addSkill(&#039;skill_name&#039;, value) =&gt; Isso permite que voc\u00ea aumente sua habilidade com outras atividades em seus outros scripts. \u2013 getSkill(&#039;skill_name&#039;) =&gt; A capacidade de obter um valor de quanta habilidade um jogador tem e, assim, adicionar a capacidade de ser ativo em outros recursos quando um jogador tem resist\u00eancia ou for\u00e7a suficiente, por exemplo. \u2013 removeSkill(&#039;skill_name&#039;, value) =&gt; Isso permite que voc\u00ea reduza a habilidade com outras atividades em seus outros scripts, por exemplo, comer alimentos cal\u00f3ricos, como hamb\u00fargueres, etc.<\/li>\n<li>Tradu\u00e7\u00e3o completa com config.lua e translation.js.<\/li>\n<li>Completo <a class=\"wpil_keyword_link\" href=\"https:\/\/fivemx.com\/pt\/apoiar\/\" title=\"apoiar\" data-wpil-keyword-link=\"linked\" data-wpil-monitor-id=\"1356\">apoiar<\/a>.<\/li>\n<\/ul>","protected":false},"featured_media":92224,"comment_status":"open","ping_status":"closed","template":"","meta":[],"product_brand":[2917],"product_cat":[1892,96,1820,512,2907,511],"product_tag":[],"class_list":["post-92223","product","type-product","status-publish","has-post-thumbnail","product_brand-vms","product_cat-fivem-job-scripts","product_cat-esx-scripts","product_cat-police-scripts","product_cat-qbcore-scripts","product_cat-qbox-scripts","product_cat-standalone-scripts","first","instock","sale","downloadable","virtual","taxable","purchasable","product-type-simple"],"_links":{"self":[{"href":"https:\/\/fivemx.com\/pt\/wp-json\/wp\/v2\/product\/92223","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fivemx.com\/pt\/wp-json\/wp\/v2\/product"}],"about":[{"href":"https:\/\/fivemx.com\/pt\/wp-json\/wp\/v2\/types\/product"}],"replies":[{"embeddable":true,"href":"https:\/\/fivemx.com\/pt\/wp-json\/wp\/v2\/comments?post=92223"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/fivemx.com\/pt\/wp-json\/wp\/v2\/media\/92224"}],"wp:attachment":[{"href":"https:\/\/fivemx.com\/pt\/wp-json\/wp\/v2\/media?parent=92223"}],"wp:term":[{"taxonomy":"product_brand","embeddable":true,"href":"https:\/\/fivemx.com\/pt\/wp-json\/wp\/v2\/product_brand?post=92223"},{"taxonomy":"product_cat","embeddable":true,"href":"https:\/\/fivemx.com\/pt\/wp-json\/wp\/v2\/product_cat?post=92223"},{"taxonomy":"product_tag","embeddable":true,"href":"https:\/\/fivemx.com\/pt\/wp-json\/wp\/v2\/product_tag?post=92223"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}