move_towards_point(x,y,sp) - ruch obiektu do określonej pozycji (x,y) sp określa prędkość podążania.
Co do drugiego:
GML
if ! place_free(x+0,y+1)
{
if place_meeting(x,y,enemy)
{
y-=50;
}
vspeed=-10
}
Nie jestem pewien czy po If nie powinieneś czasem dać nawiasów (wg. dokumentacji tak)
Chyba przy funkcji powinien być wykrzyknik (tzn. podejrzewam, że ogólnie w tym nawiasie do place_free)
Ogólnie wiesz, że wartości x,y; to piksele, a nie kratki?
Trochę chyba namodziłeś z tym drugim kodem
Nie prościej zrobić Event "Collision" z Enemy, który by robił
GML
y=y-50;
A w create (bo pierwszy if to chyba robi)
GML
vspeed=-10
Fervi