SRL Archive - RS3 Outdated / Broken Scripts

CrudCatcher 1.01: The shrimper and anchovy-er!


Bad Processor

2009-01-20 10:21:58

The 2nd public release of CrudCatcher, this one is just like any other powerfisher. Multiplayer, no banking (obviously!) and the fact it is still in testing (1.02c). I recommend not using 1.01, but 1.02 is in testing- for now. The only bug I know is that sometimes it fails to find a spot and logs out.

My list of things to do:
[PHP]
[]=======#=============#=======[]
|| |NEEDING TO DO| ||
|| -1. Add SRL stat support. ||
|| -2. Add better spot finder. ||
|| **More to come, for sure!** ||
|| ||
[]=============================[]
[/PHP]
Please use!

History:

1.02c: Tickyy's improved version. Cheers Tickyy!
1.02b: Fixed bug where whirlpools were ignored.
1.02: Major fixes. Thorough recoding, thanks lots to Dr. D Dervish!
1.01: First public release.

Downloads:
[ATTACH]16184[/ATTACH] - Version 1.01
[ATTACH]16234[/ATTACH] - Version 1.02
[ATTACH]16236[/ATTACH] - Version 1.02b
[ATTACH]16265[/ATTACH] - Version 1.02c (Latest)
– BadProcessor

Dervish

2009-01-20 10:59:24

I got a load of feedback :p.

procedure FishOnce;
var xx, yy: Integer;
begin
FindObj(xx, yy, 'et Fis', 9798519, 15);
Mouse(xx, yy, 2, 3, True);
end;

Use FindObjCustom.

It works like this :

 FindObjCustom(x,y,['uptext1','uptext2','uptext3'],[Color1,Color2,Color3],Tolerance);

It Doesn't fish once ! It will keep fishing until :

you get a level or
you get full inventory

So it wouldn't work.

I'd use it like this :

Procedure Fish;
begin
If Not(LoggedIn) then //If the player isn't logged in
begin //it will log in the player.
LoginPlayer;
FindNormalRandoms; //Finds if there are any randoms
end;
If (FindObjCustom(x,y,['ishing','et','pot'],[FishingSpotColor1,FishingSpotColor2,FishingSpotColor3],5)) then //Finds fishing spot
begin
GetMousePos(x,y);//Stores the mouse location (pos = position) in x and y.
Wait(100+random(25));
Mouse(x,y,0,0,true); //Clicks on fishing spot
repeat
Wait(100+random(25));
If (FindLvUp) then//You should have made this procedure, doesn't exist in SRL I think.
Break;
until(InvFull);//The loop with wait will be repeated until inventory is full.
end else //if it couldn't find fishing spot, it will TerminateScript (not a good idea).
begin
Writeln('Could not find fishing spot.');
TerminateScript;
end;
end;

procedure AntiBanRandoms;
begin
if FindNormalRandoms then Randoms:=Randoms+1;
if FindFight then
begin
RunAway('E', True, 0, 10000);
Randoms:=Randoms+1;
end;
case random(7) of
0: BoredHuman;
1: PickUpMouse;
2: RandomRClick;
3: RandomRClick;
4: RandomRClick;
5: PickUpMouse;
6: PickUpMouse;
end;
end;

becomes :

procedure AntiBanRandoms;
begin
if FindNormalRandoms then Randoms:=Randoms+1;
if FindFight then
begin
RunAway('E', True, 0, 10000);
Randoms:=Randoms+1;
end;
case random(7) of
0: BoredHuman;
1: PickUpMouse;
2,3,4: RandomRClick;
5,6: PickUpMouse;
end;
end;

I also reccomend to make some custom antiban, not to be mean but the one included in SRL is quite… Unefficient :).

procedure MainLoop;
begin
for ml:= 1 to LoadsToDo do begin
FishFull;
AntiBanRandoms;
DropAllExcept;
AntiBanRandoms;
end;
end;

No need for FishFull with my Fish procedure :).

 SetupSRL;
SetupFishing;
DropAllExcept;
MainLoop;
Progress;

I never saw any "SetupFishing;" in there :).

I reccomend you to post a script when it can compile.

