Cube Rage
Key RequiredUniversal

Cube Rage

Universal ScriptHell_worldHell_world 529 views 105 executesUpdated Mar 23, 2026
5.0/ 5(4 votes)
40100% Positive
Lua Script•215 lines (7087 chars)
local Players = game:GetService("Players")
local TweenService = game:GetService("TweenService")
local RunService = game:GetService("RunService")
local UserInputService = game:GetService("UserInputService")
local CoreGui = game:GetService("CoreGui")

local Player = Players.LocalPlayer
local Character = Player.Character or Player.CharacterAdded:Wait()

local ASSETS = {
    Faces = {
        "rbxassetid://17454860123",
        "rbxassetid://137938511198607",
        "rbxassetid://6753030052",
        "rbxassetid://16386243218",
        "rbxassetid://11286903455"
    },
    Sounds = {
        "rbxassetid://139397124433335",
        "rbxassetid://88892224951539",
        "rbxassetid://127852922563875",
        {"rbxassetid://133778205334772", "rbxassetid://131387049509779", "rbxassetid://130903175839594"},
        "rbxassetid://100600468769372"
    }
}

if CoreGui:FindFirstChild("CubeEngine") then CoreGui.CubeEngine:Destroy() end
local Screen = Instance.new("ScreenGui", CoreGui)
Screen.Name = "CubeEngine"

local Panel = Instance.new("Frame", Screen)
Panel.Size = UDim2.new(0, 200, 0, 280)
Panel.Position = UDim2.new(0.1, 0, 0.4, 0)
Panel.BackgroundColor3 = Color3.fromRGB(25, 25, 25)
Panel.Active = true
Panel.Draggable = true
Instance.new("UICorner", Panel)

local TimeInp = Instance.new("TextBox", Panel)
TimeInp.Size = UDim2.new(0.8, 0, 0, 35)
TimeInp.Position = UDim2.new(0.1, 0, 0.15, 0)
TimeInp.Text = "60"
TimeInp.BackgroundColor3 = Color3.fromRGB(40, 40, 40)
TimeInp.TextColor3 = Color3.new(1, 1, 1)
Instance.new("UICorner", TimeInp)

local Object, Active, Phase, Locked, Loop = nil, false, 0, false, nil

local function KillSystem()
    Active = false
    Locked = false
    if Loop then Loop:Disconnect() Loop = nil end
    if Object then Object:Destroy() Object = nil end
end

local function FX(id)
    if not Object then return end
    local s = Instance.new("Sound", Object)
    s.SoundId = id
    s.Volume = 1
    s:Play()
    game.Debris:AddItem(s, 5)
end

local function ExecuteBad(char)
    if Locked then return end
    Locked = true
    Active = false
    
    local hrp = char:FindFirstChild("HumanoidRootPart")
    local hum = char:FindFirstChild("Humanoid")
    if not hrp or not hum then return end
    
    Object.CanCollide = false
    Object.Anchored = true
    
    for i = 1, 4 do
        task.wait(0.5)
        Object.CFrame = hrp.CFrame * CFrame.new(0, 6, 0)
        FX(ASSETS.Sounds[5])
        TweenService:Create(Object, TweenInfo.new(0.1), {CFrame = hrp.CFrame * CFrame.new(0, 3, 0)}):Play()
    end
    
    task.wait(0.6)
    Object.CFrame = hrp.CFrame * CFrame.new(0, 15, 0)
    task.wait(0.3)
    FX(ASSETS.Sounds[5])
    TweenService:Create(Object, TweenInfo.new(0.1), {CFrame = hrp.CFrame * CFrame.new(0, 2, 0)}):Play()
    
    hum.Health = 0
    task.wait(1)
    KillSystem()
end

