Run it
Copy the script and paste it into your executor.
Players = :()
RunService = :()
SoundService = :()
UserInputService = :()
TweenService = :()
LocalPlayer = Players.LocalPlayer
PlayerGui = LocalPlayer:()
Camera = .CurrentCamera
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 = {}
PlayerMode = {}
parts = {}
selfActive =
selfMode =
selfRadius =
MODES = {, , , , , }
selectedPlayer =
selectionBox =
selectionAdornee =
worldMenuGui =
(p)
p:()
p.Anchored
p:(LocalPlayer.Character)
_, d (:())
(d) .(parts, d)
.DescendantAdded:((p)
(p) .(parts, p)
)
scatterMap = {}
(part)
scatterMap[part]
scatterMap[part] = .(
.(-,)*.(,),
.(,),
.(-,)*.(,)
)
scatterMap[part]
(mode, center, radius, index, total, part)
mode ==
pos = part.Position
angle = .(pos.Z-center.Z, pos.X-center.X) +
.(center.X+.(angle)*radius, center.Y, center.Z+.(angle)*radius)
mode ==
angle = (index/total)*.pi*
.(center.X+.(angle)*radius, center.Y, center.Z+.(angle)*radius)
mode ==
cols = .(.(total))
row = .((index-)/cols)
col = (index-)%cols
spacing = radius/cols*
.(center.X+(col-cols/)*spacing, center.Y, center.Z+(row-cols/)*spacing)
mode ==
t = (index/total)*.pi*
r = (index/total)*radius
.(center.X+.(t)*r, center.Y+(index/total)*, center.Z+.(t)*r)
mode ==
pos = part.Position
angle = .(pos.Z-center.Z, pos.X-center.X)+
dist = .(,(.(pos.X,center.Y,pos.Z)-center).Magnitude-)
.(center.X+.(angle)*dist, center.Y, center.Z+.(angle)*dist)
mode ==
center + (part)
center
(mode, center, radius, partList)
total = #partList
i, part (partList)
target = (mode, center, radius, i, total, part)
vel = (target - part.Position).Unit *
vel == vel part.Velocity = vel
(target)
total = #parts
i, part (parts)
angle = (i/total)*.pi*
spread = .(.(angle), .()*, .(angle)) * .(,)
part.Velocity = (target - part.Position).Unit * + spread
C_BG = .(, , )
C_PANEL = .(, , )
C_BORDER = .(, , )
C_TITLEBAR = .(, , )
C_BTN = .(, , )
C_BTN_HOV = .(, , )
C_GREEN = .(, , )
C_RED = .(, , )
C_YELLOW = .(, , )
C_TEXT = .(, , )
C_MUTED = .(, , )
C_WHITE = .(, , )
FONT = .Font.Legacy
FONT_MONO = .Font.RobotoMono
gui = .(, PlayerGui)
gui.Name =
gui.ResetOnSpawn =
gui.DisplayOrder =
(parent, size, pos, bg, borderCol)
f = .(, parent)
f.Size = size
f.Position = pos
f.BackgroundColor3 = bg C_BG
f.BorderSizePixel =
f.BorderColor3 = borderCol C_BORDER
f
(parent, size, pos, text, col)
b = .(, parent)
b.Size = size
b.Position = pos
b.Text = text
b.Font = FONT
b.TextSize =
b.TextColor3 = C_WHITE
b.BackgroundColor3 = col C_BTN
b.BorderSizePixel =
b.BorderColor3 = C_BORDER
b.AutoButtonColor =
b
(parent, size, pos, text, sz, col, align)
l = .(, parent)
l.Size = size
l.Position = pos
l.Text = text
l.Font = FONT
l.TextSize = sz
l.TextColor3 = col C_TEXT
l.BackgroundTransparency =
l.TextXAlignment = align .TextXAlignment.Left
l
main = (gui,
.(, , , ),
.(, , , -),
C_BG, C_BORDER
)
titleBar = (main,
.(, , , ),
.(,,,),
C_TITLEBAR, C_BORDER
)
(titleBar,
.(,-,,), .(,,,),
, , C_WHITE
)
minBtn = (titleBar, .(,,,), .(,-,,), , .(,,))
collapsed = (gui, .(,,,), .(,,,-), C_TITLEBAR, C_BORDER)
(collapsed, .(,-,,), .(,,,), , , C_WHITE)
colExpand = (collapsed, .(,,,), .(,-,,), , .(,,))
collapsed.Visible =
dragging, dragStart, startPos
titleBar.InputBegan:((i)
i.UserInputType == .UserInputType.MouseButton1
dragging=; dragStart=i.Position; startPos=main.Position
)
titleBar.InputEnded:((i)
i.UserInputType == .UserInputType.MouseButton1 dragging=
)
UserInputService.InputChanged:((i)
dragging i.UserInputType==.UserInputType.MouseMovement
d=i.Position-dragStart
main.Position=.(startPos.X.Scale, startPos.X.Offset+d.X, startPos.Y.Scale, startPos.Y.Offset+d.Y)
)
minBtn.MouseButton1Click:(()
main.Visible=; collapsed.Visible=
)
colExpand.MouseButton1Click:(()
main.Visible=; collapsed.Visible=
)
Y =
(text, y)
div = .(, main)
div.Size = .(,-,,)
div.Position = .(,,,y)
div.BackgroundColor3 = C_BORDER
div.BorderSizePixel =
(main, .(,-,,), .(,,,y+), ..text.., , C_MUTED)
y+
Y = (, Y)
modeFrame = .(, main)
modeFrame.Size = .(,-,,)
modeFrame.Position = .(,,,Y)
modeFrame.BackgroundTransparency =
modeGrid = .(, modeFrame)
modeGrid.CellSize = .(,,,)
modeGrid.CellPadding = .(,,,)
modeButtons = {}
selectedMode =
(mode)
selectedMode = mode; selfMode = mode
plr, state (PlayerState)
state== PlayerMode[plr]=mode
_, b (modeButtons)
active = b.Name==mode
b.BackgroundColor3 = active C_TITLEBAR C_BTN
b.TextColor3 = active C_WHITE C_MUTED
b.BorderColor3 = active C_WHITE C_BORDER
_, mode (MODES)
b = (modeFrame, .(,,,), .(,,,), mode, C_BTN)
b.Name = mode; b.TextSize =
b.MouseButton1Click:(() (mode) )
modeButtons[mode] = b
()
Y = Y +
Y = (, Y)
currentRadius =
radiusRow = .(, main)
radiusRow.Size = .(,-,,)
radiusRow.Position = .(,,,Y)
radiusRow.BackgroundTransparency =
decBtn = (radiusRow, .(,,,), .(,,,), , C_BTN)
incBtn = (radiusRow, .(,,,), .(,-,,), , C_BTN)
radLbl = (radiusRow, .(,-,,), .(,,,),
, , C_TEXT, .TextXAlignment.Center)
radLbl.BackgroundColor3 = C_PANEL; radLbl.BackgroundTransparency =
radLbl.BorderSizePixel = ; radLbl.BorderColor3 = C_BORDER
incBtn.MouseButton1Click:(()
currentRadius+=; selfRadius=currentRadius; radLbl.Text=..currentRadius
)
decBtn.MouseButton1Click:(()
currentRadius=.(,currentRadius-); selfRadius=currentRadius; radLbl.Text=..currentRadius
)
Y = Y +
Y = (, Y)
selfBtn = (main, .(,-,,), .(,,,Y),
, C_BTN)
selfBtn.TextSize =
selfBtn.MouseButton1Click:(()
selfActive = selfActive
selfActive
selfBtn.Text=
selfBtn.BackgroundColor3=C_GREEN
selfBtn.Text=
selfBtn.BackgroundColor3=C_BTN
)
Y = Y +
Y = (, Y)
searchBox = .(, main)
searchBox.Size = .(,-,,)
searchBox.Position = .(,,,Y)
searchBox.PlaceholderText =
searchBox.Text =
searchBox.Font = FONT
searchBox.TextSize =
searchBox.BackgroundColor3 = C_PANEL
searchBox.TextColor3 = C_TEXT
searchBox.PlaceholderColor3 = C_MUTED
searchBox.BorderSizePixel =
searchBox.BorderColor3 = C_BORDER
Y = Y +
playerList = .(, main)
playerList.Size = .(,-,,)
playerList.Position = .(,,,Y)
playerList.BackgroundColor3 = C_PANEL
playerList.BorderSizePixel =
playerList.BorderColor3 = C_BORDER
playerList.ScrollBarThickness =
playerList.ScrollBarImageColor3 = C_BORDER
playerList.CanvasSize = .(,,,)
listLayout = .(, playerList)
listLayout.Padding = .(,)
plrButtons = {}
(filter)
_, b (plrButtons) b:()
.(plrButtons)
_, plr (Players:())
plr ~= LocalPlayer
nm = (plr.DisplayName....plr.Name):()
filter filter~= nm:(filter:())
PlayerState[plr] = PlayerState[plr]
PlayerMode[plr] = PlayerMode[plr] selectedMode
b = (playerList, .(,-,,), .(,,,),
plr.DisplayName....plr.Name.., C_BTN)
b.TextSize =
()
active = PlayerState[plr]==
b.BackgroundColor3 = active C_GREEN C_BTN
b.TextColor3 = active C_WHITE C_MUTED
b.Text = (active )..plr.DisplayName....plr.Name..
()
b.MouseButton1Click:(()
PlayerState[plr]==
PlayerState[plr]=
PlayerState[plr]=
PlayerMode[plr]=selectedMode
OrbitRadius[plr]=currentRadius
()
)
.(plrButtons, b)
playerList.CanvasSize = .(,,,listLayout.AbsoluteContentSize.Y+)
searchBox:():(() (searchBox.Text) )
Players.PlayerAdded:(() (searchBox.Text) )
Players.PlayerRemoving:((plr)
PlayerState[plr]=; OrbitRadius[plr]=; PlayerMode[plr]=
(searchBox.Text)
)
()
()
selectionBox selectionBox:(); selectionBox=
worldMenuGui worldMenuGui:(); worldMenuGui=
selectedPlayer = ; selectionAdornee =
(plr, model)
worldMenuGui worldMenuGui:()
bg = .(, )
bg.Name =
bg.Adornee = model:() model.PrimaryPart model
bg.Size = .(, , , )
bg.StudsOffset = .(, , )
bg.AlwaysOnTop =
bg.MaxDistance =
panel = (bg, .(,,,), .(,,,), C_BG, C_GREEN)
(panel, .(,,,), .(,,,),
plr.DisplayName, , C_WHITE, .TextXAlignment.Center)
flingBtn = (panel, .(,-,,), .(,,,),
, C_RED)
flingBtn.TextSize =
flingBtn.MouseButton1Click:(()
hrp = plr.Character plr.Character:()
hrp
(hrp.Position)
flingBtn.Text =
flingBtn.BackgroundColor3 = C_YELLOW
.(, ()
flingBtn flingBtn.Parent
flingBtn.Text =
flingBtn.BackgroundColor3 = C_RED
)
)
orbitBtn = (panel, .(,-,,), .(,,,),
, C_TITLEBAR)
orbitBtn.TextSize =
()
active = PlayerState[plr]==
orbitBtn.Text = active
orbitBtn.BackgroundColor3 = active C_GREEN C_TITLEBAR
()
orbitBtn.MouseButton1Click:(()
PlayerState[plr]==
PlayerState[plr]=
PlayerState[plr]=
PlayerMode[plr]=selectedMode
OrbitRadius[plr]=currentRadius
()
(searchBox.Text)
)
worldMenuGui = bg
(plr)
model = plr.Character
model
selectedPlayer == plr
selectionBox
selectionBox.Color3 = C_RED
selectionBox.SurfaceColor3 = C_RED
tw = TweenService:(selectionBox,
TweenInfo.(, .EasingStyle.Linear),
{LineThickness = , SurfaceTransparency = }
)
tw:()
tw.Completed:(() () )
worldMenuGui
tw = TweenService:(worldMenuGui,
TweenInfo.(, .EasingStyle.Linear),
{}
)
panel = worldMenuGui:()
panel
TweenService:(panel, TweenInfo.(), {BackgroundTransparency=}):()
_, c (panel:())
c:() c:()
TweenService:(c, TweenInfo.(), {TextTransparency=, BackgroundTransparency=}):()
.(, ()
worldMenuGui worldMenuGui:(); worldMenuGui=
)
selectedPlayer =
()
selectedPlayer = plr
selectionAdornee = model
sb = .(, )
sb.Adornee = model
sb.Color3 = C_GREEN
sb.SurfaceColor3 = C_GREEN
sb.SurfaceTransparency =
sb.LineThickness =
selectionBox = sb
(plr, model)
Players.PlayerRemoving:((plr)
selectedPlayer==plr ()
)
mouse = LocalPlayer:()
mouse.Button1Down:(()
guiObjects = PlayerGui:(mouse.X, mouse.Y)
#guiObjects >
target = mouse.Target
target ();
_, plr (Players:())
plr ~= LocalPlayer plr.Character target:(plr.Character)
(plr)
()
)
Players.PlayerAdded:((plr)
plr.CharacterAdded:((char)
selectedPlayer==plr
.()
(plr)
)
)
_, plr (Players:())
plr.CharacterAdded:(()
selectedPlayer==plr
.()
(plr)
)
RunService.Heartbeat:(()
selfActive
hrp = LocalPlayer.Character LocalPlayer.Character:()
hrp (selfMode, hrp.Position, selfRadius, parts)
plr, state (PlayerState)
state==
hrp = plr.Character plr.Character:()
hrp
(PlayerMode[plr] selectedMode, hrp.Position, OrbitRadius[plr] currentRadius, parts)
)flings people using network owner etc many modes and unique gui

Universal