Simba Code:
Program AutoClean;
{$i srl/srl.simba}
var
GrimyWeed,WithAll,BankSoulSplit,HerbsCleaned,Banktry:Integer;
HerbWait,HowManyClean,Status,MouseSpeedHerb:string;
Procedure StoreHerbs;
var
X, Y: Integer;
begin
ClearDebug;
status := ('Storing Herbs.');
Writeln('RJJ95 HerbCleaner Version 1.0');
Writeln('Status: ' + Status + '.');
Writeln('Herbs Cleaned:' + IntToStr(HerbsCleaned) + ' |'
+ IntToStr(StrToInt(HowManyClean)-HerbsCleaned) + ' Left|');
Writeln('Herblore XP Earned:' + Tostr(HerbsCleaned*931));
if FindColorTolerance(X, Y, 4578368, 352, 297, 386, 320, 10) then
begin
mmouse(x, y,1,1);
wait(randomrange(150, 250));
ClickMouse(X, Y, mouse_Left)
wait(randomrange(800, 1200));
end;
end;
Procedure FindTheBank;
var
tmpCTS, l, r,X,Y:Integer;
BankTPA:TPointArray;
begin
ClearDebug;
status := ('Banking clean Herbs.');
Writeln('RJJ95 HerbCleaner Version 1.0');
Writeln('Status: ' + Status + '.');
Writeln('Herbs Cleaned:' + IntToStr(HerbsCleaned) + ' |'
+ IntToStr(StrToInt(HowManyClean)-HerbsCleaned) + ' Left|');
Writeln('Herblore XP Earned:' + Tostr(HerbsCleaned*931));
MouseSpeed:=15;
tmpCTS := GetToleranceSpeed;
SetColorToleranceSpeed(2);
SetToleranceSpeed2Modifiers(0.11, 0.21);
if FindColorsTolerance(BankTPA, 5188666, 226, 172, 301, 307, 4) then
begin
SetColorToleranceSpeed(tmpCTS);
SetToleranceSpeed2Modifiers(0.02, 0.02);
L := High(BankTPA)
wait(randomrange(60, 100));
mmouse((BankTPA[r].x), (BankTPA[r].y)-35, 2, 2);
wait(randomrange(200, 350));
clickmouse2(mouse_left);
repeat
if BankTry >= 7 then
begin
FindTheBank;
end;
IncEx(BankTry, 1);
wait(randomrange(500, 750));
until
(FindBitmapToleranceIn(BankSoulSplit, X, Y,181, 27, 359, 52, 145)=true)
BankTry := 0;
StoreHerbs;
end;
end;
procedure CleanHerbs;
var
X, Y: Integer;
begin
ClearDebug;
status := ('Cleaning Herbs.');
Writeln('RJJ95 HerbCleaner Version 1.0');
Writeln('Status: ' + Status + '.');
Writeln('Herbs Cleaned:' + IntToStr(HerbsCleaned) + ' |'
+ IntToStr(StrToInt(HowManyClean)-HerbsCleaned) + ' Left|');
Writeln('Herblore XP Earned:' + Tostr(HerbsCleaned*931));
SetScriptProp(SP_WriteTimeStamp, [True]);
if (StrToInt(HowManyClean)) <= HerbsCleaned then
begin
TerminateScript;
end;
if FindDTM(GrimyWeed, x, y, 566, 215, 726, 454) then
begin
ClearDebug;
Writeln('RJJ95 HerbCleaner Version 1.0');
Writeln('Status: ' + Status + '.');
Writeln('Herbs Cleaned:' + IntToStr(HerbsCleaned) + ' |'
+ IntToStr(StrToInt(HowManyClean)-HerbsCleaned) + ' Left|');
Writeln('Herblore XP Earned:' + Tostr(HerbsCleaned*931));
if FindDTM(GrimyWeed, x, y, 563, 212, 602, 460) then
begin
ClearDebug;
Writeln('RJJ95 HerbCleaner Version 1.0');
Writeln('Status: ' + Status + '.');
Writeln('Herbs Cleaned:' + IntToStr(HerbsCleaned) + ' |'
+ IntToStr(StrToInt(HowManyClean)-HerbsCleaned) + ' Left|');
Writeln('Herblore XP Earned:' + Tostr(HerbsCleaned*931));
mmouse(x, y,1,1);
Wait((StrToInt(HerbWait)+1) + Random(50));
ClickMouse(x, y, mouse_Left);
IncEx(HerbsCleaned, 1);
Wait((StrToInt(HerbWait)+1) + Random(50));
end;
if FindDTM(GrimyWeed, x, y, 607, 212, 644, 460) then
begin
ClearDebug;
Writeln('RJJ95 HerbCleaner Version 1.0');
Writeln('Status: ' + Status + '.');
Writeln('Herbs Cleaned:' + IntToStr(HerbsCleaned) + ' |'
+ IntToStr(StrToInt(HowManyClean)-HerbsCleaned) + ' Left|');
Writeln('Herblore XP Earned:' + Tostr(HerbsCleaned*931));
mmouse(x, y,1,1);
Wait((StrToInt(HerbWait)+1) + Random(50));
ClickMouse(x, y, mouse_Left);
IncEx(HerbsCleaned, 1);
Wait((StrToInt(HerbWait)+1) + Random(50));
end;
if FindDTM(GrimyWeed, x, y, 652, 212, 685, 460) then
begin
ClearDebug;
Writeln('RJJ95 HerbCleaner Version 1.0');
Writeln('Status: ' + Status + '.');
Writeln('Herbs Cleaned:' + IntToStr(HerbsCleaned) + ' |'
+ IntToStr(StrToInt(HowManyClean)-HerbsCleaned) + ' Left|');
Writeln('Herblore XP Earned:' + Tostr(HerbsCleaned*931));
mmouse(x, y,1,1);
Wait((StrToInt(HerbWait)+1) + Random(50));
ClickMouse(x, y, mouse_Left);
IncEx(HerbsCleaned, 1);
Wait((StrToInt(HerbWait)+1) + Random(50));
end;
if FindDTM(GrimyWeed, x, y, 691, 212, 730, 460) then
begin
ClearDebug;
Writeln('RJJ95 HerbCleaner Version 1.0');
Writeln('Status: ' + Status + '.');
Writeln('Herbs Cleaned:' + IntToStr(HerbsCleaned) + ' |'
+ IntToStr(StrToInt(HowManyClean)-HerbsCleaned) + ' Left|');
Writeln('Herblore XP Earned:' + Tostr(HerbsCleaned*931));
mmouse(x, y,1,1);
Wait((StrToInt(HerbWait)+1) + Random(50));
ClickMouse(x, y, mouse_Left);
IncEx(HerbsCleaned, 1);
Wait((StrToInt(HerbWait)+1) + Random(50));
end;
repeat
CleanHerbs;
Until (FindDTM(GrimyWeed, x, y, 566, 215, 726, 454)=false)
FindTheBank;
end;
end;
Procedure CloseBankHerb;
var
X, Y: Integer;
begin
ClearDebug;
status := ('Closing bank.');
Writeln('RJJ95 HerbCleaner Version 1.0');
Writeln('Status: ' + Status + '.');
Writeln('Herbs Cleaned:' + IntToStr(HerbsCleaned) + ' |'
+ IntToStr(StrToInt(HowManyClean)-HerbsCleaned) + ' Left|');
Writeln('Herblore XP Earned:' + Tostr(HerbsCleaned*931));
if FindColorTolerance(X,Y,8421504,427,32,500,51,15) then
begin
Wait(800 + Random(150));
MouseSpeed:=20;
mmouse(x, y,1,1);
Wait(250 + Random(150));
ClickMouse(x, y, mouse_Left);
Wait(700 + Random(150));
CleanHerbs;
end;
end;
Procedure WithDrawHerbs;
var
X, Y: Integer;
begin
ClearDebug;
MouseSpeed:=StrToInt(MouseSpeedHerb);
Writeln('RJJ95 HerbCleaner Version 1.0');
Writeln('Status: ' + Status + '.');
Writeln('Herbs Cleaned:' + IntToStr(HerbsCleaned) + ' |'
+ IntToStr(StrToInt(HowManyClean)-HerbsCleaned) + ' Left|');
Writeln('Herblore XP Earned:' + Tostr(HerbsCleaned*931));
if FindDTM(GrimyWeed, x, y, 22, 25, 497, 326) then
status := ('Withdrawing Herbs.');
begin
mmouse(x, y,1,1);
wait(randomrange(150, 200));
ClickMouse(X, Y, mouse_Right);
wait(randomrange(300, 350));
if FindBitmapToleranceIn(WithAll, X, Y,22, 25, 508, 328, 125) then
begin
mmouse(x, y,1,1);
wait(randomrange(150, 200));
ClickMouse(X, Y, mouse_Left);
wait(randomrange(400, 600));
CloseBankHerb;
end;
end;
//TerminateScript;
end;
Procedure AskOptions;
begin
If (InputQuery('Enter Time between Herb clean', 'Enter time[In Miliseconds]:' , HerbWait)) Then
If (InputQuery('How many herbs would you like to clean', 'Enter Amount:' , HowManyClean)) Then
If (InputQuery('Mouse Speed:', 'Enter Speed:' , MouseSpeedHerb)) Then
Wait(750);
WithDrawHerbs;
end;
Begin
GrimyWeed := DTMFromString('mbQAAAHicY2VgYHgNxF+A+B0QvwTix0BcCcRlQFwIxaVALBKkxhDjKc8gEq7BIBKjxWCgJsjAARRHx4xYMBgAABpPCfY=');
WithAll := BitmapFromString(131, 5, 'meJy9ld0NgzAMhDMI731giY7Yl+' +
'zCBKzVRj0VnXzOEZS2UoT8i4M/4tRtr9teSqkfYbmtkKGyBSrkZmR' +
'7qh6L09NaKvO6P55twd6eUNkFLwLUe6SkuZxlSg/m+nizh9BebXto' +
'JjPiSKA5BaHqVRDmw41XhUEQ3MN0G70NhHgFFOyDDdETEc6OMvozi' +
'DR4HkSvgQrCx5/KV0GkMg+3X4DoDZxJEOZv929LMfn4ERBm4Ggztd' +
'vhKgkD7VsgeqNgEsTyvnRSe1rX1PLxBijUF/n9ktM=');
BankSoulSplit := BitmapFromString(172, 17, 'meJztmFFSwzAMRHMT7kD7C9MvB' +
'm7IbSEznnqWlbSWnCbtAB1/OIktS6snx83p9f0UtOeXN2z46Hz5mG' +
'vCPi2h27QD2qW/qcORsevA78XAvw6tPX1+UVvtt85c4NaaFjaKPZp' +
'+88AFCRoAnF4FDBW+OwOrtWVZmkvL9dcvJ9ZFU5RHN/uagTkf8k72' +
'PObFJwZWI1UG1nj7XNIhIn9XBpqfJLirf1VeslMCQDBQ3Y40petl7' +
'1QLcI4BzDUxoKPeGwPBwBZTEe2Z3W8LA7bM3QH5xLmLTjBA9d6Uwd' +
'p/BAbw0i2l6L47oJcbBk6Hjej8QHkUu3HkJJV5BgMyiJ7YWUPRcDo' +
'dAKg6mpM0WJRGH5DRYZgyHQ6VEqY1s9Ni4O59DIrSbUGKNgrrTKZC' +
'LQaRQbQ27OPPdTK5DwxDFkuQ224qkwzQ+VAo4Jqy7wJiMgqBKsJVA' +
'ye6jg2x13Vd7bvrkgLD/vBd4D4dumc7JQaEvD07kakoUjfXtFZ+Vx' +
'TpcN0TgW9k4Hx973QMfjEDuBcJU9Wooz0kwiDDgK59QqWUd3IgsxO' +
'WFOg7yaMxYI9wkanemsLRu6Cktj4gIZM6WHSSSNYG8b4rfjTGqiFY' +
'Im0pdrSmdagy0PexfupGBXq/PV1+/tCIOwD/Cbpzo7XQJexjI2u2N' +
'HS8dkwUGt6n1VExGoN5ITXsXNc3G7vwhHTol7ZDrbmBwka6uS8pO0' +
'B8DegfBER2zua7uruuaBkGjtEB9//jdSjZT04U48nbLQC41iYAyDA' +
'wJ2Beh4iBA3TIYHDb2PHp8HtgNfBq+EkA9mCAdLAMHKnDzRlIjncx' +
'yAeuYy9JsRMDVR3wGPBoOnwD+YiGAg==');
AskOptions;
repeat
SetScriptProp(SP_WriteTimeStamp, [True]);
WithDrawHerbs;
until (StrToInt(HowManyClean)) <= HerbsCleaned;
Freedtm(GrimyWeed);
FreeBitmap(WithAll);
FreeBitmap(BankSoulSplit);
FindTheBank;
end.