SRL Archive - Archive

lilcmp1 - SRL Member Application


lilcmp1

2012-02-04 02:21:37

How Long have You Played Runescape?
7 Year(s)


Are you affilated in anyway with Jagex LTD?
No

Were you Referred to SRL?



What is your general programming knowledge?
I came to SRL with zero programming knowledge.


Are you a member of any other communities?
RiD - I know sometimes there are tensions but I see value in both communities. I know sometimes the folks at RiD make the community sound ignorant/biased/stubborn/greedy but there are many good people ^.^ A lot of misconceptions by both parties too.


Tell us about yourself…
From: lilcmp1
Hello my name is Jim and I'm from central Missouri. I am a sophomore at a state university. I am a Biology major although I'm not quite sure what I want to do. I have decided to sign up for the Pre-Masters in Education program so I may pursue the teaching route. We will see. I spend a lot of time at a campus ministry. There is always lots of fun to be had. The rest of my time is spent in the science hall looking in microscopes.
Ever since I was in 7th grade I played Runescape. About two years into it I discovered Scar then got banned and quit for a little while. In the past two years I started up botting and after the nuke I thought I'd compare what's left. I was excited about how the community is oriented to learning. Bots were always a mystery to me but now I feel like I can grasp the ideas and concepts. I thoroughly enjoy the community and the chance to learn. I hope someday I give back to the community as much as I got from it.



Please show us one (or multiple) of your scripts.
program CrayFisherAndMore;
{$DEFINE SRL5}
{$DEFINE SMART}
{$i SRL/srl.simba}
{$i sps/sps.simba}

{Simply Fill in Username & Password at line 29
and 30. You may change the NumberOfPlayers and add
other accounts if you wish.
Start around Crayfish pond near lumbridge fishing store. You need tinderbox/hatchet/crayfish cage in your toolbelt.
It is best to start with 1 regular log in inventory.
If they are not in toolbelt you could also remove the final dropall; failsafe in main loop which would also work}
Const
SRLStats_Username = '';
SRLStats_Password = '';
Version = '1.0';
NumbOfPlayers = 1;
StartPlayer = 0;

Var
Loads: Integer;

Procedure DeclarePlayers;
var
i: integer;
Begin
NumberofPlayers(NumbOfPlayers);
CurrentPlayer := StartPlayer;
for i := 0 to NumbOfPlayers-1 do
Players[i].BoxRewards := ['xp', 'Gem'];

with Players[0] do
begin
Name := '';
Pass := '';
Active:= True;
end;
end;

Procedure Antiban;

Begin
if not LoggedIn then Exit;
FindNormalRandoms;
Case Random(5000) of
0: Begin
GameTab(Random(30));
Wait(RandomRange(1200, 1300));
GameTab(22);
End;
1: RandomMovement;
2: RandomRClick;
3: ExamineInv;
4: Wait(RandomRange(300, 600));
End;
End;

Procedure Fishy;
var
SeX, SeY, PlusOne, FishCounter, BeginFishy: Integer;
MyPos, First: Tpoint;
Begin
if not LoggedIn then Exit;
Antiban;
marktime(BeginFishy);
PlusOne:= InvCount + 1;
SeX:= MSCX;
SeY:= MSCY;

Writeln('Fishy Has begun');
If FindObjEx(SeX, SeY, ['Cage', 'Fishing'], [11774886,7956571, 9998731,9406078,11180948], 6, 50, 180,100, 365, 250) Then
Begin
WriteLn('Found Spot!');
Mouse(SeX, SeY, 4, 4, False);
WaitOption('Cage', Randomrange(200, 300));
Wait(2300 + Randomrange(300, 500));
End else
Begin
writeln('moving');
MyPos := SPS_GetMyPos();
First := Point(4528, 3561);
if ((myPos.y) < 3585) AND (((mypos.y) > 3555)) then
begin
Writeln('walking to second spot');
SPS_WalkToPos(Point(4509, 3599));
end else
begin
Writeln('Walking to spot 1');
SPS_WalkToPos(Point(4528, 3562));
end;
Wait(RandomRange(100, 120));
End;

