SRL Archive - Archive

zer0hax0r - SRL Member Application


zer0hax0r

2013-03-28 20:01:51

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?
HTML/CSS


Are you a member of any other communities?
No


Tell us about yourself…
From: zer0hax0r
My names Lucas, I like sports and videogames. I generally play FPS games on the Xbox, though I play RS, WoW, and a couple other online games.
I decided to learn how to code so I could make a script in my current interest in RS if there already wasn't one. (Since 07scape came out, it came real handy!) The script included is my first real script for RS, I have made small ones for RSPS's but don't have them anymore. (after getting a virus, I wiped my hard drive)
Its an Ape Atoll Agility Course Bot :P Might release it into the first scripts section soon, once I get it more perfected. (fix bugs, and uses better functions/procedures)



Please show us one (or multiple) of your scripts.
program ApeAtollAgility;
{$DEFINE SMART8}
{$I SRL-OSR/SRL.Simba}


procedure DeclarePlayers;
begin
HowManyPlayers := 1;
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 0;

Players[0].Name := '';
Players[0].Pass := '';
Players[0].Active := True;
end;

// ADD IN NORUN SUPPORT -> TURN ON RUN
var
x, y, laps, Nuts, swicol, laps2, laps3, totalxp, stepcol, trecol, barcol, skucol:integer;

procedure prog;
begin
ClearDebug;
if (laps < 1) then
begin
Writeln('This is our first lap!');
end;
if (laps > 1) then
begin
Writeln('We have done ' + IntToStr(laps) + ' laps!');
end;
if (laps = 1) then
begin
Writeln('We have done ' + IntToStr(laps) + ' lap!');
end;
Writeln('Time running: ' + TimeRunning);
Writeln('We have gained: ' + IntToStr(totalxp) + ' xp');
if (laps3 > 14) then
begin
Writeln('We are currently conserving our energy.');
end else
begin
Writeln('And the bass keeps runnin, runnin...');
end;
if (Nuts = 1) then
begin
Writeln('We climbed into the wrong place! Oh No!');
Nuts := 0;
end else
begin
Writeln('We are on track!');
end;
end;
Procedure HumanMove;
Begin
case random(110) of
1..60: MMouse(RandomRange(673 - 1, 673 + 1), RandomRange(115 - 1, 115 + 1), 0, 0);
61..110: MMouse(RandomRange(673 - 2, 673 + 2), RandomRange(115 - 2, 115 + 2), 0, 0);
//111..160: MMouse(RandomRange(673 - 3, 673 + 3), RandomRange(115 - 3, 115 + 3), 0, 0);
//161..200: MMouse(RandomRange(673 - 4, 673 + 4), RandomRange(115 - 4, 115 + 4), 0, 0);
End;
End;
procedure RunOnOff;
begin
if FindColorTolerance( x, y, 6452353, 664, 473, 670, 479, 5) then
begin
Mouse(675, 485, 10, 10, mouse_Left);
Mouse(641, 432, 10, 10, mouse_Left);
Mouse(575, 189, 10, 10, mouse_Left);
end else
begin
Mouse(641, 432, 10, 10, mouse_Left);
Mouse(575, 189, 10, 10, mouse_Left);
end
end;
procedure Down;
begin
if FindObjEx(x, y, ['mb-do','down'], [5145257, 5144999], 30, 10, 138, 28, 426, 163) then
//if FindColorSpiralTolerance(x, y, 5145257, 272, 69, 384, 118, 30) then
Mouse(x, y, 0, 0, mouse_Left)
else
begin
if FindColorSpiralTolerance(x, y, 5806522, 293, 61, 339, 107, 50) then
mouse(x, y, 0, 0, mouse_Left);
end;
if (laps3 > 14) then
begin
wait(randomrange(10300, 10700));
end else
if (Nuts = 1) then
wait(randomrange(12300, 12700))
else
wait(randomrange(9400, 10000));
totalxp := totalxp + 300;
prog;
end;
procedure MonkeyNuts;
begin
if FindColor(x, y, 0, 5, 5, 509, 330) then
begin
if FindColor(x, y, 1392216, 205, 298, 277, 246) then
begin
Nuts := 1;
if FindObjEx(x, y, ['mb-up', 'limb'], [7708590], 10, 1, 5, 5, 509, 330) then
begin
Mouse(x, y, 0, 0, mouse_Left);
wait(randomrange(800, 1200));
Down;
end else
logout;
end else
end else
end;

