Hola buenas, mi pregunta es la siguiente: Como puedo controlar el wall jump para que no se pueda hacer en el mismo muro? De tal modo que solo se pueda hacer pasando de un muro a otro y no subiendo todo el rato por el mismo. Pongo el segmento específico de mi código usado para el wall jump.

// Moving right
if (rkey) {
    if (hspd < spd) {
        hspd += fric;
    } else {
        hspd = spd;
    } 
    // Left wall jump
    if (place_meeting(x-1, y, object_solid) && !place_meeting(x, y+1, object_solid) && !lkey)
        vspd = -jspd;
}

// Moving left
if (lkey) {
    if (hspd > -spd) {
        hspd -= fric;
        } else {
            hspd = -spd;
        }
    // Right wall jump
       if (place_meeting(x+1, y, object_solid) && !place_meeting(x, y+1, object_solid) && !rkey)   
       vspd = -jspd;

En la mayoría de juegos con wall jump, además de asignar la velocidad vertical también se asigna la velocidad horizontal de modo que es difícil regresar al mismo muro sin tocar el muro que está al otro lado.