function onEquipped()
  local Grim = game.Workspace:WaitForChild("Grim"):Clone()
  Grim.Parent = script.Parent
  Grim.Name = "Following:"..p.Name
  Grim.Part.Anchored = false
  Grim.Part.CanCollide = false
  local bp = Instance.new("BodyPosition")
  bp.Parent = Grim.Part
  
  while wait() do
   bp.Position = char:FindFirstChild("HumanoidRootPart").Position + Vector3.new(3,2,0)
  end
 end)
end)

this is the script and so basically ik that the fuction its the part that is incorrect i just dont know how to fix it