B.R.I.C.K.S.
Key Required

B.R.I.C.K.S.

The Chosen OneNotAUSB2763NotAUSB2763 1K views 3.5K executesUpdated Sep 9, 2026
5.0/ 5(1 votes)
10100% Positive
Lua Script•992 lines (36108 chars)
local P, R, T, U = game:GetService("Players"), game:GetService("RunService"), game:GetService("TeleportService"), game:GetService("UserInputService")
local L, M = P.LocalPlayer, P.LocalPlayer:GetMouse()
local AC, CP = nil, {}
local BlasterActive, BlasterConnection = false, nil
local Flying, FlyConnection = false, nil
local CurrentWeapon = "None"

-- Settings & Keybind Defaults
local FlySpeed = 50
local BlockSpeed = 60
local ToggleGUIKey = Enum.KeyCode.RightControl
local FlyKey = Enum.KeyCode.F

-- Safe Staging Area in the Sky
local VOID_SAFE_POS = Vector3.new(0, 50000, 0)

-- Default Color Setup (RGB)
local R_Val, G_Val, B_Val = 0, 170, 255
local SelectedColor = Color3.fromRGB(R_Val, G_Val, B_Val)

local IsPaintActive = false
local IsSlashing = false
local SlashAngle = 0
local LastShotTime = 0
local LastToolUse = 0

local SidesList = {
	Enum.NormalId.Front,
	Enum.NormalId.Right,
	Enum.NormalId.Back,
	Enum.NormalId.Left,
	Enum.NormalId.Top,
	Enum.NormalId.Bottom
}

local PG = L:WaitForChild("PlayerGui")
if PG:FindFirstChild("B") then PG.B:Destroy() end

local S = Instance.new("ScreenGui")
S.Name, S.ResetOnSpawn, S.Parent = "B", false, PG

local F = Instance.new("Frame")
F.Size, F.Position, F.BackgroundColor3, F.Active, F.Draggable, F.Parent = UDim2.new(0, 240, 0, 680), UDim2.new(0, 30, 0, 50), Color3.fromRGB(25, 25, 30), true, true, S
Instance.new("UICorner", F)

-- Title Label
local TL = Instance.new("TextLabel")
TL.Size, TL.BackgroundColor3, TL.TextColor3, TL.Text, TL.TextSize, TL.Font, TL.Parent = UDim2.new(1, 0, 0, 35), Color3.fromRGB(35, 35, 45), Color3.new(1, 1, 1), "B.R.I.C.K.S by: VVoid", 11, Enum.Font.GothamBold, F
Instance.new("UICorner", TL)

-- Destroy UI Button (X)
local CloseBtn = Instance.new("TextButton", F)
CloseBtn.Size, CloseBtn.Position, CloseBtn.BackgroundColor3, CloseBtn.TextColor3, CloseBtn.Text, CloseBtn.TextSize, CloseBtn.Font = UDim2.new(0, 25, 0, 25), UDim2.new(1, -30, 0, 5), Color3.fromRGB(220, 50, 50), Color3.new(1, 1, 1), "X", 12, Enum.Font.GothamBold
Instance.new("UICorner", CloseBtn)

CloseBtn.MouseButton1Click:Connect(function()
	if S then S:Destroy() end
end)

local SF = Instance.new("ScrollingFrame", F)
SF.Size, SF.Position, SF.BackgroundTransparency, SF.CanvasSize, SF.ScrollBarThickness = UDim2.new(0.95, 0, 0, 630), UDim2.new(0.025, 0, 0, 42), 1, UDim2.new(0, 0, 0, 0), 6

local UIList = Instance.new("UIListLayout", SF)
UIList.SortOrder = Enum.SortOrder.LayoutOrder
UIList.Padding = UDim.new(0, 6)

UIList:GetPropertyChangedSignal("AbsoluteContentSize"):Connect(function()
	SF.CanvasSize = UDim2.new(0, 0, 0, UIList.AbsoluteContentSize.Y + 10)
end)

-- Stats Panel
local StatsFrame = Instance.new("Frame", SF)
StatsFrame.Size, StatsFrame.BackgroundColor3, StatsFrame.LayoutOrder = UDim2.new(1, -8, 0, 115), Color3.fromRGB(35, 35, 45), 1
Instance.new("UICorner", StatsFrame)

local function ST(Y, Text)
	local LN = Instance.new("TextLabel", StatsFrame)
	LN.Size, LN.Position, LN.BackgroundTransparency, LN.TextColor3, LN.TextSize, LN.Font, LN.TextXAlignment, LN.TextWrapped = UDim2.new(0.9, 0, 0, 18), UDim2.new(0.05, 0, 0, Y), 1, Color3.fromRGB(200, 220, 255), 11, Enum.Font.GothamMedium, Enum.TextXAlignment.Left, true
	LN.Text = Text
	return LN
end

local PL = ST(5, "Ping: -- ms")
local BL = ST(23, "Bricks: 0")
local PLL = ST(41, "Server Players: 0")
local EL = ST(59, "Enlightened people: Searching...")
EL.Size = UDim2.new(0.9, 0, 0, 50)
EL.TextColor3 = Color3.fromRGB(255, 215, 0)

-- SETTINGS PANEL
local SettingsFrame = Instance.new("Frame", SF)
SettingsFrame.Size, SettingsFrame.BackgroundColor3, SettingsFrame.LayoutOrder = UDim2.new(1, -8, 0, 160), Color3.fromRGB(35, 35, 45), 2
Instance.new("UICorner", SettingsFrame)

local SettingsTitle = Instance.new("TextLabel", SettingsFrame)
SettingsTitle.Size, SettingsTitle.Position, SettingsTitle.BackgroundTransparency, SettingsTitle.TextColor3, SettingsTitle.Text, SettingsTitle.TextSize, SettingsTitle.Font = UDim2.new(1, 0, 0, 20), UDim2.new(0, 0, 0, 5), 1, Color3.new(1, 1, 1), "Settings & Configuration", 11, Enum.Font.GothamBold

