Bring Parts Universal Script

Bring Parts Universal Script with Player Targeting, Bring Parts Feature, Auto Spectate, Invisible Mode, Teleport Utilities, Physics Control, and more.
Menu Description
Bring PartsPulls nearby map parts and objects toward the selected player.
Player TargetingSelect and target players using username or display name.
Auto SpectateAutomatically spectates the selected target player.
Invisible ModeMakes your character invisible while the script is active.
TeleportAutomatically teleports your character to the selected player.
Physics ControlControls and manipulates unanchored parts using network ownership.
Part ESPTracks and manipulates nearby physical objects dynamically.
PerformanceOptimized distance checking and heartbeat updates for smoother execution.
UI ControlsToggle the GUI using Right Control and drag the interface freely.
Script
local Gui = Instance.new("ScreenGui")
local Main = Instance.new("Frame")
local Box = Instance.new("TextBox")
local UITextSizeConstraint = Instance.new("UITextSizeConstraint")
local Label = Instance.new("TextLabel")
local UITextSizeConstraint_2 = Instance.new("UITextSizeConstraint")
local Button = Instance.new("TextButton")
local UITextSizeConstraint_3 = Instance.new("UITextSizeConstraint")

--Properties:

Gui.Name = "Gui"
Gui.Parent = gethui()
Gui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling

Main.Name = "Main"
Main.Parent = Gui
Main.BackgroundColor3 = Color3.fromRGB(75, 75, 75)
Main.BorderColor3 = Color3.fromRGB(0, 0, 0)
Main.BorderSizePixel = 0
Main.Position = UDim2.new(0.335954279, 0, 0.542361975, 0)
Main.Size = UDim2.new(0.240350261, 0, 0.166880623, 0)
Main.Active = true
Main.Draggable = true

Box.Name = "Box"
Box.Parent = Main
Box.BackgroundColor3 = Color3.fromRGB(95, 95, 95)
Box.BorderColor3 = Color3.fromRGB(0, 0, 0)
Box.BorderSizePixel = 0
Box.Position = UDim2.new(0.0980926454, 0, 0.218712583, 0)
Box.Size = UDim2.new(0.801089942, 0, 0.364963502, 0)
Box.FontFace = Font.new("rbxasset://fonts/families/SourceSansSemibold.json", Enum.FontWeight.Bold, Enum.FontStyle.Normal)
Box.PlaceholderText = "Player here"
Box.Text = ""
Box.TextColor3 = Color3.fromRGB(255, 255, 255)
Box.TextScaled = true
Box.TextSize = 31.000
Box.TextWrapped = true

UITextSizeConstraint.Parent = Box
UITextSizeConstraint.MaxTextSize = 31

Label.Name = "Label"
Label.Parent = Main
Label.BackgroundColor3 = Color3.fromRGB(95, 95, 95)
Label.BorderColor3 = Color3.fromRGB(0, 0, 0)
Label.BorderSizePixel = 0
Label.Size = UDim2.new(1, 0, 0.160583943, 0)
Label.FontFace = Font.new("rbxasset://fonts/families/Nunito.json", Enum.FontWeight.Bold, Enum.FontStyle.Normal)
Label.Text = "Bring Parts | t.me/arceusxscripts"
Label.TextColor3 = Color3.fromRGB(255, 255, 255)
Label.TextScaled = true
Label.TextSize = 14.000
Label.TextWrapped = true

UITextSizeConstraint_2.Parent = Label
UITextSizeConstraint_2.MaxTextSize = 21

Button.Name = "Button"
Button.Parent = Main
Button.BackgroundColor3 = Color3.fromRGB(95, 95, 95)
Button.BorderColor3 = Color3.fromRGB(0, 0, 0)
Button.BorderSizePixel = 0
Button.Position = UDim2.new(0.183284417, 0, 0.656760991, 0)
Button.Size = UDim2.new(0.629427791, 0, 0.277372271, 0)
Button.Font = Enum.Font.Nunito
Button.Text = "Bring | Off"
Button.TextColor3 = Color3.fromRGB(255, 255, 255)
Button.TextScaled = true
Button.TextSize = 28.000
Button.TextWrapped = true

UITextSizeConstraint_3.Parent = Button
UITextSizeConstraint_3.MaxTextSize = 28

-- Scripts:

local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local LocalPlayer = Players.LocalPlayer
local UserInputService = game:GetService("UserInputService")
local Workspace = game:GetService("Workspace")
local StarterGui = game:GetService("StarterGui")

