I'm creating a game that involves moving parts mid-air. I've run into a problem when the character jumps or falls (falling only applies for this if network ownership is under another player), all of their momentum/velocity is lost. This is an issue because laggy people and/or jumping will cause a player to lose their momentum mid-air, which is not intended behavior.
Here is the script I've tried. This was made in under 5 minutes, don't worry about how it is formatted or done, I just need to know how to make the character keep their momentum when moving off a moving object.
local char = script.Parent local hum = script.Parent:WaitForChild("Humanoid") local root = script.Parent:WaitForChild("HumanoidRootPart") local states = {Enum.HumanoidStateType.Freefall,Enum.HumanoidStateType.Jumping} local prev local updating = true game["Run Service"].RenderStepped:Connect(function() if updating then prev = root.AssemblyLinearVelocity end end) hum.StateChanged:Connect(function(state) print(state) local falling = false for i,v in pairs(states) do if v == state then falling = true end end if falling == true then updating = false root.AssemblyLinearVelocity = prev else updating = true end end)