bien tengo este codigo que saque de un ejemplo.
[gml]
pitch-=(window_mouse_get_y()-240)/5
direction-=(window_mouse_get_x()-320)/5
window_mouse_set(320,240)
if pitch>89
pitch=89
if pitch<-89
pitch=-89
[/gml]
todo perfecto en evento up tengo:
[gml]
speed=10
zspeed=(10*pitch/90)
[/gml]
como ven mi intecion es poder "volar" y segun el pitch moderar la velocidad en z, todas las variables estan declaradas, ese no es el problema, mi problemas es que no pasa absolutamente nada, es decir sigo pegado al floor, como hago esto que tengo pensado, o como lo harian, deantemano gracias.

ah otra cosa, segun yo se el pitch es un angulo de inclinacion de la camara no? si me equivoco haganmelo saber

zspeed, no existe ni de casualidad  :-[

Si tu idea es poder volar, creo entender que queres algo similar al Noclip del Half-Life, o algo parecido a las camaras de espectadores moviles, de algunos juegos multiplayer (Donde si se mira para arriba, y se camina hacia delante se va ganando cada vez mas altura). Al menos eso entendi:
(Avisame si estoy perdido  XD)

en un script llamado Move:
el argumento 0, controla el movimiento del eje Z, por lo general la altura. Por ejemplo, para mover un objeto para arriba, seria nesesario Move(90,0,speed). Aca se coloca el Pith, que es la inclinacion de la camara respecto a la pocision del eje Y del mouse.
el argumento 1, controla el movimiento de los ejes X e Y, en un juego de carrera, por ejemplo, Move(0,direction,speed)
el argumento 2, es quien controla la velocidad de todos los ejes
[gml]
x+=sin(argument1)*cos(argument0)*argument2;
y+=cos(argument1)*cos(argument0)*argument2;
z-=sin(argument0)*argument2;[/gml]

en el evento Create:
[gml]x = 0;
y = 0;
z = 0;
pitch= 0;[/gml]

en el evento Step:
[gml]pitch -=(window_mouse_get_y()-240)/5;
direction-=(window_mouse_get_x()-320)/5;
window_mouse_set(320,240);
if pitch>89
pitch=89;
if pitch<-89
pitch=-89;

if(keyboard_check(ord("A")))
    Move(0,direction-90,Velocidad);

if(keyboard_check(ord("D")))
    Move(0,direction+90,Velocidad);

if(keyboard_check(ord("W")))
    Move(pitch,direction,Velocidad);

if(keyboard_check(ord("S")))
    Move(pitch*-1,direction,Velocidad);

[/gml]

En algunos casos, en donde se pone direction, es necesario sumar +90 o restar -90, tambien 180, tambien podes probar multiplicando por -1. Esto depende de como tengas configurada la camara y que orientacion tenga
Recorda, es para hacer una camara voladora. Al menos eso te entendi. Si no es lo que querias. Solamente decime.  :-[

Nos vemos !  XD

hay un problema, ya puse la funcion que dijiste y no funciono, hace unos movimientos extra?os (no va en direction) otra cosa;

zpeed= 10 * (pitch/90) asi lo tengo en un codigo de create y step

z es el valor de volumen
osea que el pc que tienes tiene vel. para moverse y crecer mas rapido
XD
Hola de nuevo

 :(
Si antes estaba confundido, ahora estoy peor