mainStatus = true
UserInputService.InputBegan:Connect(function(input, gameProcessedEvent)
	if input.KeyCode == Enum.KeyCode.RightControl and not gameProcessedEvent then
		mainStatus = not mainStatus
		Main.Visible = mainStatus
	end
end)

local Folder = Instance.new("Folder", Workspace)
local Part = Instance.new("Part", Folder)
local Attachment1 = Instance.new("Attachment", Part)
Part.Anchored = true
Part.CanCollide = false
Part.Transparency = 1

if not getgenv().Network then
	getgenv().Network = {
		BaseParts = {},
		Velocity = Vector3.new(14.46262424, 14.46262424, 14.46262424)
	}

	Network.RetainPart = function(Part)
		if Part:IsA("BasePart") and Part:IsDescendantOf(Workspace) then
			table.insert(Network.BaseParts, Part)
			Part.CustomPhysicalProperties = PhysicalProperties.new(0, 0, 0, 0, 0)
			Part.CanCollide = false
		end
	end

	local function EnablePartControl()
		LocalPlayer.ReplicationFocus = Workspace
		RunService.Heartbeat:Connect(function()
			sethiddenproperty(LocalPlayer, "SimulationRadius", math.huge)
			for _, Part in pairs(Network.BaseParts) do
				if Part:IsDescendantOf(Workspace) then
					Part.Velocity = Network.Velocity
				end
			end
		end)
	end

	EnablePartControl()
end

local function ForcePart(v, targetPosition)
	if v:IsA("BasePart") and not v.Anchored and not v.Parent:FindFirstChildOfClass("Humanoid") and not v.Parent:FindFirstChild("Head") and v.Name ~= "Handle" then
		-- Check distance to target position (2000 studs max)
		local distance = (v.Position - targetPosition).Magnitude
		if distance > 2000 then return end -- Skip if too far
		
		for _, x in ipairs(v:GetChildren()) do
			if x:IsA("BodyMover") or x:IsA("RocketPropulsion") then
				x:Destroy()
			end
		end
		if v:FindFirstChild("Attachment") then
			v:FindFirstChild("Attachment"):Destroy()
		end
		if v:FindFirstChild("AlignPosition") then
			v:FindFirstChild("AlignPosition"):Destroy()
		end
		if v:FindFirstChild("Torque") then
			v:FindFirstChild("Torque"):Destroy()
		end
		v.CanCollide = false
		local Torque = Instance.new("Torque", v)
		Torque.Torque = Vector3.new(100000, 100000, 100000)
		local AlignPosition = Instance.new("AlignPosition", v)
		local Attachment2 = Instance.new("Attachment", v)
		Torque.Attachment0 = Attachment2
		AlignPosition.MaxForce = math.huge
		AlignPosition.MaxVelocity = math.huge
		AlignPosition.Responsiveness = 200
		AlignPosition.Attachment0 = Attachment2
		AlignPosition.Attachment1 = Attachment1
	end
end

local blackHoleActive = false
local DescendantAddedConnection
local player = nil
local invisibilitySeat = nil
local originalCameraSubject = nil

local function setCharacterTransparency(character, transparency)
	for _, descendant in character:GetDescendants() do
		if descendant:IsA("BasePart") then
			descendant.Transparency = transparency
		elseif descendant:IsA("Decal") then
			descendant.Transparency = transparency
		end
	end
end

local function spectatePlayer(targetPlayer)
	if targetPlayer and targetPlayer.Character and targetPlayer.Character:FindFirstChild("HumanoidRootPart") then
		-- Store original camera subject
		if not originalCameraSubject then
			originalCameraSubject = workspace.CurrentCamera.CameraSubject
		end
		
		-- Spectate the player
		workspace.CurrentCamera.CameraSubject = targetPlayer.Character.HumanoidRootPart
	end
end

local function restoreCamera()
	if originalCameraSubject then
		workspace.CurrentCamera.CameraSubject = originalCameraSubject
		originalCameraSubject = nil
	end
end

