0% found this document useful (0 votes)
153 views8 pages

Super Ring Parts Control Script

The document outlines a script for a Roblox game that creates a GUI for controlling 'Super Ring Parts', allowing players to manipulate parts in the game world. It includes functionalities for sound effects, part retention, and user interface elements such as buttons to toggle features and adjust parameters like radius. The script also manages the physics of parts, enabling them to move in a circular motion around the player's character.

Uploaded by

hentaylor18
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)
153 views8 pages

Super Ring Parts Control Script

The document outlines a script for a Roblox game that creates a GUI for controlling 'Super Ring Parts', allowing players to manipulate parts in the game world. It includes functionalities for sound effects, part retention, and user interface elements such as buttons to toggle features and adjust parameters like radius. The script also manages the physics of parts, enabling them to move in a circular motion around the player's character.

Uploaded by

hentaylor18
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

-- 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

You might also like