First Script - Portable Forge
Hi,
I would like to present my first script. The goal is to create a script that supports all portables on all the main places. Just posting this to get some feedback, to improve my scripting skills.
The script doesn't have any antiban as of jet. Will be implemented.
Thanks in advance!
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;
ATPA: T2DPointArray;
x, y, i: integer;
begin
if not IsLoggedIn then
Exit;
if bankScreen.isOpen(BANK_CHEST_LUMBRIDGE) then
begin
writeLn('Bank already open.');
exit;
end;
bankScreen.open(BANK_CHEST_LUMBRIDGE);
Wait(gaussRangeInt(500, 1300));
exit;
end;
procedure findingForge();
var
arP, arAP: TPointArray;
x, y, i, forgeWaitCount: integer;
bushTPA: TPointArray;
ATPA: T2DPointArray;
TPA: TPointArray;
waitTimer: TTimeMarker;
b: Boolean;
begin
waitTimer.reset();
waitTimer.start();
if (bankScreen.isOpen(BANK_CHEST_LUMBRIDGE)) then
begin
bankScreen.clickButton(BANK_BUTTON_PRESET_1);
repeat
begin
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));
Wait(gaussRangeInt(1000, 2000));
end;
if (Length(TPA) < 2) then
begin
if isMouseOverText(['orge'], 200) then
begin
fastClick(MOUSE_LEFT);
break;
end;
end;
until (productionScreen.isOpen) or (waitTimer.getTime() > 200000);
end;
if (waitTimer.GetTime() > 200000) then
begin
WriteLn('couldn''t find portable, terminating script');
TerminateScript();
end;
end;
procedure usingForge();
var
i: integer;
begin
Wait(gaussRangeInt(700, 1100));
if (productionScreen.isOpen) then
begin
productionScreen.clickStart(true);
repeat
begin
wait(gaussRangeInt(1000, 1500));
WriteLn('waiting');
end;
until (progressScreen.isOpen = false);
wait(gaussRangeInt(500, 1000));
end;
findingForge;
end;
{Main Loop}
begin
clearDebug();
smartEnableDrawing := true;
setupSRL();
declarePlayers();
if not isLoggedIn() then
begin
players[currentPlayer].login();
exitTreasure();
mainScreen.setAngle(MS_ANGLE_HIGH);
minimap.setAngle(MM_DIRECTION_WEST);
end;
repeat
useBank();
findingForge();
usingForge();
until(false);
end.