Estoy intentando que el personaje se mueva (soy principiante) pero estoy teniendo problemas con la función "else if"
///Desplazamiento

//Controles
var keyUp, keyDown, keyLeft, keyRight, keyRun, keySlow;

keyUp = -keyboard_check(ord("W"));
KeyDown = - keyboard_check(ord("A"));
KeyLeft = keyboard_check(ord("S"));
KeyRight = keyboard_check(ord("D"));

keyRun = keyboard_check(vk_lshift);
keySlow = keyboard_check(vk_lcontrol);

//Velocidad y movimiento
if       (keyRun) intSpeed  = intRun;  //Carrera
else if  (keySlow) intSpeed = intSlow; //Sigilo
else     intSpeed           = intWalk; //Caminata

    //Movimiento
intMoveH = (keyLeft + KeyRight) * global.bolPause; //Movimiento Horizontal
intMoveV = (keyUp + KeyDown) * global.bolPause; //Movimiento Vertical

    //Orientación
if (global.bolPause != 0)
{
    if (intMoveH > 0)
    {
        strFacing = "east";
        intFaceX = 1;
        intFaceY = 0;
    }
   
    else if (intMoveH < 0)
    {
        strFacing = "west";
        intFaceX = -1;
        intFaceY = 0;
    }
        if (intMoveV > 0);
    {
        strFacing = "south"
        intFaceX = 0;
        intFaceY = 1;
    }
   
    else if (intMoveV < 0);                     <-------- en esta linea me marca el error :b
    {
        strFacing = "north"
        intFaceX = 0;
        intFaceY = -1;
    }
}

    //Desplazamiento horizontal
    if (intMoveH !=0) intVX = scrApproach(intVX, intSpeed * intMoveH, intAcc);
    else intVX = scrApproach(intVX, intSpeed * intMoveH, intFric);
   
    //Desplazamiento vertical
    if (intMoveV != 0) intVY = scrApproach(intVY, intSpeed * intMove, intAcc);
    else intVY = scrApproach(intVY, intSpeed * intMoveV, intFric);
   
x += intVX;
y += intVY;


Podrian ayudarme porfavor?

Estoy usando este video para guiarme
https://www.youtube.com/watch?v=sHdhOqV2Vko
min 24:50

Para aclarar "else if" no es una función, es una condición (if/else).

El problema, intuyo, porque no voy a mirar el video, es que tiene el punticoma totalmente seguido osease: [gml]if (cond);[/gml]
Lo cual haría que no entre en el bloque siguiente.

Para la proxima, sería mejor que colocaras el error que tira el Game Maker.  :-[





Encontré tu error está en que deberías cambiar KeyDown = - keyboard_check(ord("A"));, por KeyDown = keyboard_check(ord("A"));, al igual que con KeyLeft, le falta un menos antes de la función keyboard_check  debería quedar así:
keyUp = -keyboard_check(ord("W"));
KeyDown = keyboard_check(ord("S"));
KeyLeft = -keyboard_check(ord("A"));
KeyRight = keyboard_check(ord("D"));

Un consejo, no sé si se te haga más cómodo bajar con la "S", e ir a la izquierda con "A" así como lo dejé, si quieres cámbialo, ahora prueba tu código
PD: Yo usé el mismo video para tener una idea