program New;
{.include srl/srl.scar}
procedure SleepAndMoveMouse2(Time : Integer); // By RSN, edit by RealRune
var
Moving : Boolean;
mx, my : Integer;
x, y, xv, yv : Extended;
gx, gy : Extended;
T : Integer;
begin
GetMousePos(mx, my);
x := mx;
y := my;
if (Random(2) = 0) then
Moving := False
else
Moving := True;
gx := 130 + Random(500);
gy := 130 + Random(300);
T := GetTickCount;
repeat
Sleep(10);
if (Moving) then
begin
if (gx > x) then
xv := xv + 0.1
else
xv := xv - 0.1;
if (gy > y) then
yv := yv + 0.1
else
yv := yv - 0.1;
x := x + xv;
y := y + yv;
MoveMouse(Round(x), Round(y));
end;
if (Random(100) = 0) then
Moving := not Moving;
if (Random(30) = 0) then
begin
gx := 130 + Random(500);
gy := 130 + Random(300);
end;
if (Distance(mx, my, Round(x), Round(y)) >= 120)then
begin
sleep(20 + random(20));
writeln('Moved over 120 pixels');
if(Random(2) = 1)then
MMouse(mx - random(5), my - random(5), 0, 0)
Else
MMouse(mx + random(5), mx + random(5), 0, 0);
repeat
sleep(10);
until (Abs(GetTickCount - T) >= Time);
exit;
end;
until (Abs(GetTickCount - T) >= Time);
end;
procedure ShakyWait(time : integer); // By RealRune
Var T, Cx, Cy : integer;
begin
T := GetTickCount;
repeat
if(Random(30) = 1)then
begin
if(Random(4) = 1)then
begin
IdleTime(100, 100, 1.0 + random(10))
writeln('Using a short idletime');
end
Else
begin
Writeln('Moving the mouse a little')
GetMousePos(cx, cy);
if(Random(2) = 1)then
MMouse(cx - random(7), cy - random(7), 0, 0)
Else
MMouse(cx + random(7), cy + random(7), 0, 0);
end;
end;
Sleep(10);
until (Abs(GetTickCount - T) >= Time);
end;
procedure HSWait(time : integer); // By RealRune
var S : integer;
begin
S := Time + Random(Time / 10);
if(Random(1000) = 1)then
begin
writeln('Using SleepAndMoveMouse');
SleepAndMoveMouse(S);
exit;
end
Else
if(Random(100) = 1)then
begin
writeln('Using SleepAndMoveMouse2');
SleepAndMoveMouse2(S);
exit;
end
Else
if(Random(10) = 1)then
begin
writeln('Using shaky wait');
ShakyWait(S);
exit;
end
Else
if(Random(10) = 1)then
begin
writeln('Using idletime');
IdleTime(S, 0, 1.0 + random(3))
exit;
end;
Sleep(s);
end;
begin
SetupSRL;
BenMouse := False;
MouseSpeed := 25;
repeat
HSWait(1000);
writeln('done');
until(false);
end.
There, that should be good.