ive had this idea for some time but ive reworked it,
its very simple but if i want it to be accurate i need some advise,
this would mainly be for custom rigs
im calling this opdogs cause why not
i have came up with another idea which is just a custom movement system but this is for the default roblox movement system
heres the main (server) code
RunService.Heartbeat:Connect(function(DeltaTime)
local Ping = Player:GetAttribute("Ping");
if not Ping then return end;
local RootPart = Character:FindFirstChild("HumanoidRootPart");
if not RootPart then return end;
local Prediction = RootPart.Position+(RootPart.Velocity*Ping/256);
PreviewPart.Position = PreviewPart.Position:Lerp(Prediction, DeltaTime*10);
PreviewPart.Orientation = RootPart.Orientation;
ServerPart.CFrame = RootPart.CFrame;
end);