I haven't run the script to see how it works, but I can give you a few tips looking at your code. First is you need to work on your formatting and standards. Your indents are wild, and make the code hard to follow. I also can't tell what your intentions are with certain statements like the following.
Simba Code:
if not isMouseOverText(['water'],) then
WriteLn('Looking for vials, maybe lag?...');
Wait(GaussRangeInt(300,450));
Yeah I know the standards are quite a ways off. For the moment it makes it much easier for me to read to separate my begins and if not's, etc. I plan on cleaning it up once I'm 100% confident in the script. I do so many writeLns so I can know exactly on which procedure it failed. Most of them are gone on the version I'm working on now because I got a lot of bugs ironed out. I just wanted to make sure I wasn't making any serious violations at the moment, so thanks for the tips.
If you want both to happen when the condition is met you need to change that to the following.
Simba Code:
if not isMouseOverText(['water'],) then
begin
WriteLn('Looking for vials, maybe lag?...');
Wait(GaussRangeInt(300,450));
end;
Well yeah, you could do it that way if you wanted it to be like, correct and all. LOL
You can also replace some of your code such as...
Simba Code:
if not isMouseOverText(['Use Clean'],) then
WriteLn('Waiting for the bankscreen to close...*whistles*...');
Wait(GaussRangeInt(500,650));
if isMouseOverText(['Use Clean'],) then
fastclick(MOUSE_LEFT)
With something like this, though I would add in Timers as a failsafe to make sure you can exit this loop.
Damn, the T.reset; must have been what was flubbing up my timers yesterday. If it failed 2 or 3 times each run then it would shut down in just a few runs and I couldn't figure out why. Thanks for that.
You can make your main loop simpler to look at, and less redundant by changing your progress report to be something like this...to the bottom of refreshSupplies().
Much better, thanks man.
Another thing is your Timer does nothing in this procedure.
Simba Code:
procedure depositPots(); //opens bank and updates progress report
var
bankTimer: TTimeMarker;
begin
bankScreen.open(BANK_NPC_BLUE);
bankTimer.start();
inc(LoadsDone);
end;
That bankTimer had a function yesterday, it was part of a "until =". Thanks for the catch, I'll get it out of there.
Not a bad start but you should look into improving your format of your code.
I plan on it. It's just much simpler for me to look at at the moment with everything separated. I'll button it all up when I get more comfortable reading code.
Good luck with furthering yourself here!
Thanks a lot man, you've been a massive help