A long time ago I made this ‘piggyback’ tool. I wanted to use it for a game, but was unable to because of some weird bug. Basically, the bug is this: If a player is carrying someone who spawned after him/her, he or she (the player who is carrying someone) will get laggy movement. However, if a player is carrying someone who spawned before him/her, he or she will not have any laggy movement.
The only reason I can think of why this happens, is that I weld the two players to each other and set the PlatformStand of the player on the back to true. But still, I think it’s weird how the order of spawning characters has something to do with this and therefore I think this is a bug within Roblox.I could be totally wrong though. Is there someone who knows more about this?
It makes sense, since the character physics are handled by the client what you have is a conflict of interests, however the thing with the computer is that to avoid the conflict, they’ll take the newest first.
Both clients are trying to control the physics and the server distributes the job to the newest character causing the other to witness laggy movement.
DAV TO DA RESCUUUU:
Put this code in a local script and insert an object value. Make the value of that object value the HRP of the target. Adjust the CFrame if you so desire. Copy the script into the [insert place where LocalScripts work], and then delete it when you don’t want to piggyback anymore. This will appear smooth on the person piggybacking, and fairly smooth on the person who is carrying.
local player = game.Players.LocalPlayer
repeat wait() until player.Character
local myHRP = player.Character:WaitForChild("HumanoidRootPart")
local otHRP = script.ObjectValue.Value --change the name of the O.V. however you wanna
game:GetService("RunService").RenderStepped:connect(function()
myHRP.CFrame = otHRP.CFrame:toWorldSpace(CFrame.new(0, 1, 1)) --because z is backwards in roblox I think
end)