SRL Archive - RS3 Script Requests

bucket of water/milk emptier


gunman82

2013-02-06 11:36:13

hello guys,

i want to request a script that empties buckets of milk/water to obtain empty buckets(to be used in ectofuntus script).the buy limit of empty buckets is 100 per 4 hours whereas buckets of water/milk have 10000 each..

the item would be dragged onto the actionbar by the user before the script starts.all the script does is asks which keybind of the actionbar the bucket of liquid is and holds down the keybind for some seconds,emptying all the buckets.it should then bank and repeat. :)

i suppose such a script should not be difficult to make.thank you so much :)

The Killer

2013-02-06 11:44:32

From: gunman82
hello guys,

i want to request a script that empties buckets of milk/water to obtain empty buckets(to be used in ectofuntus script).the buy limit of empty buckets is 100 per 4 hours whereas buckets of water/milk have 10000 each..

the item would be dragged onto the actionbar by the user before the script starts.all the script does is asks which keybind of the actionbar the bucket of liquid is and holds down the keybind for some seconds,emptying all the buckets.it should then bank and repeat. :)

i suppose such a script should not be difficult to make.thank you so much :)


I can make it. Give me like 5 mins :D

gunman82

2013-02-06 12:13:38

From: The Killer
I can make it. Give me like 5 mins :D


tyvm mate :D

Silentcore

2013-02-06 12:32:00

Ohh no, there goes my script idea. But I'm still going to make it..

The Killer

2013-02-06 12:32:00

From: gunman82
tyvm mate :D


Np :)
program MilkEmpty;
{$DEFINE SMART}
{$I SRL/SRL.simba}

const
BucketsToEmpty = 5000;

var
BucketsDone: Integer;

procedure DeclarePlayers;
begin
HowManyPlayers := 1;
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 0;
with Players[0] do
begin
Name := ''; //login in name
Pass := ''; //Password
Pin := ''; // Leave blank if you don't have one
Active := True;
Member := false;
end;
end;

function EmptyBuckets: Boolean;
var
Time, x, y, BucketDtm: Integer;
box: Tbox;
begin
MarkTime(Time);
Keydown(31);
box := InvBox(28);
BucketDtm := DTMFromString('mQwAAAHicY2ZgYJjJzMAwHYhnAXEkIwODLxAHAHF1shmDp4UYGHMB1cEwIxIGAgDsrgUz');
repeat
wait(200);
if FindDtm(BucketDtm, x, y, box.x1, box.y1, box.x2, box.y2) then
Result := True;
until (TimeFromMark(Time) > 10000) or (Result = True);
if IsKeyDown(31) then KeyUp(31);
FreeDtm(BucketDtm);
end;

procedure Proggy;
var
BucketsHour, Timeran: Integer;
begin
TimeRan := (GetTimeRunning / 1000);
BucketsHour := (3600 * (BucketsDone)) / ((TimeRan));

Writeln('The Killers Milk Milk!');
Writeln('Buckets Done: ' + IntToStr(BucketsDone));
Writeln('Buckets per hour: ' + IntToStr(BucketsHour));
Writeln('Time running: ' + TimeRunning);
end;


begin
ClearDebug;
SRL_SixHourFix := True;
SMART_FixSpeed := True;
SetupSRL;
DeclarePlayers;
LoginPlayer;
Wait(2000);
FindNormalRandoms;
ClickNorth(0);

OpenBankFast('veb');
Wait(500 + Random(250));

DepositAll;
Withdraw(0, 0, 0);
Closebank;
Wait(500 + Random(250));

AddItemToActionBar(1, 1);
EmptyBuckets;
BucketsDone := BucketsDone + 28;

repeat
If not LoggedIn then LoginPlayer;
Proggy;
OpenBankFast('veb');
Wait(500 + Random(250));

DepositAll;
Withdraw(0, 0, 0);
Closebank;
Wait(500 + Random(250));

AddItemToActionBar(1, 1);
EmptyBuckets;
BucketsDone := BucketsDone + 28;
until (BucketsDone + 28) > BucketsToEmpty;
end.
Try that, havn't tested it myself, Put the buckets in the first spot.
Always happy to help! :)

Happy botting,
~The Killer

Edit: Thought it was pots! oppsy, I'll remake the dtm and fix it now…
Edit2: Done. also added 6 hour support if u ever get enough buckets :P

gunman82

2013-02-07 12:08:55

was testing it,it withdraws buckets but then sits idle doing nothing..running at edgewille bank atm.. :(

Turpinator

2013-02-07 13:22:32

From: gunman82
was testing it,it withdraws buckets but then sits idle doing nothing..running at edgewille bank atm.. :(


First of all to use edgeville bank, go to line 67 and change 'veb' to 'eb'
after that…
replace the empty buckets function with this…
function EmptyBuckets: Boolean;
var
Time, x, y, BucketDtm: Integer;
box: Tbox;
begin
MarkTime(Time);
box := InvBox(28);
repeat
wait(200);
SendKeys('1', 100, 30);
if not FindColorTolerance(x, y, 10658473, box.x1, box.y1, box.x2, box.y2, 10) Then
Result := True;
until (TimeFromMark(Time) > 10000) or (Result = True);
wait(35+random(25));
end;

that should work. tested it out on a couple hundred buckets and it worked fine.