local oldUi = game:GetService("CoreGui"):FindFirstChild("BlockTycoonPayloadUI") or 
              game:GetService("Players").LocalPlayer:WaitForChild("PlayerGui"):FindFirstChild("BlockTycoonPayloadUI")
if oldUi then
    oldUi:Destroy()
end

local ScreenGui = Instance.new("ScreenGui")
ScreenGui.Name = "BlockTycoonPayloadUI"
ScreenGui.ResetOnSpawn = false
ScreenGui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling

local success, coreGui = pcall(function() return game:GetService("CoreGui") end)
ScreenGui.Parent = success and coreGui or game:GetService("Players").LocalPlayer:WaitForChild("PlayerGui")

local MainFrame = Instance.new("Frame")
MainFrame.Name = "MainFrame"
MainFrame.Size = UDim2.new(0, 380, 0, 420) 
MainFrame.Position = UDim2.new(0.5, -190, 0.4, -210)
MainFrame.BackgroundColor3 = Color3.fromRGB(25, 25, 30)
MainFrame.BorderSizePixel = 0
MainFrame.Active = true
MainFrame.Parent = ScreenGui

local FrameCorner = Instance.new("UICorner")
FrameCorner.CornerRadius = UDim.new(0, 8)
FrameCorner.Parent = MainFrame

local FrameStroke = Instance.new("UIStroke")
FrameStroke.Color = Color3.fromRGB(50, 50, 60)
FrameStroke.Thickness = 1
FrameStroke.Parent = MainFrame

local TitleBar = Instance.new("Frame")
TitleBar.Name = "TitleBar"
TitleBar.Size = UDim2.new(1, 0, 0, 40)
TitleBar.BackgroundColor3 = Color3.fromRGB(35, 35, 45)
TitleBar.BorderSizePixel = 0
TitleBar.Parent = MainFrame

local TitleCorner = Instance.new("UICorner")
TitleCorner.CornerRadius = UDim.new(0, 8)
TitleCorner.Parent = TitleBar

local TitleText = Instance.new("TextLabel")
TitleText.Size = UDim2.new(1, -90, 1, 0)
TitleText.Position = UDim2.new(0, 15, 0, 0)
TitleText.BackgroundTransparency = 1
TitleText.Text = "Bulk Payload Auto-Buyer [Numpad1]"
TitleText.TextColor3 = Color3.fromRGB(240, 240, 240)
TitleText.TextSize = 14
TitleText.Font = Enum.Font.GothamBold
TitleText.TextXAlignment = Enum.TextXAlignment.Left
TitleText.Parent = TitleBar

local CloseButton = Instance.new("TextButton")
CloseButton.Name = "CloseButton"
CloseButton.Size = UDim2.new(0, 30, 0, 30)
CloseButton.Position = UDim2.new(1, -35, 0, 5)
CloseButton.BackgroundColor3 = Color3.fromRGB(200, 50, 50)
CloseButton.Text = "X"
CloseButton.TextColor3 = Color3.fromRGB(255, 255, 255)
CloseButton.TextSize = 14
CloseButton.Font = Enum.Font.GothamBold
CloseButton.Parent = TitleBar

local CloseCorner = Instance.new("UICorner")
CloseCorner.CornerRadius = UDim.new(0, 6)
CloseCorner.Parent = CloseButton

local ContentFrame = Instance.new("Frame")
ContentFrame.Name = "ContentFrame"
ContentFrame.Size = UDim2.new(1, -24, 1, -55)
ContentFrame.Position = UDim2.new(0, 12, 0, 45)
ContentFrame.BackgroundTransparency = 1
ContentFrame.Parent = MainFrame

