local Players = game:GetService("Players") local player = Players.LocalPlayer local gui = Instance.new("ScreenGui") gui.Name = "CleanHub" 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.BorderSizePixel = 0 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 = "Plane Race with 99 Propellers" 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("ScrollingFrame") content.Size = UDim2.new(1, -20, 1, -190) content.Position = UDim2.new(0, 10, 0, 65) content.BackgroundTransparency = 1 content.BorderSizePixel = 0 content.ScrollBarThickness = 6 content.ScrollBarImageColor3 = Color3.fromRGB(0, 170, 255) content.CanvasSize = UDim2.new(0, 0, 0, 0) content.Parent = frame local list = Instance.new("UIListLayout") list.Padding = UDim.new(0, 10) list.SortOrder = Enum.SortOrder.LayoutOrder list.Parent = content list:GetPropertyChangedSignal("AbsoluteContentSize"):Connect(function() content.CanvasSize = UDim2.new(0, 0, 0, list.AbsoluteContentSize.Y + 10) end) local function createNormalButton(parent, text, callback) local btn = Instance.new("TextButton") btn.Size = UDim2.new(1, -8, 0, 45) btn.BackgroundColor3 = Color3.fromRGB(0, 135, 220) btn.Text = text 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) btn.MouseButton1Click:Connect(function() btn.BackgroundColor3 = Color3.fromRGB(0, 170, 255) pcall(callback) task.wait(0.1) btn.BackgroundColor3 = Color3.fromRGB(0, 135, 220) end) return btn end local function createToggle(parent, text, delay, callback) local enabled = false local running = false local btn = Instance.new("TextButton") btn.Size = UDim2.new(1, -8, 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) local function updateVisual() if enabled then btn.BackgroundColor3 = Color3.fromRGB(0, 180, 90) btn.Text = text .. ": ON" else btn.BackgroundColor3 = Color3.fromRGB(50,50,60) btn.Text = text .. ": OFF" end end local function runLoop() if running then return end running = true task.spawn(function() while enabled do pcall(callback) task.wait(delay) end running = false end) end btn.MouseButton1Click:Connect(function() enabled = not enabled updateVisual() if enabled then runLoop() end end) return btn end local function createDropdown(parent, text, options, callback) local expanded = false local dropdownFrame = Instance.new("Frame") dropdownFrame.Size = UDim2.new(1, -8, 0, 45) dropdownFrame.BackgroundTransparency = 1 dropdownFrame.Parent = parent local mainBtn = Instance.new("TextButton") mainBtn.Size = UDim2.new(1, 0, 0, 45) mainBtn.BackgroundColor3 = Color3.fromRGB(40, 40, 50) mainBtn.Text = text .. " [ Silver ]" mainBtn.TextColor3 = Color3.new(1, 1, 1) mainBtn.Font = Enum.Font.GothamBold mainBtn.TextSize = 15 mainBtn.Parent = dropdownFrame Instance.new("UICorner", mainBtn).CornerRadius = UDim.new(0, 10) local optionsContainer = Instance.new("Frame") optionsContainer.Size = UDim2.new(1, 0, 0, 0) optionsContainer.Position = UDim2.new(0, 0, 0, 50) optionsContainer.BackgroundColor3 = Color3.fromRGB(33, 33, 43) optionsContainer.BorderSizePixel = 0 optionsContainer.Visible = false optionsContainer.ClipsDescendants = true optionsContainer.Parent = dropdownFrame Instance.new("UICorner", optionsContainer).CornerRadius = UDim.new(0, 8) local optList = Instance.new("UIListLayout") optList.Padding = UDim.new(0, 5) optList.Parent = optionsContainer for _, optName in ipairs(options) do local optBtn = Instance.new("TextButton") optBtn.Size = UDim2.new(1, 0, 0, 35) optBtn.BackgroundTransparency = 1 optBtn.Text = optName optBtn.TextColor3 = Color3.fromRGB(200, 200, 200) optBtn.Font = Enum.Font.Gotham optBtn.TextSize = 14 optBtn.Parent = optionsContainer optBtn.MouseButton1Click:Connect(function() mainBtn.Text = text .. " [ " .. optName .. " ]" expanded = false optionsContainer.Visible = false dropdownFrame.Size = UDim2.new(1, -8, 0, 45) pcall(callback, optName) end) end mainBtn.MouseButton1Click:Connect(function() expanded = not expanded if expanded then local count = #options local targetHeight = (count * 35) + ((count - 1) * 5) optionsContainer.Size = UDim2.new(1, 0, 0, targetHeight) dropdownFrame.Size = UDim2.new(1, -8, 0, 50 + targetHeight) optionsContainer.Visible = true else optionsContainer.Visible = false dropdownFrame.Size = UDim2.new(1, -8, 0, 45) end end) end local creditsLabel = Instance.new("TextLabel") creditsLabel.Size = UDim2.new(1, 0, 0, 30) creditsLabel.Position = UDim2.new(0, 0, 1, -40) creditsLabel.BackgroundTransparency = 1 creditsLabel.Text = "Made by purebunny08" creditsLabel.TextColor3 = Color3.fromRGB(0, 170, 255) creditsLabel.Font = Enum.Font.GothamBold creditsLabel.TextSize = 16 creditsLabel.TextXAlignment = Enum.TextXAlignment.Center creditsLabel.Parent = frame local wasEnabled = false createToggle(content, "Auto Farm All Wins", 0.1, function() local localPlayer = game:GetService("Players").LocalPlayer wasEnabled = true if localPlayer and localPlayer.Character then local hrp = localPlayer.Character:FindFirstChild("HumanoidRootPart") if hrp then hrp.CFrame = CFrame.new( -451000, 26, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1 ) local gameEvents = game:GetService("ReplicatedStorage"):FindFirstChild("GameEvents") if gameEvents then local raceFunction = gameEvents:FindFirstChild("RaceFunction") if raceFunction and raceFunction:IsA("RemoteFunction") then pcall(function() raceFunction:InvokeServer("OnLeave") end) end end end end end) task.spawn(function() while task.wait(0.5) do if wasEnabled and not string.find(content:FindFirstChild("Auto Farm All Wins").Text, "ON") then wasEnabled = false local comms = game:GetService("ReplicatedStorage"):WaitForChild("Comms", 2) if comms then local exitEvent = comms:WaitForChild("IDontWantToRaceAnymoreMan", 2) if exitEvent and exitEvent:IsA("RemoteEvent") then exitEvent:FireServer() end end end end end) createToggle(content, "Auto Hatch (3 Wins)", 0.5, function() local gameEvents = game:GetService("ReplicatedStorage"):WaitForChild("GameEvents", 2) if gameEvents then local hatchEvent = gameEvents:WaitForChild("Hatch", 2) if hatchEvent and hatchEvent:IsA("RemoteEvent") then local args = { "Hatch1", "Draw001", {} } hatchEvent:FireServer(unpack(args)) end end end) createToggle(content, "Auto Hatch (50 Wins)", 0.5, function() local gameEvents = game:GetService("ReplicatedStorage"):WaitForChild("GameEvents", 2) if gameEvents then local hatchEvent = gameEvents:WaitForChild("Hatch", 2) if hatchEvent and hatchEvent:IsA("RemoteEvent") then local args = { "Hatch1", "Draw002", {} } hatchEvent:FireServer(unpack(args)) end end end) createToggle(content, "Auto Hatch (5500 Wins)", 0.5, function() local gameEvents = game:GetService("ReplicatedStorage"):WaitForChild("GameEvents", 2) if gameEvents then local hatchEvent = gameEvents:WaitForChild("Hatch", 2) if hatchEvent and hatchEvent:IsA("RemoteEvent") then local args = { "Hatch1", "Draw003", {} } hatchEvent:FireServer(unpack(args)) end end end) createToggle(content, "Auto Hatch (75k Wins)", 0.5, function() local gameEvents = game:GetService("ReplicatedStorage"):WaitForChild("GameEvents", 2) if gameEvents then local hatchEvent = gameEvents:WaitForChild("Hatch", 2) if hatchEvent and hatchEvent:IsA("RemoteEvent") then local args = { "Hatch1", "Draw004", {} } hatchEvent:FireServer(unpack(args)) end end end) createToggle(content, "Auto Rebirth", 0.5, function() local gameEvents = game:GetService("ReplicatedStorage"):WaitForChild("GameEvents", 2) if gameEvents then local rebirthUpEvent = gameEvents:WaitForChild("RebirthUp", 2) if rebirthUpEvent and rebirthUpEvent:IsA("RemoteEvent") then rebirthUpEvent:FireServer() end end end) print("⭐ Made by purebunny08!")