I assume that OP has moved on from this method and instead opted to start a hitbox cast along with sending the animation to be played, wrt raycast hitbox resource.
Personally I’m still interested in this whole concept of handling NPCs on the client while representing them as a single part on the server because that is a very good optimisation but difficult in my experience to manage. I’m not quite able to get a grip on the thread nor the replies and what they suggest.
One thing I do know is that the whole wait thing is definitely not the best practice. In an ideal environment you want anything to do with animations to rely on the AnimationTrack API with out any uses of wait. I’m not too sure how you’d interface GetTimeOfKeyframe via the server when the client is playing the animations, either.