SRL Archive - Archive

TheAnubis - SRL Member Application


Last Legend

2012-02-28 20:48:17

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


Are you affilated in anyway with Jagex LTD?
No

Were you Referred to SRL?
n/a


What is your general programming knowledge?
No previous knowledge of this sort of programming. All previous programming experience was with css for web design (graphic design major).


Are you a member of any other communities?
None.


Tell us about yourself…
From: TheAnubis
D1 athlete attending UofM, it restricts my hobby time quite a bit but I always try to script and play when I have a little free time. Scripting has always been wierdly entertaining for me, atleast in css and now with the srl programs, I hope to be able to reach past my current limitations eventually but I feel I know a good bit about it now to apply. Sadly my previous experience in CSS gave me a scripting style that seems out of the norm when it comes to this community, I have had comments on my standards being a bit odd but I can't seem to bring my mind to think differently from what has been drilled into my brain after all my classes to say the least :) Hopefully I'll be able to convert eventually.



Please show us one (or multiple) of your scripts.
program CatherbyFisher;

//Requirements: 76 Fishing, barb-tail harpoon equipt or harpoon in tool belt
//Start avatar at fishing spots in Catherby and watch it go
//Currently set to fish sharks only

{$DEFINE SMART}
{$i srl/srl.simba}
{$i sps/sps.simba}

var SW, TU, SH, TSH, TTU, TSW, TTL, L, XP, TP: integer;

const
SERVER = 0; // Enter "0" to pick a random server.
MEMBERS = True; // True if members, False if f2p
NumbOfPlayers= 1; //How many players are you using
StartPlayer= 0; //Player to start auoting with! (0 means first chararacter)
Pin = ''; // Your bank pin goes here (Leave blank if you don't have one)
SRLStats_Username = ''; //Leave blank if you wish
SRLStats_Password = ''; //Same as above
Procedure DeclarePlayers;
begin
HowManyPlayers := 1;
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 0;
Players[0].Name := ''; // Username?
Players[0].Pass := ''; // Password?
Players[0].Nick := ''; // 3 letters of your username (not the first letter)
Players[0].Active := True;
Players[0].Integers[0] := 527; //Price of SwordFish (Update based on GE)
Players[0].Integers[1] := 220; //Price of Tuna ""
Players[0].Integers[2] := 1593; //Price of Shark ""
Players[0].Integers[3] := 18000;//Time after a fish is caught to allow for more fish to be caught
end;
procedure CheckCheck;
begin
if not LoggedIn then Exit;
FindNormalRandoms;
end;
Procedure AntiBanStuff;
begin
if not LoggedIn then Exit;
case Random(100) of
0: begin
RandomMovement;
SetAngle(SRL_ANGLE_HIGH);
end;
1: PickUpMouse;
2: HoverSkill('Fishing', False);
3: SleepAndMoveMouse(5000 + Random(500));
4: RandomMovement;
5: PickUpMouse;
6: BoredHuman;
7: RandomRClick;
8: ExamineInv;
9:begin
MakeCompass( RandomRange( -360, 360));
Wait(200 + random(75));
end;
10: Wait( Random( 4500));
11..15: CheckCheck;
end;
end;
Function GetBackFishing: boolean;
Var
myPath:TPointArray;
begin
SetupSRL;
SPS_Setup(RUNESCAPE_SURFACE,['7_7']);
myPath := [Point(3072, 2894), Point(3072, 2901),
Point(3073, 2903), Point(3078, 2906),
Point(3086, 2905), Point(3093, 2904),
Point(3098, 2907), Point(3102, 2907),
Point(3109, 2907), Point(3123, 2907),
Point(3130, 2907), Point(3136, 2907),
Point(3144, 2907), Point(3156, 2910),
Point(3173, 2913), Point(3185, 2912),
Point(3197, 2918), Point(3200, 2923)];
if SPS_WalkPath(myPath) then
begin
FFlag(0);
Wait(500 + random(200));
SetAngle(0);
CheckCheck;
Result := True;
Exit;
end else
WriteLn('You suck at walking, get off RS');
Logout;
end;
Procedure MyValuesMan(colors: TIntegerArray; var HueMods, SatMods: Extended; var color, Tolerance: Integer);
Var
h, s, t: Extended;
I,II : integer;
HSLColor : Array[1..3] of Extended;
HSL : Array[0..1] of Array[1..3] of Extended;
begin;
For I:= 1 to 3 do
begin;
HSL[0][i] := 255;
end;

