
Key Required

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)



how to unanchor yo
@Real83136 unanchor the blocks with paint. also are you realgood by chance?
how do i access the gui