Erm.. why not just do something like:
SCAR Code:
Program New;
{.include SRL\SRL.scar}
Var
TR, Taim : Integer;
Const
SleepT = 10; // Sleep every (..) mins
SleepHL = 2; // Sleep (..+Random(3)) mins
Procedure DoSleep; // From my Chicken buyer, edited a bit
Var
WaitT, Q, i, SL : Integer;
Begin
If TimeFromMark(TR) > Taim Then
Begin
CloseWindow;
SL := ((SleepHL+Random(3)) * 60000);
IncEx(Taim, (SleepT * 60000));
Logout;
MarkTime(WaitT);
Q := 60000;
While TimeFromMark(WaitT) < SL Do
Begin
If TimeFromMark(WaitT) >= Q Then
Begin
Inc(i);
WriteLn('Sleeping... '+ IntToStr(i) +' min.');
IncEx(Q, 60000);
End;
End;
WriteLn('Waking up.');
LoginPlayer;
End;
End;
Begin
SetupSRL;
Taim := (SleepT * 60000);
TR := 0;
MarkTime(TR);
End.