Nice work 

Originally Posted by
Suikerwafel
Bump for feedback
Simba Code:
program scriptTemplate;
{$DEFINE SMART}
{$I SRL-6/SRL.simba}
{$I SPS/lib/SPS-RS3.Simba}
procedure declarePlayers();
begin
setLength(players, 1);
with players[0] do
begin
loginName := 'zezima';
password := 'botting24/7';
isActive := true;
isMember := true;
end
currentPlayer := 0;
end;
procedure useBank();
var
arP: TPointArray; // You don't use any of these variables?
ATPA: T2DPointArray;
x, y, i: integer;
begin
if not IsLoggedIn then
Exit;
// The parameter for isOpen is wait time: isOpen(waitTime), isOpen(5000)
if bankScreen.isOpen(BANK_CHEST_LUMBRIDGE) then
begin
writeLn('Bank already open.');
exit;
end; // You can actually remove the block above
bankScreen.open(BANK_CHEST_LUMBRIDGE);// as bs.open() calls bs.isOpen() before looking for the bank
Wait(gaussRangeInt(500, 1300));
exit; // Why exit when you are already at the end of the procedure? You will exit anyway.
end;
procedure findingForge();
var
arP, arAP: TPointArray;
x, y, i, forgeWaitCount: integer;
bushTPA: TPointArray; // lol, spaceblow's redberry gatherer :p ?
ATPA: T2DPointArray;
TPA: TPointArray;
waitTimer: TTimeMarker;
b: Boolean;
begin // everything should be tabbed (indented )
waitTimer.reset(); // no need to reset it, since you declared it locally here (it will be 0 each time you start this procedure)
waitTimer.start();
if (bankScreen.isOpen(BANK_CHEST_LUMBRIDGE)) then // Again, the CHEST_LUMBRIDGE is actually an integer constant (10)
begin // so this is just writing isOpen(10);
bankScreen.clickButton(BANK_BUTTON_PRESET_1);
repeat
begin // Don't need this begin..end. They should only follow a conditional if..then.. etc (it's always gonna run so no need for it)
mainscreen.findObject(x, y, 1663163, 6, colorSetting(2, 0.36, 1.44), mainscreen.playerPoint, 15, 15, 15, ['orge'], 3);
WriteLn('Looking for forge:' + BoolToStr(b)); // What is this bool for? It will always return false
Wait(gaussRangeInt(1000, 2000));
end;
if (Length(TPA) < 2) then // Your ms.findObject code above doesn't output any TPAs?
begin // Fidd object also moves/clicks the mouse, so this block is redundant
if isMouseOverText(['orge'], 200) then
begin
fastClick(MOUSE_LEFT);
break;
end;
end;
until (productionScreen.isOpen) or (waitTimer.getTime() > 200000); // You could isOpen(5000) or something
end; // to wait for up to 5sec after clicking it
if (waitTimer.GetTime() > 200000) then
begin
WriteLn('couldn''t find portable, terminating script');
TerminateScript();
end;
end;
procedure usingForge();
var
i: integer; // You don't use this
begin
Wait(gaussRangeInt(700, 1100));
if (productionScreen.isOpen) then
begin
productionScreen.clickStart(true);
repeat
begin
wait(gaussRangeInt(1000, 1500)); // messy indentation, hard to read
WriteLn('waiting');
end;
until (progressScreen.isOpen = false); // could also (not progressScreen.isOpen())
wait(gaussRangeInt(500, 1000));
end;
findingForge;
end;
{Main Loop}
begin
clearDebug();
smartEnableDrawing := true;
setupSRL();
declarePlayers();
if not isLoggedIn() then // I'd put this block inside the repeat loop below
begin // so it will check if you're logged out each loop
players[currentPlayer].login();
exitTreasure();
mainScreen.setAngle(MS_ANGLE_HIGH);
minimap.setAngle(MM_DIRECTION_WEST);
end;
repeat
useBank();
findingForge();
usingForge();
until(false);
end.