local Players = game:GetService("Players") local RunService = game:GetService("RunService") local UserInputService = game:GetService("UserInputService") local LP = Players.LocalPlayer local KEY = Enum.KeyCode.C local DIST = 7 local enabled = false local hb local cache = {} local lastCF local function hrp(char) return char and char:FindFirstChild("HumanoidRootPart") end local function getMyHRP() local c = LP.Character return c and hrp(c) end local function prep(char) for _, v in ipairs(char:GetDescendants()) do if v:IsA("BasePart") then v.CanCollide = false v.Massless = true end end end local function track(plr) local function onChar(c) prep(c) cache[plr] = c end if plr.Character then onChar(plr.Character) end plr.CharacterAdded:Connect(onChar) end for _, p in ipairs(Players:GetPlayers()) do if p ~= LP then track(p) end end Players.PlayerAdded:Connect(function(p) if p ~= LP then track(p) end end) local function start() hb = RunService.Heartbeat:Connect(function() if not enabled then return end local myHRP = getMyHRP() if not myHRP then return end local targetCF = myHRP.CFrame + myHRP.CFrame.LookVector * DIST lastCF = targetCF for _, char in pairs(cache) do local h = hrp(char) if h then h.AssemblyLinearVelocity = Vector3.zero h.AssemblyAngularVelocity = Vector3.zero h.CFrame = targetCF end end end) end local function stop() if hb then hb:Disconnect() hb = nil end end UserInputService.InputBegan:Connect(function(i, gpe) if gpe then return end if i.KeyCode == KEY then enabled = not enabled if enabled then start() else stop() end end end) LP.CharacterAdded:Connect(function() if enabled and lastCF then task.wait() start() end end)