[Release] Mx Custom Car [PAID][ESX][STANDALONE]

A script by mxlol

No reviews yet.
[Release] Mx Custom Car [PAID][ESX][STANDALONE] main image

Full Description

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

3deee46370ee572335630eaf30c55cf41472d4a0.png|618x621.38

  • When the vehicle is not registered in the database, but it has been customized

aad866a5607194a1651d0909a0191f8e72d7d435.png|610x659.341

  • Customized vehicle and saved in the database

f2d08951d26da8041aa7479fd602028831d67049.png

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]