procedure Stone;
begin
MonkeyNuts;
stepcol := 2118493;
if (laps3 > 14) then
begin
if (laps3 = 15) then
begin
RunOnOff;
end;
if (laps2 = 4) then
begin
laps2 := 0;
laps3 := 0;
RunOnOff;
end;
laps2 := laps2 + 1;
end;
wait(randomrange(600, 1000));
if FindObj(x, y, 'mp-to', stepcol, 1) then
begin
Mouse(x, y, 1, 1, mouse_left);
if (laps3 > 14) then
begin
wait(randomrange(5800, 6100));
end else
begin
wait(randomrange(5600, 6000));
end;
totalxp := totalxp + 30;
prog;
end;
end;

procedure Tree1;
begin
MonkeyNuts;
trecol := 5738426;
//Writeln('Tree');
if FindObj(x, y, 'mb T', trecol, 4) then
begin
Mouse(x, y, 5, 5, mouse_left);
wait(randomrange(3200, 3500));
totalxp := totalxp + 40;
prog;
end;
end;

procedure BarsFail;
begin
MonkeyNuts;
MMouse(344, 68, 0, 0);
HumanMove;
wait(randomrange(2500, 3200));
Stone;
end;

procedure Bars;
begin
MonkeyNuts;
barcol := 6987193;
//Writeln('Bars');
if FindObj(x, y, 'wing', 7119293, 5) then
begin
Mouse(x, y, 0, 0, mouse_left);
wait(randomrange(7000, 7400));
totalxp := totalxp + 40;
prog;
end;
end;

procedure Rope;
begin
MonkeyNuts;
skucol := 3698039;
//Writeln('Rope');
if FindObjEx(x, y, ['mb-up', 'limb'], [3565940, 3830140], 0, 1, 203, 165, 247, 192) then
//if FindColorSpiralTolerance(x, y, 3565940, 209, 141, 245, 176, 100) then
MMouse(x, y, 0, 0)
else
begin
if FindColorSpiralTolerance(x, y, 3830140, 211, 161, 233, 185, 10) then
MMouse(x, y, 0, 0)
end;
wait(randomrange(50, 150));
Mouse(x, y, 0, 0, mouse_Left);
wait(randomrange(200, 400));
wait(randomrange(4000, 5000));
totalxp := totalxp + 60;
prog;
end;

procedure Walk2Tree2;
begin
MonkeyNuts;
HumanMove;
wait(randomrange(50, 150)); //edit out for lite release
ClickMouse2(mouse_Left);
prog;
if (laps3 > 14) then
begin
wait(randomrange(7450, 7600));
end else
wait(randomrange(4600, 5200));

end;

procedure Swing;
begin
MonkeyNuts;
swicol:= 2848370;
//if FindObj(x, y, 'wing', 15417, 5) then
if FindObjEx(x, y, ['wing', 'Swing'], [3113339, 15417], 0, 20, 345, 85, 515, 337) then
Mouse(x, y, 0, 0, mouse_Left)
else
begin
if (laps3 > 14) then
begin
wait(randomrange(4300, 5500));
end else
wait(randomrange(500, 800));
if FindColorTolerance( x, y, 12077, 43, 66, 183, 256, 5) then
Mouse(x, y, 0, 0, mouse_Left);
end;
if (laps3 > 14) then
begin
wait(randomrange(5200, 5500));
end;
wait(randomrange(5000, 5800));
totalxp := totalxp + 100;
prog;
end;

procedure Walk2Start;
begin
MonkeyNuts
prog;
Mouse(580, 115, 5, 5, mouse_left);
if (laps3 > 14) then
begin
wait(randomrange(13100, 13400));
end else
wait(randomrange(7000, 7300));
prog;
end;

begin
DeclarePlayers;
SetupSRL;
ClearDebug;
repeat
Stone;
Tree1;
Bars;
Rope;
Walk2Tree2;
Swing;
Down;
laps := laps+1;
Walk2Start;
laps3 := laps3+1;
//Writeln('That is: ' + 3600/TimeRunning*570);
until(not LoggedIn);
TerminateScript;
end.

Sjoe

2013-03-28 20:04:27

