You can do this for the DTM instead of loading it at the beginning. Just remove the variable, and the LoadDTM in the start up.
function BodyDTM: integer;
begin
Result := DTMFromString('mKgEAAHic42NgYNjOzMCwFYiXAfFaIN4IZa8C4nVQ/hYgXgDEC5Hov4wMDM+B+CkQP4PSTEyomBGIfwPFvwDxOyB+CcR8vGxgDFRBIiYPMJKJUQEAUFwSbA==');
end;
Instead of this:
Col:=Col+1;
and
i1:=i1+1;
You can just do:
Inc(Col); or Inc(i1);
Also, You should include the login check before any other code, like so:
if not(LoggedIn) then Exit;
MakeCompass('W');
Nice script. You could also use a While do loop for waiting.
E: Whoa! Be careful with the wait times! (In DoDeposit procedure)
Wait(500); //INCORRECT
Wait(500+random(250));//CORRECT
Also, learn to use failsaves. For example, you search for colors manually. What if something goes wrong? The script doesn't stop, neither does it try a different method. Here's one way you could do it:
procedure Bnk;
begin
MakeCompass('W');
if not(LoggedIn) then Exit;
w:= RandomRange(200,800) + RandomRange(250,375);
for i:= 1 to 4 do
if (FindColorTolerance(x,y,BankerCol[i],243,77,271,109,3))then
begin
Mouse(x,y,2,4,false);
Wait(w);
i1:=0;
inc(i2);
if i2=3 then
exit;
if ChooseOption('k Bank')then
begin
repeat
inc(i1);
Wait(w);
Until(BankScreen) or (i1=15) Bnk;
wait(300);
DoDeposit;
MouseSpeed:= RandomRange(30,45);
DoWithdraw('ard ',99);
CloseBank;
end else
Writeln('Failed Banking');
exit;
end else
if OpenBankFast('akb') then
begin
begin
Mouse(x,y,2,4,false);
Wait(w);
i1:=0;
i2:=i2+1;
if i2=3 then
exit;
if ChooseOption('k Bank')then
begin
repeat
inc(i1);
Wait(w);
Until(BankScreen) or (i1=15) Bnk;
wait(300);
DoDeposit;
MouseSpeed:= RandomRange(30,45);
DoWithdraw('ard ',99);
CloseBank;
end else
Writeln('Failed Banking');
inc(tries)
exit;
end else
begin
Writeln('Failed banking..');
inc(tries);
exit;
end;
end;
Add a tries system, where if the variable Tries is larger than 5, then it stops and logs out. If it banks successfully, tries is reset to 0.