Run it
Copy the script and paste it into your executor.
plr = .Players.LocalPlayer;
chr = plr.Character;
hum = chr.Humanoid;
mov = {};
mov2 = {};
.(.(()
().Physics.AllowSleep = ;
.RunService.RenderStepped:(()
i, v (.Players:())
v ~= plr
v.MaximumSimulationRadius = ;
v.SimulationRadius = ;
v.MaximumSimulationRadius = .(.huge, .huge);
v.SimulationRadius = .(.huge, );
)
))
(str)
pt = {};
str ~= str ~=
i, v (.Players:())
v.Name:():(str:())
.(pt, v);
str ==
.(pt, plr);
str ==
.(pt, .Players:()[.(, #.Players:())]);
pt;
_, v (hum:())
b = v.Handle;
b.CustomPhysicalProperties = PhysicalProperties.(, , , , );
b.CanCollide = ;
b:();
_, k (v:())
k: k:
k:();
still = .(, b);
still.MaxTorque = .(.huge, .huge, .huge);
still.AngularVelocity = .(, , );
align = .(, b);
align.MaxForce = ;
align.MaxVelocity = .huge;
align.RigidityEnabled = ;
align.ApplyAtCenterOfMass = ;
align.Responsiveness = ;
a0 = .(, b);
a1 = .(, chr.Head);
align.Attachment0 = a0;
align.Attachment1 = a1;
.(mov, a1);
.(mov2, still);
par = {};
_, v (mov)
parr = .(, );
parr.Anchored = ;
parr.Size = .(, , );
parr.Transparency = ;
parr.CanCollide = ;
.(par, parr);
rotx = ;
rotz = .pi / ;
height = ;
heighti = ;
offset = ;
speed = ;
mode = ;
angular = .(, , );
l = ;
[].RenderStepped:(()
rotx = rotx + speed / ;
rotz = rotz + speed / ;
l = (l >= l + speed);
i, v (par)
v.CFrame = .(chr.HumanoidRootPart.Position) * .(, .(l + ( / #par) * i + speed), ) * .(offset, , );
heighti ==
height = height + speed / ;
heighti ==
height = height - speed / ;
height >
heighti = ;
height < -
heighti = ;
mode ==
_, v (mov)
v.Position = .(.(rotx) * offset, , .(rotz) * offset);
mode ==
_, v (mov)
v.Position = .(offset, height, offset);
mode ==
_, v (mov)
v.Position = .(.(rotx) * offset, height, .(rotz) * offset);
mode ==
i, v (mov)
v.Position = .(chr.HumanoidRootPart.CFrame:(.(par[i].Position)).X, chr.HumanoidRootPart.CFrame:(.(par[i].Position)).Y, chr.HumanoidRootPart.CFrame:(.(par[i].Position)).Z);
mode ==
i, v (mov)
v.Position = .((.(rotx)) * offset, height, (.(rotz) - i) * offset);
mode ==
i, v (mov)
v.Position = .((.(rotx)) * offset, height, (.(rotz) - i) * offset);
mode ==
i, v (mov)
v.Position = .(.(rotx * i) * offset, , .(rotz * i) * offset);
mode ==
i, v (mov)
v.Position = .(.(rotx) * i * offset, , .(rotz) * i * offset);
mode ==
(()
so = ;
k, b (chr:())
b:
h, j (b:())
j:
so = j;
so ~=
offset = so.PlaybackLoudness / ;
speed = so.PlaybackLoudness / ;
angular = .(, so.PlaybackLoudness / , );
)
i, v (mov)
v.Position = .(chr.HumanoidRootPart.CFrame:(.(par[i].Position)).X, chr.HumanoidRootPart.CFrame:(.(par[i].Position)).Y, chr.HumanoidRootPart.CFrame:(.(par[i].Position)).Z);
mode ==
offset = height * ;
i, v (mov)
v.Position = .(chr.HumanoidRootPart.CFrame:(.(par[i].Position)).X, chr.HumanoidRootPart.CFrame:(.(par[i].Position)).Y, chr.HumanoidRootPart.CFrame:(.(par[i].Position)).Z);
mode ==
i, v (mov)
v.Position = .(chr.HumanoidRootPart.CFrame:(.(plr:().Hit.p)).X, chr.HumanoidRootPart.CFrame:(.(plr:().Hit.p)).Y, chr.HumanoidRootPart.CFrame:(.(plr:().Hit.p)).Z) + .(chr.HumanoidRootPart.CFrame:(.(par[i].Position)).X, chr.HumanoidRootPart.CFrame:(.(par[i].Position)).Y, chr.HumanoidRootPart.CFrame:(.(par[i].Position)).Z);
_, v (mov2)
v.AngularVelocity = angular;
)
.Players.LocalPlayer.Chatted:((c)
c:()[] ==
_, v (mov)
chr = (c:()[])[].Character;
v.Parent = (c:()[])[].Character.HumanoidRootPart;
c:()[] ==
speed = (c:()[]);
c:()[] ==
mode = (c:()[]);
c:()[] ==
offset = (c:()[]);
c:()[] ==
angular = .((c:()[]), (c:()[]), (c:()[]));
)
i,v , :().LocalPlayer.Character:()
v:() v.Name ~=
:().Heartbeat:(()
v.Velocity = .(-,,)
)
:():(, {
Title = ;
Text = ;
Icon = })
Duration = ;Ever wanted to have hats orbiting over you?, this this script you can make you dream came true!, (NOTE: this is just visual, nobody can see it, only you can see it)