Hey all, trying to run Wooty's HardLeatherBootMaker on my ironman account and I'm having some issues with the banking. The current bank procedure is:
Simba Code:
procedure bankBoots();
begin
if not isLoggedIn() then exit();
if not tabBackpack.isEmpty() then bankScreen.open(BANK_TABLE_BURTHORPE);
wait(gaussRangeInt(1000, 2000));
if (makeBoots) and (bankScreen.getPackCountDTM(leatherDTM) > 0) then
begin
setStatus('Widrawing thread and leathers...');
if bankScreen.isOpen(2500) then
begin
bankScreen.clickButton(BANK_BUTTON_PRESET_1);
if not bankScreen.isOpen(gaussRangeInt(1500, 2500)) then tabBackpack.mouseSlot(random(2, 28), MOUSE_LEFT);
wait(gaussRangeInt(750, 1250));
if (toolScreen.isOpen(2500)) then toolScreen.select('Needle');
if productionScreen.isOpen(1500) then
begin
if productionScreen.getSelectedBoxText() <> 'Hard leather boots' then productionScreen.selectBox(9);
wait(1250 + random(250));
productionScreen.clickStart();
setStatus('Crafting boots...');
end;
while not (progressScreen.getPercentDone() = 100) do wait(100);
progressScreen.findButton(PROGRESS_BUTTON_DONE, gaussRangeInt(500, 1000), True);
gaussRangeInt(1000, 1500);
if makeBoots then bootsMade := bootsMade + tabBackpack.countDTM(bootsDTM);
inc(tripsFinished);
bankScreen.open(BANK_TABLE_BURTHORPE);
gaussRangeInt(750, 1250);
end;
end;
if bankScreen.isOpen(2500) then
begin
bankScreen.quickDeposit(QUICK_DEPOSIT_INVENTORY);
wait(gaussRangeInt(1000, 2000));
setStatus('Closing the bank...');
bankScreen.close();
wait(gaussRangeInt(500, 1000));
end;
end;
However I don't really need it to make the boots for me, just bank the hard leather and continue the loop, so I slimmed it down to:
Simba Code:
procedure bankHardLeather();
begin
if not isLoggedIn() then exit();
if not tabBackpack.isEmpty() then bankScreen.open(BANK_TABLE_BURTHORPE);
wait(gaussRangeInt(1000, 2000));
if bankScreen.isOpen(2500) then
begin
bankScreen.quickDeposit(QUICK_DEPOSIT_INVENTORY);
wait(gaussRangeInt(1000, 2000));
setStatus('Closing the bank...');
bankScreen.close();
wait(gaussRangeInt(500, 1000));
end;
end;
I changed the procedure in the main loop also to the title of the slimmer procedure. It will compile and it runs every aspect of the script as intended. It rarely finds the bank after it runs north from the cow pasture (1/10 it will succeed).
It uses a SRL-6 function to detect the banker so maybe it's outdated? I cannot think of another reason why it would be having issues finding the bank.
Also, the script tends to kill 2-4 cows, but only ever loots 2 at most, leaving quite a few hides on the floor, which is a little inefficient. This is the looting code:
Simba Code:
procedure lootHides();
var
x, y: Integer;
TPA: TPointArray;
ATPA: T2DPointArray;
begin
if not isLoggedIn() then exit();
minimap.waitPlayerMoving();
findColorsSpiralTolerance(x, y, TPA, 14607600, mainScreen.getBounds(), 6, colorSetting(2, 1.06, 3.40));
if (Length(TPA) < 1) then exit;
setStatus('Looting!');
ATPA := TPA.toATPA(20, 20);
ATPA.filterBetween(0, 62);
ATPA.sortFromMidPoint(mainScreen.playerPoint);
smartImage.debugATPA(ATPA);
if Length(ATPA) > 0 then mouse(middleTPA(ATPA[0]), MOUSE_MOVE);
if isMouseOverText(['ake']) then
begin
fastClick(MOUSE_RIGHT);
if chooseOption.select(['ake Cowhide', 'Cowhide'], 250) then
begin
smartImage.clearArea(mainScreen.getBounds());
tabBackpack.waitForShift(2000);
end;
end;
end;
What could I alter to make it loot all hides on the floor before it continues to kill cows? Any advice would be appreciated. Please note I have looked through most tutorials and I am stumped regarding the banking issue. I could probably find the solution to the looting issue if I continued to dig, but it may be something obvious that I am just overlooking.