
1.4k Views
248 Executions
Does it work?
No reports yetNo reports yet. Tried it? Be the first to say.
Also noticed:
Description
red part in the screenshot is the server position ( vector3.new(0, 5, 0)) need support hook's
-- code from here https://x64.gg/t/roblox-universal-desync-using-hooks/101
local runService = game:GetService("RunService")
local localPlayer = game:GetService("Players").LocalPlayer
local desyncT = {
enabled = true,
loc = CFrame.new()
}
runService.Heartbeat:Connect(function()
if desyncT.enabled and localPlayer.Character then
local character = localPlayer.Character
local root = character:FindFirstChild("HumanoidRootPart")
if root then
desyncT.loc = root.CFrame -- setting the real cframe to where we are
local newCframe = desyncT.loc -- storing the actual cframe
newCframe = newCframe * CFrame.new(0, -5, 0) -- moving our player down 5 studs (via the desync)
root.CFrame = newCframe -- setting our root cframe to the new cframe we made (no u will not be able to see this on ur client)
runService.RenderStepped:Wait() -- waiitiititt
root.CFrame = desyncT.loc -- reset our players cframe back to where we were beforehand
end
end
end)
local desynchook = nil
desynchook = hookmetamethod(game, "__index", newcclosure(function(self, key)
if desyncT.enabled and not checkcaller() and key == "CFrame" and localPlayer.Character and self == localPlayer.Character.HumanoidRootPart then
return desyncT.loc
end
return desynchook(self, key)
end))










nice desync