Well for the banking I made this and commented on what it does. 
SCAR Code:
program Testing;
{.include SRL/SRL.scar}
Procedure Bank;
var
BankTime : Integer;
begin
if(not(LoggedIn))then Exit; // If not logged in exits procedure.
begin
MarkTime(BankTime); // Start time marker with BankTime.
repeat // Start loop.
OpenBankGlass('veb', True, True); // Uses OpenBankGlass to open, VEB = Varrock East Bank.
FTWait(5 + Random(5)); // Finds talking randoms and wait.
until(BankScreen)or(TimeFromMark(BankTime) >= Seconds(10)) // Repeats until bank is open or after ten second.
end;
if(BankScreen)then // Banking worked.
begin
// Your stuff here.
end;
if(TimeFromMark(BankTime) >= Seconds(10))then // Banking failed.
begin
NextPlayer(False); // Switch players and set current player false.
FTWait(5 + Random(5)); // Finds talking randoms and wait.
Exit; // Exit because new player has logged in.
end;
end;
begin
Bank;
end.
Hope this helps.