I use this. When you want to move a sprite using this, if you had playerX = playerX + 5, instead use playerX + Frame[0]X# * 5. You will need to increase the move value a lot though to notice any movement when using deltatimers. I've attached a simple shooty example to this post that shows you how it all works.
Dim FrameLast#[0]
Dim FrameX#[0]
do
FrameTimer(60)
Print(ScreenFPS())
Sync()
loop
Function FrameTimer(Ref#)
Diff# = ABS(Timer() - FrameLast#[0])
Ideal# = 1000.0 / Ref#
FrameX#[0] = Diff# / Ideal#
If Diff# > 1000 then FrameX#[0] = 0
FrameLast#[0] = Timer()
EndFunction
Function FrameTimer_Reset()
FrameLast#[0] = Timer()
EndFunction
Win 10 Pro - AMD RYZEN 7 Octacore 3.8ghz - 32GB DDR4 - RTX 2070 8GB