Run it
Copy the script and paste it into your executor.
Players = :()
ReplicatedStorage = :()
player = Players.LocalPlayer
mouse = player:()
buildPart = ReplicatedStorage:()
buildPart
buildPart = .()
buildPart.Name =
buildPart.Size = .(,,)
buildPart.Anchored =
buildPart.Material = .Material.SmoothPlastic
buildPart.TopSurface = .SurfaceType.Smooth
buildPart.BottomSurface = .SurfaceType.Smooth
buildPart.BrickColor = BrickColor.()
buildPart.CanCollide =
buildPart.Parent = ReplicatedStorage
equipped =
tool = .()
tool.Name =
tool.RequiresHandle =
tool.Parent = player:()
gridSize =
currentColor = BrickColor.()
colorOptions = {
BrickColor.(), BrickColor.(), BrickColor.(),
BrickColor.(), BrickColor.(), BrickColor.()
}
colorIndex =
placing =
selected
selectionBox
waitingToMove =
gui = .(, player:())
gui.Name =
gui.Enabled =
(name, text, y)
btn = .()
btn.Name = name
btn.Size = .(, , , )
btn.Position = .(, , , y)
btn.Text = text
btn.BackgroundColor3 = .(, , )
btn.TextColor3 = .(,,)
btn.Font = .Font.SourceSansBold
btn.TextSize =
btn.Parent = gui
btn
modeBtn = (, , )
colorBtn = (, , )
moveBtn = (, , )
resizeBtn = (, , )
deleteBtn = (, , )
tool.Equipped:(()
equipped =
gui.Enabled =
)
tool.Unequipped:(()
equipped =
gui.Enabled =
()
waitingToMove =
)
(pos)
.(
.(pos.X / gridSize + ) * gridSize,
.(pos.Y / gridSize + ) * gridSize,
.(pos.Z / gridSize + ) * gridSize
)
(pos)
clone = buildPart:()
p = (pos)
clone.Position = .(p.X, p.Y + clone.Size.Y/, p.Z)
clone.BrickColor = currentColor
clone.Parent =
(part)
selectionBox selectionBox:()
selected = part
selectionBox = .()
selectionBox.Adornee = part
selectionBox.Color3 = .(,,)
selectionBox.Parent = part
()
selectionBox selectionBox:()
selected =
mouse.Button1Down:(()
equipped
pos = mouse.Hit.Position
target = mouse.Target
waitingToMove selected
selected.Position = .((pos).X, (pos).Y + selected.Size.Y/, (pos).Z)
waitingToMove =
placing
target
topY = target.Position.Y + target.Size.Y /
snapped = (.(pos.X, topY, pos.Z))
(.(snapped.X, snapped.Y, snapped.Z))
(pos)
target target.Name ==
(target)
)
modeBtn.MouseButton1Click:(()
placing = placing
modeBtn.Text = placing
placing ()
)
colorBtn.MouseButton1Click:(()
colorIndex +=
colorIndex > #colorOptions colorIndex =
currentColor = colorOptions[colorIndex]
colorBtn.Text = .. (currentColor)
selected selected.BrickColor = currentColor
)
moveBtn.MouseButton1Click:(()
selected waitingToMove =
)
resizeBtn.MouseButton1Click:(()
selected
selected.Size += .(,,)
selected.Position += .(,,)
)
deleteBtn.MouseButton1Click:(()
selected
selected:()
()
)bulid!!1!1!11!

Universal