local function CreateSettingInput(yOffset, labelText, defaultVal)
	local label = Instance.new("TextLabel", SettingsFrame)
	label.Size, label.Position, label.BackgroundTransparency, label.TextColor3, label.Text, label.TextSize, label.Font, label.TextXAlignment = UDim2.new(0.6, 0, 0, 22), UDim2.new(0.05, 0, 0, yOffset), 1, Color3.fromRGB(200, 220, 255), labelText, 10, Enum.Font.GothamMedium, Enum.TextXAlignment.Left
	
	local box = Instance.new("TextBox", SettingsFrame)
	box.Size, box.Position, box.BackgroundColor3, box.TextColor3, box.Text, box.TextSize, box.Font = UDim2.new(0.3, 0, 0, 22), UDim2.new(0.65, 0, 0, yOffset), Color3.fromRGB(45, 45, 55), Color3.new(1, 1, 1), tostring(defaultVal), 10, Enum.Font.GothamMedium
	Instance.new("UICorner", box)
	return box
end

local FlySpeedBox = CreateSettingInput(30, "Fly Speed:", FlySpeed)
local BlockSpeedBox = CreateSettingInput(60, "Block Move Speed:", BlockSpeed)

local FlyKeyBtn = Instance.new("TextButton", SettingsFrame)
FlyKeyBtn.Size, FlyKeyBtn.Position, FlyKeyBtn.BackgroundColor3, FlyKeyBtn.TextColor3, FlyKeyBtn.Text, FlyKeyBtn.TextSize, FlyKeyBtn.Font = UDim2.new(0.3, 0, 0, 22), UDim2.new(0.65, 0, 0, 90), Color3.fromRGB(45, 45, 55), Color3.new(1, 1, 1), FlyKey.Name, 10, Enum.Font.GothamMedium
Instance.new("UICorner", FlyKeyBtn)

local FlyKeyLabel = Instance.new("TextLabel", SettingsFrame)
FlyKeyLabel.Size, FlyKeyLabel.Position, FlyKeyLabel.BackgroundTransparency, FlyKeyLabel.TextColor3, FlyKeyLabel.Text, FlyKeyLabel.TextSize, FlyKeyLabel.Font, FlyKeyLabel.TextXAlignment = UDim2.new(0.6, 0, 0, 22), UDim2.new(0.05, 0, 0, 90), 1, Color3.fromRGB(200, 220, 255), "Fly Keybind:", 10, Enum.Font.GothamMedium, Enum.TextXAlignment.Left

local ToggleGUIBtn = Instance.new("TextButton", SettingsFrame)
ToggleGUIBtn.Size, ToggleGUIBtn.Position, ToggleGUIBtn.BackgroundColor3, ToggleGUIBtn.TextColor3, ToggleGUIBtn.Text, ToggleGUIBtn.TextSize, ToggleGUIBtn.Font = UDim2.new(0.3, 0, 0, 22), UDim2.new(0.65, 0, 0, 120), Color3.fromRGB(45, 45, 55), Color3.new(1, 1, 1), ToggleGUIKey.Name, 10, Enum.Font.GothamMedium
Instance.new("UICorner", ToggleGUIBtn)

local ToggleGUILabel = Instance.new("TextLabel", SettingsFrame)
ToggleGUILabel.Size, ToggleGUILabel.Position, ToggleGUILabel.BackgroundTransparency, ToggleGUILabel.TextColor3, ToggleGUILabel.Text, ToggleGUILabel.TextSize, ToggleGUILabel.Font, ToggleGUILabel.TextXAlignment = UDim2.new(0.6, 0, 0, 22), UDim2.new(0.05, 0, 0, 120), 1, Color3.fromRGB(200, 220, 255), "Hide/Show UI Key:", 10, Enum.Font.GothamMedium, Enum.TextXAlignment.Left

-- Setting Input Updates
FlySpeedBox.FocusLost:Connect(function()
	local val = tonumber(FlySpeedBox.Text)
	if val then FlySpeed = val else FlySpeedBox.Text = tostring(FlySpeed) end
end)

BlockSpeedBox.FocusLost:Connect(function()
	local val = tonumber(BlockSpeedBox.Text)
	if val then BlockSpeed = val else BlockSpeedBox.Text = tostring(BlockSpeed) end
end)

-- Keybind Listening Mechanics
local listeningFly = false
local listeningToggle = false

FlyKeyBtn.MouseButton1Click:Connect(function()
	listeningFly = true
	listeningToggle = false
	FlyKeyBtn.Text = "Press Key..."
end)

ToggleGUIBtn.MouseButton1Click:Connect(function()
	listeningToggle = true
	listeningFly = false
	ToggleGUIBtn.Text = "Press Key..."
end)

local ToggleFlyFunction

U.InputBegan:Connect(function(input, gpe)
	if input.UserInputType == Enum.UserInputType.Keyboard then
		if listeningFly then
			FlyKey = input.KeyCode
			FlyKeyBtn.Text = FlyKey.Name
			listeningFly = false
			return
		elseif listeningToggle then
			ToggleGUIKey = input.KeyCode
			ToggleGUIBtn.Text = ToggleGUIKey.Name
			listeningToggle = false
			return
		end
		
		if not gpe then
			if input.KeyCode == ToggleGUIKey then
				F.Visible = not F.Visible
			elseif input.KeyCode == FlyKey then
				if ToggleFlyFunction then ToggleFlyFunction() end
			end
		end
	end
end)

-- RGB COLOR PICKER FRAME
local ColorPickerFrame = Instance.new("Frame", SF)
ColorPickerFrame.Size, ColorPickerFrame.BackgroundColor3, ColorPickerFrame.LayoutOrder = UDim2.new(1, -8, 0, 85), Color3.fromRGB(35, 35, 45), 3
Instance.new("UICorner", ColorPickerFrame)