It's a bit basic, no realy advanced functions. Not many failsafes to rely on, when the script gets stuck.
You'll get a detailed explanation from someone else :p

Gotta vote no sorry :)

zer0hax0r

2013-03-28 20:08:39

Aha, alright. :P I'm going to be adding some in soon. But as of right now, didn't really need many as it has ran about 40 minutes just how it is, without failing. Took this snapshot right after it had failed, but actually kept going for another 10 or so minutes. :P (forgot to take a pic)


rj

2013-03-28 20:11:28

I am not allowed to vote but I will add my feedback anyway:

Pros:

I like your Human move procedure that double randomizes mouse clicks
Standards seem to be fairly good
Not a bad start for first application

Cons:
Some things could be randomized a bit more such as wait(randomrange(7000, 7400));
could be wait(randomrange(7000, 8000));
Could use your own custom TPA's http://villavu.com/forum/showthread.php?t=90767 for tutorial
A 'status' would work a little bit better then the writeln you have but what ever floats your boat is fine
Middle:
I like how you make your own procedures for run on or off, but I believe these functions are already built into the OSR include and people want t see you utilize the include very well


Suggestions:
Be a little bit more active! People expect you to be active as a SRL member
Use custom TPA's

zer0hax0r

2013-03-28 20:15:32

From: RJJ95
I am not allowed to vote but I will add my feedback anyway:

Pros:

I like your Human move procedure that double randomizes mouse clicks
Standards seem to be fairly good
Not a bad start for first application

Cons:
Some things could be randomized a bit more such as wait(randomrange(7000, 7400));
could be wait(randomrange(7000, 8000));
Could use your own custom TPA's http://villavu.com/forum/showthread.php?t=90767 for tutorial
A 'status' would work a little bit better then the writeln you have but what ever floats your boat is fine
You never call FindNormalRandoms - this is crucial for solving randoms
Middle:
I like how you make your own procedures for run on or off, but I believe these functions are already built into the OSR include and people want t see you utilize the include very well


Suggestions:
Be a little bit more active! People expect you to be active as a SRL member
Use custom TPA's


Thanks for the suggestions, the reason behind the lack of FindNormalRandoms is because there aren't any randoms on Ape Atol Island, which means having a check for them would be quite pointless :P.

rj

2013-03-28 20:16:26

From: zer0hax0r
Thanks for the suggestions, the reason behind the lack of FindNormalRandoms is because there aren't any randoms on Ape Atol Island, which means having a check for them would be quite pointless :P.


Really? :o never knew that

Justin

2013-03-28 20:21:08

From: RJJ95
Really? :o never knew that

Yep, when in Monkey form you don't get randoms, although I still suggest you do search for randoms as FindMod is called (Will log you out if a Player Mod/Jagex Mod speak)

The Mayor

2013-03-28 20:27:55

You have a lack of activity are unknown around the forums. Yes you have been registered for a number of years but with a lack of activity, how are members meant to judge your attitude and helpfulness around the forums?

Refer to this guide. @ everyone - I think this should be linked when submitting a new application.

You script lacks more advanced functions. Including TPAs and ATPAs are a good start. Also, you do not need a begin and end when only 1 line follows:


if (laps < 1) then
begin
Writeln('This is our first lap!');
end;
Cound be rewritten as:

if (laps < 1) then
Writeln('This is our first lap!');

zer0hax0r

2013-03-28 20:32:36

From: The Mayor
You have a lack of activity are unknown around the forums. Yes you have been registered for a number of years but with a lack of activity, how are members meant to judge your attitude and helpfulness around the forums?

Refer to this guide. @ everyone - I think this should be linked when submitting a new application.


Oh, alright. After just taking a glance at that post, it really should be linked when someone submits a new application. Thanks for this, I'll work on it. :P

Sjoe

2013-03-28 20:33:31

From: zer0hax0r
Oh, alright. After just taking a glance at that post, it really should be linked when someone submits a new application. Thanks for this, I'll work on it. :P


Love your attitude though ;)

Vinyl Scratch

2013-03-28 20:33:33

You're declaring x, and y, globally, which is a big nono in SRL Members. You need a bit more activity, and skill, and you'll get in no problem if you start using failsafes, show tht you want to improve, and are a helpful person around the community.

Good luck on your application!

The Mayor

2013-03-28 20:36:31

From: Sjoekeloe
Love your attitude though ;)



