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)