Repeat
wait(1000);
If InvCount=PlusOne Then
Begin
Antiban;
WriteLn('Caught One!');
PlusOne:= InvCount + 1;
MarkTime(FishCounter);
marktime(beginfishy);
If (InvFull) Then
Begin
Exit;
End;
End;
Until (TimeFromMark(FishCounter) > 10000) OR (TimeFromMark(BeginFishy) > 10000)
End;

Procedure CookFish;
var
x, y, a, b, sex, sey, mex, mey, CrayUseDTM, LogDTM, CrayDTM, CookTimer, waits: integer;
Begin
CrayUseDTM := DTMFromString('mggAAAHicY2NgYJBgZGCQA2JxIBYDYg0glgHi90D8EogfAfFrIH4FxJ+AONNWAaiLCQNzMWAHjDgwBAAAjtsHGw==');
LogDTM := DTMFromString('mbQAAAHicY2VgYJjJyMAwC4gXA/EyIJ4HxG5AbAfEjkDsD8SBQBzvrgVUzYSCJRkwASMWDAYA19cFhQ==');
CrayDTM := DTMFromString('mggAAAHicY2NgYDBnZGCwBmJnILYEYmMoVgNidSBWBGIZKAaJxZrIAHUxYWAuBuyAEQeGAAAl5wL6');

if not LoggedIn then Exit;
SPS_WalkToPos(Point(4525, 3550));
If FindDtm(LogDTM, x, y, 530, 200, 759, 464) Then
Begin
Antiban;
Writeln('Lighting a fire!');
Mouse(x, y, 4, 4, False);
ChooseOption('ight');
Repeat
Wait(250);
Inc(Waits);
Until(FindColorTolerance(sex, sey, 2930168, 206, 153, 320, 210, 10)) OR (Waits > 1000)
End;
SeX:= MSCX
Sey:= MSCY
Wait(RandomRange(200, 300));
Antiban;
If FindColorTolerance(sex, sey, 2930168, 206, 153, 320, 210, 10) Then
Begin
Writeln('Found Fire');
If FindDTM(CrayDTM, Mex, Mey, 550, 200, 600, 467) Then
Begin;
Mouse(Mex, Mey, 5, 5, True);
Wait(RandomRange(100, 200));
Mouse(SeX, SeY, 4, 4, True);
Wait(RandomRange(500, 600));
If FindDTM(CrayUseDTM, x, y, 226, 397, 297, 458) Then
Begin
Mouse(x, y, 10, 10, True);
MarkTime(CookTimer);
Repeat
Antiban;
Wait(250 + RandomRange(30, 50));
Until(Not FindDTM(CrayDTM, a, b, 685, 425, 732, 464)) OR (TimeFromMark(CookTimer) > 65000)
End;
End;
End;
FreeDTM(CrayDTM);
FreeDTM(LogDTM);
FreeDTM(CrayUseDTM);
End;

Procedure DropFish;
Var
SeX, SeY, AllCrayDTM, I: Integer;
Slotbox:TBox;
CrayPattern:TIntegerArray;

Begin
if not LoggedIn then Exit;
writeln('beginning to dropfish');
AllCrayDTM := DTMFromString('mggAAAHicY2NgYPjMyMDwFYh/AvF7IP4AxIxMDAyeQNoHiB2B2B6I3YHYDYjnxkQAdTFh4P8M2AEjDgwBAG7uCNc=');
CrayPattern:= [1, 5, 9, 13, 17, 21, 25, 2, 6, 10, 14, 18, 22, 26, 3, 7, 11, 15, 19, 23, 27, 4, 8, 12, 16, 20, 24, 28]
Antiban;
For I:=0 To 27 Do
Begin
SlotBox:=InvBox(CrayPattern[I]);
If FindDtm(AllCrayDTM, SeX, SeY, Slotbox.X1, Slotbox.Y1, Slotbox.X2, Slotbox.Y2) Then
Begin
Antiban;
MouseItem(CrayPattern[I], mouse_right );
ChooseOption('Dro');
End;
End;
FreeDTM(AllCrayDTM);
End;

