semi inf stats
Key Required

semi inf stats

[🌋 UPD 3] Island IncrementalMetalMetal 3K views 82 executesUpdated Sep 26, 2025
3.8/ 5(4 votes)
3175% Positive
Lua Script•461 lines (15776 chars)
--[[
When you get to defrost, turn it off after maybe 200 resets as this doesnt have a cap and will reset infinitely and stop any further progress until it is turned off, if things are buggy then just turn all off and on or rejoin and reexecute
]]

local Players = game:GetService("Players")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local UserInputService = game:GetService("UserInputService")
local TweenService = game:GetService("TweenService")
local player = Players.LocalPlayer

local Remotes = ReplicatedStorage:WaitForChild("Remotes")
local function getRemote(name)
    return Remotes:FindFirstChild(name)
end

local remoteDefs = {
    { key = "PowerRE", label = "Power" },
    { key = "ClaimCoinGiftRE", label = "Claim Coin Gift" },
    { key = "EnergyRE", label = "Energy" },
    { key = "DiamondsRE", label = "Diamonds" },
    { key = "LuckRE", label = "Luck" },
    { key = "WindRE", label = "Wind" },
    { key = "StarRE", label = "Star" },
    { key = "SuperStarRE", label = "Super Star" },
    { key = "CoinsRE", label = "Coins" },
    { key = "WildCrateRE", label = "Wild Crate" },
    { key = "TreeRE", label = "Tree" },
    { key = "CrystalRE", label = "Crystal" },
    { key = "JewelCrateRE", label = "Jewel Crate" },
    { key = "WhirlpoolCrateRE", label = "Whirlpool Crate" },
    { key = "DropletRE", label = "Droplet" },
    { key = "GoldStarRE", label = "Gold Star" },
    { key = "ShadowRE", label = "Shadow" },
    { key = "SandRE", label = "Sand" },
    { key = "CactusRE", label = "Cactus" },
    { key = "SunlightRE", label = "Sunlight" },
    { key = "PrismsRE", label = "Prisms" },
    { key = "GlassRE", label = "Glass" },
    { key = "SolarPanelRE", label = "Solar Panel" },
    { key = "DesertCrateRE", label = "Desert Crate" },
    { key = "SuperLuckRE", label = "Super Luck" },
    { key = "BatteryRE", label = "Battery" },
    { key = "RefractionRE", label = "Refraction" },
    { key = "CryptCrateRE", label = "Crypt Crate" },
    { key = "ElectricityRE", label = "Electricity" },
    { key = "CloneRE", label = "Clone" },
    { key = "RunicTempleRE", label = "Runic Temple" },
    { key = "TempleOpenRE", label = "Temple Open (10s cap)" },
    { key = "SnowRE", label = "Snow" },
    { key = "IceRE", label = "Ice" },
    { key = "FrostRE", label = "Frost" },
    { key = "IcyCrateRE", label = "Icy Crate" },
    { key = "Luck2RE", label = "Luck 2" },
    { key = "FreezerRE", label = "Freezer" },
    { key = "RefrostRE", label = "Refrost" },
    { key = "ArcticCrateRE", label = "Arctic Crate" },
    { key = "ColdPrismRE", label = "Cold Prism" },
    { key = "ChilledStarRE", label = "Chilled Star" },
    { key = "IglooRE", label = "Igloo" },
    { key = "FrozenDiamondRE", label = "Frozen Diamond" },
    { key = "PackedIceRE", label = "Packed Ice" },
    { key = "SuperLuck2RE", label = "Super Luck 2" },
    { key = "HailRE", label = "Hail" },
    { key = "DeepCrateRE", label = "Deep Crate" },
    { key = "FireRE", label = "Fire" },
    { key = "MoltenRE", label = "Molten" },
    { key = "LavaRE", label = "Lava" },
    { key = "InferniteStarRE", label = "Infernite Star" },
    { key = "MagmaRE", label = "Magma" },
    { key = "SSLuckRE", label = "SS Luck" },
    { key = "HotCrateRE", label = "Hot Crate" },
}