For I:= 0 to High(Colors) do
begin;
ColortoHSL(Colors[i],HSLColor[1],HSLColor[2],HSLColor[3]);
For II:= 1 to 3 do
begin;
HSL[0][II] := MinE(HSLColor[II],HSL[0][II]);
HSL[1][II] := MaxE(HSLColor[II],HSL[1][II]);
end;
end;

H := (HSL[1][1] - HSL[0][1]);
S := (HSL[1][2] - HSL[0][2]);
T := (HSL[1][3] - HSL[0][3]);

try
HueMods := (H/T);
SatMods := (S/T);
Tolerance := Round(t);
except
HueMods := 0;
SatMods := 0;
Tolerance := Round(0.0);
end;

Color := HSLToColor((HSL[1][1] + HSL[0][1]) div 2,(HSL[1][2] + HSL[0][2]) div 2,(HSL[1][3] + HSL[0][3]) div 2);
end;
function FishFinder(Var X,Y: Integer): Boolean;
var
B: TBox;
TPA: TPointArray;
Hmod,Smod: Extended;
L,i,Tol,CTS,Col: Integer;
ATPA: T2DPointArray;
begin
Result := False;

MyValuesMan([11445405, 11642527, 11708064, 11970978, 12169386, 12433588], Hmod, Smod, Col, Tol);
CTS := GetColorToleranceSpeed;
ColorToleranceSpeed(2);
SetColorSpeed2Modifiers(Hmod, SMod);
FindColorsSpiralTolerance(MSCX, MSCY, TPA, Col, MSX1, MSY1, MSX2, MSY2, Tol);
ColorToleranceSpeed(CTS);
if (Length(TPA) < 1) then
Exit;
ATPA := TPAToATPAEx(TPA, 40, 40);
SortATPAFrom(ATPA, Point(MSCX,MSCY));
L := High(ATPA);
SetArrayLength(ATPA, L+1);
for i := 0 to L do
begin
if (GetArrayLength(ATPA[i]) > 5) then
begin
B := GetTPABounds(ATPA[i]);

MiddleTPAEx(ATPA[i], X, Y);
MMouse(X, Y, 15, 15);
if WaitUpTextMulti(['Net', 'et'], 555) then
begin
Result := True;
GetMousePos(X, Y);
Exit;
writeln('Found them fishies');
end else
Result := False;
GetBackFishing
end;
end;
end;
Function FishLikeABaws: boolean;
var px, xx, timer:integer;
begin
CheckCheck;
MarkTime(timer);
px := InvCount;
WriteLn('Enjoying Fishing...');
repeat
Wait(200+ random(50));
xx := InvCount;
if not (xx = px) then
begin
MarkTime(Timer);
px := xx;
end;
if (TimefromMark(Timer) > Players[CurrentPlayer].integers[3]) and (px = xx) then
begin
Exit;
end;
until(InvCount = 28);
Result := True;
end;
Function GetThemFishes: boolean;
var
x, y:Integer;
begin
CheckCheck;
FFlag(0);
If FishFinder(x, y) then
begin
Mouse(x, y, 0, 0, false);
WaitOption('Harpoon', 600);
if not DidRedClick then
Exit;
WriteLn('We gonna catch the big one');
RunEnergy(50);
if FishLikeABaws then;
begin
AntiBanStuff;
FindNormalRandoms;
writeln('Looking for fish');
end;
end;
end;
function CountTheFish: boolean;
var
SwordFishDTM, TunaDTM, SharkDTM: integer;
begin
SwordFishDTM := DTMFromString('mFQEAAHicnckxCoAwEETRSSQiQtBzpxIEQbRQBAuvGAs/JIWWceHt7LBe0malA9fLiR0LJoxYMefucJvEctdo4NFnHSJ/kRWGEFIp0LJLmR8+8wAIHQ3o');
TunaDTM := DTMFromString('m1gAAAHic42JgYKhjYmCoBOJ6IO4E4m4o3QrEtUBcAsSlQGwMxPpArA7EGlC2CRBbALEtFIPUTOnrBZrKRAQmDjASiREAAO+pCPU=');
SharkDTM := DTMFromString('mrAAAAHic42BgYKhjYmAoA+IiIC4F4iYg7gHiTiCuAeJnjAwM34H4DRA/BOK7QPwSiL8A8QcgbqiqAprChAfjB4wEMAwAAIh8DO0=');

