That's really cool Lord Einstein. I updated it a bit to give some better colors, and also I put the sync rate up to 60. It's excellent
sync rate 60
autocam off
backdrop on
color backdrop rgb(0,0,0)
set ambient light 30
hide light 0
make light 1
position light 1,0,0,-10000
SET LIGHT RANGE 1,1000000
set camera range 1,10000
make object sphere 1,5000,100,50
color object 1,rgb(100,200,200)
make object sphere 2,5050,100,50
color object 2,rgb(0,0,200)
set object ambience 2,rgb(0,0,200)
`ghost object on 2
set object transparency 2, 3
set alpha mapping on 2, 90
glue object to limb 2,1,0
make object sphere 3,7000,50,25
set object cull 3,0
color object 3,rgb(0,0,200)
set object ambience 3,rgb(0,0,200)
ghost object on 3
glue object to limb 3,1,0
make object sphere 5,1000
position object 5,0,0,-5000
randomize 3
t=10
for n=1 to 5
x=rnd(360)
y=rnd(360)
for s=1 to 20
nx=x+rnd(50)
ny=y+rnd(50)
exm=rnd(50)
make object sphere t,500,10,10
set object collision to polygons t
scale object t,100,100,25
color object t,rgb(25,125,25)
set object ambience t, rgb(25,125,25)
scale object texture t,10,10
glue object to limb t,1,0
position object t,0,0,0
yrotate object t,wrapvalue(ny)
pitch object up t,wrapvalue(nx)
move object t,2460+exm
t=t+1
next s
next n
make object cube 4,25
set object collision to boxes 4
position object 4,2600,0,0
zoom#=100
speed#=10
do
if mousez()>ommz# and zoom#>1 then zoom#=zoom#-(zoom#/10)
if mousez()<ommz# and zoom#<500 then zoom#=zoom#+(zoom#/10)
ommz#=mousez()
oldx#=object position x(4):oldy#=object position y(4):oldz#=object position z(4)
if upkey()=1 then move object 4,speed#
if downkey()=1 then move object 4,-1*speed#
if leftkey()=1 then move object left 4,speed#
if rightkey()=1 then move object right 4,speed#
if spacekey()=1 and gravity#=0 then gravity#=speed#*-2
for t=10 to 109
if terraincollide(4,t)=1
move object up 4,speed#
if terraincollide(4,t)=1
position object 4,oldx#,oldy#,oldz#,
endif
endif
next t
point object 4,0,0,0
pitch object up 4,90
oldx#=object position x(4):oldy#=object position y(4):oldz#=object position z(4)
move object down 4,gravity#
gravity#=gravity#+1
distance#=sqrt(object position x(4)^2+object position y(4)^2+object position z(4)^2)
if distance#<2510 then gravity#=0 : position object 4,oldx#,oldy#,oldz#,
for t=10 to 109
if terraincollide(4,t)=1
gravity#=0 : position object 4,oldx#,oldy#,oldz#,
endif
next t
turn object right 4,cay#
oldcAY# = cAY#
oldcAX# = cAX#
cAY# = WrapValue(cAY#+MousemoveX()*0.2)
cAX# = WrapValue(cAX#+MousemoveY()*0.2)
YRotate camera CurveAngle(cAY#,oldcAY#,24)
XRotate camera CurveAngle(cAX#,oldcAX#,24)
position camera object position x(4),object position y(4),object position z(4)
set camera to object orientation 4
pitch camera down cax#
move camera zoom#*-1
sync
loop
function terraincollide(p#,g#)
distance#=sqrt((object position x(p#)-object position x(g#))^2+(object position y(p#)-object position y(g#))^2+(object position z(p#)-object position z(g#))^2)
if distance#<250
if object collision(p#,g#)=1 then exitfunction 1
endif
endfunction 0
"It's like floating a boat on a liquid that I don't know, but I'm quite happy to drink it if I'm thirsty enough" - Me being a good programmer but sucking at computers