local actions = {}
for _, def in ipairs(remoteDefs) do
    local remote = getRemote(def.key)
    table.insert(actions, {
        key = def.key,
        label = def.label .. (remote and "" or " (missing)"),
        remote = remote,
        enabled = remote ~= nil,
    })
end

local FULL_W, FULL_H = 300, 400
local MINI_W, MINI_H = 300, 40
local CORNER_R = 12
local BAR_H = 32

local screenGui = Instance.new("ScreenGui")
screenGui.Name = "StatsUI"
screenGui.ResetOnSpawn = false
screenGui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling
screenGui.Parent = player:WaitForChild("PlayerGui")

local frame = Instance.new("Frame")
frame.Size = UDim2.fromOffset(FULL_W, FULL_H)
frame.Position = UDim2.fromScale(0.5, 0.5)
frame.AnchorPoint = Vector2.new(0.5, 0.5)
frame.BackgroundColor3 = Color3.fromRGB(25, 25, 25)
frame.BorderSizePixel = 0
frame.Parent = screenGui

local uiCorner = Instance.new("UICorner")
uiCorner.CornerRadius = UDim.new(0, CORNER_R)
uiCorner.Parent = frame

local stroke = Instance.new("UIStroke")
stroke.Color = Color3.fromRGB(60, 60, 60)
stroke.Thickness = 1
stroke.ApplyStrokeMode = Enum.ApplyStrokeMode.Border
stroke.Parent = frame

local topBar = Instance.new("Frame")
topBar.Name = "TopBar"
topBar.Size = UDim2.new(1, 0, 0, BAR_H)
topBar.BackgroundColor3 = Color3.fromRGB(32, 32, 32)
topBar.BorderSizePixel = 0
topBar.Parent = frame

local topCorner = Instance.new("UICorner")
topCorner.CornerRadius = UDim.new(0, CORNER_R)
topCorner.Parent = topBar

local title = Instance.new("TextLabel")
title.Text = "Stats Control"
title.Font = Enum.Font.GothamSemibold
title.TextColor3 = Color3.fromRGB(235, 235, 235)
title.TextSize = 14
title.BackgroundTransparency = 1
title.TextXAlignment = Enum.TextXAlignment.Left
title.Size = UDim2.new(1, -100, 1, 0)
title.Position = UDim2.new(0, 12, 0, 0)
title.Parent = topBar

local minimise = Instance.new("TextButton")
minimise.Text = "–"
minimise.Font = Enum.Font.GothamBold
minimise.TextSize = 20
minimise.BackgroundColor3 = Color3.fromRGB(45, 45, 45)
minimise.TextColor3 = Color3.fromRGB(230, 230, 230)
minimise.Size = UDim2.fromOffset(32, 22)
minimise.Position = UDim2.new(1, -82, 0.5, -11)
minimise.AutoButtonColor = true
minimise.Parent = topBar

local minCorner = Instance.new("UICorner")
minCorner.CornerRadius = UDim.new(0, 8)
minCorner.Parent = minimise

local unloadTop = Instance.new("TextButton")
unloadTop.Text = "Unload"
unloadTop.Font = Enum.Font.GothamBold
unloadTop.TextSize = 14
unloadTop.BackgroundColor3 = Color3.fromRGB(120, 35, 35)
unloadTop.TextColor3 = Color3.fromRGB(255, 235, 235)
unloadTop.Size = UDim2.fromOffset(60, 22)
unloadTop.Position = UDim2.new(1, -48, 0.5, -11)
unloadTop.AutoButtonColor = true
unloadTop.Parent = topBar

local unloadCorner = Instance.new("UICorner")
unloadCorner.CornerRadius = UDim.new(0, 8)
unloadCorner.Parent = unloadTop

local dot = Instance.new("Frame")
dot.Size = UDim2.fromOffset(10, 10)
dot.Position = UDim2.new(1, -18, 0.5, -5)
dot.BackgroundColor3 = Color3.fromRGB(180, 0, 0)
dot.BorderSizePixel = 0
dot.Parent = topBar

local dotCorner = Instance.new("UICorner")
dotCorner.CornerRadius = UDim.new(1, 0)
dotCorner.Parent = dot

