--// Exponential Growth UI v3.3 --// Place this in a LocalScript inside StarterPlayerScripts local Players = game:GetService("Players") local RunService = game:GetService("RunService") local UserInputService = game:GetService("UserInputService") local TweenService = game:GetService("TweenService") local Lighting = game:GetService("Lighting") local TextChatService = game:GetService("TextChatService") local ReplicatedStorage = game:GetService("ReplicatedStorage") local player = Players.LocalPlayer local playerGui = player:WaitForChild("PlayerGui") --// 1. CLEAN UP EXISTING local oldGui = playerGui:FindFirstChild("ExponentialGUI") if oldGui then oldGui:Destroy() end local oldBlur = Lighting:FindFirstChild("ExpUIBlur") if oldBlur then oldBlur:Destroy() end --// 2. SUFFIX SYSTEM (Extended to 1e1.79e308 + New Supers) local first10 = {"K", "M", "B", "T", "q", "Q", "s", "S", "O", "N"} local first9 = {"M", "B", "T", "q", "Q", "s", "S", "O", "N"} local uN = {"U", "D", "T", "q", "Q", "s", "S", "O", "N"} local tC = {"D", "V", "Tg", "qg", "Qig", "Hxg", "Sg", "Og", "Ng"} local tL = {"d", "v", "tg", "qg", "qig", "hxg", "sg", "og", "ng"} local hC = {"Ce", "Du", "Te", "Qr", "Qu", "Se", "St", "Ot", "Nn"} local hL = {"ce", "du", "te", "qr", "qu", "se", "st", "ot", "nn"} local blockPrefixes = { "", "Mi", "Mc", "Na", "Pic", "Fm", "Att", "Zep", "Yt", "Xon", "Vec", "Me", "Duc", "Tec", "Trec", "Pnec", "Hxec", "Hpec", "Ocec", "Enec", "Ic", "Tect", "Trect", "Pnct", "Hxct", "Hpct", "Occt", "Enct", "Hct", "Dhct", "Thct", "Trhct", "Pnhct", "Hxhct", "Hphct", "Ochct", "Enhct" } local blockPrefixesLower = { "", "mi", "mc", "na", "pi", "fm", "at", "ze", "yt", "xn", "vc", "me", "dc", "tc", "trc", "pnc", "hxc", "hpc", "occ", "enc", "ic", "tct", "trct", "pct", "hxct", "hpct", "occt", "enct", "ht", "dht", "tht", "trht", "pht", "hxht", "hpht", "ocht", "eht" } local function getBlockValStr(val, blockIndex) if val == 0 or val == 1 then return "" end if blockIndex == 1 and val < 10 then return first9[val] end local u = val % 10 local t = math.floor(val / 10) % 10 local h = math.floor(val / 100) % 10 local res = "" if h > 0 then res = (u > 0 and hL[h] or hC[h]) .. res end if t > 0 then res = (u > 0 and tL[t] or tC[t]) .. res end if u > 0 then res = uN[u] .. res end return res end local function getSuffix(i) if i == 0 then return "" end if i <= 10 then return first10[i] end local blocks = {} local tempIdx = i for b = 1, #blockPrefixes do if tempIdx == 0 then break end table.insert(blocks, tempIdx % 1000) tempIdx = math.floor(tempIdx / 1000) end local res = "" for b = #blocks, 1, -1 do local val = blocks[b] if val > 0 then if val == 1 and b > 1 then res = res .. blockPrefixes[b] else res = res .. getBlockValStr(val, b) .. (b > 1 and blockPrefixesLower[b] or "") end end end if tempIdx > 0 then res = res .. "e" .. tempIdx end return res end local function formatNumber(exp) if exp >= 1.79e308 then return "∞" end if exp < 3 then return string.format("%.2f", 10^exp) end local mantissa = 10 ^ (exp % 3) local idx = math.floor(exp / 3) local suffix = getSuffix(idx) return string.format("%.2f", mantissa) .. (suffix ~= "" and " " .. suffix or "") end --// 3. THEME COLORS local themes = { Red = Color3.fromRGB(255, 0, 0), Vermillion = Color3.fromRGB(255, 89, 0), Orange = Color3.fromRGB(255, 165, 0), Sunset = Color3.fromRGB(253, 94, 83), ["Sandy Lemon"] = Color3.fromRGB(252, 230, 121), Yellow = Color3.fromRGB(255, 255, 0), Lime = Color3.fromRGB(0, 255, 0), Green = Color3.fromRGB(0, 128, 0), ["Forest green"] = Color3.fromRGB(34, 139, 34), ["Earth green"] = Color3.fromRGB(56, 118, 29), ["Night mint"] = Color3.fromRGB(62, 180, 137), Mint = Color3.fromRGB(152, 255, 152), Teal = Color3.fromRGB(0, 128, 128), Cyan = Color3.fromRGB(0, 255, 255), ["Sky blue"] = Color3.fromRGB(135, 206, 235), ["Noon blue"] = Color3.fromRGB(0, 95, 206), ["Neon blue"] = Color3.fromRGB(78, 111, 255), Blue = Color3.fromRGB(0, 0, 255), ["Space blue"] = Color3.fromRGB(35, 53, 123), Purple = Color3.fromRGB(128, 0, 128), Pink = Color3.fromRGB(255, 192, 203), ["Neon pink"] = Color3.fromRGB(255, 16, 240), ["Cherry pink"] = Color3.fromRGB(233, 99, 121), ["Cherry blossom"] = Color3.fromRGB(255, 183, 197), Magenta = Color3.fromRGB(255, 0, 255), Black = Color3.fromRGB(0, 0, 0), Brown = Color3.fromRGB(139, 69, 19), Beige = Color3.fromRGB(245, 245, 220), ["Moon light"] = Color3.fromRGB(240, 240, 230), Grey = Color3.fromRGB(128, 128, 128), ["Light gray"] = Color3.fromRGB(211, 211, 211), ["White smoke"] = Color3.fromRGB(245, 245, 245), White = Color3.fromRGB(255, 255, 255) } local currentThemeColor = Color3.fromRGB(0, 255, 255) --// 4. UI CREATION local blur = Instance.new("BlurEffect") blur.Name = "ExpUIBlur" blur.Size = 15 blur.Parent = Lighting local screenGui = Instance.new("ScreenGui") screenGui.Name = "ExponentialGUI" screenGui.ResetOnSpawn = false screenGui.Parent = playerGui local mainFrame = Instance.new("Frame") mainFrame.Size = UDim2.new(0, 420, 0, 220) mainFrame.Position = UDim2.new(0.5, -210, 0.5, -110) mainFrame.BackgroundColor3 = Color3.fromRGB(15, 15, 20) mainFrame.BackgroundTransparency = 0.15 mainFrame.ClipsDescendants = true mainFrame.Parent = screenGui local mainCorner = Instance.new("UICorner") mainCorner.CornerRadius = UDim.new(0, 12) mainCorner.Parent = mainFrame local stroke = Instance.new("UIStroke") stroke.Color = currentThemeColor stroke.Thickness = 1.5 stroke.Transparency = 0.3 stroke.Parent = mainFrame -- Top Bar local topBar = Instance.new("Frame") topBar.Size = UDim2.new(1, 0, 0, 30) topBar.BackgroundColor3 = currentThemeColor topBar.BackgroundTransparency = 0.85 topBar.Parent = mainFrame local title = Instance.new("TextLabel") title.Size = UDim2.new(1, -120, 1, 0) title.Position = UDim2.new(0, 10, 0, 0) title.BackgroundTransparency = 1 title.Text = "EXPONENTIAL GROWTH v3.3" title.Font = Enum.Font.GothamBold title.TextSize = 14 title.TextColor3 = Color3.fromRGB(200, 200, 220) title.TextXAlignment = Enum.TextXAlignment.Left title.Parent = topBar local closeBtn = Instance.new("TextButton") closeBtn.Size = UDim2.new(0, 30, 0, 30) closeBtn.Position = UDim2.new(1, -30, 0, 0) closeBtn.BackgroundTransparency = 1 closeBtn.Text = "✕" closeBtn.Font = Enum.Font.GothamBold closeBtn.TextSize = 16 closeBtn.TextColor3 = Color3.fromRGB(255, 100, 100) closeBtn.Parent = topBar local minBtn = Instance.new("TextButton") minBtn.Size = UDim2.new(0, 30, 0, 30) minBtn.Position = UDim2.new(1, -60, 0, 0) minBtn.BackgroundTransparency = 1 minBtn.Text = "—" closeBtn.Font = Enum.Font.GothamBold minBtn.TextSize = 16 minBtn.TextColor3 = Color3.fromRGB(200, 200, 220) minBtn.Parent = topBar local themeBtn = Instance.new("TextButton") themeBtn.Size = UDim2.new(0, 30, 0, 30) themeBtn.Position = UDim2.new(1, -90, 0, 0) themeBtn.BackgroundTransparency = 1 themeBtn.Text = "🎨" themeBtn.Font = Enum.Font.GothamBold themeBtn.TextSize = 14 themeBtn.TextColor3 = Color3.fromRGB(200, 200, 220) themeBtn.Parent = topBar -- Number Display local numLabel = Instance.new("TextLabel") numLabel.Size = UDim2.new(0.9, 0, 0, 60) numLabel.Position = UDim2.new(0.05, 0, 0, 40) numLabel.BackgroundTransparency = 1 numLabel.Text = "100.00" numLabel.Font = Enum.Font.GothamBlack numLabel.TextSize = 45 numLabel.TextColor3 = Color3.fromRGB(255, 255, 255) numLabel.TextScaled = true numLabel.Parent = mainFrame local numGradient = Instance.new("UIGradient") numGradient.Color = ColorSequence.new({ ColorSequenceKeypoint.new(0, currentThemeColor), ColorSequenceKeypoint.new(1, Color3.fromRGB(255, 255, 255)) }) numGradient.Parent = numLabel -- Mode Toggle local modeBtn = Instance.new("TextButton") modeBtn.Size = UDim2.new(0.9, 0, 0, 25) modeBtn.Position = UDim2.new(0.05, 0, 0, 108) modeBtn.BackgroundColor3 = Color3.fromRGB(255, 255, 255) modeBtn.BackgroundTransparency = 0.85 modeBtn.Font = Enum.Font.GothamSemibold modeBtn.TextSize = 12 modeBtn.TextColor3 = Color3.fromRGB(200, 200, 220) modeBtn.Text = "Mode: Multiply (x1.20)" modeBtn.Parent = mainFrame local modeCorner = Instance.new("UICorner") modeCorner.CornerRadius = UDim.new(0, 6) modeCorner.Parent = modeBtn -- Action Buttons Row (Pause, Reset, About, Chat) local btnRow = Instance.new("Frame") btnRow.Size = UDim2.new(0.9, 0, 0, 22) btnRow.Position = UDim2.new(0.05, 0, 0, 137) btnRow.BackgroundTransparency = 1 btnRow.Parent = mainFrame local btnCorner = Instance.new("UICorner") btnCorner.CornerRadius = UDim.new(0, 6) local pauseBtn = Instance.new("TextButton") pauseBtn.Size = UDim2.new(0.235, 0, 1, 0) pauseBtn.BackgroundColor3 = Color3.fromRGB(255, 255, 255) pauseBtn.BackgroundTransparency = 0.85 pauseBtn.Font = Enum.Font.GothamSemibold pauseBtn.TextSize = 11 pauseBtn.TextColor3 = Color3.fromRGB(200, 200, 220) pauseBtn.Text = "Pause" local pc = btnCorner:Clone() pc.Parent = pauseBtn pauseBtn.Parent = btnRow local resetBtn = Instance.new("TextButton") resetBtn.Size = UDim2.new(0.235, 0, 1, 0) resetBtn.Position = UDim2.new(0.25, 0, 0, 0) resetBtn.BackgroundColor3 = Color3.fromRGB(255, 255, 255) resetBtn.BackgroundTransparency = 0.85 resetBtn.Font = Enum.Font.GothamSemibold resetBtn.TextSize = 11 resetBtn.TextColor3 = Color3.fromRGB(200, 200, 220) resetBtn.Text = "Reset" local rc = btnCorner:Clone() rc.Parent = resetBtn resetBtn.Parent = btnRow local aboutBtn = Instance.new("TextButton") aboutBtn.Size = UDim2.new(0.235, 0, 1, 0) aboutBtn.Position = UDim2.new(0.5, 0, 0, 0) aboutBtn.BackgroundColor3 = Color3.fromRGB(255, 255, 255) aboutBtn.BackgroundTransparency = 0.85 aboutBtn.Font = Enum.Font.GothamSemibold aboutBtn.TextSize = 11 aboutBtn.TextColor3 = Color3.fromRGB(200, 200, 220) aboutBtn.Text = "About" local ac = btnCorner:Clone() ac.Parent = aboutBtn aboutBtn.Parent = btnRow local chatBtn = Instance.new("TextButton") chatBtn.Size = UDim2.new(0.235, 0, 1, 0) chatBtn.Position = UDim2.new(0.75, 0, 0, 0) chatBtn.BackgroundColor3 = Color3.fromRGB(255, 255, 255) chatBtn.BackgroundTransparency = 0.85 chatBtn.Font = Enum.Font.GothamSemibold chatBtn.TextSize = 11 chatBtn.TextColor3 = Color3.fromRGB(200, 200, 220) chatBtn.Text = "Chat" local cc = btnCorner:Clone() cc.Parent = chatBtn chatBtn.Parent = btnRow -- Slider local sliderLabel = Instance.new("TextLabel") sliderLabel.Size = UDim2.new(0.9, 0, 0, 20) sliderLabel.Position = UDim2.new(0.05, 0, 0, 162) sliderLabel.BackgroundTransparency = 1 sliderLabel.Text = "Rate: 1.20" sliderLabel.Font = Enum.Font.GothamSemibold sliderLabel.TextSize = 12 sliderLabel.TextColor3 = Color3.fromRGB(200, 200, 220) sliderLabel.Parent = mainFrame local sliderTrack = Instance.new("Frame") sliderTrack.Size = UDim2.new(0.9, 0, 0, 8) sliderTrack.Position = UDim2.new(0.05, 0, 0, 185) sliderTrack.BackgroundColor3 = Color3.fromRGB(40, 40, 50) sliderTrack.BorderSizePixel = 0 sliderTrack.Parent = mainFrame local trackCorner = Instance.new("UICorner") trackCorner.CornerRadius = UDim.new(1, 0) trackCorner.Parent = sliderTrack local sliderFill = Instance.new("Frame") sliderFill.Size = UDim2.new(0, 0, 1, 0) sliderFill.BackgroundColor3 = currentThemeColor sliderFill.BorderSizePixel = 0 sliderFill.Parent = sliderTrack local fillCorner = Instance.new("UICorner") fillCorner.CornerRadius = UDim.new(1, 0) fillCorner.Parent = sliderFill local sliderHandle = Instance.new("Frame") sliderHandle.Size = UDim2.new(0, 20, 0, 20) sliderHandle.Position = UDim2.new(0, -10, 0.5, -10) sliderHandle.BackgroundColor3 = Color3.fromRGB(255, 255, 255) sliderHandle.BorderSizePixel = 0 sliderHandle.Parent = sliderTrack local handleCorner = Instance.new("UICorner") handleCorner.CornerRadius = UDim.new(1, 0) handleCorner.Parent = sliderHandle -- Theme Window local themeWindow = Instance.new("Frame") themeWindow.Size = UDim2.new(0, 200, 0, 250) themeWindow.Position = UDim2.new(1, -210, 0, 35) themeWindow.BackgroundColor3 = Color3.fromRGB(20, 20, 30) themeWindow.BackgroundTransparency = 0.1 themeWindow.Visible = false themeWindow.ZIndex = 5 themeWindow.Parent = mainFrame local twCorner = Instance.new("UICorner") twCorner.CornerRadius = UDim.new(0, 10) twCorner.Parent = themeWindow local twScroll = Instance.new("ScrollingFrame") twScroll.Size = UDim2.new(1, -10, 1, -10) twScroll.Position = UDim2.new(0, 5, 0, 5) twScroll.BackgroundTransparency = 1 twScroll.ScrollBarThickness = 4 twScroll.ZIndex = 5 twScroll.Parent = themeWindow local twLayout = Instance.new("UIGridLayout") twLayout.CellSize = UDim2.new(0, 55, 0, 25) twLayout.SortOrder = Enum.SortOrder.LayoutOrder twLayout.Parent = twScroll local function applyTheme(color) currentThemeColor = color stroke.Color = color sliderFill.BackgroundColor3 = color numGradient.Color = ColorSequence.new({ ColorSequenceKeypoint.new(0, color), ColorSequenceKeypoint.new(1, Color3.fromRGB(255, 255, 255)) }) -- Apply to background and top bar mainFrame.BackgroundColor3 = Color3.fromRGB( math.floor(color.R * 25), math.floor(color.G * 25), math.floor(color.B * 25) ) topBar.BackgroundColor3 = color end local layoutOrder = 1 for name, color in pairs(themes) do local btn = Instance.new("TextButton") btn.BackgroundColor3 = color btn.Font = Enum.Font.GothamBold btn.TextSize = 8 btn.TextColor3 = Color3.fromRGB(0, 0, 0) btn.Text = name btn.LayoutOrder = layoutOrder btn.ZIndex = 5 btn.Parent = twScroll local bCorner = Instance.new("UICorner") bCorner.CornerRadius = UDim.new(0, 6) bCorner.Parent = btn btn.MouseButton1Click:Connect(function() applyTheme(color) end) layoutOrder = layoutOrder + 1 end -- About Window local aboutWindow = Instance.new("Frame") aboutWindow.Size = UDim2.new(0, 300, 0, 180) aboutWindow.Position = UDim2.new(0.5, -150, 0.5, -90) aboutWindow.BackgroundColor3 = Color3.fromRGB(20, 20, 30) aboutWindow.BackgroundTransparency = 0.1 aboutWindow.Visible = false aboutWindow.ZIndex = 10 aboutWindow.Parent = mainFrame local awCorner = Instance.new("UICorner") awCorner.CornerRadius = UDim.new(0, 10) awCorner.Parent = aboutWindow local aboutCloseBtn = Instance.new("TextButton") aboutCloseBtn.Size = UDim2.new(0, 30, 0, 30) aboutCloseBtn.Position = UDim2.new(1, -30, 0, 0) aboutCloseBtn.BackgroundTransparency = 1 aboutCloseBtn.Text = "✕" aboutCloseBtn.Font = Enum.Font.GothamBold aboutCloseBtn.TextSize = 16 aboutCloseBtn.TextColor3 = Color3.fromRGB(255, 100, 100) aboutCloseBtn.ZIndex = 11 aboutCloseBtn.Parent = aboutWindow local aboutTitle = Instance.new("TextLabel") aboutTitle.Size = UDim2.new(1, -40, 0, 40) aboutTitle.Position = UDim2.new(0, 15, 0, 10) aboutTitle.BackgroundTransparency = 1 aboutTitle.Text = "How does this thing work?" aboutTitle.Font = Enum.Font.GothamBold aboutTitle.TextSize = 18 aboutTitle.TextColor3 = Color3.fromRGB(255, 255, 255) aboutTitle.TextXAlignment = Enum.TextXAlignment.Left aboutTitle.ZIndex = 11 aboutTitle.Parent = aboutWindow local aboutText = Instance.new("TextLabel") aboutText.Size = UDim2.new(1, -30, 0, 90) aboutText.Position = UDim2.new(0, 15, 0, 50) aboutText.BackgroundTransparency = 1 aboutText.Text = "So basically its like a mini LNGI thing you can use! its a cool script i made just for you guys who just like numbers and suffixes." aboutText.Font = Enum.Font.Gotham aboutText.TextSize = 14 aboutText.TextColor3 = Color3.fromRGB(200, 200, 220) aboutText.TextWrapped = true aboutText.TextYAlignment = Enum.TextYAlignment.Top aboutText.ZIndex = 11 aboutText.Parent = aboutWindow --// 5. LOGIC & INTERACTIVITY local isMultiply = true local isPaused = false local isResetting = false local currentVal = 1.2 local exponent = 2 -- 10^2 = 100 starting value local function updateModeText() if isMultiply then modeBtn.Text = "Mode: Multiply (x" .. string.format("%.2f", currentVal) .. ")" else modeBtn.Text = "Mode: Exponent (^" .. string.format("%.2f", currentVal) .. ")" end sliderLabel.Text = "Rate: " .. string.format("%.2f", currentVal) end modeBtn.MouseButton1Click:Connect(function() isMultiply = not isMultiply updateModeText() end) themeBtn.MouseButton1Click:Connect(function() themeWindow.Visible = not themeWindow.Visible aboutWindow.Visible = false end) pauseBtn.MouseButton1Click:Connect(function() isPaused = not isPaused isResetting = false pauseBtn.Text = isPaused and "Resume" or "Pause" end) resetBtn.MouseButton1Click:Connect(function() isResetting = true isPaused = false pauseBtn.Text = "Pause" end) aboutBtn.MouseButton1Click:Connect(function() aboutWindow.Visible = not aboutWindow.Visible themeWindow.Visible = false end) aboutCloseBtn.MouseButton1Click:Connect(function() aboutWindow.Visible = false end) local function sendChat(msg) pcall(function() local channel = TextChatService.TextChannels:FindFirstChild("RBXGeneral") if channel then channel:SendAsync(msg) return end end) pcall(function() local events = ReplicatedStorage:FindFirstChild("DefaultChatSystemChatEvents") if events and events:FindFirstChild("SayMessageRequest") then events.SayMessageRequest:FireServer(msg, "All") end end) end chatBtn.MouseButton1Click:Connect(function() if exponent < 3 then return end local idx = math.floor(exponent / 3) if idx > 0 and idx <= 999 then local suffix = getSuffix(idx) sendChat("Current Illion: " .. suffix) end end) -- Slider Logic local dragging = false local sliderMin, sliderMax = 1.05, 2.5 local function updateSlider(input) local relX = input.Position.X - sliderTrack.AbsolutePosition.X local percent = math.clamp(relX / sliderTrack.AbsoluteSize.X, 0, 1) currentVal = sliderMin + (sliderMax - sliderMin) * percent currentVal = math.floor(currentVal * 100) / 100 sliderFill.Size = UDim2.new(percent, 0, 1, 0) sliderHandle.Position = UDim2.new(percent, -10, 0.5, -10) updateModeText() end sliderHandle.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then dragging = true end end) sliderTrack.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then updateSlider(input) dragging = true end end) UserInputService.InputEnded:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then dragging = false end end) UserInputService.InputChanged:Connect(function(input) if dragging and (input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch) then updateSlider(input) end end) -- Drag Logic 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 = mainFrame.Position 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 mainFrame.Position = UDim2.new(startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y) end end) topBar.InputEnded:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then dragToggle = false end end) -- Minimize Logic local isMinimized = false minBtn.MouseButton1Click:Connect(function() isMinimized = not isMinimized local targetSize = isMinimized and UDim2.new(0, 420, 0, 30) or UDim2.new(0, 420, 0, 220) TweenService:Create(mainFrame, TweenInfo.new(0.3, Enum.EasingStyle.Quad, Enum.EasingDirection.InOut), {Size = targetSize}):Play() end) -- Close Animation local function closeUI() TweenService:Create(mainFrame, TweenInfo.new(0.5, Enum.EasingStyle.Back, Enum.EasingDirection.In), { Size = UDim2.new(0, 0, 0, 0), BackgroundTransparency = 1, Rotation = 45 }):Play() TweenService:Create(stroke, TweenInfo.new(0.5), {Transparency = 1}):Play() TweenService:Create(blur, TweenInfo.new(0.5), {Size = 0}):Play() task.delay(0.6, function() screenGui:Destroy() blur:Destroy() end) end closeBtn.MouseButton1Click:Connect(closeUI) --// 6. MATH LOOP (Handles Pause & Cool Reset) RunService.Heartbeat:Connect(function(dt) if not screenGui or not screenGui.Parent then return end if isResetting then -- Cool exponential decay back to 100 (10^2) exponent = exponent + (2 - exponent) * math.min(1, dt * 8) if math.abs(exponent - 2) < 0.05 then exponent = 2 isResetting = false end elseif not isPaused then if isMultiply then exponent = exponent + math.log10(currentVal) * dt * 10 else exponent = exponent * (1 + (currentVal - 1) * dt * 2) end end numLabel.Text = formatNumber(exponent) end) updateModeText()