local Players = game:GetService("Players") local RunService = game:GetService("RunService") local Workspace = game:GetService("Workspace") local LocalPlayer = Players.LocalPlayer local character = LocalPlayer.Character or LocalPlayer.CharacterAdded:Wait() local humanoidRootPart = character:WaitForChild("HumanoidRootPart") -- Create ScreenGui and Button local screenGui = Instance.new("ScreenGui") screenGui.Name = "SuckAnchoredPartsGUI" screenGui.Parent = LocalPlayer:WaitForChild("PlayerGui") local button = Instance.new("TextButton") button.Size = UDim2.new(0, 200, 0, 50) button.Position = UDim2.new(0.5, -100, 0, 100) button.Text = "Suck Anchored Parts" button.Parent = screenGui local sucking = false local suckConnection local function suckAnchoredParts() if sucking then return end sucking = true suckConnection = RunService.Heartbeat:Connect(function() for _, part in pairs(Workspace:GetDescendants()) do if part:IsA("BasePart") and part.Anchored then -- Move anchored part towards player slowly local direction = (humanoidRootPart.Position - part.Position) local distance = direction.Magnitude if distance > 1 then -- Tween or directly set CFrame closer to player each frame part.CFrame = part.CFrame:Lerp(CFrame.new(humanoidRootPart.Position), 0.05) end end end end) end local function stopSucking() sucking = false if suckConnection then suckConnection:Disconnect() suckConnection = nil end end button.MouseButton1Click:Connect(function() if sucking then stopSucking() button.Text = "Suck Anchored Parts" else suckAnchoredParts() button.Text = "Stop Sucking" end end)