--[[ Luau Omega Clicker Made by Rubix - v1.1 Place this LocalScript in StarterGui ]] local TweenService = game:GetService("TweenService") local Players = game:GetService("Players") local UserInputService = game:GetService("UserInputService") local player = Players.LocalPlayer -- ===================== STATE ===================== local tiers = {100, 0, 0, 0} -- Normal, Greek(1-24), Sub(1-3 -> _2,_3,_4), Power(1-7 -> ^2..^8) local isFlashing = false local isMinimized = false local starsVisible = false local currentThemeIndex = 6 -- Default Purple -- ===================== CONSTANTS ===================== local ILLIONS = {"", "K", "M", "B", "T", "q", "Q", "s", "S", "O", "N", "D", "Ud"} local GREEKS = {"Ω", "Ψ", "Χ", "Φ", "Υ", "Τ", "Σ", "Ρ", "Π", "Ο", "Ξ", "Ν", "Μ", "Λ", "Κ", "Ι", "Θ", "Η", "Ζ", "Ε", "Δ", "Γ", "Β", "Α"} local THEMES = { {name="Red", bg=Color3.fromRGB(40,10,10), acc=Color3.fromRGB(200,50,50), txt=Color3.fromRGB(255,200,200), btn=Color3.fromRGB(180,30,30), btnTxt=Color3.new(1,1,1), glow=Color3.fromRGB(255,80,80)}, {name="Orange", bg=Color3.fromRGB(40,25,10), acc=Color3.fromRGB(230,140,30), txt=Color3.fromRGB(255,220,160), btn=Color3.fromRGB(200,100,10), btnTxt=Color3.new(1,1,1), glow=Color3.fromRGB(255,160,50)}, {name="Yellow", bg=Color3.fromRGB(40,40,10), acc=Color3.fromRGB(230,230,30), txt=Color3.fromRGB(255,255,180), btn=Color3.fromRGB(200,200,10), btnTxt=Color3.new(0,0,0), glow=Color3.fromRGB(255,255,80)}, {name="Green", bg=Color3.fromRGB(10,35,10), acc=Color3.fromRGB(30,200,30), txt=Color3.fromRGB(180,255,180), btn=Color3.fromRGB(10,160,10), btnTxt=Color3.new(1,1,1), glow=Color3.fromRGB(50,255,50)}, {name="Blue", bg=Color3.fromRGB(10,15,40), acc=Color3.fromRGB(30,100,230), txt=Color3.fromRGB(180,210,255), btn=Color3.fromRGB(10,70,200), btnTxt=Color3.new(1,1,1), glow=Color3.fromRGB(50,130,255)}, {name="Purple", bg=Color3.fromRGB(25,10,40), acc=Color3.fromRGB(130,50,230), txt=Color3.fromRGB(210,180,255), btn=Color3.fromRGB(100,30,200), btnTxt=Color3.new(1,1,1), glow=Color3.fromRGB(160,80,255)}, {name="Pink", bg=Color3.fromRGB(40,10,30), acc=Color3.fromRGB(230,50,160), txt=Color3.fromRGB(255,180,220), btn=Color3.fromRGB(200,30,130), btnTxt=Color3.new(1,1,1), glow=Color3.fromRGB(255,80,200)}, {name="Brown", bg=Color3.fromRGB(35,20,10), acc=Color3.fromRGB(160,100,50), txt=Color3.fromRGB(220,190,150), btn=Color3.fromRGB(130,70,30), btnTxt=Color3.new(1,1,1), glow=Color3.fromRGB(180,120,60)}, {name="Black", bg=Color3.fromRGB(10,10,10), acc=Color3.fromRGB(60,60,60), txt=Color3.fromRGB(180,180,180), btn=Color3.fromRGB(40,40,40), btnTxt=Color3.new(1,1,1), glow=Color3.fromRGB(100,100,100)}, {name="Grey", bg=Color3.fromRGB(40,40,40), acc=Color3.fromRGB(130,130,130),txt=Color3.fromRGB(220,220,220), btn=Color3.fromRGB(100,100,100),btnTxt=Color3.new(1,1,1), glow=Color3.fromRGB(160,160,160)}, {name="White", bg=Color3.fromRGB(200,200,200),acc=Color3.fromRGB(240,240,240),txt=Color3.fromRGB(50,50,50), btn=Color3.fromRGB(230,230,230),btnTxt=Color3.new(0,0,0), glow=Color3.fromRGB(255,255,255)} } -- ===================== FORMATTING ===================== local function formatNormal(val, inOmega) if val <= 0 or val ~= val then return "0" end if inOmega then if val >= 100 then return string.format("%.1f", val) elseif val >= 10 then return string.format("%.2f", val) else return string.format("%.3f", val) end end if val < 1000 then if val == math.floor(val) then return tostring(math.floor(val)) else return string.format("%.1f", val) end end local exp = math.floor(math.log10(val)) local tier = math.floor(exp / 3) if tier >= #ILLIONS then return string.format("%.2fe%d", val / (10^exp), exp) end local coeff = val / (10 ^ (tier * 3)) if coeff >= 100 then return string.format("%.1f%s", coeff, ILLIONS[tier+1]) elseif coeff >= 10 then return string.format("%.2f%s", coeff, ILLIONS[tier+1]) else return string.format("%.3f%s", coeff, ILLIONS[tier+1]) end end local function getDisplay() local inOmega = tiers[2] > 0 or tiers[3] > 0 or tiers[4] > 0 local parts = {} if tiers[4] > 0 then table.insert(parts, tostring(tiers[4]) .. "Ω^" .. tostring(tiers[4] + 1)) end if tiers[3] > 0 then local g = GREEKS[tiers[2]] or "?" local s = "_" .. tostring(tiers[3] + 1) local p = tiers[4] > 0 and ("^" .. tostring(tiers[4])) or "" table.insert(parts, tostring(tiers[3]) .. g .. s .. p) end if tiers[2] > 0 then local g = GREEKS[tiers[2]] or "?" local p = tiers[4] > 1 and ("^" .. tostring(tiers[4] - 1)) or "" table.insert(parts, tostring(tiers[2]) .. g .. p) end table.insert(parts, formatNormal(tiers[1], inOmega)) return table.concat(parts, " + ") end local function getMultiplier() return 1.1 * (3 ^ tiers[2]) end local function formatMult() local m = getMultiplier() if m < 10 then return "x" .. string.format("%.2f", m) elseif m < 1000 then return "x" .. string.format("%.1f", m) else return "x" .. string.format("%.2e", m) end end local function getProgressInfo() if tiers[4] >= 7 then local currentPoints = ((tiers[3] - 1) * 24 + (tiers[2] - 1)) + (tiers[1] / 1000) local prog = math.clamp(currentPoints / 72, 0, 1) return prog, "Next: Reset!" end local inOmega = tiers[2] > 0 or tiers[3] > 0 or tiers[4] > 0 if not inOmega then local prog = math.clamp(tiers[1] / 340e36, 0, 1) return prog, "Next: Ω" end local currentPoints = ((tiers[3] - 1) * 24 + (tiers[2] - 1)) + (tiers[1] / 1000) local maxPoints = 3 * 24 -- 72 local prog = math.clamp(currentPoints / maxPoints, 0, 1) local nextPower = tiers[4] + 2 return prog, "Next: Ω^" .. nextPower end -- ===================== GUI SETUP ===================== local gui = Instance.new("ScreenGui") gui.Name = "RubixClicker" gui.ResetOnSpawn = false gui.IgnoreGuiInset = true gui.Parent = player:WaitForChild("PlayerGui") local starsFrame = Instance.new("Frame") starsFrame.Size = UDim2.new(1, 0, 1, 0) starsFrame.BackgroundTransparency = 1 starsFrame.Visible = false starsFrame.ZIndex = 0 starsFrame.Parent = gui for _ = 1, 80 do local star = Instance.new("Frame") star.Size = UDim2.new(0, math.random(2, 4), 0, math.random(2, 4)) star.Position = UDim2.new(math.random(), 0, math.random(), 0) star.BackgroundColor3 = Color3.new(1, 1, 1) star.BackgroundTransparency = 0.5 star.BorderSizePixel = 0 star.ZIndex = 0 star.Parent = starsFrame Instance.new("UICorner", star).CornerRadius = UDim.new(1, 0) end local frame = Instance.new("Frame") frame.Size = UDim2.new(0, 320, 0, 260) frame.Position = UDim2.new(0.5, -160, 0.5, -130) frame.BackgroundColor3 = Color3.fromRGB(25, 10, 40) frame.BackgroundTransparency = 0.1 frame.BorderSizePixel = 0 frame.ZIndex = 1 frame.Parent = gui Instance.new("UICorner", frame).CornerRadius = UDim.new(0, 16) local glow = Instance.new("UIStroke") glow.Color = Color3.fromRGB(130, 50, 230) glow.Thickness = 2.5 glow.Parent = frame local topBar = Instance.new("Frame") topBar.Size = UDim2.new(1, 0, 0, 32) topBar.BackgroundTransparency = 1 topBar.ZIndex = 2 topBar.Parent = frame local titleLabel = Instance.new("TextLabel") titleLabel.Size = UDim2.new(1, -120, 1, 0) titleLabel.Position = UDim2.new(0, 12, 0, 0) titleLabel.BackgroundTransparency = 1 titleLabel.Text = "Ω Clicker" titleLabel.TextColor3 = Color3.fromRGB(210, 180, 255) titleLabel.TextSize = 14 titleLabel.Font = Enum.Font.GothamBold titleLabel.TextXAlignment = Enum.TextXAlignment.Left titleLabel.ZIndex = 3 titleLabel.Parent = topBar local function createCtrlBtn(text, posX) local b = Instance.new("TextButton") b.Size = UDim2.new(0, 28, 0, 22) b.Position = UDim2.new(1, posX, 0.5, -11) b.BackgroundColor3 = Color3.fromRGB(50, 50, 50) b.TextColor3 = Color3.new(1, 1, 1) b.Text = text b.TextSize = 14 b.Font = Enum.Font.GothamBold b.BorderSizePixel = 0 b.ZIndex = 4 b.Parent = topBar Instance.new("UICorner", b).CornerRadius = UDim.new(0, 6) return b end local minBtn = createCtrlBtn("-", -34) local themeBtn = createCtrlBtn("🎨", -68) local starsBtn = createCtrlBtn("★", -102) local descBtn = createCtrlBtn("?", -136) -- Content Frame local content = Instance.new("Frame") content.Size = UDim2.new(1, 0, 1, -32) content.Position = UDim2.new(0, 0, 0, 32) content.BackgroundTransparency = 1 content.ZIndex = 2 content.Parent = frame local valueLabel = Instance.new("TextLabel") valueLabel.Size = UDim2.new(1, 0, 0, 48) valueLabel.Position = UDim2.new(0, 0, 0, 10) valueLabel.BackgroundTransparency = 1 valueLabel.Text = "100" valueLabel.TextColor3 = Color3.fromRGB(255, 220, 50) valueLabel.TextSize = 36 valueLabel.Font = Enum.Font.GothamBold valueLabel.TextStrokeTransparency = 0.5 valueLabel.TextStrokeColor3 = Color3.fromRGB(200, 130, 0) valueLabel.ZIndex = 3 valueLabel.Parent = content local multLabel = Instance.new("TextLabel") multLabel.Size = UDim2.new(1, 0, 0, 20) multLabel.Position = UDim2.new(0, 0, 0, 58) multLabel.BackgroundTransparency = 1 multLabel.Text = "x1.10" multLabel.TextColor3 = Color3.fromRGB(170, 150, 255) multLabel.TextSize = 14 multLabel.Font = Enum.Font.GothamMedium multLabel.ZIndex = 3 multLabel.Parent = content -- Progress Bar Container local barContainer = Instance.new("Frame") barContainer.Size = UDim2.new(0.8, 0, 0, 16) barContainer.Position = UDim2.new(0.5, 0, 0, 82) barContainer.AnchorPoint = Vector2.new(0.5, 0) barContainer.BackgroundColor3 = Color3.fromRGB(20, 20, 30) barContainer.BorderSizePixel = 0 barContainer.ZIndex = 3 barContainer.Parent = content Instance.new("UICorner", barContainer).CornerRadius = UDim.new(0, 8) local barStroke = Instance.new("UIStroke") barStroke.Color = Color3.fromRGB(80, 80, 100) barStroke.Thickness = 1 barStroke.Parent = barContainer local barFill = Instance.new("Frame") barFill.Size = UDim2.new(0, 0, 1, 0) barFill.BackgroundColor3 = Color3.fromRGB(130, 50, 230) barFill.BorderSizePixel = 0 barFill.ZIndex = 4 barFill.Parent = barContainer Instance.new("UICorner", barFill).CornerRadius = UDim.new(0, 8) local barLabel = Instance.new("TextLabel") barLabel.Size = UDim2.new(1, 0, 1, 0) barLabel.BackgroundTransparency = 1 barLabel.Text = "Next: Ω" barLabel.TextColor3 = Color3.fromRGB(255, 255, 255) barLabel.TextSize = 10 barLabel.Font = Enum.Font.GothamBold barLabel.ZIndex = 5 barLabel.Parent = barContainer local button = Instance.new("TextButton") button.Size = UDim2.new(0, 220, 0, 72) button.Position = UDim2.new(0.5, -110, 0, 104) button.BackgroundColor3 = Color3.fromRGB(100, 30, 200) button.Text = "✦ CLICK ✦" button.TextColor3 = Color3.new(1, 1, 1) button.TextSize = 22 button.Font = Enum.Font.GothamBold button.BorderSizePixel = 0 button.AutoButtonColor = false button.ZIndex = 4 button.Parent = content Instance.new("UICorner", button).CornerRadius = UDim.new(0, 14) local btnStroke = Instance.new("UIStroke") btnStroke.Color = Color3.fromRGB(150, 110, 255) btnStroke.Thickness = 1.5 btnStroke.Transparency = 0.3 btnStroke.Parent = button local creditLabel = Instance.new("TextLabel") creditLabel.Size = UDim2.new(1, 0, 0, 16) creditLabel.Position = UDim2.new(0, 0, 1, -20) creditLabel.BackgroundTransparency = 1 creditLabel.Text = "Made by Rubix - v1.1" creditLabel.TextColor3 = Color3.fromRGB(100, 100, 100) creditLabel.TextSize = 11 creditLabel.Font = Enum.Font.Gotham creditLabel.ZIndex = 3 creditLabel.Parent = content -- Description Window local descWindow = Instance.new("Frame") descWindow.Size = UDim2.new(0, 280, 0, 140) descWindow.Position = UDim2.new(0.5, -140, 0.5, -70) descWindow.BackgroundColor3 = Color3.fromRGB(30, 30, 40) descWindow.BackgroundTransparency = 0.05 descWindow.BorderSizePixel = 0 descWindow.Visible = false descWindow.ZIndex = 10 descWindow.Parent = gui Instance.new("UICorner", descWindow).CornerRadius = UDim.new(0, 12) local descStroke = Instance.new("UIStroke") descStroke.Color = Color3.fromRGB(200, 200, 200) descStroke.Thickness = 1.5 descStroke.Parent = descWindow local descText = Instance.new("TextLabel") descText.Size = UDim2.new(1, -20, 1, -40) descText.Position = UDim2.new(0, 10, 0, 10) descText.BackgroundTransparency = 1 descText.Text = "What is this - this is basically a mini version of be a battery; basically a Game in a script!" descText.TextColor3 = Color3.fromRGB(220, 220, 220) descText.TextSize = 14 descText.Font = Enum.Font.Gotham descText.TextWrapped = true descText.ZIndex = 11 descText.Parent = descWindow local descClose = Instance.new("TextButton") descClose.Size = UDim2.new(0, 60, 0, 28) descClose.Position = UDim2.new(0.5, -30, 1, -34) descClose.BackgroundColor3 = Color3.fromRGB(200, 60, 60) descClose.TextColor3 = Color3.new(1, 1, 1) descClose.Text = "Close" descClose.TextSize = 12 descClose.Font = Enum.Font.GothamBold descClose.BorderSizePixel = 0 descClose.ZIndex = 11 descClose.Parent = descWindow Instance.new("UICorner", descClose).CornerRadius = UDim.new(0, 8) -- Theme Menu local closeMenuBtn = Instance.new("TextButton") closeMenuBtn.Size = UDim2.new(1, 0, 1, 0) closeMenuBtn.BackgroundTransparency = 1 closeMenuBtn.Text = "" closeMenuBtn.Visible = false closeMenuBtn.ZIndex = 19 closeMenuBtn.Parent = gui local themeMenu = Instance.new("Frame") themeMenu.Size = UDim2.new(0, 90, 0, #THEMES * 22) themeMenu.BackgroundColor3 = Color3.fromRGB(30, 30, 40) themeMenu.BorderSizePixel = 0 themeMenu.Visible = false themeMenu.ZIndex = 20 themeMenu.Parent = gui Instance.new("UICorner", themeMenu).CornerRadius = UDim.new(0, 8) local themeMenuStroke = Instance.new("UIStroke") themeMenuStroke.Color = Color3.fromRGB(150, 150, 150) themeMenuStroke.Thickness = 1 themeMenuStroke.Parent = themeMenu local listLayout = Instance.new("UIListLayout") listLayout.Padding = UDim.new(0, 2) listLayout.Parent = themeMenu for i, theme in ipairs(THEMES) do local btn = Instance.new("TextButton") btn.Size = UDim2.new(1, 0, 0, 20) btn.BackgroundColor3 = theme.btn btn.TextColor3 = theme.btnTxt btn.Text = theme.name btn.TextSize = 12 btn.Font = Enum.Font.Gotham btn.BorderSizePixel = 0 btn.ZIndex = 21 btn.Parent = themeMenu btn.MouseButton1Click:Connect(function() currentThemeIndex = i applyTheme() themeMenu.Visible = false closeMenuBtn.Visible = false end) end -- ===================== LOGIC ===================== local function triggerReset() isFlashing = true task.spawn(function() for i = 1, 14 do local on = (i % 2 == 0) button.BackgroundColor3 = on and Color3.fromRGB(255, 255, 120) or Color3.fromRGB(255, 80, 80) frame.BackgroundColor3 = on and Color3.fromRGB(60, 60, 15) or Color3.fromRGB(60, 15, 15) glow.Color = on and Color3.fromRGB(255, 255, 120) or Color3.fromRGB(255, 60, 60) valueLabel.TextColor3 = on and Color3.new(1, 1, 1) or Color3.fromRGB(255, 220, 50) task.wait(0.07) end tiers = {100, 0, 0, 0} applyTheme() isFlashing = false updateDisplay() end) end local function normalize() if tiers[1] ~= tiers[1] or tiers[1] == math.huge then tiers = {999, 24, 3, 7} triggerReset() return end local inOmega = tiers[2] > 0 or tiers[3] > 0 or tiers[4] > 0 if not inOmega then if tiers[1] >= 340e36 then tiers[1] = tiers[1] / 1000 tiers[2] = 1 else return end end while tiers[1] >= 1000 do tiers[1] = tiers[1] / 1000 tiers[2] = tiers[2] + 1 if tiers[2] > 24 then tiers[2] = 1 tiers[3] = tiers[3] + 1 if tiers[3] > 3 then tiers[3] = 1 tiers[4] = tiers[4] + 1 if tiers[4] > 7 then tiers = {999, 24, 3, 7} triggerReset() return end end end end end function updateDisplay() valueLabel.Text = getDisplay() multLabel.Text = formatMult() local prog, text = getProgressInfo() barFill.Size = UDim2.new(prog, 0, 1, 0) barLabel.Text = text end function applyTheme() local t = THEMES[currentThemeIndex] if not t then return end frame.BackgroundColor3 = t.bg glow.Color = t.glow titleLabel.TextColor3 = t.txt valueLabel.TextColor3 = t.txt multLabel.TextColor3 = t.acc button.BackgroundColor3 = t.btn button.TextColor3 = t.btnTxt btnStroke.Color = t.glow minBtn.BackgroundColor3 = t.acc themeBtn.BackgroundColor3 = t.acc starsBtn.BackgroundColor3 = t.acc descBtn.BackgroundColor3 = t.acc barFill.BackgroundColor3 = t.acc themeMenu.BackgroundColor3 = t.bg end -- ===================== EVENTS ===================== local dragToggle, dragStart, startPos topBar.InputBegan:Connect(function(input) if (input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch) then dragToggle = true dragStart = input.Position startPos = frame.Position end end) topBar.InputEnded:Connect(function(input) if (input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch) then dragToggle = false end end) UserInputService.InputChanged:Connect(function(input) if dragToggle and (input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch) then local delta = input.Position - dragStart frame.Position = UDim2.new(startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y) end end) minBtn.MouseButton1Click:Connect(function() isMinimized = not isMinimized local targetSize = isMinimized and UDim2.new(0, 320, 0, 35) or UDim2.new(0, 320, 0, 260) TweenService:Create(frame, TweenInfo.new(0.3, Enum.EasingStyle.Quad), {Size = targetSize}):Play() content.Visible = not isMinimized minBtn.Text = isMinimized and "+" or "-" end) themeBtn.MouseButton1Click:Connect(function() if themeMenu.Visible then themeMenu.Visible = false closeMenuBtn.Visible = false else local absPos = frame.AbsolutePosition local absSize = frame.AbsoluteSize themeMenu.Position = UDim2.new(0, absPos.X + absSize.X - 95, 0, absPos.Y + 34) themeMenu.Visible = true closeMenuBtn.Visible = true end end) closeMenuBtn.MouseButton1Click:Connect(function() themeMenu.Visible = false closeMenuBtn.Visible = false end) starsBtn.MouseButton1Click:Connect(function() starsVisible = not starsVisible starsFrame.Visible = starsVisible starsBtn.Text = starsVisible and "★" or "☆" end) descBtn.MouseButton1Click:Connect(function() descWindow.Visible = true end) descClose.MouseButton1Click:Connect(function() descWindow.Visible = false end) button.MouseButton1Click:Connect(function() if isFlashing then return end tiers[1] = tiers[1] * getMultiplier() normalize() if not isFlashing then updateDisplay() task.spawn(function() TweenService:Create(button, TweenInfo.new(0.06, Enum.EasingStyle.Back), { Size = UDim2.new(0, 234, 0, 78) }):Play() task.wait(0.06) TweenService:Create(button, TweenInfo.new(0.1, Enum.EasingStyle.Back, Enum.EasingDirection.Out), { Size = UDim2.new(0, 220, 0, 72) }):Play() end) end end) -- ===================== ANIMATIONS ===================== task.spawn(function() local t = 0 while task.wait(0.03) do t += 0.05 valueLabel.Position = UDim2.new(0, 0, 0, 10 + math.sin(t) * 5) end end) task.spawn(function() local t = 0 while task.wait(0.03) do t += 0.025 local p = 0.5 + 0.5 * math.sin(t) local base = THEMES[currentThemeIndex].glow glow.Color = Color3.new( math.min(base.R * (0.6 + p * 0.4), 1), math.min(base.G * (0.6 + p * 0.4), 1), math.min(base.B * (0.6 + p * 0.4), 1) ) end end) task.spawn(function() while task.wait(0.04) do for _, star in ipairs(starsFrame:GetChildren()) do if star:IsA("Frame") then local t = tick() + (star.Position.X.Offset * 10) star.BackgroundTransparency = 0.2 + 0.6 * math.abs(math.sin(t)) end end end end) -- ===================== INITIALIZE ===================== applyTheme() updateDisplay()