evento crear
[gml]bonuscrear=ceil(random(5));[/gml]
evento Animation end
[gml]switch(bonuscrear)
{
case 1:
instance_create(x,y,B_M)
break;
case 2:
instance_create(x,y,B_M)
break;
case 3:
instance_create(x,y,B_M)
break;
etc,etc xD
}[/gml]
pero me sale que bonuscrear no existe xq? si esta en el mismo objeto
Mmm deberia andar, revisa bien si la variable esta bien escrita en ambos eventos, porque por mas que el sprite tenga 1 sprite, deberia funcionar.
me a ocurrido algo parecido y resulto ser la fuente del texto en un caso en otro un acento, pero para evitarlo as copy en el nombre de la variable en create y paste en el switch. si aun asi te da el error es un bug del game maker. o algun otro codigo u event que esta afectando el juego.
YA LO REVISE SON EL MISMO NOMBRE
Primero que nada, deber?as poner esto en create, en vez de lo que ten?s ahora:
[gml]bonuscrear = floor(random(5)) + 1;[/gml]
Eso es porque random puede devolver 0, y ceil(0) es 0.
Como norma general, random siempre deber?a usarse junto con floor. Nunca con ceil ni round.
Y segundo, la raz?n puede ser que el evento animation end se est? ejecutando antes que create. No s? si es posible, pero no se me ocurre otra raz?n. Prob? poner esto al principio de animation end:
[gml]if (!variable_local_exists("bonuscrear")) {
exit;
}[/gml]