local Players = game:GetService("Players") local ReplicatedStorage = game:GetService("ReplicatedStorage") local player = Players.LocalPlayer local Remotes = ReplicatedStorage:WaitForChild("Remotes") local gui = Instance.new("ScreenGui") gui.Name = "BallAutoHub" gui.ResetOnSpawn = false gui.Parent = player:WaitForChild("PlayerGui") local frame = Instance.new("Frame") frame.Size = UDim2.new(0, 680, 0, 530) frame.Position = UDim2.new(0.5, -340, 0.5, -265) frame.BackgroundColor3 = Color3.fromRGB(28, 28, 28) frame.BorderSizePixel = 0 frame.Active = true frame.Draggable = true frame.Parent = gui Instance.new("UICorner", frame).CornerRadius = UDim.new(0, 12) local topBar = Instance.new("Frame") topBar.Size = UDim2.new(1, 0, 0, 50) topBar.BackgroundColor3 = Color3.fromRGB(15, 15, 25) topBar.Parent = frame Instance.new("UICorner", topBar).CornerRadius = UDim.new(0, 12) local title = Instance.new("TextLabel") title.Size = UDim2.new(1, -100, 1, 0) title.BackgroundTransparency = 1 title.Text = "Baseball Incremental" title.TextColor3 = Color3.fromRGB(255, 255, 255) title.TextStrokeTransparency = 0 title.TextStrokeColor3 = Color3.fromRGB(0, 170, 255) title.Font = Enum.Font.GothamBold title.TextSize = 22 title.Parent = topBar local closeBtn = Instance.new("TextButton") closeBtn.Size = UDim2.new(0, 42, 0, 42) closeBtn.Position = UDim2.new(1, -48, 0.5, -21) closeBtn.BackgroundColor3 = Color3.fromRGB(235, 60, 60) closeBtn.Text = "✕" closeBtn.TextColor3 = Color3.new(1,1,1) closeBtn.Font = Enum.Font.GothamBold closeBtn.TextSize = 26 closeBtn.Parent = topBar Instance.new("UICorner", closeBtn).CornerRadius = UDim.new(0, 10) closeBtn.MouseButton1Click:Connect(function() gui:Destroy() end) local content = Instance.new("Frame") content.Size = UDim2.new(1, -20, 1, -120) content.Position = UDim2.new(0, 10, 0, 115) content.BackgroundTransparency = 1 content.Parent = frame local pages = {} local function createPage(name) local page = Instance.new("Frame") page.Size = UDim2.new(1,0,1,0) page.BackgroundTransparency = 1 page.Visible = false page.Parent = content local list = Instance.new("UIListLayout") list.Padding = UDim.new(0,10) list.SortOrder = Enum.SortOrder.LayoutOrder list.Parent = page pages[name] = page return page end local function showPage(name) for _,p in pairs(pages) do p.Visible = false end if pages[name] then pages[name].Visible = true end end local home = createPage("Home") local cash = createPage("Cash") local rp = createPage("RP") local bp = createPage("BP") local homeruns = createPage("Home Runs") local fame = createPage("Fame") local fight = createPage("Fight") local smacks = createPage("Smacks") local progressions = createPage("Progressions") local allNodes = createPage("All Nodes") local credits = createPage("Credits") local tabNames = {"Home", "Cash", "RP", "BP", "Home Runs", "Fame", "Fight", "Smacks", "Progressions", "All Nodes", "Credits"} local step = 1 / #tabNames for i, name in ipairs(tabNames) do local btn = Instance.new("TextButton") btn.Size = UDim2.new(step, -4, 0, 38) btn.Position = UDim2.new((i-1)*step, 5, 0, 58) btn.BackgroundColor3 = Color3.fromRGB(45,45,55) btn.Text = name btn.TextColor3 = Color3.new(1,1,1) btn.Font = Enum.Font.GothamSemibold btn.TextSize = 10 btn.Parent = frame Instance.new("UICorner", btn).CornerRadius = UDim.new(0,8) btn.MouseButton1Click:Connect(function() showPage(name) end) end local toggles = {} local speedMultiplier = 1.0 local function runToggleLoop(toggleData) if toggleData.Running then return end toggleData.Running = true task.spawn(function() while toggleData.Enabled and toggleData.Running do pcall(toggleData.Callback) task.wait(toggleData.Delay * speedMultiplier) end toggleData.Running = false end) end local function updateToggleVisual(toggleData) if toggleData.Enabled then toggleData.Button.BackgroundColor3 = Color3.fromRGB(0, 180, 90) toggleData.Button.Text = toggleData.Text .. ": ON" else toggleData.Button.BackgroundColor3 = Color3.fromRGB(50,50,60) toggleData.Button.Text = toggleData.Text .. ": OFF" end end local function createToggle(parent, text, delay, callback) local toggleData = { Text = text, Delay = delay, Callback = callback, Enabled = false, Running = false, Button = nil } local btn = Instance.new("TextButton") btn.Size = UDim2.new(1,0,0,45) btn.BackgroundColor3 = Color3.fromRGB(50,50,60) btn.Text = text .. ": OFF" btn.TextColor3 = Color3.new(1,1,1) btn.Font = Enum.Font.GothamBold btn.TextSize = 15 btn.Parent = parent Instance.new("UICorner", btn).CornerRadius = UDim.new(0,10) toggleData.Button = btn btn.MouseButton1Click:Connect(function() toggleData.Enabled = not toggleData.Enabled updateToggleVisual(toggleData) if toggleData.Enabled then runToggleLoop(toggleData) end end) table.insert(toggles, toggleData) end local masterBtn = Instance.new("TextButton") masterBtn.Size = UDim2.new(1,0,0,50) masterBtn.BackgroundColor3 = Color3.fromRGB(70,70,85) masterBtn.Text = "TURN ALL ON" masterBtn.TextColor3 = Color3.new(1,1,1) masterBtn.Font = Enum.Font.GothamBold masterBtn.TextSize = 16 masterBtn.Parent = home Instance.new("UICorner", masterBtn).CornerRadius = UDim.new(0,10) local masterState = false masterBtn.MouseButton1Click:Connect(function() masterState = not masterState if masterState then masterBtn.Text = "TURN ALL OFF" masterBtn.BackgroundColor3 = Color3.fromRGB(180, 50, 50) for _, toggleData in ipairs(toggles) do toggleData.Enabled = true updateToggleVisual(toggleData) runToggleLoop(toggleData) end else masterBtn.Text = "TURN ALL ON" masterBtn.BackgroundColor3 = Color3.fromRGB(70,70,85) for _, toggleData in ipairs(toggles) do toggleData.Enabled = false updateToggleVisual(toggleData) end end end) local speedFrame = Instance.new("Frame") speedFrame.Size = UDim2.new(1,0,0,70) speedFrame.BackgroundColor3 = Color3.fromRGB(45,45,55) speedFrame.Parent = home Instance.new("UICorner", speedFrame).CornerRadius = UDim.new(0,10) local speedLabel = Instance.new("TextLabel") speedLabel.Size = UDim2.new(1,0,0,25) speedLabel.BackgroundTransparency = 1 speedLabel.Text = "Global Speed (Lower = Faster)" speedLabel.TextColor3 = Color3.new(1,1,1) speedLabel.Font = Enum.Font.GothamSemibold speedLabel.TextSize = 14 speedLabel.Parent = speedFrame local speedBox = Instance.new("TextBox") speedBox.Size = UDim2.new(0.45,0,0,32) speedBox.Position = UDim2.new(0.5,0,0.5,-16) speedBox.BackgroundColor3 = Color3.fromRGB(35,35,45) speedBox.Text = "1.0" speedBox.TextColor3 = Color3.new(1,1,1) speedBox.Font = Enum.Font.Gotham speedBox.Parent = speedFrame Instance.new("UICorner", speedBox).CornerRadius = UDim.new(0,6) speedBox.FocusLost:Connect(function() local num = tonumber(speedBox.Text) if num and num > 0 then speedMultiplier = num else speedBox.Text = tostring(speedMultiplier) end end) local noticeLabel = Instance.new("TextLabel") noticeLabel.Size = UDim2.new(1, 0, 0, 30) noticeLabel.BackgroundTransparency = 1 noticeLabel.Text = "⚠️ Recommended to have Rebirth and Prestige OFF" noticeLabel.TextColor3 = Color3.fromRGB(255, 170, 0) noticeLabel.Font = Enum.Font.GothamBold noticeLabel.TextSize = 13 noticeLabel.TextYAlignment = Enum.TextYAlignment.Center noticeLabel.Parent = home createToggle(home, "Auto Hit Ball", 0.001, function() Remotes.CollectBall:FireServer(250) end) createToggle(home, "Auto Rebirth", 2.5, function() Remotes.Rebirth:FireServer() end) createToggle(home, "Auto Prestige", 3.0, function() Remotes.TrophyPrestige:FireServer() end) createToggle(cash, "Auto Buy Ball Value", 0.8, function() Remotes.BuyCashUpgrade:FireServer("BallValue", false) end) createToggle(cash, "Auto Buy Ball Amount", 0.8, function() Remotes.BuyCashUpgrade:FireServer("BallAmount", false) end) createToggle(cash, "Auto Buy Spawn Rate", 0.8, function() Remotes.BuyCashUpgrade:FireServer("BallSpawnRate", false) end) createToggle(rp, "Auto Buy Catch Radius", 1.2, function() Remotes.BuyRebirthUpgrade:FireServer("IncreaseCatchRadius", false) end) createToggle(rp, "Auto Buy Double Ball Value", 1.2, function() Remotes.BuyRebirthUpgrade:FireServer("DoubleBallValue", false) end) createToggle(rp, "Auto Buy Spawn Rate", 1.2, function() Remotes.BuyRebirthUpgrade:FireServer("IncreaseSpawnRate", false) end) createToggle(bp, "Auto Click Balk", 0.08, function() Remotes.ClickBalk:FireServer() end) createToggle(bp, "Auto Buy Balk Auto Click", 1.5, function() Remotes.BuyBalkUpgrade:FireServer("BalkAutoClick", false) end) createToggle(bp, "Auto Buy Double Rebirth Value", 1.5, function() Remotes.BuyBalkUpgrade:FireServer("BalkDoubleRebirthValue", false) end) createToggle(bp, "Auto Buy Double Ball Value", 1.5, function() Remotes.BuyBalkUpgrade:FireServer("BalkDoubleBallValue", false) end) createToggle(homeruns, "Auto Upgrade Home Runs", 1.2, function() Remotes.BuyHomeRunMain:FireServer(true) end) createToggle(homeruns, "Home Run Double Ball Value", 1.0, function() Remotes.BuyHomeRunUpgrade:FireServer("HomeRunDoubleBallValue") end) createToggle(homeruns, "Home Run Double Rebirth Value", 1.0, function() Remotes.BuyHomeRunUpgrade:FireServer("HomeRunDoubleRebirthValue") end) createToggle(homeruns, "Home Run Increase Value", 1.0, function() Remotes.BuyHomeRunUpgrade:FireServer("HomeRunIncreaseValue") end) createToggle(fame, "Auto Buy Fame", 1.2, function() Remotes.BuyMoreFame:FireServer(false) end) createToggle(fight, "Fight Everywhere", 1.5, function() Remotes.SpotlightReset:FireServer() end) createToggle(smacks, "More Damage", 1.0, function() Remotes.BuyArenaUpgrade:FireServer("Damage", false) end) createToggle(smacks, "More Smacks", 1.0, function() Remotes.BuyArenaUpgrade:FireServer("MoreSmacks", false) end) createToggle(smacks, "Attack Speed", 1.0, function() Remotes.BuyArenaUpgrade:FireServer("AttackSpeed", false) end) createToggle(progressions, "Auto Buy Tiers", 0.9, function() Remotes.TierUp:FireServer() end) createToggle(progressions, "Auto Spotlight", 2.0, function() Remotes.SpotlightReset:FireServer() end) createToggle(progressions, "Auto Ascend", 3.5, function() Remotes.BuyAscension:FireServer() end) createToggle(allNodes, "Auto Buy Tree Nodes (1-20)", 0.15, function() for i = 1, 20 do Remotes.BuyTreeNode:FireServer(i) task.wait(0.15 * speedMultiplier) end end) createToggle(allNodes, "Auto Buy Trophy Nodes (1-20)", 0.15, function() for i = 1, 20 do Remotes.BuyTrophyNode:FireServer(i) task.wait(0.15 * speedMultiplier) end end) createToggle(allNodes, "Auto Buy Smack Nodes (1-20)", 0.15, function() for i = 1, 20 do Remotes.BuySmacksNode:FireServer(i) task.wait(0.15 * speedMultiplier) end end) local creditsLabel = Instance.new("TextLabel") creditsLabel.Size = UDim2.new(1, 0, 0, 50) creditsLabel.BackgroundTransparency = 1 creditsLabel.Text = "Made by purebunny08" creditsLabel.TextColor3 = Color3.fromRGB(0, 170, 255) creditsLabel.Font = Enum.Font.GothamBold creditsLabel.TextSize = 22 creditsLabel.Parent = credits showPage("Home") print("✅ script made by Purebunny08!")