(Skipped over the smaller stuff).


For Logging in players use :

LoginPlayer;

For logging out use :

Logout;

Bad Processor

2009-01-20 11:10:20

Thanks, I'm working on adding all that stuff AND credit to you AND a +REP for you. Etc.
Cheers,

– BadProcessor

Dervish

2009-01-20 11:23:44

No problem, you're welcome.

If you got a question I'm free, just PM me :).

Bad Processor

2009-01-23 14:29:13

CrudCatcher v1.02 out now, thanks to Dr. D Dervish!
Far faster, works more reliably, support for multiplayer, and more!
Start near a fishing spot, make sure you are on V. Bright and off you go!

EDIT: Fixed whirlpool bug. Now 1.02b.
EDIT: Added Tickyy's suggestions. Now 1.02c.

– BP

Tickyy

2009-01-24 03:34:36

{.Script Info:
# ScriptName = Crudcatcher by BadProcessor
# Author = BadProcessor
# Description = Fishes shrimps\anchovies and drops anywhere.
# Version = 1.01
# Date = 20/1/09
/Script Info}
program Crudcatcher;
{.include SRL/SRL.scar}
{.include SRL/SRL/skill/Fishing.scar}

(*
This script can fish shrimps or anchovies anywhere. Have a
net in your 1st slot, and the other 27 empty. Start in a
place where your fishing spot is visible. Start the script
(please note, the script is slow and sluggish.) The anti-
randoms are very basic, so please rate its badness! :D
-- BadProcessor


*)
const CCVer= '1.02';
{}//---Fill me in!---//{} {--- Attention! Achtung! Waarschuwing! // lol
{} LoadsToDo= 100;{} {--- New way - keep to about 100 for a decent time
{}/////////////////////{} {--- on each player.

ShowExtensiveProgressReport = False; //False for basic report.
//True for larger report.


var
ml, mll:Integer;
Caught, Randoms, Stuck, LoadCount:Integer;
OldSkills: array [1..24] of Integer;
SkillList: array [1..24] of string;
AOPTU: Integer;

procedure SetupSkillList; forward;
function FindLevelUp(SkillName:String): Boolean; forward;

{------------------------------------------------------------------------------}

procedure DeclarePlayers;
var
NumberOfPlayersToUse, StartPlayer:Integer;
begin
StartPlayer := 0;
NumberOfPlayersToUse:= 1 ;
NumberOfPlayers( NumberOfPlayersToUse );
CurrentPlayer := StartPlayer;
AOPTU:= Numberofplayerstouse;

Players[0].Name :='Made A Smell';
Players[0].Pass :='qazwsx123';
Players[0].Nick :='mell';
Players[0].Active:=True;

Writeln( IntToStr ( NumberOfPlayersToUse ) + ' Players.' );
End;

{------------------------------------------------------------------------------}

procedure SetupSkillList;
var
Forl: Integer;
begin
SkillList[1]:='attack';
SkillList[2]:='strength';
SkillList[3]:='ranged';
SkillList[4]:='magic';
SkillList[5]:='defence';
SkillList[6]:='craft';
SkillList[7]:='hp';
SkillList[8]:='pray';
SkillList[9]:='agility';
SkillList[10]:='herblore';
SkillList[11]:='thief';
SkillList[12]:='fish';
SkillList[13]:='runecraft';
SkillList[14]:='slay';
SkillList[15]:='farm';
SkillList[16]:='mine';
SkillList[17]:='smith';
SkillList[18]:='hunt';
SkillList[19]:='cook';
SkillList[20]:='fire';
SkillList[21]:='wc';
SkillList[22]:='fletch';
SkillList[23]:='construction';
SkillList[24]:='summoning';
for Forl:= 1 to 24 do begin
OldSkills[Forl]:= GetSkillLevel(SkillList[Forl]);
end;
end;

{ -------------------------------------------------- }

function FindLevelUp(SkillName:String): Boolean;
var
SkillNumber,Forl: Integer;
begin
SetupSkillList;
for Forl:= 1 to 24 do begin
if SkillName = SkillList[Forl] then begin
SkillNumber:= Forl;
end;
end;
if GetSkillLevel(SkillList[SkillNumber]) >= OldSkills[SkillNumber] then begin
Result:= True;
end;
end;

{ -------------------------------------------------- }

function FindLvUp: Boolean;
begin
If FindLevelUp('fish') then begin
Result:= True;
SetupSkillList;
end;
end;

procedure AntiBanRandoms;
begin
if FindNormalRandoms then Randoms:=Randoms+1;
if FindFight then begin
RunAway('E', True, 0, 10000);
Randoms:=Randoms+1;
end;
HandleWhirlPool;
case random(7) of
0: BoredHuman;
1: PickUpMouse;
2,3,4: RandomRClick;
5,6: PickUpMouse;
end;
end;

{ -------------------------------------------------- }

Procedure Fish;
var
x, y :Integer;
begin
If Not(LoggedIn) then //If the player isn't logged in
begin //it will log in the player.
LoginPlayer;
//FindNormalRandoms; //Finds if there are any randoms
AntiBanRandoms;
end;
SetupSkillList;
If (FindObjCustom(x,y,['ishing','et','pot'],[12828346,11247768,10128256],5)) then //Finds fishing spot
begin
GetMousePos(x,y);//Stores the mouse location (pos = position) in x and y.
Wait(100+random(25));
Mouse(x,y,0,0,true); //Clicks on fishing spot
repeat
Wait(100+random(25));
If (FindLvUp) then//You should have made this procedure, doesn't exist in SRL I think.
Break;
until(InvFull);//The loop with wait will be repeated until inventory is full.
end else //if it couldn't find fishing spot, it will TerminateScript (not a good idea).
begin
Writeln('Could not find fishing spot.');
Logout;
end;
end;

{ -------------------------------------------------- }

procedure DropAllExcept;
var
l: integer;
begin
for l:= 2 to 28 do begin
DropItem(l);
end;
end;

{ -------------------------------------------------- }

procedure MainLoop;
begin
for ml:= 1 to LoadsToDo do begin
AntiBanRandoms();
Fish();
AntiBanRandoms();
DropAllExcept();
AntiBanRandoms();
end;
end;

{ -------------------------------------------------- }

procedure Pl(s:string); begin WriteLn('##- '+s); end;

procedure Progress;
begin
Pl('Crudcatcher '+CCVer+' progress report');
Pl('Caught '+inttostr(caught)+' shrimps\anchovies.');
Pl('Achieved '+inttostr(loadcount)+' loads (of 27).');
if ShowExtensiveProgressReport=True then begin
Pl('Encountered '+inttostr(randoms)+' random events.');
Pl('Debug Info:');
Pl(' L: '+inttostr(LoadsToDo));
Pl(' S: '+inttostr(Stuck));
Pl(' V: '+CCVer);
Pl(Chr(13));
Pl('Thankyou for using Crudcatcher.');
Pl('Ver 1.02: Big thanks to Dr. D Dervish for the help!');
Pl('Happy crudding!');
end;
end;

{ -------------------------------------------------- }

begin
SetupSRL;
SetupFishing;
DeclarePlayers;
for mll:= 0 to aoptu do begin
LoginPlayer;
DropAllExcept;
MainLoop;
Logout;
end;
Progress;
end.

i fixed your standarts… i made some forwards etc, i'll take a deep look on it later.

ian.

2009-01-24 03:46:35

Made A Smell..

I changed the pass.. idk if it's Tickyy's or BadProcessor's, so pm me whoever owns it :p

Tickyy

2009-01-24 03:48:06

From: 99_
Made A Smell..

I changed the pass.. idk if it's Tickyy's or BadProcessor's, so pm me whoever owns it :p


oh lololol… i didn't see that, i thought it was for fun… btw its not mine.

Bad Processor

2009-01-24 04:31:50

Ah crud, that's one of my army.

– BP

ian.

2009-01-24 05:18:58

I'll pm you details

Tickyy

2009-01-24 06:05:02

From: BadProcessor
Ah crud, that's one of my army.

– BP


btw you don't have to write the variable on every word… you can call it once for the whole thing… take a look on the fixes i did… thats not all.