Summer Pie Maker (200-300k/hr)
Well this is my very first script. A summer pie maker.
I admit that, some of this code was based off others scripts as I was not completely familiar with banking and with using the inventory. But In the end I had to make my own way of opening the bank anyway. This is not the ideal way that a script would run, when I figure out DTM's, I will implement it to my script as it will also allow me to fail safe my script.
What it does:
It combines the ingredients: Pie Shell, Strawberry, Watermelon and Cooking apple together to form a Raw Summer Pie and then banks them.
What are these used for?
These are used for awesome cooking experience, and even magic experience if using the "Bake Pie" spell. They are also used as an Okayish money maker, making around 200-300k an hour.
Requirements:
- 95 Cooking
- Ingredients (Pie shell, Strawberry, Watermelon, Cooking Apple)
- Runescape Membership
How to set up the script:
- You must be at a bank with an NPC (NOT Grand Exchange). I've only tested Camelot.
- Your ingredients must be in the positions below and in that order.
- Preferebly, you would be at the far left hand corner of the bank (If at camelot) as thats where it works best.
- Make sure you are facing North, and are at about mid upwards camera angle. This probably doesn't matter too much but it will make sure the script can find the bank.
- If all is set up correctly, the script will open the bank and start making the pies. You can see a progress report and the current action of the script in the simba debug box.
http://i.imgur.com/9igBv.png
NOTE: USE THIS AT YOUR OWN RISK!
This script contains NO anti ban (Other than randomization in clicking ,waiting times, and mouse speeds)
However, as you gain no XP from doing this and there is no animation associated with making the summer pies, its unlikely you will get banned or reported, but don't take my word for it. I've been running this script for a while and haven't had any problems, but you have been warned.
Also this script has no fail safes yet, so make sure you have enough ingredients or else it will start mixing monkfish and strawberries lol.
I will get to adding fail-safes eventually, as well as some basic antiban but for now you need to keep a good eye on the script.
You'll be glad to know, as you gain no XP, you won't get any randoms either. I've NEVER had a random when i'm not gaining experience so there should not be any problems with randoms.
Also Don't be surprised if you have like 7 apple pies in your bank lol, I still am yet to add fail safes as I said before, so it will occasionally forget an ingredient or something (Usually due to lag). But it rarely happens.
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.