
KeylessUniversal

--// Exponential Growth UI v3.5
--// 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 (Base-1000 Multiplicative Blocks)
local first10 = {"K", "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 superPre_Upper = {"Mi", "Mc", "Na", "Pic", "Fm", "Att", "Zep", "Yt", "Xon", "Vec"}
local superPre_Lower = {"mi", "mc", "na", "pi", "fm", "at", "ze", "yt", "xn", "vc"}
local superA_Upper = {"Me", "Duc", "Tec", "Trec", "Pnec", "Hxec", "Hpec", "Ocec", "Enec"}
local superA_Lower = {"me", "dc", "tc", "trc", "pnc", "hxc", "hpc", "occ", "enc"}
local superB_Upper = {"Ic", "Tect", "Trect", "Pnct", "Hxct", "Hpct", "Occt", "Enct"}
local superB_Lower = {"ic", "tct", "trct", "pct", "hxct", "hpct", "occt", "enct"}
local superC_Upper = {"Hct", "Dhct", "Thct", "Trhct", "Pnhct", "Hxhct", "Hphct", "Ochct", "Enhct"}
local superC_Lower = {"ht", "dht", "tht", "trht", "pht", "hxht", "hpht", "ocht", "eht"}
local function getStandardDigitStr(val)
if val < 10 then return uN[val] end
local u = val % 10
local t = math.floor((val % 100) / 10) * 10
local h = math.floor(val / 100) * 100
local res = ""
if h > 0 then res = (u > 0 and hL[h/100] or hC[h/100]) .. res end
if t > 0 then res = (u > 0 and tL[t/10] or tC[t/10]) .. res end
if u > 0 then res = uN[u] .. res end
return res
end
local function getBlockSuffix(j, isLower)
if j == 0 then return "" end
if j <= 10 then
return isLower and superPre_Lower[j] or superPre_Upper[j]
end
if j <= 19 then
local idx = j - 10
return isLower and superA_Lower[idx] or superA_Upper[idx]
end
local u = j % 10
local t = math.floor((j % 100) / 10) * 10
local h = math.floor(j / 100) * 100
local res = ""
if u > 0 then
res = res .. (isLower and superA_Lower[u] or superA_Upper[u])
end
if t > 0 then
local tIdx = (t - 20) / 10 + 1
if u > 0 then
res = res .. superB_Lower[tIdx]
else
res = res .. (isLower and superB_Lower[tIdx] or superB_Upper[tIdx])
end
end
if h > 0 then
local hIdx = h / 100
if u > 0 or t > 0 then
res = res .. superC_Lower[hIdx]
else
res = res .. (isLower and superC_Lower[hIdx] or superC_Upper[hIdx])
end
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 = 0, 200 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]
local j = b - 1
if val > 0 then
if j == 0 then
if val <= 10 then
res = res .. first10[val]
else
res = res .. getStandardDigitStr(val)
end
else
if val == 1 then
res = res .. getBlockSuffix(j, false)
else
res = res .. getStandardDigitStr(val) .. getBlockSuffix(j, true)
end
end
end
end
return res
end
--// 3. THEME COLORS
local solidThemes = {
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 solidThemeOrder = {
"Red", "Vermillion", "Orange", "Sunset", "Sandy Lemon", "Yellow", "Lime", "Green", "Forest green", "Earth green", "Night mint", "Mint", "Teal", "Cyan", "Sky blue", "Noon blue", "Neon blue", "Blue", "Space blue", "Purple", "Pink", "Neon pink", "Cherry pink", "Cherry blossom", "Magenta", "Black", "Brown", "Beige", "Moon light", "Grey", "Light gray", "White smoke", "White"
}
local gradientThemes = {
Red = ColorSequence.new(Color3.fromRGB(255, 0, 0), Color3.fromRGB(180, 0, 0)),
Orange = ColorSequence.new(Color3.fromRGB(255, 165, 0), Color3.fromRGB(255, 100, 0)),
Copper = ColorSequence.new(Color3.fromRGB(184, 115, 51), Color3.fromRGB(120, 75, 30)),
Yellow = ColorSequence.new(Color3.fromRGB(255, 255, 0), Color3.fromRGB(255, 215, 0)),
Green = ColorSequence.new(Color3.fromRGB(0, 255, 0), Color3.fromRGB(0, 160, 0)),
Emerald = ColorSequence.new(Color3.fromRGB(80, 220, 100), Color3.fromRGB(0, 100, 50)),
Cyan = ColorSequence.new(Color3.fromRGB(0, 255, 255), Color3.fromRGB(0, 160, 200)),
["Sky blue"] = ColorSequence.new(Color3.fromRGB(135, 206, 235), Color3.fromRGB(70, 130, 180)),
Diamond = ColorSequence.new(Color3.fromRGB(185, 242, 255), Color3.fromRGB(105, 197, 255)),
Blue = ColorSequence.new(Color3.fromRGB(0, 0, 255), Color3.fromRGB(0, 0, 160)),
Purple = ColorSequence.new(Color3.fromRGB(128, 0, 128), Color3.fromRGB(186, 85, 211)),
Pink = ColorSequence.new(Color3.fromRGB(255, 192, 203), Color3.fromRGB(255, 105, 180)),
Brown = ColorSequence.new(Color3.fromRGB(139, 69, 19), Color3.fromRGB(100, 60, 20)),
Black = ColorSequence.new(Color3.fromRGB(60, 60, 60), Color3.fromRGB(0, 0, 0)),
Grey = ColorSequence.new(Color3.fromRGB(128, 128, 128), Color3.fromRGB(90, 90, 90)),
White = ColorSequence.new(Color3.fromRGB(255, 255, 255), Color3.fromRGB(200, 200, 200))
}
local gradientThemeOrder = {"Red", "Orange", "Copper", "Yellow", "Green", "Emerald", "Cyan", "Sky blue", "Diamond", "Blue", "Purple", "Pink", "Brown", "Black", "Grey", "White"}
local currentThemeColor = Color3.fromRGB(0, 255, 255)
local currentThemeGradient = ColorSequence.new(currentThemeColor, Color3.fromRGB(255, 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, 460, 0, 280)
mainFrame.Position = UDim2.new(0.5, -230, 0.5, -140)
mainFrame.BackgroundColor3 = Color3.fromRGB(15, 15, 20)
mainFrame.BackgroundTransparency = 0.1
mainFrame.ClipsDescendants = true
mainFrame.Parent = screenGui
local mainCorner = Instance.new("UICorner")
mainCorner.CornerRadius = UDim.new(0, 12)
mainCorner.Parent = mainFrame
local mainGradient = Instance.new("UIGradient")
mainGradient.Color = ColorSequence.new(Color3.fromRGB(20, 20, 30), Color3.fromRGB(10, 10, 15))
mainGradient.Rotation = 90
mainGradient.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, 40)
topBar.BackgroundColor3 = currentThemeColor
topBar.BackgroundTransparency = 0.8
topBar.Parent = mainFrame
local topBarGradient = Instance.new("UIGradient")
topBarGradient.Color = ColorSequence.new(Color3.fromRGB(255, 255, 255), currentThemeColor)
topBarGradient.Transparency = NumberSequence.new(0.8, 0.9)
topBarGradient.Rotation = 90
topBarGradient.Parent = topBar
local title = Instance.new("TextLabel")
title.Size = UDim2.new(1, -180, 1, 0)
title.Position = UDim2.new(0, 15, 0, 0)
title.BackgroundTransparency = 1
title.Text = "EXPONENTIAL GROWTH v3.5"
title.Font = Enum.Font.GothamBold
title.TextSize = 16
title.TextColor3 = Color3.fromRGB(240, 240, 255)
title.TextXAlignment = Enum.TextXAlignment.Left
title.Parent = topBar
local function createTopBtn(icon, posOffset)
local btn = Instance.new("TextButton")
btn.Size = UDim2.new(0, 40, 0, 40)
btn.Position = UDim2.new(1, posOffset, 0, 0)
btn.BackgroundTransparency = 1
btn.Text = icon
btn.Font = Enum.Font.GothamBold
btn.TextSize = 18
btn.TextColor3 = Color3.fromRGB(220, 220, 240)
btn.Parent = topBar
btn.MouseEnter:Connect(function() btn.TextColor3 = Color3.fromRGB(255, 255, 255) end)
btn.MouseLeave:Connect(function() btn.TextColor3 = Color3.fromRGB(220, 220, 240) end)
return btn
end
local settingsBtn = createTopBtn("⚙", -40)
local themeBtn = createTopBtn("🎨", -80)
local minBtn = createTopBtn("—", -120)
local closeBtn = createTopBtn("X", -160)
closeBtn.TextColor3 = Color3.fromRGB(255, 100, 100)
closeBtn.MouseEnter:Connect(function() closeBtn.TextColor3 = Color3.fromRGB(255, 150, 150) end)
closeBtn.MouseLeave:Connect(function() closeBtn.TextColor3 = Color3.fromRGB(255, 100, 100) end)
-- Number Display
local numLabel = Instance.new("TextLabel")
numLabel.Size = UDim2.new(0.9, 0, 0, 75)
numLabel.Position = UDim2.new(0.05, 0, 0, 50)
numLabel.BackgroundTransparency = 1
numLabel.Text = "100.00"
numLabel.Font = Enum.Font.GothamBlack
numLabel.TextSize = 55
numLabel.TextColor3 = Color3.fromRGB(255, 255, 255)
numLabel.TextScaled = true
numLabel.Parent = mainFrame
local numGradient = Instance.new("UIGradient")
numGradient.Color = currentThemeGradient
numGradient.Parent = numLabel
local function darkenColor(c, factor)
return Color3.fromRGB(math.floor(c.R*255*factor), math.floor(c.G*255*factor), math.floor(c.B*255*factor))
end
local function updateNumGradient(isSuper)
local cs = currentThemeGradient
if isSuper then
local kps = {}
for _, kp in ipairs(cs.Keypoints) do
table.insert(kps, ColorSequenceKeypoint.new(kp.Time, darkenColor(kp.Value, 0.65)))
end
numGradient.Color = ColorSequence.new(kps)
else
numGradient.Color = cs
end
end
-- Mode Toggle
local modeBtn = Instance.new("TextButton")
modeBtn.Size = UDim2.new(0.9, 0, 0, 32)
modeBtn.Position = UDim2.new(0.05, 0, 0, 130)
modeBtn.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
modeBtn.BackgroundTransparency = 0.9
modeBtn.Font = Enum.Font.GothamSemibold
modeBtn.TextSize = 14
modeBtn.TextColor3 = Color3.fromRGB(240, 240, 255)
modeBtn.Text = "Mode: Multiply (x1.20)"
modeBtn.Parent = mainFrame
local modeCorner = Instance.new("UICorner")
modeCorner.CornerRadius = UDim.new(0, 8)
modeCorner.Parent = modeBtn
modeBtn.MouseEnter:Connect(function() modeBtn.BackgroundTransparency = 0.8 end)
modeBtn.MouseLeave:Connect(function() modeBtn.BackgroundTransparency = 0.9 end)
-- Action Buttons Row
local btnRow = Instance.new("Frame")
btnRow.Size = UDim2.new(0.9, 0, 0, 30)
btnRow.Position = UDim2.new(0.05, 0, 0, 170)
btnRow.BackgroundTransparency = 1
btnRow.Parent = mainFrame
local btnNames = {"Pause", "Reset", "Chat", "Changelogs", "About"}
local actionButtons = {}
for i, name in ipairs(btnNames) do
local btn = Instance.new("TextButton")
btn.Size = UDim2.new(0.19, 0, 1, 0)
btn.Position = UDim2.new((i-1) * 0.2, 0, 0, 0)
btn.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
btn.BackgroundTransparency = 0.9
btn.Font = Enum.Font.GothamSemibold
btn.TextSize = 12
btn.TextColor3 = Color3.fromRGB(240, 240, 255)
btn.Text = name
btn.Parent = btnRow
local c = Instance.new("UICorner")
c.CornerRadius = UDim.new(0, 8)
c.Parent = btn
btn.MouseEnter:Connect(function() btn.BackgroundTransparency = 0.75 end)
btn.MouseLeave:Connect(function() btn.BackgroundTransparency = 0.9 end)
actionButtons[name] = btn
end
-- Slider
local sliderLabel = Instance.new("TextLabel")
sliderLabel.Size = UDim2.new(0.9, 0, 0, 20)
sliderLabel.Position = UDim2.new(0.05, 0, 0, 208)
sliderLabel.BackgroundTransparency = 1
sliderLabel.Text = "Rate: 1.20"
sliderLabel.Font = Enum.Font.GothamSemibold
sliderLabel.TextSize = 13
sliderLabel.TextColor3 = Color3.fromRGB(220, 220, 240)
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, 235)
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 sliderGradient = Instance.new("UIGradient")
sliderGradient.Color = ColorSequence.new(currentThemeColor, darkenColor(currentThemeColor, 0.7))
sliderGradient.Parent = sliderFill
local fillCorner = Instance.new("UICorner")
fillCorner.CornerRadius = UDim.new(1, 0)
fillCorner.Parent = sliderFill
local sliderHandle = Instance.new("Frame")
sliderHandle.Size = UDim2.new(0, 22, 0, 22)
sliderHandle.Position = UDim2.new(0, -11, 0.5, -11)
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
local handleStroke = Instance.new("UIStroke")
handleStroke.Color = currentThemeColor
handleStroke.Thickness = 2
handleStroke.Parent = sliderHandle
--// 5. WINDOWS & SETTINGS
local maxStringLength = 0
local function createWindow(size, pos)
local win = Instance.new("Frame")
win.Size = size
win.Position = pos
win.BackgroundColor3 = Color3.fromRGB(20, 20, 30)
win.BackgroundTransparency = 0.05
win.Visible = false
win.ZIndex = 10
win.Parent = mainFrame
local c = Instance.new("UICorner")
c.CornerRadius = UDim.new(0, 10)
c.Parent = win
local s = Instance.new("UIStroke")
s.Color = currentThemeColor
s.Thickness = 1
s.Transparency = 0.5
s.Parent = win
return win
end
local function closeAllWindows()
themeWindow.Visible = false
aboutWindow.Visible = false
changelogsWindow.Visible = false
settingsWindow.Visible = false
end
local function applySolidTheme(color)
currentThemeColor = color
currentThemeGradient = ColorSequence.new(color, Color3.fromRGB(255, 255, 255))
stroke.Color = color
handleStroke.Color = color
mainFrame.BackgroundColor3 = Color3.fromRGB(math.floor(color.R * 15), math.floor(color.G * 15), math.floor(color.B * 15))
topBar.BackgroundColor3 = color
sliderGradient.Color = ColorSequence.new(color, darkenColor(color, 0.7))
topBarGradient.Color = ColorSequence.new(Color3.fromRGB(255, 255, 255), color)
updateNumGradient(false)
end
local function applyGradientTheme(cs)
currentThemeGradient = cs
local firstColor = cs.Keypoints[1].Value
currentThemeColor = firstColor
stroke.Color = firstColor
handleStroke.Color = firstColor
mainFrame.BackgroundColor3 = Color3.fromRGB(math.floor(firstColor.R * 15), math.floor(firstColor.G * 15), math.floor(firstColor.B * 15))
topBar.BackgroundColor3 = firstColor
sliderGradient.Color = cs
topBarGradient.Color = cs
updateNumGradient(false)
end
-- Theme Window
themeWindow = createWindow(UDim2.new(0, 260, 0, 320), UDim2.new(1, -270, 0, 50))
local tabContainer = Instance.new("Frame")
tabContainer.Size = UDim2.new(1, -20, 0, 35)
tabContainer.Position = UDim2.new(0, 10, 0, 10)
tabContainer.BackgroundTransparency = 1
tabContainer.Parent = themeWindow
local solidTabBtn = Instance.new("TextButton")
solidTabBtn.Size = UDim2.new(0.5, -3, 1, 0)
solidTabBtn.Position = UDim2.new(0, 0, 0, 0)
solidTabBtn.BackgroundColor3 = Color3.fromRGB(40, 40, 50)
solidTabBtn.BackgroundTransparency = 0.5
solidTabBtn.Text = "Solid"
solidTabBtn.Font = Enum.Font.GothamBold
solidTabBtn.TextSize = 13
solidTabBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
solidTabBtn.Parent = tabContainer
local stc = Instance.new("UICorner") stc.CornerRadius = UDim.new(0, 6) stc.Parent = solidTabBtn
local gradTabBtn = Instance.new("TextButton")
gradTabBtn.Size = UDim2.new(0.5, -3, 1, 0)
gradTabBtn.Position = UDim2.new(0.5, 3, 0, 0)
gradTabBtn.BackgroundColor3 = Color3.fromRGB(40, 40, 50)
gradTabBtn.BackgroundTransparency = 0.8
gradTabBtn.Text = "Gradient"
gradTabBtn.Font = Enum.Font.GothamBold
gradTabBtn.TextSize = 13
gradTabBtn.TextColor3 = Color3.fromRGB(220, 220, 240)
gradTabBtn.Parent = tabContainer
local gtc = Instance.new("UICorner") gtc.CornerRadius = UDim.new(0, 6) gtc.Parent = gradTabBtn
local function setTab(isSolid)
solidScroll.Visible = isSolid
gradScroll.Visible = not isSolid
solidTabBtn.BackgroundTransparency = isSolid and 0.5 or 0.8
gradTabBtn.BackgroundTransparency = isSolid and 0.8 or 0.5
end
solidTabBtn.MouseButton1Click:Connect(function() setTab(true) end)
gradTabBtn.MouseButton1Click:Connect(function() setTab(false) end)
solidScroll = Instance.new("ScrollingFrame")
solidScroll.Size = UDim2.new(1, -10, 1, -55)
solidScroll.Position = UDim2.new(0, 5, 0, 50)
solidScroll.BackgroundTransparency = 1
solidScroll.ScrollBarThickness = 4
solidScroll.ZIndex = 11
solidScroll.Parent = themeWindow
gradScroll = Instance.new("ScrollingFrame")
gradScroll.Size = UDim2.new(1, -10, 1, -55)
gradScroll.Position = UDim2.new(0, 5, 0, 50)
gradScroll.BackgroundTransparency = 1
gradScroll.ScrollBarThickness = 4
gradScroll.Visible = false
gradScroll.ZIndex = 11
gradScroll.Parent = themeWindow
local function createGridLayout(parent)
local layout = Instance.new("UIGridLayout")
layout.CellSize = UDim2.new(0, 110, 0, 35)
layout.CellPadding = UDim2.new(0, 5, 0, 5)
layout.SortOrder = Enum.SortOrder.LayoutOrder
layout.Parent = parent
end
createGridLayout(solidScroll)
createGridLayout(gradScroll)
for i, name in ipairs(solidThemeOrder) do
local color = solidThemes[name]
local btn = Instance.new("TextButton")
btn.BackgroundColor3 = color
btn.Font = Enum.Font.GothamBold
btn.TextSize = 11
btn.TextColor3 = Color3.fromRGB(0, 0, 0)
btn.Text = name
btn.LayoutOrder = i
btn.ZIndex = 11
btn.Parent = solidScroll
local bCorner = Instance.new("UICorner")
bCorner.CornerRadius = UDim.new(0, 6)
bCorner.Parent = btn
btn.MouseButton1Click:Connect(function() applySolidTheme(color) end)
end
for i, name in ipairs(gradientThemeOrder) do
local cs = gradientThemes[name]
local btn = Instance.new("TextButton")
btn.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
btn.Font = Enum.Font.GothamBold
btn.TextSize = 11
btn.TextColor3 = Color3.fromRGB(0, 0, 0)
btn.Text = name
btn.LayoutOrder = i
btn.ZIndex = 11
btn.Parent = gradScroll
local bCorner = Instance.new("UICorner")
bCorner.CornerRadius = UDim.new(0, 6)
bCorner.Parent = btn
local bGrad = Instance.new("UIGradient")
bGrad.Color = cs
bGrad.Parent = btn
btn.MouseButton1Click:Connect(function() applyGradientTheme(cs) end)
end
-- About Window
aboutWindow = createWindow(UDim2.new(0, 340, 0, 180), UDim2.new(0.5, -170, 0.5, -90))
local aboutText = Instance.new("TextLabel")
aboutText.Size = UDim2.new(1, -30, 1, -20)
aboutText.Position = UDim2.new(0, 15, 0, 15)
aboutText.BackgroundTransparency = 1
aboutText.Text = "How does this thing work?\n\nSo 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(230, 230, 250)
aboutText.TextWrapped = true
aboutText.TextYAlignment = Enum.TextYAlignment.Top
aboutText.ZIndex = 11
aboutText.Parent = aboutWindow
-- Changelogs Window
changelogsWindow = createWindow(UDim2.new(0, 340, 0, 200), UDim2.new(0.5, -170, 0.5, -100))
local clTitle = Instance.new("TextLabel")
clTitle.Size = UDim2.new(1, 0, 0, 40)
clTitle.Position = UDim2.new(0, 0, 0, 15)
clTitle.BackgroundTransparency = 1
clTitle.Text = "Changelogs"
clTitle.Font = Enum.Font.GothamBold
clTitle.TextSize = 28
clTitle.TextColor3 = Color3.fromRGB(255, 255, 255)
clTitle.ZIndex = 11
clTitle.Parent = changelogsWindow
local clBody = Instance.new("TextLabel")
clBody.Size = UDim2.new(1, -40, 0, 100)
clBody.Position = UDim2.new(0, 20, 0, 60)
clBody.BackgroundTransparency = 1
clBody.Text = "v3.5\nyes new theme and i had to fix the setting for max illion length"
clBody.Font = Enum.Font.Gotham
clBody.TextSize = 16
clBody.TextColor3 = Color3.fromRGB(220, 220, 240)
clBody.TextWrapped = true
clBody.TextYAlignment = Enum.TextYAlignment.Top
clBody.TextXAlignment = Enum.TextXAlignment.Left
clBody.ZIndex = 11
clBody.Parent = changelogsWindow
local clFooter = Instance.new("TextLabel")
clFooter.Size = UDim2.new(1, -40, 0, 20)
clFooter.Position = UDim2.new(0, 20, 1, -25)
clFooter.BackgroundTransparency = 1
clFooter.Text = "versions v3.3 and below are not logged!!!"
clFooter.Font = Enum.Font.GothamSemibold
clFooter.TextSize = 11
clFooter.TextColor3 = Color3.fromRGB(150, 150, 170)
clFooter.TextXAlignment = Enum.TextXAlignment.Center
clFooter.ZIndex = 11
clFooter.Parent = changelogsWindow
-- Settings Window
settingsWindow = createWindow(UDim2.new(0, 360, 0, 120), UDim2.new(0.5, -180, 0.5, -60))
local function createSettingLabel(text, posY)
local lbl = Instance.new("TextLabel")
lbl.Size = UDim2.new(0.5, -10, 0, 35)
lbl.Position = UDim2.new(0, 15, 0, posY)
lbl.BackgroundTransparency = 1
lbl.Text = text
lbl.Font = Enum.Font.GothamSemibold
lbl.TextSize = 13
lbl.TextColor3 = Color3.fromRGB(230, 230, 250)
lbl.TextXAlignment = Enum.TextXAlignment.Left
lbl.ZIndex = 11
lbl.Parent = settingsWindow
end
local function createSettingBox(default, posY)
local box = Instance.new("TextBox")
box.Size = UDim2.new(0.4, -25, 0, 35)
box.Position = UDim2.new(0.55, 5, 0, posY)
box.BackgroundColor3 = Color3.fromRGB(30, 30, 40)
box.Text = tostring(default)
box.Font = Enum.Font.GothamSemibold
box.TextSize = 13
box.TextColor3 = Color3.fromRGB(255, 255, 255)
box.ZIndex = 11
box.Parent = settingsWindow
local bc = Instance.new("UICorner")
bc.CornerRadius = UDim.new(0, 6)
bc.Parent = box
return box
end
createSettingLabel("Max String Length (0 = ∞)", 40)
local lengthLimitBox = createSettingBox(maxStringLength, 40)
lengthLimitBox.FocusLost:Connect(function()
local val = tonumber(lengthLimitBox.Text)
if val and val >= 0 then maxStringLength = math.floor(val) end
lengthLimitBox.Text = tostring(maxStringLength)
end)
-- Close Buttons for Windows
local function addCloseToWindow(win)
local cBtn = Instance.new("TextButton")
cBtn.Size = UDim2.new(0, 35, 0, 35)
cBtn.Position = UDim2.new(1, -40, 0, 5)
cBtn.BackgroundTransparency = 1
cBtn.Text = "X"
cBtn.Font = Enum.Font.GothamBold
cBtn.TextSize = 18
cBtn.TextColor3 = Color3.fromRGB(255, 100, 100)
cBtn.ZIndex = 12
cBtn.Parent = win
cBtn.MouseButton1Click:Connect(function() win.Visible = false end)
end
addCloseToWindow(aboutWindow)
addCloseToWindow(changelogsWindow)
addCloseToWindow(settingsWindow)
--// 6. LOGIC & INTERACTIVITY
local isMultiply = true
local isPaused = false
local isResetting = false
local currentVal = 1.2
local exponent = 2
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)
settingsBtn.MouseButton1Click:Connect(function()
local vis = settingsWindow.Visible
closeAllWindows()
settingsWindow.Visible = not vis
end)
themeBtn.MouseButton1Click:Connect(function()
local vis = themeWindow.Visible
closeAllWindows()
themeWindow.Visible = not vis
end)
actionButtons["Pause"].MouseButton1Click:Connect(function()
isPaused = not isPaused
isResetting = false
actionButtons["Pause"].Text = isPaused and "Resume" or "Pause"
end)
actionButtons["Reset"].MouseButton1Click:Connect(function()
isResetting = true
isPaused = false
actionButtons["Pause"].Text = "Pause"
end)
actionButtons["About"].MouseButton1Click:Connect(function()
local vis = aboutWindow.Visible
closeAllWindows()
aboutWindow.Visible = not vis
end)
actionButtons["Changelogs"].MouseButton1Click:Connect(function()
local vis = changelogsWindow.Visible
closeAllWindows()
changelogsWindow.Visible = not vis
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
actionButtons["Chat"].MouseButton1Click:Connect(function()
if exponent < 3 then return end
local idx = math.floor(exponent / 3)
if idx > 0 then
local suffix = getSuffix(idx)
if maxStringLength > 0 and #suffix > maxStringLength then
return -- Stop chatting entirely if limit is reached
end
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, -11, 0.5, -11)
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, 460, 0, 40) or UDim2.new(0, 460, 0, 280)
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)
--// 7. MATH LOOP & FORMAT
local function formatNumber(exp)
if exp >= 1.79e308 then return "∞", 0 end
if exp < 3 then return string.format("%.2f", 10^exp), 0 end
local mantissa = 10 ^ (exp % 3)
local idx = math.floor(exp / 3)
local suffix = getSuffix(idx)
local text = string.format("%.2f", mantissa) .. (suffix ~= "" and " " .. suffix or "")
-- Trim the string display if it exceeds the max length
if maxStringLength > 0 and #text > maxStringLength then
text = string.sub(text, 1, maxStringLength) .. "..."
end
return text, idx
end
RunService.Heartbeat:Connect(function(dt)
if not screenGui or not screenGui.Parent then return end
if isResetting then
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
local text, idx = formatNumber(exponent)
numLabel.Text = text
-- Apply 35% darker gradient if it reaches indexes 1,000 and more
updateNumGradient(idx >= 1000)
end)
updateModeText()



I heard there is hacked or/and bot account spamming links onto my scripts, dont trust them. (not towards hate) (sincrerely, rubix.)