Code:
program gnomeprayer;
{$DEFINE SRL_NXT}
{$I SRL-6-Simba1.2/SRL.simba}
{$I SPS/lib/SPS-RS3.Simba}
var
i, x, y, clicks, NeedleMid, NeedleLeft1, NeedleLeft2, NeedleRight1, NeedleRight2, NeedleFarLeft, NeedleFarRight: integer;
procedure declarePlayers();
begin
setLength(players, 1);
with players[0] do
begin
loginName := '';
password := '';
isActive := true;
isMember := true;
end
currentPlayer := 0;
end;
procedure loadDTMs();
begin
NeedleMid := DTMFromString('mggAAAHicY2NgYNjGwcAwFYh3APEeDgj/NhC3MTIwVALxOiBeBsT5QFwFxAqWbQwOix0YIh5GMrT4NTP8//+fwaLXgoEfaBY2zIgDQwAAjwQRDA==');
NeedleLeft1 := DTMFromString('mggAAAHicY2NgYNjAwcAwEYhvAPE6ID4GxNuBuIGRgaEZiMuAeBYQrwbiHCDWselkcIpgYIgoZWBo921gqFnKwPDu3TsGfqBZ2DAjDgwBACJWD6I=');
NeedleLeft2 := DTMFromString('mggAAAHicY2NgYFjLwcAwEYjXAPFBIL4JxNuBuJmRgaEbiJcB8TogLgfiPCCWs2hlyAtiYGj0aWDY2MrA0JTEwPD//38GfqBZ2DAjDgwBAEWxEB4=');
NeedleRight1 := DTMFromString('mbQAAAHicY2VgYNjFwcAwEYjvAvF2ID4AxE2MDAwtQNwIxLlAvBaIFSxaGdzjGRiiKhgYfvz4wdC4hoGBnwETM2LBYAAAorANLQ==');
NeedleRight2 := DTMFromString('mggAAAHicY2NgYDjIwcAwEYjvAfEBIN4GxPOBuJGRgaEViNuBeCkQ50BpeYtWhlQfBoYMXwaGTv8Whrdv3zL0ZzMw8DNgx4w4MAQAACZRD4Q=');
NeedleFarLeft := DTMFromString('mggAAAHicY2NgYJjHwcCwHYhnAPENIN4LxJOBuJORgSEHiIuAuBSI1wPxVCBWsWpjePfuHcMcoF4QvgHEs4CYHwdmxIEhAADcCg4q');
NeedleFarRight := DTMFromString('mggAAAHicY2NgYDjHwcCwHYhnAPENIN4LxJOBuJ2RgSEHiIuAuBSI1wPxVCBWsWpjePfuHcMcoF4QvgHEs4CYHwdmxIEhAADy3g5Y');
end;
procedure Needle;
begin
wait(randomRange(620, 12));
if findDTM(NeedleMid, x, y, Mainscreen.getBounds()) then
wait(88);
if findDTM(NeedleLeft1, x, y, Mainscreen.getBounds()) then
begin
KeyDown(39);
wait(randomRange(34, 12));
KeyUp(39);
wait(randomRange(1014, 32));
end;
if findDTM(NeedleLeft2, x, y, Mainscreen.getBounds()) then
begin
KeyDown(39);
wait(randomRange(34, 12));
KeyUp(39);
wait(randomRange(48, 12));
KeyDown(39);
wait(randomRange(34, 12));
KeyUp(39);
wait(randomRange(1014, 32));
end;
if findDTM(NeedleRight1, x, y, Mainscreen.getBounds()) then
begin
KeyDown(37);
wait(randomRange(34, 12));
KeyUp(37);
wait(randomRange(1014, 32));
end;
if findDTM(NeedleRight2, x, y, Mainscreen.getBounds()) then
begin
KeyDown(37);
wait(randomRange(34, 12));
KeyUp(37);
wait(randomRange(48, 12));
KeyDown(37);
wait(randomRange(34, 12));
KeyUp(37);
wait(randomRange(1014, 32));
end;
if findDTM(NeedleFarLeft, x, y, Mainscreen.getBounds()) then
begin
KeyDown(39);
wait(randomRange(34, 12));
KeyUp(39);
wait(randomRange(48, 12));
KeyDown(39);
wait(randomRange(34, 12));
KeyUp(39);
wait(randomRange(34, 12));
KeyDown(39);
wait(randomRange(34, 12));
KeyUp(39);
wait(randomRange(48, 12));
KeyDown(39);
wait(randomRange(34, 12));
KeyUp(39);
wait(randomRange(48, 12));
KeyDown(39);
wait(randomRange(34, 12));
KeyUp(39);
wait(randomRange(1014, 32));
end;
if findDTM(NeedleFarRight, x, y, Mainscreen.getBounds()) then
begin
KeyDown(37);
wait(randomRange(34, 12));
KeyUp(37);
wait(randomRange(48, 12));
KeyDown(37);
wait(randomRange(34, 12));
KeyUp(37);
wait(randomRange(34, 12));
KeyDown(37);
wait(randomRange(34, 12));
KeyUp(37);
wait(randomRange(48, 12));
KeyDown(37);
wait(randomRange(34, 12));
KeyUp(37);
wait(randomRange(48, 12));
KeyDown(37);
wait(randomRange(34, 12));
KeyUp(37);
wait(randomRange(1014, 32));
end;
end;
Procedure NeedleReact;
begin
wait(81);
Case i of
0: writeln('middle');
1: writeln('left');
2: writeln('left left');
3: writeln('right');
4: writeln('right right');
end;
end;
procedure FREEDTMZ;
begin
FreeDtm(NeedleMid);
FreeDtm(NeedleLeft1);
FreeDtm(NeedleLeft2);
FreeDtm(NeedleRight1);
FreeDtm(NeedleRight2);
FreeDtm(NeedleFarRight);
FreeDtm(NeedleFarLeft);
KeyUp(37);
KeyUp(39);
end;
begin
ActivateClient();
clearDebug();
setupSRL();
declarePlayers();
if not isLoggedIn() then
begin
players[currentPlayer].login();
exitTreasure();
minimap.setAngle(MM_DIRECTION_NORTH);
mainScreen.setAngle(MS_ANGLE_HIGH);
end;
begin
loadDTMs;
Addonterminate('FREEDTMZ');
clicks := 0;
begin
repeat
Needle;
//NeedleReact;
until (clicks > 44444);
FREEDTMZ;
terminatescript();
end;
end;
end.