local function makeInvisible()
	if not LocalPlayer.Character then return end
	
	local humanoidRootPart = LocalPlayer.Character:FindFirstChild("HumanoidRootPart")
	if not humanoidRootPart then return end

	local savedPosition = humanoidRootPart.CFrame

	-- Move to invisibility position
	LocalPlayer.Character:MoveTo(Vector3.new(0, -5000, 0))
	task.wait(0.15)

	-- Create invisible seat
	invisibilitySeat = Instance.new("Seat")
	invisibilitySeat.Name = "invischair"
	invisibilitySeat.Anchored = true
	invisibilitySeat.CanCollide = false
	invisibilitySeat.Transparency = 1
	invisibilitySeat.Position = Vector3.new(0, -5000, 0)
	invisibilitySeat.Parent = workspace

	-- Weld seat to character
	local torso = LocalPlayer.Character:FindFirstChild("Torso") or LocalPlayer.Character:FindFirstChild("UpperTorso")
	if torso then
		local weld = Instance.new("Weld")
		weld.Part0 = invisibilitySeat
		weld.Part1 = torso
		weld.Parent = invisibilitySeat
	end

	task.wait()
	invisibilitySeat.CFrame = savedPosition

	-- Set character transparency to 0.5 for you, but make it invisible to others
	setCharacterTransparency(LocalPlayer.Character, 0.5)
	
	-- Also make the invisibility seat invisible to others
	invisibilitySeat.Transparency = 1
end

local function teleportToPlayer()
	if player and player.Character and player.Character:FindFirstChild("HumanoidRootPart") then
		local targetPosition = player.Character.HumanoidRootPart.Position
		if LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("HumanoidRootPart") then
			LocalPlayer.Character.HumanoidRootPart.CFrame = CFrame.new(targetPosition)
		end
	end
end

local function toggleBlackHole()
	blackHoleActive = not blackHoleActive
	if blackHoleActive then
		Button.Text = "Bring Parts | On"
		
		-- Teleport to player and make invisible
		teleportToPlayer()
		makeInvisible()
		
		-- Auto spectate the selected player
		spectatePlayer(player)
		
		-- Get target position for distance checking
		local targetPosition = player.Character.HumanoidRootPart.Position
		
		-- Only process parts within 2000 studs
		for _, v in ipairs(Workspace:GetDescendants()) do
			if v:IsA("BasePart") then
				local distance = (v.Position - targetPosition).Magnitude
				if distance <= 2000 then
					ForcePart(v, targetPosition)
				end
			end
		end

		DescendantAddedConnection = Workspace.DescendantAdded:Connect(function(v)
			if blackHoleActive and v:IsA("BasePart") then
				local distance = (v.Position - targetPosition).Magnitude
				if distance <= 2000 then
					ForcePart(v, targetPosition)
				end
			end
		end)

		-- Use Heartbeat instead of RenderStepped for better performance
		spawn(function()
			local connection
			connection = RunService.Heartbeat:Connect(function()
				if blackHoleActive and player and player.Character and player.Character:FindFirstChild("HumanoidRootPart") then
					Attachment1.WorldCFrame = player.Character.HumanoidRootPart.CFrame
				elseif not blackHoleActive then
					connection:Disconnect()
				end
			end)
		end)
	else
		Button.Text = "Bring Parts | Off"
		if DescendantAddedConnection then
			DescendantAddedConnection:Disconnect()
		end
		
		-- Remove invisible chair if exists
		if invisibilitySeat then
			invisibilitySeat:Destroy()
			invisibilitySeat = nil
		end
		
		-- Restore character visibility
		if LocalPlayer.Character then
			setCharacterTransparency(LocalPlayer.Character, 0)
		end
		
		-- Restore camera to original view
		restoreCamera()
	end
end

local function getPlayer(name)
	local lowerName = string.lower(name)
	for _, p in pairs(Players:GetPlayers()) do
		local lowerPlayer = string.lower(p.Name)
		if string.find(lowerPlayer, lowerName) then
			return p
		elseif string.find(string.lower(p.DisplayName), lowerName) then
			return p
		end
	end
end

local function VDOYZQL_fake_script() -- Box.Script 
	local script = Instance.new('Script', Box)

	script.Parent.FocusLost:Connect(function(enterPressed)
		if enterPressed then
			player = getPlayer(Box.Text)
			if player then
				Box.Text = player.Name
				print("Player found:", player.Name)
			else
				print("Player not found")
			end
		end
	end)
end
coroutine.wrap(VDOYZQL_fake_script)()
local function JUBNQKI_fake_script() -- Button.Script 
	local script = Instance.new('Script', Button)

	script.Parent.MouseButton1Click:Connect(function()
		if player then
			toggleBlackHole()
		else
			print("Player is not selected")
		end
	end)
end
coroutine.wrap(JUBNQKI_fake_script)()

Comments

Available Games