vereis....mis enemigos llevan un camo de vision....y una variable en el create que se llama alerta=0....la idea es que cuando el protagonista toque el campo de vision del enemigo la variable alerta=0 pasa a alerta=1....hasta aqui todo bien...cuando el prota esta tocando lel campo de vision la variable alerta es 1 y cuando no es 0....pero habia pensado en que cuando el protagonista saliera del campo de vision todavia pasara un rato en que la alerta sigue siendo 1 y al pasar ese rato la alerta seria 0...os dejo el codigo que uso
en el create del enemigo
[gml]alerta=0[/gml]
en el step del enemigo
[gml]if collision_point(soldado_01.x,soldado_01.y,cv2,1,1) {alerta=1} else alarm[0]=100;
if alerta=1 {
mp_potential_settings(1,1,1,1)
mp_potential_step(soldado_01.x,soldado_01.y,1,0)
};[/gml]
en la alarm 0
[gml]alerta=0[/gml]
pero asi no funciona y lo he intetado de mil maneras :'(
No cambia mucho lo que te voy a decir pero, en tu jugador, en evento colision con el objeto campo de vision, pon esto:
[gml]with object0 alarm[0] = 200[/gml]
object0 cambialo por el campo de vision, 200 cambialo por un numero que quieras.
Trata con esto.
sigo sin dar con la solucion.Pero gracias igualmente.
aqui el problema es que como estas ejecutando
[gml]alarm[0]=100;[/gml]
en el evento step, esto hace que en cada paso se restablesca alarm[0] a 100 y por lo tanto nunca llegara a 0, y por lo tanto a ejecutar el codigo que contiene. Lo que puedes hacer es usar una variable para que solo se ejecute esa accion una vez y ya quedaria
[gml]if collision_point(soldado_01.x,soldado_01.y,cv2,1,1) {alerta=1;aux=false}
else if aux= false{ alarm[0]=100; aux=true}
if alerta=1 {
mp_potential_settings(1,1,1,1)
mp_potential_step(soldado_01.x,soldado_01.y,1,0)
};[/gml]
No, haber si funciona.
Lo del evento step, cambialo por colision event (con el objeto campo de vision), y quita if collision point. Y ya despues el resto:
[gml]
alerta=1
if not collision_point(soldado_01.x,soldado_01.y,cv2,1,1)
alarm[0]=100
[/gml]
Y en step dejas esto:
[gml]if alerta=1
{
mp_potential_settings(1,1,1,1)
mp_potential_step(soldado_01.x,soldado_01.y,1,0)
};[/gml]
O al menos en create event pusiste alerta = 0 o algo asi
mil gracias a ls dos...al final lo hice como dice Licshendu...declarando la variable aux en el create.....mil gracias....solucionadisimo ;)
Ouch, lo intente. :(
mil gracias Metal Mario....tus respuestas tambien me ayudaron mucho para entender un poquito mas todo esto 8) 8)