limbs are a good solution once u work out the usage of them.
here is an example of a FPS or third person setup.
rem ----------------------------------------------
rem quick limb example to demonstrate a FPS
rem camera frame skeleton
rem indi 4/2/2003
rem
rem ----------------------------------------------
sync on
sync rate 60
set text size 20
set text font "verdana"
set text opaque
color backdrop rgb(150,150,150)
set ambient light 10
rem the cameras fake cube
make object cube 1,2
position object 1,0,0,0
color object 1,rgb(255,0,0)
rem make a temp mesh
make object cube 5000,0.2
make mesh from object 5000,1
delete object 5000
rem make a limb from it and offset it
add limb 1,1,5000
color limb 1,1,rgb(255,255,0)
offset limb 1,1,3,0,3
rem make another limb
add limb 1,2,5000
color limb 1,2,rgb(255,255,0)
offset limb 1,2,-3,0,3
rem make a temp model to use to glue to the limb
make object cube 2,2
scale object 2,50,50,200
position object 2,0,0,0
color object 2,rgb(0,0,255)
glue object to limb 2,1,1
rem make a temp model to use to glue to the other limb
make object cube 3,2
scale object 3,50,50,200
position object 3,0,0,0
color object 3,rgb(0,0,255)
glue object to limb 3,1,2
position camera 0,7,-5
point camera 0,2,0
ink rgb(255,255,255),1
disable escapekey
while escapekey()=0
if leftkey()=1
y = wrapvalue(y)+1
rotate object 1,0,y,0
endif
if rightkey()=1
y = wrapvalue(y)-1
rotate object 1,0,y,0
endif
if mouseclick()=1
zlimb1 = wrapvalue(zlimb1) +8
rotate object 2,0,0,zlimb1
endif
if mouseclick()=2
zlimb2 = wrapvalue(zlimb2) -8
rotate object 3,0,0,zlimb2
endif
text 10,10,"left / right mouse left right arrowkeys"
fastsync
endwhile
delete object 1
delete object 2
delete object 3
end