game:GetService("TextChatService").TextChannels.RBXGeneral:SendAsync("-gh 135335415752011") game:GetService("TextChatService").TextChannels.RBXGeneral:SendAsync("-net") task.wait(2) local player = game.Players.LocalPlayer local char = player.Character _G.loop = true local Align = function(Part0, Part1, Mesh) local Aligns = { AlignOrientation = Instance.new("AlignOrientation", Part0), AlignPosition = Instance.new("AlignPosition", Part0) } local Attachments = { Attach0 = Instance.new("Attachment", Part0), Attach1 = Instance.new("Attachment", Part1) } local m = Part0:FindFirstChildOfClass("SpecialMesh") if Mesh and m then m:Destroy() end Part0:BreakJoints() Aligns.AlignOrientation.Attachment0 = Attachments.Attach0 Aligns.AlignOrientation.Attachment1 = Attachments.Attach1 Aligns.AlignOrientation.Responsiveness = math.huge Aligns.AlignOrientation.RigidityEnabled = true Aligns.AlignOrientation.MaxTorque = math.huge Aligns.AlignPosition.Attachment0 = Attachments.Attach0 Aligns.AlignPosition.Attachment1 = Attachments.Attach1 Aligns.AlignPosition.Responsiveness = math.huge Aligns.AlignPosition.RigidityEnabled = true Aligns.AlignPosition.MaxForce = math.huge spawn(function() local ax, ay = 0, 0 while _G.loop do ax = ax + math.rad(4) ay = ay + math.rad(5) local mag = (Part0.Position - (Part1.CFrame * Attachments.Attach0.CFrame:Inverse()).Position).Magnitude if mag >= 5 then Part0.CFrame = Part1.CFrame * Attachments.Attach0.CFrame:Inverse() end local relative_cf = CFrame.new(2.5,0.6,0) * CFrame.Angles(ax,ay,0) Attachments.Attach0.CFrame = relative_cf:Inverse() Part0.Velocity = Vector3.new(0,35,0) game:GetService("RunService").Heartbeat:Wait() end end) return {Attachments.Attach0, Attachments, Aligns} end local hat = Align(char["Accessory (icecube2)"].Handle, char.Head, false) local cf = char.Head.CFrame * CFrame.new(2.5,0.6,0) hat[1].CFrame = cf:Inverse() * char.Head.CFrame