Simba Code:
program Bosco_Humidifier;
{$DEFINE SMART}
{$I SRL-6/SRL.simba}
{$I SPS/lib/SPS-RS3.Simba}
var
LoadsDone, item_humid: integer;
humid_timer, openBank_timer : TTimeMarker;
bankSymbol,waterSymbol: TPoint;
procedure declarePlayers();
begin
setLength(players, 1);
with players[0] do
begin
loginName := 'Username'; //Please enter your username here.
password := 'password'; //Please enter your password here
isActive := true;
isMember := true;
end
currentPlayer := 0;
end;
Procedure doBankingStuff();
begin
openBank_timer.start();
Repeat
bankScreen.open(BANK_NPC_BLUE);
wait(randomRange(500,700));
Until (bankScreen.isOpen()) or (openBank_timer.getTime() > 5000);
if bankScreen.isOpen() then
bankScreen.clickButton(BANK_BUTTON_PRESET_1)
else if minimap.findSymbol(bankSymbol, MM_SYMBOL_BANK, minimap.getBounds()) then
begin
mouse(bankSymbol, MOUSE_LEFT);
wait(randomRange(7000,9000));
doBankingStuff();
end
else
begin
Repeat
lodestoneScreen.teleportTo(LOCATION_EDGEVILLE);
wait(randomRange(14500,16000));
Until (not isLoggedIn()) or minimap.findSymbol(waterSymbol, MM_SYMBOL_WATER, minimap.getBounds());
mouse(waterSymbol, MOUSE_LEFT);
wait(randomRange(4000,4500));
minimap.findSymbol(bankSymbol, MM_SYMBOL_BANK, minimap.getBounds());
mouse(bankSymbol, MOUSE_LEFT);
wait(randomRange(4000,4500));
doBankingStuff();
end;
end;
Procedure humidify();
begin
if bankscreen.close() then
begin
humid_timer.start()
Repeat
actionbar.clickSlot(1);
Until (tabBackpack.waitSlotPixelChange(28, 3000)) or (humid_timer.getTime() > 4000);
end;
Inc(LoadsDone);
end;
Procedure antiban();
begin
case randomRange(1,100) of
1..60: begin
writeLn('Not Feeling Tired...Keep Humidifying!');
wait(randomRange(0,100));
end;
61..70: begin
writeLn('Feeling Bored...Small afk');
sleepAndMoveMouse(1000+random(1000));
wait(randomRange(5000, 10000));
end;
71..95: begin
writeLn('Feeling Bored...Pick up mouse');
sleepAndMoveMouse(500 + random(5000));
pickUpMouse();
end;
96..100: begin
writeLn('Checking xp gained');
tabStats.open();
tabStats.getSkillLevel(SKILL_MAGIC);
tabBackpack.open();
end;
end;
end;
Procedure progressReport();
begin
item_humid := LoadsDone * 27;
writeLn('============================================');
writeLn('============================================');
writeLn('Time Run: ' + TimeRunning());
writeLn('Item Made: ' + intToStr(item_humid));
writeLn('============================================');
writeLn('============================================');
end;
{Main Loop}
begin
clearDebug();
smartEnableDrawing := true;
setupSRL();
declarePlayers();
if not isLoggedIn() then
begin
players[currentPlayer].login();
end;
exitTreasure();
minimap.setAngle(MM_DIRECTION_WEST);
mainScreen.setAngle(MS_ANGLE_HIGH);
Repeat
doBankingStuff();
humidify();
antiban();
progressReport();
Until (not isLoggedIn())
End.