Quote: "I know the problem (the jump code doesn't incorporate the platform object, just the y coordinates), I just don't know how to jix it without messing up my code!!!!!"
I think what
the destroyer said should work. Something like this:
`JUMPING STUFF
IF KEYSTATE(17)=1 AND JUMPING#=0 THEN JUMP#=1
`JUMP Variable Definition
IF JUMP#=1
GROUND#=OBJECT POSITION Y(1)
JUMP_SPEED#=.7
JUMPING#=1
JUMP#=0
ENDIF
`Jumping
IF JUMPING#=1
DEC JUMP_SPEED#,.001
POSITION OBJECT 1,OBJECT POSITION X(1),OBJECT POSITION Y(1)+JUMP_SPEED#, OBJECT POSITION Z(1)
IF OBJECT COLLISION(1,0)>0 THEN JUMPING#=0
ENDIF
Also, I'd like to point out that you are using float values for all your numbers, even the JUMP and JUMPING flags. This might be causing problems for you because float values often suffer accuracy errors (for example, if you store 1 in a float in might read 0.99997). I recommend that you make JUMP and JUMPING integers or booleans, this might fix your problem:
`JUMPING STUFF
IF KEYSTATE(17)=1 AND JUMPING=0 THEN JUMP=1
`JUMP Variable Definition
IF JUMP=1
GROUND#=OBJECT POSITION Y(1)
JUMP_SPEED#=.7
JUMPING=1
JUMP=0
ENDIF
`Jumping
IF JUMPING=1
DEC JUMP_SPEED#,.001
POSITION OBJECT 1,OBJECT POSITION X(1),OBJECT POSITION Y(1)+JUMP_SPEED#, OBJECT POSITION Z(1)
IF OBJECT COLLISION(1,0)>0 THEN JUMPING=0
ENDIF