-- Local Desync Script (Horizontal Only with Health and Respawn Handling)
local player = game.Players.LocalPlayer
local character = player.Character or player.CharacterAdded:Wait()
local humanoidRootPart = character:WaitForChild("HumanoidRootPart")
local humanoid = character:WaitForChild("Humanoid")
-- Variable to control the desync effect
local isDesyncing = true
-- Function to simulate desync-like behavior with horizontal movements only
local function DesyncSimulation()
while isDesyncing do
-- Check if the player's health is below 1
if humanoid.Health < 1 then
isDesyncing = false
break -- Stop the simulation if health is below 1
end
-- Move the player's root part with horizontal and forward/backward offsets
local randomOffset = Vector3.new(
math.random(-4, 4) * 0.5, -- Moderate horizontal offset
0, -- No vertical offset
math.random(-4, 4) * 0.5 -- Moderate forward/backward offset
)
-- Apply noticeable velocity changes
humanoidRootPart.CFrame = humanoidRootPart.CFrame *
CFrame.new(randomOffset)
humanoidRootPart.Velocity = humanoidRootPart.Velocity + randomOffset * 7 --
Controlled scaling for effect
-- Maintain a short delay for smooth movements
wait(0.09)
end
end
-- Connect to the character being added or respawned
player.CharacterAdded:Connect(function(char)
character = char
humanoidRootPart = character:WaitForChild("HumanoidRootPart")
humanoid = character:WaitForChild("Humanoid")
-- Reset the desync effect
isDesyncing = true
DesyncSimulation()
end)
-- Run the desync function initially
DesyncSimulation()