SRL Archive - RS3 Outdated / Broken Scripts

Gnome Agility Runner


Baked0420

2008-12-14 20:20:03

SCRIPT STATUS: OFFLINE
LAST UPDATE: 12/14/08 8:20 P.M. (East Coast of U.S.)
VERSION: 1.0

Hey everyone, I finally am releasing my agility runner, as there is no working one for Junior Members and anyone can use it no matter their agility level. Right now it is not multiplayer and does not sleep, but that should be included in a recent update if this gets used and I get feedback. Please post proggy reports, and let me know what obstacle it stopped on for me to improve it.


Includes:

-run
-random solving
-randomness
-progress report (experience gained)


Future Updates:

-Multiplayer
-Sleep
-SRL Stats
-and more

—————————————————-

Haven't had much time to update this recently, hopefully soon I can get this updated to work better, for now if you want you can try using it and just tell me what needs improvements. I will probably start working on this in around a week. So check back later to see if it's updated and working :).

senrath

2008-12-14 20:36:43

Okay, a couple things. First, this part isn't allowed:
if(SRLStatsID='') or (SRLStatsPass='') then
begin
writeln('You either didn''t enter a SRL Stats ID or Pass, if you have one please enter it.');
writeln('If you don''t have SRL Stats ID then please go to srl-forums stats and register for one.');
TerminateScript;
end;

You're not allowed to TerminateScript if they don't have SRL stats.

Second, HowManyLaps is completely unneeded. Just make a note next to Integers[0] about what it is used for, and have it declared on that line.

I'd give more feedback, but I don't actually have a P2P account right now.

Baked0420

2008-12-14 20:41:23

ok sorry I didn't know that, I'll fix it so it doesn't terminate script, and howmanylaps is just to make it easier for newer people.

x_²

2008-12-15 18:47:02

From: Baked0420
ok sorry I didn't know that, I'll fix it so it doesn't terminate script, and howmanylaps is just to make it easier for newer people.


you cant?
ive used a few scripts that did things like that on here hmm

oh an this came out at a good time i have an acc i wanna to horror from the deep :D

ok so it made it a lap but it only uses colors so it has a hard time finding things
is also tried to go back through the pipe when looking for the log

ok so i tweeked the colors an it works better but on the rope it will find people an then click
walk here

and on the 2nd net i used the frame color

an it will get hungup on the pipe if theres some 1 in it

also theres no fail-safe

Baked0420

2008-12-19 15:41:42

oh I tried making a failsafe for if someone's in there, I tried using FindBlackChatMessage, with the one you'd get if someone is in it, then wait a certain amount of time and click again and keep waiting and clicking until it finds that you went through, and I never saw it click on the gnome, but I'll try to fix some of these things you've told me, thanks for the feedback. I'll update it as soon as I get a chance with fixes.

0wn 4 skill

2008-12-19 17:46:21

I think this is an EXCELLENT start! Is this your 1st Script?
Btw, do you want me to add sleep?

Baked0420

2008-12-19 18:28:39

haha no, this isn't my first script. I feel insulted, just because your a member and I'm junior >=(… haha just messing :p. But no I've made a decent amout of scripts I'd say. If you wanna add sleeping go ahead, but I could add it on my own. Those three things that I want to add that are in my first post, I have in other scripts already (besides sleep), so I know how to put it in and I know how to add sleep but I just wanted to get this out here already to get any suggestions and bugs. In the next update I'll try to have sleep and better obstacle finding. And back to an earlier post, sorry bout the rope, it's a little hard to find because it's like one pixel big when it's straight, sometimes two pixels if the rope is diagonal, it'd be two pixels at parts where it goes up or down a pixel for the diagonal.

EDIT: Own 4 skill, you're a member, you should be a good scripter, how do you think I should go about finding the rope, I tried a TPA, and it worked for me when I tested, I got two laps done with the TPA then manually stopped it, but for others it seems like it's not working as well. What's better then a TPA that I can use to find it?

0wn 4 skill

2008-12-19 18:35:27

Ok, well I didnt fancy trawling through all your posts to find out! :p

How many agility levels have you gained using it then? I have a new pure and this could be useful but I need it to run quite a while :p

Baked0420

2008-12-19 18:48:41

it's ok I was just kidding about being insulted, I don't expect everyone on here to know the exact amount of scripts I've shared, I don't even know haha.

But I told you, I just released it quickly to find out about bugs, as soon as I got it to do two laps I posted it so see what people thought and to see if it would be used, now I know it will be used so I'll keep updating it but from X_² has posted it doesn't seem like it'll even last an hour. I'll try to get over to the course tonight and do some fixing, if not tonight I'll definitely do it tomorrow because I don't have anything to do tomorrow except sit home. So I'll probably have an update within a few days, hopefully letting it run for at least 3+ hours minimum per character. (I don't know if multiplayer is really needed, I don't know how many people have more than one account with membership, but I'll add it anyway.)

0wn 4 skill

2008-12-20 04:41:25

