Me explico, quiero que un personaje cada cierto tiempo mire a un lado aleatorio (son 4), por lo tanto trate de inventarlo con alarmas, pero no se como elaborarlo con :GMS: .
Yo lo que hice fue algo así:
//Obj_player.Create
ya = true
//Obj_player.Step
if ya = true
{alarm[0]=30}
//Obj_player.Alarm 0
ya = false
R = random_range(1,4)
If R = 1
{Alarm[1]= 15}
//Y asi para 4 alarmas...
//Obj_player.Alarm 1
image_angle = 90
ya = true //Así vuelve a hacer el ciclo en Step
Lo que sucede es que no te has dado cuenta de que en el evento Step le asignas a la variable alarm[0] el valor 30 en cada step, por lo que nunca llega a cero y nunca activa la alarma.
Si tú dices: ya = true
Luego preguntas: SI (ya = true), entonces alarm[0] = 30
en cada Step, vuelves a preguntar: SI (ya = true) //y lo sigue siendo// entonces alarm
- = 30
por lo que nunca se activa la alarma.
Te resultaría más fácil:
//Create
alarm[0] = 30
De ese modo, la alarma comienza a moverse sin interrupción hasta activar el evento
//Alarma 0
R = random_range(1, 4); //Seleccionas al azar un valor de 1 a 4
image_angle = 90 * (R - 1); //multiplicas el valor de R por 90.
//Si es 1: (1 - 1) * 90 = 0 * 90 = 0
//Si es 1: (2 - 1) * 90 = 1 * 90 = 90
//Si es 1: (3 - 1) * 90 = 2 * 90 = 180
//Si es 1: (4 - 1) * 90 = 3 * 90 = 270
alarm[0] = 30 //luego vuelves a llamar a la misma alarma dentro de 30 steps.
Saludos
Muchas gracias Markus :D lo probare y luego te aviso como me fue ;D