
KeylessUniversal

-- ═══════════════════════════════════════════════════════════════
-- Desync GUI v1.0
-- Server-client desync: walk around invisibly, toggle off = TP to visual pos
-- ═══════════════════════════════════════════════════════════════
local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local TweenService = game:GetService("TweenService")
local UserInputService = game:GetService("UserInputService")
local LocalPlayer = Players.LocalPlayer
local PlayerGui = LocalPlayer:WaitForChild("PlayerGui")
-- ═══════════════════════════════════════════════════════════════
-- State
-- ═══════════════════════════════════════════════════════════════
local desyncActive = false
local speedBoosted = false
local defaultSpeed = 16
local currentSpeed = 16
local invisSeat = nil
local invisWeld = nil
local savedCFrame = nil
local desyncLoop = nil
local hiddenPos = nil -- set dynamically to above current position
-- ═══════════════════════════════════════════════════════════════
-- Colors
-- ═══════════════════════════════════════════════════════════════
local C = {
Bg = Color3.fromRGB(12, 12, 16),
Surface = Color3.fromRGB(22, 22, 28),
SurfaceMid = Color3.fromRGB(30, 30, 38),
SurfaceLt = Color3.fromRGB(40, 40, 50),
SurfaceHover= Color3.fromRGB(50, 50, 60),
Border = Color3.fromRGB(45, 45, 55),
Accent = Color3.fromRGB(120, 80, 255),
AccentDim = Color3.fromRGB(90, 55, 200),
AccentGlow = Color3.fromRGB(160, 120, 255),
Green = Color3.fromRGB(50, 205, 120),
GreenDim = Color3.fromRGB(35, 160, 90),
Red = Color3.fromRGB(255, 70, 70),
RedDim = Color3.fromRGB(200, 50, 50),
Yellow = Color3.fromRGB(255, 200, 50),
Text = Color3.fromRGB(210, 210, 220),
TextBright = Color3.fromRGB(255, 255, 255),
TextDim = Color3.fromRGB(130, 130, 150),
TextMuted = Color3.fromRGB(85, 85, 100),
White = Color3.fromRGB(255, 255, 255),
}
-- ═══════════════════════════════════════════════════════════════
-- Utility
-- ═══════════════════════════════════════════════════════════════
local function Create(class, props)
local inst = Instance.new(class)
for k, v in pairs(props or {}) do
if k ~= "Parent" and k ~= "Children" then inst[k] = v end
end
if props and props.Parent then inst.Parent = props.Parent end
if props and props.Children then
for _, child in ipairs(props.Children) do child.Parent = inst end
end
return inst
end
local function AddCorner(parent, radius)
local c = Instance.new("UICorner")
c.CornerRadius = UDim.new(0, radius or 6)
c.Parent = parent
return c
end
local function AddStroke(parent, color, thickness, transparency)
local s = Instance.new("UIStroke")
s.Color = color or C.Border
s.Thickness = thickness or 1
s.Transparency = transparency or 0.5
s.Parent = parent
return s
end
local function AddPadding(parent, l, t, r, b)
local p = Instance.new("UIPadding")
p.PaddingLeft = UDim.new(0, l or 0)
p.PaddingTop = UDim.new(0, t or 0)
p.PaddingRight = UDim.new(0, r or 0)
p.PaddingBottom = UDim.new(0, b or 0)
p.Parent = parent
return p
end
local function Smooth(inst, props, dur)
return TweenService:Create(inst, TweenInfo.new(dur or 0.25, Enum.EasingStyle.Quad, Enum.EasingDirection.Out), props)
end
local function Spring(inst, props, dur)
return TweenService:Create(inst, TweenInfo.new(dur or 0.4, Enum.EasingStyle.Back, Enum.EasingDirection.Out), props)
end
local function Quick(inst, props)
return TweenService:Create(inst, TweenInfo.new(0.1, Enum.EasingStyle.Quad, Enum.EasingDirection.Out), props)
end
local function PlaySound(id, vol, pitch)
pcall(function()
local s = Instance.new("Sound")
s.SoundId = "rbxassetid://" .. tostring(id)
s.Volume = vol or 0.2
s.PlaybackSpeed = pitch or 1
s.Parent = PlayerGui
s:Play()
s.Ended:Connect(function() s:Destroy() end)
task.delay(3, function() if s and s.Parent then s:Destroy() end end)
end)
end
-- ═══════════════════════════════════════════════════════════════
-- Notification
-- ═══════════════════════════════════════════════════════════════
local notifContainer = Create("ScreenGui", {
Name = "Desync_Notifs",
ResetOnSpawn = false,
ZIndexBehavior = Enum.ZIndexBehavior.Sibling,
Parent = PlayerGui,
})
Create("UIListLayout", {
SortOrder = Enum.SortOrder.LayoutOrder,
Padding = UDim.new(0, 4),
VerticalAlignment = Enum.VerticalAlignment.Top,
HorizontalAlignment = Enum.HorizontalAlignment.Right,
Parent = notifContainer,
})
local np = Instance.new("UIPadding")
np.PaddingTop = UDim.new(0, 10)
np.PaddingRight = UDim.new(0, 10)
np.Parent = notifContainer
local function Notify(text, notifType)
PlaySound(6895079853, 0.15, 1.1)
local types = {
success = C.Green,
error = C.Red,
info = C.Accent,
warning = C.Yellow,
}
local col = types[notifType] or types.info
local notif = Create("Frame", {
BackgroundColor3 = C.Surface,
BackgroundTransparency = 0.05,
Size = UDim2.new(0, 240, 0, 34),
BorderSizePixel = 0,
Position = UDim2.new(1.5, 0, 0, 0),
Parent = notifContainer,
})
AddCorner(notif, 6)
AddStroke(notif, C.Border, 1, 0.6)
Create("Frame", {
BackgroundColor3 = col,
Size = UDim2.new(0, 3, 1, 0),
BorderSizePixel = 0,
Parent = notif,
})
Create("TextLabel", {
Text = text,
Font = Enum.Font.GothamBold,
TextSize = 11,
TextColor3 = C.Text,
TextXAlignment = Enum.TextXAlignment.Left,
BackgroundTransparency = 1,
Size = UDim2.new(1, -18, 1, 0),
Position = UDim2.new(0, 12, 0, 0),
TextTruncate = Enum.TextTruncate.AtEnd,
Parent = notif,
})
Spring(notif, { Position = UDim2.new(1, 0, 0, 0) }, 0.4):Play()
task.delay(3, function()
if notif and notif.Parent then
Smooth(notif, { Position = UDim2.new(1.5, 0, 0, 0), BackgroundTransparency = 1 }, 0.25):Play()
task.delay(0.3, function() if notif and notif.Parent then notif:Destroy() end end)
end
end)
end
-- ═══════════════════════════════════════════════════════════════
-- Desync Logic
-- ═══════════════════════════════════════════════════════════════
local function getRoot(char)
return char:FindFirstChild("HumanoidRootPart")
or char:FindFirstChild("Torso")
or char:FindFirstChild("UpperTorso")
end
local function getTorso(char)
return char:FindFirstChild("Torso") or char:FindFirstChild("UpperTorso")
end
local function getHiddenPos(root)
local pos = root and root.Position or Vector3.new(0, 100, 0)
return Vector3.new(pos.X, pos.Y + 50000, pos.Z)
end
local function setCharacterTransparency(char, trans)
for _, part in pairs(char:GetDescendants()) do
if part:IsA("BasePart") or part:IsA("Decal") then
pcall(function() part.Transparency = trans end)
end
end
-- Keep face visible at low transparency
local head = char:FindFirstChild("Head")
if head then
local face = head:FindFirstChild("face")
if face then pcall(function() face.Transparency = math.min(trans, 0.7) end) end
end
end
local function enableDesync()
local char = LocalPlayer.Character
if not char then Notify("No character found!", "error") return false end
local root = getRoot(char)
local torso = getTorso(char)
if not root or not torso then Notify("Missing body parts!", "error") return false end
-- Step 1: Save current position (your ghost body stays here)
savedCFrame = root.CFrame
-- Step 2: Get safe hidden spot WAY ABOVE the map
hiddenPos = getHiddenPos(root)
-- Step 3: Move character up to hidden spot (server registers this)
char:MoveTo(hiddenPos)
task.wait()
-- Step 4: Create invisible seat at hidden spot
invisSeat = Instance.new("Seat")
invisSeat.Name = "DesyncSeat_" .. math.random(10000, 99999)
invisSeat.Anchored = false
invisSeat.CanCollide = false
invisSeat.Transparency = 1
invisSeat.Size = Vector3.new(2, 1, 1)
invisSeat.Position = hiddenPos
invisSeat.Parent = workspace
-- Step 5: Weld seat to torso
invisWeld = Instance.new("Weld")
invisWeld.Name = "DesyncWeld"
invisWeld.Part0 = invisSeat
invisWeld.Part1 = torso
invisWeld.Parent = invisSeat
-- Step 6: Snap seat back to saved position (ghost body spot)
task.wait()
invisSeat.CFrame = savedCFrame
-- Step 7: Make character transparent
setCharacterTransparency(char, desyncTransparency)
-- Step 7: Start desync maintenance loop
-- Prevents server corrections + keeps character transparent
desyncLoop = RunService.Heartbeat:Connect(function()
if not desyncActive then return end
-- Only maintain if seat is still alive
if invisSeat and invisSeat.Parent then
-- Keep character transparent (some games reset it)
local c = LocalPlayer.Character
if c then
for _, part in pairs(c:GetDescendants()) do
if part:IsA("BasePart") or part:IsA("Decal") then
if part.Transparency < desyncTransparency - 0.05 then
pcall(function() part.Transparency = desyncTransparency end)
end
end
end
end
end
end)
desyncActive = true
Notify("Desync ON - You are invisible!", "success")
return true
end
local function disableDesync()
-- Step 1: Save current visual position (where the player walked to)
local char = LocalPlayer.Character
local currentVisualPos = nil
if char then
local root = getRoot(char)
if root then
currentVisualPos = root.CFrame
end
end
-- Step 2: Stop the maintenance loop
if desyncLoop then
desyncLoop:Disconnect()
desyncLoop = nil
end
-- Step 3: Destroy seat + weld
if invisSeat and invisSeat.Parent then
invisSeat:Destroy()
end
invisSeat = nil
invisWeld = nil
-- Step 4: Restore character transparency
if char then
setCharacterTransparency(char, 0)
end
-- Step 5: Teleport to where the player visually was (not the hidden spot)
if currentVisualPos and char then
task.wait(0.1)
pcall(function()
char:PivotTo(currentVisualPos)
end)
-- Fallback if PivotTo doesn't work
pcall(function()
char:MoveTo(currentVisualPos.Position)
end)
end
desyncActive = false
savedCFrame = nil
Notify("Desync OFF - TP'd to visual pos!", "info")
end
-- ═══════════════════════════════════════════════════════════════
-- GUI
-- ═══════════════════════════════════════════════════════════════
local gui = Create("ScreenGui", {
Name = "DesyncGUI",
ResetOnSpawn = false,
ZIndexBehavior = Enum.ZIndexBehavior.Sibling,
Parent = PlayerGui,
})
local main = Create("Frame", {
Name = "Main",
BackgroundColor3 = C.Bg,
Size = UDim2.new(0, 200, 0, 0),
Position = UDim2.new(0, 20, 0.5, -100),
BorderSizePixel = 0,
Parent = gui,
})
AddCorner(main, 10)
AddStroke(main, C.Border, 1, 0.4)
-- Glow
local glow = Create("Frame", {
BackgroundColor3 = C.Accent,
BackgroundTransparency = 0.97,
Size = UDim2.new(1, 6, 1, 6),
Position = UDim2.new(0, -3, 0, -3),
ZIndex = -1,
Parent = main,
})
AddCorner(glow, 12)
-- Content
local content = Create("Frame", {
BackgroundTransparency = 1,
Size = UDim2.new(1, 0, 0, 0),
AutomaticSize = Enum.AutomaticSize.Y,
Parent = main,
})
local contentLayout = Create("UIListLayout", {
SortOrder = Enum.SortOrder.LayoutOrder,
Padding = UDim.new(0, 0),
Parent = content,
})
AddPadding(content, 12, 12, 12, 12)
-- ═══ Title Bar ═══
local titleBar = Create("Frame", {
BackgroundColor3 = C.Surface,
Size = UDim2.new(1, 0, 0, 34),
BorderSizePixel = 0,
LayoutOrder = 0,
Parent = content,
})
AddCorner(titleBar, 8)
Create("Frame", {
BackgroundColor3 = C.Surface,
Size = UDim2.new(1, 0, 0, 10),
Position = UDim2.new(0, 0, 1, -5),
BorderSizePixel = 0,
Parent = titleBar,
})
-- Logo
local logoDot = Create("Frame", {
BackgroundColor3 = C.Accent,
Size = UDim2.new(0, 8, 0, 8),
Position = UDim2.new(0, 12, 0.5, 0),
AnchorPoint = Vector2.new(0, 0.5),
Parent = titleBar,
})
AddCorner(logoDot, 4)
Create("TextLabel", {
Text = "DESYNC",
Font = Enum.Font.GothamBold,
TextSize = 13,
TextColor3 = C.TextBright,
BackgroundTransparency = 1,
Size = UDim2.new(1, -50, 1, 0),
Position = UDim2.new(0, 26, 0, 0),
TextXAlignment = Enum.TextXAlignment.Left,
Parent = titleBar,
})
-- Status dot
local statusDot = Create("Frame", {
BackgroundColor3 = C.TextMuted,
Size = UDim2.new(0, 7, 0, 7),
Position = UDim2.new(1, -12, 0.5, 0),
AnchorPoint = Vector2.new(0, 0.5),
Parent = titleBar,
})
AddCorner(statusDot, 4)
-- ═══ Dragging ═══
local dragging = false
local dragStart, startPos
titleBar.InputBegan:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
dragging = true
dragStart = input.Position
startPos = main.Position
input.Changed:Connect(function()
if input.UserInputState == Enum.UserInputState.End then dragging = false end
end)
end
end)
UserInputService.InputChanged:Connect(function(input)
if dragging and (input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch) then
local delta = input.Position - dragStart
main.Position = UDim2.new(
startPos.X.Scale, startPos.X.Offset + delta.X,
startPos.Y.Scale, startPos.Y.Offset + delta.Y
)
end
end)
-- Spacer
Create("Frame", {
BackgroundTransparency = 1,
Size = UDim2.new(1, 0, 0, 8),
LayoutOrder = 1,
Parent = content,
})
-- ═══ Desync Button ═══
local desyncRow = Create("Frame", {
BackgroundColor3 = C.Surface,
BackgroundTransparency = 0.7,
Size = UDim2.new(1, 0, 0, 44),
BorderSizePixel = 0,
LayoutOrder = 2,
Parent = content,
})
AddCorner(desyncRow, 6)
Create("TextLabel", {
Text = "Desync",
Font = Enum.Font.GothamBold,
TextSize = 11,
TextColor3 = C.TextBright,
TextXAlignment = Enum.TextXAlignment.Left,
BackgroundTransparency = 1,
Size = UDim2.new(1, 0, 0, 14),
Position = UDim2.new(0, 10, 0, 3),
Parent = desyncRow,
})
Create("TextLabel", {
Text = "Server-client desync",
Font = Enum.Font.Gotham,
TextSize = 8,
TextColor3 = C.TextMuted,
TextXAlignment = Enum.TextXAlignment.Left,
BackgroundTransparency = 1,
Size = UDim2.new(1, 0, 0, 12),
Position = UDim2.new(0, 10, 0, 18),
Parent = desyncRow,
})
local desyncBtn = Create("TextButton", {
Text = "OFF",
Font = Enum.Font.GothamBold,
TextSize = 10,
TextColor3 = C.White,
BackgroundColor3 = C.SurfaceLt,
Size = UDim2.new(0, 56, 0, 22),
Position = UDim2.new(1, -66, 0.5, 0),
AnchorPoint = Vector2.new(0, 0.5),
Parent = desyncRow,
})
AddCorner(desyncBtn, 5)
desyncRow.MouseEnter:Connect(function() Quick(desyncRow, { BackgroundTransparency = 0.55 }):Play() end)
desyncRow.MouseLeave:Connect(function() Quick(desyncRow, { BackgroundTransparency = 0.7 }):Play() end)
desyncBtn.MouseButton1Click:Connect(function()
PlaySound(6895079853, 0.2, 1)
Quick(desyncBtn, { Size = UDim2.new(0, 50, 0, 19) }):Play()
task.delay(0.1, function()
Spring(desyncBtn, { Size = UDim2.new(0, 56, 0, 22) }, 0.3):Play()
end)
if not desyncActive then
local ok = enableDesync()
if ok then
desyncBtn.Text = "ON"
desyncBtn.BackgroundColor3 = C.AccentDim
statusDot.BackgroundColor3 = C.Green
end
else
disableDesync()
desyncBtn.Text = "OFF"
desyncBtn.BackgroundColor3 = C.SurfaceLt
statusDot.BackgroundColor3 = C.TextMuted
-- Reset speed too
if speedBoosted then
speedBoosted = false
speedBtn.Text = "Speed OFF"
speedBtn.BackgroundColor3 = C.SurfaceLt
local hum = LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("Humanoid")
if hum then hum.WalkSpeed = defaultSpeed end
end
end
end)
-- ═══ Speed Button ═══
local speedRow = Create("Frame", {
BackgroundColor3 = C.Surface,
BackgroundTransparency = 0.7,
Size = UDim2.new(1, 0, 0, 44),
BorderSizePixel = 0,
LayoutOrder = 3,
Parent = content,
})
AddCorner(speedRow, 6)
Create("TextLabel", {
Text = "Speed Boost",
Font = Enum.Font.GothamBold,
TextSize = 11,
TextColor3 = C.TextBright,
TextXAlignment = Enum.TextXAlignment.Left,
BackgroundTransparency = 1,
Size = UDim2.new(1, 0, 0, 14),
Position = UDim2.new(0, 10, 0, 3),
Parent = speedRow,
})
Create("TextLabel", {
Text = "Faster movement while desynced",
Font = Enum.Font.Gotham,
TextSize = 8,
TextColor3 = C.TextMuted,
TextXAlignment = Enum.TextXAlignment.Left,
BackgroundTransparency = 1,
Size = UDim2.new(1, 0, 0, 12),
Position = UDim2.new(0, 10, 0, 18),
Parent = speedRow,
})
local speedBtn = Create("TextButton", {
Text = "Speed OFF",
Font = Enum.Font.GothamBold,
TextSize = 9,
TextColor3 = C.White,
BackgroundColor3 = C.SurfaceLt,
Size = UDim2.new(0, 56, 0, 22),
Position = UDim2.new(1, -66, 0.5, 0),
AnchorPoint = Vector2.new(0, 0.5),
Parent = speedRow,
})
AddCorner(speedBtn, 5)
speedRow.MouseEnter:Connect(function() Quick(speedRow, { BackgroundTransparency = 0.55 }):Play() end)
speedRow.MouseLeave:Connect(function() Quick(speedRow, { BackgroundTransparency = 0.7 }):Play() end)
speedBtn.MouseButton1Click:Connect(function()
PlaySound(6895079853, 0.15, 1.2)
Quick(speedBtn, { Size = UDim2.new(0, 50, 0, 19) }):Play()
task.delay(0.1, function()
Spring(speedBtn, { Size = UDim2.new(0, 56, 0, 22) }, 0.3):Play()
end)
speedBoosted = not speedBoosted
local hum = LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("Humanoid")
if hum then
if speedBoosted then
hum.WalkSpeed = 100
speedBtn.Text = "Speed ON"
speedBtn.BackgroundColor3 = C.GreenDim
Notify("Speed: 100", "success")
else
hum.WalkSpeed = defaultSpeed
speedBtn.Text = "Speed OFF"
speedBtn.BackgroundColor3 = C.SurfaceLt
Notify("Speed: " .. defaultSpeed, "info")
end
end
end)
-- Spacer
Create("Frame", {
BackgroundTransparency = 1,
Size = UDim2.new(1, 0, 0, 8),
LayoutOrder = 4,
Parent = content,
})
-- ═══ Speed Slider ═══
local sliderSection = Create("Frame", {
BackgroundColor3 = C.Surface,
BackgroundTransparency = 0.7,
Size = UDim2.new(1, 0, 0, 52),
BorderSizePixel = 0,
LayoutOrder = 5,
Parent = content,
})
AddCorner(sliderSection, 6)
Create("TextLabel", {
Text = "Speed Value",
Font = Enum.Font.GothamBold,
TextSize = 11,
TextColor3 = C.TextBright,
TextXAlignment = Enum.TextXAlignment.Left,
BackgroundTransparency = 1,
Size = UDim2.new(1, -65, 0, 14),
Position = UDim2.new(0, 10, 0, 4),
Parent = sliderSection,
})
Create("TextLabel", {
Text = "Set walk speed when boosted",
Font = Enum.Font.Gotham,
TextSize = 8,
TextColor3 = C.TextMuted,
TextXAlignment = Enum.TextXAlignment.Left,
BackgroundTransparency = 1,
Size = UDim2.new(1, -65, 0, 12),
Position = UDim2.new(0, 10, 0, 18),
Parent = sliderSection,
})
-- Value badge
local speedVal = Create("TextLabel", {
Text = "100",
Font = Enum.Font.GothamBold,
TextSize = 10,
TextColor3 = C.AccentGlow,
BackgroundColor3 = C.SurfaceMid,
Size = UDim2.new(0, 44, 0, 18),
Position = UDim2.new(1, -54, 0, 4),
Parent = sliderSection,
})
AddCorner(speedVal, 4)
AddStroke(speedVal, C.Border, 1, 0.5)
-- Track
local track = Create("Frame", {
BackgroundColor3 = C.SurfaceLt,
Size = UDim2.new(1, -20, 0, 4),
Position = UDim2.new(0, 10, 1, -12),
Parent = sliderSection,
})
AddCorner(track, 2)
local fill = Create("Frame", {
BackgroundColor3 = C.Accent,
Size = UDim2.new(0, 0, 1, 0),
Position = UDim2.new(0, 0, 0, 0),
Parent = track,
})
AddCorner(fill, 2)
local sliderThumb = Create("Frame", {
BackgroundColor3 = C.White,
Size = UDim2.new(0, 12, 0, 12),
Position = UDim2.new(0, -6, 0.5, 0),
Parent = track,
})
AddCorner(sliderThumb, 6)
local speedSliderVal = 100
local speedMin, speedMax, speedStep = 16, 500, 1
local function updateSpeedSlider(val)
speedSliderVal = math.clamp(math.round(val / speedStep) * speedStep, speedMin, speedMax)
currentSpeed = speedSliderVal
local pct = (speedSliderVal - speedMin) / (speedMax - speedMin)
pct = math.clamp(pct, 0, 1)
fill.Size = UDim2.new(pct, 0, 1, 0)
sliderThumb.Position = UDim2.new(pct, -6, 0.5, 0)
speedVal.Text = tostring(speedSliderVal)
-- If speed boost is on, apply immediately
if speedBoosted then
local hum = LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("Humanoid")
if hum then hum.WalkSpeed = speedSliderVal end
end
end
updateSpeedSlider(100)
sliderSection.MouseEnter:Connect(function() Quick(sliderSection, { BackgroundTransparency = 0.55 }):Play() end)
sliderSection.MouseLeave:Connect(function() Quick(sliderSection, { BackgroundTransparency = 0.7 }):Play() end)
local sliderDragging = false
sliderThumb.InputBegan:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
sliderDragging = true
PlaySound(6895079853, 0.1, 0.8)
end
end)
track.InputBegan:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
sliderDragging = true
PlaySound(6895079853, 0.1, 0.8)
local relX = (input.Position.X - track.AbsolutePosition.X) / track.AbsoluteSize.X
updateSpeedSlider(speedMin + relX * (speedMax - speedMin))
end
end)
UserInputService.InputEnded:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
if sliderDragging then sliderDragging = false end
end
end)
UserInputService.InputChanged:Connect(function(input)
if sliderDragging and (input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch) then
local relX = math.clamp((input.Position.X - track.AbsolutePosition.X) / track.AbsoluteSize.X, 0, 1)
updateSpeedSlider(speedMin + relX * (speedMax - speedMin))
end
end)
-- Spacer
Create("Frame", {
BackgroundTransparency = 1,
Size = UDim2.new(1, 0, 0, 8),
LayoutOrder = 6,
Parent = content,
})
-- ═══ Transparency Slider ═══
local transSection = Create("Frame", {
BackgroundColor3 = C.Surface,
BackgroundTransparency = 0.7,
Size = UDim2.new(1, 0, 0, 52),
BorderSizePixel = 0,
LayoutOrder = 7,
Parent = content,
})
AddCorner(transSection, 6)
Create("TextLabel", {
Text = "Visibility",
Font = Enum.Font.GothamBold,
TextSize = 11,
TextColor3 = C.TextBright,
TextXAlignment = Enum.TextXAlignment.Left,
BackgroundTransparency = 1,
Size = UDim2.new(1, -65, 0, 14),
Position = UDim2.new(0, 10, 0, 4),
Parent = transSection,
})
Create("TextLabel", {
Text = "Character transparency",
Font = Enum.Font.Gotham,
TextSize = 8,
TextColor3 = C.TextMuted,
TextXAlignment = Enum.TextXAlignment.Left,
BackgroundTransparency = 1,
Size = UDim2.new(1, -65, 0, 12),
Position = UDim2.new(0, 10, 0, 18),
Parent = transSection,
})
local transVal = Create("TextLabel", {
Text = "0.5",
Font = Enum.Font.GothamBold,
TextSize = 10,
TextColor3 = C.AccentGlow,
BackgroundColor3 = C.SurfaceMid,
Size = UDim2.new(0, 44, 0, 18),
Position = UDim2.new(1, -54, 0, 4),
Parent = transSection,
})
AddCorner(transVal, 4)
AddStroke(transVal, C.Border, 1, 0.5)
local transTrack = Create("Frame", {
BackgroundColor3 = C.SurfaceLt,
Size = UDim2.new(1, -20, 0, 4),
Position = UDim2.new(0, 10, 1, -12),
Parent = transSection,
})
AddCorner(transTrack, 2)
local transFill = Create("Frame", {
BackgroundColor3 = C.Accent,
Size = UDim2.new(0, 0, 1, 0),
Position = UDim2.new(0, 0, 0, 0),
Parent = transTrack,
})
AddCorner(transFill, 2)
local transThumb = Create("Frame", {
BackgroundColor3 = C.White,
Size = UDim2.new(0, 12, 0, 12),
Position = UDim2.new(0, -6, 0.5, 0),
Parent = transTrack,
})
AddCorner(transThumb, 6)
local transSliderVal = 0.5
local transMin, transMax, transStep = 0, 1, 0.05
local desyncTransparency = 0.5
local function updateTransSlider(val)
transSliderVal = math.clamp(math.round(val / transStep) * transStep, transMin, transMax)
desyncTransparency = transSliderVal
local pct = (transSliderVal - transMin) / (transMax - transMin)
pct = math.clamp(pct, 0, 1)
transFill.Size = UDim2.new(pct, 0, 1, 0)
transThumb.Position = UDim2.new(pct, -6, 0.5, 0)
transVal.Text = tostring(transSliderVal)
-- Apply live if desync is active
if desyncActive and LocalPlayer.Character then
setCharacterTransparency(LocalPlayer.Character, desyncTransparency)
end
end
updateTransSlider(0.5)
transSection.MouseEnter:Connect(function() Quick(transSection, { BackgroundTransparency = 0.55 }):Play() end)
transSection.MouseLeave:Connect(function() Quick(transSection, { BackgroundTransparency = 0.7 }):Play() end)
local transDragging = false
transThumb.InputBegan:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
transDragging = true
PlaySound(6895079853, 0.1, 0.8)
end
end)
transTrack.InputBegan:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
transDragging = true
PlaySound(6895079853, 0.1, 0.8)
local relX = (input.Position.X - transTrack.AbsolutePosition.X) / transTrack.AbsoluteSize.X
updateTransSlider(transMin + relX * (transMax - transMin))
end
end)
UserInputService.InputEnded:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
if transDragging then transDragging = false end
end
end)
UserInputService.InputChanged:Connect(function(input)
if transDragging and (input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch) then
local relX = math.clamp((input.Position.X - transTrack.AbsolutePosition.X) / transTrack.AbsoluteSize.X, 0, 1)
updateTransSlider(transMin + relX * (transMax - transMin))
end
end)
-- Spacer
Create("Frame", {
BackgroundTransparency = 1,
Size = UDim2.new(1, 0, 0, 8),
LayoutOrder = 8,
Parent = content,
})
-- ═══ Info ═══
Create("TextLabel", {
Text = "Toggle desync on, walk around\nfreely, then toggle off to TP\nto where you are visually.",
Font = Enum.Font.Gotham,
TextSize = 8,
TextColor3 = C.TextMuted,
TextXAlignment = Enum.TextXAlignment.Left,
BackgroundTransparency = 1,
Size = UDim2.new(1, 0, 0, 30),
TextWrapped = true,
LayoutOrder = 9,
Parent = content,
})
-- Bottom spacer
Create("Frame", {
BackgroundTransparency = 1,
Size = UDim2.new(1, 0, 0, 6),
LayoutOrder = 10,
Parent = content,
})
-- ═══ Keyboard Shortcut ═══
UserInputService.InputBegan:Connect(function(input, processed)
if processed then return end
if input.KeyCode == Enum.KeyCode.X then
desyncBtn.MouseButton1Click:Fire()
end
end)
-- ═══ Reset on respawn ═══
LocalPlayer.CharacterAdded:Connect(function(char)
-- Reset state
if desyncActive then
desyncActive = false
if desyncLoop then desyncLoop:Disconnect() desyncLoop = nil end
if invisSeat and invisSeat.Parent then invisSeat:Destroy() end
invisSeat = nil
invisWeld = nil
savedCFrame = nil
desyncBtn.Text = "OFF"
desyncBtn.BackgroundColor3 = C.SurfaceLt
statusDot.BackgroundColor3 = C.TextMuted
end
speedBoosted = false
speedBtn.Text = "Speed OFF"
speedBtn.BackgroundColor3 = C.SurfaceLt
Notify("Desync reset (respawn)", "warning")
end)
-- ═══ Anti-seat-cleanup loop ═══
-- Some games delete workspace parts periodically, silently recreate the seat instead of turning off
task.spawn(function()
while task.wait(0.5) do
if desyncActive and (not invisSeat or not invisSeat.Parent) then
-- Seat got deleted by the game, silently recreate it
local char = LocalPlayer.Character
if not char then continue end
local root = getRoot(char)
local torso = getTorso(char)
if not root or not torso then continue end
-- Recreate seat at hidden pos
invisSeat = Instance.new("Seat")
invisSeat.Name = "DesyncSeat_" .. math.random(10000, 99999)
invisSeat.Anchored = false
invisSeat.CanCollide = false
invisSeat.Transparency = 1
invisSeat.Size = Vector3.new(2, 1, 1)
invisSeat.Position = hiddenPos
invisSeat.Parent = workspace
-- Weld it
invisWeld = Instance.new("Weld")
invisWeld.Name = "DesyncWeld"
invisWeld.Part0 = invisSeat
invisWeld.Part1 = torso
invisWeld.Parent = invisSeat
task.wait()
-- Snap seat to where the player visually is
invisSeat.CFrame = root.CFrame
end
end
end)
-- ═══ Open animation ═══
main.Size = UDim2.new(0, 0, 0, 0)
main.BackgroundTransparency = 1
task.delay(0.05, function()
PlaySound(6895079853, 0.25, 0.9)
Spring(main, {
Size = UDim2.new(0, 200, 0, 390),
BackgroundTransparency = 0.04,
}, 0.6):Play()
Smooth(glow, { BackgroundTransparency = 0.95 }, 0.4):Play()
end)
Notify("Desync loaded! Press X to toggle", "success")
![[KEYLESS] Moondiety Script | 17+ supported Games](https://scriptblox.com/images/sb/0-1753093706828.png)


finally made working desync, try it for urselves guys :D
do you need raknet library to make this work?
no rakent library