local Players = game:GetService("Players") local Debris = game:GetService("Debris") local RunService = game:GetService("RunService") local task = task local player = Players.LocalPlayer local BREAK_INTERVAL = 0.5 local SPASM_DELAY = 0.4 local spasmEnabled = false local controlEnabled = false local currentCharacter = nil local spasmToken = 0 local controlToken = 0 local function layDown(char) local hrp = char:FindFirstChild("HumanoidRootPart") local humanoid = char:FindFirstChild("Humanoid") if not (hrp and humanoid) then return end hrp.CFrame = hrp.CFrame * CFrame.Angles(math.rad(90),0,0) humanoid.PlatformStand = true end local function standUp(char) local hrp = char:FindFirstChild("HumanoidRootPart") local humanoid = char:FindFirstChild("Humanoid") if not (hrp and humanoid) then return end hrp.CFrame = hrp.CFrame * CFrame.Angles(math.rad(-90),0,0) humanoid.PlatformStand = false end local function spasmFling(char) local hrp = char:FindFirstChild("HumanoidRootPart") if not hrp then return end local bv = Instance.new("BodyVelocity") bv.MaxForce = Vector3.new(1e5,1e5,1e5) bv.P = 1e4 bv.Velocity = Vector3.new( math.random(-150,150), math.random(50,70), math.random(-150,150) ) bv.Parent = hrp Debris:AddItem(bv, 0.1) task.wait(SPASM_DELAY) end local function controlFling(char) local hrp = char:FindFirstChild("HumanoidRootPart") local cam = workspace.CurrentCamera if not (hrp and cam) then return end local look = cam.CFrame.LookVector local flatDir = Vector3.new(look.X, 0, look.Z) if flatDir.Magnitude == 0 then return end flatDir = flatDir.Unit local upVel = math.random(50, 70) local bv = Instance.new("BodyVelocity") bv.MaxForce = Vector3.new(1e5, 1e5, 1e5) bv.P = 1e4 bv.Velocity = flatDir * 200 + Vector3.new(0, upVel, 0) bv.Parent = hrp Debris:AddItem(bv, 0.1) task.wait(SPASM_DELAY) end local function startSpasmLoop(char) local token = spasmToken task.spawn(function() while spasmEnabled and token == spasmToken and char == currentCharacter and char.Parent do spasmFling(char) task.wait(BREAK_INTERVAL) end end) end local function startControlLoop(char) local token = controlToken task.spawn(function() while controlEnabled and token == controlToken and char == currentCharacter and char.Parent do controlFling(char) task.wait(BREAK_INTERVAL) end end) end local function onCharacterAdded(char) currentCharacter = char char:WaitForChild("HumanoidRootPart",5) char:WaitForChild("Humanoid",5) if spasmEnabled then layDown(char) startSpasmLoop(char) end if controlEnabled then layDown(char) startControlLoop(char) end end player.CharacterAdded:Connect(onCharacterAdded) if player.Character then onCharacterAdded(player.Character) end local GUI_NAME = "BreakGui" local pg = player:WaitForChild("PlayerGui") if pg:FindFirstChild(GUI_NAME) then pg[GUI_NAME]:Destroy() end local screenGui = Instance.new("ScreenGui") screenGui.Name = GUI_NAME screenGui.ResetOnSpawn = false screenGui.Parent = pg local frame = Instance.new("Frame") frame.Name = "BreakFrame" frame.Size = UDim2.new(0,140,0,120) frame.Position = UDim2.new(0,20,0,80) frame.BackgroundColor3 = Color3.fromRGB(30,30,30) frame.BorderSizePixel = 0 frame.Active = true frame.Draggable = true frame.Parent = screenGui local title1 = Instance.new("TextLabel") title1.Size = UDim2.new(1,0,0,24) title1.Position = UDim2.new(0,0,0,0) title1.BackgroundColor3 = Color3.fromRGB(20,20,20) title1.BorderSizePixel = 0 title1.Text = "Break" title1.TextColor3 = Color3.new(1,1,1) title1.Font = Enum.Font.SourceSansBold title1.TextSize = 18 title1.Parent = frame local button1 = Instance.new("TextButton") button1.Size = UDim2.new(1,-8,0,28) button1.Position = UDim2.new(0,4,0,24) button1.BackgroundColor3 = Color3.fromRGB(200,0,0) button1.BorderSizePixel = 0 button1.TextColor3 = Color3.new(1,1,1) button1.Font = Enum.Font.SourceSansBold button1.TextSize = 18 button1.Text = "Off" button1.Parent = frame local title2 = Instance.new("TextLabel") title2.Size = UDim2.new(1,0,0,24) title2.Position = UDim2.new(0,0,0,52) title2.BackgroundColor3 = Color3.fromRGB(20,20,20) title2.BorderSizePixel = 0 title2.Text = "Break (Control)" title2.TextColor3 = Color3.new(1,1,1) title2.Font = Enum.Font.SourceSansBold title2.TextSize = 18 title2.Parent = frame local button2 = Instance.new("TextButton") button2.Size = UDim2.new(1,-8,0,28) button2.Position = UDim2.new(0,4,0,76) button2.BackgroundColor3 = Color3.fromRGB(0,100,200) button2.BorderSizePixel = 0 button2.TextColor3 = Color3.new(1,1,1) button2.Font = Enum.Font.SourceSansBold button2.TextSize = 18 button2.Text = "Off" button2.Parent = frame button1.MouseButton1Click:Connect(function() spasmEnabled = not spasmEnabled button1.Text = spasmEnabled and "On" or "Off" spasmToken = spasmToken + 1 if spasmEnabled then if currentCharacter then layDown(currentCharacter) startSpasmLoop(currentCharacter) end else if currentCharacter then standUp(currentCharacter) end end end) button2.MouseButton1Click:Connect(function() controlEnabled = not controlEnabled button2.Text = controlEnabled and "On" or "Off" controlToken = controlToken + 1 if controlEnabled then if currentCharacter then layDown(currentCharacter) startControlLoop(currentCharacter) end else if currentCharacter then standUp(currentCharacter) end end end)