begin
SW := CountItems('dtm', SwordFishDTM, [0]);
TU := CountItems('dtm', TunaDTM, [0]);
SH := CountItems('dtm', SharkDTM, [0]);
TSW := TSW + SW;
TTU := TTU + TU;
TSH := TSH + SH;
TTL := TTL + SW + TU + SH;
FreeDTM(SwordFishDTM);
FreeDTM(TunaDTM);
FreeDTM(SharkDTM);
Result := True;
end;
end;
Procedure ProggyStyle;
begin
XP:= (XP +(SW * 100) + (TU * 80) + (SH * 110));
TP:= (TP +(Players[CurrentPlayer].integers[0] * TU) + (Players[CurrentPlayer].integers[1] * SW) + (Players[CurrentPlayer].integers[2] * SH));
WriteLn('++++=====ANOTHER LOAD COMPLETE!====++++');
WriteLn('Progress');
WriteLn('Time Running: ' + TimeRunning);
WriteLn('Fish Caught: ' + IntToStr(TTL));
WriteLn('Total XP Gained: ' + IntToStr(XP));
WriteLn('Profit: ' + IntToStr(TP));
WriteLn('=====Thanks for using CatherbyFisher by TheAnubis=====');
end;
function GoToBank: boolean;
Var
myPath:TPointArray;
begin
SetupSRL;
SPS_Setup(RUNESCAPE_SURFACE,['7_7']);
myPath := [Point(3216, 2928), Point(3206, 2915),
Point(3196, 2912), Point(3182, 2908),
Point(3166, 2908), Point(3154, 2908),
Point(3141, 2908), Point(3128, 2904),
Point(3117, 2907), Point(3101, 2907),
Point(3092, 2907), Point(3080, 2906),
Point(3073, 2903), Point(3073, 2896)];
if SPS_WalkPath(myPath) then
begin
FFlag(0);
Wait(500 + random(200));
SetAngle(0);
CheckCheck;
Result := True;
Exit;
end else
WriteLn('You suck at walking, get off RS');
Logout;
end;
Function GetInTheBank: boolean;
begin
if (InvEmpty) then
begin
Result := True;
Exit;
end;

QuickDeposit(SRL_DEPOSIT_ALL);
Result := WaitFunc(@InvEmpty, 50, 3000);
end;
function BankDatFish: boolean;
var
NPCBox :TBox;
Colors, NPCArray :TPointArray;
ATPA: T2DPointArray;
MSNPC, NPCPoint :TPoint;
CTS, C, II, I :Integer;
begin
Result := False;
Result := (BankScreen) or (PinScreen);
If Result then
Exit;
NPCArray := GetMinimapDots('NPC');
If Length(NPCArray) < 1 then
Exit;
SortTPAFrom(NPCArray, Point(MMCX, MMCY));
for I := 0 to High(NPCArray) do
begin
NPCPoint := MMToMS(NPCArray[I])
If NPCPoint = Point(-1, -1) then
Continue;
with NPCPoint do
NPCBox := IntToBox(Max(X - 40, MSX1), Max(Y - 40, MSY1), Min(X + 40, MSX2), Min(Y + 40, MSY2));
If PixelShift(NPCBox, 200) > 500 then
Continue;

