Don't take this the wrong way, but basically you've just said "Can someone write most of my game engine for me?".
You need to tackle one problem at a time and ask for help. Try and do as much as you can do of one part of the problem, then ask for help when you get stuck. For example, ignore the platform bit for now, and just try and get the jetpack guy to fly around realistically. When you have problems with that, ask some fairly specific questions to help you out. People are more likely to be willing to help if they see a finite answer to your question than if they see 10 pages worth of explaning to do.
For your jet pack guy, here's an idea. Make sure that the jetpackman model is facing forwards when its tilted directly upwards, if that makes sense. So the model is rotated so that a
move object command would move it directly upwards, but the model appears to be facing forwards.
do
`Tilt the jet pack man in the direction you move the mouse
xrotate object jetpackguy,wrapvalue(object angle x(jetpackguy)+mousemovey())
yrotate object jetpackguy,wrapvalue(object angle y(jetpackguy)+mousemovex())
`When the left mouse button is pressed, give upwards thrust (calculate x,y,z speeds)
if mouseclick() = 1
xthrust# = thrustspeed# * cos(object angle y(jetpackman))
ythrust# = thrustspeed# * sin(object angle x(jetpackman))
zthrust# = thrustspeed# * cos(object angle y(jetpackman)) * cos(object angle x(jetpackman))
else
`else thrusts are zero
xthrust# = 0: ythrust# = 0: zthrust# = 0
endif
`Add thrust values to object speed
xspeed# = xspeed# + xthrust#
yspeed# = yspeed# + ythrust#
zspeed# = zspeed# + zthrust#
`Take away gravity from object yspeed (gravity# should be a value of about 0.01 depending on how your whole proggy is set up)
yspeed# = yspeed# - gravity#
position object jetpackman,object position x(jetpackman)+xspeed#,object position y(jetpackman)+yspeed#,object position z(jetpackman)+zspeed#
sync
loop
I must stress, I just bashed that out now in here, and its not tested, so there's a high chance it might be buggy and might not work, but in essense, you're tilting the object with the mouse. When you press the mouse button its getting the object angle and figuring out thrust in the x,y,z axis accordingly. Its then adding this thrust to the objects speed, and taking off an amount for gravity from the objects verical speed.
Should work quite well.
Insiiiiiiiiiiiiiiiiiiiiiiiide!