estoy tratando de probar esto pero no funciona no se cual sera el problema.

en event Create.
instance_deactivate_all(self);
alarm[0]=seconds*room_speed;

en la Alarm[0]
instance_activate_all();

quiero que se me pare el juego por un rato como cuando el SLEEP zzz
en seconds he puesto 30 o 60 pero se me queda en blanco la pantalla o es que tengo que crear un nuevo objeto.


¿Y por qué motivo la alarma se debería ejecutar si antes desactivaste TODAS las instancias?

Cita de: penumbra en Febrero 02, 2014, 08:35:05 PM
¿Y por qué motivo la alarma se debería ejecutar si antes desactivaste TODAS las instancias?

es cierto  XD XD XD no me percate de que ese codigo es completamente inutil detienes todas las instancias y por ende no aran nada men :ccccc es como matar a todos tus trabajadores y luego mandarlos a trabajar....

#4 Febrero 03, 2014, 02:13:32 AM Ultima modificación: Febrero 03, 2014, 02:15:14 AM por DarkKRuleR
[gml]instance_deactivate_all(self);[/gml]

or...

[gml]instance_deactivate_all(true);[/gml]

arregla eso y nos cuentas :)

a lo mejor quiere hacer sleep para todo excepto para el propio objeto, que siga haciendo cálculos mientras los demás duermen, para eso no le sirve el sleep ^_^

PD: si multiplicas seconds por room_speed (pongamos 30), seconds no puede valer 30, entonces daria 900, dormiría... medio minuto? seconds debería ser 1, 2, 3...




Hola,

La función sleep está obsoleta en GMStudio...se debe hacer por alarms. En versiones anteriores supongo que si funciona...

saludos
Fan de los retro-juegos 2D, arcades, plataformas. Programador. Amiga and MSX fan


 :GMS:eams1986 pordrias poner ese codigo corregido aquí esque tengo el mismo problema que tu y no se como lo has echo

Me paso lo mismo al pasar algunos proyectos de GMS8.1 a GMS. No se porque cuernos sacaron esa funcion tan util. Ahora tengo un desman de errores . :(
¡¡¡Mañana estare mejor que hoy!!!


Se puede simular el sleep por código, en este caso en un script. Creas un script con el nombre que quieras, por ejemplo Sleep y pones este código:

//Sleep (ms). ms son los milisegundos
var time= current_time, ms=argument0;

do {} until (( current_time-time) >= round(ms)) {};
return (current_time-time);

Luego puedes hacer un Sleep(ms) en el juego.

saludos
Fan de los retro-juegos 2D, arcades, plataformas. Programador. Amiga and MSX fan

#12 Junio 29, 2015, 04:47:21 PM Ultima modificación: Junio 29, 2015, 04:49:48 PM por Clamud
Buen script shaq145, es genial.
Hice unas pruebas y noté que los eventos del teclado se siguen detectando mientras se ejecuta el script, cuando termina la pausa se ejecutan las acciones del teclado, hay que tener cuidado con eso.

También se puede escribir así:
[gml]
///sleep2( ms );
var tf = current_time + floor(argument0); //tiempo final
while( current_time < tf ){/*hacer nada hasta llegar al tiempo final*/}
[/gml]