@BN2
Take a look at the following snippet. It uses pitch turn and roll to rotate the object independently on each axis. However, I am using a limb to repot on the object's world angles which may give you more desirable results. Unfortunately, through a glitch in DBC, the Z angle for a limb cannot be returned; though I just use the object's z angle which should suffice. UP DOWN for pitch LEFT RIGHT for turn 'Z' 'X' keys for roll:
rem return angles from free flight controls
rem by latch
rem 07/08/2011
set display mode 800,600,32
sync on
sync rate 60
rem make a base pivot object
make object cube 1,1
rem make a ship to add as a limb
make object cone 2,25
rotate limb 2,0,90,0,0
make mesh from object 2,2
delete object 2
make object 2,2,0
scale object 2,100,20,100
make mesh from object 2,2
delete object 2
add limb 1,1,2
delete mesh 2
do
rem rotate the object with on X and Y with the arrow keys and on Z with 'z' and 'x'
pitch object down 1,(upkey()-downkey())
turn object right 1,(rightkey()-leftkey())
roll object left 1,(keystate(45)-keystate(44))
text 0,0,"limb 1 x = "+str$(limb direction x(1,1))
text 0,20,"limb 1 y = "+str$(limb direction y(1,1))
text 0,40,"Object 1 z = "+str$(object angle z(1))
text 0,60,"======================================"
text 0,80,"object 1 angle x = "+str$(object angle x(1))
text 0,100,"Object 1 angle y = "+str$(object angle y(1))
text 0,120,"Object 1 angle z = "+str$(object angle z(1))
sync
loop
Enjoy your day.