If I were you, I would add multiplayer anyway. This is because you may want to apply for SRL membership with it later on :)
Is the tightrope where the problem is?

Procedure WalkRope;
begin
if(not(LoggedIn)) then Exit;
AntiRandom;
Text:=['Walk-on', 'alk-on', 'on', 'Balancing rope', 'alancing rope', 'alancing', 'ope'];
Energy:=GetMMLevels('run', runcolor);
if(Energy > 65 + random(10)) then SetRun(True);
if(Energy < 20 + random(10)) then SetRun(False);
SetAngle(True);
MakeCompass('S');
repeat
tries:=tries+1
x:=MSCX
y:=MSCY
FindColorsSpiralTolerance(x, y, Rope, 5865373, MSX1, MSY1, MSX2, MSY2, 10);
if(Length(Rope) = 0) then FindColorsSpiralTolerance(x, y, Rope, 6392747, MSX1, MSY1, MSX2, MSY2, 10);
for i := 0 to high(Rope) do
begin
MyPoint := Rope[i]
MMouse(MyPoint.x, MyPoint.y-1, 0, 0);
wait(200 + random(100));
if (IsUpTextMultiCustom(Text)) then
begin
GetMousePos(x, y);
Mouse(x, y, 0, 0, False);
wait(200 + random(150));
ChooseOptionMulti(Text);
Wait(1000+random(250));
Exit;
end;
end;
Until(tries=10) or (FindBlackChatMessage('carefully cross'))
end;

Here you add 1 to tries everytime you go over the rope without zeroing it. Therefore it will get to the rope and just top. Try adding this before the Repeat loop…

Tries:=0;

I think this is done in other parts too… But I have no time to check. Thanx

Baked0420

2008-12-20 11:25:08

yea maybe I should use this to apply with membership but like you said, later on, definitely not now, it doesn't have the best obstacle finding, I used FindObj or FindObjEx for almost them all except the rope I used TPA's because it was to unrelieable to use FindObj on it, but I need to use better functions and other things before I try applying, but one thing I like anout my script is it turns on run if it has a certain amount of energy, most scripts I see don't have that, actually I never saw a script yet use GetMMLevels('run'….) so I think that's good to have in there for application. And I'm pretty sure I do have Tries:= Tries + 1 in other parts of the scripts, but I'll add it to the rope part also if it isn't in there, I thought I would've had it in the rope's procedure also though but maybe not I might have forgotten.

Thanks for all the suggestions. :)

x_²

2008-12-20 21:42:33

dont get me wrong its a good start
but it has many flaws
and yes the rope is way to small to find theirs not much you can do about it
but with a bit of work this could be a good script to train with

0wn 4 skill

2008-12-22 07:33:56

You could make it look for the rope with checking that there is black above and below where it is if that makes any sense? Making now…

Edit: 10 Mins later…

Ha ha, ive done it! It works all the time from what I have tested… :) Also a sleep function here too…

{*******************************************************************************
Procedure FindRope(var x,y: Integer);
By: 0wn 4 Skill
Description: Moves mouse to the rope. Finds color of rope and moves mouse to it
if the black color surrounding it is present.
*******************************************************************************}

Function FindRope(var x,y: Integer): Boolean;
Var
RopeP: TPointArray;
TP: Tpoint;
Rope: T2DPointArray;
I, Times: Integer;
Begin

Times:=0;

If Not LoggedIn then Exit;

Case Random(2) of
0: MakeCompass('N');
1: MakeCompass('S');
end;

SetAngle(True);

ColorToleranceSpeed(2);
FindColorsSpiralTolerance(MSCX, MSCY, RopeP, 4547193, MSX1, MSY1, MSX2, MSY2, 10);
Rope:= TPAtoATPAEx(RopeP, 10, 10);
for i := 0 to Length(Rope)-1 do

begin
TP := MiddleTPA(Rope[i]);
If (GetColor(TP.x, TP.y - 5) = 0) and (GetColor(TP.x, TP.y + 5) = 0) then
Begin
MMouse (TP.x, TP.y, 3, 3);
Inc(Times);
Wait(200+Random(100));
If IsUpText('Walk-on') then
begin
GetMousePos(x, y);
Result:= True;
Writeln('Rope found at X: '+inttostr(x)+' Y: '+inttostr(y));
ColorToleranceSpeed(1);
Exit;
end;
If Times = 8 then
Begin
Writeln('Not Found Rope, Exiting');
Exit;
end;

Wait(800+random(500));
end;
end;
end;

{*******************************************************************************
Procedure Sleepy(SleepForHowLong, MinMS, MaxMS : Integer);
By: 0wn 4 Skill
Description: Sleeps if called in scipt adds a random 30 to 90 seconds.
*******************************************************************************}

Procedure Sleepy(SleepForHowLong, MinMS, MaxMS : Integer);
Begin
If Not LoggedIn then Exit;
Begin
Logout;
Status('Sleeping...');
Sleep(SleepForHowLong*60000+RandomRange(MinMS,MaxMS));
Status('Finished Sleeping...');
LoginPlayer;
end;
end;

