Did you try using TweenService for this? I’m not sure if it will help, but it is worth a try, especially because it will allow some more customization of how the character gets to the pose.
Also, if you want the character to go into a specific pose then you should have the CFrame values the you are setting the JointInstance.C0 properties to pre-set. Otherwise the values generated when you run the function will change because they are being multiplied by the current value.
The way I would do this is by storing the CFrame values you want to set the C0 and C1 properties in tables and then looping through the tables and setting the values that way.
Also, just an extra tidbit of info, Roblox Lua supports compact operators to make your life easier while programming.
You should also test shortening the wait. Even though I know relying on waits for your script to work is absolutely terrible, sometimes a wait just kinda fixes it.
True, but usually if you rely on waits to fix something there may be something else wrong in your code. I usually stop what I’m doing and follow the flow of my code from the beginning up to the point where I would need to the wait to check for anything that might cause it. Usually I find something.
Unfortunately sometimes there just isn’t a visible issue with the code. I have recently had a problem with this regarding Motor6D, I couldn’t find a way to do it without a wait.