Hey, I made a New bank opener!
Features:
- Handles Pin
- in 1 mouse move and fast!
- i got diff versions.
(not really a feature)
- i am pretty sure i am going to use this in the future because it works great and does what it haves to do!
IsBankOpen Without Srl's MarkTime, because i am not sure i can use it.
SCAR Code:
Function IsBankOpen(MaxTime:Integer; CheckForPinScreen:Boolean):Boolean;
Var
Count :Integer;
Begin
MaxTime:= MaxTime/100;
Count:=0;
Repeat
Wait(100);
Count:= Count + 1;
If CheckForPinScreen Then Result:=PinScreen;
If Result Then Break;
Until (BankScreen or (Count > MaxTime));
Result:= Count < Maxtime;
If Not Result Then Writeln('Failed To Find The BankScreen.');
End;
IsBankOpen Without Srl's MarkTime if i can use it then this would be better.
SCAR Code:
Function IsBankOpen(MaxTime:Integer; CheckForPinScreen:Boolean):Boolean;
Var
Timer :Integer;
Begin
MarkTime(Timer);
Repeat
Wait(100);
If CheckForPinScreen Then Result:=PinScreen;
If Result Then Break;
Until (BankScreen or (TimeFromMark(Timer) > MaxTime));
Result:= TimeFromMark(Timer) < Maxtime;
If Not Result Then Writeln('Failed To Find The BankScreen.');
End;
Example:
Note: All Those Versions Include IsBankOpen I could also make it included in HOpenBank but then i spend lines for nothing
Note 2: i can take the non important debug out
HOpenBank 1, You can choose the bank and fill in the pin this is basic(doesn't change the direction or anything
SCAR Code:
//By Hermpie
Function HOpenBank(WhichBank:String; HPin:Integer):Boolean;
Var
TempTpa: TpointArray;
Temp: T2DPointArray;
H, CTS, I, MSpeed, TempX, TempY, HColor, M:Integer;
Begin
M:=GetSystemTime;
Case LowerCase(WhichBank) Of
'feb','falador east':HColor:= 2243147;//4481401
'fwb','falador west':HColor:= 3496051;//4481401
'veb','varrock east':HColor:= 2050647;//2838878
'vwb','varrock west':HColor:= 1653574;
'akb','alkharid':HColor:= 738138;
//'dnb','draynor':HColor:= 5929095;
'evb','edgevillage':HColor:= 2636871;
'pcb','pestcontrol':HColor:=11647942;
End;
If HColor < 1 Then Writeln('Your Choice Is A Not Existing Bank.');
MSpeed:=MouseSpeed;
MouseSpeed:=30;
if not LoggedIn Then Exit;
CTS := GetColorToleranceSpeed;
If not CTS = 2 Then ColorToleranceSpeed(2);
FindColorsSpiralTolerance(TempX, TempY, TempTPA, HColor, MSX1+10, MSY1+10, MSX2-10, MSY2-10, 5);
Temp:= TPAtoATPAEx(TempTPA, 17, 18);
SortATPASize(Temp, True);
H:=High(Temp);
For I := 0 To H Do
Begin
MiddleTPAEx(Temp[i], TempX, TempY);
MMouse(TempX, TempY, 3, 3);
Wait(30+random(10));
Result:=IsUpText('ank');
If Result Then Break;
End;
If Result Then
Begin
Mouse(TempX, TempY, 0, 0, False);
Wait(40+random(10));
Result:=ChooseOption('uickly');
If Result Then Result:=IsOpenBank(5000,True);
If Pinscreen Then Result:= InPin(InttoStr(HPin));
If Result Then Result:=IsOpenBank(5000,False);
end;
If Result Then Writeln('HOpenBank Succesfully Openend The Bank. In '+IntToStr(GetSystemTime - M)+' MiliSecs.');
If Not result Then Writeln('HOpenBank Did Not Open The Bank.');
ColorToleranceSpeed(CTS);
MouseSpeed:=MSpeed;
End;
HOpenBank 2, Basic + makecompass('N') included
SCAR Code:
//By Hermpie
Function HOpenBank(WhichBank :String; HPin:Integer):Boolean;
Var
TempTpa: TpointArray;
Temp: T2DPointArray;
H, CTS, I, MSpeed, TempX, TempY, HColor, M:Integer;
Begin
M:=GetSystemTime;
Case LowerCase(WhichBank) Of
'feb','falador east':HColor:= 2243147;//4481401
'fwb','falador west':HColor:= 3496051;//4481401
'veb','varrock east':HColor:= 2050647;//2838878
'vwb','varrock west':HColor:= 1653574;
'akb','alkharid':HColor:= 738138;
'dnb','draynor':HColor:= 5929095;
'evb','edgevillage':HColor:= 2636871;
'pcb','pestcontrol':HColor:=11647942;
End;
If HColor < 1 Then Writeln('Your Choice Is A Not Existing Bank.');
If (lowercase(WhichBank)='dnb') or (lowercase(WhichBank)='draynor') Then MakeCompass('W') else MakeCompass('N');
MSpeed:=MouseSpeed;
MouseSpeed:=30;
if not LoggedIn Then Exit;
CTS := GetColorToleranceSpeed;
If not CTS = 2 Then ColorToleranceSpeed(2);
FindColorsSpiralTolerance(TempX, TempY, TempTPA, HColor, MSX1+10, MSY1+10, MSX2-10, MSY2-10, 5);
Temp:= TPAtoATPAEx(TempTPA, 17, 18);
SortATPASize(Temp, True);
H:=High(Temp);
For I := 0 To H Do
Begin
MiddleTPAEx(Temp[i], TempX, TempY);
MMouse(TempX, TempY, 3, 3);
Wait(30+random(10));
Result:=IsUpText('ank');
If Result Then Break;
End;
If Result Then
Begin
Mouse(TempX, TempY, 0, 0, False);
Wait(40+random(10));
Result:=ChooseOption('uickly');
If Result Then Result:=IsBankOpen(5000,True);
If Pinscreen Then Result:= InPin(InttoStr(HPin));
If Result Then Result:=IsBankOpen(5000,False);
end;
If Result Then Writeln('HOpenBank Succesfully Openend The Bank. In '+IntToStr(GetSystemTime - M)+' MiliSecs.');
If Not result Then Writeln('HOpenBank Did Not Open The Bank. ');
ColorToleranceSpeed(CTS);
MouseSpeed:=MSpeed;
MakeCompass('N');
End;
HOpenBank 3 Basic +You can choose at which angle to end;
SCAR Code:
//By Hermpie
Function HOpenBank(WhichBank, WhichDir :String; HPin:Integer):Boolean;
Var
TempTpa: TpointArray;
Temp: T2DPointArray;
H, CTS, I, MSpeed, TempX, TempY, HColor, M:Integer;
Begin
M:=GetSystemTime;
Case LowerCase(WhichBank) Of
'feb','falador east':HColor:= 2243147;//4481401
'fwb','falador west':HColor:= 3496051;//4481401
'veb','varrock east':HColor:= 2050647;//2838878
'vwb','varrock west':HColor:= 1653574;//
'akb','alkharid':HColor:= 738138;
'dnb','draynor':HColor:= 5929095;
'evb','edgevillage':HColor:= 2636871;
'pcb','pestcontrol':HColor:=11647942;
End;
If HColor < 1 Then Writeln('Your Choice Is A Not Existing Bank.');
GameTab(5)
If (lowercase(WhichBank)='dnb') or (lowercase(WhichBank)='draynor') Then MakeCompass('W') else MakeCompass('N');
MSpeed:=MouseSpeed;
MouseSpeed:=30;
if not LoggedIn Then Exit;
CTS := GetColorToleranceSpeed;
If not CTS = 2 Then ColorToleranceSpeed(2);
FindColorsSpiralTolerance(TempX, TempY, TempTPA, HColor, MSX1+10, MSY1+10, MSX2-10, MSY2-10, 5);
Temp:= TPAtoATPAEx(TempTPA, 17, 18);
SortATPASize(Temp, True);
H:=High(Temp);
For I := 0 To H Do
Begin
MiddleTPAEx(Temp[i], TempX, TempY);
MMouse(TempX, TempY, 3, 3);
Wait(30+random(10));
Result:=IsUpText('ank');
If Result Then Break;
End;
If Result Then
Begin
Mouse(TempX, TempY, 0, 0, False);
Wait(40+random(10));
Result:=ChooseOption('uickly');
If Result Then Result:=IsBankOpen(5000,True);
If Pinscreen Then Result:= InPin(InttoStr(HPin));
If Result Then Result:=IsBankOpen(5000,False);
end;
If Result Then Writeln('HOpenBank Succesfully Openend The Bank. In '+IntToStr(GetSystemTime - M)+' MiliSecs.');
If Not result Then Writeln('HOpenBank Did Not Open The Bank. ');
ColorToleranceSpeed(CTS);
MouseSpeed:=MSpeed;
MakeCompass(WhichDir);
End;
Examples:
Ver 1
SCAR Code:
If HOpenBank('Veb',Players[currentplayer]integers[0]) then Writeln('Yay!');
Ver 2
SCAR Code:
If HOpenBank('Veb',Players[currentplayer]integers[0]) then Writeln('Yay!');
Ver 3
SCAR Code:
If HOpenBank('Veb','N',Players[currentplayer]integers[0]) then Writeln('Yay!');
I think ver 2 is best because draynor works to then and in ver 1 if you got your angle at west ver 1 doesn't change the angle at all so then it could go wrong but ver 2 works perfect it only needs to change the angle at 1 bank!
The Version(2 + isbankopen(using the timer)) I Prefer:
SCAR Code:
Program Hermpie;
{.Include SRL/SRL.Scar}
Function IsBankOpen(MaxTime:Integer; CheckForPinScreen:Boolean):Boolean;
Var
Timer :Integer;
Begin
MarkTime(Timer);
Repeat
Wait(100);
If CheckForPinScreen Then Result:=PinScreen;
If Result Then Break;
Until (BankScreen or (TimeFromMark(Timer) > MaxTime));
Result:= TimeFromMark(Timer) < Maxtime;
If Not Result Then Writeln('Failed To Find The BankScreen.');
End;
//By Hermpie
Function HOpenBank(WhichBank :String; HPin:Integer):Boolean;
Var
TempTpa: TpointArray;
Temp: T2DPointArray;
H, CTS, I, MSpeed, TempX, TempY, HColor, M:Integer;
Begin
M:=GetSystemTime;
Case LowerCase(WhichBank) Of
'feb','falador east':HColor:= 2243147;//4481401
'fwb','falador west':HColor:= 3496051;//4481401
'veb','varrock east':HColor:= 2050647;//2838878
'vwb','varrock west':HColor:= 1653574;
'akb','alkharid':HColor:= 738138;
'dnb','draynor':HColor:= 5929095;
'evb','edgevillage':HColor:= 2636871;
'pcb','pestcontrol':HColor:=11647942;
End;
If HColor < 1 Then Writeln('Your Choice Is A Not Existing Bank.');
If (lowercase(WhichBank)='dnb') or (lowercase(WhichBank)='draynor') Then MakeCompass('W') else MakeCompass('N');
MSpeed:=MouseSpeed;
MouseSpeed:=30;
if not LoggedIn Then Exit;
CTS := GetColorToleranceSpeed;
If not CTS = 2 Then ColorToleranceSpeed(2);
FindColorsSpiralTolerance(TempX, TempY, TempTPA, HColor, MSX1+10, MSY1+10, MSX2-10, MSY2-10, 5);
Temp:= TPAtoATPAEx(TempTPA, 17, 18);
SortATPASize(Temp, True);
H:=High(Temp);
For I := 0 To H Do
Begin
MiddleTPAEx(Temp[i], TempX, TempY);
MMouse(TempX, TempY, 3, 3);
Wait(30+random(10));
Result:=IsUpText('ank');
If Result Then Break;
End;
If Result Then
Begin
Mouse(TempX, TempY, 0, 0, False);
Wait(40+random(10));
Result:=ChooseOption('uickly');
If Result Then Result:=IsBankOpen(5000,True);
If Pinscreen Then Result:= InPin(InttoStr(HPin));
If Result Then Result:=IsBankOpen(5000,False);
end;
If Result Then Writeln('HOpenBank Succesfully Openend The Bank. In '+IntToStr(GetSystemTime - M)+' MiliSecs.');
If Not result Then Writeln('HOpenBank Did Not Open The Bank. ');
ColorToleranceSpeed(CTS);
MouseSpeed:=MSpeed;
MakeCompass('N');
End;
Begin
SetUpSRL;
ActivateClient;
HOpenBank('Draynor',1000);
End.
I could also take the 'Useless' Debug out of it but it works great!
So What You Think Of It?
Took me a long time to edit and create those diff versions :s(very anoying)
and picking all the bank colors.
Any responce would be cool!