Como puedo hacer para que en la pestaña Paso que teoricamente comprueba cada frame las acciones, cree yo un instance create y solo lo cree una vez en vez de infinitas veces

Puedes crear una variable en el create que sea igual a true y luego en el step antes del instante create pones if la variable que hayas puesto = true se hace y después la desactivas. Déjame que explico mejor pones algo así por
ejemplo aquí pongo para disparar 1 sola vez

En el evento create
PoderDisparar = true //variable


En el evento step
If (PoderDisparar == true)
{
    Instante_create();
     PoderDisparar = false
}


Y así ya no disparará más porque es falsa la variable, si la quieres volver a activar podrías agregar una alarma y que la ponga en true nuevamente
RyZeX

Asi no me sal.e q hago mal?

Create:

Numhealth = 5
muerte = true

Step:

if(Numhealth <= 0)
{
instance_destroy(objetoboss02);
instance_destroy(objetoboss02d);
instance_destroy(objetoboss02e);
instance_destroy(objetoboss02f);
instance_destroy(objetoboss02z);
instance_destroy(objetoboss022);
instance_destroy(objetoboss0222);

instance_create_layer (800,600,"enemy",objetoboss02x);
}



if (muerte == true)
{
    instance_create_layer (800,600,"enemy",objetoboss02x);
     muerte = false
}


#3 Enero 07, 2020, 03:00:49 AM Ultima modificación: Enero 07, 2020, 03:04:36 AM por dixon
Hola, buenas noches.

Quieres simular un evento create dentro de un draw, tienes que sacrificar una variable predeterminada del sistema cuyo valor inicial sea cero, entonces mientras sea cero que ejecute un código y luego de ejecutarlo que su valor cambie a 1.  La variable que yo recomiendo sacrificar es la score, porque esta aparece en todas las versiones del game maker y puede ser reemplazada.

Yo casi nunca uso el evento create, yo siempre simulo el evento create con la variable score de la siguiente manera:

Esta es la version encriptada: (inentendible pero funciona) Creo que no funciona en la studio 2, porfavor indicarme si funciona

///simulando el evento create dentro de un evento draw usando la variable score
repeat(score=self+abs(other)-1)
{
///aqui colocas el código que necesites que se ejecute solo una ves.

score=abs(self)
}


esta es la version entendible nivel medio, esta funciona en todas las versiones
//simulando el evento create con la variable score
repeat(!score)
{
score=1
}


y esta es la versión entendible, entendible.

///simulando el evento create con la variable score, también funciona en todas las versiones.
if(score=0)
{
///aqui colocas el codigo inicial

score=1
}



por ultimo:

Esto te va a funcionar solo si no estás usando la variable score para otra cosa...



////Asi no me sal.e q hago mal?

////Create:
if(score=0)
{
Numhealth = 5
muerte = true

score=1
}
///Step:

if(Numhealth <= 0)
{
instance_destroy(objetoboss02);
instance_destroy(objetoboss02d);
instance_destroy(objetoboss02e);
instance_destroy(objetoboss02f);
instance_destroy(objetoboss02z);
instance_destroy(objetoboss022);
instance_destroy(objetoboss0222);

instance_create_layer (800,600,"enemy",objetoboss02x);
}



if (muerte == true)
{
    instance_create_layer (800,600,"enemy",objetoboss02x);
     muerte = false
}



Bueno ahora dejeme indicarle, estoy creando juegos que dependen de un único código, tal es el caso de Vitel toné, y esto me obliga a simular el evento create con la variable score, tambien puedes echarle un vistaso al post de compatibilidad donde he descubierto otras cosas.
Si Dios quiere; Limpiaré la oficina, puliré el piso y les serviré café a todos, luego, me enseñarán a programar e iré a comprarles más café.