[RELEASE] [ESX] esx_VehicleRepair - Repair your engine/vehicle loads of config! Supports RealisticEngineFailure

Hell you! Yes it’s me again with another esx release. :oncoming_automobile:

So the reason i made this script is because i was lacking a feature to repair vehicle engines without having to use a repair kit! This resource comes with loads of config options.

Ofcourse i have to give credit where is due and thank the creator of esx_carwash as i used that as a base.

FEATURES:

  • Ability to enable RealisticEngineFailure in the config.lua :oncoming_automobile:
  • Ability to change if the body should be repaired.
  • Ability to change how much it repairs your vehicle.
  • Change the price of repair. :moneybag:
  • Check engine health before repair.
  • Fix the car completly (change value in config.lua) :hammer:
  • easily add more locations.

What do you mean RealisticVehicleFailure support?
RVF changes alot of how cars work in GTA. What this config option allows is to set the engine repair value lower as if its set too high it basicly makes your vehicle indestructible to other cars on your server. a value of 700.0 is about the sweet spot but may need to go alittle lower hence why i gavce you the option to change it.

The Config.lua is commented so you know what everything does and things to not do.

Very basic but very useful script!

Could probably of been done better but for now it does what it needs to do with support for other resources.

esx_repairvehicle.rar (3.2 KB)

11 Likes

thanks sir very much :slight_smile:

1 Like

To my knowledge isn’t ocrp’s edit of REF the same thing as this?

Maybe similar in aspect, But no not the same.

when i go in for a repair i get this error.

I get the same error :frowning:

standalone plis s2

same error :frowning:

Will look into the error shortly! Thanks guys :grin:

1 Like

Redownload! Issue is now fixed :smiley:

1 Like

UPDATED:

Fixed an issue with RVF options causing your car to repair to an obscene amount!

If you want to change the values you will now have to go to…

esx_repairvehicle\client\main.lua LINE 109 &110

And change the values there.

I am going to test this as the last update i tested and the vehicle was not repairing was charging to repair but then was doing nothing once paid for the repair. :slight_smile:

1 Like

Everything seems okay from what have tested so fair nice job :slight_smile:

1 Like

I like the idea of this, but to make this MORE useful, the fixkit in esx should repair to (let’s say 70%) and doesn’t repair body. While this ‘esx_vehiclerepairs’ repairs the vehicle to 100%. Else it doesn’t make sense for them to bring their car to the shop.

Any idea how to change fixkit repair value?

In the client of repairkit, There will be a section that SetVehicleEngineHealth just edit that :slight_smile:

RegisterNetEvent(‘esx_mechanicjob:onFixkit’)
AddEventHandler(‘esx_mechanicjob:onFixkit’, function()
local playerPed = PlayerPedId()
local coords = GetEntityCoords(playerPed)

if IsAnyVehicleNearPoint(coords.x, coords.y, coords.z, 5.0) then
local vehicle

  if IsPedInAnyVehicle(playerPed, false) then
  	vehicle = GetVehiclePedIsIn(playerPed, false)
  else
  	vehicle = GetClosestVehicle(coords.x, coords.y, coords.z, 5.0, 0, 71)
  end

  if DoesEntityExist(vehicle) then
  	TaskStartScenarioInPlace(playerPed, 'PROP_HUMAN_BUM_BIN', 0, true)
  	Citizen.CreateThread(function()
  		Citizen.Wait(20000)
  		SetVehicleFixed(vehicle)
  		SetVehicleDeformationFixed(vehicle)
  		SetVehicleUndriveable(vehicle, false)
  		ClearPedTasksImmediately(playerPed)
  		ESX.ShowNotification(_U('veh_repaired'))
  	end)
  end

end
end)

Should I change to this if I want to fix it 70% AND does not fix deformation?

RegisterNetEvent(‘esx_mechanicjob:onFixkit’)
AddEventHandler(‘esx_mechanicjob:onFixkit’, function()
local playerPed = PlayerPedId()
local coords = GetEntityCoords(playerPed)

if IsAnyVehicleNearPoint(coords.x, coords.y, coords.z, 5.0) then
local vehicle

  if IsPedInAnyVehicle(playerPed, false) then
  	vehicle = GetVehiclePedIsIn(playerPed, false)
  else
  	vehicle = GetClosestVehicle(coords.x, coords.y, coords.z, 5.0, 0, 71)
  end

  if DoesEntityExist(vehicle) then
  	TaskStartScenarioInPlace(playerPed, 'PROP_HUMAN_BUM_BIN', 0, true)
  	Citizen.CreateThread(function()
  		Citizen.Wait(20000)
  		--SetVehicleFixed(vehicle)
                      SetVehicleEngineHealth (vehicle,800)
  		--SetVehicleDeformationFixed(vehicle)
  		SetVehicleUndriveable(vehicle, false)
  		ClearPedTasksImmediately(playerPed)
  		ESX.ShowNotification(_U('veh_repaired'))
  	end)
  end

end
end)

Yeah you know how it works :slight_smile: can also remove SetVehicleFixed if you don’t want it to fix deformation etc

thanks for the upload. I had some wired issue with the engine value (Config.RealisticVehicleFailure = true ) When I let it by 700.0 it deducted vehicle engine value, I have changed it to -700 and everithyng works fine with special effect that vehicle catches fire for a moment.

1 Like

Yeah i ended up rehauling it to use on my server, Glad you got it working thou the way you want it :smiley:

1 Like

Hi again, are we able to make the payment go to mechanic society money?