0% found this document useful (0 votes)
160 views4 pages

Black Hole Script for Roblox

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
160 views4 pages

Black Hole Script for Roblox

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 4

-- Black Hole By DenishRRQ

local headerText = "Black hole Best Scripts Troll"


local textColor = Color3.fromRGB(255, 165, 0) -- Orange color
local fadeDuration = 2 -- Duration for fade-in and fade-out
local displayDuration = 2 -- Duration the text stays fully visible

-- Display the text before executing the script


local ScreenGui = Instance.new("ScreenGui")
ScreenGui.Parent = game:GetService("Players").LocalPlayer:WaitForChild("PlayerGui")

local Label = Instance.new("TextLabel")


Label.Parent = ScreenGui
Label.Size = UDim2.new(0.5, 0, 0.1, 0)
Label.Position = UDim2.new(0.25, 0, 0.45, 0)
Label.Text = headerText
Label.TextColor3 = textColor
Label.TextTransparency = 1 -- Start fully transparent
Label.TextScaled = true
Label.BackgroundTransparency = 1
Label.Font = Enum.Font.Arcade -- Set to a better font (Arcade)

-- Fade-in effect
for i = 1, 10 do
Label.TextTransparency = 1 - (i / 10)
wait(fadeDuration / 10)
end

-- Wait for the text to display fully


wait(displayDuration)

-- Fade-out effect
for i = 1, 10 do
Label.TextTransparency = i / 10
wait(fadeDuration / 10)
end

-- Remove the GUI after the fade-out


ScreenGui:Destroy()

--[[
WARNING: Heads up! This script has not been verified by ScriptBlox. Use at your
own risk!
]]

local Players, RunService, Workspace = game:GetService("Players"),


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

local blackHoleActive = false


local Folder, Part, Attachment1
local screenGui, controlButton, closeButton
local seatRemovalTimer = 2 -- Time interval for seat removal (in seconds)

local function disableScript()


blackHoleActive = false
if Folder then Folder:Destroy() end
if screenGui then screenGui:Destroy() end
end
local function setupCharacter()
local character = LocalPlayer.Character or LocalPlayer.CharacterAdded:Wait()
local humanoidRootPart = character:WaitForChild("HumanoidRootPart")
local humanoid = character:WaitForChild("Humanoid")

-- Set up death listener to disable the script on character death


humanoid.Died:Connect(disableScript)

-- Reset Folder and Part on each respawn


if Folder then Folder:Destroy() end
Folder = Instance.new("Folder", Workspace)
Part = Instance.new("Part", Folder)
Attachment1 = Instance.new("Attachment", Part)
Part.Anchored, Part.CanCollide, Part.Transparency = true, false, 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, Part.CanCollide =
PhysicalProperties.new(0, 0, 0, 0, 0), false
end
end

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

local function ForcePart(v)


local range = 5000
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
local distance = (v.Position - humanoidRootPart.Position).Magnitude
if distance <= range then
for _, x in ipairs(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
for _, objName in ipairs({"Attachment", "AlignPosition", "Torque"})
do
if v:FindFirstChild(objName) then v[objName]:Destroy() end
end
v.CanCollide = false
local Torque, AlignPosition, Attachment2 = Instance.new("Torque",
v), Instance.new("AlignPosition", v), Instance.new("Attachment", v)
Torque.Torque, Torque.Attachment0 = Vector3.new(1e5, 1e5, 1e5),
Attachment2
AlignPosition.MaxForce, AlignPosition.MaxVelocity,
AlignPosition.Responsiveness = 1e16, math.huge, 200
AlignPosition.Attachment0, AlignPosition.Attachment1 = Attachment2,
Attachment1
end
end
end

local function toggleBlackHole()


blackHoleActive = not blackHoleActive

if blackHoleActive then
for _, v in ipairs(Workspace:GetDescendants()) do ForcePart(v) end
Workspace.DescendantAdded:Connect(function(v) if blackHoleActive then
ForcePart(v) end end)
spawn(function()
while blackHoleActive and RunService.RenderStepped:Wait() do
if humanoidRootPart then
Attachment1.WorldCFrame = humanoidRootPart.CFrame
end
end
end)

humanoid.StateChanged:Connect(function(_, newState)
if newState == Enum.HumanoidStateType.Seated then
humanoid:ChangeState(Enum.HumanoidStateType.GettingUp)
end
end)
else
blackHoleActive = false
end
end

local function createControlGUI()


if screenGui then screenGui:Destroy() end

screenGui = Instance.new("ScreenGui")
screenGui.Name = "ControlGUI"
screenGui.ResetOnSpawn = false
screenGui.Parent = LocalPlayer:WaitForChild("PlayerGui")

-- Control Button
controlButton = Instance.new("TextButton")
controlButton.Name = "ToggleBlackHoleButton"
controlButton.Size = UDim2.new(0, 180, 0, 30)
controlButton.Position = UDim2.new(0.5, -90, 0, 100)
controlButton.Text = "Activate Black Hole"
controlButton.BackgroundColor3 = Color3.new(0.2, 0.8, 0.2)
controlButton.Parent = screenGui

controlButton.Active, controlButton.Draggable = true, true

-- Close Button
closeButton = Instance.new("TextButton")
closeButton.Name = "CloseButton"
closeButton.Size = UDim2.new(0, 30, 0, 30)
closeButton.Position = UDim2.new(0.5, 90, 0, 100)
closeButton.Text = "X"
closeButton.BackgroundColor3 = Color3.new(1, 0, 0)
closeButton.Parent = screenGui

-- Button Functions
local function updateButton()
controlButton.Text = blackHoleActive and "Deactivate Black Hole" or
"Activate Black Hole"
controlButton.BackgroundColor3 = blackHoleActive and Color3.new(1, 0,
0) or Color3.new(0.2, 0.8, 0.2)
end

updateButton()
controlButton.MouseButton1Click:Connect(function()
toggleBlackHole()
updateButton()
end)

closeButton.MouseButton1Click:Connect(function()
disableScript()
end)

-- Follow black hole button


controlButton:GetPropertyChangedSignal("Position"):Connect(function()
closeButton.Position = UDim2.new(controlButton.Position.X.Scale,
controlButton.Position.X.Offset + controlButton.Size.X.Offset + 5,
controlButton.Position.Y.Scale, controlButton.Position.Y.Offset)
end)
end

createControlGUI()
end

local function removeAllSeats()


while true do
for _, seat in ipairs(Workspace:GetDescendants()) do
if seat:IsA("Seat") or seat:IsA("VehicleSeat") then
seat:Destroy()
end
end
wait(seatRemovalTimer)
end
end

setupCharacter()
LocalPlayer.CharacterAdded:Connect(setupCharacter)

spawn(removeAllSeats)

You might also like