-- I am not creator of this script i reuploaded this script because it got deleted on every site -- Reupload by marcinek20 Enjoy :) local Players = game:GetService("Players") local RunService = game:GetService("RunService") local LocalPlayer = Players.LocalPlayer local Workspace = game:GetService("Workspace") local blackHoleActive = false local currentTarget = nil local targetSwitchTime = 2.5 -- Tempo em segundos para trocar de alvo local blackHoleConnection = nil -- Função para pegar um jogador aleatório VIVO (excluindo você) local function getRandomAlivePlayer() local alivePlayers = {} for _, player in pairs(Players:GetPlayers()) do -- Ignorar o próprio jogador local if player ~= LocalPlayer then local character = player.Character if character then local humanoid = character:FindFirstChild("Humanoid") if humanoid and humanoid.Health > 0 then table.insert(alivePlayers, player) end end end end if #alivePlayers > 0 then return alivePlayers[math.random(1, #alivePlayers)] end return nil end -- Verificar se o alvo está vivo local function isTargetAlive(player) if not player then return false end local character = player.Character if not character then return false end local humanoid = character:FindFirstChild("Humanoid") if not humanoid then return false end return humanoid.Health > 0 end local function setupPlayer() local character = LocalPlayer.Character or LocalPlayer.CharacterAdded:Wait() local humanoidRootPart = character:WaitForChild("HumanoidRootPart") 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 return humanoidRootPart, Attachment1 end local humanoidRootPart, Attachment1 = setupPlayer() if not getgenv().Network then getgenv().Network = { BaseParts = {}, Velocity = Vector3.new(14.46262424, 14.46262424, 14.46262424) } Network.RetainPart = function(part) if typeof(part) == "Instance" and 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) if v:IsA("Part") and not v.Anchored and not v.Parent:FindFirstChild("Humanoid") and not v.Parent:FindFirstChild("Head") and v.Name ~= "Handle" then for _, x in next, v:GetChildren() do if x:IsA("BodyAngularVelocity") or x:IsA("BodyForce") or x:IsA("BodyGyro") or x:IsA("BodyPosition") or x:IsA("BodyThrust") or x:IsA("BodyVelocity") 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(1000000, 1000000, 1000000) 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 = 500 AlignPosition.Attachment0 = Attachment2 AlignPosition.Attachment1 = Attachment1 end end local function startBlackHole() if blackHoleConnection then blackHoleConnection:Disconnect() blackHoleConnection = nil end -- Forçar todas as partes existentes for _, v in next, Workspace:GetDescendants() do ForcePart(v) end -- Conectar para forçar novas partes que aparecerem Workspace.DescendantAdded:Connect(function(v) if blackHoleActive then ForcePart(v) end end) blackHoleConnection = RunService.Heartbeat:Connect(function() if not blackHoleActive then return end -- Pegar um alvo aleatório currentTarget = getRandomAlivePlayer() if currentTarget and isTargetAlive(currentTarget) then local character = currentTarget.Character if character then local targetRootPart = character:FindFirstChild("HumanoidRootPart") if targetRootPart then -- FICAR COLADO DIRETO NO HUMANOIDROOTPART DO ALVO (distância 0) Attachment1.WorldCFrame = targetRootPart.CFrame -- Esperar 2.5 segundos nesse alvo local startTime = tick() while tick() - startTime < targetSwitchTime and blackHoleActive and isTargetAlive(currentTarget) do -- Atualizar posição continuamente if targetRootPart and targetRootPart.Parent then Attachment1.WorldCFrame = targetRootPart.CFrame end RunService.Heartbeat:Wait() end end end else -- Se não tem alvo, colocar em posição segura Attachment1.WorldCFrame = CFrame.new(0, -1000, 0) wait(0.5) -- Pequena pausa antes de tentar novamente end end) end local function stopBlackHole() if blackHoleConnection then blackHoleConnection:Disconnect() blackHoleConnection = nil end Attachment1.WorldCFrame = CFrame.new(0, -1000, 0) currentTarget = nil end local function toggleBlackHole() blackHoleActive = not blackHoleActive if blackHoleActive then print("[Blackhole] Ativado - Iniciando caçada automática") startBlackHole() else print("[Blackhole] Desativado") stopBlackHole() end end LocalPlayer.CharacterAdded:Connect(function() humanoidRootPart, Attachment1 = setupPlayer() if blackHoleActive then stopBlackHole() startBlackHole() end end) -- Interface do usuário local library = loadstring(game:HttpGet("https://raw.githubusercontent.com/miroeramaa/TurtleLib/main/TurtleUiLib.lua"))() local window = library:Window("Projeto LKB - Caçador Direto") window:Toggle("Blackhole Caçador", false, function(Value) if Value then toggleBlackHole() else blackHoleActive = false stopBlackHole() end end) -- Botão para forçar mudança de alvo IMEDIATA window:Button("Trocar alvo AGORA", function() if blackHoleActive then currentTarget = getRandomAlivePlayer() if currentTarget then print("[Blackhole] Alvo trocado para: " .. currentTarget.Name) end end end) -- Mostrar alvo atual window:Button("Mostrar alvo atual", function() if currentTarget then print("[Blackhole] Alvo atual: " .. currentTarget.Name) else print("[Blackhole] Nenhum alvo no momento") end end) print("Script carregado! Ative o Blackhole Caçador para começar.")