local Players = game:GetService("Players")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local player = Players.LocalPlayer
local beginRemote, successRemote, collectRemote, upgradeFloorRemote, sellRemote, rebirthRemote
local success, err = pcall(function()
local network = ReplicatedStorage.Shared.Network.Remotes
beginRemote = network.Building.Begin
successRemote = network.Building.Success
collectRemote = network.Plot.Collect
upgradeFloorRemote = network.PlayerData.UpgradeFloors
sellRemote = network.PlayerData.Sell
rebirthRemote = network.PlayerData.RequestRebirth
end)
if not success then
warn("⚠️ CleanHub Error: One of your remote paths is incorrect! Check F9 Console.")
print("Error details: ", err)
end
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.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 = "Build A Skyscraper"
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 toggles = {}
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)
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, -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)
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 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)
end
createNormalButton(content, "click me and then auto succes", function()
if beginRemote then
beginRemote:FireServer()
end
end)
createToggle(content, "Auto Success", 0.01, function()
if successRemote then
local randomCord = math.random() * (0.9 - 0.1) + 0.1
successRemote:FireServer(randomCord)
end
end)
createToggle(content, "Auto Collect 1 - 8", 1.5, function()
if collectRemote then
for id = 1, 8 do
collectRemote:FireServer(id)
task.wait(0.05)
end
end
end)
createToggle(content, "Auto Upgrade Floors", 1.0, function()
if upgradeFloorRemote then
upgradeFloorRemote:FireServer()
end
end)
createToggle(content, "Auto Rebirth", 1.5, function()
if rebirthRemote then
rebirthRemote:FireServer()
end
end)
local sellBtn = Instance.new("TextButton")
sellBtn.Size = UDim2.new(1, -20, 0, 45)
sellBtn.Position = UDim2.new(0, 10, 1, -95)
sellBtn.BackgroundColor3 = Color3.fromRGB(210, 40, 40)
sellBtn.Text = "Sell Items"
sellBtn.TextColor3 = Color3.new(1, 1, 1)
sellBtn.Font = Enum.Font.GothamBold
sellBtn.TextSize = 16
sellBtn.Parent = frame
Instance.new("UICorner", sellBtn).CornerRadius = UDim.new(0, 10)
sellBtn.MouseButton1Click:Connect(function()
sellBtn.BackgroundColor3 = Color3.fromRGB(255, 60, 60)
if sellRemote then
sellRemote:FireServer()
elseif ReplicatedStorage:FindFirstChild("Shared") then
local sell = ReplicatedStorage.Shared.Network.Remotes.PlayerData:FindFirstChild("Sell")
if sell then sell:FireServer() end
end
task.wait(0.1)
sellBtn.BackgroundColor3 = Color3.fromRGB(210, 40, 40)
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
print("⭐ Made by purebunny08!")
Comments
holy shit its amazing thanks for not being a password logger
This shi is so good
any problems pls tell