local content = Instance.new("Frame")
content.Name = "Content"
content.BackgroundTransparency = 1
content.Size = UDim2.new(1, -20, 1, -BAR_H - 12)
content.Position = UDim2.new(0, 10, 0, BAR_H + 6)
content.Parent = frame

local contentLayout = Instance.new("UIListLayout")
contentLayout.Padding = UDim.new(0, 8)
contentLayout.SortOrder = Enum.SortOrder.LayoutOrder
contentLayout.Parent = content

local listScroll = Instance.new("ScrollingFrame")
listScroll.Name = "RemoteList"
listScroll.BackgroundColor3 = Color3.fromRGB(28, 28, 28)
listScroll.BorderSizePixel = 0
listScroll.Size = UDim2.new(1, 0, 0, 200)
listScroll.ScrollBarThickness = 6
listScroll.AutomaticCanvasSize = Enum.AutomaticSize.Y
listScroll.CanvasSize = UDim2.new(0, 0, 0, 0)
listScroll.Parent = content

local listCorner = Instance.new("UICorner")
listCorner.CornerRadius = UDim.new(0, 10)
listCorner.Parent = listScroll

local listLayout = Instance.new("UIListLayout")
listLayout.SortOrder = Enum.SortOrder.LayoutOrder
listLayout.Padding = UDim.new(0, 6)
listLayout.Parent = listScroll

local listPad = Instance.new("UIPadding")
listPad.PaddingTop = UDim.new(0, 8)
listPad.PaddingBottom = UDim.new(0, 8)
listPad.PaddingLeft = UDim.new(0, 8)
listPad.PaddingRight = UDim.new(0, 8)
listPad.Parent = listScroll

local div = Instance.new("Frame")
div.BackgroundColor3 = Color3.fromRGB(50, 50, 50)
div.BorderSizePixel = 0
div.Size = UDim2.new(1, 0, 0, 1)
div.Parent = content

local toggleButton = Instance.new("TextButton")
toggleButton.Size = UDim2.new(1, 0, 0, 44)
toggleButton.Text = "Start"
toggleButton.BackgroundColor3 = Color3.fromRGB(60, 60, 60)
toggleButton.TextColor3 = Color3.fromRGB(255, 255, 255)
toggleButton.Font = Enum.Font.GothamBold
toggleButton.TextScaled = true
toggleButton.AutoButtonColor = true
toggleButton.Parent = content

local uiCornerBtn = Instance.new("UICorner")
uiCornerBtn.CornerRadius = UDim.new(0, 10)
uiCornerBtn.Parent = toggleButton

local statusLabel = Instance.new("TextLabel")
statusLabel.Size = UDim2.new(1, 0, 0, 22)
statusLabel.BackgroundTransparency = 1
statusLabel.TextColor3 = Color3.fromRGB(200, 200, 200)
statusLabel.Font = Enum.Font.Gotham
statusLabel.TextScaled = true
statusLabel.Text = "Status: Stopped"
statusLabel.Parent = content

local intervalRow = Instance.new("Frame")
intervalRow.BackgroundTransparency = 1
intervalRow.Size = UDim2.new(1, 0, 0, 26)
intervalRow.Parent = content

local intervalLabel = Instance.new("TextLabel")
intervalLabel.BackgroundTransparency = 1
intervalLabel.Text = "Interval (s):"
intervalLabel.Font = Enum.Font.Gotham
intervalLabel.TextColor3 = Color3.fromRGB(210, 210, 210)
intervalLabel.TextSize = 14
intervalLabel.TextXAlignment = Enum.TextXAlignment.Left
intervalLabel.Size = UDim2.new(0.5, -6, 1, 0)
intervalLabel.Parent = intervalRow

local intervalBox = Instance.new("TextBox")
intervalBox.Text = "0.05"
intervalBox.ClearTextOnFocus = false
intervalBox.Font = Enum.Font.GothamSemibold
intervalBox.TextSize = 14
intervalBox.TextColor3 = Color3.fromRGB(240, 240, 240)
intervalBox.BackgroundColor3 = Color3.fromRGB(50, 50, 50)
intervalBox.Size = UDim2.new(0.5, 0, 1, 0)
intervalBox.Position = UDim2.new(0.5, 0, 0, 0)
intervalBox.Parent = intervalRow