CTS := GetColorToleranceSpeed;
ColorToleranceSpeed(2);
SetColorSpeed2Modifiers(0.13, 1.52);
FindColorsTolerance(Colors, 6067652, NPCBox.X1, NPCBox.Y1, NPCBox.X2, NPCBox.Y2, 13);
SetColorSpeed2Modifiers(0.2, 0.2);
ColorToleranceSpeed(CTS);
ATPA := TPAToATPAEx(Colors, 15, 20);
SortATPASize(ATPA, True);

for II := 0 to High(ATPA) do
begin
MSNPC := MiddleTPA(ATPA[II]);
MMouse(MSNPC.X, MSNPC.Y, 3, 3);
If WaitUpTextMulti(['ooth', 'anker'], 200) then
begin
ClickMouse2(False);
If WaitOptionMulti(['Bank B', 'nk B'], 600) then
MarkTime(c);
Repeat
Wait(RandomRange(50, 100));
Until (BankScreen) or (PinScreen) or (TimeFromMark(C) > 4500);
if (Players[CurrentPlayer].Pin <> '') then
InPin(Players[CurrentPlayer].Pin);
Result := (BankScreen) or (PinScreen);
If PinScreen then
InPin (Pin);
If BankScreen then
GetInTheBank
end;
end;
end;
end;
Procedure Plan;
begin
CheckCheck
repeat
GetThemFishes
Until (InvFull)
begin
GoToBank;
CountTheFish;
BankDatFish;
GetInTheBank;
ProggyStyle;
GetBackFishing;
end;
end;
begin
ClearDebug;
SetUpSrl;
ActivateClient;
DeclarePlayers;
SetupSRLStats(543, SRLStats_Username, SRLStats_Password);
LoginPlayer;
SetAngle(0);
SetRun(True);
MouseSpeed := RandomRange(13, 19);
repeat
Plan;
until(false)
end.

Kyle Undefined

2012-02-28 20:50:54

Sorry, you only joined this month, and for me that's too soon. Keep up the work though :)

Sin

2012-02-28 20:52:28

Hey there, I took a look at your script and you show quite a bit of knowledge!
But there are a few things that I don't see, Bitmaps, RRW and Activity.
I especially like those creative names, I enjoy naming those like that also!
If you become a bit more active, + include the things I told you, you'll make it for sure!
Excellent use of TPAs/DTMs though :)

I wont vote, since I want to vote yes, but have to vote no :l

Last Legend

2012-02-28 20:57:32

Kyle I completely understand, I thought it was a bit too soon myself but to be quite honest I was a bit anxious ;) No problem at all though, plenty of time to increase my ability and hopefully correct my nasty standards habbit.

Thanks for the reply sin, it appears I have to add a bit then haha :) Your scripts are quite impressive by the way. Creative naming always keeps the monotonous clicking of keys more interesting for sure. RRW shouldn't be an issue, it may even be more accurate than my current walking system.
Appreciate the input!
Anubis

[XoL]

2012-02-28 20:59:07

No from me. Sorry. Although it is obvious you have decent skills with the SRL library I believe there is always room for improvement. You are also just a little too new for me to say yes, I would suggest posting more and being active in general.

Try to follow this guide to become a SRL member:
http://villavu.com/forum/showthread.php?t=74195

For more advanced scripting I would suggest reading these guides:
http://villavu.com/forum/forumdisplay.php?f=96

I really think is important is being community focused. Posting actively not only shows you genuinely care for the community it also helps your chances of getting accepted.

These guides can help you with that:
http://villavu.com/forum/showthread.php?t=72050
http://villavu.com/forum/showthread.php?t=66084

Anyway, sorry for the roughness. Good luck.

Last Legend

2012-02-28 21:01:40

Oh no roughness, just constructive criticism and that's what I'm looking for :) I do agree on the more activity, however I often feel guilty posting too often because I feel like the posts may be of little use so I'm fairly conservative with them. Thanks for the links, I will surely look into them.
Cheers.
Anubis