Was just about to say this. Seeing someone with the ability to accept criticism and displaying the willingness to improve is a breath of fresh air, especially after Microsphere's application :).

zer0hax0r

2013-03-28 20:37:33

From: Vinyl Scratch


Good luck on your application!


Thanks(: After seeing the responses, I would rather have this application closed by a moderator simply because I know that I either don't deserve it, or just not a good enough of a scripter yet :P

rj

2013-03-28 20:39:20

From: Vinyl Scratch
You're declaring x, and y, globally, which is a big nono in SRL Members. You need a bit more activity, and skill, and you'll get in no problem if you start using failsafes, show tht you want to improve, and are a helpful person around the community.

Good luck on your application!

I think hes doing that so he can randomize his mouse

Nevermind, zer0hax0r I don't understand your antiban procedure:

Procedure HumanMove;
Begin
case random(110) of
1..60: MMouse(RandomRange(673 - 1, 673 + 1), RandomRange(115 - 1, 115 + 1), 0, 0);
61..110: MMouse(RandomRange(673 - 2, 673 + 2), RandomRange(115 - 2, 115 + 2), 0, 0);
//111..160: MMouse(RandomRange(673 - 3, 673 + 3), RandomRange(115 - 3, 115 + 3), 0, 0);
//161..200: MMouse(RandomRange(673 - 4, 673 + 4), RandomRange(115 - 4, 115 + 4), 0, 0);
End;
End;

If you want it to randomize the offset, then make use of declaring your x and y globally and you can do something like:

Procedure HumanMove;
Begin
case random(200) of
1..160: MMouse(RandomRange(X - 5, X + 5), RandomRange(y - 5, y + 5), 0, 0);
161..190: MMouse(RandomRange(X - 7, X + 7), RandomRange(y - 7, y +7), 0, 0);
191..200: MMouse(RandomRange(X - 10, X + 10), RandomRange(y - 10, y + 10), 0, 0);
End;
End;

Otherwise X and Y should be local

zer0hax0r

2013-03-28 20:53:03

From: RJJ95
I think hes doing that so he can randomize his mouse

Nevermind, zer0hax0r I don't understand your antiban procedure:

I set it to those because I'm in the middle of learning map walking. What that does is it randomly clicks a somewhat certain part of the minimap and then waits until it walks there, then goes to look for the swing rope Obj. It's accurate enough until I implement a real map walking procedure.

Ian

2013-03-28 21:05:54

Good luck on your next app, maybe between now and then you could get your activity up a bit and help people out :)

zer0hax0r

2013-03-28 21:13:14

From: BMWxi
Good luck on your next app, maybe between now and then you could get your activity up a bit and help people out :)


Thanks for the support. :D

Vinyl Scratch

2013-03-29 00:24:56

Disregard. Was being stupid.

tehq

2013-03-29 00:32:03

I am not voting, but I see a great amount of potential in you. Good luck!

Vinyl Scratch

2013-03-29 00:34:34

From: tehq
That is not okay, Vinyl. Every applicant should be allowed to experience the complete period of voting (unless the results blatantly indicate one choice). That is not the case with this membership poll.

P.S. I am not voting, but I see a great amount of potential in you.


My bad. He requested the thread be closed, so I just mentioned Justin here. >.<

Justin

2013-03-29 00:57:40

From: Vinyl Scratch
My bad. He requested the thread be closed, so I just mentioned Justin here. >.<


Will be kept open until the poll has closed. OP has posted a working script. I don't see a need for this to be closed early.

zer0hax0r

2013-03-31 23:33:01

Might not seem like much, considering I don't have any proof. (Forgot to screenie it! :(! ) I got an updated version of the script to run for over 7 hours without a fail! Boosted me about 30 ranks. (I'm in the top 100!) Will be working towards a proper screenie this time.. I havn't been able to over this break as I go to my Grandma's house. She lives out in the country and gets horrible internet speeds :(. Oh well, I've been working hard for this script :P.

EDIT** I apparently made a proggy but forgot about it. Here's a 7 hour proggy for you!


cause

2013-04-03 13:50:11

Voted no, however a stable script is an awesome script. Good job, keep it up; I will look for your next application in a month.

Hobbit

2013-04-20 17:43:03

Didn't make it this time. Take the suggestions given to you above and feel free to reapply in 4 weeks time. :)

Cheers
Hobbit