;) pues como lo dice el tema como puedo crear una oleada zombie, mi proyecto no es de vista cenital, la vista es como tipo dead pixels, ahora bien quiero crear las oleadas la verdad es que no tengo ni idea de como empezar, lo que me ingenie fue un objeto para crear a los zombies sobre los limites del room, tanto izquierda como derecha, entonces alguien tiene alguna idea de como crear oleadas y cuando termine una dejar pasar tiempo para mejorar armas, salud, vida, etc. y que vuelva otravez una oleada pero mas grande y asi sucesivamente.....

Fácil  ;D

Todo gracias a los buenos amigos Alarmas xD

Primero que nada, tendrías que definir un par de variables,una variable que indique si estás en una oleada o no, una que sea oleada que a esa le definis un número, otra variable que sea la cantidad de zombies estándar y por última X tiempo, este sería el tiempo intermedio para las oleadas. y a empezar con las alarmas. En las alarmas primero que nada tenes que comprobar si la cantidad de objetos zombies es igual a la cantidad que queres, lo que se me ocurre puede ser algo así:

[gml]if (instance_number(objZombie) < numZombie*numOleada) {
       instance_create(posiciónXalAzar,posiciónYalAzar,objZombie);
       alarm[0] = 5; //Este tiene que ser un número chico a sí no aparecen tan salteados los zombies.
} else {
       oleada = 0; //Si se completó la instancia de oleada se pone en 0.
       alarm[0] = tiempoProxOleada   //Acá ponemos para que en X tiempo se vuelva a repetir.
}[/gml]


Básicamente eso es lo que se me ocurre que podes llegar a hacer ;D

ok Iros es interesante tu script e idea pero al poner posicion x y y al azar los zombies saldran en el cielo o fuera del room
los zombies no siguen de inmediato al objeto jugador sino hasta que te acercas, entonces como le hago para que aprarezcan en los limites que se pueden ver en la imagen... ;)
los limites quiero que sean al principio y al final del room es un room como de 1000 de largo

Fácil, haces límites al azar.

Dentro de la función de la alarma definis:
[gml]var xx,yy;[/gml]

Y ahora usas la función random_range() que te permite crear un número al azar comprendido entre X1 y X2. Por ejemplo:

[gml] xx = random_range(25,610);
yy = random_range(50,450);[/gml]

Iros perdon la verdad no tengo tanta experiencia este proyecto seria el segundo agregando que el primero solo le falta poco, pero en fin, la cuestion es que me podrias poner un ejemplo completo en .gmk o seria mucho pedir ya que trate de hacerlo pero no me salio bien, si me hace la oleada y todo pero no deja de hacerla por eso te pido que si podrias poner un ejemplo mas completo, de antemano gracias y espero tu respuesta.... ;D

#5 Octubre 31, 2013, 02:04:32 AM Ultima modificación: Octubre 31, 2013, 02:34:31 AM por Iros
Acá hice un ejemplo bien básico.

https://www.dropbox.com/s/apd7jd6g9ltrwgl/oleadasZombies.gmk

Consiste en que cuando se crean los zombies al azar (en posición y) se activa un marcador que se coloca en 0 cuando se crean todos los zombies, al ponerse ese marcador en 0, en el evento step comprueba si ese marcador está en 0 y la cantidad de zombies es igual a 0, entonces pasa a ejecutarse nuevamente la alarma para la próxima oleada y le suma 1 a numOleada. El numOleada multiplica ese valor por la cantidad de objZombies a crearse, es decir que por cada oleada, el número de zombies aumenta.

El tiempo entre oleada se lo cambias con la variable tiempoOleada cambiando el 30 por el step de tu room (por lo general viene en 30 al menos que se lo cambies, 30 step equivalen a 1 segundo) y el 5 te dice los segundos, es decir que está configurado para un tiempo de 5 segundos, si queres que sea un tiempo de 30 segundos reemplazá el 5 por 30 y ya ;D


[EDIT]

Ahora crea zombies con posición aleatoria en x, es decir que lo crea en una punta o en la otra. Comenté esa parte por si no se entendía ;D

 :D Iros gracias y perdon por la respuesta tardia, tu ejemplo me sirvio bastante ya que con el pude realizar el sistema de oleadas muchas gracias, estoy contento ya que el demo esta por buen camino makeros descarguenlo para que me den sus impresiones esta en la seccion de juegos en desarrollo y nada solo sigan makeando  8)  :GM8: