-- Gui to Lua -- Version: 3.2 -- Instances: 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)()