Ticking Functions with Parameters? | Nested Functions?

I have a function here in a pawn class, Repair by Value Over Time, which does as named. How do I go about setting this up in a timed loop for a set duration? I noticed Set Timer by Function Name doesn’t pass parameters, so I don’t think I can use that.

I probably could use this timer if I could declare a function within this function, but is that even possible? I mean nested functions like in JavaScript or Lua.

My other idea was to just keep running through a while loop until system time at which the function started plus a tick increment matched current system time while tick increment is less than the set duration. But I don’t want this function constantly looping by cpu frequency waiting for the conditions. Isn’t there a cleaner way to do this?