cuando le doy if keyboard(vk_up)
para que me avanse

if not position_meeting(x,y-8,pared)
    if place_snapped(8,8)=true
    {
        motion_set(90,velo); 
        break;   
    }
    else
    {}
   

pero por logica le digo que avanse mientras no encuentr el objeto pared
pero lo raro es que sigue avansando por?

Me parece que es por el not, se escribe ! (signo de exclamacion)

Cambia el codigo por esto:

if !position_meeting(x,y-8,pared)
    if place_snapped(8,8)=true
    {
        motion_set(90,velo); 
        break;   
    }
    else
    {}

   
El Manual

- Ley de la gravitación selectiva: toda herramienta se caerá donde produzca el mayor daño.
- Si todo parece estar bien, es obvio que uno no encontró el problema
- Todo aquello que se corte a medida resultara ser demasiado corto.
- Todo archivo borrado era necesario, todo archivo conservado es inutil
- Cuando a usted se le ocurra la solución ideal, alguien habrá resuelto ya el problema.

                                                               Murphy


Perdona que te corrija pero no funcionara el codigo ya que solo solocaste el mismo condigo con una compilacion distinta.
esto ! y esto not es exactamente lo mismo.
igual que esto true y esto 1. o esto false y esto 0
y asi hay muchas, pero al final es lo mismo.