Procedure GetLog;
Var
x, y, a, b, PlusOne, LogDTM, TreeTimer: integer;
Begin
if not LoggedIn then Exit;
Antiban;
logdtm := DTMFromString('mbQAAAHicY2VgYJjJyMAwC4gXA/EyIJ4HxG5AbAfEjkDsD8SBQBzvrgVUzYSCJRkwASMWDAYA19cFhQ==');
PlusOne:= InvCount + 1;
x:= MSCX
y:= MSCY
If FindObjTPAMulti(x, y,[4083292, 3688787, 2638155], 5, 2, 30, 5, 100, ['chop', 'own', 'ree']) Then
Begin
Writeln('Tree Found');
Mouse(x, y, 4, 4, True);
MarkTime(TreeTimer);
Repeat
Antiban;
Wait(RandomRange(200, 250));
Until(FindDTM(LogDTM, a, b, 550, 200, 606, 256)) OR (TimeFromMark(TreeTimer) > 20000)
End;
FreeDTM(LogDTM);
Inc(Loads);
End;

Procedure LoadReport;
Var
TheTimes: TIntegerArray;
Begin
TheTimes := [0, 0, 0];
ConvertTime(GetTimeRunning, TheTimes[0], TheTimes[1], TheTimes[2]);
writeln('-.-.-.-CrayFish Multitasking-.-.-.-');
Writeln('Time Ran ' + tostr(TheTimes[0]) + ':' + tostr(TheTimes[1]) + ':'+ tostr(TheTimes[2]));
Writeln('Loads Done = ' + IntToStr(Loads))
End;

Begin

SetupSRL;
DeclarePlayers;
LoginPlayer;
SPS_Setup(RUNESCAPE_SURFACE, ['11_8', '11_9']);

Repeat
MakeCompass('n');
SetAngle(SRL_ANGLE_HIGH);
Repeat
Repeat
Fishy;
Until(InvFull);
If(InvFull) Then
Begin
CookFish;
DropFish;
DropAll;
GetLog;
ClearDebug;
LoadReport;
End;
Until (Not (LoggedIn));
NextPlayer(Players[CurrentPlayer].Active);
Until(False)
LoadReport;
End.

Yanhua

2012-02-04 03:19:22

I just had a look at your main loop and found a major error.


If(InvFull) Then
CookFish;
DropFish;
DropAll;
GetLog;
ClearDebug;
LoadReport;
Until (Not (LoggedIn));

You realise that even if the inventory is not full, it will still do from DropFish onwards?

It should be like this.


If(InvFull) Then
begin
CookFish;
DropFish;
DropAll;
GetLog
end;
ClearDebug;
LoadReport;
Until (Not (LoggedIn));

lilcmp1

2012-02-04 10:47:12

From: Yanhua


You realise that even if the inventory is not full, it will still do from DropFish onwards?


Yes I see. Although if you run it though there shouldn't be a problem as it won't exit the first loop unless inventory is full. I guess my thinking is if an error occurred to give it a false positive it would be better to drop the inventory and start over as something isn't right.

For the 4 other No's could you please note if there is anything else you'd like to see?

masterBB

2012-02-04 11:07:43

The fishy procedure is also a bit odd, you always search twice even though it is already fishing…

I voted no cause I don't see a member worthy script in general. Few failsafes combined with a few logical errors will make an unreliable script. Also the shortage of findColor, DTMs(for walking), DDTMs and TPA is what makes me vote negative.

I do like the script in general and see you spent sometime on it. Good job, but I would like to see a more advanced script from a member.

Hobbit

2012-02-23 12:32:46

The poll has closed and you didn't quite make it this time. Please take the suggestions made here and read some more in the tutorial section and improve your script. You may reapply in 4 weeks time.


Cheers
Hobbit