local ColorTitle = Instance.new("TextLabel", ColorPickerFrame)
ColorTitle.Size, ColorTitle.Position, ColorTitle.BackgroundTransparency, ColorTitle.TextColor3, ColorTitle.Text, ColorTitle.TextSize, ColorTitle.Font = UDim2.new(1, 0, 0, 20), UDim2.new(0, 0, 0, 5), 1, Color3.new(1, 1, 1), "RGB Color Customizer (0 - 255)", 11, Enum.Font.GothamBold

local ColorPreview = Instance.new("Frame", ColorPickerFrame)
ColorPreview.Size, ColorPreview.Position, ColorPreview.BackgroundColor3 = UDim2.new(0, 50, 0, 30), UDim2.new(1, -60, 0, 35), SelectedColor
Instance.new("UICorner", ColorPreview)

local ColorPreviewText = Instance.new("TextLabel", ColorPreview)
ColorPreviewText.Size, ColorPreviewText.BackgroundTransparency, ColorPreviewText.TextColor3, ColorPreviewText.Text, ColorPreviewText.TextSize, ColorPreviewText.Font = UDim2.new(1, 0, 1, 0), 1, Color3.new(1, 1, 1), "Color", 9, Enum.Font.GothamBold

local function CreateRGBBox(xOffset, defaultVal, placeholder, labelText, textColor)
	local label = Instance.new("TextLabel", ColorPickerFrame)
	label.Size, label.Position, label.BackgroundTransparency, label.TextColor3, label.Text, label.TextSize, label.Font = UDim2.new(0, 45, 0, 12), UDim2.new(0, xOffset, 0, 30), 1, textColor, labelText, 10, Enum.Font.GothamBold
	
	local box = Instance.new("TextBox", ColorPickerFrame)
	box.Size, box.Position, box.BackgroundColor3, box.TextColor3, box.Text, box.PlaceholderText, box.TextSize, box.Font = UDim2.new(0, 45, 0, 25), UDim2.new(0, xOffset, 0, 45), Color3.fromRGB(45, 45, 55), Color3.new(1, 1, 1), tostring(defaultVal), placeholder, 11, Enum.Font.GothamMedium
	Instance.new("UICorner", box)
	return box
end

local R_Box = CreateRGBBox(10, R_Val, "R", "R", Color3.fromRGB(255, 100, 100))
local G_Box = CreateRGBBox(60, G_Val, "G", "G", Color3.fromRGB(100, 255, 100))
local B_Box = CreateRGBBox(110, B_Val, "B", "B", Color3.fromRGB(100, 150, 255))

local function UpdateColorFromRGB()
	local r = math.clamp(tonumber(R_Box.Text) or 0, 0, 255)
	local g = math.clamp(tonumber(G_Box.Text) or 0, 0, 255)
	local b = math.clamp(tonumber(B_Box.Text) or 0, 0, 255)
	
	SelectedColor = Color3.fromRGB(r, g, b)
	ColorPreview.BackgroundColor3 = SelectedColor
end

R_Box:GetPropertyChangedSignal("Text"):Connect(UpdateColorFromRGB)
G_Box:GetPropertyChangedSignal("Text"):Connect(UpdateColorFromRGB)
B_Box:GetPropertyChangedSignal("Text"):Connect(UpdateColorFromRGB)

-- Text Controls
local InputFrame = Instance.new("Frame", SF)
InputFrame.Size, InputFrame.BackgroundTransparency, InputFrame.LayoutOrder = UDim2.new(1, -8, 0, 32), 1, 4

local WI = Instance.new("TextBox", InputFrame)
WI.Size, WI.Position, WI.BackgroundColor3, WI.TextColor3, WI.Text, WI.PlaceholderText = UDim2.new(0.48, 0, 1, 0), UDim2.new(0, 0, 0, 0), Color3.fromRGB(45, 45, 55), Color3.new(1, 1, 1), "", "Target Player"
Instance.new("UICorner", WI)

local NB = Instance.new("TextBox", InputFrame)
NB.Size, NB.Position, NB.BackgroundColor3, NB.TextColor3, NB.Text, NB.PlaceholderText = UDim2.new(0.48, 0, 1, 0), UDim2.new(0.52, 0, 0, 0), Color3.fromRGB(45, 45, 55), Color3.new(1, 1, 1), "ALL", "Max Blocks"
Instance.new("UICorner", NB)

local currentOrder = 5
local function BTN(TXT, COL)
	currentOrder = currentOrder + 1
	local B = Instance.new("TextButton", SF)
	B.Size, B.BackgroundColor3, B.TextColor3, B.Text, B.TextSize, B.Font, B.LayoutOrder = UDim2.new(1, -8, 0, 32), COL, Color3.new(1, 1, 1), TXT, 12, Enum.Font.GothamMedium, currentOrder
	Instance.new("UICorner", B)
	return B
end

-- Command Buttons
local TPaintBtn = BTN("Paint Blocks: OFF", Color3.fromRGB(150, 50, 50))
local TStickMan = BTN("Animated Stickman Morph", Color3.fromRGB(180, 70, 210))
local TRifle = BTN("Weapon: Equip Rifle", Color3.fromRGB(70, 140, 210))
local TSword = BTN("Weapon: Equip Sword", Color3.fromRGB(210, 120, 50))
local TFly = BTN("Toggle Fly", Color3.fromRGB(50, 160, 220))
local TFollow = BTN("Follow Selected Target", Color3.fromRGB(40, 180, 120))
local TBlaster = BTN("Toggle Brick Blaster", Color3.fromRGB(220, 50, 80))
local THelix = BTN("DNA Helix", Color3.fromRGB(80, 180, 220))
local TTornado = BTN("Tornado Launch", Color3.fromRGB(200, 120, 40))
local TD = BTN("Toggle Draw Mode", Color3.fromRGB(40, 120, 220))
local TV = BTN("Server Vortex", Color3.fromRGB(180, 80, 220))
local TR = BTN("Server Rain", Color3.fromRGB(220, 140, 40))
local TOrbit = BTN("Orbit Target", Color3.fromRGB(140, 60, 170))
local TShield = BTN("Shield Target", Color3.fromRGB(60, 170, 140))
local TFL = BTN("Fling Target", Color3.fromRGB(220, 90, 40))
local TST = BTN("Send Blocks to High Void", Color3.fromRGB(200, 60, 60))
local TReset = BTN("Reset Character", Color3.fromRGB(180, 50, 50))
local TRejoin = BTN("Rejoin Server", Color3.fromRGB(100, 100, 110))

