PDA

View Full Version : [Money Making] Cats Jug Filler



catsrback321
02-13-2016, 09:32 PM
Hi everyone, I have been using the Enigmatic wine drinker but then since the price of jugs started to crash I wanted to make a little more profit so threw together this script and I would like your feedback.
To use this you have to download the spsmap at the bottom and place it in your runescape_other file (you get to this by going to simba>Includes>SPS>IMG>Runescape other)
make sure you have empty jugs set to fill your pre-set 1 inventory and start this script at the lumbridge training centre bank chest.
heres the script:
Program Cats_Jug_Filler;
{$DEFINE SMART}
{$I SRL-6/SRL.simba}
{$I SPS/lib/SPS-RS3.Simba}
var
JugsFilled:Integer;
Procedure DeclarePlayers();
begin
setLength(players, 1);
with players[0] do
begin
loginName := 'LOGIN NAME HERE';
password := 'PASSWORD HERE';
isActive := true; //Ignore this.
isMember := false; //True = member False = Non-member.
bankPin := 'Pin Here'; //Your pin here.
world := -1; // -1 will just click the play button
end
currentPlayer := 0; //Leave this alone.
end;

Procedure Tele_Walk_To_Bank; //CURRENTLY UNUSED
begin
lodestoneScreen.teleportTo(18);
wait(randomrange(20000,25000));
sps.walkpath ([Point(349, 284), Point(328, 243), Point(299, 195), Point(275, 153)]);
end;

Procedure ChatBack; //CURRENTLY UNUSED
Var
I:Integer;
Begin
I := Random(10000);
Case I Of
1..12: typeSend('Whats The Sound Of 1 Hand Clapping');
13..20: typeSend('Hello how is everyone today', false);
21..30:typeSend('I want a party hat :(');
end;
end;

Procedure Antiban;
Var
I: Integer;
Begin
I := Random(10000);
Case I Of
1..100: mouseOffClient(OFF_CLIENT_RANDOM, randomRange(1000, 1500));
101..200:boredHuman();
201..300:randomCameraAngle(MS_ANGLE_HIGH);
end;
End;

Procedure Symbol_Walk_To_Fill;
Var
mapcheck:tpoint;
Begin
if minimap.findSymbol(MapCheck, MM_SYMBOL_WATER, minimap.getBounds()) then
Begin
mouse(MapCheck, MOUSE_LEFT);
minimap.waitFlag(10);
writeln ('failed to sps walk, using symbols');
End;
if not minimap.findSymbol(MapCheck, MM_SYMBOL_WATER, minimap.getBounds()) then
Exit
End;

Procedure Walk_To_Fill;
Begin
sps.walkpath ([Point(278, 153), Point(225, 165), Point(211, 186)]);
wait(randomrange(1000,1500));
writeln ('failed to sps walk, using symbols');
End;

Procedure Symbol_Walk_To_Bank;
Var
mapcheck:tpoint;
Begin
if minimap.findSymbol(MapCheck, MM_SYMBOL_BANK, minimap.getBounds()) then
Begin
mouse(MapCheck, MOUSE_LEFT);
minimap.waitFlag(10);
end;
if not minimap.findSymbol(MapCheck, MM_SYMBOL_BANK, minimap.getBounds()) then
Exit;
End;
End;

Procedure Bank;
Var
count:integer
Begin
Repeat
inc (count);
bankScreen.open(BANK_CHEST_LUMBRIDGE);
Until pinScreen.isOpen() or bankScreen.isopen or count > 7;
if count >7 then
exit;
End;

Procedure Get_Jug;
var
count:integer
Begin
Repeat
bankScreen.open(BANK_CHEST_LUMBRIDGE);
inc (count);
Until pinScreen.isOpen() or bankScreen.isopen or count>7;
if not bankScreen.isopen then
Symbol_Walk_To_Bank;
end;

Procedure Banking;
Begin
if pinScreen.isOpen() then
Begin
pinScreen.enter(players[currentPlayer].bankPin);
End;
wait(randomRange(800,1300));
bankScreen.clickButton(BANK_BUTTON_PRESET_1);
Antiban;
wait(randomrange(1000,1500));
if chatBox.findText(['item could not be found']) then
end;


