SRL Archive - RS has been updated.

Runescape banking


Camaro'

2011-01-30 14:10:57

I don't really know how old this is, or if its been fixed, but when you have only one item in your inventory when banking, it only has two options in the options menu.

'Deposit'
'Bank'

not the whole

'Deposit 1'
'Deposit 5'
'Deposit X' etc

Sorry if its old news :(

NCDS

2011-01-30 14:41:57

Shouldn't really matter unless the text is different. SRL's deposit functions search for 'Deposit'. The 'Deposit All' button is still on the bank screen, no?

TomTuff

2011-01-30 15:43:25

From: NCDS
Shouldn't really matter unless the text is different. SRL's deposit functions search for 'Deposit'. The 'Deposit All' button is still on the bank screen, no?


Yes, but in some people's scripts, it may break them. e.g. A script mines addy and coal at LWS. It only has 1 addy, and 27 coal. If the script right-clicks and attempts to 'Deposit-All Adamant ore' then it won't work. While it is a simple fix, it's actually a difficult one if you're unaware it needs to be fixed.

NCDS

2011-01-30 16:05:32

SRL's Deposit function:

procedure Deposit(SlotFrom, SlotTo: Integer; vType: Variant);
var
DepositX, BScreen, DScreen: Boolean;
All: Variant;
I, T, x, y: Integer;
B: TBox;
begin
BScreen := BankScreen;
if (not(BScreen)) then
DScreen := DepositScreen;
if not (BScreen or DScreen) then
Exit;
if vType = 2 then
srl_Warn('Deposit', '2 now means store per 2, not ''All''', 15);
DepositX := False;
case VarType(vType) of
varInteger: begin
DepositX := not InIntArray([1, 5, 10], vType);
if vType = 1 then
All := False
else
All := True;
end;
varBoolean: All := vType;
end;
if (SlotFrom = 1) and (SlotTo = 28) and (All = true) then
if DepositAll then
exit;
for I := SlotFrom to SlotTo do
begin
if (BScreen) then
begin
If Not ExistsItem(I) Then
Continue;
MouseItem(I, not All);
end else
begin
B := DepositItemBox(I);
if (not(FindColor(X, Y, srl_outline_black, B.X1, B.Y1, B.X2, B.Y2))) then
Continue;
Mouse((B.X1 + B.X2) shr 1, (B.Y1 + B.Y2) shr 1, 0, 0, not All);
end;
if DepositX then
begin
WaitOptionMulti(['Deposit-X', 'Deposit'], 200);
T := GetSystemTime;
while (not FindColor(x, y, 8388608, MCX1, MCY1, MCX2, MCY2)) and (GetSystemTime - T < 3000) do
Wait(100);
TypeSend(vType);
end else if VarType(vType) = varInteger then
WaitOptionMulti(['Deposit-' + inttostr(vType), 'Deposit'], 200)
else
WaitOptionMulti(['Deposit-All', 'Deposit'], 200);
T := GetSystemTime;
Wait(RandomRange(200, 300));
repeat
if (BScreen) then
if (not(ExistsItem(I))) then Break;
if (DScreen) then
if (not(FindColor(X, Y, srl_outline_black, B.X1, B.Y1, B.X2, B.Y2))) then Break;
Wait(50);
until(GetSystemTime - T > 2000);
end;
end;
As you can see, no matter what option your looking for, 'Deposit' is always searched for and would therefor be clicked if the first option wasn't found. As long as the 'Deposit All' button on the BankScreen still exists, nothing should be broken.

MylesMadness

2011-01-30 16:41:30

From: NCDS
SRL's Deposit function:

procedure Deposit(SlotFrom, SlotTo: Integer; vType: Variant);
var
DepositX, BScreen, DScreen: Boolean;
All: Variant;
I, T, x, y: Integer;
B: TBox;
begin
BScreen := BankScreen;
if (not(BScreen)) then
DScreen := DepositScreen;
if not (BScreen or DScreen) then
Exit;
if vType = 2 then
srl_Warn('Deposit', '2 now means store per 2, not ''All''', 15);
DepositX := False;
case VarType(vType) of
varInteger: begin
DepositX := not InIntArray([1, 5, 10], vType);
if vType = 1 then
All := False
else
All := True;
end;
varBoolean: All := vType;
end;
if (SlotFrom = 1) and (SlotTo = 28) and (All = true) then
if DepositAll then
exit;
for I := SlotFrom to SlotTo do
begin
if (BScreen) then
begin
If Not ExistsItem(I) Then
Continue;
MouseItem(I, not All);
end else
begin
B := DepositItemBox(I);
if (not(FindColor(X, Y, srl_outline_black, B.X1, B.Y1, B.X2, B.Y2))) then
Continue;
Mouse((B.X1 + B.X2) shr 1, (B.Y1 + B.Y2) shr 1, 0, 0, not All);
end;
if DepositX then
begin
WaitOptionMulti(['Deposit-X', 'Deposit'], 200);
T := GetSystemTime;
while (not FindColor(x, y, 8388608, MCX1, MCY1, MCX2, MCY2)) and (GetSystemTime - T < 3000) do
Wait(100);
TypeSend(vType);
end else if VarType(vType) = varInteger then
WaitOptionMulti(['Deposit-' + inttostr(vType), 'Deposit'], 200)
else
WaitOptionMulti(['Deposit-All', 'Deposit'], 200);
T := GetSystemTime;
Wait(RandomRange(200, 300));
repeat
if (BScreen) then
if (not(ExistsItem(I))) then Break;
if (DScreen) then
if (not(FindColor(X, Y, srl_outline_black, B.X1, B.Y1, B.X2, B.Y2))) then Break;
Wait(50);
until(GetSystemTime - T > 2000);
end;
end;
As you can see, no matter what option your looking for, 'Deposit' is always searched for and would therefor be clicked if the first option wasn't found. As long as the 'Deposit All' button on the BankScreen still exists, nothing should be broken.
And if the person doesn't use Deposit?

TomTuff

2011-01-30 17:09:36

From: MylesMadness
And if the person doesn't use Deposit?


That's what I was saying… lol

NCDS

2011-01-30 19:04:00

From: MylesMadness
And if the person doesn't use Deposit?


From: TomTuff
That's what I was saying… lol


Then they would be using DepositAll which as long as the button still exists, would still work fine. Otherwise they would be using their own function and it's their responsibility to handle the issue.

MylesMadness

2011-01-30 19:06:42

From: NCDS
Then they would be using DepositAll which as long as the button still exists, would still work fine. Otherwise they would be using their own function and it's their responsibility to handle the issue.
Which is why he made this thread, to let the people who made there own that there may be a bug in there program.