Er1k

2012-02-28 23:33:51

From: TheAnubis
Oh no roughness, just constructive criticism and that's what I'm looking for :) I do agree on the more activity, however I often feel guilty posting too often because I feel like the posts may be of little use so I'm fairly conservative with them. Thanks for the links, I will surely look into them.
Cheers.
Anubis


Maybe lurk around the help section? Theres lots of people needing help at any point of time.

Last Legend

2012-02-28 23:49:46

Thanks for the suggestion, I'll definitely do that :)

BraK

2012-02-29 01:36:53

I see DTMs and TPAs as a good alternative to bitmaps. I was totally ready to click yes but to have that infinite loop thing holding your main loop(I don't like that.) You also need to look into making this with multi player(or at least try to incorporate it). I love how some of your stuff is named( unique names ensure that you won't step on other variable but names of procs and variables should always describe what they are doing.) Your standards aren't horrible but they aren't consistent which makes it difficult to read. you might want to check out DDTMs also for future learning.

Improve
  • Multiplayer
  • Remove infinite loop
  • Standards
  • SRL Stats

Sustain
  • TPAs
  • DTMs

Last Legend

2012-02-29 13:24:28

Thanks for being so specific, that'll make things much easier. I remember reading somewhere or seeing it on some tutorial that multiplayer function is generally not used anymore due to the six hour crash limit, was this information outdated by chance? Instead of an infinite loop are you looking for a breaking system? Or am I missunderstanding you completely?
Thanks again!
Anubis

Sin

2012-02-29 17:06:37

What Brake means is that there are infinite loops, repeats that will go on forever if the case isn't met.
You can get rid of these by adding a timeout.

Last Legend

2012-02-29 18:35:39

Ahh thank you for clarification

'Toxin

2012-03-01 09:33:56

No from me, as previously stated by another user, you're too new still. I love the use of TPA's and DTM's here though. Not many applicants have either, if both. Good job, keep up the good work.

Last Legend

2012-03-01 10:52:46

Thank you Toxin I appreciate the kind words. Just for my own benefit, what is the general time of membership until it's acceptable to apply. Honestly this application was more to test the waters and get some great feedback on the script more than anything else. Obviously I plan to increase activity and I'm currently about 60% done with a blue dragon script that I may release in a build your own format, but would it be a good idea to perhaps wait two months instead of one until my next app to further prove my worth?
Thanks for putting up with all my questions.
Anubis

'Toxin

2012-03-01 13:00:35

From: TheAnubis
Thank you Toxin I appreciate the kind words. Just for my own benefit, what is the general time of membership until it's acceptable to apply. Honestly this application was more to test the waters and get some great feedback on the script more than anything else. Obviously I plan to increase activity and I'm currently about 60% done with a blue dragon script that I may release in a build your own format, but would it be a good idea to perhaps wait two months instead of one until my next app to further prove my worth?
Thanks for putting up with all my questions.
Anubis


It's not so much the time you're here I'd say… well for me personally, others may see things differently but if you've done something outstanding, and I believe you're mature enough, then I will vote yes. Others may only want to see things like forum activity and helping others out with scripting and such. It's a mix of personalities and wants in here, we just try to get the best of the best.

Last Legend

2012-03-01 13:10:02

Makes sense to me, as from what I've heard being a member is a great honor. Thanks for the quick reply, I appreciate it. I think if this continues to go in the dirrection it is I will wait a while until I can be a bit more use to the community.
Cheers.
Anubis

Sin

2012-03-01 14:04:25

I said fk it and voted yes.
Much better attitude than other people who apply here.

Last Legend

2012-03-01 14:05:21

Haha I appreciate it Sin, I'm just glad I even got one ;)

Markus

2012-03-09 09:47:54

Hey. I like your attitude and your script, but as said before you are a little bit to new. As you already got a large majority of no votes I'm going to close this so you can reapply in 2 weeks.
I look forward to the blue dragon script, good luck!