local intervalCorner = Instance.new("UICorner")
intervalCorner.CornerRadius = UDim.new(0, 8)
intervalCorner.Parent = intervalBox

local function makeToggleButton(parent, initial, disabled)
    local btn = Instance.new("TextButton")
    btn.Size = UDim2.fromOffset(70, 24)
    btn.BackgroundColor3 = initial and Color3.fromRGB(0, 170, 90) or Color3.fromRGB(70, 70, 70)
    btn.TextColor3 = Color3.fromRGB(250, 250, 250)
    btn.Text = initial and "ON" or "OFF"
    btn.Font = Enum.Font.GothamSemibold
    btn.TextSize = 14
    btn.AutoButtonColor = not disabled
    btn.Parent = parent
    local c = Instance.new("UICorner")
    c.CornerRadius = UDim.new(0, 8)
    c.Parent = btn
    if disabled then
        btn.Text = "N/A"
        btn.BackgroundColor3 = Color3.fromRGB(60, 60, 60)
    end
    return btn
end

local function addRemoteRow(def, conns)
    local row = Instance.new("Frame")
    row.BackgroundTransparency = 1
    row.Size = UDim2.new(1, 0, 0, 24)
    row.Parent = listScroll
    local nameLabel = Instance.new("TextLabel")
    nameLabel.BackgroundTransparency = 1
    nameLabel.Text = def.label
    nameLabel.Font = Enum.Font.Gotham
    nameLabel.TextColor3 = def.remote and Color3.fromRGB(210, 210, 210) or Color3.fromRGB(170, 120, 120)
    nameLabel.TextSize = 14
    nameLabel.TextXAlignment = Enum.TextXAlignment.Left
    nameLabel.Size = UDim2.new(1, -80, 1, 0)
    nameLabel.Parent = row
    local toggle = makeToggleButton(row, def.enabled, not def.remote)
    toggle.Position = UDim2.new(1, -70, 0, 0)
    local state = def.enabled
    if def.remote then
        table.insert(conns, toggle.MouseButton1Click:Connect(function()
            state = not state
            def.enabled = state
            toggle.Text = state and "ON" or "OFF"
            toggle.BackgroundColor3 = state and Color3.fromRGB(0, 170, 90) or Color3.fromRGB(70, 70, 70)
        end))
    end
end

local conns = {}
for _, a in ipairs(actions) do
    addRemoteRow(a, conns)
end

local running = false
local minimised = false
local lastTempleFire = 0

local function setRunning(v)
    running = v
    toggleButton.Text = running and "Stop" or "Start"
    statusLabel.Text = "Status: " .. (running and "Running" or "Stopped")
    dot.BackgroundColor3 = running and Color3.fromRGB(0, 200, 80) or Color3.fromRGB(180, 0, 0)
end

local function getInterval()
    local n = tonumber(intervalBox.Text)
    if not n then n = 0.05 end
    if n < 0.01 then n = 0.01 end
    if n > 5 then n = 5 end
    return n
end

local function tweenFrameSize(w, h)
    TweenService:Create(
        frame,
        TweenInfo.new(0.18, Enum.EasingStyle.Quad, Enum.EasingDirection.Out),
        { Size = UDim2.fromOffset(w, h) }
    ):Play()
end

local function setMinimised(v)
    minimised = v
    content.Visible = not minimised
    minimise.Text = minimised and "+" or "–"
    if minimised then
        tweenFrameSize(MINI_W, MINI_H)
    else
        tweenFrameSize(FULL_W, FULL_H)
    end
end

do
    local dragging = false
    local dragStart
    local startPos
    local function update(input)
        local delta = input.Position - dragStart
        frame.Position = UDim2.fromOffset(startPos.X + delta.X, startPos.Y + delta.Y)
    end
    table.insert(conns, topBar.InputBegan:Connect(function(input)
        if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
            dragging = true
            dragStart = input.Position
            startPos = Vector2.new(frame.AbsolutePosition.X, frame.AbsolutePosition.Y)
            table.insert(conns, input.Changed:Connect(function()
                if input.UserInputState == Enum.UserInputState.End then
                    dragging = false
                end
            end))
        end
    end))
    table.insert(conns, UserInputService.InputChanged:Connect(function(input)
        if dragging and (input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch) then
            update(input)
        end
    end))
