Hello,
I've been working on a procedure to make my scripts take breaks, but I keep running into an error when I try to test it.
It keeps opening time.simba and writes this message in the debug box:
Simba Code:
Error: Access violation at line 456
Execution failed.
My code is:
Simba Code:
procedure takeBreak(minimum, maximum: integer);
var
H, M, S, HH, MM, SS, breakFor, timeLeft: integer;
breakStartTimer: TTimeMarker;
begin
breakFor := gaussRangeInt(minimum * 60000, maximum * 60000);
convertTime(breakFor, H, M, S);
writeLn('Taking a break for: ' + toStr(H)+ 'h ' + toStr(M)+ 'm ' + toStr(S)+ 's');
showBalloonHint('Break', 'Taking a break for: ' + toStr(H)+ 'h ' + toStr(M)+ 'm ' + toStr(S)+ 's', 3000, 0);
if random(2) = 0 then
begin
players[currentPlayer].logout()
end else
begin
players[currentPlayer].exitToLobby();
end;
breakStartTimer.start();
repeat
timeLeft := breakFor - breakStartTimer.getTime();
convertTime(timeLeft, HH, MM, SS);
writeLn('Ending break in: ' + toStr(HH)+ 'h ' + toStr(MM)+ 'm ' + toStr(SS)+ 's');
showBalloonHint('Break', 'Ending break in: ' + toStr(HH)+ 'h ' + toStr(MM)+ 'm ' + toStr(SS)+ 's', 3000, 0);
wait(10000 + random(5000));
until breakFor < breakStartTimer.getTime();
showBalloonHint('Break', 'Break completed. Loging in..', 3000, 0);
userLogin;
inc(breaksTaken);
end;