Hello! you are constantly multiplying by -90 radians at CFrame.Angles(math.rad(-90) forcing your character’s head to constantly point up, if you want me to make you a quick solution I can! just let me know!
Hi! If you wanted to change the rotation over the Y axis via the values of X and Z, you’d need to replace the math.rad(-90) with what you put in the position of ry and multiply the entire thing by CFrame.Angles(math.rad(-90)) if you want an example I can give it but I recommend trying it yourself and contacting me if you have any issues or problems.