--[[ https://discord.gg/7fDasxV2Ht full source, enjoy :::. .,-:::::/ :::. :::::::.. .:: . .::::::. :::::::.. .,:::::: ;;`;; ,;;-'````' ;;`;; ;;;;``;;;; ';;, ;; ;;;' ;;`;; ;;;;``;;;; ;;;;'''' ,[[ '[[, [[[ [[[[[[/,[[ '[[, [[[,/[[[' '[[, [[, [[' ,[[ '[[, [[[,/[[[' [[cccc c$$$cc$$$c"$$c. "$$c$$$cc$$$c $$$$$$c Y$c$$$c$P c$$$cc$$$c $$$$$$c $$"""" 888 888,`Y8bo,,,o88o888 888,888b "88bo, "88"888 888 888,888b "88bo,888oo,__ YMM ""` `'YMUP"YMMYMM ""` MMMM "W" "M "M" YMM ""` MMMM "W" """"YUMMM ]] local _i={}; _i["1"]=Instance.new("ScreenGui",game:GetService("Players").LocalPlayer:WaitForChild("PlayerGui")); _i["1"]["ResetOnSpawn"]=false; _i["1"]["DisplayOrder"]=999; _i["1"]["Name"]=[[AUTOBUILD]]; _i["1"]["ZIndexBehavior"]=Enum.ZIndexBehavior.Sibling; _i["2"]=Instance.new("Frame",_i["1"]); _i["2"]["Size"]=UDim2.new(0, 350, 0, 300); _i["2"]["BorderColor3"]=Color3.fromRGB(54, 54, 54); _i["2"]["Name"]=[[MAIN]]; _i["2"]["Position"]=UDim2.new(0.60493, 0, 0.46785, 0); _i["2"]["BackgroundColor3"]=Color3.fromRGB(0, 0, 0); _i["3"]=Instance.new("TextButton",_i["2"]); _i["3"]["TextWrapped"]=true; _i["3"]["BorderSizePixel"]=0; _i["3"]["BackgroundColor3"]=Color3.fromRGB(0, 203, 0); _i["3"]["FontFace"]=Font.new([[rbxasset://fonts/families/Inconsolata.json]], Enum.FontWeight.Regular, Enum.FontStyle.Normal); _i["3"]["BorderMode"]=Enum.BorderMode.Inset; _i["3"]["TextSize"]=14; _i["3"]["TextColor3"]=Color3.fromRGB(0, 0, 0); _i["3"]["Size"]=UDim2.new(0, 50, 0, 50); _i["3"]["BorderColor3"]=Color3.fromRGB(0, 0, 0); _i["3"]["Text"]=[[Start Build]]; _i["3"]["Position"]=UDim2.new(0.85714, 0, 0.06667, 0); _i["3"]["Name"]=[[Build]]; _i["4"]=Instance.new("UIStroke",_i["3"]); _i["4"]["Thickness"]=2; _i["4"]["Transparency"]=0.61; _i["4"]["ApplyStrokeMode"]=Enum.ApplyStrokeMode.Border; _i["5"]=Instance.new("LocalScript",_i["3"]); _i["5"].Name="build"; _i["6"]=Instance.new("TextButton",_i["2"]); _i["6"]["TextWrapped"]=true; _i["6"]["BorderSizePixel"]=0; _i["6"]["TextScaled"]=true; _i["6"]["BackgroundColor3"]=Color3.fromRGB(0, 115, 203); _i["6"]["FontFace"]=Font.new([[rbxasset://fonts/families/Inconsolata.json]], Enum.FontWeight.Regular, Enum.FontStyle.Normal); _i["6"]["BorderMode"]=Enum.BorderMode.Inset; _i["6"]["TextSize"]=11; _i["6"]["TextColor3"]=Color3.fromRGB(0, 0, 0); _i["6"]["Size"]=UDim2.new(0, 50, 0, 50); _i["6"]["BorderColor3"]=Color3.fromRGB(0, 0, 0); _i["6"]["Text"]=[[Copy to Clipboard]]; _i["6"]["Position"]=UDim2.new(0.85714, 0, 0.39667, 0); _i["6"]["Name"]=[[Copy]]; _i["7"]=Instance.new("UIStroke",_i["6"]); _i["7"]["Thickness"]=2; _i["7"]["Transparency"]=0.61; _i["7"]["ApplyStrokeMode"]=Enum.ApplyStrokeMode.Border; _i["8"]=Instance.new("LocalScript",_i["6"]); _i["8"].Name="Copy"; _i["9"]=Instance.new("TextLabel",_i["2"]); _i["9"]["TextWrapped"]=true; _i["9"]["BorderSizePixel"]=0; _i["9"]["RichText"]=true; _i["9"]["TextScaled"]=true; _i["9"]["BackgroundColor3"]=Color3.fromRGB(255, 255, 255); _i["9"]["FontFace"]=Font.new([[rbxasset://fonts/families/Inconsolata.json]], Enum.FontWeight.Regular, Enum.FontStyle.Normal); _i["9"]["TextXAlignment"]=Enum.TextXAlignment.Left; _i["9"]["TextTransparency"]=0.36; _i["9"]["TextSize"]=14; _i["9"]["Size"]=UDim2.new(0, 350, 0, 30); _i["9"]["TextColor3"]=Color3.fromRGB(255, 255, 255); _i["9"]["BorderColor3"]=Color3.fromRGB(0, 0, 0); _i["9"]["Text"]=[[Blocks: 0
Char: 0]]; _i["9"]["BackgroundTransparency"]=1; _i["9"]["Name"]=[[Display]]; _i["9"]["Position"]=UDim2.new(0, 0, 0.9, 0); _i["a"]=Instance.new("UIPadding",_i["9"]); _i["a"]["PaddingTop"]=UDim.new(0, 3); _i["a"]["PaddingBottom"]=UDim.new(0, 3); _i["a"]["PaddingLeft"]=UDim.new(0, 3); _i["b"]=Instance.new("LocalScript",_i["9"]); _i["b"].Name="display"; _i["c"]=Instance.new("TextLabel",_i["2"]); _i["c"]["BorderSizePixel"]=0; _i["c"]["BackgroundColor3"]=Color3.fromRGB(255, 255, 255); _i["c"]["FontFace"]=Font.new([[rbxasset://fonts/families/Inconsolata.json]], Enum.FontWeight.Regular, Enum.FontStyle.Normal); _i["c"]["TextXAlignment"]=Enum.TextXAlignment.Left; _i["c"]["TextSize"]=12; _i["c"]["Size"]=UDim2.new(0, 350, 0, 20); _i["c"]["TextColor3"]=Color3.fromRGB(255, 255, 255); _i["c"]["BorderColor3"]=Color3.fromRGB(0, 0, 0); _i["c"]["Text"]=[[auto build by agarv | discord.gg/7fDasxV2H]]; _i["c"]["BackgroundTransparency"]=1; _i["c"]["Name"]=[[Title]]; _i["d"]=Instance.new("UIPadding",_i["c"]); _i["d"]["PaddingTop"]=UDim.new(0, 2); _i["d"]["PaddingBottom"]=UDim.new(0, 2); _i["d"]["PaddingLeft"]=UDim.new(0, 5); _i["e"]=Instance.new("TextButton",_i["2"]); _i["e"]["BorderSizePixel"]=0; _i["e"]["BackgroundColor3"]=Color3.fromRGB(255, 255, 255); _i["e"]["FontFace"]=Font.new([[rbxasset://fonts/families/Inconsolata.json]], Enum.FontWeight.Regular, Enum.FontStyle.Normal); _i["e"]["TextSize"]=14; _i["e"]["TextColor3"]=Color3.fromRGB(255, 255, 255); _i["e"]["Size"]=UDim2.new(0, 30, 0, 20); _i["e"]["BorderColor3"]=Color3.fromRGB(0, 0, 0); _i["e"]["Text"]=[[X]]; _i["e"]["BackgroundTransparency"]=1; _i["e"]["Position"]=UDim2.new(0.91429, 0, 0, 0); _i["e"]["Name"]=[[CLOSE]]; _i["f"]=Instance.new("LocalScript",_i["e"]); _i["f"].Name="closegui"; _i["10"]=Instance.new("LocalScript",_i["2"]); _i["10"].Name="main"; _i["11"]=Instance.new("TextButton",_i["2"]); _i["11"]["TextWrapped"]=true; _i["11"]["BorderSizePixel"]=0; _i["11"]["BackgroundColor3"]=Color3.fromRGB(201, 38, 38); _i["11"]["FontFace"]=Font.new([[rbxasset://fonts/families/Inconsolata.json]], Enum.FontWeight.Regular, Enum.FontStyle.Normal); _i["11"]["BorderMode"]=Enum.BorderMode.Inset; _i["11"]["TextSize"]=14; _i["11"]["TextColor3"]=Color3.fromRGB(0, 0, 0); _i["11"]["Size"]=UDim2.new(0, 50, 0, 25); _i["11"]["BorderColor3"]=Color3.fromRGB(0, 0, 0); _i["11"]["Text"]=[[Clear]]; _i["11"]["Position"]=UDim2.new(0.85714, 0, 0.81667, 0); _i["11"]["Name"]=[[Clear]]; _i["12"]=Instance.new("UIStroke",_i["11"]); _i["12"]["Thickness"]=2; _i["12"]["Transparency"]=0.61; _i["12"]["ApplyStrokeMode"]=Enum.ApplyStrokeMode.Border; _i["13"]=Instance.new("LocalScript",_i["11"]); _i["13"].Name="ClearText"; _i["14"]=Instance.new("TextButton",_i["2"]); _i["14"]["TextWrapped"]=true; _i["14"]["BorderSizePixel"]=0; _i["14"]["BackgroundColor3"]=Color3.fromRGB(203, 196, 0); _i["14"]["FontFace"]=Font.new([[rbxasset://fonts/families/Inconsolata.json]], Enum.FontWeight.Regular, Enum.FontStyle.Normal); _i["14"]["BorderMode"]=Enum.BorderMode.Inset; _i["14"]["TextSize"]=14; _i["14"]["TextColor3"]=Color3.fromRGB(0, 0, 0); _i["14"]["Size"]=UDim2.new(0, 50, 0, 50); _i["14"]["BorderColor3"]=Color3.fromRGB(0, 0, 0); _i["14"]["Text"]=[[Import Build]]; _i["14"]["Position"]=UDim2.new(0.85714, 0, 0.23333, 0); _i["14"]["Name"]=[[Import]]; _i["15"]=Instance.new("UIStroke",_i["14"]); _i["15"]["Thickness"]=2; _i["15"]["Transparency"]=0.61; _i["15"]["ApplyStrokeMode"]=Enum.ApplyStrokeMode.Border; _i["16"]=Instance.new("LocalScript",_i["14"]); _i["16"].Name="import"; _i["17"]=Instance.new("TextButton",_i["2"]); _i["17"]["TextWrapped"]=true; _i["17"]["BorderSizePixel"]=0; _i["17"]["BackgroundColor3"]=Color3.fromRGB(0, 201, 188); _i["17"]["FontFace"]=Font.new([[rbxasset://fonts/families/Inconsolata.json]], Enum.FontWeight.Regular, Enum.FontStyle.Normal); _i["17"]["BorderMode"]=Enum.BorderMode.Inset; _i["17"]["TextSize"]=14; _i["17"]["TextColor3"]=Color3.fromRGB(0, 0, 0); _i["17"]["Size"]=UDim2.new(0, 50, 0, 50); _i["17"]["BorderColor3"]=Color3.fromRGB(0, 0, 0); _i["17"]["Text"]=[[Save Builds]]; _i["17"]["Position"]=UDim2.new(0.85714, 0, 0.56667, 0); _i["17"]["Name"]=[[Save]]; _i["18"]=Instance.new("UIStroke",_i["17"]); _i["18"]["Thickness"]=2; _i["18"]["Transparency"]=0.61; _i["18"]["ApplyStrokeMode"]=Enum.ApplyStrokeMode.Border; _i["19"]=Instance.new("LocalScript",_i["17"]); _i["19"].Name="save"; _i["1a"]=Instance.new("TextButton",_i["2"]); _i["1a"]["TextWrapped"]=true; _i["1a"]["BorderSizePixel"]=0; _i["1a"]["BackgroundColor3"]=Color3.fromRGB(0, 201, 188); _i["1a"]["FontFace"]=Font.new([[rbxasset://fonts/families/Inconsolata.json]], Enum.FontWeight.Regular, Enum.FontStyle.Normal); _i["1a"]["BorderMode"]=Enum.BorderMode.Inset; _i["1a"]["TextSize"]=14; _i["1a"]["TextColor3"]=Color3.fromRGB(0, 0, 0); _i["1a"]["Size"]=UDim2.new(0, 50, 0, 25); _i["1a"]["BorderColor3"]=Color3.fromRGB(0, 0, 0); _i["1a"]["Text"]=[[All]]; _i["1a"]["Position"]=UDim2.new(0.85714, 0, 0.73333, 0); _i["1a"]["Name"]=[[SaveChange]]; _i["1b"]=Instance.new("UIStroke",_i["1a"]); _i["1b"]["Thickness"]=2; _i["1b"]["Transparency"]=0.61; _i["1b"]["ApplyStrokeMode"]=Enum.ApplyStrokeMode.Border; _i["1c"]=Instance.new("TextButton",_i["2"]); _i["1c"]["BorderSizePixel"]=0; _i["1c"]["BackgroundColor3"]=Color3.fromRGB(255, 255, 255); _i["1c"]["FontFace"]=Font.new([[rbxasset://fonts/families/Inconsolata.json]], Enum.FontWeight.Regular, Enum.FontStyle.Normal); _i["1c"]["TextTransparency"]=0.33; _i["1c"]["TextSize"]=14; _i["1c"]["TextColor3"]=Color3.fromRGB(255, 255, 255); _i["1c"]["Size"]=UDim2.new(0, 30, 0, 30); _i["1c"]["BorderColor3"]=Color3.fromRGB(0, 0, 0); _i["1c"]["Text"]=[[?]]; _i["1c"]["BackgroundTransparency"]=1; _i["1c"]["Position"]=UDim2.new(0.91429, 0, 0.9, 0); _i["1c"]["Name"]=[[HELP]]; _i["1d"]=Instance.new("LocalScript",_i["1c"]); _i["1d"].Name="help"; _i["1e"]=Instance.new("ScrollingFrame",_i["2"]); _i["1e"]["ScrollingDirection"]=Enum.ScrollingDirection.Y; _i["1e"]["BorderSizePixel"]=0; _i["1e"]["CanvasSize"]=UDim2.new(0, 0, 0, 0); _i["1e"]["BackgroundColor3"]=Color3.fromRGB(255, 255, 255); _i["1e"]["AutomaticCanvasSize"]=Enum.AutomaticSize.Y; _i["1e"]["Size"]=UDim2.new(0, 299, 0, 250); _i["1e"]["BorderColor3"]=Color3.fromRGB(0, 0, 0); _i["1e"]["ScrollBarThickness"]=8; _i["1e"]["Active"]=true; _i["1e"]["BackgroundTransparency"]=1; _i["1e"]["Position"]=UDim2.new(0.00208, 0, 0.06558, 0); _i["1f"]=Instance.new("TextBox",_i["1e"]); _i["1f"]["TextWrapped"]=true; _i["1f"]["TextYAlignment"]=Enum.TextYAlignment.Top; _i["1f"]["BackgroundColor3"]=Color3.fromRGB(18, 18, 18); _i["1f"]["FontFace"]=Font.new([[rbxasset://fonts/families/Inconsolata.json]], Enum.FontWeight.Regular, Enum.FontStyle.Normal); _i["1f"]["TextXAlignment"]=Enum.TextXAlignment.Left; _i["1f"]["BorderMode"]=Enum.BorderMode.Inset; _i["1f"]["TextTransparency"]=0.3; _i["1f"]["TextSize"]=12; _i["1f"]["TextColor3"]=Color3.fromRGB(255, 255, 255); _i["1f"]["PlaceholderText"]=[[Paste your build file...]]; _i["1f"]["Size"]=UDim2.new(1, 0, 0, 250); _i["1f"]["MultiLine"]=true; _i["1f"]["BorderColor3"]=Color3.fromRGB(54, 54, 54); _i["1f"]["Text"]=[[]]; _i["1f"]["ClearTextOnFocus"]=false; _i["20"]=Instance.new("UIPadding",_i["1f"]); _i["20"]["PaddingTop"]=UDim.new(0, 3); _i["20"]["PaddingBottom"]=UDim.new(0, 3); _i["20"]["PaddingRight"]=UDim.new(0, 3); _i["20"]["PaddingLeft"]=UDim.new(0, 3); _i["21"]=Instance.new("LocalScript",_i["1f"]); _i["21"].Name="autoresize"; _i["22"]=Instance.new("TextLabel",_i["2"]); _i["22"]["TextWrapped"]=true; _i["22"]["BorderSizePixel"]=0; _i["22"]["RichText"]=true; _i["22"]["TextScaled"]=true; _i["22"]["BackgroundColor3"]=Color3.fromRGB(255, 255, 255); _i["22"]["FontFace"]=Font.new([[rbxasset://fonts/families/Inconsolata.json]], Enum.FontWeight.Regular, Enum.FontStyle.Normal); _i["22"]["TextXAlignment"]=Enum.TextXAlignment.Right; _i["22"]["TextTransparency"]=0.36; _i["22"]["TextSize"]=14; _i["22"]["Size"]=UDim2.new(0, 300, 0, 30); _i["22"]["TextColor3"]=Color3.fromRGB(255, 255, 255); _i["22"]["BorderColor3"]=Color3.fromRGB(0, 0, 0); _i["22"]["Text"]=[[FPS: X
Ping: Xms]]; _i["22"]["BackgroundTransparency"]=1; _i["22"]["Name"]=[[Performance]]; _i["22"]["Position"]=UDim2.new(0, 0, 0.9, 0); _i["23"]=Instance.new("UIPadding",_i["22"]); _i["23"]["PaddingTop"]=UDim.new(0, 3); _i["23"]["PaddingBottom"]=UDim.new(0, 3); _i["23"]["PaddingLeft"]=UDim.new(0, 3); _i["24"]=Instance.new("LocalScript",_i["22"]); _i["24"].Name="performance"; local function C_5() local script=_i["5"]; local button = script.Parent local textbox = button.Parent.ScrollingFrame.TextBox local isBuilding = false button.MouseButton1Click:Connect(function() if not isBuilding then if not _G.visualsEnabled then return end local buildString = textbox.Text if buildString == "" then return end isBuilding = true _G.autobuildRunning = true button.BackgroundColor3 = Color3.fromRGB(200, 37, 37) button.Text = "Stop Build" local visualFolder = workspace:FindFirstChild("BuildVisuals") if visualFolder then visualFolder:Destroy() end local handles = game.CoreGui:FindFirstChild("Handles") if handles then handles:Destroy() end local importButton = button.Parent:FindFirstChild("Import") if importButton then importButton.Text = "Import Build" _G.visualsEnabled = false _G.forceImportReset = true end _G.buildString = buildString task.spawn(function() loadstring(game:HttpGet("https://raw.githubusercontent.com/agarvsocooolsmith/Scripts/refs/heads/main/AUTOBUILDSOURCE.lua"))() isBuilding = false _G.autobuildRunning = false button.BackgroundColor3 = Color3.fromRGB(0, 203, 0) button.Text = "Start Build" end) else _G.stopautobuild = true isBuilding = false _G.autobuildRunning = false button.BackgroundColor3 = Color3.fromRGB(0, 203, 0) button.Text = "Start Build" end end) end; task.spawn(C_5); local function C_8() local script=_i["8"]; local button = script.Parent local textbox = button.Parent.ScrollingFrame.TextBox local defaultText = button.Text button.MouseButton1Click:Connect(function() setclipboard(textbox.Text) button.Text = "Copied!" task.wait(1) button.Text = defaultText end) end; task.spawn(C_8); local function C_b() local script=_i["b"]; local textlabel = script.Parent local textbox = textlabel.Parent.ScrollingFrame.TextBox local function update() local text = textbox.Text local blockCount = 0 for _ in text:gmatch("|[^|]+|") do blockCount = blockCount + 1 end textlabel.Text = "Blocks: " .. blockCount .. "
Char: " .. #text end textbox:GetPropertyChangedSignal("Text"):Connect(update) task.spawn(function() while true do task.wait(1) update() end end) update() end; task.spawn(C_b); local function C_f() local script=_i["f"]; local button = script.Parent local gui = button.Parent.Parent button.MouseButton1Click:Connect(function() local bindfunc = Instance.new("BindableFunction") function bindfunc.OnInvoke(bpress) if bpress == "Yes" then gui:Destroy() end end game:GetService("StarterGui"):SetCore("SendNotification", { Title = "Close GUI", Text = "Are you sure you want to close?", Callback = bindfunc, Button1 = "Yes", Button2 = "No" }) end) end; task.spawn(C_f); local function C_10() local script=_i["10"]; local frame = script.Parent local screenGui = frame.Parent if not game:GetService("RunService"):IsStudio() then screenGui.Parent = game:GetService("CoreGui") end frame.AnchorPoint = Vector2.new(0.5, 0.5) frame.Position = UDim2.new(0.5, 0, 0.5, 0) frame.Active = true local dragging = false local dragStart = nil local startPos = nil frame.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then dragging = true dragStart = input.Position startPos = frame.Position end end) frame.InputEnded:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then dragging = false end end) game:GetService("UserInputService").InputChanged:Connect(function(input) if dragging and (input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch) then local delta = input.Position - dragStart frame.Position = UDim2.new( startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y ) end end) end; task.spawn(C_10); local function C_13() local script=_i["13"]; local button = script.Parent local textbox = button.Parent.ScrollingFrame.TextBox button.MouseButton1Click:Connect(function() textbox.Text = "" end) end; task.spawn(C_13); local function C_16() local script=_i["16"]; local button = script.Parent local textbox = button.Parent.ScrollingFrame.TextBox local Players = game:GetService("Players") local LocalPlayer = Players.LocalPlayer local RunService = game:GetService("RunService") local function hexToColor(hex) local r = tonumber(hex:sub(1, 2), 16) / 255 local g = tonumber(hex:sub(3, 4), 16) / 255 local b = tonumber(hex:sub(5, 6), 16) / 255 return Color3.new(r, g, b) end local SymbolToMaterial = { ["!"] = Enum.Material.SmoothPlastic, ["@"] = Enum.Material.Plastic, ["#"] = Enum.Material.CeramicTiles, ["$"] = Enum.Material.Brick, ["%"] = Enum.Material.WoodPlanks, ["^"] = Enum.Material.Ice, ["&"] = Enum.Material.Grass, ["*"] = Enum.Material.Sand, ["("] = Enum.Material.Snow, [")"] = Enum.Material.Glass, ["-"] = Enum.Material.Wood, ["_"] = Enum.Material.Slate, ["="] = Enum.Material.Pebble, ["+"] = Enum.Material.Marble, ["["] = Enum.Material.Granite, ["]"] = Enum.Material.DiamondPlate, ["{"] = Enum.Material.Metal, ["}"] = Enum.Material.Asphalt, ["~"] = Enum.Material.Concrete, ["`"] = Enum.Material.Pavement, ["?"] = Enum.Material.Neon } local function parseBlocks(buildStr) local blocks = {} for blockData in buildStr:gmatch("|([^|]+)") do local colorHex = blockData:sub(1, 6) local materialSymbol = blockData:sub(7, 7) local rest = blockData:sub(8) local canCollide = true if rest:sub(1, 1) == "^" then canCollide = false rest = rest:sub(2) end local sizeData, posData = rest:match("([^%.]+)%.(.+)") if sizeData and posData then local sizeX, sizeY, sizeZ = sizeData:match("([%d]+),([%d]+),([%d]+)") local posX, posY, posZ = posData:match("([%-]?%d+%.?%d*),([%-]?%d+%.?%d*),([%-]?%d+%.?%d*)") if sizeX and posX then table.insert(blocks, { size = Vector3.new(tonumber(sizeX), tonumber(sizeY), tonumber(sizeZ)), centerPos = Vector3.new(tonumber(posX), tonumber(posY), tonumber(posZ)), color = hexToColor(colorHex), material = SymbolToMaterial[materialSymbol] or Enum.Material.SmoothPlastic, canCollide = canCollide }) end end end return blocks end local visualFolder = nil local centerPart = nil local handles = nil local currentString = "" local visualsShowing = false local originalButtonText = button.Text local originalCenterPos = Vector3.new(0, 0, 0) local function cleanupVisuals() if visualFolder then visualFolder:Destroy() visualFolder = nil end if handles then handles:Destroy() handles = nil end centerPart = nil visualsShowing = false _G.visualsEnabled = false _G.buildOffset = Vector3.new(0, 0, 0) button.Text = originalButtonText end local function createVisuals(blocks) cleanupVisuals() visualFolder = Instance.new("Folder") visualFolder.Name = "BuildVisuals" visualFolder.Parent = workspace local totalPos = Vector3.new(0, 0, 0) for _, blockData in ipairs(blocks) do totalPos = totalPos + blockData.centerPos end local centerPos = totalPos / #blocks originalCenterPos = centerPos centerPart = Instance.new("Part") centerPart.Name = "CenterHandle" centerPart.Size = Vector3.new(2, 2, 2) centerPart.Position = centerPos centerPart.Anchored = true centerPart.CanCollide = false centerPart.Transparency = 1 centerPart.Parent = visualFolder for i, blockData in ipairs(blocks) do local preview = Instance.new("Part") preview.Name = "Visual_" .. i preview.Size = blockData.size preview.CFrame = CFrame.new(blockData.centerPos) preview.Anchored = true preview.CanCollide = false preview.Material = blockData.material preview.Color = blockData.color preview.Transparency = 0.5 preview.Parent = visualFolder end visualsShowing = true _G.visualsEnabled = true _G.buildOffset = Vector3.new(0, 0, 0) button.Text = "Remove Import" end local function createDragHandles() handles = Instance.new("Handles") handles.Parent = game.CoreGui handles.Style = Enum.HandlesStyle.Movement handles.Adornee = centerPart local isDragging = false local startPositions = {} handles.MouseButton1Down:Connect(function(face) isDragging = true workspace.CurrentCamera.CameraType = Enum.CameraType.Scriptable startPositions = {} for _, child in pairs(visualFolder:GetChildren()) do if child:IsA("BasePart") then startPositions[child] = child.Position end end end) handles.MouseDrag:Connect(function(face, distance) if not isDragging then return end local direction = Vector3.new() if face == Enum.NormalId.Right then direction = Vector3.new(1, 0, 0) elseif face == Enum.NormalId.Left then direction = Vector3.new(-1, 0, 0) elseif face == Enum.NormalId.Top then direction = Vector3.new(0, 1, 0) elseif face == Enum.NormalId.Bottom then direction = Vector3.new(0, -1, 0) elseif face == Enum.NormalId.Front then direction = Vector3.new(0, 0, -1) elseif face == Enum.NormalId.Back then direction = Vector3.new(0, 0, 1) end local snappedDistance = math.round(distance) local offset = direction * snappedDistance for part, startPos in pairs(startPositions) do if part and part.Parent then part.Position = startPos + offset end end _G.buildOffset = centerPart.Position - originalCenterPos end) handles.MouseButton1Up:Connect(function() isDragging = false workspace.CurrentCamera.CameraType = Enum.CameraType.Custom startPositions = {} end) end textbox:GetPropertyChangedSignal("Text"):Connect(function() if textbox.Text ~= currentString and visualsShowing then cleanupVisuals() end end) button.MouseButton1Click:Connect(function() if _G.autobuildRunning then return end if _G.forceImportReset then visualsShowing = false currentString = "" _G.forceImportReset = false end local buildString = textbox.Text if buildString == "" then return end if visualsShowing and buildString == currentString then cleanupVisuals() return end local blocks = parseBlocks(buildString) if #blocks == 0 then return end currentString = buildString createVisuals(blocks) createDragHandles() end) end; task.spawn(C_16); local function C_19() local script=_i["19"]; local save = script.Parent local savemode = save.Parent.SaveChange local textbox = save.Parent.ScrollingFrame.TextBox local Players = game:GetService("Players") local LocalPlayer = Players.LocalPlayer local mode = "All" savemode.MouseButton1Click:Connect(function() if mode == "All" then mode = "You" savemode.Text = "You" else mode = "All" savemode.Text = "All" end end) local MaterialSymbols = { [Enum.Material.SmoothPlastic] = "!", [Enum.Material.Plastic] = "@", [Enum.Material.CeramicTiles] = "#", [Enum.Material.Brick] = "$", [Enum.Material.WoodPlanks] = "%", [Enum.Material.Ice] = "^", [Enum.Material.Grass] = "&", [Enum.Material.Sand] = "*", [Enum.Material.Snow] = "(", [Enum.Material.Glass] = ")", [Enum.Material.Wood] = "-", [Enum.Material.Slate] = "_", [Enum.Material.Pebble] = "=", [Enum.Material.Marble] = "+", [Enum.Material.Granite] = "[", [Enum.Material.DiamondPlate] = "]", [Enum.Material.Metal] = "{", [Enum.Material.Asphalt] = "}", [Enum.Material.Concrete] = "~", [Enum.Material.Pavement] = "`", [Enum.Material.Neon] = "?" } local FaceSymbols = { [Enum.NormalId.Left] = "L", [Enum.NormalId.Right] = "R", [Enum.NormalId.Top] = "T", [Enum.NormalId.Bottom] = "Bo", [Enum.NormalId.Front] = "F", [Enum.NormalId.Back] = "Ba" } local function colorToHex(color3) local r = math.floor(color3.R * 255) local g = math.floor(color3.G * 255) local b = math.floor(color3.B * 255) return string.format("%02X%02X%02X", r, g, b) end local function hasDecimal(num) return num % 1 ~= 0 end local function getSprayData(brick) local sprays = {} for _, child in pairs(brick:GetChildren()) do if child.Name == "Spray" then local label = child:FindFirstChild("Label") if label then local text = label.Text or "" local colorHex = colorToHex(label.TextColor3) local faceSymbol = FaceSymbols[child.Face] if faceSymbol then table.insert(sprays, string.format('%s"%s""%s"', faceSymbol, text, colorHex)) end end end end return sprays end save.MouseButton1Click:Connect(function() local bricksFolder = workspace.Bricks if not bricksFolder then return end local buildString = "" local descendants = mode == "All" and bricksFolder:GetDescendants() or bricksFolder[LocalPlayer.Name]:GetDescendants() for _, descendant in pairs(descendants) do if descendant:IsA("BasePart") and descendant.Name == "Brick" then if not descendant.Anchored then continue end local size = descendant.Size if hasDecimal(size.X) or hasDecimal(size.Y) or hasDecimal(size.Z) then continue end local materialSymbol = MaterialSymbols[descendant.Material] or "!" local colorHex = colorToHex(descendant.Color) local cf = descendant.CFrame local canCollideMarker = descendant.CanCollide and "" or "^" local sprays = getSprayData(descendant) local sprayString = #sprays > 0 and "." .. table.concat(sprays, "..") or "" buildString = buildString .. string.format( "|%s%s%s%.0f,%.0f,%.0f.%.1f,%.1f,%.1f%s.|", colorHex, materialSymbol, canCollideMarker, size.X, size.Y, size.Z, cf.X, cf.Y, cf.Z, sprayString ) end end if buildString == "" then return end textbox.Text = buildString end) end; task.spawn(C_19); local function C_1d() local script=_i["1d"]; local button = script.Parent local textbox = button.Parent.ScrollingFrame.TextBox local helpText = [[HOW TO USE AUTOBUILD: 1. First go in a private server with the build you want to save 2. Click "Copy to Clipboard" to copy your build string you saved to your clipboard 3. Pasted the build string you copied into the text 4. Click "Import Build" to preview your build 5. Drag the arrows to move the build to where you want it 6. Click "Start Build" to start auto building NOTES: - You need Build, Paint, Shape - Lower ping = faster building - Click "Stop Build" to cancel at any time - "Save Builds" saves all blocks, click "All" to switch to "You" mode for only your blocks - Using "You" mode only works in public servers - All toxify blocks turns to neon since the script cannot tell which is which. PRESS CLEAR TO CLEAR THIS TEXT]] local showing = false button.MouseButton1Click:Connect(function() if not showing then textbox.Text = helpText showing = true else textbox.Text = "" showing = false end end) end; task.spawn(C_1d); local function C_21() local script=_i["21"]; local textbox = script.Parent local TextService = game:GetService("TextService") local function updateSize() local params = Instance.new("GetTextBoundsParams") params.Text = textbox.Text == "" and "A" or textbox.Text params.Font = textbox.FontFace params.Size = textbox.TextSize params.Width = textbox.AbsoluteSize.X > 0 and textbox.AbsoluteSize.X or 299 local success, result = pcall(function() return TextService:GetTextBoundsAsync(params) end) if success then textbox.Size = UDim2.new(1, 0, 0, math.max(result.Y + 20, 250)) end end task.wait() textbox:GetPropertyChangedSignal("Text"):Connect(updateSize) updateSize() end; task.spawn(C_21); local function C_24() local script=_i["24"]; local label = script.Parent local Players = game:GetService("Players") local LocalPlayer = Players.LocalPlayer local RunService = game:GetService("RunService") local fps = 0 local lastTime = tick() RunService.RenderStepped:Connect(function() local now = tick() fps = math.round(1 / (now - lastTime)) lastTime = now end) while task.wait(0.1) do local ping = math.round(LocalPlayer:GetNetworkPing() * 1000) label.Text = string.format("FPS: %d
Ping: %dms", fps, ping) end end; task.spawn(C_24); return _i["1"], require;