local DropdownButton = Instance.new("TextButton")
DropdownButton.Name = "DropdownButton"
DropdownButton.Size = UDim2.new(1, 0, 0, 38)
DropdownButton.Position = UDim2.new(0, 0, 0, 10)
DropdownButton.BackgroundColor3 = Color3.fromRGB(40, 40, 50)
DropdownButton.Text = "Select Item â–¼"
DropdownButton.TextColor3 = Color3.fromRGB(220, 220, 220)
DropdownButton.TextSize = 14
DropdownButton.Font = Enum.Font.GothamSemibold
DropdownButton.Parent = ContentFrame

local DropdownCorner = Instance.new("UICorner")
DropdownCorner.CornerRadius = UDim.new(0, 6)
DropdownCorner.Parent = DropdownButton

local DropdownContainer = Instance.new("Frame")
DropdownContainer.Name = "DropdownContainer"
DropdownContainer.Size = UDim2.new(1, 0, 0, 180)
DropdownContainer.Position = UDim2.new(0, 0, 0, 52)
DropdownContainer.BackgroundTransparency = 1
DropdownContainer.Visible = false
DropdownContainer.ZIndex = 5
DropdownContainer.Parent = ContentFrame

local SearchInput = Instance.new("TextBox")
SearchInput.Name = "SearchInput"
SearchInput.Size = UDim2.new(1, 0, 0, 32)
SearchInput.Position = UDim2.new(0, 0, 0, 0)
SearchInput.BackgroundColor3 = Color3.fromRGB(35, 35, 45)
SearchInput.PlaceholderText = "🔍 Search blocks..."
SearchInput.PlaceholderColor3 = Color3.fromRGB(120, 120, 130)
SearchInput.Text = ""
SearchInput.TextColor3 = Color3.fromRGB(255, 255, 255)
SearchInput.TextSize = 13
SearchInput.Font = Enum.Font.Gotham
SearchInput.ZIndex = 6
SearchInput.Parent = DropdownContainer

local SearchCorner = Instance.new("UICorner")
SearchCorner.CornerRadius = UDim.new(0, 4)
SearchCorner.Parent = SearchInput

local SearchStroke = Instance.new("UIStroke")
SearchStroke.Color = Color3.fromRGB(60, 60, 75)
SearchStroke.Thickness = 1
SearchStroke.Parent = SearchInput

local DropdownList = Instance.new("ScrollingFrame")
DropdownList.Name = "DropdownList"
DropdownList.Size = UDim2.new(1, 0, 1, -38)
DropdownList.Position = UDim2.new(0, 0, 0, 38)
DropdownList.BackgroundColor3 = Color3.fromRGB(30, 30, 35)
DropdownList.BorderSizePixel = 0
DropdownList.ZIndex = 5
DropdownList.CanvasSize = UDim2.new(0, 0, 0, 0)
DropdownList.ScrollBarThickness = 6
DropdownList.Parent = DropdownContainer

local ListLayout = Instance.new("UIListLayout")
ListLayout.Padding = UDim.new(0, 2)
ListLayout.SortOrder = Enum.SortOrder.LayoutOrder
ListLayout.Parent = DropdownList

local AmountLabel = Instance.new("TextLabel")
AmountLabel.Size = UDim2.new(0.5, -5, 0, 25)
AmountLabel.Position = UDim2.new(0, 0, 0, 245)
AmountLabel.BackgroundTransparency = 1
AmountLabel.Text = "Index Quantity Amount:"
AmountLabel.TextColor3 = Color3.fromRGB(180, 180, 190)
AmountLabel.TextSize = 12
AmountLabel.Font = Enum.Font.GothamSemibold
AmountLabel.TextXAlignment = Enum.TextXAlignment.Left
AmountLabel.Parent = ContentFrame

local AmountInput = Instance.new("TextBox")
AmountInput.Size = UDim2.new(0.5, -5, 0, 32)
AmountInput.Position = UDim2.new(0, 0, 0, 270)
AmountInput.BackgroundColor3 = Color3.fromRGB(35, 35, 40)
AmountInput.Text = "2"
AmountInput.TextColor3 = Color3.fromRGB(255, 255, 255)
AmountInput.TextSize = 14
AmountInput.Font = Enum.Font.Gotham
AmountInput.Parent = ContentFrame

