Now that is complicated. Trying to use SetAngle() on the player also doesn't work. Setting the Z angle would only turn the player left to right (is that the yaw?) while setting the X angle only changes the player's view point in 1st person, with no effect on the actual body. Haven't had any reason to try with the Y angle.
Instead of trying to work all that out for my airship, I just used http://www.creationkit.com/TranslateToRef_-_ObjectReference. Using this function, the ship would try to match the angle of the target so I would not have to try and calculate like for TranslateTo.
I set the Z angle of the target equal to my ship's current Z angle + GetHeadingAngle. That way, my ship would slowly turn towards the target as it is translating through the air. Unfortunately, GetHeadingAngle is only for the angle about the Z axis, there's no such function for the other axes so I just used a default of 15 degrees whenever I was ascending/descending or turning to port/starboard.
I just wrote this function for GetHeadingAngle about the X axis, I don't know if it'll work, but you can try it:
float Function GetHeadingAngleX(ObjectReference Source, ObjectReference Target) float sPosZ = Source.GetPositionZ() float tPosZ = Target.GetPositionZ() float distance = Source.GetDistance(Target) float sAngleX = Source.GetAngleX() float pOffsetZ = tPosZ - sPosZ float aOffsetX = math.asin(pOffsetZ / distance) aOffsetX *= -1 float AngleOffset = aOffsetX - sAngleX Return AngleOffsetEndFunction
EDIT: I uploaded my http://www.mediafire.com/?l5uucyx685888a4 to mediafire if you want to take a look. I tried to use levers to control it, but they don't translate with the ship at the exact same time. I'm going to put it on hold until SKSE comes out with some way for me to use hot keys. The added spell lets you teleport to the ship and start/stop it if you're on it.