Bring Parts Universal Script
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