SHOW:
|
|
- or go back to the newest paste.
1 | -- .offset (how close the hats are to you) | |
2 | -- .mode (different modes up to 11) | |
3 | -- .speed (how fast the hats move) | |
4 | --Reanimate | |
5 | loadstring(game:HttpGet("https://pastebin.com/raw/YBMWtriH"))() | |
6 | ||
7 | lol = getcustomasset or getsynasset | |
8 | getgenv().LoadLibrary = function(lib) return loadstring(game:HttpGet("https://raw.githubusercontent.com/Roblox/Core-Scripts/master/CoreScriptsRoot/Libraries/" .. lib .. ".lua"))() end | |
9 | ||
10 | local plr = game.Players.LocalPlayer; | |
11 | local chr = plr.Character; | |
12 | local hum = chr.Humanoid; | |
13 | local mov = {}; | |
14 | local mov2 = {}; | |
15 | ||
16 | --[[Network]] | |
17 | coroutine.resume(coroutine.create(function() | |
18 | settings().Physics.AllowSleep = false; | |
19 | game.RunService.RenderStepped:Connect(function() | |
20 | for i, v in pairs(game.Players:GetPlayers()) do | |
21 | if v ~= plr then | |
22 | v.MaximumSimulationRadius = 0.1; | |
23 | v.SimulationRadius = 0; | |
24 | else | |
25 | v.MaximumSimulationRadius = math.pow(math.huge, math.huge); | |
26 | v.SimulationRadius = math.pow(math.huge, 2); | |
27 | end | |
28 | end | |
29 | end) | |
30 | end)) | |
31 | ||
32 | function ftp(str) | |
33 | local pt = {}; | |
34 | if str ~= 'me' and str ~= 'random' then | |
35 | for i, v in pairs(game.Players:GetPlayers()) do | |
36 | if v.Name:lower():find(str:lower()) then | |
37 | table.insert(pt, v); | |
38 | end | |
39 | end | |
40 | elseif str == 'me' then | |
41 | table.insert(pt, plr); | |
42 | elseif str == 'random' then | |
43 | table.insert(pt, game.Players:GetPlayers()[math.random(1, #game.Players:GetPlayers())]); | |
44 | end | |
45 | return pt; | |
46 | end | |
47 | ||
48 | for _, v in pairs(hum:GetAccessories()) do | |
49 | local b = v.Handle; | |
50 | b.CustomPhysicalProperties = PhysicalProperties.new(0, 0, 0, 0, 0); | |
51 | b.CanCollide = false; | |
52 | b:BreakJoints(); | |
53 | for _, k in pairs(v:GetChildren()) do | |
54 | if not k:IsA'SpecialMesh' and not k:IsA'Part' then | |
55 | k:Destroy(); | |
56 | end | |
57 | end | |
58 | local still = Instance.new('BodyAngularVelocity', b); | |
59 | still.MaxTorque = Vector3.new(math.huge, math.huge, math.huge); | |
60 | still.AngularVelocity = Vector3.new(0, 0, 0); | |
61 | local align = Instance.new('AlignPosition', b); | |
62 | align.MaxForce = 1000000; | |
63 | align.MaxVelocity = math.huge; | |
64 | align.RigidityEnabled = false; | |
65 | align.ApplyAtCenterOfMass = true; | |
66 | align.Responsiveness = 200; | |
67 | local a0 = Instance.new('Attachment', b); | |
68 | local a1 = Instance.new('Attachment', chr.Head); | |
69 | align.Attachment0 = a0; | |
70 | align.Attachment1 = a1; | |
71 | table.insert(mov, a1); | |
72 | table.insert(mov2, still); | |
73 | end | |
74 | ||
75 | local par = {}; | |
76 | for _, v in pairs(mov) do | |
77 | local parr = Instance.new('Part', workspace); | |
78 | parr.Anchored = true; | |
79 | parr.Size = Vector3.new(1, 1, 1); | |
80 | parr.Transparency = 1; | |
81 | parr.CanCollide = false; | |
82 | table.insert(par, parr); | |
83 | end | |
84 | ||
85 | local rotx = 0; | |
86 | local rotz = math.pi / 2; | |
87 | local height = 0; | |
88 | local heighti = 1; | |
89 | local offset = 10; | |
90 | local speed = 0.5; | |
91 | local mode = 4; | |
92 | local angular = Vector3.new(0, 0, 0); | |
93 | local l = 1; | |
94 | game['Run Service'].RenderStepped:Connect(function() | |
95 | rotx = rotx + speed / 100; | |
96 | rotz = rotz + speed / 100; | |
97 | l = (l >= 360 and 1 or l + speed); | |
98 | ||
99 | for i, v in pairs(par) do | |
100 | v.CFrame = CFrame.new(chr.HumanoidRootPart.Position) * CFrame.fromEulerAnglesXYZ(0, math.rad(l + (360 / #par) * i + speed), 0) * CFrame.new(offset, 0, 0); | |
101 | end | |
102 | ||
103 | if heighti == 1 then | |
104 | height = height + speed / 100; | |
105 | elseif heighti == 2 then | |
106 | height = height - speed / 100; | |
107 | end | |
108 | if height > 2 then | |
109 | heighti = 2; | |
110 | end | |
111 | if height < -1 then | |
112 | heighti = 1; | |
113 | end | |
114 | ||
115 | if mode == 1 then | |
116 | for _, v in pairs(mov) do | |
117 | v.Position = Vector3.new(math.sin(rotx) * offset, 0, math.sin(rotz) * offset); | |
118 | end | |
119 | elseif mode == 2 then | |
120 | for _, v in pairs(mov) do | |
121 | v.Position = Vector3.new(offset, height, offset); | |
122 | end | |
123 | elseif mode == 3 then | |
124 | for _, v in pairs(mov) do | |
125 | v.Position = Vector3.new(math.sin(rotx) * offset, height, math.sin(rotz) * offset); | |
126 | end | |
127 | elseif mode == 4 then | |
128 | for i, v in pairs(mov) do | |
129 | v.Position = Vector3.new(chr.HumanoidRootPart.CFrame:ToObjectSpace(CFrame.new(par[i].Position)).X, chr.HumanoidRootPart.CFrame:ToObjectSpace(CFrame.new(par[i].Position)).Y, chr.HumanoidRootPart.CFrame:ToObjectSpace(CFrame.new(par[i].Position)).Z); | |
130 | end | |
131 | elseif mode == 5 then | |
132 | for i, v in pairs(mov) do | |
133 | v.Position = Vector3.new((math.sin(rotx)) * offset, height, (math.cos(rotz) - i) * offset); | |
134 | end | |
135 | elseif mode == 6 then | |
136 | for i, v in pairs(mov) do | |
137 | v.Position = Vector3.new((math.sin(rotx)) * offset, height, (math.tan(rotz) - i) * offset); | |
138 | end | |
139 | elseif mode == 7 then | |
140 | for i, v in pairs(mov) do | |
141 | v.Position = Vector3.new(math.cos(rotx * i) * offset, 0, math.cos(rotz * i) * offset); | |
142 | end | |
143 | elseif mode == 8 then | |
144 | for i, v in pairs(mov) do | |
145 | v.Position = Vector3.new(math.sin(rotx) * i * offset, 0, math.sin(rotz) * i * offset); | |
146 | end | |
147 | elseif mode == 9 then | |
148 | pcall(function() | |
149 | local so = nil; | |
150 | for k, b in pairs(chr:GetChildren()) do | |
151 | if b:IsA'Tool' then | |
152 | for h, j in pairs(b:GetDescendants()) do | |
153 | if j:IsA'Sound' then | |
154 | so = j; | |
155 | end | |
156 | end | |
157 | end | |
158 | end | |
159 | if so ~= nil then | |
160 | offset = so.PlaybackLoudness / 35; | |
161 | speed = so.PlaybackLoudness / 500; | |
162 | angular = Vector3.new(0, so.PlaybackLoudness / 75, 0); | |
163 | end | |
164 | end) | |
165 | for i, v in pairs(mov) do | |
166 | v.Position = Vector3.new(chr.HumanoidRootPart.CFrame:ToObjectSpace(CFrame.new(par[i].Position)).X, chr.HumanoidRootPart.CFrame:ToObjectSpace(CFrame.new(par[i].Position)).Y, chr.HumanoidRootPart.CFrame:ToObjectSpace(CFrame.new(par[i].Position)).Z); | |
167 | end | |
168 | elseif mode == 10 then | |
169 | offset = height * 15; | |
170 | for i, v in pairs(mov) do | |
171 | v.Position = Vector3.new(chr.HumanoidRootPart.CFrame:ToObjectSpace(CFrame.new(par[i].Position)).X, chr.HumanoidRootPart.CFrame:ToObjectSpace(CFrame.new(par[i].Position)).Y, chr.HumanoidRootPart.CFrame:ToObjectSpace(CFrame.new(par[i].Position)).Z); | |
172 | end | |
173 | elseif mode == 11 then | |
174 | for i, v in pairs(mov) do | |
175 | v.Position = Vector3.new(chr.HumanoidRootPart.CFrame:ToObjectSpace(CFrame.new(plr:GetMouse().Hit.p)).X, chr.HumanoidRootPart.CFrame:ToObjectSpace(CFrame.new(plr:GetMouse().Hit.p)).Y, chr.HumanoidRootPart.CFrame:ToObjectSpace(CFrame.new(plr:GetMouse().Hit.p)).Z) + Vector3.new(chr.HumanoidRootPart.CFrame:ToObjectSpace(CFrame.new(par[i].Position)).X, chr.HumanoidRootPart.CFrame:ToObjectSpace(CFrame.new(par[i].Position)).Y, chr.HumanoidRootPart.CFrame:ToObjectSpace(CFrame.new(par[i].Position)).Z); | |
176 | end | |
177 | end | |
178 | for _, v in pairs(mov2) do | |
179 | v.AngularVelocity = angular; | |
180 | end | |
181 | end) | |
182 | game.Players.LocalPlayer.Chatted:Connect(function(c) | |
183 | if c:split(' ')[1] == '.orbit' then | |
184 | for _, v in pairs(mov) do | |
185 | chr = ftp(c:split(' ')[2])[1].Character; | |
186 | v.Parent = ftp(c:split(' ')[2])[1].Character.HumanoidRootPart; | |
187 | end | |
188 | end | |
189 | if c:split(' ')[1] == '.speed' then | |
190 | speed = tonumber(c:split(' ')[2]); | |
191 | end | |
192 | if c:split(' ')[1] == '.mode' then | |
193 | mode = tonumber(c:split(' ')[2]); | |
194 | end | |
195 | if c:split(' ')[1] == '.offset' then | |
196 | offset = tonumber(c:split(' ')[2]); | |
197 | end | |
198 | - | for i,v in next, game:GetService("Players").LocalPlayer.Character:GetDescendants() do |
198 | + | |
199 | - | if v:IsA("BasePart") and v.Name ~="HumanoidRootPart" then |
199 | + | |
200 | - | game:GetService("RunService").Heartbeat:connect(function() |
200 | + | |
201 | - | v.Velocity = Vector3.new(-30,0,0) |
201 | + | end) |