Health regeneration at a certain point/location

below is an example of how this could be done. the example is somewhat like what others have posted but theres a few differences as well. for instance the method used will work for multiple cars and makes use of the built in damage handling system of the engine.

to begin we start with a overlap event to start the script, i chose a overlap event to make it more performant (by tuning parts off when not needed) but you could have the script run all the time if you wanted and use on begin play instead. ok so on begin overlap we check if the overlapping actor is a car, if so then we see if the timer is already running. if the timer is running then we dont need to do anything, if the timer is not running then we set the timer event (repairCar) and set the timer variable.

the timer event RepairCar is the main bulk of your questions answer. here we see if there is any cars in the volume, if there is cars then we apply damage to each car. in this case i apply negative damage so as to heal the car, you could also use direct functions to affect a car health variable if wanted(cast to class → get health-> decrement->set health). if theres no cars overlapping i have it setup to turn off the timer and invalidate the variable.

This system may require further testing but the theory is sound and the quick testing i did worked.