So I have this BodyVelocity that slows down every frame, but the issue is if you’re laggy or have more than 60 Fps it will either be too fast or too slow. Here is the code
local BV = Instance.new("BodyVelocity", Character.HumanoidRootPart)
BV.Velocity = Character.HumanoidRootPart.CFrame.LookVector * Power
BV.MaxForce = Vector3.new(9e9, 0, 9e9)
game:GetService("RunService").RenderStepped:Connect(function(deltaTime)
Power *= 0.9
BV.Velocity = Character.HumanoidRootPart.CFrame.LookVector * Power
end)
Not sure this would work. OP seems to want this change every 1/60th of a frame. You’d want deltaTime * 60, so then 1/60th of a second would equate to 1, and so on.
Plus, I think the correct form is Power *= 0.9^(...), even though it looks weird. For example, after 2/60ths of a sec, you’d have Power *= 0.9^(2) = 0.81, which I think is the right factor to multiply by.