hola camaradas necesito ayuda con mi codigo de oleadas,es efectivo este sistema pero dados ciertos inconvenientes
necesito ponerle un limite a las oleadas,digamos que el maximo nivel sea 15,este es el codigo en cuestion con su respectivo
script;

EVENTO CREATE//

wave=1;
time=12;
spawn_rate=120;
alarm[0]=120;

EVENTO ALARMA 0//

if(time<=0)
{
time=12;
wave++;
spawn_rate-=12;
}else time--;

alarm[0]=120;

EVENTO STEP//

check_spawn(spawn_rate);


SCRIPT CHECK_SPAWN//

var spwn=floor(random(argument0));

if(spwn==0)
{
   var side=floor(random(4));
   switch(side)
   {
      case 0://left side
      obj=instance_create(0,random(room_height),obj_zombie,);
      obj.hspeed=1;
     
      break;
     
      case 1://top side
      obj=instance_create(random(room_width),0,obj_greenz);
      obj.vspeed=1;
     
     
      break;
   
     
      case 2://right side
      obj=instance_create(room_width,random(room_height),obj_redzombie);
      obj.hspeed=-1;
     
     
      break;
   
     
      case 3://bottom side
      obj=instance_create(random(room_width),room_height,obj_zombie3);
      obj.vspeed=-1;
     
     
      break;
   
   
   }


}

Busca en todo tu codigo en que momento pasa de wave y asigna una variable que se llame nivel que sume 1, y luego en el inicio de cada codigo le pones solamente si wave es menor a 15. No lei bien bien tu codigo pero creo que lo hiciste muy complejo para lo que habia que hacer.