Gracias a los dos, he usado un contador, mas o memos. Hay un evento que es al final del paht. Pues con ese contador cuento cuantas veces lanza ese evento, asi desde hay rellamo a el scrip para que se mueva y haga las comprobaciones. Cuando ese contador llega a lo mismo que movimientos tiene, ya no vuelve a llamar al scrip. Es un contador global. Por si a alguien le interesa
Ahora estoy atascado en esto, no entiendo donde fallo
Con este scrip pretendo que busque objetos delante de mi criatura, la criaturas no se pueden mover libremente, tiene establecidos unos cuadros, donde se centran al moverse, por eso con esto hago que vaya buscando en cada posición, que están separados uno 96pixeles, hasta que encuentre un objeto.
objAmigo es un padre
objEnemigo es un padre
Se lo signo a cada instancia para saber si es amigo o enemigo. Y asi pasar de él, o atacarle.
El problema es que place_free simpre me detecta que hay una criatura, cuando no hay nada, nada de nada, he comprobado la room, en los puntos que se le asignan a x1 e y1.
Y lo peos es que collision_point siempre me devuelve -4, incluso si hay criatura.
No se donde puede estar el fallo.
PSEUDOCODIGO
1Comprar en la casilla delante de mi 96pixle, si no hay objeto, pasar a la siguiente casilla.
Si hay objeto, si es amigo, pasar de él y comprobar la siguiente casilla
Si es enemigo, obtener la instancia, y llamar al scrAtake para realizar los cálculos.
Gracias
Ahora estoy atascado en esto, no entiendo donde fallo
Código [Seleccionar]
while (i <> (a+1))
{
x1= criatura.x+5+(96*i)
y1= criatura.y+5
if not (place_free(x1,y1))
{
obstaculo = collision_point( x1,y1, objAmigo, false, false)
if (obstaculo = -4)
{
obstaculo = collision_point( x1,y1, objEnemigo, false, false)
scrAtake(criatura,obstaculo)
criatura.Mov = criatura.MovO
break;
}
}
i+=1
}
Con este scrip pretendo que busque objetos delante de mi criatura, la criaturas no se pueden mover libremente, tiene establecidos unos cuadros, donde se centran al moverse, por eso con esto hago que vaya buscando en cada posición, que están separados uno 96pixeles, hasta que encuentre un objeto.
objAmigo es un padre
objEnemigo es un padre
Se lo signo a cada instancia para saber si es amigo o enemigo. Y asi pasar de él, o atacarle.
El problema es que place_free simpre me detecta que hay una criatura, cuando no hay nada, nada de nada, he comprobado la room, en los puntos que se le asignan a x1 e y1.
Y lo peos es que collision_point siempre me devuelve -4, incluso si hay criatura.
No se donde puede estar el fallo.
PSEUDOCODIGO
1Comprar en la casilla delante de mi 96pixle, si no hay objeto, pasar a la siguiente casilla.
Si hay objeto, si es amigo, pasar de él y comprobar la siguiente casilla
Si es enemigo, obtener la instancia, y llamar al scrAtake para realizar los cálculos.
Gracias