FUNCTION Move_Object_Vertical(Object, Speed#)
POSITION OBJECT Object, OBJECT POSITION X(Object), OBJECT POSITION Y(Object)+Speed#, OBJECT POSITION Z(Object)
ENDFUNCTION
Just a couple of problems with your code medieval, first off you defined y s 0 but what if the user's starting position isnt 0? Instead you should define it as the objects position in the beginning.
Also, your x y and z variables aren't integers, or are...I always get them mixed up...Either way, they wont store decimals and in games its common for user's y positions to be decimals.
Hope the function helps.
P.S:
Once again, why do you have my name in your signature. Please take it off.