Code:
//Notes:
//you must have all the clay and buckets(empty or full) to start with
//buckets and clay must be in the first 4 rows of your bank
//(A good idear is to have all Buckets and clay in a new tab)
//no bankpin (or already entered) i havent got a bank pin but the findbank
//function has 1 built in can any1 tell me if it works[please enter your
//under players[0].pin]).
//you need atleast a couple hundred buckets other wise your realy
//increasing the chance of a slight error
//please have your man standing next to the counter in varrock east
//bank and press run. (this defantly insent un stoppable i dont
//segest any more than 20-30 lodes (280-420 clay) to be left alone as it
//dont seem to like randoms.)
//
//Fill out lines 26-29!
program New;
{.include SRL/SRL.scar}
var
Fullbucket, Emptybucket, Clay: Integer;//DTMs
SoftClay, Road, road2 : Integer;//I like DTMs =P
X, Y, XX, YY, lodesdone, BBuckets : Integer;
const
LodesToDo = 72; //number of lodes to do (14 clay to a lode)
fountaincolor = 8870726; // the color of the water in the fountian
dofillbuckets = true; //weather to fill emptybuckets or not
BucketToDo = 24; //number of bucket lodes to do (28 buckets to a lode)
procedure DeclarePlayers;//not nessasery only used for findnormalrandoms;
begin
HowManyPlayers := 1;
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 0;
Players[0].Name := 'aplayer123';
Players[0].Pass := '1234';
Players[0].Nick := 'p123';
Players[0].pin := '';
Players[0].Active := True;
end;
procedure checkrandoms;
begin
FindNormalRandoms;
FindNonInventoryRandoms;
end;
procedure setup;
begin
setupsrl;
Disguise('Windows Media Player');
ActivateClient;
declareplayers;
wait(1000);
makecompass('S');
makecompass('N');
lodesdone := 0
Fullbucket := DTMFromString('78DA63EC6360602862400153CB6C194480342' +
'310FF0702C6E940463A031A60442281740B116ADA804419013593' +
'804409AA8A96CA4AB87BC06ABA8144257E73000D7D0CE2');
Emptybucket := DTMFromString('78DA637CCAC0C090CF80025A33CD194480342' +
'310FF0702C6F740461A031A60442281F41D22D4DC0312A504D4BC' +
'05122504D480DC93835F0D00A2740D41');
Clay := DTMFromString('78DA639CC2C4C010CCC8800C26947B33B0026' +
'990E87F20609C0954E38DAA06220B2381F40CA09A30026A2610A1' +
'A60FA82610BF1A00050809EF');
SoftClay := DTMFromString('78DA639CCAC4C010C0C8800CE25C381852803' +
'448F43F10302E00AAF142550391859140BA17A8C687809A6EA09A' +
'70026AA603D5441350331FA8260CBF1A004D3D0A9F');
road := DTMFromString('78DA630C666260D061400155E5050C5C409A1' +
'188FF03016312508D26A61A06A81A301D0854638DAAA6A52C0455' +
'8D33508D067E7300EF8B0B89');
road2 := DTMFromString('78DA635CCBC4C090CF8002AACA0B18B880342' +
'310FF0702C62EFC6A4080713B76350CC86AA603D5641250B31EA8' +
'260A554D729831AA9A6EA09A5654352D6521286A004E33123B');
checkrandoms;
end;
procedure report;
var
timetm, timets : Integer;
begin
writeln('############################################');
writeln('BazzBarretts Soft Clay Maker');
writeln('Lodes done = ' + IntToStr(lodesdone));
writeln('Soft Clay made = ' + IntToStr(lodesdone*14));
writeln('Buckets filled = ' + IntToStr(BBuckets*28));
timetm := (GetTimeRunning/60000);
timets := (GetTimeRunning-(timetm*60000))/1000
writeln('Time taken = ' + IntToStr(timetm) + ' Minuets And ' + IntToStr(timets)+ ' Secounds');
writeln('Money Earnt = ~' + IntToStr(lodesdone*900) + ' Gp!');
writeln('############################################');
end;
procedure scriptterminate;
begin
freedtm(Fullbucket);
freedtm(Emptybucket);
freedtm(Clay);
freedtm(SoftClay);
freedtm(road);
freedtm(road2);
report;
end;
procedure closebank2;
begin
if bankscreen then
begin
mouse(488, 35, 3, 4, true);
checkrandoms;
end;
end;
procedure bankclay;
begin
if not loggedin then terminatescript;
if not bankscreen then FindBank('veb');
if finddtm(SoftClay, x, y, MIX1, MIY1, MIX2, MIY2) then
begin
Mouse(x, y, 0, 0, False);
ChooseOption('ll')
end;
if finddtm(Emptybucket, x, y, MIX1, MIY1, MIX2, MIY2) then
begin
Mouse(x, y, 0, 0, False);
ChooseOption('ll')
end;
checkrandoms;
if not InvEmpty then DepositAll;
end;
procedure withdrawclay;
begin
if not loggedin then terminatescript;
if not bankscreen then FindBank('veb');
if finddtm(clay, x, y, MSX1, MSY1, MSX2, MSY2) then
begin
mouse(x, y, 3, 3, false);
if chooseoption('14') then else
begin
mouse(x, y, 3, 3, false);
ChooseOption('w-X');
wait(300+random(200));
typesend('14');
end;
end;
if finddtm(Fullbucket, x, y, MSX1, MSY1, MSX2, MSY2) then
begin
mouse(x, y, 3, 3, false);
ChooseOption('ll')
end;
checkrandoms;
end;
procedure Fillbuckets; forward;
procedure MakeSoftClay;
begin
if not loggedin then terminatescript;
if finddtm(Fullbucket, x, y, MIX1, MIY1, MIX2, MIY2) then
begin
mouse(x, y, 3, 3, true);
if finddtm(Clay, x, y, MIX1, MIY1, MIX2, MIY2) then
begin
mouse(x, y, 3, 3, true);
wait(100+random(50));
mouse(255, 415, 5, 5, false);
if ChooseOption('ll') then
begin
wait(18000+random(2000));
inc(lodesdone);
end;
end else
begin
writeln('couldent find clay logging out');
terminatescript;
end;
end else
begin
writeln('couldent find any more buckets making more');
FillBuckets;
end;
end;
procedure WalkToFountain;
begin
MakeCompass('N');
if finddtm(road, x, y, MMX1, MMY1, MMX2, MMY2) then
begin
mouse(x, y, 0, 0, true);
FFlag(0);
if FindSymbol(x, y, 'water') then
begin
mouse(x, y, 0, 0, true);
FFlag(0);
end else
begin
writeln('couldent find fountain, guessing insted.');
mouse(588, 53, 4, 4, true);
FFlag(0);
end;
end else
begin
mouse(584, 38, 0, 0, true);
FFlag(0);
if FindSymbol(x, y, 'water') then
begin
mouse(x, y, 0, 0, true);
fflag(0);
end else
begin
writeln('couldent find fountain, assuming your on top of it.');
exit;
end;
end;
end;
procedure FillFromFountain;
begin
wait(1500+random(500));
if not findcolor(x, y, fountaincolor, MSX1, MSY1, MSX2, MSY2) then
begin
wait(3000+random(2000));
if not findcolor(x, y, fountaincolor, MSX1, MSY1, MSX2, MSY2) then
begin
writeln('couldent fill buckets going back 2 bank');
exit;
end;
end;
if findcolor(x, y, fountaincolor, MSX1, MSY1, MSX2, MSY2) then
begin
if finddtm(emptyBucket, xx, yy, MIX1, MIY1, MIX2, MIY2) then
begin
mouse(xx, yy, 3, 3, true);
mouse(x, y, 0, 0, true);
wait(19000+random(2000));
end else writeln('no buckets going back to bank');
end;
end;
procedure WalkToBank;
begin
if finddtm(road2, x, y, MMX1, MMY1, MMX2, MMY2) then
begin
mouse(x, y, 2, 2, true);
wait(3000);
FFlag(0);
end else
begin
writeln('couldent find road guessing');
mouse(677, 111, 3, 3, true);
wait(3000);
FFlag(0);
end;
end;
procedure bankbuckets;
begin
if finddtm(FullBucket, x, y, MIX1, MIY1, MIX2, MIY2) then
begin
mouse(x, y, 3, 3, false);
ChooseOption('ll');
end else
begin
writeln('couldent bank buckets ammusing theres 1 in secound slot');
deposit(2, 2, true);
end;
if not InvEmpty then DepositAll;
end;
procedure FillBuckets;
begin
if dofillbuckets then
begin
if not bankscreen then findbank('veb');
if not InvEmpty then DepositAll;
while finddtm(emptybucket, x, y, MSX1, MSY1, MSX2, MSY2) and (BucketToDo > BBuckets) Do
begin
mouse(x, y, 3, 3, false);
ChooseOption('ll');
closebank2;
WalkToFountain;
FillFromFountain;
WalkToBank;
findbank('veb');
wait(100+random(200));
bankbuckets;
inc(BBuckets);
wait(100+random(200));
end;
writeln('No more empty buckets! started making soft clay!');
end;
end;
begin
setup;
FillBuckets;
repeat
if not bankscreen then findbank('veb');
bankclay;
withdrawclay;
closebank2;
MakeSoftClay;
until(LodesDone = LodesToDo);
end.