Procedure Find_Fountain;
var
x,y,F,B: integer;
tpa:Tpointarray;
Begin
if(mainScreen.findObject(x, y, [12370883, 12239547], [10, 10], colorSetting(2, 0.47, 0.69), mainScreen.getCenterPoint(), 70, 70, 30, ['Fill Memorial fountain'], mainScreen.getBounds(), MOUSE_LEFT)) then
Repeat
wait(randomrange(1600,1800));
productionScreen.clickStart();
wait(randomRange(600,900));
inc(F);
Until (progressScreen.getButton() = PROGRESS_BUTTON_CANCEL) or F > 5
else
Begin
Symbol_Walk_To_Fill;
End;
If progressScreen.isOpen then
writeln('progress screen is open');
End;

Procedure Start_Filling;
Begin
if progressScreen.isOpen then
Repeat
wait(randomRange(100, 150));
begin
if not progressScreen.isOpen then
exit;
end;
Until (progressScreen.getPercentDone() = 99);
wait(randomRange(400, 900));
inc(JugsFilled);
End;

Procedure Walk_To_Bank;
Begin
sps.walkpath ( [Point(206, 188), Point(241, 167), Point(275, 149)]);
End;

Procedure Progress_Report;
var
Full,Profit,ProfitPerHour,CutPerHour,ExpPerHour:in teger
Begin
cleardebug;
If Not IsLoggedIn Then
exit;
cleardebug;
Full := JugsFilled * 28;

WriteLn('=================From The Mayors Guide=================');
WriteLn(' Cats Jug Filler');
WriteLn(' Jugs Filled: ' + intToStr(Full));
WriteLn(' Loads Done: ' + intToStr(JugsFilled));
Writeln('========================================= ==============');
End;

Begin
SetupSRL();
DeclarePlayers();
Players[currentPlayer].login();
Sps.setup('lummy', RUNESCAPE_OTHER);
Minimap.setAngle(MM_DIRECTION_NORTH);
Mainscreen.setAngle(MS_ANGLE_HIGH);
ExitTreasure();
ClosePopup();
if not isloggedin then
exit;
Repeat
Get_jug;
Banking;
Walk_To_Fill;
Find_Fountain;
Start_Filling;
Walk_To_Bank;
Progress_Report;
until(false)
end.

I know it's a bit jumbled and there is stuff in there that is currently unused but it may be implemented later so I just left it in there
if there are any bugs let me know but I had it running and got this proggy
=================From The Mayors Guide=================
Cats Jug Filler
Jugs Filled: 3556
Loads Done: 127
================================================== =====
and I have had it running flawlessly but that doesn't mean it is flawless,it could still be buggy and I advise you only run it while you can check up on it/keep an eye on it running.
Thanks for reading and let me know how it goes!
Also thanks for everyone who made the includes as they are used a lot in here and a huge thank you to the mayor for his great tutorials.
27154

Clarity
02-13-2016, 11:59 PM
Hey Cats, congratulations on the release! +Rep
The standards are a little haphazard as you say but it's by no means unreadable, and if it works flawlessly, that's awesome. Perhaps the next step for you as you learn will be to graduate from using mainScreen.findObject() to your own, customized TPA search.

I'm curious about your plans for chatBack; - are those supposed to be random responses to someone talking to you? It might prompt people to report you even more if you say something pretty unusual in a conversation. There's been some reddit posts making fun of the goldfarming accounts that occasionally say random quick chat phrases when banking.

Perhaps I missed something, but what is the reasoning behind this debug:


Procedure Walk_To_Fill;
Begin
sps.walkpath ([Point(278, 153), Point(225, 165), Point(211, 186)]);
wait(randomrange(1000,1500));
writeln ('failed to sps walk, using symbols');
End;


Seems to me like it would say failure after walking the path regardless of success?

catsrback321
02-14-2016, 12:13 AM
I was hoping the debug would make it seem more user friendly rather than a spam of text, other than that it's useless :p.
with the chatback I wanted to get lots of different lines of text which wouldn't really start a conversation,but would look more human, but I
wasn't sure on what lines to use. but I guess I will remove it if I need to update it in the future, it doesn't serve much purpose.
Thanks for reading through it for me and I'll take a good look into TPA's

micha2wie
03-08-2017, 10:33 AM
script still working - you can use it also for other tings like vials,dough etc

=================From The Mayors Guide=================
Cats Jug Filler
Jugs Filled: 952
Loads Done: 34
================================================== =====