Advertisement
ForkFullFight

Fe hat orbit

Jul 20th, 2023
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  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. if c:split(' ')[1] == '.angular' then
  199. angular = Vector3.new(tonumber(c:split(' ')[2]), tonumber(c:split(' ')[3]), tonumber(c:split(' ')[4]));
  200. end
  201. end)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement