Code:
program SummerPies;
// Includes...
{$i srl/srl/misc/smart.scar}
{$loadlib sps}
{$i srl/srl.simba}
{$i sps/sps.simba}
const
// ----------------SETUP-----------------------------
// Must be in a bank that has a NPC (NOT Grand Exchnage. Only tested at Camelot)
// Note this works best at the far left banker at camelot.
colps= 1; // Pie shell Collumn
rowps= 1; // Pie Shell Row
colsb= 2; // Strawberry Collumn
rowsb= 1; // Strawberry Row
colwm= 3; // Watermelon Collumn
rowwm= 1; // Watermelon Row
colca= 4; // Cooking Apple Collumn
rowca= 1; // Cooking Apple Row
Var
X, Y, T, W, Loads, Summerpiesmade: Integer;
procedure DeclarePlayers;
begin
HowManyPlayers := 1; //
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 0; // This is the player to start with; the first player will always be 0
Players[0].Name := ''; // Username
Players[0].Pass := ''; // Password
Players[0].Active := True; // Set to true if you want to use Player 0
Players[0].Pin := ''; // Not sure if this works.
end;
procedure SetupLogin;
begin
ClearDebug;
// Setting up SMART;
Smart_Server := 49;
Smart_Members := True;
Smart_Signed := False;
Smart_SuperDetail := False;
SetupSRL;
DeclarePlayers;
LoginPlayer; // Logging in...
end;
Procedure BankOpener; //Procedure to find and open the bank
var
x,y: Integer;
begin
x:=MSCX
y:=MSCY
FindObjCustom(x, y, ['ank'], [4416632, 9937313], 5);
WriteLn('Bank: Finding Banker');
Mouse(x, y, 0, 0, True);
end;
procedure Banking; //Procedure to withdraw items from bank interface
//If you read the Writln's its pretty self explanitory.
var
p, t: Integer;
begin
begin
Wait(RandomRange(900, 1200));
end;
Inc(t);
MakeCompass('n');
BankOpener;
Wait(RandomRange(700, 1000));
Depositall
Writeln ('Bank: Deposit All')
Wait(RandomRange(700, 1000));
Depositall
Writeln ('Withdrawing Items: Pie Shells...');
WithdrawEx(colps,rowps,7,[]);
Wait(RandomRange(900, 800));
Writeln ('Withdrawing Items: Strawberries...');
WithdrawEx (colsb, rowsb, 7, []);
Wait(RandomRange(500, 800));
Writeln ('Withdrawing Items: Watermelons...');
WithdrawEx (colwm, rowwm, 7, []);
Wait(RandomRange(500, 800));
Writeln ('Withdrawing Items: Cooking Apples...');
WithdrawEx (colca, rowca, 7, []);
Writeln ('Closing bank interface...');
CloseBank;
end;
procedure summerpiemake; //Procedure to make Raw summer pies
//If you read the Writln's its pretty self explanitory.
begin
mousespeed:=(7+random(2));
wait(1800+random(500));
invmouse((1)+random(6),1)
Writeln ('Inventory: Clicking Pie Dish...');
wait(700+random(300));
invmouse((8)+random(6),1)
Writeln ('Inventory: Use Pie Dish->Strawberry');
wait(1300+random(600))
mouse(216, 454, 78, -43,true);
Writeln ('==== Make: Part Summer Pie (1) ====');
wait(9000+random(2000));
Writeln ('Inventory: Clicking Part Summer Pie (1)...');
invmouse((1)+random(6),1)
wait(1200+random(1300));
invmouse((15)+random(6),1)
Writeln ('Inventory: Use Part Summer Pie (1)->Watermelon');
wait(1300+random(400));
mouse(216, 454, 78, -43,true);
Writeln ('==== Make: Part Summer Pie (2) ====');
wait(9000+random(1189));
invmouse((1)+random(6),1)
Writeln ('Inventory: Clicking Part Summer Pie (2)...');
wait(1200+random(1300));
invmouse((22)+random(6),1)
Writeln ('Inventory: Use Part Summer Pie (2)->Watermelon');
wait(1300+random(400));
Writeln ('==== Make: Raw Summer Pies ====');
mouse(216, 454, 78, -43,true);
//Progress Report
wait(8938+random(898));
Summerpiesmade := Summerpiesmade + 7;
Writeln('=========Progress Report=========')
Writeln('Summer Pies Made: ' + IntToStr(Summerpiesmade) );
Writeln('Time Update: ' + TimeRunning );
Loads := Loads +1;
Writeln('Inventories Made: ' + IntToStr(Loads));
Writeln('=================================')
end;
procedure MainLoop; // Note this is an infinite Loop, it will never stop!
var ii:integer; // (Unless defined to stop by making ii =2)
begin
repeat
Banking;
summerpiemake;
until (ii=2)
end;
begin
SetupLogin
MainLoop
end.