
Key Required

local Players = game:GetService("Players")
local player = Players.LocalPlayer
local char = player.Character or player.CharacterAdded:Wait()
local hrp = char:WaitForChild("HumanoidRootPart")
local running = false
-- GUI
local gui = Instance.new("ScreenGui")
gui.Name = "WallBuilderV2"
gui.Parent = player:WaitForChild("PlayerGui")
local frame = Instance.new("Frame")
frame.Size = UDim2.new(0,200,0,120)
frame.Position = UDim2.new(0.5,-100,0.5,-60)
frame.BackgroundColor3 = Color3.fromRGB(30,30,30)
frame.Parent = gui
frame.Active = true
frame.Draggable = true
local startBtn = Instance.new("TextButton")
startBtn.Size = UDim2.new(1,-20,0,30)
startBtn.Position = UDim2.new(0,10,0,10)
startBtn.Text = "Start"
startBtn.Parent = frame
local stopBtn = Instance.new("TextButton")
stopBtn.Size = UDim2.new(1,-20,0,30)
stopBtn.Position = UDim2.new(0,10,0,45)
stopBtn.Text = "Stop"
stopBtn.Parent = frame
local unloadBtn = Instance.new("TextButton")
unloadBtn.Size = UDim2.new(1,-20,0,30)
unloadBtn.Position = UDim2.new(0,10,0,80)
unloadBtn.Text = "Unload"
unloadBtn.Parent = frame
-- fire closest proximity prompt
local function fireClosestPrompt()
local closest
local dist = math.huge
for _,v in ipairs(workspace:GetDescendants()) do
if v:IsA("ProximityPrompt") and v.Parent:IsA("BasePart") then
local d = (hrp.Position - v.Parent.Position).Magnitude
if d < dist then
dist = d
closest = v
end
end
end
if closest then
fireproximityprompt(closest,1)
end
end
local function run()
while running do
-- step 1
char:PivotTo(CFrame.new(-255,6,-139))
task.wait(0.15)
-- step 2
fireClosestPrompt()
task.wait(0.15)
-- step 3 equip brick
local tool = player.Backpack:FindFirstChild("Brick")
if tool then
tool.Parent = char
end
task.wait(0.15)
-- step 4 scan bricks
local bricks = {}
for _,v in ipairs(workspace:GetChildren()) do
if v:IsA("BasePart") and v.Name:match("^Brick%d+$") then
table.insert(bricks,v)
end
end
if #bricks > 0 then
local brick = bricks[math.random(1,#bricks)]
local prompt = brick:FindFirstChild("PickupPrompt")
if prompt then
fireproximityprompt(prompt,1)
end
task.wait(0.15)
-- tp to brick
char:PivotTo(brick.CFrame + Vector3.new(0,3,0))
task.wait(0.15)
-- fire again
fireClosestPrompt()
end
task.wait(0.1)
end
end
startBtn.MouseButton1Click:Connect(function()
if not running then
running = true
task.spawn(run)
end
end)
stopBtn.MouseButton1Click:Connect(function()
running = false
end)
unloadBtn.MouseButton1Click:Connect(function()
running = false
gui:Destroy()
end)
already seeing it get put to use enjoy
have a couple more ideas for this game lmk if anyone wants more
@Shape yh bro add a feature to get alot more money and to get guns and stuff
@Shape me i want more