-- Global Noclip Loop
R.Stepped:Connect(function()
	if L.Character then
		for _, part in ipairs(L.Character:GetDescendants()) do
			if part:IsA("BasePart") then
				part.CanCollide = false
			end
		end
	end
end)

-- Target Helpers
local function GET_TARGET()
	local query = WI.Text:lower():gsub("%s+", "")
	if query ~= "" then
		for _, p in ipairs(P:GetPlayers()) do
			if p.Name:lower():sub(1, #query) == query or p.DisplayName:lower():sub(1, #query) == query then
				return p
			end
		end
	end
	return L
end

local function GET_TARGET_POS()
	local t = GET_TARGET()
	if t and t.Character and t.Character:FindFirstChild("HumanoidRootPart") then
		return t.Character.HumanoidRootPart.Position, t.Character.HumanoidRootPart
	end
	return (L.Character and L.Character:FindFirstChild("HumanoidRootPart")) and L.Character.HumanoidRootPart.Position or Vector3.zero, nil
end

local function GETLIMIT()
	local V = tonumber(NB.Text)
	return V and math.max(1, V) or math.huge
end

local function GetBlockLerpSpeed()
	return math.clamp(BlockSpeed / 100, 0.05, 1)
end

-- Fixes Physics Jitter: Cleans up conflicting forces and resets momentum
local function NeutralizePhysics(part)
	if not part or not part.Parent then return end
	part.CanCollide = false
	part.Anchored = false
	part.AssemblyLinearVelocity = Vector3.zero
	part.AssemblyAngularVelocity = Vector3.zero
	
	local oldAnchor = part:FindFirstChild("VoidAnchor")
	if oldAnchor then oldAnchor:Destroy() end
end

-- Send idle blocks high into the sky/void smoothly
local function HoldBlocksInVoid()
	if AC then AC:Disconnect() AC = nil end
	
	AC = R.RenderStepped:Connect(function()
		for i, PRT in ipairs(CP) do
			if PRT and PRT.Parent then
				NeutralizePhysics(PRT)
				local targetCF = CFrame.new(VOID_SAFE_POS + Vector3.new((i % 10) * 4, math.floor(i / 10) * 4, 0))
				PRT.CFrame = PRT.CFrame:Lerp(targetCF, GetBlockLerpSpeed())
			end
		end
	end)
end

-- Paint Block Mechanics
local function ForcePaintBlockServerSided(part)
	local char = L.Character
	local bp = L:FindFirstChildOfClass("Backpack")
	local hum = char and char:FindFirstChildOfClass("Humanoid")
	local hrp = char and char:FindFirstChild("HumanoidRootPart")
	
	local Dtool = (bp and bp:FindFirstChild("Paint")) or (char and char:FindFirstChild("Paint"))
	if not Dtool or not hrp then return end

	if Dtool.Parent == bp and hum then
		hum:EquipTool(Dtool)
	end

	local scriptFolder = Dtool:FindFirstChild("Script")
	local event = scriptFolder and scriptFolder:FindFirstChild("Event")
	
	if event then
		local prevPos = hrp.CFrame
		hrp.CFrame = part.CFrame
		
		local randomSide = SidesList[math.random(1, #SidesList)]
		event:FireServer(part, randomSide, part.Position, "both 🤝", SelectedColor, "", "")
		Dtool:Activate()
		
		hrp.CFrame = prevPos
	end
end

TPaintBtn.MouseButton1Click:Connect(function()
	IsPaintActive = not IsPaintActive
	if IsPaintActive then
		TPaintBtn.Text = "Paint Blocks: ON"
		TPaintBtn.BackgroundColor3 = Color3.fromRGB(50, 180, 50)
	else
		TPaintBtn.Text = "Paint Blocks: OFF"
		TPaintBtn.BackgroundColor3 = Color3.fromRGB(150, 50, 50)
	end
end)

-- Part Validation
local function VLD(O)
	if not (O:IsA("BasePart") and not O.Anchored) then return false end
	if O:FindFirstAncestorOfClass("Model") and O:FindFirstAncestorOfClass("Model"):FindFirstChildOfClass("Humanoid") then
		return false
	end
	for _, p in ipairs(P:GetPlayers()) do
		if p.Character and O:IsDescendantOf(p.Character) then
			return false
		end
	end
	return true
end

-- Block Processing Loop
local function CC()
	local newCP = {}
	local LIM = GETLIMIT()
	for _, O in ipairs(workspace:GetDescendants()) do
		if #newCP >= LIM then break end
		if VLD(O) then 
			pcall(function()
				NeutralizePhysics(O)
				if O:IsA("BasePart") and O.ReceiveAge then
					O:SetNetworkOwner(L)
				end
			end)
			table.insert(newCP, O) 
		end
	end
	CP = newCP

	if IsPaintActive and (os.clock() - LastToolUse > 0.1) then
		LastToolUse = os.clock()
		for _, part in ipairs(CP) do
			ForcePaintBlockServerSided(part)
		end
	end
end

local function SET_CHARACTER_VISIBILITY(visible)
	local C = L.Character
	if not C then return end
	for _, p in ipairs(C:GetDescendants()) do
		if p:IsA("BasePart") and p.Name ~= "HumanoidRootPart" then
			p.Transparency = visible and 0 or 1
		elseif p:IsA("Decal") then
			p.Transparency = visible and 0 or 1
		end
	end
end

local function RESET_CAMERA()
	local Cam = workspace.CurrentCamera
	if Cam then
		Cam.CameraType = Enum.CameraType.Custom
		if L.Character and L.Character:FindFirstChildOfClass("Humanoid") then
			Cam.CameraSubject = L.Character:FindFirstChildOfClass("Humanoid")
		end
	end
end

local function STOP()
	if BlasterConnection then BlasterConnection:Disconnect() BlasterConnection = nil end
	BlasterActive = false
	CurrentWeapon = "None"
	IsSlashing = false
	SET_CHARACTER_VISIBILITY(true)
	RESET_CAMERA()
	
	HoldBlocksInVoid()
end

local function HasArkstone(player)
	if not player then return false end
	local bp = player:FindFirstChildOfClass("Backpack")
	if bp and bp:FindFirstChild("The Arkstone") then return true end
	if player.Character and player.Character:FindFirstChild("The Arkstone") then return true end
	return false
end

-- Main Loop
task.spawn(function()
	HoldBlocksInVoid()
	while task.wait(0.5) and S.Parent do
		pcall(function()
			CC()

			PL.Text = "Ping: " .. math.round(L:GetNetworkPing() * 1000) .. " ms"
			BL.Text = "Bricks Found: " .. #CP
			PLL.Text = "Server Players: " .. #P:GetPlayers()

			local enlightenedList = {}
			for _, player in ipairs(P:GetPlayers()) do
				if HasArkstone(player) then
					table.insert(enlightenedList, player.DisplayName .. " (@" .. player.Name .. ")")
				end
			end

			if #enlightenedList > 0 then
				EL.Text = "Enlightened people:\n" .. table.concat(enlightenedList, ", ")
			else
				EL.Text = "Enlightened people: None"
			end
		end)
	end
end)

-- Floor Detection
local function GetFloorDistance(originPos, ignoreChar)
	if not originPos or typeof(originPos) ~= "Vector3" then return 0 end
	local raycastParams = RaycastParams.new()
	pcall(function() raycastParams.FilterType = Enum.RaycastFilterType.Exclude end)
	local filterList = {}
	if ignoreChar then table.insert(filterList, ignoreChar) end
	for _, p in ipairs(CP) do table.insert(filterList, p) end
	raycastParams.FilterDescendantsInstances = filterList

	local success, rayResult = pcall(function()
		return workspace:Raycast(originPos, Vector3.new(0, -30, 0), raycastParams)
	end)

	if success and rayResult then return rayResult.Position.Y end
	return originPos.Y - 14
end

TRifle.MouseButton1Click:Connect(function() CurrentWeapon = (CurrentWeapon == "Rifle") and "None" or "Rifle" end)
TSword.MouseButton1Click:Connect(function() CurrentWeapon = (CurrentWeapon == "Sword") and "None" or "Sword" end)

local function FlingPlayer(targetChar, launchVector)
	if not targetChar then return end
	local root = targetChar:FindFirstChild("HumanoidRootPart")
	if not root then return end

	task.spawn(function()
		local duration = 0.5
		local startTime = os.clock()
		while os.clock() - startTime < duration do
			for _, part in ipairs(CP) do
				if part and part.Parent then
					part.CFrame = root.CFrame
					part.AssemblyLinearVelocity = launchVector * (BlockSpeed / 60)
				end
			end
			task.wait()
		end
	end)
end

local function ShootRifleBullet()
	if #CP < 5 or os.clock() - LastShotTime < 0.25 then return end
	LastShotTime = os.clock()

	local bulletPart = CP[#CP]
	local root = L.Character and L.Character:FindFirstChild("HumanoidRootPart")
	if not root or not bulletPart then return end

	local startPos = root.Position + Vector3.new(0, 2, 0)
	local targetPos = M.Hit.Position
	local direction = (targetPos - startPos).Unit

	bulletPart.CFrame = CFrame.new(startPos, startPos + direction)
	bulletPart.AssemblyLinearVelocity = direction * (BlockSpeed * 8)

	local conn
	conn = bulletPart.Touched:Connect(function(hit)
		local char = hit.Parent
		local hum = char and char:FindFirstChildOfClass("Humanoid")
		if hum and char ~= L.Character then
			conn:Disconnect()
			FlingPlayer(char, Vector3.new(math.random(-5000, 5000), 10000, math.random(-5000, 5000)))
		end
	end)

	task.delay(1.5, function() if conn then conn:Disconnect() end end)
end

local function PerformSwordSlash()
	if IsSlashing or #CP < 5 then return end
	IsSlashing = true

	task.spawn(function()
		local duration = 0.25
		local startTime = os.clock()
		
		while os.clock() - startTime < duration do
			local progress = (os.clock() - startTime) / duration
			SlashAngle = math.rad(-110 + (progress * 220))

			local root = L.Character and L.Character:FindFirstChild("HumanoidRootPart")
			if root then
				for _, p in ipairs(P:GetPlayers()) do
					if p ~= L and p.Character and p.Character:FindFirstChild("HumanoidRootPart") then
						local targetRoot = p.Character.HumanoidRootPart
						if (targetRoot.Position - root.Position).Magnitude < 18 then
							FlingPlayer(p.Character, Vector3.new(math.random(-4000, 4000), 30000, math.random(-4000, 4000)))
						end
					end
				end
			end
			task.wait()
		end

		SlashAngle = 0
		IsSlashing = false
	end)
end

U.InputBegan:Connect(function(input, gpe)
	if gpe then return end
	if input.UserInputType == Enum.UserInputType.MouseButton1 then
		if CurrentWeapon == "Rifle" then ShootRifleBullet()
		elseif CurrentWeapon == "Sword" then PerformSwordSlash() end
	end
end)

-- Animated Stickman Morph Mode
TStickMan.MouseButton1Click:Connect(function()
	if AC then AC:Disconnect() AC = nil end
	CC()
	if #CP == 0 then return end
	SET_CHARACTER_VISIBILITY(false)
	
	local function generateLine(p1, p2, count)
		local pts = {}
		for i = 1, count do
			local t = (i - 1) / math.max(1, count - 1)
			table.insert(pts, p1:Lerp(p2, t))
		end
		return pts
	end

	local function generateCircle(center, radius, count)
		local pts = {}
		for i = 1, count do
			local angle = (i / count) * math.pi * 2
			table.insert(pts, center + Vector3.new(math.cos(angle) * radius, math.sin(angle) * radius, 0))
		end
		return pts
	end

	local animTime = 0
	local Cam = workspace.CurrentCamera

	AC = R.RenderStepped:Connect(function(dt)
		local C = L.Character
		local Root = C and C:FindFirstChild("HumanoidRootPart")
		local Hum = C and C:FindFirstChildOfClass("Humanoid")
		if not Root or not Hum then return end
		
		SET_CHARACTER_VISIBILITY(false)
		animTime = animTime + dt
		
		local velocity = Root.AssemblyLinearVelocity
		local speed = Vector3.new(velocity.X, 0, velocity.Z).Magnitude
		local state = Hum:GetState()
		local isMoving = speed > 0.5
		
		local groundY = GetFloorDistance(Root.Position, C)
		local currentLowestFootY = Root.Position.Y - 12
		local groundOffset = math.max(0, groundY - currentLowestFootY)
		
		local headCenter = Vector3.new(0, 16 + groundOffset, 0)
		local neck = Vector3.new(0, 12 + groundOffset, 0)
		local pelvis = Vector3.new(0, 1 + groundOffset, 0)
		
		local leftHand, rightHand, leftFoot, rightFoot
		
		if state == Enum.HumanoidStateType.Jumping or velocity.Y > 2 then
			leftHand = neck + Vector3.new(-10, 8, 2)
			rightHand = neck + Vector3.new(10, 8, 2)
			leftFoot = pelvis + Vector3.new(-6, -3, 4)
			rightFoot = pelvis + Vector3.new(6, -3, -2)
		elseif state == Enum.HumanoidStateType.Freefall or velocity.Y < -2 then
			leftHand = neck + Vector3.new(-12, 12, -2)
			rightHand = neck + Vector3.new(12, 12, -2)
			leftFoot = pelvis + Vector3.new(-5, -8, -2)
			rightFoot = pelvis + Vector3.new(5, -8, 2)
		else
			local cycleSpeed = math.clamp(speed * 0.8, 4, 12)
			local swingAngle = isMoving and math.sin(animTime * cycleSpeed) * 0.8 or math.sin(animTime * 2) * 0.05
			
			leftHand = neck + Vector3.new(-10 * math.cos(swingAngle), -8 * math.sin(swingAngle) - 2, math.sin(swingAngle) * 6)
			rightHand = neck + Vector3.new(10 * math.cos(-swingAngle), -8 * math.sin(-swingAngle) - 2, math.sin(-swingAngle) * 6)
			
			local leftFootY = math.max(-11, -11 * math.cos(swingAngle))
			local rightFootY = math.max(-11, -11 * math.cos(-swingAngle))
			leftFoot = pelvis + Vector3.new(-4, leftFootY, math.sin(swingAngle) * 8)
			rightFoot = pelvis + Vector3.new(4, rightFootY, math.sin(-swingAngle) * 8)
		end

		if CurrentWeapon == "Rifle" then
			rightHand = neck + Vector3.new(4, 0, -4)
			leftHand = neck + Vector3.new(-2, -2, -10)
		elseif CurrentWeapon == "Sword" then
			if IsSlashing then
				rightHand = neck + Vector3.new(math.sin(SlashAngle) * 14, math.cos(SlashAngle) * 2, -10)
			else
				rightHand = neck + Vector3.new(8, 8, -4)
			end
		end

		local totalBlocks = #CP
		local headCount = math.clamp(math.floor(totalBlocks * 0.20), 8, 28)
		local spineCount = math.clamp(math.floor(totalBlocks * 0.15), 5, 16)
		local armCount = math.clamp(math.floor(totalBlocks * 0.10), 4, 12)
		local legCount = math.clamp(math.floor(totalBlocks * 0.12), 4, 15)

		local skeletonPoints = {}
		for _, p in ipairs(generateCircle(headCenter, 4.5, headCount)) do table.insert(skeletonPoints, p) end
		for _, p in ipairs(generateLine(neck, pelvis, spineCount)) do table.insert(skeletonPoints, p) end
		for _, p in ipairs(generateLine(neck, leftHand, armCount)) do table.insert(skeletonPoints, p) end
		for _, p in ipairs(generateLine(neck, rightHand, armCount)) do table.insert(skeletonPoints, p) end
		for _, p in ipairs(generateLine(pelvis, leftFoot, legCount)) do table.insert(skeletonPoints, p) end
		for _, p in ipairs(generateLine(pelvis, rightFoot, legCount)) do table.insert(skeletonPoints, p) end

		local weaponPoints = {}
		if CurrentWeapon == "Rifle" then
			for _, p in ipairs(generateLine(rightHand + Vector3.new(0, 0, 0), rightHand + Vector3.new(0, 0, -14), 10)) do table.insert(weaponPoints, p) end
			for _, p in ipairs(generateLine(rightHand + Vector3.new(0, 0, 0), rightHand + Vector3.new(0, -2, 6), 5)) do table.insert(weaponPoints, p) end
			for _, p in ipairs(generateLine(rightHand + Vector3.new(0, -1, -5), rightHand + Vector3.new(0, -6, -5), 4)) do table.insert(weaponPoints, p) end
		elseif CurrentWeapon == "Sword" then
			if IsSlashing then
				local bladeTip = rightHand + Vector3.new(math.sin(SlashAngle) * 18, math.cos(SlashAngle) * 6, -14)
				for _, p in ipairs(generateLine(rightHand, bladeTip, 14)) do table.insert(weaponPoints, p) end
				local trailTip = rightHand + Vector3.new(math.sin(SlashAngle - 0.3) * 15, math.cos(SlashAngle - 0.3) * 4, -12)
				for _, p in ipairs(generateLine(rightHand, trailTip, 6)) do table.insert(weaponPoints, p) end
			else
				local swordDir = Vector3.new(0, 14, -4)
				for _, p in ipairs(generateLine(rightHand, rightHand + swordDir, 12)) do table.insert(weaponPoints, p) end
				table.insert(weaponPoints, rightHand + Vector3.new(-2, 1, 0))
				table.insert(weaponPoints, rightHand + Vector3.new(2, 1, 0))
			end
		end

		local rootCF = Root.CFrame
		local skelLen = #skeletonPoints
		local weapLen = #weaponPoints

		for i, PRT in ipairs(CP) do
			if PRT and PRT.Parent then
				NeutralizePhysics(PRT)
				local baseOffset
				if i <= skelLen or weapLen == 0 then
					local pointIndex = ((i - 1) % skelLen) + 1
					baseOffset = skeletonPoints[pointIndex]
				else
					local weaponIndex = ((i - skelLen - 1) % weapLen) + 1
					baseOffset = weaponPoints[weaponIndex]
				end

				local targetCF = rootCF * CFrame.new(baseOffset)
				PRT.CFrame = PRT.CFrame:Lerp(targetCF, GetBlockLerpSpeed())
			end
		end

		if Cam then
			Cam.CameraType = Enum.CameraType.Custom
			Hum.CameraOffset = Vector3.new(0, 14, 0)
		end
	end)
end)

ToggleFlyFunction = function()
	Flying = not Flying
	if FlyConnection then FlyConnection:Disconnect() FlyConnection = nil end
	
	local C = L.Character
	local Root = C and C:FindFirstChild("HumanoidRootPart")
	local Hum = C and C:FindFirstChildOfClass("Humanoid")
	
	if not Flying or not Root or not Hum then
		if Hum then Hum.PlatformStand = false end
		return
	end
	
	Hum.PlatformStand = true
	FlyConnection = R.RenderStepped:Connect(function(dt)
		if not Flying or not Root or not Hum then
			if Hum then Hum.PlatformStand = false end
			if FlyConnection then FlyConnection:Disconnect() end
			return
		end
		
		local CamCF = workspace.CurrentCamera.CFrame
		local MoveVec = Vector3.zero
		
		if U:IsKeyDown(Enum.KeyCode.W) then MoveVec = MoveVec + CamCF.LookVector end
		if U:IsKeyDown(Enum.KeyCode.S) then MoveVec = MoveVec - CamCF.LookVector end
		if U:IsKeyDown(Enum.KeyCode.A) then MoveVec = MoveVec - CamCF.RightVector end
		if U:IsKeyDown(Enum.KeyCode.D) then MoveVec = MoveVec + CamCF.RightVector end
		if U:IsKeyDown(Enum.KeyCode.Space) then MoveVec = MoveVec + Vector3.new(0, 1, 0) end
		if U:IsKeyDown(Enum.KeyCode.LeftShift) then MoveVec = MoveVec - Vector3.new(0, 1, 0) end
		
		Root.AssemblyLinearVelocity = Vector3.zero
		Root.CFrame = Root.CFrame + (MoveVec * (FlySpeed * dt))
	end)
end

TFly.MouseButton1Click:Connect(ToggleFlyFunction)

TFollow.MouseButton1Click:Connect(function()
	if AC then AC:Disconnect() AC = nil end
	CC()
	local A = 0
	AC = R.RenderStepped:Connect(function()
		local Center = GET_TARGET_POS()
		A = A + 0.03
		for i, PRT in ipairs(CP) do
			if PRT and PRT.Parent then
				NeutralizePhysics(PRT)
				local angle = A + (i * (math.pi * 2 / #CP))
				local offset = Vector3.new(math.cos(angle) * 6, 2 + math.sin(i + A) * 2, math.sin(angle) * 6)
				local targetCF = CFrame.new(Center + offset)
				PRT.CFrame = PRT.CFrame:Lerp(targetCF, GetBlockLerpSpeed())
			end
		end
	end)
end)

TBlaster.MouseButton1Click:Connect(function()
	if AC then AC:Disconnect() AC = nil end
	CC()
	if #CP < 2 then return end
	
	BlasterActive = true
	local currentBulletIndex = 1
	
	AC = R.RenderStepped:Connect(function()
		local Center = GET_TARGET_POS()
		local Barrel = CP[1]
		if Barrel and Barrel.Parent then
			NeutralizePhysics(Barrel)
			Barrel.CFrame = CFrame.new(Center + Vector3.new(2, 2, -2), M.Hit.Position)
		end
		
		for i = 2, #CP do
			local b = CP[i]
			if b and b.Parent then
				NeutralizePhysics(b)
				b.CFrame = b.CFrame:Lerp(CFrame.new(VOID_SAFE_POS), GetBlockLerpSpeed())
			end
		end
	end)
	
	BlasterConnection = U.InputBegan:Connect(function(input, gpe)
		if gpe or not BlasterActive then return end
		if input.UserInputType == Enum.UserInputType.MouseButton1 then
			currentBulletIndex = (currentBulletIndex % (#CP - 1)) + 2
			local Bullet = CP[currentBulletIndex]
			local Barrel = CP[1]
			
			if Bullet and Bullet.Parent and Barrel and Barrel.Parent then
				Bullet.CFrame = Barrel.CFrame * CFrame.new(0, 0, -2)
				local TargetDir = (M.Hit.Position - Barrel.Position).Unit
				Bullet.AssemblyLinearVelocity = TargetDir * (BlockSpeed * 7)
			end
		end
	end)
end)

THelix.MouseButton1Click:Connect(function()
	if AC then AC:Disconnect() AC = nil end
	CC()
	local A = 0
	AC = R.RenderStepped:Connect(function()
		local Center = GET_TARGET_POS()
		A = A + 0.05
		for i, PRT in ipairs(CP) do
			if PRT and PRT.Parent then
				NeutralizePhysics(PRT)
				local y = ((i * 0.8) % 30) - 15
				local side = (i % 2 == 0) and 1 or -1
				local angle = A + (y * 0.3)
				local x = math.cos(angle) * 6 * side
				local z = math.sin(angle) * 6 * side
				local targetCF = CFrame.new(Center + Vector3.new(x, y + 10, z))
				PRT.CFrame = PRT.CFrame:Lerp(targetCF, GetBlockLerpSpeed())
			end
		end
	end)
end)

TTornado.MouseButton1Click:Connect(function()
	if AC then AC:Disconnect() AC = nil end
	CC()
	local A = 0
	AC = R.RenderStepped:Connect(function()
		local TargetPos = M.Hit.Position
		A = A + 0.1
		for i, PRT in ipairs(CP) do
			if PRT and PRT.Parent then
				NeutralizePhysics(PRT)
				local height = (i / math.max(1, #CP)) * 25
				local radius = height * 0.6 + 2
				local angle = A + i
				local targetCF = CFrame.new(TargetPos + Vector3.new(math.cos(angle) * radius, height, math.sin(angle) * radius))
				PRT.CFrame = PRT.CFrame:Lerp(targetCF, GetBlockLerpSpeed())
			end
		end
	end)
end)

TD.MouseButton1Click:Connect(function()
	if AC then AC:Disconnect() AC = nil end
	CC()
	AC = R.RenderStepped:Connect(function()
		local TPos = M.Hit.Position
		for _, PRT in ipairs(CP) do
			if PRT and PRT.Parent then
				NeutralizePhysics(PRT)
				local targetCF = CFrame.new(TPos + Vector3.new(0, 2, 0))
				PRT.CFrame = PRT.CFrame:Lerp(targetCF, GetBlockLerpSpeed())
			end
		end
	end)
end)

TV.MouseButton1Click:Connect(function()
	if AC then AC:Disconnect() AC = nil end
	CC()
	local A = 0
	AC = R.RenderStepped:Connect(function()
		local Center = GET_TARGET_POS()
		A = A + 0.05
		for i, PRT in ipairs(CP) do
			if PRT and PRT.Parent then
				NeutralizePhysics(PRT)
				local D, CA = 10 + (i * 0.2), A + (i * 0.1)
				local targetCF = CFrame.new(Center + Vector3.new(math.cos(CA) * D, (i * 0.1) % 15, math.sin(CA) * D))
				PRT.CFrame = PRT.CFrame:Lerp(targetCF, GetBlockLerpSpeed())
			end
		end
	end)
end)

TR.MouseButton1Click:Connect(function()
	if AC then AC:Disconnect() AC = nil end
	CC()
	AC = R.RenderStepped:Connect(function()
		local Center = GET_TARGET_POS()
		for i, PRT in ipairs(CP) do
			if PRT and PRT.Parent then
				NeutralizePhysics(PRT)
				local targetCF = CFrame.new(Center + Vector3.new(math.sin(i + os.clock()) * 30, 40 + (i % 20), math.cos(i + os.clock()) * 30))
				PRT.CFrame = PRT.CFrame:Lerp(targetCF, GetBlockLerpSpeed())
			end
		end
	end)
end)

TOrbit.MouseButton1Click:Connect(function()
	if AC then AC:Disconnect() AC = nil end
	CC()
	local A = 0
	AC = R.RenderStepped:Connect(function()
		local Center = GET_TARGET_POS()
		A = A + 0.04
		local phi = (1 + math.sqrt(5)) / 2
		for i, PRT in ipairs(CP) do
			if PRT and PRT.Parent then
				NeutralizePhysics(PRT)
				local y = 1 - (i / math.max(1, #CP)) * 2
				local radius = math.sqrt(1 - y * y) * 12
				local theta = phi * i * math.pi + A
				local x = math.cos(theta) * radius
				local z = math.sin(theta) * radius
				local targetCF = CFrame.new(Center + Vector3.new(x, y * 12 + 2, z))
				PRT.CFrame = PRT.CFrame:Lerp(targetCF, GetBlockLerpSpeed())
			end
		end
	end)
end)

TShield.MouseButton1Click:Connect(function()
	if AC then AC:Disconnect() AC = nil end
	CC()
	local A = 0
	AC = R.RenderStepped:Connect(function()
		local Center = GET_TARGET_POS()
		A = A + 0.03
		for i, PRT in ipairs(CP) do
			if PRT and PRT.Parent then
				NeutralizePhysics(PRT)
				local angle = A + (i * (math.pi * 2 / #CP))
				local x = math.cos(angle) * 5
				local z = math.sin(angle) * 5
				local targetCF = CFrame.new(Center + Vector3.new(x, (i % 3) * 2, z))
				PRT.CFrame = PRT.CFrame:Lerp(targetCF, GetBlockLerpSpeed())
			end
		end
	end)
end)

TFL.MouseButton1Click:Connect(function()
	if AC then AC:Disconnect() AC = nil end
	CC()
	AC = R.RenderStepped:Connect(function()
		local Center, TargetRoot = GET_TARGET_POS()
		if TargetRoot then
			for _, PRT in ipairs(CP) do
				if PRT and PRT.Parent then
					PRT.CanCollide = false
					PRT.Anchored = false
					PRT.AssemblyLinearVelocity = Vector3.new(10000, 10000, 10000)
					PRT.CFrame = TargetRoot.CFrame
				end
			end
		end
	end)
end)

TST.MouseButton1Click:Connect(STOP)

TReset.MouseButton1Click:Connect(function()
	STOP()
	if L.Character and L.Character:FindFirstChildOfClass("Humanoid") then
		L.Character:FindFirstChildOfClass("Humanoid").Health = 0
	end
end)

TRejoin.MouseButton1Click:Connect(function()
	T:TeleportToPlaceInstance(game.PlaceId, game.JobId, L)
end)

Features & Information

Stickman mech, orbit, DNA thing, Shield, and many more. just place down unanchored blocks and press one of the toggles.
#tco#The Chosen One#orbit#BRICKS

Community Comments (3)

Real83136Real83136Sep 10, 2026

how to unanchor yo

Replying to @Real83136
NotAUSB2763NotAUSB2763Sep 15, 2026

@Real83136 unanchor the blocks with paint. also are you realgood by chance?

Foxtrot161020Foxtrot161020Oct 3, 2026

how do i access the gui

More Scripts for The Chosen One