Quote Originally Posted by cronodragon
You should multiply the step (0.05) by the number of seconds or milliseconds elapsed since the last frame. That way you would be moving the character N units per second/millisecond.
yep i jus sorted it, thanks anyways for replying ^ that was spot on answer, thanks alot

[pascal]
if (buffer[DIK_LEFT] and $80) <> 0 then
F_MapBuilder.Player.PosX := F_MapBuilder.Player.PosX - (((tick - F_LastCheck) / 60) * 5)
else if (buffer[DIK_RIGHT] and $80) <> 0 then
F_MapBuilder.Player.PosX := F_MapBuilder.Player.PosX + (((tick - F_LastCheck) / 60) * 5);
[/pascal]