⚠️Common Errors

In this section, you will find answers to commonly encountered issues. Remember that most errors stem from incorrect configuration, lack of required resources, or insufficient modification.

Bear in mind that troubleshooting requires patience and precision. Try to carefully analyze the errors and systematically review possible solutions.

If the issue persists after verifying the configuration and available resources, please contact the support on the VMS Discord.


Chameleon color not working
  1. Make sure you have updated your GTA 5 launcher

  2. Make sure you are using the new game build on your server - recommended to use 2802

  3. Add a line like this to your startup file (server.cfg): sv_enforceGameBuild 2802

Selected options in tuning are not saved in the garage

Replace the functions responsible for saving and loading vehicle properties, you will find the prepared options in the section Installation

I'm getting the "vms_tuning:verifyPlateNotExist" error on ESX

It looks like you have an older ESX or a modified ESX and do not have the ESX.RegisterCommand function in your es_extended

  1. Open the config.lua vms_tuning

  2. Find Config.AdminDiscountCodesCommand

  3. Change in command generate and remove from oldESX = false to oldESX = true

[WARNING] Selected language "__" not found, changed to "EN", configure your language in translation.json

You have selected a language that does not exist for the translation.json file, create your language in this file.

My progress-bar takes 2x longer

In that case, add your export progressbar to the thread

CL.ProgressBar = function(label, time)
    Citizen.CreateThread(function() -- Added
        exports['progressbar']:Progress({
            name = 'installation',
            label = label,
            duration = time,
            canCancel = false,
            controlDisables = {
                disableMouse = false,
                disableMovement = true,
                disableCarMovement = true,
                disableCombat = true,
            }
        })
    end) -- Added
end
I don't see tuning points

If you do not see a tuning point, it means that you have misconfigured the job or grade_access, do it correctly.

If you are using QB-Core, go to the file qb-core/shared/jobs.lua

I don't see all options in management menu

A process similar to that of , but you have to configure manager_grades and boss_grades

When trying to open the management menu, I get a ban from qb-management
  1. Go to your qb-management/server/sv_boss.lua

  2. Find these marked lines

if not Player.PlayerData.job.isboss then
    ExploitBan(src, 'GetEmployees Exploiting')
    return
end
  1. Remove them.

I cannot open management menu on qbx-core

This is normal, because qbx_management does not have a callback by default to get a list of employees with the exact parameters we use from qb-management on qb-core.

To do this, you must register the prepared callback in your qbx_management.

  1. Go to qbx_management/server/main.lua

  2. Add this code in the file:

local QBCore = exports['qb-core']:GetCoreObject()
QBCore.Functions.CreateCallback('qbx_management:server:GetEmployeesForVMS', function(source, cb, jobname) 
    local employees = {}
    local players = MySQL.query.await("SELECT * FROM `players` WHERE `job` LIKE '%" .. jobname .. "%'", {})

    if players[1] ~= nil then
        for _, value in pairs(players) do
            local isOnline = QBCore.Functions.GetPlayerByCitizenId(value.citizenid)

            if isOnline and isOnline.PlayerData.job.name == jobname then
                employees[#employees + 1] = {
                    empSource = isOnline.PlayerData.citizenid,
                    grade = isOnline.PlayerData.job.grade,
                    isboss = isOnline.PlayerData.job.isboss,
                    name = '🟢 ' .. isOnline.PlayerData.charinfo.firstname .. ' ' .. isOnline.PlayerData.charinfo.lastname
                }
            elseif value.job.name == jobname then
                employees[#employees + 1] = {
                    empSource = value.citizenid,
                    grade = value.job.grade,
                    isboss = value.job.isboss,
                    name = '🔴 ' .. value.charinfo.firstname .. ' ' .. value.charinfo.lastname
                }
            end
        end
        table.sort(employees, function(a, b)
            return a.grade.level > b.grade.level
        end)
    end
    cb(employees)
end)
  1. Save the file as well as close it

  2. Go to vms_tuning/config/config.client.lua

  3. Find CL.GetEmployees function

  4. Replace it with the one below:

CL.GetEmployees = function(cb, jobName)
    QBCore.Functions.TriggerCallback('qbx_management:server:GetEmployeesForVMS', function(employees)
        cb(employees)
    end, jobName)
end
  1. Save the file as well as close it

  2. Restart server

Problem with Wheel Size/Wheel Width/Suspension Height/Wheel Stance/Engine Swap

In GTA, custom options such as Wheel Size, Wheel Width, Custom Suspension Height, Wheel Stance, and Engine Swap — which Rockstar Games has not normally allowed players to install in Online sessions via the mechanic's workshop — are not synchronized in the same way as other options, such as vehicle color, etc.

This means that we had to create our own synchronization for these parts, which results in higher resmon usage. However, this has been limited to the smallest possible consumption by using the best optimization methods. For example, this resmon will only be active when the vehicle is visible on your screen. If there are no vehicles visible on your screen, the synchronization module will not be active.

For the options Wheel Size, Wheel Width, and Custom Suspension Height to load with the optimized method, they must be created on the server side and must be assigned StateBag's with vehicle properties. By default, in ESX, there is a server-side function ESX.OneSync.SpawnVehicle, which fulfills all the requirements - spawn on the server side and automatic setting of vehicle properties.

As for Wheel Stance and Engine Swap, this is managed by vms_tuning, and it is responsible for assigning special StateBag's for the vehicle, which we can synchronize and set. However, this also requires the vehicle to be spawned on the server side.

Without meeting the above guidelines, the options will not work correctly or synchronize.

Last updated