PDA

View Full Version : [Project 06] Bone Collector + Bury [PRAYER XP]



rj
01-24-2013, 02:17 AM
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:
http://i45.tinypic.com/ae8y2r.png

Start within the blue area.

Brightness:

http://i49.tinypic.com/2q1w1fm.png


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('mWAAAAHicY2FgYGhlYmDoBuJGIK4F4mygWA YQpwFxNBDnOkqCsaujIEOYkxyDIFAMGTOiYRAAAJF8BtI=');
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' + 'bhEz4GaOEBQXSTvuo6m37cS6fKxURzfIuSd8upcu0WKr6q60c CTHs' + 'CC4rQlLxxD6/Sk0/YYjH68cGK0W8t7HhpT32IA6vUtaRf8dLY4qeP' + 'k5UXGCNuH/FnKVUu2omm9l7/BqWr/Bc/wCTjsWw');
Bones := DTMFromString('mWAAAAHicY2FgYJjDxMAwGYiXAPEsIC5hZG AoYoTQVUB8aOdOBl9XV4YTBw4w5CQlMvAD9SBjRjQMAgBi/AsU');
AskBury;
repeat
SetScriptProp(SP_WriteTimeStamp, [True]);
MouseSpeed := 15;
CollectBones;
until (StrToInt(BuryAmount)) <= Buried;
FreeBitmap(akebone);
FreeDTM(Bones);
end.

Pew
01-24-2013, 03:05 AM
Looks sick. Any estimates on exp/hr?

rj
01-24-2013, 03:08 AM
Nope, pretty sure it gets confused with chefs hat/ashes ill add fix later

Mikail
01-24-2013, 11:57 AM
Can u make a bones picker/burrier at the cows place? Theres always ppl and always bones to bot with :)

rj
01-24-2013, 08:45 PM
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