SCAR Code:
function OpenEbBankFast: Boolean; //Edited version of OpenBankFast
var
x, y, i, l, c, z, fail: Integer;
Info: TIntegerArray;
Booths, t: TPointArray;
begin
Wait(400);
Info := [(MSCX + 25), MSCY, 3230295, 9, 2];
MakeCompass('n');
SetAngle(true);
z := GetColorToleranceSpeed;
ColorToleranceSpeed(Info[4]);
FindColorsSpiralTolerance(Info[0], Info[1], Booths, Info[2], MSCX-25, MSY1, MSX2, MSY2, Info[3]);
ColorToleranceSpeed(z);
SetArrayLength(t, 0);
t := Booths;
SetArrayLength(Booths, 0);
Booths := ReArrangeAndShortenArray(t, 14);
l := GetArrayLength(Booths) -1;
for i := 0 to l do
begin
if (not LoggedIn) or BankScreen or PinScreen then
Break;
MMouse(Booths[i].X, Booths[i].Y, 3, 3);
Wait(75 + Random(75));
if IsUpTextMultiCustom(['ooth', 'ank', 'anker']) Then
begin
GetMousePos(x, y);
Mouse(x, y, 0, 0, False);
Wait(70 + Random(75));
if WaitOptionMulti(['uickly', 'ui', 'ck', 'ly', 'ic', 'kl'], 3000) then // the 3000 means wait 3 seconds maximum
begin
MarkTime(c);
repeat
Wait(100);
until (BankScreen) or (PinScreen) or (TimeFromMark(c) > 3000);
fail:= getcolor(260, 180);
if (fail = 0) then MouseBox(126, 138, 388, 152, 1);
if (Length(Players) > 0) then
if (Players[CurrentPlayer].Pin <> '') then
InPin(Players[CurrentPlayer].Pin);
end;
end;
end;
Result := (BankScreen) or (PinScreen);
end;