SRL Archive - Research & Development Lounge

WalkBank, Walks to every F2p bank in rs! by Hermpie


ShowerThoughts

2008-05-14 17:03:59

Will make an detailled thingy tommorow…

Note <BankName> + 1 means left part of the bank 2 means right…
Note Public TEST section
Program Hermpie;
{.Include SRL/SRL.Scar}
Var
X, Y:Integer;

Function WalkBank(WhichBank:String; RanXnY:Integer; SymbolFailSafe:boolean):Boolean;
Var
DTM, BankX, BankY :Integer;
Begin
Case LowerCase(WhichBank) Of
'feb1': DTM := DTMFromString('78DA63E461646058C98002D62EEA61F80FA48' +
'1320CFF81809103C8DA00916384AAF90F542082C4670499B39180' +
'1A01206B1301352244A89100B23613502343580D00F34718AA');
'feb2': DTM := DTMFromString('78DA639462646058C78002D62EEA61F80FA48' +
'1320CFF81809103C8DA00916384AAF90F542082C467E401B23612' +
'502300646D22A0468408351240D666026A6408AB010005E318BD');
'fwb' : DTM := DTMFromString('78DA639465646058CA8002FEFFFFCFF01F483' +
'342D8FF194581AC35103946A89AEFDF19184490F88C5244A89123' +
'428D12116AD409AB0100888F16CE');
'akb' : DTM := DTMFromString('78DA63E463646058CC8002DEBF7FCFF01F480' +
'36518FE0301231B90350722C70855F3FD3B038308129F9115C85A' +
'88AA06680CAA1A16206B29AA9AFFFFD1D43003592BF1AB010029A' +
'91342');
'veb' : DTM := DTMFromString('78DA639460646058C78002AA4B8B19FE0369A' +
'00CC37F2060E405B23640E418A16ABE7F67601041E2330A02591B' +
'09A81125420DC83D9B50D5FCFF8FA64616C8DA4CC01C054C35E8E' +
'6000083EA181E');
'vwb1': DTM := DTMFromString('78DA6364656460D8C88002A23C0D19FE0369A' +
'00CC37F2060FCCB0057C30855F3FE3D038308121FAC6615AA9AFF' +
'FFD1D4800C5D44C01C909A5944A89984DF2E009D8518B2');
'vwb2': DTM := DTMFromString('78DA6394676460D8CE8002FEFFFFCFF01F483' +
'342D8FF19D5116A18E16A18184490F860351B08A8D100B25610A1' +
'660101359A40D64CFC6A00D106174F');
'evb' : DTM := DTMFromString('78DA632C616260086000032608C530B9BD93E' +
'13F906604E2FF40C0580594F14555F3E70F138324540D0830D601' +
'653C09A80199134A849A38FC6A00CF351302');
'lbb' : DTM := DTMFromString('78DA639462646058C100068C108AE1FFFFFF0' +
'C92503E90FD9F11A46601448E15AAE6FB7706B81AB05E7E20AB0E' +
'D59C20053435EC40D66DFC6A00056A0D2F');
Else
Begin
srl_Warn('WalkBank(' + WhichBank + ', ' + IntToStr(RanXnY) + ', ' + BoolToStr(SymbolFailSafe) + ');', 'Bank' + WhichBank + ' Does Not Exist!', warn_AllVersions);
Exit;
End;
End;
Result:= DTMRotated(DTM, BankX, BankY, MMX1, MMY1, MMX2, MMY2);
If Result Then MouseFlag(BankX, BankY, RanXnY + 1, RanXnY + 1);
If Not Result And SymbolFailSafe Then
Begin
Result:=FindSymbol(BankX, BankY, 'Bank');
If Result Then MouseFlag(BankX, BankY,RanXnY + 1, RanXnY + 1);
End else
Writeln('Failed to find the bank, you might want to set SymbolFailSafe to true.');
End;

Begin
SetUpSRL;
WalkBank('lbb',2,True);
End.
If a dtm or something is not working tell me!

Thanks to Laurens for taking pics for me!

Hermpie

Harry

2008-05-14 17:09:49

Walks INTO the bank? I though it was a Deathwalk like thing :|

Good work anyways :D

ShowerThoughts

2008-05-14 17:10:41

LOL, not possible i need to know where the player is located at…

Timer

2008-05-14 17:15:03

Function Detect_Location: String;
Use's Fer My Private Walker :)

Program Hermpie;
{.Include SRL/SRL.Scar}
Var
X, Y:Integer;

