Hola a todos, estoy haciendo un pequeño juego en GM, y aprendiendo poco a poco a manejarlo. Tengo ya dos rooms con sus escenarios, sus objetos, su física... todo parece funcionar bien, pero quiero implementar algo que no consigo.

Mi juego trata sobre un alienígena que, mediante un rayo, "hechiza" la mente de los enemigos; siendo así el objeto "enemy" el del enemigo que ataca, y el objeto "enemymine" el del enemigo "hechizado", que ayuda al alienígena; ambos son el mismo sprite, con los ojos pintados de rojo para los hechizados.

Lo que quiero es que, antes de pasar de una habitación a otra, no pueda quedar ningún enemigo sin hechizar. Es decir, que cuando el jugador se dirija a la puerta que pasa a la siguiente room, si queda algún enemigo todavía le salga un mensaje "Aún tienes enemigos en la habitación", y si ya no los hay, le permita pasar.

¿Como podría hacerlo?

Un saludo

#1 Mayo 30, 2018, 09:18:59 PM Ultima modificación: Mayo 30, 2018, 09:28:28 PM por cristopher2545
podrías crear un objeto en blanco para llevar la cuenta en cada cuarto y crear algunas variables como por ejemplo

CREATE DEL OBJETO CPU

enemigos_total=instance_number(obj_enemigo) // esto te dirá cuantos enemigos existen en el cuarto
enemigos_hechizados= 0 // cantidad de enemigos echizados


EVENTO EN DONDE HECHIZAS AL ENEMIGO

enemigos_hechizados+= 1


EVENTO STEP DE TU PORTAL PARA CAMBIAR DE NIVEL


if enemigos_hechizados=enemigos_total && place_meeting(x,y,obj_player) // si ya hechizaste a todos
{
room_goto_next // pasas de nivel
}



EVENTO DRAW DE TU PORTAL PARA CAMBIAR DE NIVEL


if enemigos_hechizados!=enemigos_total // si NO  hechizaste a todos
{
draw_text(x, y,"NO HAZ HECHIZADO A TODOS LOS ENEMIGOS TE FALTAN:"+string(enemigos_hechizados)+"/"+string(enemigos_total)); //se dibuja el texto que te indica cuantgos enemigos te faltan por hechizar
}
Programame! como a una de tus árcades chinas

GET BEHIND ME DOCTOR!

#2 Mayo 30, 2018, 09:20:10 PM Ultima modificación: Mayo 30, 2018, 09:28:37 PM por getnoff
puedes usar la función instance_exist para comprobar si existe alguna instancia de un enemigo no hechizado, por ejemplo prueba con algo así en la posición de la puerta donde cambias al otro room
[gml]
if instance_exists(enemy)
{
    show_message("Aún tienes enemigos en la habitación")
}
else
{
    room_goto(elotroroom);
}
[/gml]