local AmountCorner = Instance.new("UICorner")
AmountCorner.CornerRadius = UDim.new(0, 4)
AmountCorner.Parent = AmountInput

local SpeedLabel = Instance.new("TextLabel")
SpeedLabel.Size = UDim2.new(0.5, -5, 0, 25)
SpeedLabel.Position = UDim2.new(0.5, 5, 0, 245)
SpeedLabel.BackgroundTransparency = 1
SpeedLabel.Text = "Execution Delay (Sec):"
SpeedLabel.TextColor3 = Color3.fromRGB(180, 180, 190)
SpeedLabel.TextSize = 12
SpeedLabel.Font = Enum.Font.GothamSemibold
SpeedLabel.TextXAlignment = Enum.TextXAlignment.Left
SpeedLabel.Parent = ContentFrame

local SpeedInput = Instance.new("TextBox")
SpeedInput.Size = UDim2.new(0.5, -5, 0, 32)
SpeedInput.Position = UDim2.new(0.5, 5, 0, 270)
SpeedInput.BackgroundColor3 = Color3.fromRGB(35, 35, 40)
SpeedInput.Text = "0.2"
SpeedInput.TextColor3 = Color3.fromRGB(255, 255, 255)
SpeedInput.TextSize = 14
SpeedInput.Font = Enum.Font.Gotham
SpeedInput.Parent = ContentFrame

local SpeedCorner = Instance.new("UICorner")
SpeedCorner.CornerRadius = UDim.new(0, 4)
SpeedCorner.Parent = SpeedInput

local ToggleButton = Instance.new("TextButton")
ToggleButton.Name = "ToggleButton"
ToggleButton.Size = UDim2.new(1, 0, 0, 42)
ToggleButton.Position = UDim2.new(0, 0, 1, -45)
ToggleButton.BackgroundColor3 = Color3.fromRGB(50, 150, 50)
ToggleButton.Text = "Start Auto-Buy"
ToggleButton.TextColor3 = Color3.fromRGB(255, 255, 255)
ToggleButton.TextSize = 15
ToggleButton.Font = Enum.Font.GothamBold
ToggleButton.Parent = ContentFrame

local ToggleCorner = Instance.new("UICorner")
ToggleCorner.CornerRadius = UDim.new(0, 6)
ToggleCorner.Parent = ToggleButton

local replicatedStorage = game:GetService("ReplicatedStorage")
local shopRemote = replicatedStorage:WaitForChild("ShopE")
local blocksFolder = replicatedStorage:WaitForChild("Blocks")

local selectedItem = nil
local autoBuyActive = false
local scriptAlive = true
local configQuantity = 2
local configDelay = 0.2

local function populateDropdown()
    for _, block in pairs(blocksFolder:GetChildren()) do
        local itemBtn = Instance.new("TextButton")
        itemBtn.Name = block.Name
        itemBtn.Size = UDim2.new(1, -8, 0, 30)
        itemBtn.BackgroundColor3 = Color3.fromRGB(45, 45, 55)
        itemBtn.Text = block.Name
        itemBtn.TextColor3 = Color3.fromRGB(200, 200, 200)
        itemBtn.TextSize = 13
        itemBtn.Font = Enum.Font.Gotham
        itemBtn.ZIndex = 6
        itemBtn.Parent = DropdownList
        
        local itemCorner = Instance.new("UICorner")
        itemCorner.CornerRadius = UDim.new(0, 4)
        itemCorner.Parent = itemBtn
        
        itemBtn.MouseButton1Click:Connect(function()
            selectedItem = block.Name
            DropdownButton.Text = selectedItem .. " â–¼"
            DropdownContainer.Visible = false
            SearchInput.Text = ""
        end)
    end
    DropdownList.CanvasSize = UDim2.new(0, 0, 0, ListLayout.AbsoluteContentSize.Y)
end
populateDropdown()

