You could always try something along these lines:
Simba Code:
function openBank(): boolean;
var
x,y,i : Integer;
tellerTPA : TPointArray;
tellerATPA : T2DPointArray;
begin
if not isLoggedIn() then
exit();
findColorsSpiralTolerance(x, y, tellerTPA, bankColour, mainScreen.getBounds(), bankTol, colorSetting(2, bankHue, BankSat));
if (Length(tellerTPA) < 1) then
begin
WriteLn('Failed to find bank colors');
Exit;
end;
tellerATPA := tellerTPA.toATPA(15,15);
SmartImage.debugATPA(tellerATPA);
for i := 0 to high(tellerATPA) do
begin
if not isLoggedIn() then
exit();
mouse(middleTPA(tellerATPA[i]), MOUSE_MOVE);
if isMouseOverText(['ank']) then
begin
fastClick(MOUSE_LEFT);
smartImage.clear();
wait(randomrange(1250,1500));
exit(true);
end;
end;
clearDebugs;
exit(false);
end;
It will draw on SMART and show you where the selected colours are.
This will just open the bank. If you want something to deposit, you might wanna try something like this:
Simba Code:
function banking(): Boolean;
var
Time: TTimeMarker;
begin
if not isLoggedIn() then
exit();
if (not openBank) then
if (not openBank) then
if (not openBank) then //Tries to open bank 3 times before deciding to quit
exit();
if (not bankScreen.isOpen(10000)) then
exit;
if not (bankScreen.isOpen or pinScreen.isOpen) then
exit;
if pinScreen.isOpen then
begin
pinScreen.Enter(players[currentPlayer].bankPin);
end;
bankScreen.clickButton(BANK_BUTTON_PRESET_1);
Time.start;
while (bankScreen.isOpen) and (Time.getTime < randomRange(2500, 8000)) do
begin
wait(random(100));
end;
result:= (not bankScreen.isOpen);
end;