SRL Archive - Non-RuneScape Scripts

[Project 06] Bone Collector + Bury [PRAYER XP]


rj

2013-01-23 21:17:25

I now present to you bone collector + buryer. By defualt the script looks for bones and when the inventory in full it buries them. If it cannot find any bones it clicks within the red square on the minimap shown here:

Start within the blue area.

Brightness:



Script:
program BoneCollecter;
{$i srl/srl.simba}

var
akebone, Bones, Buried, Taken, XpGained: Integer;
BuryAmount, Status: string;

procedure ClickMap;
var
DTM_SPOT: Integer;
begin
DTM_SPOT := DTMFromString('mWAAAAHicY2FgYGhlYmDoBuJGIK4F4mygWAYQpwFxNBDnOkqCsaujIEOYkxyDIFAMGTOiYRAAAJF8BtI=');
ClearDebug;
status := ('Re-locating');
Writeln('*******************************');
Writeln('RJJ95 Bone Collector + and AutoBury');
Writeln('Status:' + Status + '');
Writeln('Bones Buried:' + IntToStr(Buried) + '');
Writeln('Bones Picked up:' + IntToStr(Taken) + '');
Writeln('XP Gained:' + IntToStr(XpGained) + '');
WriteLn('Goal:' + '[' + BuryAmount + ']' + '|' + IntToStr(StrToInt(BuryAmount) - Buried) + ' Left to bury| [' + IntToStr(Round(Buried * 1.0 / StrToInt(BuryAmount) * 100)) + '%]');
Writeln('*******************************');
ClickDTMRotatedIn(DTM_SPOT, MMX1, MMY1, MMX2, MMY2, - Pi, Pi, Pi / 30, [], mouse_Left);
wait(randomrange(1000, 1200));
while (IsMoving) do
wait(randomrange(100, 250));
FreeDTM(DTM_SPOT);
end;

procedure BuryBones;
var
X, Y: Integer;
begin
MouseSpeed := 15;
if FindDTM(Bones, x, y, 568, 209, 733, 463) then
begin
ClearDebug;
status := ('Burying bones');
Writeln('*******************************');
Writeln('RJJ95 Bone Collector + and AutoBury');
Writeln('Bones Buried:' + IntToStr(Buried) + '');
Writeln('Bones Picked up:' + IntToStr(Taken) + '');
Writeln('XP Gained:' + IntToStr(XpGained) + '');
WriteLn('Goal:' + '[' + BuryAmount + ']' + '|' + IntToStr(StrToInt(BuryAmount) - Buried) + ' Left to bury| [' + IntToStr(Round(Buried * 1.0 / StrToInt(BuryAmount) * 100)) + '%]');
Writeln('*******************************');
mmouse(x, y, 1, 1);
clickmouse2(mouse_Left);
IncEx(XpGained, 7);
IncEx(Buried, 1);
wait(randomrange(700, 800));
repeat
BuryBones;
until (FindDTM(Bones, x, y, 568, 209, 733, 463) = false);
end;
end;

procedure CollectBones;
var
tmpCTS, l, r, X, Y: Integer;
BoneTPA: TPointArray;
begin
if FindDTM(Bones, x, y, 691, 424, 732, 458) then
begin
BuryBones;
end;
MouseSpeed := 15;
tmpCTS := GetToleranceSpeed;
SetColorToleranceSpeed(2);
SetToleranceSpeed2Modifiers(0.00, 0.21);
if FindColorsTolerance(BoneTPA, 12040128, 9, 6, 503, 328, 3) then
begin
SetColorToleranceSpeed(tmpCTS);
SetToleranceSpeed2Modifiers(0.02, 0.02);
L := High(BoneTPA) wait(randomrange(60, 100));
mmouse((BoneTPA[r].x), (BoneTPA[r].y), 2, 2);
wait(randomrange(100, 150));
clickmouse2(mouse_Right);
wait(randomrange(500, 750));
if FindBitmapToleranceIn(akebone, X, Y, 9, 6, 503, 328, 145) then
begin
ClearDebug;
status := ('Collecting bones');
Writeln('*******************************');
Writeln('RJJ95 Bone Collector + and AutoBury');
Writeln('Bones Buried:' + IntToStr(Buried) + '');
Writeln('Bones Picked up:' + IntToStr(Taken) + '');
Writeln('XP Gained:' + IntToStr(XpGained) + '');
WriteLn('Goal:' + '[' + BuryAmount + ']' + '|' + IntToStr(StrToInt(BuryAmount) - Buried) + ' Left to bury| [' + IntToStr(Round(Buried * 1.0 / StrToInt(BuryAmount) * 100)) + '%]');
Writeln('*******************************');
mmouse(x, y, 1, 1);
clickmouse2(mouse_Left);
IncEx(Taken, 1);
wait(randomrange(700, 800));
while (IsMoving) do
wait(randomrange(100, 250));
CollectBones;
end;
ClickMap;
end;
end;

procedure AskBury;
begin
if (InputQuery('How many bones would you like to bury?', 'Amount:', BuryAmount)) then
ClearDebug;
Writeln('ATTENTION!!');
Writeln('ATTENTION!!');
Writeln('ATTENTION!!');
wait(1500);
ClearDebug;
Writeln('If the script picks up anything else then bones then let me know');
Wait(2500);
Cleardebug;
Writeln('I will add a failsafe later for it to drop ashes+chefs hats if needed');
Wait(2500);
Cleardebug;
Writeln('And remember... HAPPY BOTTING!');
wait(3000);
CollectBones;
end;

begin
akebone := BitmapFromString(53, 6, 'meJytk0sOgDAIBTmaOy/g1jt5Yxr' + 'bhEz4GaOEBQXSTvuo6m37cS6fKxURzfIuSd8upcu0WKr6q60cCTHs' + 'CC4rQlLxxD6/Sk0/YYjH68cGK0W8t7HhpT32IA6vUtaRf8dLY4qeP' + 'k5UXGCNuH/FnKVUu2omm9l7/BqWr/Bc/wCTjsWw');
Bones := DTMFromString('mWAAAAHicY2FgYJjDxMAwGYiXAPEsIC5hZGAoYoTQVUB8aOdOBl9XV4YTBw4w5CQlMvAD9SBjRjQMAgBi/AsU');
AskBury;
repeat
SetScriptProp(SP_WriteTimeStamp, [True]);
MouseSpeed := 15;
CollectBones;
until (StrToInt(BuryAmount)) <= Buried;
FreeBitmap(akebone);
FreeDTM(Bones);
end.

Pew

2013-01-23 22:05:07

Looks sick. Any estimates on exp/hr?

rj

2013-01-23 22:08:01

Nope, pretty sure it gets confused with chefs hat/ashes ill add fix later

Mikail

2013-01-24 06:57:26

Can u make a bones picker/burrier at the cows place? Theres always ppl and always bones to bot with :)

rj

2013-01-24 15:45:21

From: Mikail
Can u make a bones picker/burrier at the cows place? Theres always ppl and always bones to bot with :)


You can start it there.. you just have to change the spot were it clicks on the minimap