-- 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)