Universal Break (Update)
Key RequiredUniversal

Universal Break (Update)

Universal ScriptSmileXSmileX 3.7K views 208 executesUpdated Jul 16, 2025
3.3/ 5(3 votes)
2167% Positive
Lua Script•202 lines (6221 chars)
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)

Features & Information

• Draggable UI • Will not disappear after reset/death •You can change the fling/spasm velocity by your choice •Will make you fling to directions like insane Update 1 •Now able to control your insane flings direction by your camera's direction
#Universal#Free#Fling#Fun#Troll

Community Comments (0)

No comments yet for this script.

More Scripts for Universal Scripts