Hmmm...???
once more:
rem *************************** WALKER *****************************
rem *************************** by arras *****************************
rem ******* this small program is made without external media ********
sync on : autocam off
ink rgb(200,200,100),0 : box 0,0,1,1
get image 1,0,0,1,1
rem camera enter data
dim funkcia#(3)
kamera_odstup#=10 : kamera_uhol_x#=350 : kamera_uhol_z#=340
set ambient light 70
rem walker model
make object box 1,3,0.5,1
make object cylinder 2,1.5
scale object 2,150,100,150
position object 2,0,-0.4,0
make mesh from object 1,2
add limb 1,1,1
delete object 2
delete mesh 1
make mesh from object 1,1
delete object 1
make object 1,1,1
delete mesh 1
rem head
make object box 2,1.5,1.5,3
make mesh from object 1,2
add limb 1,1,1
offset limb 1,1,0,1.1,0
delete object 2
delete mesh 1
rem upper leg
make object cylinder 2,0.7
scale object 2,200,100,200
rotate object 2,0,0,90
make mesh from object 1,2
delete object 2
make object 2,1,1
make object box 3,0.5,2,0.5
offset limb 3,0,0,-1,0
make mesh from object 2,3
delete object 3
add limb 2,1,2
offset limb 2,1,0,0,0.2
make object cylinder 3,2
scale object 3,12,100,12
make mesh from object 3,3
delete object 3
add limb 2,2,3
offset limb 2,2,0,-1,-0.3
rotate limb 2,2,355,0,0
delete mesh 1 : delete mesh 2 : delete mesh 3
make mesh from object 1,2
delete object 2
add limb 1,2,1
offset limb 1,2,1.5,0,0
add limb 1,3,1
offset limb 1,3,-1.5,0,0
rem leg
make object cylinder 2,0.6
scale object 2,160,100,160
rotate object 2,0,0,90
make mesh from object 1,2
delete object 2
make object 2,1,1
make object box 3,0.5,2,0.5
offset limb 3,0,0,-1,0
make mesh from object 2,3
delete object 3
add limb 2,1,2
offset limb 2,1,0,0,0.1
make object cylinder 3,2
scale object 3,12,100,12
make mesh from object 3,3
delete object 3
add limb 2,2,3
offset limb 2,2,0,-1,-0.3
delete mesh 1 : delete mesh 2 : delete mesh 3
make mesh from object 1,2
delete object 2
add limb 1,4,1
link limb 1,4,2
offset limb 1,4,0,-2,0.1
add limb 1,5,1
link limb 1,5,3
offset limb 1,5,0,-2,0.1
delete mesh 1
rem foot
make object cylinder 2,0.6
scale object 2,160,100,160
rotate object 2,0,0,90
make mesh from object 1,2
delete object 2
make object 2,1,1
delete mesh 1
make object box 3,0.3,0.3,1
position object 3,0,0,0.7
make mesh from object 2,3
delete object 3
make object 3,2,1
rotate object 3,20,0,0
make mesh from object 2,3
delete object 3
add limb 2,1,2
add limb 2,2,2
rotate limb 2,2,0,140,0
add limb 2,3,2
rotate limb 2,3,0,220,0
delete mesh 2
make mesh from object 1,2
delete object 2
add limb 1,6,1
link limb 1,6,4
offset limb 1,6,0,-2,0
add limb 1,7,1
link limb 1,7,5
offset limb 1,7,0,-2,0
delete mesh 1
rem arm
make object cylinder 2,0.4
scale object 2,160,100,160
rotate object 2,0,0,90
make mesh from object 1,2
delete object 2
make object 2,1,1
delete mesh 1
make object box 3,0.5,0.5,1
position object 3,0.45,0,-0.2
make mesh from object 1,3
delete object 3
add limb 2,1,1
delete mesh 1
make mesh from object 1,2
delete object 2
add limb 1,8,1
link limb 1,8,1
offset limb 1,8,0.9,0,0
rem arm2
make object cylinder 2,0.4
scale object 2,160,100,160
rotate object 2,0,0,90
make mesh from object 1,2
delete object 2
make object 2,1,1
delete mesh 1
make object box 3,0.5,0.5,1
position object 3,-0.45,0,-0.2
make mesh from object 1,3
delete object 3
add limb 2,1,1
delete mesh 1
make mesh from object 1,2
delete object 2
add limb 1,9,1
link limb 1,9,1
offset limb 1,9,-0.9,0,0
rem gun
make object box 3,0.1,0.1,1.5
position object 3,0,0.12,0.75
make mesh from object 1,3
delete object 3
make object 2,1,1
add limb 2,1,1
rotate limb 2,1,0,0,90
add limb 2,2,1
rotate limb 2,2,0,0,180
add limb 2,3,1
rotate limb 2,3,0,0,270
delete mesh 1
make object cylinder 3,0.2
scale object 3,200,50,200
rotate object 3,90,0,0
make mesh from object 1,3
delete object 3
add limb 2,4,1
offset limb 2,4,0,0,0.1
add limb 2,5,1
offset limb 2,5,0,0,1.3
delete mesh 1
make mesh from object 1,2
delete object 2
add limb 1,10,1
link limb 1,10,8
offset limb 1,10,0.45,0,0.3
add limb 1,11,1
link limb 1,11,9
offset limb 1,11,-0.45,0,0.3
color limb 1,6,rgb(100,100,120)
color limb 1,7,rgb(100,100,120)
color limb 1,8,rgb(100,100,120)
color limb 1,9,rgb(100,100,120)
color limb 1,10,rgb(180,180,200)
color limb 1,11,rgb(180,180,200)
rem texture2
ink rgb(150,130,100),0 : box 0,0,100,100
ink rgb(70,70,20),0 : box 15,30,85,70
ink rgb(155,135,105),0 : box 16,30,84,69
ink rgb(200,180,150),0 : box 15,30,85,30
ink rgb(200,180,150),0 : box 25,40,75,60
ink rgb(0,0,0),0 : box 26,40,74,59
for a=20 to 80 step 10
ink rgb(70,70,20),0 : dot a-1,35 : dot a+1,35 : dot a,36
dot a-1,65 : dot a+1,65 : dot a,66
ink rgb(200,180,150),0 : dot a,34 : dot a,64
next a
for a=35 to 65 step 10
ink rgb(70,70,20),0 : dot 20-1,a : dot 20+1,a : dot 20,a-1
dot 80-1,a : dot 80+1,a : dot 80,a+1
ink rgb(200,180,150),0 : dot 20,a-1 : dot 80,a-1
next a
for a=5 to 95 step 10
ink rgb(70,70,20),0 : dot a-1,5 : dot a+1,5 : dot a,6
dot a-1,95 : dot a+1,95 : dot a,96
ink rgb(200,180,150),0 : dot a,4 : dot a,94
next a
for a=15 to 85 step 10
ink rgb(70,70,20),0 : dot 5-1,a : dot 5+1,a : dot 5,a-1
dot 95-1,a : dot 95+1,a : dot 95,a+1
ink rgb(200,180,150),0 : dot 5,a-1 : dot 95,a-1
next a
get image 2,0,0,100,100
cls
rem texture3
ink rgb(160,130,110),0 : box 0,0,100,100
for a=20 to 80 step 10
ink rgb(70,70,20),0 : dot a-1,20 : dot a+1,20 : dot a,21
dot a-1,80 : dot a+1,80 : dot a,81
ink rgb(200,180,150),0 : dot a,19 : dot a,79
next a
for a=20 to 80 step 10
ink rgb(70,70,20),0 : dot 20-1,a : dot 20+1,a : dot 20,a-1
dot 80-1,a : dot 80+1,a : dot 80,a+1
ink rgb(200,180,150),0 : dot 20,a-1 : dot 80,a-1
next a
get image 3,0,0,100,100
cls
rem texture4
ink rgb(130,110,80),0 : box 0,0,100,100
for a=20 to 80 step 10
ink rgb(70,70,20),0 : dot a-1,20 : dot a+1,20 : dot a,21
dot a-1,80 : dot a+1,80 : dot a,81
ink rgb(200,180,150),0 : dot a,19 : dot a,79
next a
for a=20 to 80 step 10
ink rgb(70,70,20),0 : dot 20-1,a : dot 20+1,a : dot 20,a-1
dot 80-1,a : dot 80+1,a : dot 80,a+1
ink rgb(200,180,150),0 : dot 20,a-1 : dot 80,a-1
next a
get image 4,0,0,100,100
cls
rem texture5
ink rgb(130,110,120),0 : box 0,0,100,100
for a=20 to 80 step 10
ink rgb(70,70,20),0 : dot a-1,20 : dot a+1,20 : dot a,21
dot a-1,80 : dot a+1,80 : dot a,81
ink rgb(200,180,150),0 : dot a,19 : dot a,79
next a
for a=20 to 80 step 10
ink rgb(70,70,20),0 : dot 20-1,a : dot 20+1,a : dot 20,a-1
dot 80-1,a : dot 80+1,a : dot 80,a+1
ink rgb(200,180,150),0 : dot 20,a-1 : dot 80,a-1
next a
get image 5,0,0,100,100
cls
rem texture walker
texture limb 1,0,5
texture limb 1,1,2
texture limb 1,2,3
texture limb 1,3,3
texture limb 1,4,4
texture limb 1,5,4
rem frames
rotate limb 1,2,45,0,0
rotate limb 1,4,270,0,0
rotate limb 1,3,45,0,0
rotate limb 1,5,270,0,0
rotate limb 1,6,45,0,0
rotate limb 1,7,45,0,0
set object keyframe 1,0
rotate limb 1,2,45,0,0
rotate limb 1,4,wrapvalue(-90),0,0
rotate limb 1,6,45,0,0
rotate limb 1,3,54,0,0
rotate limb 1,5,wrapvalue(-108.8),0,0
rotate limb 1,7,37.27,0,0
set object keyframe 1,1
rotate limb 1,2,59.87,0,0
rotate limb 1,4,wrapvalue(-84.06),0,0
rotate limb 1,6,24.19,0,0
rotate limb 1,3,27.5,0,0
rotate limb 1,5,wrapvalue(-97.75),0,0
rotate limb 1,7,61.33,0,0
set object keyframe 1,3
rotate limb 1,2,65.53,0,0
rotate limb 1,4,wrapvalue(-65.53),0,0
rotate limb 1,6,0,0,0
rotate limb 1,3,0,0,0
rotate limb 1,5,wrapvalue(-65.53),0,0
rotate limb 1,7,65.53,0,0
set object keyframe 1,5
rotate limb 1,2,69.5,0,0
rotate limb 1,4,wrapvalue(-97.75),0,0
rotate limb 1,6,19.28,0,0
rotate limb 1,3,24.19,0,0
rotate limb 1,5,wrapvalue(-84.06),0,0
rotate limb 1,7,59.87,0,0
set object keyframe 1,7
rotate limb 1,2,54.4,0,0
rotate limb 1,4,wrapvalue(-108.8),0,0
rotate limb 1,6,37.27,0,0
rotate limb 1,3,45,0,0
rotate limb 1,5,wrapvalue(-90),0,0
rotate limb 1,7,45,0,0
set object keyframe 1,9
rotate limb 1,3,59.87,0,0
rotate limb 1,5,wrapvalue(-84.06),0,0
rotate limb 1,7,24.19,0,0
rotate limb 1,2,27.5,0,0
rotate limb 1,4,wrapvalue(-97.75),0,0
rotate limb 1,6,61.33,0,0
set object keyframe 1,11
rotate limb 1,3,65.53,0,0
rotate limb 1,5,wrapvalue(-65.53),0,0
rotate limb 1,7,0,0,0
rotate limb 1,2,0,0,0
rotate limb 1,4,wrapvalue(-65.53),0,0
rotate limb 1,6,65.53,0,0
set object keyframe 1,13
rotate limb 1,3,69.5,0,0
rotate limb 1,5,wrapvalue(-97.75),0,0
rotate limb 1,7,19.28,0,0
rotate limb 1,2,24.19,0,0
rotate limb 1,4,wrapvalue(-84.06),0,0
rotate limb 1,6,59.87,0,0
set object keyframe 1,15
rotate limb 1,3,54.4,0,0
rotate limb 1,5,wrapvalue(-108.8),0,0
rotate limb 1,7,37.27,0,0
rotate limb 1,2,45,0,0
rotate limb 1,4,wrapvalue(-90),0,0
rotate limb 1,6,45,0,0
set object keyframe 1,17
rem ground
make object plain 2,1000,1000
rotate object 2, 90,0,0
rem ground texture
delete image 1
cls
ink rgb(50,100,0),0 : box 0,0,99,99
for a=0 to 99
for b=0 to 99
ink rgb(rnd(20)+40,rnd(20)+90,rnd(20)),0 : dot a,b
next b
next a
get image 1,0,0,100,100
texture object 2,1
scale object texture 2,5,5
position object 1,0,3.4,0
set object speed 1,10
rem light
set ambient light 50
color ambient light rgb(200,200,250)
make light 1 : set directional light 1,1,-1,-1
color light 1,255,100,100
rem fog
fog on
fog color rgb(0,0,100)
fog distance 100
rem main loop
do
tk=tk+1
if tk=1 then timer#=timer()
set cursor 10,10 : print "fps=";screen fps()
sp#=6*hh#
m=0
if upkey()=1
loop object 1,1,16
move object 1,sp# : m=1
else
stop object 1
rotate limb 1,2,45,0,0
rotate limb 1,4,270,0,0
rotate limb 1,3,45,0,0
rotate limb 1,5,270,0,0
rotate limb 1,6,45,0,0
rotate limb 1,7,45,0,0
endif
if leftkey()=1
turn object left 1,50*hh#
loop object 1,1,16
if m=0 then move object 1,sp#
else
if rightkey()=1
turn object right 1,50*hh#
loop object 1,1,16
if m=0 then move object 1,sp#
endif
endif
xp#=object position x(1)
yp#=object position y(1)
zp#=object position z(1)
kamerakontrol(kamera_odstup#,kamera_uhol_x#,kamera_uhol_z#,xp#,yp#,zp#)
kamera_odstup#=funkcia#(1) : kamera_uhol_x#=funkcia#(2) : kamera_uhol_z#=funkcia#(3)
if tk=10
tk=0
hh#=timer() : hh#=(hh#-timer#)/10 : hh#=hh#/1000
endif
rem help
ink 0,0
set cursor 250,20 : print "WALKER by arras"
if scancode()=59
f1=1
else
f1=0
endif
if f1=0
set cursor 10,30 : print "press F1 for help"
endif
if f1=1
set cursor 55,100 : print "press upkey to walk"
set cursor 55,115 : print "press rightkey and leftkey to turn"
set cursor 55,150 : print "hold right mouse button to turn camera"
set cursor 55,165 : print "hold CTRL and right mouse button to zoom camera"
endif
sync
loop
rem camera control
function kamerakontrol(kamvzd#,uholx#,uholz#,centerx#,centery#,centerz#)
if controlkey()=1 and mouseclick()=2
kamvzd#=kamvzd#+(mousemovey()/2*-1)
if kamvzd#<8 then kamvzd#=8
if kamvzd#>20 then kamvzd#=20
endif
if mouseclick()=2 and scancode()=0
uholz#=wrapvalue(uholz#+(mousemovex())/2)
uholx#=wrapvalue(uholx#+(mousemovey())/2)
endif
if uholx#>=180 and uholx#<350 then uholx#=350
if uholx#>80 and uholx#<180 then uholx#=80
kamvzd2#=cos(uholx#)*kamvzd#
x#=sin(uholz#)*kamvzd2#+centerx#
y#=sin(uholx#)*kamvzd#+centery#
z#=cos(uholz#)*kamvzd2#+centerz#
position camera x#,y#,z#
point camera centerx#,centery#,centerz#
funkcia#(1)=kamvzd# : funkcia#(2)=uholx# : funkcia#(3)=uholz#
endfunction