Try this:
BankColor := GetSymbolColor(dx, dy, 'bank')
Its better. Just scan for the unique
BankColor (<- is global in SRL ) when walking to the bank. then switch to
Function ClickDTMRotated(TheDTM:Integer):Boolean;
var
WhichAngle: ExtEnded;
FBx, FBy: Integer;
begin
If FindDtmRotated(TheDTM, FBx, FBy, MMX1, MMY1, MMX2, MMY2,
Radians(-30), Radians(30), 0.5,
WhichAngle) Then
begin
If rs_onMiniMap(FBx, FBy) Then
begin
Mouse(FBx, FBy, 0, 0, True);
FTWait(4);
FFlag(0);
Result := True;
End
End
End;
Make sure you make the proper Bank DTM made of colors 195386 (I believe )and center with tol 255 (any color)
and use:
if FindColor(Bx, By, BankColor, MMx1, MMy1, MMx2, MMy2) then
begin
Mouse(Bx, By, 2, 2, True);
FTWait(4);
Wait(3000 + Random(1000));
FFlag(0);
end
Below is my WalkToDraynor, very flawless:
Procedure WalkToDraynor;
var
Bx, By, Mark3:integer;
begin
SetRun(False);
WaterWalk2( 420, 240, 60, ( 10 + Random( 10 ) ), 10, -( 20 - Random( 15 ) ), 1, 1, 9 );
MarkTime(Mark3);
repeat
If not Loggedin Then break;
wait(100);
If ( TimeFromMark( Mark3 ) > 180000 ) Then begin Logout; Exit; End;
FindNormalRandoms;
WaterWalk2( 420, 240, 60, ( 10 + Random( 10 ) ), 10, -( 20 - Random( 15 ) ), 1, 1, 5 );
until FindColor(Bx, By, BankColor, MMx1, MMy1, MMx2, MMy2) or ClickDTMRotated(DB2);
if FindColor(Bx, By, BankColor, MMx1, MMy1, MMx2, MMy2) then
begin
Mouse(Bx, By, 2, 2, True);
FTWait(4);
Wait(3000 + Random(1000));
FFlag(0);
end
makeCompass('N');
FFlag(0);
FTWait(4);
ClickDTMRotated(DB2);
If Not OpenBankFast('db') Then if not OpenBankQuiet('db') then LogOut;
End;