Some more code here....it comes with spanish comments sorry.
Imagine you want to make a robot with the waist legs trunk and so on. I like to start with the waist and add limbs.
First, we make a mesh from other object and add limb to limb cero
Second we link limb one to cero and offset limb before adding a second limb.
set cursor 0,0
ink rgb(0,80,0),1
box 0,0,150,150
ink rgb(0,67,0),1
box 20,20,130,130
hide mouse
ink rgb(255,255,255),1
print "CHAFARI"
get image 1,0,0,130,70
autocam off
sync rate 150
sync on
make object box 1,40,15,15 //objeto 1
make object box 2,10,80,10 //objeto para las piernas
offset limb 2,0,0,-40,0 //rodamos centro de giro del objeto que hara las piernas
make object box 20,40,10,10
make mesh from object 4,20:delete object 20
make mesh from object 1,2:scale object 2,80,100,90:make mesh from object 5,2:delete object 2
make object box 2,20,3,30:offset limb 2,0,0,0,-10
make mesh from object 2,2:delete object 2
make object sphere 2,40
scale object texture 2,1,2
make mesh from object 3,2
`pierna derecha
add limb 1,1,1:link limb 1,0,1:offset limb 1,1,-15,0,0
add limb 1,2,1:link limb 1,1,2:offset limb 1,2,0,-80,0
add limb 1,3,2:link limb 1,2,3:offset limb 1,3,0,-80,0
`pierna izquierda
add limb 1,4,1:link limb 1,0,4:offset limb 1,4,15,0,0
add limb 1,5,1:link limb 1,4,5:offset limb 1,5,0,-80,0
add limb 1,6,2:link limb 1,5,6:offset limb 1,6,0,-80,0
`torax y cabeza
add limb 1,7,1:link limb 1,0,7:offset limb 1,7,0,120,0
scale limb 1,7,100,150,100
scale object 2,100,60,100
glue object to limb 2,1,7
make object sphere 3,37:offset limb 3,0,0,8,0:color object 3,rgb(0,255,0)
glue object to limb 3,2,0
add limb 1,8,3:link limb 1,7,8:scale limb 1,8,97,10,118:offset limb 1,8,0,5,-5:color limb 1,8,rgb(0,255,0)
`hombros
add limb 1,9,4:link limb 1,7,9:scale limb 1,9,130,50,80:offset limb 1,9,0,-20,0
`brazos
add limb 1,10,5:link limb 1,9,10:offset limb 1,10,-14,0,0
add limb 1,11,5:link limb 1,10,11:offset limb 1,11,0,-78,0
add limb 1,12,3:link limb 1,11,12:offset limb 1,12,-5,-72,0:scale limb 1,12,25,160,250:rotate limb 1,12,-10,5,10
add limb 1,13,5:link limb 1,9,13:offset limb 1,13,14,0,0
add limb 1,14,5:link limb 1,13,14:offset limb 1,14,0,-78,0
add limb 1,15,1:link limb 1,14,15:scale limb 1,15,5,200,50:rotate limb 1,15,130,15,0:offset limb 1,15,0,-80,-0
texture limb 1,12,1
make object box 100,4500,2,4500
position object 1,0,164,0
texture object 100,1
scale object texture 100,30,30
position camera -150,550,-500
point camera 0,100,0
do
`ANIMACION ----------------------------------
loop object 1,0,41
set object speed 1,20
fr=object frame(1)
//piernas =========================================
for i= 1 to 20
if fr=i then rotate limb 1,1,-10+fr,0,1+balan#/25
if fr=i then rotate limb 1,4,10-fr,0,-1-balan#/25
next i
for i= 1 to 20
if fr=20+i then rotate limb 1,1,-fr+30,0,1+balan#/25
if fr=20+i then rotate limb 1,4,fr-30,0,-1-balan#/25
next i
//rodillas ========================================
for i= 1 to 5
if fr=i then rotate limb 1,2,-i*8,0,0
if fr=i+10 then rotate limb 1,2,-15,0,0 //suavizado
if fr=i+12 then rotate limb 1,2,0,0,0
if fr=i+21 then rotate limb 1,5,-i*8,0,0
if fr=i+30 then rotate limb 1,5,-15,0,0 //suavizado
if fr=i+32 then rotate limb 1,5,0,0,0
next i
//cintura ========================================
for i= 1 to 20
if fr=10 then move object up 1,0.01
if fr=20 then move object down 1,0.01
if fr=30 then move object up 1,0.01
if fr=40 then move object down 1,0.01
next i
if fr<20 then inc balan#,0.05
if fr>20 then dec balan#,0.05
rotate limb 1,0,0,0,3-balan#/3
`brazos ==========================================
for i= 1 to 20
if fr=i then rotate limb 1,13,-10+fr,0,5
if fr=i then rotate limb 1,10,10-fr,0,-5
next i
for i= 1 to 20
if fr=20+i then rotate limb 1,13,-fr+30,0,5
if fr=20+i then rotate limb 1,10,fr-30,0,-5
next i
`balanceo de los brazos ===========================
rotate limb 1,11,110,10-balan#*2,0
rotate limb 1,14,40,0,-balan#
rotate limb 1,7,0,-10+balan#*5,0
rotate limb 1,12,balan#/2,balan#/2,balan#*2
if spacekey()
rotate limb 1,11,0,balan#,0
endif
`************************************************************************
if rnd(300)=2 then ang=45
if rnd(300)=3 then ang=90
if rnd(300)=4 then ang=-45
if rnd(300)=5 then ang=-90
if rnd(600)=6 then ang=rnd(360)
if angle#<ang then inc angle#,0.2
if angle#>ang then dec angle#,0.2
rotate object 1,0,angle#,0
//scroll de la textura del suelo
t#=object angle y(1)
scx#=newxvalue(b#,t#,0.0035)
scz#=newzvalue(b2#,t#,0.0035)
scroll object texture 100,-scx#,scz#
`--------------------------------------------
g=g+3
if g>1000 then rotate limb 1,10,110,balan#*5,0
if g>1000 then rotate limb 1,11,30,-balan#*15,0
if g>2000 then rotate limb 1,11,110,10-balan#*2,0
if g>2500 then rotate limb 1,13,90,-20,balan#*2
if g>3000 then ang=90
if g>5500 then g=0
sync
loop
Cheers.
I'm not a grumpy grandpa
