Making it, ill post in a min
program New;
{.include SRL/SRL/Misc/SMART.scar}
{.include SRL/SRL.scar}
Const
SmartWorld='World22';
Signed=True;
Bank='veb';//where to bank?
procedure DeclarePlayers;
begin
HowManyPlayers:= 1; // number of players
CurrentPlayer:= 0; // starting player
NumberOfPlayers(HowManyPlayers);
Players[0].Name :='';
Players[0].Pass :='';
Players[0].Nick :='';
Players[0].Active:= True;
end;
var
x, y, i, AttPot, EmptyVial: Integer;
procedure SetupSmart;
begin
SmartSetup(SmartWorld, False, Signed, False);
ClearDebug;
WriteLn('Setting up Smart! Chill out man!');
Wait(10000 + random(5000));
SetTargetDC(SmartGetDC);
While not(SmartActive) do Wait(100);
end;
Procedure LoadEverything;
begin
AttPot:= DTMFromString('78DA630C6564605807C4500062F99FBFCCC00' +
'565FF0702C610206B0A420D42258C04D2B1A8E66055E343841A90' +
'7B36E25703008E9E0B07');
EmptyVial:= DTMFromString('78DA630C6664605806C448A0BCA494811D488' +
'344FF03016328903515550D44164602E930206B130135B140D62A' +
'026A7C81ACE5F8D500002CE50A62');
end;
Function EmptyVials : Boolean;
var
Count : Integer;
begin
LoadEverything;
repeat
If FindDTM(AttPot,x,y,MIx1,MIy1,MIx2,MIy2) then
begin
Mouse(x,y,5,5,false);
wait(300+random(200));
if ChooseOption('mpty') then
Result:=True;
end;
until (not FindDTM(AttPot,x,y,MIx1,MIy1,MIx2,MIy2)) or (Count>=5);
if Count>=5 then
begin
writeln('Couldnt withdraw the vials');
Logout;
Players[currentPlayer].Active:=False;
end else
Result:=True;
end;
Function DepositVials : Boolean;
var
count : Integer;
begin
repeat
OpenBankFast(Bank);
Flag;
Wait(300+random(200));
Count:=count+1;
until (BankScreen) or (Count>=5);
if BankScreen then
begin
Count:=0
If FindDTM(EmptyVial,x,y,MIx1,MIy1,MIx2,MIy2) then
repeat
mouse(x,y,5,5,false);
Wait(300+random(200));
ChooseOption('ll');
Wait(500+random(400));
Count:=Count+1;
until (Not FindDTM(EmptyVial,x,y,MIx1,MIy1,MIx2,MIy2)) or (Count>=5);
if not FindDTM(EmptyVial,x,y,MIx1,MIy1,MIx2,MIy2) then
Result:=True;
if Count>=5 then
begin
writeln('Couldnt deposit vials');
Logout;
Players[CurrentPlayer].Active:=False;
end else
Result:=true;
end;
end;
Function WithdrawVials : Boolean;
Var
count:Integer;
begin
repeat
If FindDTM(AttPot,x,y,MSx1,MSy1,MSx2,MSy2) then
begin
count:=Count+1;
Mouse(x,y,5,5,false);
Wait(300+random(200));
ChooseOption('ll');
end;
Until (InvFull) or (Count>=5);
if Count>=5 then
begin
writeln('Couldnt withdraw the vials');
Logout;
Players[currentPlayer].Active:=False;
end;
end;
begin
SetupSRL;
SetupSmart;
repeat
WithDrawVials;
EmptyVials;
DepositVials;
until false
end.
there, not intended to run without being watched ;)