Function WalkBank(WhichBank:String; RanXnY:Integer; SymbolFailSafe:boolean):Boolean;
Var
DTM, BankX, BankY :Integer;
Begin
Case LowerCase(WhichBank) Of
'feb1': DTM := DTMFromString('78DA63E461646058C98002D62EEA61F80FA48' +
'1320CFF81809103C8DA00916384AAF90F542082C4670499B39180' +
'1A01206B1301352244A89100B23613502343580D00F34718AA');
'feb2': DTM := DTMFromString('78DA639462646058C78002D62EEA61F80FA48' +
'1320CFF81809103C8DA00916384AAF90F542082C467E401B23612' +
'502300646D22A0468408351240D666026A6408AB010005E318BD');
'fwb' : DTM := DTMFromString('78DA639465646058CA8002FEFFFFCFF01F483' +
'342D8FF194581AC35103946A89AEFDF19184490F88C5244A89123' +
'428D12116AD409AB0100888F16CE');
'akb' : DTM := DTMFromString('78DA63E463646058CC8002DEBF7FCFF01F480' +
'36518FE0301231B90350722C70855F3FD3B038308129F9115C85A' +
'88AA06680CAA1A16206B29AA9AFFFFD1D43003592BF1AB010029A' +
'91342');
'veb' : DTM := DTMFromString('78DA639460646058C78002AA4B8B19FE0369A' +
'00CC37F2060E405B23640E418A16ABE7F67601041E2330A02591B' +
'09A81125420DC83D9B50D5FCFF8FA64616C8DA4CC01C054C35E8E' +
'6000083EA181E');
'vwb1': DTM := DTMFromString('78DA6364656460D8C88002A23C0D19FE0369A' +
'00CC37F2060FCCB0057C30855F3FE3D038308121FAC6615AA9AFF' +
'FFD1D4800C5D44C01C909A5944A89984DF2E009D8518B2');
'vwb2': DTM := DTMFromString('78DA6394676460D8CE8002FEFFFFCFF01F483' +
'342D8FF19D5116A18E16A18184490F860351B08A8D100B25610A1' +
'660101359A40D64CFC6A00D106174F');
'evb' : DTM := DTMFromString('78DA632C616260086000032608C530B9BD93E' +
'13F906604E2FF40C0580594F14555F3E70F138324540D0830D601' +
'653C09A80199134A849A38FC6A00CF351302');
'lbb' : DTM := DTMFromString('78DA639462646058C100068C108AE1FFFFFF0' +
'C92503E90FD9F11A46601448E15AAE6FB7706B81AB05E7E20AB0E' +
'D59C20053435EC40D66DFC6A00056A0D2F');
Else
Begin
srl_Warn('WalkBank(' + WhichBank + ', ' + IntToStr(RanXnY) + ', ' + BoolToStr(SymbolFailSafe) + ');', 'Bank' + WhichBank + ' Does Not Exist!', warn_AllVersions);
Exit;
End;
End;
Result:= DTMRotated(DTM, BankX, BankY, MMX1, MMY1, MMX2, MMY2);
If Result Then MouseFlag(BankX, BankY, RanXnY + 1, RanXnY + 1);
If Not Result And SymbolFailSafe Then
Begin
Result:=FindSymbol(BankX, BankY, 'Bank');
If Result Then MouseFlag(BankX, BankY,RanXnY + 1, RanXnY + 1);
End else
Writeln('Failed to find the bank, you might want to set SymbolFailSafe to true.');
End;

Begin
SetUpSRL;
WalkBank('lbb',2,True);
End.

ShowerThoughts

2008-05-14 17:21:39

Get in the real rs :p no private server thingy.

TViYH

2008-05-14 17:24:45

Can't you just use FindSymbol(x, y, 'bank');?

ShowerThoughts

2008-05-14 17:26:26

From: TheVoiceInYourHead
Can't you just use FindSymbol(x, y, 'bank');?


I think symbol clicking is detectable this will click close the bank slots a symbol is somewhere in the bank and someways OUT of the bank.

TViYH

2008-05-14 17:29:42

Oh my god. Why does everyone think everything is detectable? It uses dynamic coords, just as your script does.

mixster

2008-05-14 17:31:10

I'm guessing this will fail if the symbol covers the banker's yellow dot on the MM? If not, then it may I suggest using FindDTMRotated as it's a fairly small area so you can make the step increases smaller and make it more accurate :)

ShowerThoughts

2008-05-14 17:32:15

This never failes for me it could be i made the dtm wrong but normaly it works 100%

P1nky

2008-05-14 20:42:02

thanks hermpie will help alot :)

for draynor banking failsafe/or prob main proc lol

ShowerThoughts

2008-05-15 00:58:38

From: P1NKY
thanks hermpie will help alot :)

for draynor banking failsafe/or prob main proc lol


I only make another dtm or shit if it is not working, so tell me if it is not working

ShowerThoughts

2008-05-15 10:16:05

*New Version*

Tell me which banks to add and which don't work!

Laur€ns

2008-05-15 14:34:13

Thanks for crediting :)

Edit: woot 50th post :)

PvH

2008-05-15 14:54:58

seems nice hermpie
but.. we could also simply create a banker dtm..
wouldn't take more than 5 mins..lol
good work anyway;)
will save time:)

ShowerThoughts

2008-05-15 15:43:01

From: pvh
seems nice hermpie
but.. we could also simply create a banker dtm..
wouldn't take more than 5 mins..lol
good work anyway;)
will save time:)


made this in 15 mins… with dtms of the bankers some1 try!

drizzt

2008-05-17 19:53:21

From: TheVoiceInYourHead
Oh my god. Why does everyone think everything is detectable? It uses dynamic coords, just as your script does.


you're right, although it is stupid. considering someone walks over the symbol and your whole script fails, ty.

NiCbaZ

2008-05-17 23:15:44

From: drizzt
you're right, although it is stupid. considering someone walks over the symbol and your whole script fails, ty.


you can set symbol ac so it will click Evan if there are players over it

drizzt

2008-05-17 23:46:18

From: nicbaz
you can set symbol ac so it will click Evan if there are players over it


yea but sometimes even then, a place like a bank can get pretty crowded, and a banker DTM isn't affected by that and is still the best way to go.

itSchRis917

2008-05-18 13:50:40

From: drizzt
yea but sometimes even then, a place like a bank can get pretty crowded, and a banker DTM isn't affected by that and is still the best way to go.

if you set the SymbolAccuracy to 0.4 i GUARANTEE that it will find the symbol no matter what.

Timothegreat

2008-05-18 14:59:19

From: itschris917
if you set the SymbolAccuracy to 0.4 i GUARANTEE that it will find the symbol no matter what.


it could also possibly think some random junk is a symbol :p

ShowerThoughts

2008-05-23 08:04:13

From: itschris917
if you set the SymbolAccuracy to 0.4 i GUARANTEE that it will find the symbol no matter what.


-.- Always clicking the symbol Note: ALWAYS, is detectable IMO.
Also it will click wrong on the location sometimes IMO.