Just a quick solution, you can probably use deltatime to track how long they will slide, and check it like this:
local Slidetime = 0.4
local CurrentTick = 0
PlrSlide = RunSer.RenderStepped:Connect(function(deltatime)
CurrentTick += deltatime
LinearVelocity.MaxForce = 40000
LinearVelocity.Attachment0 = HRP.RootAttachment
LinearVelocity.VectorVelocity = HRP.CFrame.LookVector * (100 * (1 - (CurrentTick / Slidetime))) --prob right or wrong when slowing the velocity down, sorry if it is wrong, just typed it quickly :(
if RepeatedTimes >= Slidetime then
CurrentTick = 0
StopSlide()
end
end)
So, when every frame is rendered, the time difference between the frames would be added, making it decently consistent. Lower the FPS, the higher the deltatime, higher the FPS, the lower the deltatime. Hope this works