
KeylessUniversal

-- 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