-- Universal Part Claim
local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local UserInputService = game:GetService("UserInputService")
local LocalPlayer = [Link]
local Workspace = game:GetService("Workspace")
local character = [Link] or [Link]:Wait()
local humanoidRootPart = character:WaitForChild("HumanoidRootPart")
local Folder = [Link]("Folder", Workspace)
local Part = [Link]("Part", Folder)
local Attachment1 = [Link]("Attachment", Part)
[Link] = true
[Link] = false
[Link] = 1
if not getgenv().Network then
getgenv().Network = {
BaseParts = {},
Velocity = [Link](14.46262424, 14.46262424, 14.46262424)
}
[Link] = function(Part)
if typeof(Part) == "Instance" and Part:IsA("BasePart") and
Part:IsDescendantOf(Workspace) then
[Link]([Link], Part)
[Link] = [Link](0, 0, 0, 0, 0)
[Link] = false
end
end
local function EnablePartControl()
[Link] = Workspace
[Link]:Connect(function()
sethiddenproperty(LocalPlayer, "SimulationRadius", [Link])
for _, Part in pairs([Link]) do
if Part:IsDescendantOf(Workspace) then
[Link] = [Link]
end
end
end)
end
EnablePartControl()
end
local function ForcePart(v)
if v:IsA("Part") and not [Link] and not [Link]:FindFirstChild("Humanoid")
and not [Link]:FindFirstChild("Head") and [Link] ~= "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
[Link] = false
local Torque = [Link]("Torque", v)
[Link] = [Link](100000, 100000, 100000)
local AlignPosition = [Link]("AlignPosition", v)
local Attachment2 = [Link]("Attachment", v)
Torque.Attachment0 = Attachment2
[Link] = 9999999999999999
[Link] = [Link]
[Link] = 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 = [Link]
-- Sound Effects
local function playSound(soundId)
local sound = [Link]("Sound")
[Link] = "rbxassetid://" .. soundId
[Link] = SoundService
sound:Play()
[Link]:Connect(function()
sound:Destroy()
end)
end
-- Play initial sound
playSound("2865227271")
-- GUI Creation
local ScreenGui = [Link]("ScreenGui")
[Link] = "SuperRingPartsGUI"
[Link] = false
[Link] = LocalPlayer:WaitForChild("PlayerGui")
local MainFrame = [Link]("Frame")
[Link] = [Link](0, 220, 0, 190)
[Link] = [Link](0.5, -110, 0.5, -95)
MainFrame.BackgroundColor3 = [Link](0, 102, 51) -- Green
[Link] = 0
[Link] = ScreenGui
-- Make the GUI round
local UICorner = [Link]("UICorner")
[Link] = [Link](0, 20)
[Link] = MainFrame
local Title = [Link]("TextLabel")
[Link] = [Link](1, 0, 0, 40)
[Link] = [Link](0, 0, 0, 0)
[Link] = "Super Ring Parts v5"
Title.TextColor3 = [Link](255, 255, 255) -- White
Title.BackgroundColor3 = [Link](0, 153, 76) -- Little dark green
[Link] = [Link] -- More elegant font
[Link] = 22
[Link] = MainFrame
-- Round the title
local TitleCorner = [Link]("UICorner")
[Link] = [Link](0, 20)
[Link] = Title
local ToggleButton = [Link]("TextButton")
[Link] = [Link](0.8, 0, 0, 35)
[Link] = [Link](0.1, 0, 0.3, 0)
[Link] = "Off"
ToggleButton.BackgroundColor3 = [Link](255, 0, 0) -- Red
ToggleButton.TextColor3 = [Link](255, 255, 255) -- White
[Link] = [Link]
[Link] = 15
[Link] = MainFrame
-- Round the toggle button
local ToggleCorner = [Link]("UICorner")
[Link] = [Link](0, 10)
[Link] = ToggleButton
local DecreaseRadius = [Link]("TextButton")
[Link] = [Link](0.2, 0, 0, 35)
[Link] = [Link](0.1, 0, 0.6, 0)
[Link] = "<"
DecreaseRadius.BackgroundColor3 = [Link](255, 255, 0) -- Yellow
DecreaseRadius.TextColor3 = [Link](0, 0, 0) -- White
[Link] = [Link]
[Link] = 18
[Link] = MainFrame
-- Round the decrease button
local DecreaseCorner = [Link]("UICorner")
[Link] = [Link](0, 10)
[Link] = DecreaseRadius
local IncreaseRadius = [Link]("TextButton")
[Link] = [Link](0.2, 0, 0, 35)
[Link] = [Link](0.7, 0, 0.6, 0)
[Link] = ">"
IncreaseRadius.BackgroundColor3 = [Link](255, 255, 0) -- Yellow
IncreaseRadius.TextColor3 = [Link](0, 0, 0) -- White
[Link] = [Link]
[Link] = 18
[Link] = MainFrame
-- Round the increase button
local IncreaseCorner = [Link]("UICorner")
[Link] = [Link](0, 10)
[Link] = IncreaseRadius
local RadiusDisplay = [Link]("TextLabel")
[Link] = [Link](0.4, 0, 0, 35)
[Link] = [Link](0.3, 0, 0.6, 0)
[Link] = "Radius: 50"
RadiusDisplay.BackgroundColor3 = [Link](255, 255, 0) -- Yellow
RadiusDisplay.TextColor3 = [Link](0, 0, 0) -- White
[Link] = [Link]
[Link] = 15
[Link] = MainFrame
-- Round the radius display
local RadiusCorner = [Link]("UICorner")
[Link] = [Link](0, 10)
[Link] = RadiusDisplay
local Watermark = [Link]("TextLabel")
[Link] = [Link](1, 0, 0, 20)
[Link] = [Link](0, 0, 1, -20)
[Link] = "Super Ring [V5] by lukas!"
Watermark.TextColor3 = [Link](255, 255, 255) -- Dark brown
[Link] = 1
[Link] = [Link]
[Link] = 14
[Link] = MainFrame
-- Add minimize button
local MinimizeButton = [Link]("TextButton")
[Link] = [Link](0, 30, 0, 30)
[Link] = [Link](1, -35, 0, 5)
[Link] = "-"
MinimizeButton.BackgroundColor3 = [Link](0, 255, 0) -- Green
MinimizeButton.TextColor3 = [Link](255, 255, 255) -- White
[Link] = [Link]
[Link] = 15
[Link] = MainFrame
-- Round the minimize button
local MinimizeCorner = [Link]("UICorner")
[Link] = [Link](0, 15)
[Link] = MinimizeButton
-- Minimize functionality
local minimized = false
MinimizeButton.MouseButton1Click:Connect(function()
minimized = not minimized
if minimized then
MainFrame:TweenSize([Link](0, 220, 0, 40), "Out", "Quad", 0.3, true)
[Link] = "+"
[Link] = false
[Link] = false
[Link] = false
[Link] = false
[Link] = false
else
MainFrame:TweenSize([Link](0, 220, 0, 190), "Out", "Quad", 0.3, true)
[Link] = "-"
[Link] = true
[Link] = true
[Link] = true
[Link] = true
[Link] = true
end
playSound("12221967")
end)
-- Make GUI draggable
local dragging
local dragInput
local dragStart
local startPos
local function update(input)
local delta = [Link] - dragStart
[Link] = [Link]([Link], [Link] + delta.X,
[Link], [Link] + delta.Y)
end
[Link]:Connect(function(input)
if [Link] == [Link].MouseButton1 or
[Link] == [Link] then
dragging = true
dragStart = [Link]
startPos = [Link]
[Link]:Connect(function()
if [Link] == [Link] then
dragging = false
end
end)
end
end)
[Link]:Connect(function(input)
if [Link] == [Link] or
[Link] == [Link] then
dragInput = input
end
end)
[Link]:Connect(function(input)
if input == dragInput and dragging then
update(input)
end
end)
-- Ring Parts Claim
if not getgenv().Network then
getgenv().Network = {
BaseParts = {},
Velocity = [Link](14.46262424, 14.46262424, 14.46262424)
}
[Link] = function(Part)
if typeof(Part) == "Instance" and Part:IsA("BasePart") and
Part:IsDescendantOf(workspace) then
[Link]([Link], Part)
[Link] = [Link](0, 0, 0, 0, 0)
[Link] = false
end
end
local function EnablePartControl()
[Link] = workspace
[Link]:Connect(function()
sethiddenproperty(LocalPlayer, "SimulationRadius", [Link])
for _, Part in pairs([Link]) do
if Part:IsDescendantOf(workspace) then
[Link] = [Link]
end
end
end)
end
EnablePartControl()
end
-- Edits
local radius = 50
local height = 100
local rotationSpeed = 0.5
local attractionStrength = 1000
local ringPartsEnabled = false
local function RetainPart(Part)
if Part:IsA("BasePart") and not [Link] and
Part:IsDescendantOf(workspace) then
if [Link] == [Link] or
Part:IsDescendantOf([Link]) then
return false
end
[Link] = [Link](0, 0, 0, 0, 0)
[Link] = false
return true
end
return false
end
local parts = {}
local function addPart(part)
if RetainPart(part) then
if not [Link](parts, part) then
[Link](parts, part)
end
end
end
local function removePart(part)
local index = [Link](parts, part)
if index then
[Link](parts, index)
end
end
for _, part in pairs(workspace:GetDescendants()) do
addPart(part)
end
[Link]:Connect(addPart)
[Link]:Connect(removePart)
[Link]:Connect(function()
if not ringPartsEnabled then return end
local humanoidRootPart = [Link] and
[Link]:FindFirstChild("HumanoidRootPart")
if humanoidRootPart then
local tornadoCenter = [Link]
for _, part in pairs(parts) do
if [Link] and not [Link] then
local pos = [Link]
local distance = ([Link](pos.X, tornadoCenter.Y, pos.Z) -
tornadoCenter).Magnitude
local angle = math.atan2(pos.Z - tornadoCenter.Z, pos.X -
tornadoCenter.X)
local newAngle = angle + [Link](rotationSpeed)
local targetPos = [Link](
tornadoCenter.X + [Link](newAngle) * [Link](radius,
distance),
tornadoCenter.Y + (height * ([Link]([Link]((pos.Y -
tornadoCenter.Y) / height)))),
tornadoCenter.Z + [Link](newAngle) * [Link](radius,
distance)
)
local directionToTarget = (targetPos - [Link]).unit
[Link] = directionToTarget * attractionStrength
end
end
end
end)
-- Button functionality
ToggleButton.MouseButton1Click:Connect(function()
ringPartsEnabled = not ringPartsEnabled
[Link] = ringPartsEnabled and "Ring Parts On" or "Ring Parts Off"
ToggleButton.BackgroundColor3 = ringPartsEnabled and [Link](50, 205,
50) or [Link](160, 82, 45)
playSound("12221967")
end)
DecreaseRadius.MouseButton1Click:Connect(function()
radius = [Link](0, radius - 5)
[Link] = "Radius: " .. radius
playSound("12221967")
end)
IncreaseRadius.MouseButton1Click:Connect(function()
radius = [Link](10000, radius + 5)
[Link] = "Radius: " .. radius
playSound("12221967")
end)
-- Get player thumbnail
local userId = Players:GetUserIdFromNameAsync("Robloxlukasgames")
local thumbType = [Link]
local thumbSize = [Link].Size420x420
local content, isReady = Players:GetUserThumbnailAsync(userId, thumbType,
thumbSize)
StarterGui:SetCore("SendNotification", {
Title = "Super ring parts V4",
Text = "enjoy",
Icon = content,
Duration = 5
})
StarterGui:SetCore("SendNotification", {
Title = "Credits",
Text = "Original By Yumm Scriptblox",
Icon = content,
Duration = 5
})
StarterGui:SetCore("SendNotification", {
Title = "Credits",
Text = "Edited By lukas",
Icon = content,
Duration = 5
})
-- Chat message (Updated for new chat system)
local function SendChatMessage(message)
if [Link] == [Link] then
local textChannel = [Link]
textChannel:SendAsync(message)
else
game:GetService("ReplicatedStorage").[Link]:
FireServer(message, "All")
end
end