Ok wait.
EDIT: Look at Nature Blessing Heal Trigger and you will see something like this
function Trig_Nature_Blessing_Heal_periodicHeal takes nothing returns nothing
local unit u = GetEnumUnit()
local real regen = (0.0005)*GetUnitState(u, UNIT_STATE_MAX_LIFE)
if (GetUnitAbilityLevel(u, blessingBuffId) > 0) then //IF unit has buff
call SetWidgetLife(u, GetWidgetLife(u) + regen)
endif
set u = null
endfunction
REGEN per 0.05 second= (x)*GetUnitState(u, UNIT_STATE_MAX_LIFE)
Where x = (desired REGEN per second)*(0.05)
Example, if you want 1% regen per second then x = 0.01*0.05 = 0.0005 that is why
local real regen = (0.0005)*GetUnitState(u, UNIT_STATE_MAX_LIFE) heals 1% of max hp per second
Another example, if you want the unit to regen 30% of max hp in 10 second, then the unit needs to have a 3% regen per second then x = 0.03*0.05 = 0.0015 meaning your formula below should be
local real regen = (0.0015)*GetUnitState(u, UNIT_STATE_MAX_LIFE) heals 3% of max hp per second