Vincula el siguiente script a tu actor para ejecutar alguna acción cuando esté desocupado durante algún tiempo (5 segundos en este caso)
#include "scripts\base.inc" var IsIdle = false; var IdleStartTime = 0; while(true) // bucle sin fin { if(actor.Ready) // el actor está haciendo algo { if(!IsIdle) { // el actor entra en el estado **desocupado** IsIdle = true; IdleStartTime = Game.CurrentTime; } else if(Game.CurrentTime - IdleStartTime > 5000) // si el actor está desocupado durante 5 segundos { IdleStartTime = Game.CurrentTime; actor.ApplyEvent("idle"); } } else IsIdle = false; // el actor está ocupado; marcar IsIdle como False Sleep(100); // esperar 100 milisegundos } //////////////////////////////////////////////////////////////////////////////// on "idle" { // hacer algo aquí actor.Talk("¡Qué rolloooo!"); actor.GoTo(Random(0, 1000), Random(0, 600)); }