Auto Farm made with AI via Google Gemini
Key Required

Auto Farm made with AI via Google Gemini

[🎄]CLIKER TYCOON[🎄]AnxyAnxy 446 views 218 executesUpdated Jan 11, 2026
Unrated
00
Lua Script•136 lines (4560 chars)
-- 1. SETUP & PARENTING
local function getSafeParent()
    local p = nil
    pcall(function() p = gethui() end)
    if p then return p end
    pcall(function() p = game:GetService("CoreGui") end)
    if p then return p end
    return game:GetService("Players").LocalPlayer:WaitForChild("PlayerGui")
end

local ScreenGui = Instance.new("ScreenGui")
ScreenGui.Name = "Gojo_Clicker_Limited"
ScreenGui.Parent = getSafeParent()
ScreenGui.ResetOnSpawn = false

-- 2. MAIN FRAME
local MainFrame = Instance.new("Frame")
MainFrame.Size = UDim2.new(0, 220, 0, 200)
MainFrame.Position = UDim2.new(0.5, -110, 0.5, -100)
MainFrame.BackgroundColor3 = Color3.fromRGB(15, 15, 20)
MainFrame.BorderSizePixel = 0
MainFrame.Active = true
MainFrame.Draggable = true 
MainFrame.Parent = ScreenGui
Instance.new("UICorner", MainFrame).CornerRadius = UDim.new(0, 10)

-- 3. MINIMIZE SYSTEM
local MaxBtn = Instance.new("TextButton")
MaxBtn.Size = UDim2.new(0, 120, 0, 30)
MaxBtn.Position = UDim2.new(0.5, -60, 0, 10)
MaxBtn.BackgroundColor3 = Color3.fromRGB(30, 30, 45)
MaxBtn.Text = "Open Clicker"
MaxBtn.TextColor3 = Color3.new(1, 1, 1)
MaxBtn.Visible = false
MaxBtn.Parent = ScreenGui
Instance.new("UICorner", MaxBtn)

local MiniButton = Instance.new("TextButton", MainFrame)
MiniButton.Size = UDim2.new(0, 25, 0, 25)
MiniButton.Position = UDim2.new(1, -30, 0, 5)
MiniButton.Text = "-"
MiniButton.BackgroundColor3 = Color3.fromRGB(40, 40, 60)
MiniButton.TextColor3 = Color3.new(1, 1, 1)
Instance.new("UICorner", MiniButton)

MiniButton.MouseButton1Click:Connect(function()
    MainFrame.Visible = false
    MaxBtn.Visible = true
end)

MaxBtn.MouseButton1Click:Connect(function()
    MainFrame.Visible = true
    MaxBtn.Visible = false
end)

-- 4. BOUNDARY LOGIC (Top-screen friendly)
MainFrame:GetPropertyChangedSignal("Position"):Connect(function()
    local screen = ScreenGui.AbsoluteSize
    local frameSize = MainFrame.AbsoluteSize
    local x = math.clamp(MainFrame.AbsolutePosition.X, 0, screen.X - frameSize.X)
    local y = math.clamp(MainFrame.AbsolutePosition.Y, 0, screen.Y - frameSize.Y)
    MainFrame.Position = UDim2.new(0, x, 0, y)
end)

-- 5. UI ELEMENTS
local Title = Instance.new("TextLabel", MainFrame)
Title.Size = UDim2.new(1, -40, 0, 35)
Title.Text = "STABLE CLICKER"
Title.TextColor3 = Color3.new(1, 1, 1)
Title.BackgroundTransparency = 1
Title.Font = Enum.Font.SourceSansBold

local SpeedInput = Instance.new("TextBox", MainFrame)
SpeedInput.Size = UDim2.new(0, 100, 0, 25)
SpeedInput.Position = UDim2.new(0.5, -50, 0, 50)
SpeedInput.BackgroundColor3 = Color3.fromRGB(30, 30, 40)
SpeedInput.Text = "0"
SpeedInput.TextColor3 = Color3.new(1, 1, 1)

local BurstInput = Instance.new("TextBox", MainFrame)
BurstInput.Size = UDim2.new(0, 100, 0, 25)
BurstInput.Position = UDim2.new(0.5, -50, 0, 85)
BurstInput.BackgroundColor3 = Color3.fromRGB(30, 30, 40)
BurstInput.Text = "5" -- Balanced default
BurstInput.TextColor3 = Color3.new(0, 1, 1)

-- BURST LIMIT LOGIC
BurstInput:GetPropertyChangedSignal("Text"):Connect(function()
    local val = tonumber(BurstInput.Text)
    if val and val > 50 then
        BurstInput.Text = "50" -- Hard cap to save your FPS
    end
end)

local Toggle = Instance.new("TextButton", MainFrame)
Toggle.Size = UDim2.new(0.8, 0, 0, 40)
Toggle.Position = UDim2.new(0.1, 0, 0, 125)
Toggle.Text = "START"
Toggle.BackgroundColor3 = Color3.fromRGB(150, 0, 0)
Toggle.TextColor3 = Color3.new(1, 1, 1)
Toggle.Font = Enum.Font.SourceSansBold
Instance.new("UICorner", Toggle)

local Credit = Instance.new("TextLabel", MainFrame)
Credit.Size = UDim2.new(1, 0, 0, 20)
Credit.Position = UDim2.new(0, 0, 1, -20)
Credit.Text = "Made by Gojo Satoru"
Credit.TextColor3 = Color3.fromRGB(160, 160, 255)
Credit.BackgroundTransparency = 1

-- 6. LOGIC
local running = false
local remote = game:GetService("ReplicatedStorage"):WaitForChild("Remotes"):WaitForChild("Clicker")

local function spam()
    while running do
        local bCount = tonumber(BurstInput.Text) or 1
        -- Clamp again inside loop for safety
        bCount = math.min(bCount, 50)
        
        for i = 1, bCount do
            if not running then break end
            remote:FireServer()
        end
        
        local dVal = tonumber(SpeedInput.Text) or 0
        task.wait(dVal <= 0 and 0 or dVal)
    end
end

Toggle.MouseButton1Click:Connect(function()
    running = not running
    Toggle.Text = running and "STOP" or "START"
    Toggle.BackgroundColor3 = running and Color3.fromRGB(0, 150, 0) or Color3.fromRGB(150, 0, 0)
    if running then task.spawn(spam) end
end)

Features & Information

Just made with AI. If you have a terrible phone or just can't perform that well, then don't put to many clicks. Burst is how many clicks it does per remote activated. There is a limit but it can still be fairly laggy.
#Keyless

Community Comments (0)

No comments yet for this script.