local function Init()
    KillSystem()
    local char = Player.Character
    if not char or not char:FindFirstChild("HumanoidRootPart") then return end
    
    Active = true
    local limit = tonumber(TimeInp.Text) or 60
    local step = limit / 5
    local start = tick()
    local mv_speed = 14

    Object = Instance.new("Part", workspace)
    Object.Size = Vector3.new(5, 5, 5)
    Object.Position = char.HumanoidRootPart.Position + Vector3.new(35, 3, 35)
    Object.CustomPhysicalProperties = PhysicalProperties.new(1, 0.5, 0.5, 100, 100)
    
    local dec = Instance.new("Decal", Object)
    dec.Texture = ASSETS.Faces[1]
    dec.Face = "Front"

    local att = Instance.new("Attachment", Object)
    local orient = Instance.new("AlignOrientation", att)
    orient.Mode = Enum.OrientationAlignmentMode.OneAttachment
    orient.Attachment0 = att
    orient.MaxTorque = 5e5
    orient.Responsiveness = 30

    local vel = Instance.new("LinearVelocity", att)
    vel.MaxForce = 2e5
    vel.VelocityConstraintMode = Enum.VelocityConstraintMode.Vector
    vel.Attachment0 = att

    Object.Touched:Connect(function(hit)
        if hit.Parent == char and Active and not Locked then
            local r = char:FindFirstChild("HumanoidRootPart")
            if r then
                r.Velocity = (r.Position - Object.Position).Unit * 187 + Vector3.new(0, 50, 0)
                FX(ASSETS.Sounds[5])
                task.delay(2.5, function() if Active then ExecuteBad(char) end end)
            end
        end
    end)

    task.spawn(function()
        while Active and Object do
            task.wait(math.random(5, 10))
            if not Active or not Object then break end
            local s_id = ASSETS.Sounds[Phase] or ASSETS.Sounds[1]
            if type(s_id) == "table" then s_id = s_id[math.random(1, #s_id)] end
            FX(s_id)
        end
    end)

    Loop = RunService.Heartbeat:Connect(function()
        if not Active or not Object or not char:FindFirstChild("HumanoidRootPart") then return end
        
        local target = char.HumanoidRootPart.Position
        local dir = (target - Object.Position)
        local move = Vector3.new(dir.X, 0, dir.Z).Unit
        
        vel.VectorVelocity = move * mv_speed
        orient.CFrame = CFrame.lookAt(Vector3.zero, move)
        
        local now = tick() - start
        if now <= step then
            Phase = 1
            Object.Color = Color3.new(1, 1, 1):Lerp(Color3.new(1, 1, 0), now/step)
        elseif now <= step*2 then
            Phase = 2
            dec.Texture = ASSETS.Faces[2]
        elseif now <= step*3 then
            Phase = 3
            dec.Texture = ASSETS.Faces[3]
            Object.Color = Color3.new(1, 0.5, 0)
            mv_speed = 18
        elseif now <= step*5 then
            Phase = 4
            dec.Texture = ASSETS.Faces[4]
            Object.Color = Color3.new(1, 0, 0)
            mv_speed = 24
        else
            Active = false
            vel.VectorVelocity = Vector3.zero
            Object.Anchored = true
            dec.Texture = ASSETS.Faces[5]
            Object.Color = Color3.new(0.4, 0.4, 0.4)
            local cry = ASSETS.Sounds[4][math.random(1, 3)]
            FX(cry)
            
            local l = Instance.new("TextLabel", Screen)
            l.Size = UDim2.new(1, 0, 0, 50)
            l.Position = UDim2.new(0, 0, 0.2, 0)
            l.Text = "SURVIVED"
            l.TextColor3 = Color3.new(0, 1, 0)
            l.BackgroundTransparency = 1
            l.Font = "GothamBold"
            l.TextSize = 35
            game.Debris:AddItem(l, 5)
            
            task.delay(5, KillSystem)
        end
    end)
end

local b1 = Instance.new("TextButton", Panel)
b1.Size = UDim2.new(0.8, 0, 0, 40)
b1.Position = UDim2.new(0.1, 0, 0.4, 0)
b1.Text = "START"
b1.BackgroundColor3 = Color3.fromRGB(40, 120, 40)
b1.TextColor3 = Color3.new(1, 1, 1)
Instance.new("UICorner", b1)
b1.MouseButton1Click:Connect(Init)

local b2 = Instance.new("TextButton", Panel)
b2.Size = UDim2.new(0.8, 0, 0, 40)
b2.Position = UDim2.new(0.1, 0, 0.6, 0)
b2.Text = "RESET"
b2.BackgroundColor3 = Color3.fromRGB(120, 40, 40)
b2.TextColor3 = Color3.new(1, 1, 1)
Instance.new("UICorner", b2)
b2.MouseButton1Click:Connect(KillSystem)

Features & Information

Этот парень очень нестабилен! Сначала он белый и пушистый, но через минуту превращается в красную машину смерти. Если он тебя заденет — отправишься в стратосферу, а потом он придет «допрыгать» начатое. Попробуй довести его до слез раньше, чем он до тебя доберется!

Community Comments (1)

Emil2006Emil2006Mar 23, 2026

W script🔥🔥👍

More Scripts for Universal Scripts