end

table.insert(conns, minimise.MouseButton1Click:Connect(function()
    setMinimised(not minimised)
end))

table.insert(conns, intervalBox.FocusLost:Connect(function()
    local n = tonumber(intervalBox.Text)
    if not n then
        intervalBox.Text = "0.05"
        return
    end
    if n < 0.01 then
        intervalBox.Text = "0.01"
    elseif n > 5 then
        intervalBox.Text = "5"
    else
        intervalBox.Text = string.format("%.3f", n)
    end
end))

table.insert(conns, toggleButton.MouseButton1Click:Connect(function()
    if running then
        setRunning(false)
        return
    end
    setRunning(true)
    task.spawn(function()
        while running do
            local now = time()
            for _, a in ipairs(actions) do
                if a.enabled and a.remote then
                    if a.key == "TempleOpenRE" then
                        if now - lastTempleFire >= 10 then
                            pcall(function() a.remote:FireServer() end)
                            lastTempleFire = now
                        end
                    else
                        pcall(function() a.remote:FireServer() end)
                    end
                end
            end
            task.wait(getInterval())
        end
    end)
end))

local pendingConfirm = false
local function unload()
    setRunning(false)
    for _, c in ipairs(conns) do
        pcall(function() c:Disconnect() end)
    end
    pcall(function() screenGui:Destroy() end)
    pcall(function() if script and script.Destroy then script:Destroy() end end)
end

table.insert(conns, unloadTop.MouseButton1Click:Connect(function()
    if not pendingConfirm then
        pendingConfirm = true
        unloadTop.Text = "Confirm"
        unloadTop.BackgroundColor3 = Color3.fromRGB(170, 40, 40)
        task.delay(2, function()
            if pendingConfirm then
                pendingConfirm = false
                unloadTop.Text = "Unload"
                unloadTop.BackgroundColor3 = Color3.fromRGB(120, 35, 35)
            end
        end)
    else
        unload()
    end
end))

Features & Information

basically just basic loop remote stuff idfk dont steal ts ik its open source but its so ppl can inspect my code, and see its not malicious. keyless.
#free#op#sigma#keyless#inf

Community Comments (12)

SyrexGenesisSyrexGenesisSep 26, 2025

Ui ain't moveable/draggabble

Replying to @SyrexGenesis
MetalMetalSep 26, 2025

@SyrexGenesis ik im sorry i tried to but i'd have to change ui for it to work.. for some reason sorrry man

Replying to @Metal
SyrexGenesisSyrexGenesisSep 26, 2025

@Metal is alr I've already modified it I've gotten more remotes and I'mma use my ui library and dw ofc I'mma give credit to u and give ur discord to I'm not one of those people that doesn't do that Im nice

Replying to @SyrexGenesis
MetalMetalSep 26, 2025

@SyrexGenesis my discord is @alli2pretty

Replying to @Metal
SyrexGenesisSyrexGenesisSep 26, 2025

@Metal alr

Replying to @SyrexGenesis
MetalMetalSep 26, 2025

@SyrexGenesis lmk whrn u add

Replying to @Metal
SyrexGenesisSyrexGenesisSep 26, 2025

@Metal oh wait I don't have discord I thought u said put that discord with credits 💀

Replying to @SyrexGenesis
MetalMetalSep 26, 2025

@SyrexGenesis oh its ok lol

Replying to @Metal
SyrexGenesisSyrexGenesisSep 26, 2025

@Metal alr

Replying to @Metal
SyrexGenesisSyrexGenesisSep 26, 2025

@Metal I already uploaded...

Replying to @Metal
SyrexGenesisSyrexGenesisSep 26, 2025(edited)

@Metal 👍

Replying to @Metal
SyrexGenesisSyrexGenesisSep 26, 2025(edited)

@Metal couldn't delete this so I just edited it

More Scripts for [🌋 UPD 3] Island Incremental