Robisz sobie skrypta o nazwie np. instance_nearest_ext i wklejasz do niego to:
GML
//instance_nearest_ext(player,enemy,wall)
global._len = noone;
global._nearID = noone;
with(argument1)
{
dis = point_distance(x,y,argument0.x,argument0.y);
if (dis < global._len) || (global._len == noone)
{
if (!collision_line(x,y,argument0.x,argument0.y,argument2,1,0)) {global._len = dis; global._nearID = id;}
}
}
return global._nearID;
Użycie np.
GML
near = instance_nearest_ext(nazwa obj wiezy gracza albo cos, nazwa obj wroga,nazwa obj sciany)
if (near)
{
mp_potential_step(near.x,near.y,4,true);
}
Pewnie można zrobić to lepiej, ale tak na szybko :D