{"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":"competences-en-gymnastique","status":"publish","type":"product","link":"https:\/\/fivemx.com\/fr\/gym-skills\/","title":{"rendered":"GYMNASE ET COMP\u00c9TENCES (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>Caract\u00e9ristiques<\/h2>\n<ul>\n<li>Compatible avec <strong>ESX et QB-Core<\/strong><\/li>\n<li>Compatibilit\u00e9 avec les barres de progression<\/li>\n<li>Compatibilit\u00e9 avec <a href=\"https:\/\/fivemx.com\/fr\/mini-jeux-2\/\" data-wpil-monitor-id=\"454\">mini-jeux<\/a> comme la barre de comp\u00e9tences<\/li>\n<li>Compatibilit\u00e9 avec le syst\u00e8me cible \u2013 ox_target, qb-target etc.<\/li>\n<li>Compatibilit\u00e9 avec les menus : esx_menu_default, esx_context, qb-menu, ox_lib.<\/li>\n<li>Compatibilit\u00e9 avec le menu de questions personnalis\u00e9 pour accepter les achats de pass de salle de sport tels que vms_notify.<\/li>\n<li>Menu avec statistiques des personnages.<\/li>\n<li><a href=\"https:\/\/fivemx.com\/fr\/tutoriels-2\/traduction-de-scripts-fivem\/\" data-wpil-monitor-id=\"567\">Traduction du sc\u00e9nario<\/a> dans de nombreuses langues gr\u00e2ce \u00e0 l&#039;\u00e9quipe de VMS Translator : anglais, tch\u00e8que, allemand, fran\u00e7ais, espagnol, portugais, polonais<\/li>\n<li>La possibilit\u00e9 d&#039;avoir plusieurs salles de sport sur le serveur.<\/li>\n<li>La possibilit\u00e9 de mettre la salle de sport en marche, y compris la possibilit\u00e9 de d\u00e9finir le pass requis qui peut \u00eatre vendu par un employ\u00e9 avec la gr\u00eale d\u00e9finie dans la configuration de travail.<\/li>\n<li>Abonnements temporaires \u00e0 des salles de sport int\u00e9gr\u00e9s au script avec des d\u00e9lais d&#039;expiration r\u00e9glables.<\/li>\n<li>De nombreuses activit\u00e9s dans la salle de sport : banc, barre, halt\u00e8res, tractions sur une barre, pompes, course sur un tapis roulant \u2022 L&#039;endurance pendant l&#039;exercice d\u00e9pend de l&#039;\u00e9tat de votre personnage - pour am\u00e9liorer l&#039;\u00e9tat de votre personnage, il faut nager, courir ou faire du v\u00e9lo. \u2022 Pour pratiquer cela, il faut appuyer sur un bouton, ce n&#039;est pas fait automatiquement, vous pouvez \u00e9galement vous y connecter, par exemple, une barre de comp\u00e9tences.<\/li>\n<li>Le manque d\u2019exercice entra\u00eene une diminution de la condition physique et de la force au fil du temps.<\/li>\n<li>Possibilit\u00e9 de modifier la vitesse de course et la force d&#039;impact en fonction des statistiques du personnage.<\/li>\n<li>Possibilit\u00e9 d&#039;utiliser marqueur, texte 3D ou sans ces options.<\/li>\n<li>Le script dispose de 3 exportations c\u00f4t\u00e9 client disponibles \u2013 addSkill(&#039;skill_name&#039;, value) =&gt; Cela vous permet d&#039;augmenter vos comp\u00e9tences avec d&#039;autres activit\u00e9s dans vos autres scripts. \u2013 getSkill(&#039;skill_name&#039;) =&gt; La possibilit\u00e9 d&#039;obtenir une valeur de la comp\u00e9tence d&#039;un joueur et ainsi d&#039;ajouter la possibilit\u00e9 d&#039;\u00eatre actif dans d&#039;autres ressources lorsqu&#039;un joueur a suffisamment d&#039;endurance ou de force, par exemple. \u2013 removeSkill(&#039;skill_name&#039;, value) =&gt; Cela vous permet de r\u00e9duire les comp\u00e9tences avec d&#039;autres activit\u00e9s dans vos autres scripts, par exemple en mangeant des aliments caloriques comme des hamburgers, etc.<\/li>\n<li>Traduction compl\u00e8te avec config.lua et translation.js.<\/li>\n<li>Complet <a class=\"wpil_keyword_link\" href=\"https:\/\/fivemx.com\/fr\/soutien\/\" title=\"soutien\" data-wpil-keyword-link=\"linked\" data-wpil-monitor-id=\"1356\">soutien<\/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\/fr\/wp-json\/wp\/v2\/product\/92223","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fivemx.com\/fr\/wp-json\/wp\/v2\/product"}],"about":[{"href":"https:\/\/fivemx.com\/fr\/wp-json\/wp\/v2\/types\/product"}],"replies":[{"embeddable":true,"href":"https:\/\/fivemx.com\/fr\/wp-json\/wp\/v2\/comments?post=92223"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/fivemx.com\/fr\/wp-json\/wp\/v2\/media\/92224"}],"wp:attachment":[{"href":"https:\/\/fivemx.com\/fr\/wp-json\/wp\/v2\/media?parent=92223"}],"wp:term":[{"taxonomy":"product_brand","embeddable":true,"href":"https:\/\/fivemx.com\/fr\/wp-json\/wp\/v2\/product_brand?post=92223"},{"taxonomy":"product_cat","embeddable":true,"href":"https:\/\/fivemx.com\/fr\/wp-json\/wp\/v2\/product_cat?post=92223"},{"taxonomy":"product_tag","embeddable":true,"href":"https:\/\/fivemx.com\/fr\/wp-json\/wp\/v2\/product_tag?post=92223"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}