Nah, using the pitch,roll etc commands does basically the same as the rotate object commands. I've used them in this code of what I've sort of got, just incase anyone didnt get my first explanation - imagine a pole through the top of the box, this pole always stays perfectly vertical and however much it tips forward or backward, it always rotates around this pole when turning, keeping it at the same angle.
make object box 1,20,10,50
make object cube 2,100
position object 2,0,0,700
sync on:hide mouse
do
pitch object down 1,pitch#
turn object right 1,angle#
move object 1,speed#
if upkey()=1 then pitch#=pitch#+0.3
if downkey()=1 then pitch#=pitch#-0.3
if leftkey()=1 then angle#=angle#-0.3
if rightkey()=1 then angle#=angle#+0.3
if spacekey()=1 then speed#=speed#+0.3
if inkey$()="b" then speed#=speed#-0.3
if pitch#<0 then pitch#=pitch#+0.2
if pitch#>0 then pitch#=pitch#-0.2
if pitch#>3 then pitch#=3
if pitch#<-3 then pitch#=-3
if scancode()=0 and pitch#^2<0.4 then pitch#=0
if angle#<0 then angle#=angle#+0.2
if angle#>0 then angle#=angle#-0.2
if angle#>3 then angle#=3
if angle#<-3 then angle#=-3
if scancode()=0 and angle#^2<0.4 then angle#=0
if speed#>10 then speed#=10
if speed#<-10 then speed#=-10
x#=object position x(1)
y#=object position y(1)
z#=object position z(1)
cx#=x#
cy#=y#+50
cz#=z#-100
position camera cx#,cy#,cz#
point camera x#,y#,z#
sync
loop
Yum! Yum! Yum! Yum!