Oh i see, it is because the function is taking only the first input you give since you start calling it on the exact frame the character overlap the collision box and only in this moment, never again, blueprint functions works calling c++ functions, so in this case, it is not that this timer will execute over and over again, it calls its c++ equivalent, the timer manager to start a timer with only the first input provided
a workaround is invalidate the timer then starting it again with the new value every time you press f