Explanation
This is a car customization script, LsCustom type, an interactive and easy-to-use script with a nice designer.
Features
- To open vehicle customization, just go to the defined location and press E to customize
- To close vehicle customization, just press backspace or delete
- If you close the interface or exit blip without saving the customization, your vehicle will be reset
- In the interface it shows the name and license plate of the vehicle you are customizing, to avoid errors
- You can activate the camera and move it however you want, to better visualize the customization
- Selection of colors in RGB and color palette to define some vehicle colors
- The interface identifies and shows what customizations you can make to the vehicle
- You can open doors, hood and trunk
- Define if the customizations are free or with a specific amount and this is calculated in the interface, showing the amount that will be charged.
- You can simply customize a random vehicle and it will not be saved in the database
- You can customize personal vehicles and if it is properly registered in the database, the customization will be saved.
- Customization sites can be accessed or not.
- You can customize being inside the vehicle or outside, you choose.
- Ideal for Roleplay servers.
Video 1
Video 2
Notifications
- When you donât have the money to customize
- When the vehicle is not registered in the database, but it has been customized
- Customized vehicle and saved in the database
Configuration
- In Config.lua, you can translate any text in the interface any way you want.
- In Moon Setup you can change the scale, position, opacity and you can adjust it as you wish.
- To create customcar locations is very simple, just access Config.lua and define in custom_car_blips.
- In Config.lua, you can set the prices of all customizations or set all customizations with FREE
ESX Version
- The script in the esx version updates the âowned_vehiclesâ table, so if you use esx, you need to have the vehicle registered to save the customization
STANDALONE Version
- In the standalone version, it is necessary to add its own functions, for example, take the money the player has, cash the money, add permission, it is necessary that you make these edits, if you have any doubts, you can contact me.
Events (ONLY STANDALONE)
- The script has two events, which you need to use to apply the customization to the vehicles
When generating a vehicle that has a saved customization, it is necessary to call this event to apply the customization to the generated vehicle
- TriggerServerEvent(âMx :: GetCustomCarâ, VEHICLE_ID, VEHICLE_PLATE)
If necessary, when buying a vehicle at the dealership, or any script you use to create a vehicle, it is necessary to call this event to register the license plate of the vehicle in question.
** Only Standalone version **
- TriggerServerEvent(âMx :: InsertCustomâ, VEHICLE_PLATE, VEHICLE_MODS)
Attention
- All tests were done on PlumeESX by tabarra, and technically older versions of esx should work, otherwise you can contact me.
Update 1.0
- Fixed an issue when checking whether the vehicle has Liveryâs or not
If you donât want to update entire script and lose any changes you may have made.
Just update only these files and the bug will be fixed.
Either in STANDALONE or ESX version
- functions.lua
- nui.lua
Those who have already purchased can download directly from the download link (Build 1.0)
https://i.imgur.com/uT2Zila.png
Update 2.0 / Instruction (ONLY FOR ESX)
-
Well, these days, many ask me for support regarding the TriggerServerEvent event (âMx :: GetCustomCarâ, VEHICLE_ID, VEHICLE_PLATE), which was not managing to make it work.
-
So I decided to do a step by step to add the functions that are missing in ESX to activate some vehicle customizations, without needing to use the âGetCustomCarâ event.
-
In this, it will no longer be necessary to modify your garage script for example. Those who have already modified and worked correctly can SKIP this update.
Attention: Backup the files that will be modified.
Go to your esx server > es_extended/client/functions.lua
Search for ESX.Game.GetVehicleProperties and ESX.Game.SetVehicleProperties
Replace the two functions with the functions below:
ESX.Game.SetVehicleProperties
ESX.Game.SetVehicleProperties = function(vehicle, props)
if DoesEntityExist(vehicle) then
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 + 0.0) end
if props.fuelLevel then SetVehicleFuelLevel(vehicle, props.fuelLevel + 0.0) end
if props.dirtLevel then SetVehicleDirtLevel(vehicle, props.dirtLevel + 0.0) end
-- Removed
-- if props.color1 then SetVehicleColours(vehicle, props.color1, colorSecondary) end
-- if props.color2 then SetVehicleColours(vehicle, props.color1 or colorPrimary, props.color2) end
SetVehicleColours(vehicle, props.color1, props.color2) -- Added
-- Added
if props.Rcolor_primary and props.Gcolor_primary and props.Bcolor_primary then
SetVehicleCustomPrimaryColour(vehicle, props.Rcolor_primary, props.Gcolor_primary, props.Bcolor_primary)
end
-- Added
if props.Rcolor_secondary and props.Gcolor_secondary and props.Bcolor_secondary then
SetVehicleCustomSecondaryColour(vehicle, props.Rcolor_secondary, props.Gcolor_secondary, props.Bcolor_secondary)
end
if props.pearlescentColor then SetVehicleExtraColours(vehicle, props.pearlescentColor, wheelColor) end
if props.wheelColor then SetVehicleExtraColours(vehicle, props.pearlescentColor or pearlescentColor, props.wheelColor) end
if props.wheels then SetVehicleWheelType(vehicle, props.wheels) end
-- Removed
-- if props.windowTint then SetVehicleWindowTint(vehicle, props.windowTint) end
-- Added
if props.windowTint or props.windowTint == -1 then
if props.windowTint == -1 then
SetVehicleWindowTint(vehicle, 0)
else
SetVehicleWindowTint(vehicle, props.windowTint)
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.extras then
for extraId,enabled in pairs(props.extras) do
if enabled then
SetVehicleExtra(vehicle, tonumber(extraId), 0)
else
SetVehicleExtra(vehicle, tonumber(extraId), 1)
end
end
end
if props.neonColor then SetVehicleNeonLightsColour(vehicle, props.neonColor[1], props.neonColor[2], props.neonColor[3]) end
if props.xenonColor then SetVehicleXenonLightsColour(vehicle, props.xenonColor) end
if props.modSmokeEnabled then ToggleVehicleMod(vehicle, 20, true) 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.modTurbo then ToggleVehicleMod(vehicle, 18, props.modTurbo) end
if props.modXenon then ToggleVehicleMod(vehicle, 22, props.modXenon) 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.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.modLivery then
SetVehicleMod(vehicle, 48, props.modLivery, false)
SetVehicleLivery(vehicle, props.modLivery)
end
end
end
ESX.Game.GetVehicleProperties
ESX.Game.GetVehicleProperties = function(vehicle)
if DoesEntityExist(vehicle) then
local colorPrimary, colorSecondary = GetVehicleColours(vehicle)
local r_color_primary, g_color_primary, b_color_primary = GetVehicleCustomPrimaryColour(vehicle) -- Added
local r_color_secondary, g_color_secondary, b_color_secondary = GetVehicleCustomSecondaryColour(vehicle) -- Added
local pearlescentColor, wheelColor = GetVehicleExtraColours(vehicle)
local extras = {}
for extraId=0, 12 do
if DoesExtraExist(vehicle, extraId) then
local state = IsVehicleExtraTurnedOn(vehicle, extraId) == 1
extras[tostring(extraId)] = state
end
end
return {
model = GetEntityModel(vehicle),
plate = ESX.Math.Trim(GetVehicleNumberPlateText(vehicle)),
plateIndex = GetVehicleNumberPlateTextIndex(vehicle),
bodyHealth = ESX.Math.Round(GetVehicleBodyHealth(vehicle), 1),
engineHealth = ESX.Math.Round(GetVehicleEngineHealth(vehicle), 1),
tankHealth = ESX.Math.Round(GetVehiclePetrolTankHealth(vehicle), 1),
fuelLevel = ESX.Math.Round(GetVehicleFuelLevel(vehicle), 1),
dirtLevel = ESX.Math.Round(GetVehicleDirtLevel(vehicle), 1),
color1 = colorPrimary,
color2 = colorSecondary,
Rcolor_primary = r_color_primary, -- Added
Gcolor_primary = g_color_primary, -- Added
Bcolor_primary = b_color_primary, -- Added
Rcolor_secondary = r_color_secondary, -- Added
Gcolor_secondary = g_color_secondary, -- Added
Bcolor_secondary = b_color_secondary, -- Added
pearlescentColor = pearlescentColor,
wheelColor = wheelColor,
wheels = GetVehicleWheelType(vehicle),
customtires1 = GetVehicleModVariation(vehicle, 23), -- Added
customtires2 = GetVehicleModVariation(vehicle, 24), -- Added
windowTint = GetVehicleWindowTint(vehicle),
xenonColor = GetVehicleXenonLightsColour(vehicle),
neonEnabled = {
IsVehicleNeonLightEnabled(vehicle, 0),
IsVehicleNeonLightEnabled(vehicle, 1),
IsVehicleNeonLightEnabled(vehicle, 2),
IsVehicleNeonLightEnabled(vehicle, 3)
},
neonColor = table.pack(GetVehicleNeonLightsColour(vehicle)),
extras = extras,
tyreSmokeColor = table.pack(GetVehicleTyreSmokeColor(vehicle)),
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),
modTurbo = IsToggleModOn(vehicle, 18),
modSmokeEnabled = IsToggleModOn(vehicle, 20),
modXenon = IsToggleModOn(vehicle, 22),
modFrontWheels = GetVehicleMod(vehicle, 23),
modBackWheels = GetVehicleMod(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),
modLivery = GetVehicleLivery(vehicle)
}
else
return
end
end
Dependencies
-
mysql-async
-
In the standalone version the table is created automatically (customcar)
-
In ESX version the table used is âowned_vehiclesâ.
This script has no IP protection or encryption.
Buy and download here: Tebex
See our other scripts:
Tattoos Shop (And Degrade Hair)
Body Damages V2 (new update)
Mx Custom Car V2 (new update)
Mx Show Damage (new)
Body Damages
Mx Crafting V2 (new)
Mx Keycodes
Mx Crafting Items
Fix Wiring [FREE]
Lockpick minigame [FREE]