SearchInput:GetPropertyChangedSignal("Text"):Connect(function()
    local searchPattern = string.lower(SearchInput.Text)
    for _, button in pairs(DropdownList:GetChildren()) do
        if button:IsA("TextButton") then
            if searchPattern == "" or string.find(string.lower(button.Name), searchPattern) then
                button.Visible = true
            else
                button.Visible = false
            end
        end
    end
    DropdownList.CanvasSize = UDim2.new(0, 0, 0, ListLayout.AbsoluteContentSize.Y)
end)

DropdownButton.MouseButton1Click:Connect(function()
    DropdownContainer.Visible = not DropdownContainer.Visible
    if DropdownContainer.Visible then
        SearchInput:CaptureFocus()
    end
end)

AmountInput.FocusLost:Connect(function()
    local val = tonumber(AmountInput.Text)
    if val and val > 0 then configQuantity = math.floor(val) else AmountInput.Text = tostring(configQuantity) end
end)

SpeedInput.FocusLost:Connect(function()
    local val = tonumber(SpeedInput.Text)
    if val and val >= 0 then configDelay = val else SpeedInput.Text = tostring(configDelay) end
end)

task.spawn(function()
    while scriptAlive do
        if autoBuyActive and selectedItem then
            local ohNumber1 = 1
            local ohTable2 = {
                [1] = selectedItem,
                [2] = configQuantity
            }
            shopRemote:FireServer(ohNumber1, ohTable2)
        end
        task.wait(configDelay)
    end
end)

ToggleButton.MouseButton1Click:Connect(function()
    if not selectedItem then 
        DropdownButton.Text = "CHOOSE AN ITEM FIRST!"
        task.delay(1.5, function() DropdownButton.Text = "Select Item â–¼" end)
        return 
    end
    
    autoBuyActive = not autoBuyActive
    
    if autoBuyActive then
        configQuantity = tonumber(AmountInput.Text) or 2
        configDelay = tonumber(SpeedInput.Text) or 0.2
        ToggleButton.Text = "Stop Auto-Buy"
        ToggleButton.BackgroundColor3 = Color3.fromRGB(150, 50, 50)
    else
        ToggleButton.Text = "Start Auto-Buy"
        ToggleButton.BackgroundColor3 = Color3.fromRGB(50, 150, 50)
    end
end)

local UserInputService = game:GetService("UserInputService")
local dragging, dragInput, dragStart, startPos

local function update(input)
    local delta = input.Position - dragStart
    MainFrame.Position = UDim2.new(startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y)
end

TitleBar.InputBegan:Connect(function(input)
    if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
        dragging = true
        dragStart = input.Position
        startPos = MainFrame.Position
        
        local connection
        connection = input.Changed:Connect(function()
            if input.UserInputState == Enum.UserInputState.End then
                dragging = false
                connection:Disconnect()
            end
        end)
    end
end)

TitleBar.InputChanged:Connect(function(input)
    if input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch then 
        dragInput = input 
    end
end)

UserInputService.InputChanged:Connect(function(input)
    if input == dragInput and dragging then 
        update(input) 
    end
end)

UserInputService.InputBegan:Connect(function(input, gameProcessedEvent)
    if not gameProcessedEvent and input.KeyCode == Enum.KeyCode.NumpadOne then
        MainFrame.Visible = not MainFrame.Visible
    end
end)

CloseButton.MouseButton1Click:Connect(function()
    autoBuyActive = false
    scriptAlive = false
    ScreenGui:Destroy()
end)
Block Tycoon ⛏️ Auto Buy, Auto Upgrade
Mobile Friendly
906 views
4 months ago

Auto Buy, Auto Upgrade

WORKING
Free

Description

Automatically buy and upgrade everything in Block Tycoon with this smooth AutoBuy script. Progress faster, expand your tycoon instantly, and remove the need for manual grinding. Lightweight, keyless, and works on both mobile and PC.

Related Scripts