Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: Dublan en Junio 22, 2017, 08:36:04 PM

Título: Problema con alarma[SOLUCIONADO]
Publicado por: Dublan en Junio 22, 2017, 08:36:04 PM
Hola Makeros,

Llevo un rato dándole vueltas a por qué este código no funciona, pero no lo entiendo. Haciendo pruebas, si quito el alarm[2]=90 el enemigo se mueve pero cambiando el random en cada step. Lo que yo quiero es que cambie la dirección cada 90 steps. Este es el código que tengo en el step event:

Step event


if alarm[2]==-1
                    {                           
                    var x1=irandom_range(0,1280)
                    var y1=irandom_range(0,768)
                    if room!=room_level2{mp_potential_step(x1,y1, 10, false)}
                    else{mp_potential_step_object(x1,y1, 10, obj_morir)}
                    alarm[2]=90
                    }


Alarm 2
           
                    var x1=irandom_range(0,1280)
                    var y1=irandom_range(0,768)
                    if room!=room_level2{mp_potential_step(x1,y1, 10, false)}
                    else{mp_potential_step_object(x1,y1, 10, obj_morir)}
                    alarm[2]=90


¿¿¿Que estoy haciendo mal????

GRACIAS!
Título: Re:Problema con alarma
Publicado por: kostra en Junio 23, 2017, 10:02:37 AM
1. Por qué pones dos veces lo mismo, una en step y otra en alarm??
2. En el caso de usar el step (innecessario), en vez de poner == -1; yo suelo ver que ponen siempre <= 0; (yo nunca uso step para alarmas asi que no sep).
3. 90 steps no son 90 segundos, son 3, para que sean 90 segundos ponle 90*room_speed o 2700; a no ser que cambies el room speed aunque bueno, esto supongo que tú quisiste decir que lo quieres a 90steps :B
Título: Re:Problema con alarma
Publicado por: Dublan en Junio 23, 2017, 12:53:40 PM
Gracias por responder!!  XD

Te comento sobre tus puntos:

1. Necesito ponerlo en el step porque anteriormente tengo otros condicionantes dentro del propio step event

2. Lo probaré, pero creo que me dará los mismos resultados  :-X

3. Cierto, quise decir 90 steps  :-[. Ya he editado el primer post.

Alguien más tiene alguna idea de por qué no me funciona??

Gracias!!
Título: Re:Problema con alarma
Publicado por: kostra en Junio 23, 2017, 01:10:10 PM
de todas formas, aun teniendo los condicionantes que puedas, se puede poner en alarm normal siempre, pero mi pregunta es igual,, por qué pones lo mismo dos veces?!?!

di qué tratas de hacer bien descrito y me entretengo a montártelo para que copypastees un poco y me distraigo yo otro poco, así me animo a entrarle a mi proyecto que ya termino una alpha que publicaré aquí :B
Título: Re:Problema con alarma
Publicado por: Dublan en Junio 23, 2017, 02:53:16 PM
Quiero simplemente hacer un movimiento random de un enemigo. Y que en el level 2 evite el objeto obj_morir.

Tendría que comprobarse en el step, porque quiero que empiece a moverse aleatoriamente cuando se cumplan ciertos condicionantes.
Título: Re:Problema con alarma
Publicado por: kostra en Junio 23, 2017, 03:09:08 PM
create:
[gml]speed = 10;
randomize();
direction = irandom(360);
alarm[0] = 2*room_speed; //te aconsejo usar siempre lo de *room_speed para mayor control en casos futuros puedas cambiar los FPS sin problemas[/gml]

alarm0:
[gml]direction = irandom(360);
alarm[0] = 2*room_speed;[/gml]

collision con obj_morir:
[gml]if room == rm_level2
    move_bounce_all(true);
/*all si no es sólido, pero se puede cambiar en el caso
también puedes poner direction = -direction; eso depende
de qué tipo de objeto sea este objeto o el objeto morir y
si el objeto morir se mueve, pues varia...*/[/gml]
Título: Re:Problema con alarma
Publicado por: Dublan en Junio 23, 2017, 03:27:39 PM
Gracias por la ayuda!!  :love:

Voy a ver cómo podría adaptarlo a mi caso. Es que necesito que la condición se de en el step. Por ayudarte mejor a entenderme, el caso es que tengo puesto en step que compruebe si hay monedas en la room. Si las hay, que vaya a por ellas, y sino, que se mueva aleatoriamente, teniendo cuidado de que en el level 2 no colisione con obj_morir. Por eso te comentaba lo de comprobarlo en el step, porque tiene que asegurarse primero de que no queden monedas en la room. Además, aleatoriamente puede que se generen monedas o puede que no cuando ya haya recogido todas.
Título: Re:Problema con alarma
Publicado por: kostra en Junio 23, 2017, 05:13:51 PM
LA PUEDES PONER EXACTAMENTE IGUAL EN LA ALARM xD
(poniendo alarm[0] = 1; al final de la alarma, conviertes el evento entero en un step nuevo para lo que quieras xD)
Título: Re:Problema con alarma
Publicado por: Dublan en Junio 23, 2017, 06:13:04 PM
Fuck, no se me pasó por la cabeza hacerlo así  :'(

Gracias por abrir estos ojitos!!  ;D
Título: Re:Problema con alarma
Publicado por: kostra en Junio 23, 2017, 06:29:32 PM
solucionado po? [cartelico]xD