Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local Rayfield = loadstring(game:HttpGet('https://sirius.menu/rayfield'))()
- local Window = Rayfield:CreateWindow({
- Name = "Darkz ScriptYT",
- Icon = 0, -- Icon in Topbar. Can use Lucide Icons (string) or Roblox Image (number). 0 to use no icon (default).
- LoadingTitle = "Super BlackHole V1",
- LoadingSubtitle = "By Darkz Script",
- Theme = "Default", -- Check https://docs.sirius.menu/rayfield/configuration/themes
- DisableRayfieldPrompts = false,
- DisableBuildWarnings = false, -- Prevents Rayfield from warning when the script has a version mismatch with the interface
- ConfigurationSaving = {
- Enabled = false,
- FolderName = nil, -- Create a custom folder for your hub/game
- FileName = "ETC"
- },
- Discord = {
- Enabled = false, -- Prompt the user to join your Discord server if their executor supports it
- Invite = "noinvitelink", -- The Discord invite code, do not include discord.gg/. E.g. discord.gg/ ABCD would be ABCD
- RememberJoins = true -- Set this to false to make them join the discord every time they load it up
- },
- KeySystem = false, -- Set this to true to use our key system
- KeySettings = {
- Title = "Untitled",
- Subtitle = "Key System",
- Note = "No method of obtaining the key is provided", -- Use this to tell the user how to get a key
- FileName = "Key", -- It is recommended to use something unique as other scripts using Rayfield may overwrite your key file
- SaveKey = true, -- The user's key will be saved, but if you change the key, they will be unable to use your script
- GrabKeyFromSite = false, -- If this is true, set Key below to the RAW site you would like Rayfield to get the key from
- Key = {"Hello"} -- List of keys that will be accepted by the system, can be RAW file links (pastebin, github etc) or simple strings ("hello","key22")
- }
- })
- local Players = game:GetService("Players")
- local RunService = game:GetService("RunService")
- local UserInputService = game:GetService("UserInputService")
- local LocalPlayer = Players.LocalPlayer
- local Workspace = game:GetService("Workspace")
- 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
- 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(100000, 100000, 100000)
- local AlignPosition = Instance.new("AlignPosition", v)
- local Attachment2 = Instance.new("Attachment", v)
- Torque.Attachment0 = Attachment2
- AlignPosition.MaxForce = 9999999999999999
- AlignPosition.MaxVelocity = math.huge
- AlignPosition.Responsiveness = 200
- AlignPosition.Attachment0 = Attachment2
- AlignPosition.Attachment1 = Attachment1
- end
- end
- local Players = game:GetService("Players")
- local RunService = game:GetService("RunService")
- local UserInputService = game:GetService("UserInputService")
- local SoundService = game:GetService("SoundService")
- local StarterGui = game:GetService("StarterGui")
- local TextChatService = game:GetService("TextChatService")
- local LocalPlayer = Players.LocalPlayer
- -- Sound Effects
- local function playSound(soundId)
- local sound = Instance.new("Sound")
- sound.SoundId = "rbxassetid://" .. soundId
- sound.Parent = SoundService
- sound:Play()
- sound.Ended:Connect(function()
- sound:Destroy()
- end)
- end
- -- Play initial sound
- playSound("2865227271")
- -- GUI Creation
- local ScreenGui = Instance.new("ScreenGui")
- ScreenGui.Name = "SuperRingPartsGUI"
- ScreenGui.ResetOnSpawn = false
- ScreenGui.Parent = LocalPlayer:WaitForChild("PlayerGui")
- local MainFrame = Instance.new("Frame")
- MainFrame.Size = UDim2.new(0, 220, 0, 190)
- MainFrame.Position = UDim2.new(0.5, -110, 0.5, -95)
- MainFrame.BackgroundColor3 = Color3.fromRGB(204, 0, 0) -- Light brown
- MainFrame.BorderSizePixel = 0
- MainFrame.Parent = ScreenGui
- -- Make the GUI round
- local UICorner = Instance.new("UICorner")
- UICorner.CornerRadius = UDim.new(0, 20)
- UICorner.Parent = MainFrame
- local Title = Instance.new("TextLabel")
- Title.Size = UDim2.new(1, 0, 0, 40)
- Title.Position = UDim2.new(0, 0, 0, 0)
- Title.Text = "Super Ring Parts v4"
- Title.TextColor3 = Color3.fromRGB(153, 0, 0) -- Dark brown
- Title.BackgroundColor3 = Color3.fromRGB(255, 51, 51) -- Lighter brown
- Title.Font = Enum.Font.Fondamento -- More elegant font
- Title.TextSize = 22
- Title.Parent = MainFrame
- -- Round the title
- local TitleCorner = Instance.new("UICorner")
- TitleCorner.CornerRadius = UDim.new(0, 20)
- TitleCorner.Parent = Title
- local ToggleButton = Instance.new("TextButton")
- ToggleButton.Size = UDim2.new(0.8, 0, 0, 35)
- ToggleButton.Position = UDim2.new(0.1, 0, 0.3, 0)
- ToggleButton.Text = "Ring Parts Off"
- ToggleButton.BackgroundColor3 = Color3.fromRGB(0, 0, 255) -- Sienna
- ToggleButton.TextColor3 = Color3.fromRGB(255, 255, 255) -- Cornsilk
- ToggleButton.Font = Enum.Font.Fondamento
- ToggleButton.TextSize = 18
- ToggleButton.Parent = MainFrame
- -- Round the toggle button
- local ToggleCorner = Instance.new("UICorner")
- ToggleCorner.CornerRadius = UDim.new(0, 10)
- ToggleCorner.Parent = ToggleButton
- local DecreaseRadius = Instance.new("TextButton")
- DecreaseRadius.Size = UDim2.new(0.2, 0, 0, 35)
- DecreaseRadius.Position = UDim2.new(0.1, 0, 0.6, 0)
- DecreaseRadius.Text = "<"
- DecreaseRadius.BackgroundColor3 = Color3.fromRGB(255, 153, 153) -- Saddle brown
- DecreaseRadius.TextColor3 = Color3.fromRGB(255, 255, 255) -- Cornsilk
- DecreaseRadius.Font = Enum.Font.Fondamento
- DecreaseRadius.TextSize = 18
- DecreaseRadius.Parent = MainFrame
- -- Round the decrease button
- local DecreaseCorner = Instance.new("UICorner")
- DecreaseCorner.CornerRadius = UDim.new(0, 10)
- DecreaseCorner.Parent = DecreaseRadius
- local IncreaseRadius = Instance.new("TextButton")
- IncreaseRadius.Size = UDim2.new(0.2, 0, 0, 35)
- IncreaseRadius.Position = UDim2.new(0.7, 0, 0.6, 0)
- IncreaseRadius.Text = ">"
- IncreaseRadius.BackgroundColor3 = Color3.fromRGB(255, 153, 153) -- Saddle brown
- IncreaseRadius.TextColor3 = Color3.fromRGB(255, 255, 255) -- Cornsilk
- IncreaseRadius.Font = Enum.Font.Fondamento
- IncreaseRadius.TextSize = 18
- IncreaseRadius.Parent = MainFrame
- -- Round the increase button
- local IncreaseCorner = Instance.new("UICorner")
- IncreaseCorner.CornerRadius = UDim.new(0, 10)
- IncreaseCorner.Parent = IncreaseRadius
- local RadiusDisplay = Instance.new("TextLabel")
- RadiusDisplay.Size = UDim2.new(0.4, 0, 0, 35)
- RadiusDisplay.Position = UDim2.new(0.3, 0, 0.6, 0)
- RadiusDisplay.Text = "Radius: 50"
- RadiusDisplay.BackgroundColor3 = Color3.fromRGB(255, 0, 0) -- Tan
- RadiusDisplay.TextColor3 = Color3.fromRGB(255, 255, 255) -- Dark brown
- RadiusDisplay.Font = Enum.Font.Fondamento
- RadiusDisplay.TextSize = 18
- RadiusDisplay.Parent = MainFrame
- -- Round the radius display
- local RadiusCorner = Instance.new("UICorner")
- RadiusCorner.CornerRadius = UDim.new(0, 10)
- RadiusCorner.Parent = RadiusDisplay
- local Watermark = Instance.new("TextLabel")
- Watermark.Size = UDim2.new(1, 0, 0, 20)
- Watermark.Position = UDim2.new(0, 0, 1, -20)
- Watermark.Text = "Super Ring [V4] by lukas"
- Watermark.TextColor3 = Color3.fromRGB(255, 255, 255) -- Dark brown
- Watermark.BackgroundTransparency = 1
- Watermark.Font = Enum.Font.Fondamento
- Watermark.TextSize = 14
- Watermark.Parent = MainFrame
- -- Add minimize button
- local MinimizeButton = Instance.new("TextButton")
- MinimizeButton.Size = UDim2.new(0, 30, 0, 30)
- MinimizeButton.Position = UDim2.new(1, -35, 0, 5)
- MinimizeButton.Text = "-"
- MinimizeButton.BackgroundColor3 = Color3.fromRGB(0, 0, 255) -- Saddle brown
- MinimizeButton.TextColor3 = Color3.fromRGB(255, 255, 255) -- Cornsilk
- MinimizeButton.Font = Enum.Font.Fondamento
- MinimizeButton.TextSize = 18
- MinimizeButton.Parent = MainFrame
- -- Round the minimize button
- local MinimizeCorner = Instance.new("UICorner")
- MinimizeCorner.CornerRadius = UDim.new(0, 15)
- MinimizeCorner.Parent = MinimizeButton
- -- Minimize functionality
- local minimized = false
- MinimizeButton.MouseButton1Click:Connect(function()
- minimized = not minimized
- if minimized then
- MainFrame:TweenSize(UDim2.new(0, 220, 0, 40), "Out", "Quad", 0.3, true)
- MinimizeButton.Text = "+"
- ToggleButton.Visible = false
- DecreaseRadius.Visible = false
- IncreaseRadius.Visible = false
- RadiusDisplay.Visible = false
- Watermark.Visible = false
- else
- MainFrame:TweenSize(UDim2.new(0, 220, 0, 190), "Out", "Quad", 0.3, true)
- MinimizeButton.Text = "-"
- ToggleButton.Visible = true
- DecreaseRadius.Visible = true
- IncreaseRadius.Visible = true
- RadiusDisplay.Visible = true
- Watermark.Visible = true
- end
- playSound("12221967")
- end)
- -- Make GUI draggable
- local dragging
- local dragInput
- local dragStart
- local startPos
- local function update(input)
- local delta = input.Position - dragStart
- MainFrame.Position = UDim2.new(startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y)
- end
- MainFrame.InputBegan:Connect(function(input)
- if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
- dragging = true
- dragStart = input.Position
- startPos = MainFrame.Position
- input.Changed:Connect(function()
- if input.UserInputState == Enum.UserInputState.End then
- dragging = false
- end
- end)
- end
- end)
- MainFrame.InputChanged:Connect(function(input)
- if input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch then
- dragInput = input
- end
- end)
- UserInputService.InputChanged:Connect(function(input)
- if input == dragInput and dragging then
- update(input)
- end
- end)
- -- Ring Parts Logic
- 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 radius = 50
- local height = 100
- local rotationSpeed = 1
- local attractionStrength = 1000
- local ringPartsEnabled = false
- local function RetainPart(Part)
- if Part:IsA("BasePart") and not Part.Anchored and Part:IsDescendantOf(workspace) then
- if Part.Parent == LocalPlayer.Character or Part:IsDescendantOf(LocalPlayer.Character) then
- return false
- end
- Part.CustomPhysicalProperties = PhysicalProperties.new(0, 0, 0, 0, 0)
- Part.CanCollide = false
- return true
- end
- return false
- end
- local parts = {}
- local function addPart(part)
- if RetainPart(part) then
- if not table.find(parts, part) then
- table.insert(parts, part)
- end
- end
- end
- local function removePart(part)
- local index = table.find(parts, part)
- if index then
- table.remove(parts, index)
- end
- end
- for _, part in pairs(workspace:GetDescendants()) do
- addPart(part)
- end
- workspace.DescendantAdded:Connect(addPart)
- workspace.DescendantRemoving:Connect(removePart)
- RunService.Heartbeat:Connect(function()
- if not ringPartsEnabled then return end
- local humanoidRootPart = LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("HumanoidRootPart")
- if humanoidRootPart then
- local tornadoCenter = humanoidRootPart.Position
- for _, part in pairs(parts) do
- if part.Parent and not part.Anchored then
- local pos = part.Position
- local distance = (Vector3.new(pos.X, tornadoCenter.Y, pos.Z) - tornadoCenter).Magnitude
- local angle = math.atan2(pos.Z - tornadoCenter.Z, pos.X - tornadoCenter.X)
- local newAngle = angle + math.rad(rotationSpeed)
- local targetPos = Vector3.new(
- tornadoCenter.X + math.cos(newAngle) * math.min(radius, distance),
- tornadoCenter.Y + (height * (math.abs(math.sin((pos.Y - tornadoCenter.Y) / height)))),
- tornadoCenter.Z + math.sin(newAngle) * math.min(radius, distance)
- )
- local directionToTarget = (targetPos - part.Position).unit
- part.Velocity = directionToTarget * attractionStrength
- end
- end
- end
- end)
- -- Button functionality
- ToggleButton.MouseButton1Click:Connect(function()
- ringPartsEnabled = not ringPartsEnabled
- ToggleButton.Text = ringPartsEnabled and "Ring Parts On" or "Ring Parts Off"
- ToggleButton.BackgroundColor3 = ringPartsEnabled and Color3.fromRGB(50, 205, 50) or Color3.fromRGB(160, 82, 45)
- playSound("12221967")
- end)
- DecreaseRadius.MouseButton1Click:Connect(function()
- radius = math.max(1, radius - 2)
- RadiusDisplay.Text = "Radius: " .. radius
- playSound("12221967")
- end)
- IncreaseRadius.MouseButton1Click:Connect(function()
- radius = math.min(1000, radius + 2)
- RadiusDisplay.Text = "Radius: " .. radius
- playSound("12221967")
- end)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement