Login to your keymaster account, check Granted Assets section and download script you bought from us
Script Start Order
To correctly start the mechanic script in your server.cfg, ensure to start the scripts in the following order. Failure to do so may result in various error codes
Go to _installation folder, you can find item images there. For item codes, firstly choose your framework, after that insert required items in your items file or sql
If you using ox_inventory ONLY use items_ox
If you using qb_inventory or qs-inventory use items_qb
If you using chezza_inventory use items.sql
Configuration
Create New Mechanics
Owner of the mechanic identifier or citizenid must be determined at the bossIdentifier section
id value cant be same with other mechanics
job value must be different from other mechanics, otherwise it will be glitched
---------------------PLAYER MECHANICS--------------------------
---------------------------------------------------------------
--[[
You can add additional items to specified shop from here.
id = Unique id for mechanic shop
bossIdentifier = Identifier / Citizenid of mechanic owner !! IMPORTANT
job = Which job will work for this mechanic
modify = {
-- vector3(x, y, z) -- Create new vehicle customization locations
}
flatbed = {
model = Towing vehicle model name
coords = Determine location for towing vehicle spawn
heading = Heading
}
]]
Config.Mechanics = {
[1] = {
id = 1, --- @param WARNING!!! id has to be a value between 1 and 99
bossIdentifier = "", -- citizenid or identifier
job = "mechanic1", --- @param WARNING!!! job value cant be same with other mechanics, you have to use another job for another mechanic
bossMenu = vector3(-206.648, -1331.58, 34.894),
modify = {
vector3(-221.982, -1329.93, 30.890),
},
flatbed = {
model = "flatbed",
coords = vector3(-190.143, -1290.53, 31.295),
heading = 266.0
}
},
[2] = {
id = 2, --- @param WARNING!!! id has to be a value between 1 and 99
bossIdentifier = "", -- citizenid or identifier
job = "mechanic2", --- @param WARNING!!! job value cant be same with other mechanics, you have to use another job for another mechanic
bossMenu = vector3(-347.355, -133.625, 39.009),
modify = {
vector3(-323.233, -132.452, 38.957),
vector3(-326.517, -144.650, 39.060),
},
flatbed = {
model = "flatbed",
coords = vector3(-367.893, -108.809, 38.679),
heading = 65.1
}
},
}
👨🔧 How can I set myself as boss to a mechanic?
Assigning Yourself as the Boss of a Mechanic Shop
To accomplish this, you will need to locate your assigned identifier or citizenid. Here's how you can find this information:
Navigate to your FiveM server's database where your user information is stored.
Look for the table that contains user data, often labeled as users or players.
Within this table, find your user entry. It should contain fields for your identifier and possibly citizenid, among other personal details.
Note down the identifier or citizenid value associated with your entry; this is the information you will need to input into the mechanic shop's configuration.
Once you have your identifier or citizenid, follow these steps to set yourself as the boss:
Open the mechanic shop script configuration (config.lua)
Scroll down to the Config.Mechanics section of the configuration.
Choose the mechanic shop entry (e.g., [1], [2], etc.) you wish to own.
Replace the empty string "" next to bossIdentifier with your noted identifier or citizenid.
Save the configuration file and restart your server for the changes to take effect.
You are now set as the boss for the selected mechanic shop.
Tuning Tablet
Tuning Tablet Usage Options
You have various options for using the Tuning Tablet. By setting TuningAsItem to true, you can attach the tablet to an in-game item, or if it's set to false, it will be accessible via a command. If you decide to leave TuningAsItem as false, you can customize the command to open the tuning interface by editing TuningCommand to your preference.
Configuring the Tuning Tablet:
TuningAsItem: Set to true if you want to use the tablet as an inventory item, or false to use it with a command.
TuningCommand: If TuningAsItem is false, customize this command to your liking for opening the tuning interface.
Additional Options
MinimumGrade Setting
To adjust who can use the Tuning Tablet, change the Config.MinimumGrade value. This number represents the minimum required employee rank to access the tablet.
Config.MinimumGrade = 0 -- All employees can use
Config.MinimumGrade = 1 -- Only employees with rank 1 or higher can use
Speed Settings
The IncreaseSpeed and MaxSpeed options help you control the maximum acceleration and top speed that can be set using the tablet for vehicle modifications.
Config.IncreaseSpeed = 35.0 -- Amount each tuning step increases speed
Config.MaxSpeed = 999.0 -- The maximum speed limit after tuning
-------------------------TUNING TABLET-------------------------
---------------------------------------------------------------
Config.TuningAsItem = false -- true / false -- If its true, tuner tablet will be attached to tuningtablet item otherwise it will work with command
Config.TuningCommand = 'tuning'
Config.MinimumGrade = 1 -- Define a min grade level for who can use
Config.IncreaseSpeed = 35.0
Config.MaxSpeed = 999.0
Crafting
To activate and customize the production table, several modifications are required:
prop: Defines the object for the table, which can be accessed from forge plebmaster.
job: Determines which jobs can access the table.
workarea:Within workarea, the length and wide values set the range of accessibility for the table.
coords:Use coords to place the production table in the desired location.
In the CraftItems section, you can add or remove items:
prop: Specifies the object to be previewed.
img: Change img to modify the menu image.
For the requirements section:
Define new items by setting name and item.
Do not alter the owned value.
Adjust count to specify the required quantity of items.
To set the prices for each part, you can perform the following steps in config.lua:
Use Ctrl+F to locate the Config.Menus section within the file.
There you will find various upgrades and customizations like brakes, transmission, etc., along with their prices.
basePrice represents the base price of a part, and increaseBy determines the incremental value based on the part's quality.
You can adjust these values accordingly to set your prices.
Remember, individual mechanic shops can establish their discount rates for all parts, so consider this factor when setting your economy. Adjust your prices with this in mind to maintain a balanced economy.
To ensure that our script operates harmoniously with other scripts, you will need to adjust the following settings.
Vehicle Keys
Key Integration for Custom Vehicle Key Plugins
If you're not using one of the pre-integrated vehicle key scripts like dusa, jaksam, qbcore, wasabi or quasar and need to integrate your own, follow these steps:
Open bridge/framework/client.lua file.
Use Ctrl+F to find the function dusa.integrateKey.
Insert the integration code provided for your key script into the located code block.
For example, if you're using a plugin called x and they provide a function that looks like:
exports['x']:AddKey(vehicle, vehicleplate)
You will need to replace vehicle with your vehicle variable and vehicleplate with your plate variable as per your script.
If you encounter any difficulties while performing these steps, don't hesitate to open a support ticket for assistance.
API
The details for operations in this category have not been provided extensively, as anyone with basic knowledge can perform the necessary actions. Therefore, it is recommended to reserve this part more for your developers. Developers can refer to the provided snippets and integrate them into your scripts for extended functionality.
client
Triggering the Mechanic Menu from Anywhere Similar to Admin Menus
To invoke the mechanic menu from various locations, similar to how you would with admin menus, you can integrate the following code snippet into your scripts:
-- Function to open mechanic menu at everywhere (especially for admin menu)
exports['dusa_mechanic']:openMechanic()
Triggering the Craft Menu
Integrate the following code snippet into your scripts:
-- Function to open mechanic menu at everywhere (especially for admin menu)
exports['dusa_mechanic']:openCraft()
Enabling the Tuning Tablet Menu
To enable the Tuning Tablet menu in other script, you'll need to use this event:
Snippet:
-- Function to open the Tuning Tablet menu
TriggerEvent('dusa_mechanic:cl:useTuning') -- event is client sided
Clearing Existing Vehicle Lifts
To remove any vehicle lifts that have been previously placed on the server, follow the instructions below:
Navigate to data>lifts.lua
LOcate the vehicle lift you want to delete by finding its coordinates or by using the owner's job, citizen ID (or identifier) as a filter
Delete or comment out the entry of the specific vehicle lift
Save the lifts.lua file after modification
Restart the script
Note: Ensure you have a backup of your configuration files before making any changes. If you encounter any issues, revert to the backup file and contact support.
Monitoring Vehicle Stancer Settings Changes
To track changes to a vehicle's stancer settings, follow these steps:
AddStateBagChangeHandler('stancer' --[[key filter]], nil --[[bag filter]], function(bagName, key, value, _unused, replicated)
Wait(0)
if not value then return end
local vehicle = GetEntityFromStateBagName(bagName) -- Getting vehicle id
if not DoesEntityExist(vehicle) then return end
local plate = GetVehicleNumberPlateText(vehicle) -- Getting vehicle plate
-- Add code here to handle the change
-- value['wheel'] -- Equals to wheels camber and offsets
-- value['width'] -- Wheel width
-- value['height'] -- Wheel suspension height
-- value['size'] -- Wheel size
end)
Retrieving Current Stancer Settings of Vehicles
To obtain the current stancer settings of a vehicle, use this callback:
local stances = lib.callback.await('dusa_mechanic:stancers', false, plate)
Common Problems
For the error you are experiencing, you might not need to wait for us by opening a ticket. Here, you can find the most common errors encountered:
1. Applying Chameleon Colors
Issue: When I try to remove my car from the garage, the chameleon colors are not being applied.
Solution: This issue stems from your core script not supporting the chameleon color palette. However, you can solve this problem with two small pieces of code.
The functions that need modifications and the code sections to be added are specified below.
if props.chameleon then
SetVehicleColours(vehicle, props.chameleon[1], props.chameleon[1])
end
If you don't know how to do it or are hesitant, replace your entire code block with the following. (If there have been prior modifications related to this function on your server, this method is not recommended.)
QBCore.Functions.GetVehicleProperties
function QBCore.Functions.GetVehicleProperties(vehicle)
if DoesEntityExist(vehicle) then
local pearlescentColor, wheelColor = GetVehicleExtraColours(vehicle)
local colorPrimary, colorSecondary = GetVehicleColours(vehicle)
if GetIsVehiclePrimaryColourCustom(vehicle) then
local r, g, b = GetVehicleCustomPrimaryColour(vehicle)
colorPrimary = { r, g, b }
end
if GetIsVehicleSecondaryColourCustom(vehicle) then
local r, g, b = GetVehicleCustomSecondaryColour(vehicle)
colorSecondary = { r, g, b }
end
local extras = {}
for extraId = 0, 12 do
if DoesExtraExist(vehicle, extraId) then
local state = IsVehicleExtraTurnedOn(vehicle, extraId) == 1
extras[tostring(extraId)] = state
end
end
local modLivery = GetVehicleMod(vehicle, 48)
if GetVehicleMod(vehicle, 48) == -1 and GetVehicleLivery(vehicle) ~= 0 then
modLivery = GetVehicleLivery(vehicle)
end
local tireHealth = {}
for i = 0, 3 do
tireHealth[i] = GetVehicleWheelHealth(vehicle, i)
end
local tireBurstState = {}
for i = 0, 5 do
tireBurstState[i] = IsVehicleTyreBurst(vehicle, i, false)
end
local tireBurstCompletely = {}
for i = 0, 5 do
tireBurstCompletely[i] = IsVehicleTyreBurst(vehicle, i, true)
end
local windowStatus = {}
for i = 0, 7 do
windowStatus[i] = IsVehicleWindowIntact(vehicle, i) == 1
end
local doorStatus = {}
for i = 0, 5 do
doorStatus[i] = IsVehicleDoorDamaged(vehicle, i) == 1
end
local xenonColor
local hasCustom, r, g, b = GetVehicleXenonLightsCustomColor(vehicle)
if hasCustom then
xenonColor = table.pack(r, g, b)
else
xenonColor = GetVehicleXenonLightsColor(vehicle)
end
return {
model = GetEntityModel(vehicle),
plate = QBCore.Functions.GetPlate(vehicle),
plateIndex = GetVehicleNumberPlateTextIndex(vehicle),
bodyHealth = QBCore.Shared.Round(GetVehicleBodyHealth(vehicle), 0.1),
engineHealth = QBCore.Shared.Round(GetVehicleEngineHealth(vehicle), 0.1),
tankHealth = QBCore.Shared.Round(GetVehiclePetrolTankHealth(vehicle), 0.1),
fuelLevel = QBCore.Shared.Round(GetVehicleFuelLevel(vehicle), 0.1),
dirtLevel = QBCore.Shared.Round(GetVehicleDirtLevel(vehicle), 0.1),
oilLevel = QBCore.Shared.Round(GetVehicleOilLevel(vehicle), 0.1),
color1 = colorPrimary,
color2 = colorSecondary,
-- CHANGE MADE HERE
chameleon = table.pack(GetVehicleColours(vehicle)),
-- CHANGE MADE HERE
pearlescentColor = pearlescentColor,
dashboardColor = GetVehicleDashboardColour(vehicle),
wheelColor = wheelColor,
wheels = GetVehicleWheelType(vehicle),
wheelSize = GetVehicleWheelSize(vehicle),
wheelWidth = GetVehicleWheelWidth(vehicle),
tireHealth = tireHealth,
tireBurstState = tireBurstState,
tireBurstCompletely = tireBurstCompletely,
windowTint = GetVehicleWindowTint(vehicle),
windowStatus = windowStatus,
doorStatus = doorStatus,
neonEnabled = {
IsVehicleNeonLightEnabled(vehicle, 0),
IsVehicleNeonLightEnabled(vehicle, 1),
IsVehicleNeonLightEnabled(vehicle, 2),
IsVehicleNeonLightEnabled(vehicle, 3)
},
neonColor = table.pack(GetVehicleNeonLightsColour(vehicle)),
interiorColor = GetVehicleInteriorColour(vehicle),
extras = extras,
tyreSmokeColor = table.pack(GetVehicleTyreSmokeColor(vehicle)),
xenonColor = xenonColor,
modSpoilers = GetVehicleMod(vehicle, 0),
modFrontBumper = GetVehicleMod(vehicle, 1),
modRearBumper = GetVehicleMod(vehicle, 2),
modSideSkirt = GetVehicleMod(vehicle, 3),
modExhaust = GetVehicleMod(vehicle, 4),
modFrame = GetVehicleMod(vehicle, 5),
modGrille = GetVehicleMod(vehicle, 6),
modHood = GetVehicleMod(vehicle, 7),
modFender = GetVehicleMod(vehicle, 8),
modRightFender = GetVehicleMod(vehicle, 9),
modRoof = GetVehicleMod(vehicle, 10),
modEngine = GetVehicleMod(vehicle, 11),
modBrakes = GetVehicleMod(vehicle, 12),
modTransmission = GetVehicleMod(vehicle, 13),
modHorns = GetVehicleMod(vehicle, 14),
modSuspension = GetVehicleMod(vehicle, 15),
modArmor = GetVehicleMod(vehicle, 16),
modKit17 = GetVehicleMod(vehicle, 17),
modTurbo = IsToggleModOn(vehicle, 18),
modKit19 = GetVehicleMod(vehicle, 19),
modSmokeEnabled = IsToggleModOn(vehicle, 20),
modKit21 = GetVehicleMod(vehicle, 21),
modXenon = IsToggleModOn(vehicle, 22),
modFrontWheels = GetVehicleMod(vehicle, 23),
modBackWheels = GetVehicleMod(vehicle, 24),
modCustomTiresF = GetVehicleModVariation(vehicle, 23),
modCustomTiresR = GetVehicleModVariation(vehicle, 24),
modPlateHolder = GetVehicleMod(vehicle, 25),
modVanityPlate = GetVehicleMod(vehicle, 26),
modTrimA = GetVehicleMod(vehicle, 27),
modOrnaments = GetVehicleMod(vehicle, 28),
modDashboard = GetVehicleMod(vehicle, 29),
modDial = GetVehicleMod(vehicle, 30),
modDoorSpeaker = GetVehicleMod(vehicle, 31),
modSeats = GetVehicleMod(vehicle, 32),
modSteeringWheel = GetVehicleMod(vehicle, 33),
modShifterLeavers = GetVehicleMod(vehicle, 34),
modAPlate = GetVehicleMod(vehicle, 35),
modSpeakers = GetVehicleMod(vehicle, 36),
modTrunk = GetVehicleMod(vehicle, 37),
modHydrolic = GetVehicleMod(vehicle, 38),
modEngineBlock = GetVehicleMod(vehicle, 39),
modAirFilter = GetVehicleMod(vehicle, 40),
modStruts = GetVehicleMod(vehicle, 41),
modArchCover = GetVehicleMod(vehicle, 42),
modAerials = GetVehicleMod(vehicle, 43),
modTrimB = GetVehicleMod(vehicle, 44),
modTank = GetVehicleMod(vehicle, 45),
modWindows = GetVehicleMod(vehicle, 46),
modKit47 = GetVehicleMod(vehicle, 47),
modLivery = modLivery,
modKit49 = GetVehicleMod(vehicle, 49),
liveryRoof = GetVehicleRoofLivery(vehicle),
}
else
return
end
end
QBCore.Functions.SetVehicleProperties
function QBCore.Functions.SetVehicleProperties(vehicle, props)
if DoesEntityExist(vehicle) then
if props.extras then
for id, enabled in pairs(props.extras) do
if enabled then
SetVehicleExtra(vehicle, tonumber(id), 0)
else
SetVehicleExtra(vehicle, tonumber(id), 1)
end
end
end
local colorPrimary, colorSecondary = GetVehicleColours(vehicle)
local pearlescentColor, wheelColor = GetVehicleExtraColours(vehicle)
SetVehicleModKit(vehicle, 0)
if props.plate then
SetVehicleNumberPlateText(vehicle, props.plate)
end
if props.plateIndex then
SetVehicleNumberPlateTextIndex(vehicle, props.plateIndex)
end
if props.bodyHealth then
SetVehicleBodyHealth(vehicle, props.bodyHealth + 0.0)
end
if props.engineHealth then
SetVehicleEngineHealth(vehicle, props.engineHealth + 0.0)
end
if props.tankHealth then
SetVehiclePetrolTankHealth(vehicle, props.tankHealth)
end
if props.fuelLevel then
SetVehicleFuelLevel(vehicle, props.fuelLevel + 0.0)
end
if props.dirtLevel then
SetVehicleDirtLevel(vehicle, props.dirtLevel + 0.0)
end
if props.oilLevel then
SetVehicleOilLevel(vehicle, props.oilLevel)
end
if props.color1 then
if type(props.color1) == 'number' then
ClearVehicleCustomPrimaryColour(vehicle)
SetVehicleColours(vehicle, props.color1, colorSecondary)
else
SetVehicleCustomPrimaryColour(vehicle, props.color1[1], props.color1[2], props.color1[3])
end
end
if props.color2 then
if type(props.color2) == 'number' then
ClearVehicleCustomSecondaryColour(vehicle)
SetVehicleColours(vehicle, props.color1 or colorPrimary, props.color2)
else
SetVehicleCustomSecondaryColour(vehicle, props.color2[1], props.color2[2], props.color2[3])
end
end
-- CHANGE MADE HERE
if props.chameleon then
SetVehicleColours(vehicle, props.chameleon[1], props.chameleon[1])
end
-- CHANGE MADE HERE
if props.pearlescentColor then
SetVehicleExtraColours(vehicle, props.pearlescentColor, wheelColor)
end
if props.interiorColor then
SetVehicleInteriorColor(vehicle, props.interiorColor)
end
if props.dashboardColor then
SetVehicleDashboardColour(vehicle, props.dashboardColor)
end
if props.wheelColor then
SetVehicleExtraColours(vehicle, props.pearlescentColor or pearlescentColor, props.wheelColor)
end
if props.wheels then
SetVehicleWheelType(vehicle, props.wheels)
end
if props.tireHealth then
for wheelIndex, health in pairs(props.tireHealth) do
SetVehicleWheelHealth(vehicle, wheelIndex, health)
end
end
if props.tireBurstState then
for wheelIndex, burstState in pairs(props.tireBurstState) do
if burstState then
SetVehicleTyreBurst(vehicle, tonumber(wheelIndex), false, 1000.0)
end
end
end
if props.tireBurstCompletely then
for wheelIndex, burstState in pairs(props.tireBurstCompletely) do
if burstState then
SetVehicleTyreBurst(vehicle, tonumber(wheelIndex), true, 1000.0)
end
end
end
if props.windowTint then
SetVehicleWindowTint(vehicle, props.windowTint)
end
if props.windowStatus then
for windowIndex, smashWindow in pairs(props.windowStatus) do
if not smashWindow then SmashVehicleWindow(vehicle, windowIndex) end
end
end
if props.doorStatus then
for doorIndex, breakDoor in pairs(props.doorStatus) do
if breakDoor then
SetVehicleDoorBroken(vehicle, tonumber(doorIndex), true)
end
end
end
if props.neonEnabled then
SetVehicleNeonLightEnabled(vehicle, 0, props.neonEnabled[1])
SetVehicleNeonLightEnabled(vehicle, 1, props.neonEnabled[2])
SetVehicleNeonLightEnabled(vehicle, 2, props.neonEnabled[3])
SetVehicleNeonLightEnabled(vehicle, 3, props.neonEnabled[4])
end
if props.neonColor then
SetVehicleNeonLightsColour(vehicle, props.neonColor[1], props.neonColor[2], props.neonColor[3])
end
if props.interiorColor then
SetVehicleInteriorColour(vehicle, props.interiorColor)
end
if props.wheelSize then
SetVehicleWheelSize(vehicle, props.wheelSize)
end
if props.wheelWidth then
SetVehicleWheelWidth(vehicle, props.wheelWidth)
end
if props.tyreSmokeColor then
SetVehicleTyreSmokeColor(vehicle, props.tyreSmokeColor[1], props.tyreSmokeColor[2], props.tyreSmokeColor[3])
end
if props.modSpoilers then
SetVehicleMod(vehicle, 0, props.modSpoilers, false)
end
if props.modFrontBumper then
SetVehicleMod(vehicle, 1, props.modFrontBumper, false)
end
if props.modRearBumper then
SetVehicleMod(vehicle, 2, props.modRearBumper, false)
end
if props.modSideSkirt then
SetVehicleMod(vehicle, 3, props.modSideSkirt, false)
end
if props.modExhaust then
SetVehicleMod(vehicle, 4, props.modExhaust, false)
end
if props.modFrame then
SetVehicleMod(vehicle, 5, props.modFrame, false)
end
if props.modGrille then
SetVehicleMod(vehicle, 6, props.modGrille, false)
end
if props.modHood then
SetVehicleMod(vehicle, 7, props.modHood, false)
end
if props.modFender then
SetVehicleMod(vehicle, 8, props.modFender, false)
end
if props.modRightFender then
SetVehicleMod(vehicle, 9, props.modRightFender, false)
end
if props.modRoof then
SetVehicleMod(vehicle, 10, props.modRoof, false)
end
if props.modEngine then
SetVehicleMod(vehicle, 11, props.modEngine, false)
end
if props.modBrakes then
SetVehicleMod(vehicle, 12, props.modBrakes, false)
end
if props.modTransmission then
SetVehicleMod(vehicle, 13, props.modTransmission, false)
end
if props.modHorns then
SetVehicleMod(vehicle, 14, props.modHorns, false)
end
if props.modSuspension then
SetVehicleMod(vehicle, 15, props.modSuspension, false)
end
if props.modArmor then
SetVehicleMod(vehicle, 16, props.modArmor, false)
end
if props.modKit17 then
SetVehicleMod(vehicle, 17, props.modKit17, false)
end
if props.modTurbo then
ToggleVehicleMod(vehicle, 18, props.modTurbo)
end
if props.modKit19 then
SetVehicleMod(vehicle, 19, props.modKit19, false)
end
if props.modSmokeEnabled then
ToggleVehicleMod(vehicle, 20, props.modSmokeEnabled)
end
if props.modKit21 then
SetVehicleMod(vehicle, 21, props.modKit21, false)
end
if props.modXenon then
ToggleVehicleMod(vehicle, 22, props.modXenon)
end
if props.xenonColor then
if type(props.xenonColor) == 'table' then
SetVehicleXenonLightsCustomColor(vehicle, props.xenonColor[1], props.xenonColor[2], props.xenonColor[3])
else
SetVehicleXenonLightsColor(vehicle, props.xenonColor)
end
end
if props.modFrontWheels then
SetVehicleMod(vehicle, 23, props.modFrontWheels, false)
end
if props.modBackWheels then
SetVehicleMod(vehicle, 24, props.modBackWheels, false)
end
if props.modCustomTiresF then
SetVehicleMod(vehicle, 23, props.modFrontWheels, props.modCustomTiresF)
end
if props.modCustomTiresR then
SetVehicleMod(vehicle, 24, props.modBackWheels, props.modCustomTiresR)
end
if props.modPlateHolder then
SetVehicleMod(vehicle, 25, props.modPlateHolder, false)
end
if props.modVanityPlate then
SetVehicleMod(vehicle, 26, props.modVanityPlate, false)
end
if props.modTrimA then
SetVehicleMod(vehicle, 27, props.modTrimA, false)
end
if props.modOrnaments then
SetVehicleMod(vehicle, 28, props.modOrnaments, false)
end
if props.modDashboard then
SetVehicleMod(vehicle, 29, props.modDashboard, false)
end
if props.modDial then
SetVehicleMod(vehicle, 30, props.modDial, false)
end
if props.modDoorSpeaker then
SetVehicleMod(vehicle, 31, props.modDoorSpeaker, false)
end
if props.modSeats then
SetVehicleMod(vehicle, 32, props.modSeats, false)
end
if props.modSteeringWheel then
SetVehicleMod(vehicle, 33, props.modSteeringWheel, false)
end
if props.modShifterLeavers then
SetVehicleMod(vehicle, 34, props.modShifterLeavers, false)
end
if props.modAPlate then
SetVehicleMod(vehicle, 35, props.modAPlate, false)
end
if props.modSpeakers then
SetVehicleMod(vehicle, 36, props.modSpeakers, false)
end
if props.modTrunk then
SetVehicleMod(vehicle, 37, props.modTrunk, false)
end
if props.modHydrolic then
SetVehicleMod(vehicle, 38, props.modHydrolic, false)
end
if props.modEngineBlock then
SetVehicleMod(vehicle, 39, props.modEngineBlock, false)
end
if props.modAirFilter then
SetVehicleMod(vehicle, 40, props.modAirFilter, false)
end
if props.modStruts then
SetVehicleMod(vehicle, 41, props.modStruts, false)
end
if props.modArchCover then
SetVehicleMod(vehicle, 42, props.modArchCover, false)
end
if props.modAerials then
SetVehicleMod(vehicle, 43, props.modAerials, false)
end
if props.modTrimB then
SetVehicleMod(vehicle, 44, props.modTrimB, false)
end
if props.modTank then
SetVehicleMod(vehicle, 45, props.modTank, false)
end
if props.modWindows then
SetVehicleMod(vehicle, 46, props.modWindows, false)
end
if props.modKit47 then
SetVehicleMod(vehicle, 47, props.modKit47, false)
end
if props.modLivery then
SetVehicleMod(vehicle, 48, props.modLivery, false)
SetVehicleLivery(vehicle, props.modLivery)
end
if props.modKit49 then
SetVehicleMod(vehicle, 49, props.modKit49, false)
end
if props.liveryRoof then
SetVehicleRoofLivery(vehicle, props.liveryRoof)
end
end
end