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)