Una manera en que probaría hacerlo es definir un arreglo
[gml]
mi_alarma[0]
mi_alarma[1]
mi_alarma[2]
mi_alarma[3]
[/gml]
y en create darle valores a cada elemento, según la duración deseada. En step se podría usar un switch/case o ifs para probar en qué momento cada elemento llega al fin de su cuenta (puede ser una cuenta ascendente o descendente, tú decides).
Otra alternativa sería usar los eventos definidos por usuario como alarmas adicionales, en ese caso, se tendrían que llamar mediante la función [gml]event_perform()[/gml]
Obviamente, para ambos casos, la cuenta de pasos no se realiza automáticamente como pasa con las alarmas, sino que se tiene que incrementar/decrementar un contador y controlar en qué momento se detiene o se reinicia la cuenta.
[gml]
mi_alarma[0]
mi_alarma[1]
mi_alarma[2]
mi_alarma[3]
[/gml]
y en create darle valores a cada elemento, según la duración deseada. En step se podría usar un switch/case o ifs para probar en qué momento cada elemento llega al fin de su cuenta (puede ser una cuenta ascendente o descendente, tú decides).
Otra alternativa sería usar los eventos definidos por usuario como alarmas adicionales, en ese caso, se tendrían que llamar mediante la función [gml]event_perform()[/gml]
Obviamente, para ambos casos, la cuenta de pasos no se realiza automáticamente como pasa con las alarmas, sino que se tiene que incrementar/decrementar un contador y controlar en qué momento se detiene o se reinicia la cuenta.