Simba Code:
program AwesomeRuneEssence;
{$i srl/srl.simba}
var
EnoughOfThis,TultaFound,AuburyFound,InventoryFull,PortalFound,Teleportilla,Enough,PuskaFound,KivetFound,PankkiFound:Boolean;
X,Y,Tulta,TeleportThere,Portal,Teleportti,Pankki,Puska,Kivet:Integer;
procedure BitmapsHere;
begin
Tulta := BitmapFromString(4, 4, 'meJyTK/qrrvlNruivwNJ/EAaEDWfA' +
'xSFsAEhKGOA=');
TeleportThere := BitmapFromString(37, 4, 'meJxzD4l1x43+gwEDAwMeNeSh/0g' +
'Al3VY1ZAtzgAGyLLI1hFUQ6Q4LmNpwQYApr3tGQ==');
Portal := BitmapFromString(8, 8, 'meJxjZGDYjwoYGRgYUQWl0+9AEJpK' +
'oEhqsTOmFJDrE2UIl0JGQHGIFIQBR5giaEhNSwsZwcUBqDxShQ==');
Teleportti := BitmapFromString(11, 11, 'meJx90N8KgjAchuH7vwzbapQHaU' +
'PG5kjLw0mgdeaJl9JHX45VErz8Tvawf8q0ZT/KynPGNtqxnWmQm+Y' +
'vEI0yDRLarxjt0N5ekL49wDiB5ZJYAPdh8gN4gm11ZnaaizCK15JY' +
'A0UYcDHON3BXpEwbO/V34mMYMtzhB6RvgTnUXV53KUg/DQflf0FW2' +
'idscAIH');
Pankki := BitmapFromString(16, 3, 'meJxj+vOH4etXhrt3hf/9YyLEZmR' +
'gALHfvmU4cwbIIMjOyCgA6gIygBqBiCAbqB4AOYxIFA==');
Puska := BitmapFromString(10, 10, 'meJxdjjEKgDAMRTu5ODq7ujkKns' +
'LrqtVCURRP0zP48EMIwuPT5CWhMZ7xY1kPY16yoF/1o2wzTLI8fpa' +
'OLCXIpnTXXUtu+4UlUZayQInVorfC+lLe2k1DYzk/oC9xn1RHlFLs' +
'LWsDqBCCH/BbqBexrp83');
Kivet := BitmapFromString(11, 9, 'meJxzsLNzAKOp0xYCkQOMGx4RAWF' +
'oaGjAZYFo1uxlEBEIWrhw7YQJc4AiyAogaiAAqABZO1wBBAFlIQqA' +
'1kEQUHD+/NUQhCyOjIBScDfgUoBVFiIItALZm3BxCIJbjRYOAPW+c1U=');
end;
procedure FreebitmapsNow;
begin
FreeBitmap(Tulta);
FreeBitmap(TeleportThere);
FreeBitmap(Portal);
FreeBitmap(Teleportti);
FreeBitmap(Pankki);
FreeBitmap(Puska);
FreeBitmap(Kivet);
end;
procedure StartBotting; forward;
procedure GoToBank;
begin
writeln('Walking to bank')
mMouse(666+7,20,1,1);
sleep(500);
ClickMouse(X,Y,Mouse_Left)
sleep(9500);
PankkiFound := false;
repeat
if FindBitmapToleranceIn(Pankki, X, Y, 520, 0, 760, 210, 20)then
begin
writeln('Found Bank')
PankkiFound := true;
mMouse(X+10,Y-5,1,1)
sleep(500);
ClickMouse(X,Y,Mouse_Left)
sleep(10500+Random(1000));
end;
until PankkiFound
mMouse(255,195,1,1);
sleep(500);
ClickMouse(X,Y,Mouse_Right)
sleep(750);
mMouse(255,230,1,1);
sleep(500);
ClickMouse(X,Y,Mouse_Left)
sleep(1500);
mMouse(710,390,1,1);
sleep(500);
writeln('Banking Essence');
ClickMouse(X,Y,Mouse_Right)
sleep(250);
ClickMouse(X,Y,Mouse_Left)
writeln('Run Done');
StartBotting;
end;
procedure GoToAubury;
begin
TultaFound := false;
repeat
if FindBitmapToleranceIn(Tulta, X, Y, 520, 0, 760, 210, 20)then
begin
writeln('Walking to Aubury');
mMouse(X,Y+7,1,1);
sleep(1000);
ClickMouse(X,Y,Mouse_Left)
TultaFound := true;
end else
begin
mMouse(666,100,1,1);
sleep(500);
ClickMouse(X,Y,Mouse_Left)
end;
until TultaFound
end;
procedure TalkToAubury;
begin
AuburyFound := false;
repeat
if (TultaFound = true) then
begin
repeat
mMouse(255,130,1,1);
ClickMouse(X,Y,Mouse_Right)
sleep(750);
if FindBitmapToleranceIn(TeleportThere, X, Y, 0, 0, 520, 340, 20)then
begin
sleep(500);
mMouse(X,Y,1,1);
sleep(500);
ClickMouse(X,Y,Mouse_Left)
AuburyFound := true;
end else
mMouse(100,100,15,15);
sleep(1000);
mMouse(300,130,1,1);
ClickMouse(X,Y,Mouse_Right)
sleep(750);
if FindBitmapToleranceIn(TeleportThere, X, Y, 0, 0, 520, 340, 20)then
begin
sleep(500);
mMouse(X,Y,1,1);
sleep(500);
ClickMouse(X,Y,Mouse_Left)
AuburyFound := true;
end else
mMouse(100,100,15,15);
sleep(1000);
mMouse(255,170,1,1)
ClickMouse(X,Y,Mouse_Right)
if FindBitmapToleranceIn(TeleportThere, X, Y, 0, 0, 520, 340, 20)then
begin
sleep(500);
mMouse(X,Y,1,1);
sleep(500);
ClickMouse(X,Y,Mouse_Left)
AuburyFound := true;
end else
mMouse(100,100,15,15);
sleep(1000);
mMouse(300,170,1,1)
ClickMouse(X,Y,Mouse_Right)
sleep(750);
if FindBitmapToleranceIn(TeleportThere, X, Y, 0, 0, 520, 340, 20)then
begin
sleep(500);
mMouse(X,Y,1,1);
sleep(500);
ClickMouse(X,Y,Mouse_Left)
AuburyFound := true;
end else
mMouse(100,100,15,15);
sleep(1000);
mMouse(295,130,1,1);
ClickMouse(X,Y,Mouse_Right)
sleep(750);
if FindBitmapToleranceIn(TeleportThere, X, Y, 0, 0, 520, 340, 20)then
begin
sleep(500);
mMouse(X,Y,1,1);
sleep(500);
ClickMouse(X,Y,Mouse_Left)
AuburyFound := true;
end else
mMouse(100,100,15,15);
sleep(1000);
mMouse(285,130,1,1);
ClickMouse(X,Y,Mouse_Right)
sleep(750);
if FindBitmapToleranceIn(TeleportThere, X, Y, 0, 0, 520, 340, 20)then
begin
sleep(500);
mMouse(X,Y,1,1);
sleep(500);
ClickMouse(X,Y,Mouse_Left)
AuburyFound := true;
end;
until AuburyFound
end;
until AuburyFound
end;
procedure GoToKivet;
begin
mMouse(680,23,1,1);
sleep(500);
ClickMouse(X,Y,Mouse_left)
sleep(5500);
mMouse(368,100,10,10);
sleep(500);
ClickMouse(X,Y,Mouse_Left)
end;
procedure GoToPuska;
begin
PuskaFound := false;
repeat
if FindBitmapToleranceIn(Puska, X, Y, 520, 0, 760, 210, 20)then
begin
PuskaFound := True;
mMouse(X,Y,1,1);
sleep(500);
ClickMouse(X,Y,Mouse_left);
sleep(3500);
end;
until PuskaFound
end;
procedure GoToPortal;
begin
PortalFound := false;
Teleportilla := false;
repeat
if FindBitmapToleranceIn(Portal, X, Y, 520, 0, 760, 210, 20)then
begin
PortalFound := true;
mMouse(X,Y+12,1,1);
sleep(500);
ClickMouse(X,Y,Mouse_Left)
sleep(5500);
Repeat
sleep(1000)
if FindColortolerance(x, y, 12909307, 0, 0, 520, 340, 20)then
begin
mMouse(X,Y,1,1);
sleep(500);
ClickMouse(X,Y,Mouse_Left)
sleep(2000);
GoToBank;
end;
until Teleportilla
end;
until PortalFound
end;
procedure CheckInventory;
begin
InventoryFull := false;
repeat
sleep(3000);
if FindColorSpiralTolerance(x, y, 7500667, 690, 425, 735, 470, 3) then
begin
WriteLn('Invy full');
InventoryFull := true;
GoToPortal;
end;
until InventoryFull
end;
procedure StartBotting;
begin
repeat
writeln('starting');
GoToAubury;
sleep(17000);
TalkToAubury;
sleep(3000);
GoToPuska;
GoToKivet;
sleep(3000);
sleep(500);
CheckInventory;
until (false)
end;
begin
ClearDebug;
MouseSpeed := 15;
SetUpSRL;
BitmapsHere;
StartBotting;
FreebitmapsNow;
end.