Run it
Copy the script and paste it into your executor.
Players = :()
RunService = :()
TweenService = :()
LocalPlayer = Players.LocalPlayer
Dancing =
().Physics.AllowSleep =
().Physics.PhysicsEnvironmentalThrottle = .EnviromentalPhysicsThrottle.Disabled
(LocalPlayer, , .huge)
DanceSystem = {
Parts = {},
CurrentDance = ,
DanceTime = ,
GroupCenter = .(, , )
}
DanceMoves = {
{
Duration = ,
Steps = (data, time, center)
t = time *
{
Position = center + .(
.(t) * ,
.(.(t * )) * ,
.(t) *
),
Rotation = .(
.(t) * ,
t * ,
.(t) *
)
}
},
{
Duration = ,
Steps = (data, time, center)
t = time *
{
Position = center + .(
.(.(t) * ) * ,
.(.(t * )) * ,
.(.(t) * ) *
),
Rotation = .(
.(time * ) % ,
.(time * ) % ,
.(time * ) %
)
}
},
{
Duration = ,
Steps = (data, time, center)
t = time *
{
Position = center + .(
.(t) * * .(t),
.(.(t * )) * ,
.(t) * * .(t)
),
Rotation = .(
t * ,
.(t) * ,
t *
)
}
},
{
Duration = ,
Steps = (data, time, center)
wave = .(time * ) *
t = time *
{
Position = center + .(
.(t + data.Offset) * ,
wave + .(t * ) * ,
.(t + data.Offset) *
),
Rotation = .(
wave * ,
t * ,
.(t) *
)
}
},
{
Duration = ,
Steps = (data, time, center)
t = time *
shuffle = .(t * ) * .(t)
{
Position = center + .(
shuffle * ,
.(.(t * )) * ,
.(t * ) *
),
Rotation = .(
,
shuffle * ,
.(t) *
)
}
}
}
DanceSystem:(part)
part:() part.Anchored part:(LocalPlayer.Character)
part.CustomPhysicalProperties = PhysicalProperties.(, , , , )
attachment = .()
attachment.Parent = part
alignPosition = .()
alignPosition.Mode = .PositionAlignmentMode.OneAttachment
alignPosition.Attachment0 = attachment
alignPosition.MaxForce = .huge
alignPosition.MaxVelocity = .huge
alignPosition.Responsiveness =
alignPosition.Parent = part
gyro = .()
gyro.MaxTorque = .(.huge, .huge, .huge)
gyro.P =
gyro.Parent = part
self.Parts[part] = {
Attachment = attachment,
AlignPosition = alignPosition,
Gyro = gyro,
StartPos = part.Position,
Offset = #self.Parts * ,
BaseY = part.Position.Y
}
self.GroupCenter = self.GroupCenter + part.Position
DanceSystem:()
(self.Parts)
self.GroupCenter = .(, , )
count =
part, _ (self.Parts)
part part.Parent
self.GroupCenter = self.GroupCenter + part.Position
count = count +
count >
self.GroupCenter = self.GroupCenter / count
DanceSystem:()
self:()
currentDance = DanceMoves[self.CurrentDance]
nextDance = DanceMoves[self.CurrentDance % #DanceMoves + ]
part, data (self.Parts)
part part.Parent
current = currentDance.(data, self.DanceTime, self.GroupCenter)
= nextDance.(data, self.DanceTime, self.GroupCenter)
blend = .((self.DanceTime % currentDance.Duration) / currentDance.Duration, , )
finalPos = current.Position:(.Position, blend)
finalRot = .(
(current.Rotation.X, .Rotation.X, blend),
(current.Rotation.Y, .Rotation.Y, blend),
(current.Rotation.Z, .Rotation.Z, blend)
)
data.AlignPosition.Position = finalPos
data.Gyro.CFrame = .(finalPos) * .(
.(finalRot.X),
.(finalRot.Y),
.(finalRot.Z)
)
part.Velocity = (finalPos - part.Position) *
self.Parts[part] =
(a, b, t)
a + (b - a) * t
RunService.Heartbeat:(()
Dancing
DanceSystem.DanceTime = DanceSystem.DanceTime +
DanceSystem.DanceTime >= DanceMoves[DanceSystem.CurrentDance].Duration
DanceSystem.CurrentDance = DanceSystem.CurrentDance % #DanceMoves +
DanceSystem.DanceTime =
(LocalPlayer, , .huge)
DanceSystem:()
)
_, part (:())
DanceSystem:(part)
.DescendantAdded:((part)
DanceSystem:(part)
)
gui = .()
gui.Parent = :()
frame = .()
frame.Size = .(, , , )
frame.Position = .(, , , )
frame.BackgroundColor3 = .(, , )
frame.BackgroundTransparency =
frame.Parent = gui
corner = .()
corner.CornerRadius = .(, )
corner.Parent = frame
toggleBtn = .()
toggleBtn.Size = .(, , , )
toggleBtn.Position = .(, , , )
toggleBtn.BackgroundColor3 = .(, , )
toggleBtn.TextColor3 = .(, , )
toggleBtn.Text =
toggleBtn.Parent = frame
danceModeBtn = .()
danceModeBtn.Size = .(, , , )
danceModeBtn.Position = .(, , , )
danceModeBtn.BackgroundColor3 = .(, , )
danceModeBtn.TextColor3 = .(, , )
danceModeBtn.Text =
danceModeBtn.Parent = frame
cornerBtn1 = .()
cornerBtn1.CornerRadius = .(, )
cornerBtn1.Parent = toggleBtn
cornerBtn2 = .()
cornerBtn2.CornerRadius = .(, )
cornerBtn2.Parent = danceModeBtn
toggleBtn.MouseButton1Click:(()
Dancing = Dancing
toggleBtn.Text = Dancing
)
danceModeBtn.MouseButton1Click:(()
DanceSystem.CurrentDance = DanceSystem.CurrentDance % #DanceMoves +
DanceSystem.DanceTime =
)
()
Its making all unachored parts dancing if you want settings do ENJOY SKIDS

Universal