Usage of the FindRope(x,y);

If FindRope(x,y) then Mouse(x, y, 0, 0, true);//Dont randomise the Mouse part because its already done that when it finds the rope. 

Usage of Sleepy(SleepForHowLong);

Sleepy(8, 30000, 90000);//This will sleep for 8 minutes and will add a random 30 seconds to 90 seconds.

Hope I helped! Any questions about the functions please post back!

sparkles

2008-12-23 23:17:50

I've tested it and found the following:-

1. it needs more failsafes. sometimes, it doesn't find the current obstacle and just carry on trying the next obstacle, which obviously will never be found.

2. fails most at:- rope (improved after I added in the findrope function for failsafe), 2nd net, pipe (doesn't detect when it's in use)

hope this is helpful and thanks for making the script :)

0wn 4 skill

2008-12-24 04:30:22

sparkles, please can you paste the script your using and which bits you edited?

Baked0420

2008-12-27 13:17:49

I'll try to make rope better and I'll add more failsafes and now with SMART fully functioning I'll also release a SMART Version. Sorry for it taking a while I been a little busy, but I will update this so it works more smoothly.

EDIT: Sorry own, I been a little busy I'll try to update it more and make a new release.

0wn 4 skill

2008-12-27 16:58:29

No worries m8! Check it out again cuz i edited to make it better!

Baked0420

2008-12-27 17:32:40

if I put the rope function in there, I should put, created by me edited by you or just give you all credits? either one I don't mind, because I don't know how much you edited.

0wn 4 skill

2008-12-27 19:33:43

I actually did not look at your function at all :S But I dont mind. The function works 10/10 for me and thats all that matters I suppose! :)

Tell me if it works m8.

Baked0420

2008-12-27 19:47:59

I'll try it out, and if I decide to use it I'll give all credit for that procedure to you. ;)

but I can easily make a sleep procedure, but thanks for putting it up, I might take a look at it just for maybe added ideas.

EDIT:What's TPAtoATPA do?

0wn 4 skill

2008-12-27 19:49:33

I made a really complicated sleep procedure for you but I cba to test it so I didn't put up :p

Baked0420

2008-12-27 19:58:30

oh thanks, if you give me it since you made it just for me I'll use it and what's cba? but if you want I'll test it for you.

0wn 4 skill

2008-12-27 20:05:45

{*******************************************************************************
Procedure Sleepy(SleepForHowLong, MinMS, MaxMS : Integer);
By: 0wn 4 Skill
Description: Sleeps if called in scipt. This is for Antiban.

SleepForHowLong: How many minutes to sleep. Minutes
MinMS: Lowest amount of time to add. Miliseconds
MaxMS: Highest amount of time to add. Miliseconds

Useage: Sleepy(1, 30000, 90000);
*******************************************************************************}

Procedure Sleepy(SleepForHowLong, MinMS, MaxMS : Integer);
Var
Start, Stop, Mins, Secs: Integer;
Begin
If Not LoggedIn then Exit;
Begin
Logout;
MarkTime(Start);

Status('Sleeping...');
Sleep(SleepForHowLong*60000+RandomRange(MinMS,MaxMS));
Status('Finished Sleeping...');

Stop := TimeFromMark(Start);

Mins := Stop/60000;
Secs := Stop/1000;

Writeln('Slept for '+inttostr(Mins)+' mins '+inttostr(Secs)+' seconds');

LoginPlayer;
end;
end;

I have misplaced the complicated one but I found this one which tells you how long you have slept. All Sorts can be added really but its just sleep at the end of the day :p

You can also add this to your proggy which is useful to see how much exp gain there is!

CBA := Cant be arsed.

AH Crap lol.

Kris7848

2009-01-08 21:38:40

Cant wait to try this beast out!

Hopefully it is still up to date ^^

Thank's for making the script.

Kris.

Kris7848

2009-01-09 01:50:24

Dosent work for me :(

Baked0420

2009-01-10 08:56:36

yea I haven't worked on this in a while, I been a little busy with school and and junior member competition, after the competition, I'll come right back to this script, I should have this updated in like a week or two.

What didn't work for you Kris, where did it stop working, or what error did you get? and don't double post, just use the edit button.

Own, I made sleep procedures before and it was almost the same as yours, except I put how long to sleep, and randomness under constants, so I'll probably combine the both of our ways to sleep into one, hopefully better, sleep procedure. I'll credit you for using parts of yours ;).

Hopefully when I update this script it won't take long so people can start using this. Sorry bout not getting to update it lately.

zerocool

2009-04-22 20:31:37

Line 46: [Error] (16803:1): Unknown identifier 'SolveChatRandom' in script C:\Users\xx\Downloads\Scar Scripts\GnomeCourse.scar


another that doesnt work!!

Floor66

2009-04-22 20:46:47

It's not the script! It's probably your SCAR version (you should get 3.15b until scripts are up-to-date with 3.20) or your includes!