Run it
Copy the script and paste it into your executor.
Players = :()
RunService = :()
SoundService = :()
StarterGui = :()
UserInputService = :()
LocalPlayer = Players.LocalPlayer
PlayerGui = LocalPlayer:()
PlayerGui:()
PlayerGui.SuperRingPartsGUI:()
().Network
().Network = {
BaseParts = {},
Velocity = .(,,)
}
Network.RetainPart = (p)
p:() p:()
.(Network.BaseParts,p)
p.CustomPhysicalProperties = PhysicalProperties.(,,,,)
p.CanCollide =
RunService.Heartbeat:(()
(LocalPlayer,,.huge)
_,p (Network.BaseParts)
p:()
p.Velocity = Network.Velocity
)
(id)
s = .(,SoundService)
s.SoundId = ..id
s:()
s.Ended:(() s:() )
()
PlayerState = {}
OrbitRadius = {}
parts = {}
(p)
p:()
p.Anchored
p:(LocalPlayer.Character)
_,d (:())
(d) .(parts,d)
.DescendantAdded:((p)
(p) .(parts,p)
)
gui = .(, PlayerGui)
gui.Name =
gui.ResetOnSpawn =
main = .(, gui)
main.Size = .(,,,)
main.Position = .(,,,-)
main.BackgroundColor3 = .(,,)
main.BorderSizePixel =
.(, main).CornerRadius = .(,)
title = .(, main)
title.Size = .(,,,)
title.Text =
title.Font = .Font.Fondamento
title.TextSize =
title.TextColor3 = .(,,)
title.BackgroundColor3 = .(,,)
.(, title)
minimize = .(, title)
minimize.Size = .(,,,)
minimize.Position = .(,-,,-)
minimize.Text =
minimize.Font = .Font.Fondamento
minimize.TextSize =
minimize.BackgroundColor3 = .(,,)
.(, minimize)
collapsed = .(, gui)
collapsed.Size = .(,,,)
collapsed.Position = .(,,,-)
collapsed.Text =
collapsed.Font = .Font.Fondamento
collapsed.TextSize =
collapsed.BackgroundColor3 = .(,,)
collapsed.Visible =
.(, collapsed)
lastPos = main.Position
minimize.MouseButton1Click:(()
lastPos = main.Position
main.Visible =
collapsed.Visible =
)
collapsed.MouseButton1Click:(()
main.Position = lastPos
main.Visible =
collapsed.Visible =
)
dragging, dragStart, startPos
title.InputBegan:((input)
input.UserInputType == .UserInputType.MouseButton1
dragging =
dragStart = input.Position
startPos = main.Position
)
title.InputEnded:((input)
input.UserInputType == .UserInputType.MouseButton1
dragging =
)
UserInputService.InputChanged:((input)
dragging input.UserInputType == .UserInputType.MouseMovement
delta = input.Position - dragStart
main.Position = .(
startPos.X.Scale,
startPos.X.Offset + delta.X,
startPos.Y.Scale,
startPos.Y.Offset + delta.Y
)
)
search = .(, main)
search.Size = .(,,,)
search.Position = .(,,,)
search.PlaceholderText =
search.Text =
search.Font = .Font.Fondamento
search.TextSize =
search.BackgroundColor3 = .(,,)
search.TextColor3 = .(,,)
.(, search)
list = .(, main)
list.Position = .(,,,)
list.Size = .(,,,)
list.ScrollBarImageTransparency =
layout = .(, list)
layout.Padding = .(,)
buttons = {}
confirm = .(, gui)
confirm.Size = .(,,,)
confirm.Position = .(,-,,-)
confirm.BackgroundColor3 = .(,,)
confirm.Visible =
.(, confirm)
cText = .(, confirm)
cText.Size = .(,,,)
cText.BackgroundTransparency =
cText.TextWrapped =
cText.Font = .Font.Fondamento
cText.TextSize =
cText.TextColor3 = .(,,)
yes = .(, confirm)
yes.Size = .(,,,)
yes.Position = .(,,,)
yes.Text =
yes.BackgroundColor3 = .(,,)
.(, yes)
no = .(, confirm)
no.Size = .(,,,)
no.Position = .(,,,)
no.Text =
no.BackgroundColor3 = .(,,)
.(, no)
currentRadius =
dec = .(, main)
dec.Size = .(,,,)
dec.Position = .(,,,)
dec.Text =
dec.Font = .Font.Fondamento
dec.TextSize =
dec.BackgroundColor3 = .(,,)
.(, dec)
inc = .(, main)
inc.Size = .(,,,)
inc.Position = .(,,,)
inc.Text =
inc.Font = .Font.Fondamento
inc.TextSize =
inc.BackgroundColor3 = .(,,)
.(, inc)
radiusLabel = .(, main)
radiusLabel.Size = .(,,,)
radiusLabel.Position = .(,,,)
radiusLabel.Text =
radiusLabel.Font = .Font.Fondamento
radiusLabel.TextSize =
radiusLabel.BackgroundColor3 = .(,,)
.(, radiusLabel)
inc.MouseButton1Click:(()
currentRadius +=
radiusLabel.Text = ..currentRadius
)
dec.MouseButton1Click:(()
currentRadius = .(, currentRadius - )
radiusLabel.Text = ..currentRadius
)
(filter)
_,b (buttons) b:()
.(buttons)
_,plr (Players:())
plr ~= LocalPlayer
name = (plr.DisplayName....plr.Name):()
filter name:(filter)
PlayerState[plr] = PlayerState[plr]
btn = .(, list)
btn.Size = .(,,,)
btn.Text = plr.DisplayName....plr.Name..
btn.Font = .Font.Fondamento
btn.TextSize =
.(, btn)
()
btn.BackgroundColor3 =
PlayerState[plr] ==
.(,,)
.(,,)
()
btn.MouseButton1Click:(()
PlayerState[plr] ==
cText.Text = ..plr.DisplayName..
confirm.Visible =
yes.MouseButton1Click:(()
PlayerState[plr] =
confirm.Visible =
()
)
no.MouseButton1Click:(()
confirm.Visible =
)
PlayerState[plr] =
OrbitRadius[plr] = currentRadius
()
)
.(buttons, btn)
list.CanvasSize = .(,,,layout.AbsoluteContentSize.Y + )
search:():(()
(search.Text:())
)
Players.PlayerAdded:(()
(search.Text:())
)
Players.PlayerRemoving:((plr)
PlayerState[plr] =
OrbitRadius[plr] =
(search.Text:())
)
()
RunService.Heartbeat:(()
plr,state (PlayerState)
state ==
hrp = plr.Character plr.Character:()
hrp
center = hrp.Position
radius = OrbitRadius[plr] currentRadius
_,part (parts)
pos = part.Position
angle = .(pos.Z-center.Z,pos.X-center.X) +
target = .(
center.X + .(angle)*radius,
center.Y,
center.Z + .(angle)*radius
)
part.Velocity = (target - pos).Unit *
)
StarterGui:(,{
Title=,
Text=,
Duration=
})
This is "Partially" Universal, but its best with "The Chosen One" What does this Script do exactly? First off, unlike the original Super Ring Parts, There is NO chat. Secondly This one is Open source Code, And thirdly. unlike other Super rings where it just orbit yourself, now the part can orbit other people that you chose to, Which means...YOU CAN BLAME THEM FOR CHEATING. even if they weren't cheating, Pretty Mischievous Script And This Script is also tested btw: XL server: works (people mad too) Normal Server: Works (people confuse and mad lol) OG server: Untested (Sorry)
The Chosen One