
Holster Script (+ Sound)
$4.99

Trygon HUD
$35.99 Ursprünglicher Preis war: $35.99$23.99Aktueller Preis ist: $23.99.


GYM & SKILLS (ESX/QB)
$31.99 Ursprünglicher Preis war: $31.99$22.99Aktueller Preis ist: $22.99.
Features
- Compatible with ESX & QB-Core
- Compatibility with progressbars
- Compatibility with minigames such as skill-bar
- Compatibility with target system – ox_target, qb-target etc..
- Compatibility with menus: esx_menu_default, esx_context, qb-menu, ox_lib.
- Compatibility with custom question menu for accepting gym pass purchases such as vms_notify.
- Menu with character statistics.
- Translation of the script in many languages thanks to the VMS Translator team: English, Czech, German, French, Spanish, Portuguese, Polish
- The ability to have multiple gyms on the server.
- The ability to set the gym to work including the ability to set the required pass that can be sold by an employee with the hail set in the work config.
- Temporary gym memberships built into the script with adjustable expiration times.
- Many activities at the gym: bench, barbell, dumbbells, pull-ups on a bar, push-ups, running on a treadmill • Endurance during exercise dependent on your character’s condition – to increase your character’s condition it requires swimming, running or cycling. • To practice this requires pressing a button, it is not automatically done, also you can plug to it, for example, skill-bar.
- Lack of exercise results in reduced condition and strength over time.
- Ability to modify running speed and impact strength depending on character stats.
- Possibility to use marker, 3d text or without these options.
- The script has 3 available client-side exports – addSkill(‘skill_name’, value) => This allows you to increase your skilling with other activities in your other scripts. – getSkill(‘skill_name’) => The ability to get a value of how much a player has skil and thus add the ability to be active in other resources when a player has enough stamina or strength, for example. – removeSkill(‘skill_name’, value) => This allows you to reduce the skilling with other activities in your other scripts, e.g. eating caloric foods such as burgers etc.
- Full translation with config.lua & translation.js.
- Full support.
$ USD
-
$ USD
-
€ EUR
-
£ GBP
-
$ AUD
-
R$ BRL
-
CHF CHF
-
¥ JPY
-
Instant Download
-
Satisfaction Guarantee
-
100% Open Source
-
Works out-of-the-box
Beschreibung
Config file:
Config = {} Config.Core = "ESX" -- "ESX" / "QB-Core" Config.CoreExport = function() return exports['es_extended']:getSharedObject() -- return exports['qb-core']:GetCoreObject() end Config.Notification = function(title, message, time, icon, type) if type == "success" then exports["vms_notify"]:Notification(title, message, time, "#27FF09", icon) -- ESX.ShowNotification(message) -- QBCore.Functions.Notify(message, "success", 5000) elseif type == "info" then exports["vms_notify"]:Notification(title, message, time, "#428AF5", icon) -- ESX.ShowNotification(message) -- QBCore.Functions.Notify(message, "inform", 5000) elseif type == "error" then exports["vms_notify"]:Notification(title, message, time, "#FF0909", icon) -- ESX.ShowNotification(message) -- QBCore.Functions.Notify(message, "error", 5000) end end Config.TextUI = { Enabled = false, Open = function(msg) exports["interact"]:Open("E", msg) -- Here you can use your TextUI or use my free one - https://github.com/vames-dev/interact -- exports['okokTextUI']:Open('[E] '..msg, 'darkgreen', 'right') -- exports['qb-core']:DrawText(msg, 'right') end, Close = function(msg) exports["interact"]:Close() -- Here you can use your TextUI or use my free one - https://github.com/vames-dev/interact -- exports['okokTextUI']:Close() -- exports['qb-core']:HideText() end, } --@AutoExecuteQuery: Will automatically add the 'statistics' column to your ESX: `users` / QB-Core: `players` table if it doesn't already exist. Config.AutoExecuteQuery = true -- @PlayerLoaded: ESX: "esx:playerLoaded" / QB-Core: "QBCore:Client:OnPlayerLoaded" Config.PlayerLoaded = "esx:playerLoaded" -- @PlayerLoaded: ESX: "esx:playerLoaded" / QB-Core: "QBCore:Server:OnPlayerLoaded" Config.PlayerLoadedServer = "esx:playerLoaded" -- @PlayerLogoutServer: ESX: "esx:playerDropped" / QB-Core: "QBCore:Server:OnPlayerUnload" Config.PlayerLogoutServer = "esx:playerDropped" -- @JobUpdated: ESX: "esx:setJob" / QB-Core: "QBCore:Client:OnJobUpdate" Config.JobUpdated = 'esx:setJob' -- @SavingTimeout: Every how long the player's statistics will be saved to the database - recommended 10 or 15 minutes Config.SavingTimeout = 60 * 10 * 1000 -- 10 minutes Config.Menu = 'esx_context' -- 'esx_menu_default' / 'esx_context' / 'qb-menu' / 'ox_lib' Config.ESXMenuDefault_Align = 'right' Config.SendNotificationWhenSkillIncrase = true Config.SendNotificationWhenSkillDecrease = true Config.DistanceView = 2.25 Config.DistanceAccess = 0.5 Config.UseMarkers = true Config.Use3DText = false Config.UseHelpNotify = true -- @UseTarget: If you use a target, markers for gym activities will not be displayed - the marker will remain for the boss menu Config.UseTarget = false Config.TargetResource = 'ox_target' Config.Target = function(data, func) if Config.TargetResource == 'ox_target' then exports["ox_target"]:addBoxZone({ coords = data.activityCoord, size = vec(2.0, 2.0, 4.3), debug = false, useZ = true, rotation = data.activityCoord.w, options = { { distance = 2.0, name = 'gym-'..data.name, icon = 'fa-solid fa-dumbbell', label = Config.Translate[Config.Language]['action.'..data.name], onSelect = func } } }) elseif Config.TargetResource == 'qb-target' then local id = math.random(1000000,1000000000000) exports['qb-target']:AddBoxZone('gym-'..data.name..'-'..id, data.activityCoord, 2.0, 2.0, { name = 'gym-'..data.name..'-'..id, heading = data.activityCoord.w, debugPoly = true, minZ = data.activityCoord.z, maxZ = data.activityCoord.z+3.5, }, { options = { { num = 1, icon = 'fas fa-example', label = Config.Translate[Config.Language]['action.'..data.name], targeticon = 'fa-solid fa-dumbbell', action = func, drawDistance = 10.0, drawColor = {255, 255, 255, 255}, successDrawColor = {30, 144, 255, 255}, } }, distance = 0.7, }) else -- If you are using a target system other than ox_target and qb-target, add your target usability logging function here end end -- @EnableMemberships: If you use in any gym the required membership, run it then it will work correctly reading memberships Config.EnableMemberships = true -- @EnableGiveMembership: Allows employees to give gym memberships. Config.EnableGiveMembership = true Config.GetClosestPlayersFunction = function() local playerInArea = ESX.Game.GetPlayersInArea(GetEntityCoords(PlayerPedId()), 10.0) -- For ESX -- local playerInArea = QBCore.Functions.GetPlayersFromCoords(GetEntityCoords(PlayerPedId()), 10.0) -- For QB-CORE return playerInArea end -- @EnableStrenghtModifier: In the config.client.lua file, you can modify the player's hitting power with certain power stats. -- !!! IF YOUR ANTI-CHEAT BANS FOR STRENGHT MODIFICATION YOU NEED TO SET THIS OPTION TO FALSE OR MAKE A CHANGE IN THE ANTI-CHEAT !!! Config.EnableStrenghtModifier = true -- @EnableRunSpeedModifier: In the config.client.lua file, you can modify the player's running speed with certain condition stats. -- !!! IF YOUR ANTI-CHEAT BANS FOR RUN MODIFICATION YOU NEED TO SET THIS OPTION TO FALSE OR MAKE A CHANGE IN THE ANTI-CHEAT !!! Config.EnableRunSpeedModifier = true -- @EnableStaminaModifier: In the config.client.lua file, you can modify the player's stamina level with certain condition stats. Config.EnableStaminaModifier = true -- @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 Config.EnableSkillDrivingEffects = true Config.SkillDrivingEffectMinimumSpeed = 30.0 -- @UnitOfSpeed: Customize your speed unit if you intend to use Config.EnableSkillDrivingEffects Config.UnitOfSpeed = 'kmh' -- 'kmh' or 'mph' -- @AutoMembershipForEmployees: Every gym employee will have a gym membership with no requirement to buy one Config.AutoMembershipForEmployees = true -- @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 Config.UseCustomQuestionMenu = false Config.CustomQuestionMenu = function(sellerId, membershipName, days, hours, price) local question = exports['vms_notify']:Question( Config.Translate[Config.Language]["question.title.buy_membership"], 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), '#4f64ff', 'fa-solid fa-people-arrows' ) Citizen.Await(question) if question == 'y' then -- vms_notify question export return 'y' when player accept and 'n' when player reject TriggerServerEvent("vms_gym:sv:acceptMembership", sellerId, membershipName, days, price) elseif question == 'n' then TriggerServerEvent("vms_gym:sv:rejectMembership", sellerId) end end -- @UseProgressbar: If you want to use a progress-bar for the exercises you are doing, you can do so below. Config.UseProgressbar = false Config.Progressbar = function(actionName, time) exports['progressbar']:Progress({ name = actionName, label = Config.Translate[Config.Language]["progressbar."..actionName], duration = time, canCancel = false, controlDisables = { disableMouse = false, disableMovement = true, disableCarMovement = true, disableCombat = true, } }) end -- @UseSkillbar: If you want to use a skill-bar for the exercises you are doing, you can do so below. Config.UseSkillbar = false Config.Skillbar = function(actionName, cb) local finished = exports["tgiann-skillbar"]:taskBar(3000) cb(finished) end Config.BossMenu = function(jobName) if Config.Core == "ESX" then TriggerEvent('esx_society:openBossMenu', jobName, function(data, menu) -- esx_society menu.close() end, {wash = false}) elseif Config.Core == "QB-Core" then TriggerEvent('qb-bossmenu:client:OpenMenu') -- qb-management end end Config.StatisticCommand = '+statistics' Config.StatisticKey = 'G' Config.StatisticDescription = 'Open statistics menu' Config.StatisticsMenu = { ['strenght'] = true, ['condition'] = true, ['shooting'] = true, ['driving'] = true, ['flying'] = true, } Config.Blip = { -- https://docs.fivem.net/docs/game-references/blips/ ["Sprite"] = 311, ["Scale"] = 0.85, ["Color"] = 46, ["Display"] = 4 } Config.Keys = { -- https://docs.fivem.net/docs/game-references/controls/ enter = 38, -- E train = 22, -- SPACE stop = 73-- X } Config.Markers = { ['BossMenu'] = { id = 29, color = {95, 255, 95, 125}, size = vec(0.33, 0.33, 0.33), bobUpAndDown = false, rotate = true }, ['FreeSeat'] = { id = 20, color = {59, 227, 137, 125}, rotation = {180.0, 0.0, 0.0}, size = vec(0.15, 0.15, 0.15), bobUpAndDown = false, rotate = true }, } Config.Animations = { ['pull-up'] = { enter = {'amb@prop_human_muscle_chin_ups@male@enter', 'enter', 1800}, idle = {'amb@prop_human_muscle_chin_ups@male@idle_a', 'idle_a', -1}, training = {'amb@prop_human_muscle_chin_ups@male@base', 'base', 2900}, exit = {'amb@prop_human_muscle_chin_ups@male@exit', 'exit', 2000}, }, ['bench'] = { enter = {'amb@prop_human_seat_muscle_bench_press@enter', 'enter', 0}, idle = {'amb@prop_human_seat_muscle_bench_press@base', 'base', -1}, training = {'amb@prop_human_seat_muscle_bench_press@idle_a', 'idle_a', 2350}, exit = {'amb@prop_human_seat_muscle_bench_press@exit', 'exit', 2500}, }, ['barbell'] = { idle = {'amb@world_human_muscle_free_weights@male@barbell@idle_a', 'idle_a', -1}, training = {'amb@world_human_muscle_free_weights@male@barbell@base', 'base', 4500}, }, ['push-up'] = { enter = {'amb@world_human_push_ups@male@enter', 'enter', 3500}, idle = {'amb@world_human_push_ups@male@idle_a', 'idle_a', -1}, training = {'amb@world_human_push_ups@male@base', 'base', 1100}, exit = {'amb@world_human_push_ups@male@exit', 'exit', 4050}, }, ['dumbbells'] = { idle = {'amb@world_human_muscle_free_weights@male@barbell@idle_a', 'idle_a', -1}, training = {'amb@world_human_muscle_free_weights@male@barbell@base', 'base', 4500}, }, ['treadmill'] = { idle = {'move_m@hurry@c', 'walk', -1}, training = {'move_m@brave@a', 'run', 4000}, }, } -- @RefreshTimeAddStats: Time every how much the statistic will add up for different activities e.g. swimming, running etc. Config.RefreshTimeAddStats = 10000 -- 10 seconds Config.AddStatsValues = { -- Condition: ['Running'] = 3, ['Swimming'] = {5, 8}, ['Cycling'] = {minimumSpeed = 15, value = {6, 8}}, -- Shooting: ['Shooting'] = {1, 2}, -- Driving: ['Driving'] = {minimumSpeed = 140, value = {2, 7}}, -- Flying: ['Flying'] = {minimumSpeed = 180, value = {5, 10}}, } -- @RefreshTimeRemoveStats: Config.RefreshTimeRemoveStats = 120000 -- 120 seconds Config.RemoveStatsValues = { -- Condition: ['RemoveCondition'] = 1, -- Strength: ['RemoveStrength'] = 1, } Config.Gyms = { [1] = { business = true, ownerJob = 'police', jobMenuPos = vector3(-1195.35, -1577.57, 4.5), menuGrades = nil, -- nil: any player with this job | string: 'boss' | table: {'boss', 'manager'} bossMenuGrades = 'boss', -- string: 'boss' or table: {'boss', 'manager'} blipCoords = vector3(-1203.47, -1564.67, 4.02), -- don't remove it, set it in the center of the gym blipName = 'Gym Plaza', blipEnabled = true, requiredMembership = 'plaza_gym', -- false or name of membership like: 'plaza_gym' memberships = { {hours = 2, price = 100}, {hours = 12, price = 500}, {days = 1, price = 1000}, {days = 7, price = 5500}, {days = 14, price = 10000}, {days = 24, price = 20000}, {days = 31, price = 25000}, }, points = { { name = 'bench', prop = {name = 'prop_barbell_60kg', attachBone = 28422, placement = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0}}, activityCoord = vector4(-1200.64, -1562.11, 3.10, 125.29), position = vec(-1201.55, -1562.81, 4.5), removeStamina = 8, 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 }, { name = 'bench', prop = {name = 'prop_barbell_60kg', attachBone = 28422, placement = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0}}, activityCoord = vector4(-1207.11, -1560.81, 3.10, 212.49), position = vec(-1206.53, -1561.62, 4.5), removeStamina = 8, 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 }, { name = 'bench', prop = {name = 'prop_barbell_60kg', attachBone = 28422, placement = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0}}, activityCoord = vector4(-1201.3, -1575.02, 3.10, 216.27), position = vec(-1200.68, -1575.89, 4.5), removeStamina = 8, 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 }, { name = 'bench', prop = {name = 'prop_barbell_60kg', attachBone = 28422, placement = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0}}, activityCoord = vector4(-1197.96, -1568.22, 3.10, 305.69), position = vec(-1197.13, -1567.6, 4.5), removeStamina = 8, 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 }, { name = 'pull-up', activityCoord = vector4(-1204.74, -1564.35, 3.585, 35.88), position = vec(-1204.74, -1564.35, 4.5), removeStamina = 6, 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 }, { name = 'pull-up', activityCoord = vector4(-1200.02, -1571.14, 3.585, 213.62), position = vec(-1200.19, -1570.93, 4.5), removeStamina = 6, 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 }, { name = 'barbell', prop = {name = 'prop_curl_bar_01', attachBone = 28422, placement = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0}}, activityCoord = vector4(-1199.03, -1574.59, 3.61, 215.48), position = vec(-1198.97, -1574.5, 4.5), removeStamina = 7, 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 }, { name = 'barbell', prop = {name = 'prop_curl_bar_01', attachBone = 28422, placement = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0}}, activityCoord = vector4(-1197.01, -1572.9, 3.61, 214.71), position = vec(-1197.01, -1572.9, 4.5), removeStamina = 7, 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 }, { name = 'barbell', prop = {name = 'prop_curl_bar_01', attachBone = 28422, placement = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0}}, activityCoord = vector4(-1202.67, -1565.53, 3.61, 32.46), position = vec(-1202.67, -1565.53, 4.5), removeStamina = 7, 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 }, { name = 'barbell', prop = {name = 'prop_curl_bar_01', attachBone = 28422, placement = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0}}, activityCoord = vector4(-1210.31, -1561.34, 3.61, 77.1), position = vec(-1210.31, -1561.34, 4.5), removeStamina = 7, 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 }, { name = 'push-up', activityCoord = vector4(-1204.48, -1561.15, 3.61, 29.36), position = vec(-1204.48, -1561.15, 4.5), removeStamina = 3, addSkill = {skill = "strenght", value = 1}, -- this value is divided by 10 - this means that setting 1 it will be 0.1 }, { name = 'dumbbells', prop = {name = 'prop_barbell_01', attachBone = 28422, placement = {-0.24, 0.0, -0.03, 0.0, -50.0, 0.0}}, prop2 = {name = 'prop_barbell_01', attachBone = 60309, placement = {0.05, 0.0, 0.0, 0.0, -90.0, 120.0}}, activityCoord = vector4(-1202.6, -1572.78, 3.61, 127.31), position = vec(-1202.6, -1572.78, 4.5), removeStamina = 4, 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 }, { name = 'dumbbells', prop = {name = 'prop_barbell_01', attachBone = 28422, placement = {-0.24, 0.0, -0.03, 0.0, -50.0, 0.0}}, prop2 = {name = 'prop_barbell_01', attachBone = 60309, placement = {0.05, 0.0, 0.0, 0.0, -90.0, 120.0}}, activityCoord = vector4(-1209.33, -1559.18, 3.61, 48.95), position = vec(-1209.33, -1559.18, 4.5), removeStamina = 4, 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 }, { name = 'dumbbells', prop = {name = 'prop_barbell_01', attachBone = 28422, placement = {-0.24, 0.0, -0.03, 0.0, -50.0, 0.0}}, prop2 = {name = 'prop_barbell_01', attachBone = 60309, placement = {0.05, 0.0, 0.0, 0.0, -90.0, 120.0}}, activityCoord = vector4(-1198.32, -1565.38, 3.62, 240.3), position = vector3(-1198.32, -1565.41, 4.5), removeStamina = 4, 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 }, }, }, [2] = { business = nil, ownerJob = nil, jobMenuPos = vector3(-1254.26, -354.04, 36.96), menuGrades = nil, -- nil: any player with this job | string: 'boss' | table: {'boss', 'manager'} bossMenuGrades = 'boss', -- string: 'boss' or table: {'boss', 'manager'} blipCoords = vector(-1255.8, -354.21, 35.96), blipName = 'Pump & Run GYM', blipEnabled = true, requiredMembership = 'pump_and_run', -- false or name of membership like: 'pump_and_run' memberships = { {days = 1, price = 1000}, {days = 7, price = 5500}, {days = 14, price = 10000}, {days = 24, price = 20000}, {days = 31, price = 25000}, }, points = { { name = 'treadmill', activityCoord = vector4(-1257.63, -366.56, 36.12, 207.75), position = vector3(-1258.33, -365.23, 36.96), removeStamina = 1, addSkill = {skill = "condition", value = {4, 5}}, -- this value is divided by 10 - this means that setting 1 it will be 0.1 }, { name = 'treadmill', activityCoord = vector4(-1259.15, -367.3, 36.11, 207.75), position = vector3(-1259.76, -366.11, 36.96), removeStamina = 1, addSkill = {skill = "condition", value = {4, 5}}, -- this value is divided by 10 - this means that setting 1 it will be 0.1 }, { name = 'treadmill', activityCoord = vector4(-1260.75, -368.02, 36.11, 207.75), position = vector3(-1261.32, -366.99, 36.96), removeStamina = 1, addSkill = {skill = "condition", value = {4, 5}}, -- this value is divided by 10 - this means that setting 1 it will be 0.1 }, { name = 'treadmill', activityCoord = vector4(-1262.14, -368.9, 36.11, 207.75), position = vector3(-1262.67, -367.88, 36.96), removeStamina = 1, addSkill = {skill = "condition", value = {4, 5}}, -- this value is divided by 10 - this means that setting 1 it will be 0.1 }, { name = 'treadmill', activityCoord = vector4(-1263.46, -369.66, 36.11, 207.75), position = vector3(-1264.11, -368.58, 36.96), removeStamina = 1, addSkill = {skill = "condition", value = {4, 5}}, -- this value is divided by 10 - this means that setting 1 it will be 0.1 }, { name = 'treadmill', activityCoord = vector4(-1264.84, -370.34, 36.11, 210.35), position = vector3(-1265.42, -369.34, 36.96), removeStamina = 1, addSkill = {skill = "condition", value = {4, 5}}, -- this value is divided by 10 - this means that setting 1 it will be 0.1 }, { name = 'push-up', activityCoord = vector4(-1263.23, -363.06, 35.99, 281.81), position = vector3(-1263.24, -363.07, 36.99), removeStamina = 3, addSkill = {skill = "strenght", value = 1}, -- this value is divided by 10 - this means that setting 1 it will be 0.1 }, { name = 'push-up', activityCoord = vector4(-1262.22, -359.14, 35.99, 225.7), position = vector3(-1262.35, -359.08, 36.99), removeStamina = 3, addSkill = {skill = "strenght", value = 1}, -- this value is divided by 10 - this means that setting 1 it will be 0.1 }, { name = 'dumbbells', prop = {name = 'prop_barbell_01', attachBone = 28422, placement = {-0.24, 0.0, -0.03, 0.0, -50.0, 0.0}}, prop2 = {name = 'prop_barbell_01', attachBone = 60309, placement = {0.05, 0.0, 0.0, 0.0, -90.0, 120.0}}, activityCoord = vector4(-1261.55, -353.61, 35.96, 293.97), position = vector3(-1261.55, -353.61, 36.96), removeStamina = 4, 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 }, { name = 'dumbbells', prop = {name = 'prop_barbell_01', attachBone = 28422, placement = {-0.24, 0.0, -0.03, 0.0, -50.0, 0.0}}, prop2 = {name = 'prop_barbell_01', attachBone = 60309, placement = {0.05, 0.0, 0.0, 0.0, -90.0, 120.0}}, activityCoord = vector4(-1268.76, -357.8, 35.96, 298.89), position = vector3(-1268.7, -357.75, 36.96), removeStamina = 4, 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 }, { name = 'dumbbells', prop = {name = 'prop_barbell_01', attachBone = 28422, placement = {-0.24, 0.0, -0.03, 0.0, -50.0, 0.0}}, prop2 = {name = 'prop_barbell_01', attachBone = 60309, placement = {0.05, 0.0, 0.0, 0.0, -90.0, 120.0}}, activityCoord = vector4(-1266.69, -356.9, 35.96, 118.72), position = vector3(-1266.69, -356.9, 36.96), removeStamina = 4, 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 }, }, }, }
Reviews (0)
Only logged in customers who have purchased this product may leave a review.
How to install
Slap Mods onto Your FiveM Server Like a Pro
Alright, listen up, you want to get those sweet mods onto your FiveM server, right?Tired of the same old boring server and want to spice things up with custom cars, scripts, or maps?Let's get this sorted.Installing mods on FiveM is how you level up your server from basic to banging.It's easier than you think, even if you're not a tech wizard.This guide will walk you through it step by step, no jargon, just straight-up instructions to get your server looking and playing exactly how you want.Step 1: Snag Your Mod - Find the Goodies
First things first, you need to find the mods you actually want.Think of it like going shopping, but for your server.- Hit up the usual spots: Websites like fivem-mods.net, GTA5-Mods.com are goldmines. Loads of creators post their work there.
- Community is key: Don't sleep on forums and Discord servers. You'll find hidden gems and get recommendations from other server owners.
- GitHub & Dev Sites: For more unique scripts, check out GitHub or the developers' own websites. Sometimes the best stuff is off the beaten path.
.zip
or .rar
file.Step 2: Server Prep - Get Ready to Rumble
Right, time to get into the server's guts. Don't panic, it's not brain surgery.- Access your server files: You'll need to log into your server's file manager. This is usually through an FTP client like FileZilla or your hosting provider's control panel.
- BACK IT UP, fam: Seriously, before you change anything, make a backup of your server files. If you mess something up (and we all do sometimes), you can just restore it and pretend it never happened.
- Find the 'resources' folder: This is your mod garage. It's where all the magic happens. Dig around in your server files and locate the
resources
folder.
Step 3: Mod Installation - Drop It In
Now for the main event - getting that mod live.- Extract the files: If your mod is zipped up, unzip it to a folder on your computer.
- Upload to the 'resources' folder: Use your FTP client or file manager to drag and drop (upload) the extracted mod folder into the
resources
folder on your server.- Folder name matters: Make sure the folder name is something you'll recognise later, you'll need it for server config.
- Tell your server to load the mod: This is the server.cfg bit.
- Open your
server.cfg
file. It’s in the main directory of your server. - Add a line like this:
ensure [mod_name]
- Replace
[mod_name]
with the actual name of your mod folder. - Example: If your mod folder is called
sick_drift_car
, you'd addensure sick_drift_car
.
- Open your
ensure [mod_name]
ensure my_car_mod
Step 4: Dependencies - The Extras You Might Need
Sometimes, mods are a bit needy and require extra bits and bobs to work. Dependencies, they're called.- Check the mod's info: The mod creator should tell you if there are any dependencies. Read the documentation!
- Install dependencies: If there are dependencies, download them and install them in the same
resources
folder, just like you did with the main mod in Step 3. - Load dependencies too: You'll also need to add
ensure [dependency_name]
lines in yourserver.cfg
file for each dependency, above theensure [mod_name]
line for your main mod.
Step 5: Server Restart - Fire It Up
Time to reboot and see if it all works.- Restart your server: Use the 'Restart' button in your control panel or restart it manually if you're old school.
- Watch the console: Keep an eye on your server console after restart. Any red text or error messages? If so, check the mod's docs or Google the error.
Step 6: In-Game Test - Does It Bang?
Get in the game and see if your mod is doing its thing.- Join your server: Fire up FiveM and connect to your server.
- Test it out: Does the mod work as expected? New car there? Script doing its job? Map looking fresh?
Step 7: Troubleshooting - When Things Go Wrong
Sometimes things don't go to plan. Don't sweat it, happens to the best of us.- Check file paths: Are your files in the right folders? Double-check everything.
- Review server logs: Server logs are your friend. They tell you if anything went wrong.
- Update dependencies: Are your dependencies up to date? Outdated ones can cause issues.
- Compatibility check again: Is the mod actually compatible with your FiveM version and other mods? Conflicts happen.
FAQs - Your Burning Questions Answered
- Q: Where do I find good FiveM mods?
- A: Websites like fivem-mods.net and GTA5-Mods.com are great starting points. Community forums and Discord servers are also goldmines.
- Q: What's 'server.cfg' and why do I need to mess with it?
- A:
server.cfg
is your server's brain. It tells your server what to load and how to behave. You need to edit it to tell your server to load your new mods. - Q: What if the mod doesn't work after installing?
- A: Troubleshooting time! Check file paths, server logs, dependencies, and mod compatibility (as mentioned in Step 7). Google is your friend too!
- Q: Do I need to restart my whole server every time I install a mod?
- A: Yep, you do. Restarting the server makes it reload all the resources, including your newly installed mod.
- Q: Can mods break my server?
- A: Potentially, if they're poorly made or incompatible. Always download mods from trusted sources and back up your server before installing anything new.
Final Word - Mod Like a Boss
See? Installing mods on your FiveM server isn't rocket science.It's all about following the steps, being a bit careful, and not being afraid to experiment.Get out there, find some killer mods, and make your FiveM server the envy of everyone. Happy modding!Mods that will extend Roleplay
- Money-Back Guarantee: If you're not satisfied, we've got you covered with a no-questions-asked refund policy.
- Exclusive Content: Our mods and scripts are professionally crafted and exclusive to our platform.
- Trusted by the Community: Join thousands of FiveM server owners who rely on us for quality resources.
- High-Quality Design: Built with optimized coding practices for top-tier performance.
- Seamless Integration: Easily install and run on any FiveM server without compatibility issues.
- Customizable Options: Adjust settings and features to fit your server's unique style.
- Optimized Performance: Tested to ensure minimal resource usage and maximum efficiency.
- Lifetime Updates: Stay ahead with ongoing updates and improvements included at no extra cost.
Reviews
There are no reviews yet.