SRL Archive - Reflection

Ape Atoll Agility Course Runner


enoyhs

2011-02-26 12:14:24

Ape Atoll Agility Course Runner


Newest version: 0.4 [25-03-2011]


Can you tell me in short what is this script about?
This script runs in circles at Ape Atoll agility course.

Can you be more specific?
This script uses Reflection and Colour Finding to find obstacles and solve them..
It does some stupid things that humans usually do when training agility (Anti-Ban things) (Version 0.3 only)
It eats food (any food) when Your HP is red. (Version 0.2 only)
It keeps your inventory almost full with pineapple rings from pineapple plant near the course. (Version 0.2 only)

What do I need to do to get it running?
Fill in lines with numbers 19. - 22. They are pretty self explanatory.
As for settings, set Manual settings to MIN and that would be all..

Any other info?
Currently I need all possible reports on all errors and mistakes. As my agility level is over 75 I don't fail this course any more, so I'm not sure if recovering from failing obstacles actually work.

Version 0.2 has pineapple picking and slicing (you have to have knife in the first inventory spot).

Version 0.4 doesn't eat or pick-up pineapples, but it solves obstacles faster and better, also it has some nice other features…

Here is one of my reports:

=== APE ATOLL AGILITY COURSE =======
Experience gained: 225,240
XP/H : 38,275
Time running : 5 Hours, 53 Minutes and 5 Seconds
====================================
written by enoyhss

wondersueak

2011-02-26 15:43:37

Thank you!

I am lvl 75 Agility but I still do fail it rarely.

I'll give you a long proggy :)

enoyhs

2011-02-26 16:06:49

@wondersueak OK. Hoping to see that report.

Here is mine (Short one, lost one that run for 2.5 hours).
Status: /~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\
Status: | SRL Randoms Report |
Status: | [url]www.villavu.com[/url] |
Status: |~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
Status: \~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~/

=== APE ATOLL AGILITY COURSE =======
Experience gained: 42,620
XP/H : 36,301
Time running : 1 Hours, 10 Minutes and 26 Seconds
====================================
written by enoyhs

wondersueak

2011-02-26 16:30:43

:)

Bug:

It picks the pineapple, but doesn't slice it. The mouse hovers over it even after the plant grows back. The script becomes unresponsive after it picks the pineapple.

Great job though it is very nice.

It seems to have a little trouble finding the monkey bars. Maybe reduce the wait time between obstacles? It wouldn't be too bot-like. I usually try and click as fast as i can when I'm playing legit. (click the next obstacle as fast as I can not spam-click :P)

Pretty flawless for just being written.

Edit: With 75 agility if the wait times were reduced you would get up to 42k xp/h without lag. 40k xp/h with a little lag.

enoyhs

2011-02-27 01:51:53

From: wondersueak
:)

Bug:

It picks the pineapple, but doesn't slice it. The mouse hovers over it even after the plant grows back. The script becomes unresponsive after it picks the pineapple.

Great job though it is very nice.

It seems to have a little trouble finding the monkey bars. Maybe reduce the wait time between obstacles? It wouldn't be too bot-like. I usually try and click as fast as i can when I'm playing legit. (click the next obstacle as fast as I can not spam-click :P)

Pretty flawless for just being written.

Edit: With 75 agility if the wait times were reduced you would get up to 42k xp/h without lag. 40k xp/h with a little lag.


I'm not sure about that pineapple bug. It shouldn't freeze, because all wait cycles are terminated after a while (1 minute before).

Updated the script now it uses few more fail-safes and I also lowered wait times. Though now it miss-clicks more often..

About monkeybars: Yes, I know there are problems with clicking on right spot. The problem is with the colours, because everything at that spot has very similar colours and it is hard to find the correct one. I added DTM searching for monkeybars as a back up plan.

New version (v0.2) is uploaded in the first post. I'm still looking for every bug and any other ideas.
I will leave script to run for awhile and update this post with progress report after an hour.

wondersueak

2011-02-27 02:55:59

MUCH BETTER!

The mis-clicks kind of act as its own antiban and they aren't drastic. They make the script appear more human.

It still doesn't cut the pineapple, but it picks it and doesn't wait forever next to the plant.

It seems to pick a pineapple after every run. It only needs to do this at the start of the script and whenever the health gets red. Otherwise you will have an inventory full of uncut pineapples. If the script cut the pineapples right after it picked it then it wouldn't be a problem. But if it doesn't cut them, you just have an inventory full of uncut pineapples with no room to cut them.

Much much better. This script is amazing :D.

enoyhs

2011-02-27 03:12:33

Hmm.. I'm not sure why it doesn't cut the pineapple. Do you have setting to MIN?
It cuts for me, maybe someone else can check where the problem is?

By the way, fruit picking works like this: Every time you get down the rope (when you can see pineapple on main screen) and you have less than 20 items in inventory it will pick up a pineapple and cut it.

wondersueak

2011-02-27 03:15:32

Yeah, I have everything on min settings.

What slot did you have your knife in? I have mine in the first slot.

For the sake of a progress report (since 77 i haven't been failing), I deleted that procedure and it works flawlessly. I'll submit a progress report.

enoyhs

2011-02-27 03:23:52

Yes, I have it in first spot.

Can you replace PickPineapple function with this:
function PickPineapple: Boolean;
var
MS: TPoint;
PineappleDTM, PineappleRingDTM: Integer;
ICount: Integer;
begin
Result := False;
if InvCount > 20 then
Exit;

WriteLn('Getting ready to pick up pineapple');

ICount := InvCount;

MS := TileToMS(Tile(2775, 2749), 0);
Result := FindColorSpiralTolerance(MS.X, MS.Y, 2003166,
MS.X - 50, MS.Y - 50,
MS.X + 50, MS.Y + 50,
20);

WriteLn('Trying to find pineapple color: ' + BoolToStr(Result));
if not Result then
Exit;

MMouse(MS.X, MS.Y, 3, 3);
if not WaitUptext('Pick', 100) then
begin
Result := False;
WriteLn('Looking for uptext: ' + BoolToStr(Result));
Exit;
end;
WriteLn('Looking for uptext: ' + BoolToStr(True));

// Picking up pineapple
Mouse(MS.X, MS.Y, 3, 3, True);
FailTimer := GetSystemTime;
while (ICount = InvCount) and (FailTimer + 10000 > GetSystemTime) do
Wait(100);
Result := not (FailTimer + 1000 > GetSystemTime);
WriteLn('Trying to pick up pineapple: ' + BoolToStr(Result));
if not Result then
Exit;


// Finding picked up pineapple in inventory
PineappleDTM := DTMFromString('mQwAAAHicY2ZgYKhkYmCoAeISIGZgZGD4AaS+AfGSbHEG3hh+MEYGjEgYCAD3CQV7');
Result := ExistsItemDTM(PineappleDTM, MS.X, MS.Y);
FreeDTM(PineappleDTM);
WriteLn('Trying to pineapple in inventory: ' + BoolToStr(Result));
if not Result then
Exit;

// Clicking on knife
InvMouse(1, 1);
FailTimer := GetSystemTime;
while (not ItemActivated(1)) and (FailTimer + 2000 > GetSystemTime) do
Wait(100);
Result := ItemActivated(1);
WriteLn('Clicking on the knife: ' + BoolToStr(Result));
if not Result then
Exit;

// Clicking on pineapple
//Mouse(MS.X, MS.Y, 3, 3, True);
WriteLn('Using knife on pineapple in inventory: ' + BoolToStr(Mouse(MS.X, MS.Y, 3, 3, True)));

// Clicking to slice the pineapple
PineappleRingDTM := DTMFromString('mLgAAAHicY2JgYDgGxGeAeA8jA8N2IN45WYphUaM4AwwwQjEDAwCr6AWs');
FailTimer := GetSystemTime;
while (not FindDTM(PineappleRingDTM, MS.X, MS.Y, MCX1, MCY1, MCX2, MCY2)) and (FailTimer + 2000 > GetSystemTime) do
Wait(100);
Result := FindDTM(PineappleRingDTM, MS.X, MS.Y, MCX1, MCY1, MCX2, MCY2);
WriteLn('Choosing the option to slice pineapple: ' + BoolToStr(Result));
FreeDTM(PineappleRingDTM);
if not Result then
Exit;
Mouse(MS.X, MS.Y, 3, 3, True);

end;

And just run this function near the pineapple and then post how far it gets.

wondersueak

2011-02-27 03:32:01

Status: /~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\
Status: | SRL Randoms Report |
Status: | www.villavu.com |
Status: |~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
Status: \~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~/

=== APE ATOLL AGILITY COURSE =======
Experience gained: 12,760
XP/H : 37,758
Time running : 20 Minutes and 16 Seconds
====================================

Without the fuction ^^

[Error] (393:96): Type mismatch at line 392
Compiling failed.

with the function ^^

enoyhs

2011-02-27 03:37:44

Yeah, sorry.. Didn't compile it.

Replace this:

// Clicking on pineapple
//Mouse(MS.X, MS.Y, 3, 3, True);
WriteLn('Using knife on pineapple in inventory: ' + BoolToStr(Mouse(MS.X, MS.Y, 3, 3, True)));

With this:

// Clicking on pineapple
Mouse(MS.X, MS.Y, 3, 3, True);
//WriteLn('Using knife on pineapple in inventory: ' + BoolToStr(Mouse(MS.X, MS.Y, 3, 3, True)));

wondersueak

2011-02-27 03:51:17

Hmm… Still won't cut the pineapple for me. Besides that it is flawless.

I'll try and figure it out.

enoyhs

2011-02-27 06:51:21

OK. So I let it run for a while. Had to pause script few times to fix few things (I think 3 - 4 times). It still has hard time with monkeybars…

Status: /~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\
Status: | SRL Randoms Report |
Status: | [url]www.villavu.com[/url] |
Status: |~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
Status: \~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~/

=== APE ATOLL AGILITY COURSE =======
Experience gained: 200,300
XP/H : 38,461
Time running : 5 Hours, 12 Minutes and 28 Seconds
====================================
written by enoyhs

wondersueak

2011-02-27 14:37:48

Nice proggy.

I don't know, maybe one of my plugins is corrupt again. (Once my iroki plugin completely corrupted itself and I had to delete it and re-install simba)

I'll try re-installing everything and see where that gets me.

Nope it still doesn't cut the pineapples… let me watch the debug box.

Warning! You passed a wrong ys to a finder function: -51. That is below 0, thus out of bounds. Setting the value to 0 for now.

It said that after the 2nd lap after the zip line.

and in the black debug box it says this over and over again every second of the whole time the script is running:

Field not found: Lc

CodaRulz

2011-02-27 21:28:59

Status: /~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\
Status: | SRL Randoms Report |
Status: | www.villavu.com |
Status: |~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
Status: \~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~/

=== APE ATOLL AGILITY COURSE =======
Experience gained: 27,120
XP/H : 32,378
Time running : 50 Minutes and 15 Seconds
====================================
great running script only had to stop it and move my person a few times to get back it line with the script

enoyhs

2011-02-28 00:29:54

@wondersueak Did you try to run the script with updated PickPineapple function?

function PickPineapple: Boolean;
var
MS: TPoint;
PineappleDTM, PineappleRingDTM: Integer;
ICount: Integer;
begin
Result := False;
if InvCount > 20 then
Exit;

WriteLn('Getting ready to pick up pineapple');

ICount := InvCount;

MS := TileToMS(Tile(2775, 2749), 0);
Result := FindColorSpiralTolerance(MS.X, MS.Y, 2003166,
MS.X - 50, MS.Y - 50,
MS.X + 50, MS.Y + 50,
20);

WriteLn('Trying to find pineapple color: ' + BoolToStr(Result));
if not Result then
Exit;

MMouse(MS.X, MS.Y, 3, 3);
if not WaitUptext('Pick', 100) then
begin
Result := False;
WriteLn('Looking for uptext: ' + BoolToStr(Result));
Exit;
end;
WriteLn('Looking for uptext: ' + BoolToStr(True));

// Picking up pineapple
Mouse(MS.X, MS.Y, 3, 3, True);
FailTimer := GetSystemTime;
while (ICount = InvCount) and (FailTimer + 10000 > GetSystemTime) do
Wait(100);
Result := not (FailTimer + 1000 > GetSystemTime);
WriteLn('Trying to pick up pineapple: ' + BoolToStr(Result));
if not Result then
Exit;


// Finding picked up pineapple in inventory
PineappleDTM := DTMFromString('mQwAAAHicY2ZgYKhkYmCoAeISIGZgZGD4AaS+AfGSbHEG3hh+MEYGjEgYCAD3CQV7');
Result := ExistsItemDTM(PineappleDTM, MS.X, MS.Y);
FreeDTM(PineappleDTM);
WriteLn('Trying to pineapple in inventory: ' + BoolToStr(Result));
if not Result then
Exit;

// Clicking on knife
InvMouse(1, 1);
FailTimer := GetSystemTime;
while (not ItemActivated(1)) and (FailTimer + 2000 > GetSystemTime) do
Wait(100);
Result := ItemActivated(1);
WriteLn('Clicking on the knife: ' + BoolToStr(Result));
if not Result then
Exit;

// Clicking on pineapple
WriteLn('Trying to use knife on pineapple in inventory');
Mouse(MS.X, MS.Y, 3, 3, True);

// Clicking to slice the pineapple
PineappleRingDTM := DTMFromString('mLgAAAHicY2JgYDgGxGeAeA8jA8N2IN45WYphUaM4AwwwQjEDAwCr6AWs');
FailTimer := GetSystemTime;
while (not FindDTM(PineappleRingDTM, MS.X, MS.Y, MCX1, MCY1, MCX2, MCY2)) and (FailTimer + 2000 > GetSystemTime) do
Wait(100);
Result := FindDTM(PineappleRingDTM, MS.X, MS.Y, MCX1, MCY1, MCX2, MCY2);
WriteLn('Choosing the option to slice pineapple: ' + BoolToStr(Result));
FreeDTM(PineappleRingDTM);
if not Result then
Exit;
Mouse(MS.X, MS.Y, 3, 3, True);

end;

And about
Field not found: Lc
, I'm not sure if it is my code's fault.. But I will take a look.


@CodaRulz Thanks for the report! At what obstacles did it get stuck / lost? I'm aware that it sometimes has problems with monkeybars and skull slope. Or was it after failed obstacles, if it was I would be very grateful for more information.

wondersueak

2011-02-28 00:42:23

Yeah, I ran it with the new pickpineapple function.

enoyhs

2011-02-28 01:01:42

And what was the output at the pineapple plant? Did it output anything else besides that warning?

grats

2011-02-28 02:10:54

I'll test it out.. I got to do like 2 quests to get the quest to get to this place so I read -.- lazy man

is that pineapple bug still there? (I was reading earlier in the thread)

CodaRulz

2011-02-28 18:07:44

when you fail at the rope (will just keep moving from side to side on the little island) or the monkybars (my guy ran almost to the jail before i seen it)

wondersueak

2011-02-28 21:32:48

None that I can see. And that warning only happened once. It didn't say anything in the debug box either. It just acted as if it wasn't supposed to slice it.

Here's a screenshot. It just picks it and continues on with the course. After every run a pineapple is picked until the max number of pineapples are picked.


Brandon

2011-03-01 23:55:50

Im using it… right now only 73 agility.. I gotta say it seems flawless except that when I failed steppign stones, it ran to the other side of the island and back adn then tried to find tropical tree.. it clicks that.. then tries to find monkey bars.. but the character is still stuck at stepping stones :S

I had to pause it, click stepping stones and the tree and then unpause it and the script found monkey bars on its own..

edit: fell in the water, it did stepping stones this time, tropical tree and monkey bars.. then it said trying to find stepping stones.. next obstacle: stepping stones.. when it should be the rock stairs :S

One more thing at monkey bars.. it tries to find the vertical bars which confuses it and it fails to find the bars.. instead i think if u can change it to find the horizontal long bar then itll be far more successful as the horizontal bar does not blend in with the vertical bars on the floor..

Edit 2:
I use my own dtm from scar.. which seems to be working more often and faster.. it works in simba I guess cuz I havent gotten very many errors and my character finds monkey bars quite a bit more often..

Finds it 97-99% of the time [and 1-3% misclick it]:

'78DA63FCC4C8C06003C44000211918B202F41' +
'9D8A1FCFF40C0C8CA84A1A635C51AAE062CCE0F54638BAA666AA1' +
'13AA9A9B8C84CD798650C30C159B94E788A20600C0E00DE9'



Most accurate so far [finds 99-100% of the time but 10% misclicks..]:

'78DA63FCC1C8C06001C440002119183AD36D1' +
'9D8A1FCFF40C028C60457C384450D58EF034C73BA33ED50D5BC07' +
'B2C451CD995AE884AAE62D90658EAA6642AE03033F921A004A8D0' +
'F16'



Edit 3:

Status: /~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\
Status: | SRL Randoms Report |
Status: | www.villavu.com |
Status: |~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
Status: \~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~/

=== APE ATOLL AGILITY COURSE =======
Experience gained: 206,400
XP/H : 36,131
Time running : 5 Hours, 42 Minutes and 44 Seconds
====================================
written by enoyhs

Mystic

2011-03-04 00:35:52

Just what I needed! Will test now! :D

Emaziz

2011-03-10 15:28:01

Next obstacle: Stepping stone
Next obstacle: Tropical tree
Next obstacle: Monkeybars
Fell down: Monkeybars
Next obstacle: Stepping stone
Uptext not found: Stepping stone
Next obstacle: Stepping stone
Failed to solve obstacle for 20 seconds: Stepping stone
Next obstacle: Stepping stone
Next obstacle: Tropical tree
Next obstacle: Monkeybars
Did not find Monkeybars by color, trying to find with DTM
Did not succeed with finding DTM
Next obstacle: Stepping stone
Uptext not found: Stepping stone
Next obstacle: Stepping stone
Uptext not found: Stepping stone
Next obstacle: Stepping stone
Uptext not found: Stepping stone
Next obstacle: Stepping stone
Uptext not found: Stepping stone
Next obstacle: Stepping stone
Uptext not found: Stepping stone
Next obstacle: Stepping stone
Uptext not found: Stepping stone
Next obstacle: Stepping stone
Uptext not found: Stepping stone
Next obstacle: Stepping stone
Uptext not found: Stepping stone
Next obstacle: Stepping stone

Seems after it reset when it failed to find the monkeybars, but I was in fact up with the monkeybars. :(

newb cheater

2011-03-14 00:59:25

Has a lot of problems with the rope. Somehow, after stones, it could not find the rope.

superduperd

2011-03-16 19:47:27

fell in the water @ stepping stones, then it did the stepping stones, climbed up the tree, now its stuck in the tree trying to find the stepping stones while it should be clicking the monkey bars ^^ Hope you can do something with this info :D

Uberscript for the rest, better xp than wildy :D

Gr, super

edit:

Just found this on my char:

Next obstacle: Stepping stone
Next obstacle: Tropical tree
Next obstacle: Monkeybars
Fell down: Monkeybars
Next obstacle: Stepping stone
Uptext not found: Stepping stone
Next obstacle: Stepping stone
Uptext not found: Stepping stone
Next obstacle: Stepping stone
Not visible: Stepping stone
Next obstacle: Stepping stone
Uptext not found: Stepping stone
Next obstacle: Stepping stone
Uptext not found: Stepping stone
Next obstacle: Stepping stone
Failed to solve obstacle for 20 seconds: Stepping stone
Next obstacle: Stepping stone
Failed to solve obstacle for 20 seconds: Stepping stone
Next obstacle: Stepping stone
Failed to solve obstacle for 20 seconds: Stepping stone
Next obstacle: Stepping stone
Failed to solve obstacle for 20 seconds: Stepping stone
Next obstacle: Stepping stone
Failed to solve obstacle for 20 seconds: Stepping stone
Next obstacle: Stepping stone
Failed to solve obstacle for 20 seconds: Stepping stone
Next obstacle: Stepping stone
Failed to solve obstacle for 20 seconds: Stepping stone
Next obstacle: Stepping stone
Failed to solve obstacle for 20 seconds: Stepping stone
Next obstacle: Stepping stone
Failed to solve obstacle for 20 seconds: Stepping stone
Next obstacle: Stepping stone
Uptext not found: Stepping stone
Next obstacle: Stepping stone
Uptext not found: Stepping stone
Next obstacle: Stepping stone
Failed to solve obstacle for 20 seconds: Stepping stone
Next obstacle: Stepping stone
Uptext not found: Stepping stone
Next obstacle: Stepping stone
Failed to solve obstacle for 20 seconds: Stepping stone
Next obstacle: Stepping stone
Failed to solve obstacle for 20 seconds: Stepping stone
Successfully executed.


So it fell down the monkeybars it says, and then tries to solve the stepping stone. But when i log in, i see my char just before the skull slope ^^ So i dont know exactly why the script thinks i failed it, but it went wrong there.

Is it possible to add an option that the script itself sees where it is? This would solve all the problems i have with the script now :D

Anyway, it worked great for the time that it worked, thumbs up for you

=== APE ATOLL AGILITY COURSE =======
Experience gained: 24,580
XP/H : 36,303
Time running : 40 Minutes and 37 Seconds
====================================

Gr, super

Edit:

ext obstacle: Skull slope
Failed to solve obstacle for 20 seconds: Skull slope
Next obstacle: Skull slope
Failed to solve obstacle for 20 seconds: Skull slope
Next obstacle: Skull slope
Failed to solve obstacle for 20 seconds: Skull slope
Next obstacle: Skull slope
Uptext not found: Skull slope
Successfully executed.

When i logged in it was standing halfway the skull slope, i didnt have to click skull slope though, i could just walk away to the rope.

Gr, super

Edit:
Just seemed to recreate the bug, its when you fail the skull slope, it falls down, then keeps trying skull slope till it succesfully did the skull slope, but then it walks halfway back on the skull slope and just stays there trying to do the skull slope.

Gr, super

Edit:

=== APE ATOLL AGILITY COURSE =======
Experience gained: 62,220
XP/H : 37,008
Time running : 1 Hours, 40 Minutes and 52 Seconds
====================================

Got 75 agility :D 65k for lvl 76 so i wont fail the course anymore so cant give anymore feedback on that :( Great script

Gr, super

enoyhs

2011-03-20 06:58:01

I updated the script to be more successful in finding obstacles and recovering when it fails to click them.

Though as I can't fail obstacles I cannot code them in very good, so unless I get an account with lower than 75 agility, I won't be able to update that part.

For those of you who wish to be able to eat after failing obstacles and pick up fruit, please use version 0.2 or code procedures yourselves and just post it here if you wish..

trojan

2011-03-20 08:35:15

I'm level 55 agility so I fail quite alot, I noticed when the skull slope is failed the script walks up then continuously trys to walk up again even though its at the top, also had quite a few problems for when an obstacle is failed and you float down the river to the beginning, it always try's looking for the wrong obstacle after this :/, nice script though :)

enoyhs

2011-03-20 09:15:29

From: trojan
I'm level 55 agility so I fail quite alot, I noticed when the skull slope is failed the script walks up then continuously trys to walk up again even though its at the top, also had quite a few problems for when an obstacle is failed and you float down the river to the beginning, it always try's looking for the wrong obstacle after this :/, nice script though :)


New version (v0.3) should fix these problems, but I removed fruit eating and picking..
But it is not that hard to add eating and picking from previous version if you wish, you can do it yourself.

Santa

2011-03-20 12:07:36

Thanks I've used version 0.1 can't wait to try out the new one! :D

trojan

2011-03-20 12:41:34

yeahh, thanks mate. Absolutely love 0.3 :D. I added eating just from scratch lol I eat lobsters, wasn't sure if previous one would work for them :) + rep anyways il post a proggy aswell later

Santa

2011-03-20 14:39:57

Wow.. This is amazing! I went from 73-75 in little to no time.
Script runs very smoothly, rarely gets stuck, i'm 40k away from 76 now :).
Agility is one of the most annoying skills to train and I <3 you for making this script.
Rep+

vashanddou

2011-03-20 14:55:44

Alright so the errors are….

-It does not read when I failed the tropical tree it keeps trying to climb
tropical tree instead of do the stone.
-It sometimes fails to read that I passed the monkey bars if I failed previously.
-It sometimes fails to read when I get up the slope if I fail it.
-It did not read I failed to swing across the river, and kept going for rope.
Fails to go up tropical tree, and goes straight for monkey bars sometimes

Brandon

2011-03-20 15:45:20

For checking to see the next obstacle, you can use this.. If the user is within certain boxes(tiles) then Result := Nextobstacle or something.. Else if the user is within certain boxes2, Result := Thisobstacle..


function MeInBox(Bounds: TBox): boolean;
var
tx, ty, x1, y1, x2, y2: integer;
T: TTile;
begin
T := GetMyPos;
x1 := Bounds.X1; y1 := Bounds.Y1;
x2 := Bounds.X2; y2 := Bounds.Y2;
tx := T.X; ty := T.Y;
Result := ((tx >= x1) and (tx <= x2) and (ty <= y1) and (ty >= y2));
end;

And for clicking monkeybars and obstacles, U can use Object ID's and have it click the object rather than tile? Though I dont see any procedures for clicking objects.. Everytime I tried to ask, someone told me do TileToMS(Object.Tile,0); which is stupid..

enoyhs

2011-03-20 16:14:25

Thanks for rep and all responses.

From: vashanddou
Alright so the errors are….

-It does not read when I failed the tropical tree it keeps trying to climb
tropical tree instead of do the stone.
-It sometimes fails to read that I passed the monkey bars if I failed previously.
-It sometimes fails to read when I get up the slope if I fail it.
-It did not read I failed to swing across the river, and kept going for rope.
Fails to go up tropical tree, and goes straight for monkey bars sometimes


As I already mentioned I do not fail obstacles any more, so I removed checking for failure on them (v0.2 did check, but from responses it wasn't really good).
So now my method is this:
It tries to click current obstacle, if it is red-clicked then I assume that obstacle is being solved and wait for it to complete.
Waiting for completion in most cases is just waiting for you to show up at fixed area (End tile if you may) and if it doesn't end up at end tile in 20 seconds (This long, because of the rope slide at the end is taking a while to complete) I assume it didn't succeed so I try once more.
If it fails 2 times to solve the obstacle (miss-click counts as a fail), I call FindNextObstacle function that finds what should next obstacle be, so I can recover from most (if not all) situations. This should happen when you fail obstacle. It should mistakenly try to solve same obstacle twice, but it should recover from this and solve next obstacle.
I call this feature not a bug. If you want to always use FindNextObstacle function (shouldn't be much of a problem) just change the SolveObstacle function a bit, which should be pretty easy.


From: ggzz
For checking to see the next obstacle, you can use this.. If the user is within certain boxes(tiles) then Result := Nextobstacle or something.. Else if the user is within certain boxes2, Result := Thisobstacle..


function MeInBox(Bounds: TBox): boolean;
var
tx, ty, x1, y1, x2, y2: integer;
T: TTile;
begin
T := GetMyPos;
x1 := Bounds.X1; y1 := Bounds.Y1;
x2 := Bounds.X2; y2 := Bounds.Y2;
tx := T.X; ty := T.Y;
Result := ((tx >= x1) and (tx <= x2) and (ty <= y1) and (ty >= y2));
end;

And for clicking monkeybars and obstacles, U can use Object ID's and have it click the object rather than tile? Though I dont see any procedures for clicking objects.. Everytime I tried to ask, someone told me do TileToMS(Object.Tile,0); which is stupid..

Thanks for the input, but there are few reasons why I'm not using these.

MeInBox is good, but it won't work most of the obstacles, because, for example, before first tree and before monkeybars they have the same tiles, area before rope is pretty big so it is not the best to use MeInBox.

About obstacle clicking, I do not click the tile, I use tile as a reference point from which to do FindColorsSpiralTolerance and I click one of the ATPAs (I got this great idea from marpis script, I'm not sure if it is his idea or not).
And the problem why it fails to find monkeybars is the color of monkeybars is very, very similar to the rest of the ground at that area, and clicking area is really small.


Also I'm thinking of adding some sort of autocolor to this script, which may come a bit later.

_ChArMz

2011-03-20 16:25:13

enoyhs, def use the MeInBox(IntToBox(x1, y1, x2, y2)) to determine which obstacle to do next

if the tiles are the same in two places for this course simple use the function GetPlaneIndex, it will return 0-2, depending on which level in Runescape you are on

I will be using this script soon :)

example: (PARAMETERS ARE NOT REAL!)

if (MeInBox(IntToBox(2536, 3547, 2537, 3545)) and (GetPlaneIndex = 2)) then
Result := 'monkey bars';

EDIT: also instead of autocolor, look into CTS 2

search the forums for autocolor aid

enoyhs

2011-03-20 16:40:28

From: _ChArMz
enoyhs, def use the MeInBox(IntToBox(x1, y1, x2, y2)) to determine which obstacle to do next

if the tiles are the same in two places for this course simple use the function GetPlaneIndex, it will return 0-2, depending on which level in Runescape you are on

I will be using this script soon :)

example: (PARAMETERS ARE NOT REAL!)

if (MeInBox(IntToBox(2536, 3547, 2537, 3545)) and (GetPlaneIndex = 2)) then
Result := 'monkey bars';

EDIT: also instead of autocolor, look into CTS 2

search the forums for autocolor aid


Thanks for advice :) I'm here to learn so could you please explain why using MeInBox would be better than what I am doing now?
Current NextObstacle function:
  
function FindNextObstacle: Integer;
var MyPos: TTile;
begin
MyPos := GetMyPos;
Result := STEPPING_STONE; // Anything that doesn't fit in rest of parameters should be near stepping stone
if (PercentBlackMM > 50) then // Only place where minimap is mostly black (also when sliding down the wine, but while sliding down this function shouldn't be working)
Result := MONKEYBARS
else if (DistanceFrom(Obstacles[TROPICAL_TREE_1].ClickTile) <= 2) then // I agree that here I could use MeInBox
Result := TROPICAL_TREE_1
else if (MyPos = Tile(2747, 2741)) then // Before skull slope there is only one tile where you can stand (you cannot walk anywhere from here)
Result := SKULL_SLOPE
else if (DistanceFrom(Obstacles[TROPICAL_TREE_2].ClickTile) <= 3) then // Same as with other tree, I could use MeInBox here
Result := TROPICAL_TREE_2
else if (MyPos.X < 2744) or (MyPos.Y < 2740) then // Area after skull slope is pretty big and isn't rectangular. I think there where function for abstract shapes too, but this is much easier.
Result := ROPE
end;

Also I have read multiple tutorials about CTS and color, still not 100% I get that all, but I'm getting there.

_ChArMz

2011-03-20 16:54:13

  
function FindNextObstacle: Integer;
var MyPos: TTile;
begin
MyPos := GetMyPos;
Result := STEPPING_STONE; // Anything that doesn't fit in rest of parameters should be near stepping stone
if (PercentBlackMM > 50) then // Only place where minimap is mostly black (also when sliding down the wine, but while sliding down this function shouldn't be working)
Result := MONKEYBARS
else if (DistanceFrom(Obstacles[TROPICAL_TREE_1].ClickTile) <= 2) then // I agree that here I could use MeInBox
Result := TROPICAL_TREE_1
else if (MyPos = Tile(2747, 2741)) then // Before skull slope there is only one tile where you can stand (you cannot walk anywhere from here)
Result := SKULL_SLOPE
else if (DistanceFrom(Obstacles[TROPICAL_TREE_2].ClickTile) <= 3) then // Same as with other tree, I could use MeInBox here
Result := TROPICAL_TREE_2
else if (MyPos.X < 2744) or (MyPos.Y < 2740) then // Area after skull slope is pretty big and isn't rectangular. I think there where function for abstract shapes too, but this is much easier.
Result := ROPE
end;

since you are already using reflection no reason to not use GetPlaneIndex(instead of MMBlack), its prob slightly faster?

distance from will work just as good, no problems doing it that way

for the rope area, if you want to use MeInBox, just edit the tiles to be a square, even if that Tile is not a tile you can move to

superduperd

2011-03-24 05:14:33

Hmm nice, the script says 40120xp per hour and its still rising per round ;) 81 agility atm, ill upload proggie later

gr, super

proggie:
=== APE ATOLL AGILITY COURSE =======
Experience gained: 121,620
XP/H : 40,034
Time running : 3 Hours, 2 Minutes and 16 Seconds
====================================

Add a break system and the script is superduper :D

Gr, super

another proggie:
=== APE ATOLL AGILITY COURSE =======
Experience gained: 200,760
XP/H : 41,186
Time running : 4 Hours, 52 Minutes and 28 Seconds
====================================

82 agility ^^ 160k for lvl up

gr, super

Firemaking

2011-03-24 13:15:53

I would love a Gnome Advanced script as well :D
You did a great job on this one though =P

Thanks!:f:

Firemaking

2011-03-24 13:25:14

It´s pretty neet alright =P

enoyhs

2011-03-25 03:55:46

So new version is out (v0.4).
New things:
  • Better AntiBan (now it does human-ish things while you are doing obstacles)
  • Break system added (Fill out constants at the start)
  • Better support for finding obstacles

Looking forward to some responses and reports :)
Also Advanced Gnome Agility coming up later today (hopefully).

superduperd

2011-03-25 06:16:28

From: enoyhs
So new version is out (v0.4).
New things:
  • Better AntiBan (now it does human-ish things while you are doing obstacles)
  • Break system added (Fill out constants at the start)
  • Better support for finding obstacles

Looking forward to some responses and reports :)
Also Advanced Gnome Agility coming up later today (hopefully).


damn your fast. Thanks a lot man. 0.4 ran for 4 rounds now,way more flawlessly than before :D Damn your great man :D

Looking forward to the gnome agility ^^ 83 agility atm :D Did 70-83 with your scripts :D

gr, super

edit:
Maybe an afk antiban? never really saw it afk :P

Edit 2:
the xp counters are broken. The first one says my total agility xp, not the xp i got during runtime (like it did before). The second counter says my xp/hour is 1733858. That would be ubernice, but i think i still only get like 40k per hour :p

edit 3:
since the update the command prompt keeps saying:
Field not found: t
field not found: l
field not found: o
field not found: i
field not found: H

Does it have to do with the update and will it be fixed automatically or is the script broken?

Edit 4: havent tried ape atoll yet, but i had same problem with gnome advanced too, but that one works right now so i presume this one will work too ;)

Gr, super

grats

2011-04-05 06:54:38


works great, still going

using the break so the exp is slightly low because it breaked for a bit.

maybe add the eating pineapples if agility is lower than 75, the hunting script for kebbits uses something to see what level hunting the person is then goes for different types of kebbits.. you could probably do that easy for eating pineapples


[banana]
=== APE ATOLL AGILITY COURSE 0.4 ~ By enoyhs =======
Experience gained: 97,840
XP/H : 29,069
Time running : 3 Hours, 21 Minutes and 56 Seconds[/banana]



[banana] Experience gained: 83,100
XP/H : 37,652
Time running : 2 Hours, 12 Minutes and 25 Seconds[/banana]

CodaRulz

2011-04-16 17:55:48

=== APE ATOLL AGILITY COURSE =======
Experience gained: 74,340
XP/H : 36,848
Time running : 2 Hours, 1 Minutes and 3 Seconds
====================================

halo23

2011-04-19 21:34:37

wont find rope to save its life =(. anything i can do to fix?

grats

2011-04-27 22:24:09

[banana]=== APE ATOLL AGILITY COURSE 0.4 ~ By enoyhs =======
Experience gained: 252,980
XP/H : 34,691
Time running : 7 Hours, 17 Minutes and 32 Seconds[/banana]

Flight

2011-05-03 03:38:13

=== APE ATOLL AGILITY COURSE 0.4 ~ By enoyhs =======
Experience gained: 196,900
XP/H : 33,807
Time running : 5 Hours, 49 Minutes and 27 Seconds
====================================

Great script man, I've been running this for a few days now and it's worked wonderful. You notice the XP/H is a bit low for someone who doesn't fail this course, that's because I took out your break system and used Echo_'s, and I also made the breaks more realistic time-wise. I'll use this to 85 and then use your Advanced Gnome course runner. Have you made an Advanced Barbarian course runner yet?

enoyhs

2011-05-03 10:29:55

From: Flight
=== APE ATOLL AGILITY COURSE 0.4 ~ By enoyhs =======
Experience gained: 196,900
XP/H : 33,807
Time running : 5 Hours, 49 Minutes and 27 Seconds
====================================

Great script man, I've been running this for a few days now and it's worked wonderful. You notice the XP/H is a bit low for someone who doesn't fail this course, that's because I took out your break system and used Echo_'s, and I also made the breaks more realistic time-wise. I'll use this to 85 and then use your Advanced Gnome course runner. Have you made an Advanced Barbarian course runner yet?


Nice :) Mind posting the updated version? I'm thinking of updating this script sometime in near (probably) future, and I would be happy to use (with proper credit) your adjustments.

I have Advanced Barbarian (not released), but it is very buggy. And as XP rate is close to Advanced Gnome, I'm not really interested in developing it. I can send code in private if anyone wants to work on it.

Flight

2011-05-03 20:45:46

Well I didn't change a whole lot in the script because like I said it's very stable already, I just wasn't liking the extremely short breaks and what not…

All I did was remove yours and put in Echo_'s set with my default break settings I use in all of my scripts. This also removed the "time until next break" being printed on Smart, but I'd imagine that wouldn't take too much effort to adjust and re-implant. If you'd still like my modified script let me know and I'll attach it somewhere for ya. :)

Also if I might make a suggestion, putting in SRL Stats?

grats

2011-05-04 19:02:59

[banana]=== APE ATOLL AGILITY COURSE 0.4 ~ By enoyhs =======
Experience gained: 554,760
XP/H : 33,886
Time running : 16 Hours, 22 Minutes and 16 Seconds[/banana]

with breaks

Awkwardsaw

2011-05-07 17:51:00

=== APE ATOLL AGILITY COURSE 0.4 ~ By enoyhs =======
Experience gained: 273,000
XP/H : 35,147
Time running : 7 Hours, 46 Minutes and 2 Seconds
====================================

it stopped when my internet restarted :\

Spelletje

2011-05-08 04:48:35

the one that eats keeps failing when ever I have fallen.

Can you add an eat to the 4 version, no picking or slicing or what ever just eat the food that is in inventory when ever you drop below 50% or so

Awkwardsaw

2011-05-08 11:24:25

=== APE ATOLL AGILITY COURSE 0.4 ~ By enoyhs =======
Experience gained: 462,260
XP/H : 38,802
Time running : 11 Hours, 54 Minutes and 47 Seconds
====================================

stopped manually, i <3 this script :)

enoyhs

2011-05-08 14:55:34

Thanks for all the reports :) I'm glad I could help.
My brother is training agility now (just got 48), so I will be revisiting this script :)

I will add some healing and add some more features I have learned along the way.
I hope to do this within next 2 weeks or so..

kylerperson

2011-05-08 20:03:34

Hey, i have been using this script and actually took one of the eating functions from your other script and implemented it into this one and i found it worked very well if you would like to see it? Not that you wouldnt be able to do it yourself

any_one

2011-05-12 08:21:57

=== APE ATOLL AGILITY COURSE 0.4 ~ By enoyhs =======
Experience gained: 465,280
XP/H : 37,588
Time running : 12 Hours, 22 Minutes and 42 Seconds
====================================

Next obstacle: Rope
Successfully executed.

Stopped manually, was working fine. For some reason I didn't get a random in monkey form, but as soon as I unequipped the greegree to go somewhere else I did :)

Awkwardsaw

2011-05-12 09:08:32

From: any_one
=== APE ATOLL AGILITY COURSE 0.4 ~ By enoyhs =======
Experience gained: 465,280
XP/H : 37,588
Time running : 12 Hours, 22 Minutes and 42 Seconds
====================================

Next obstacle: Rope
Successfully executed.

Stopped manually, was working fine. For some reason I didn't get a random in monkey form, but as soon as I unequipped the greegree to go somewhere else I did :)


you cant get randoms when your a monkey.. ;)

Deadhead1993

2011-05-16 22:01:31

=== APE ATOLL AGILITY COURSE 0.4 ~ By enoyhs =======
Experience gained: 577,100
XP/H : 40,848
Time running : 14 Hours, 7 Minutes and 40 Seconds
====================================

Uzu

2011-05-17 07:09:08

Edit: nevermind

Runescape Pro

2011-05-20 02:06:36

Testing it now. ;)

Spelletje

2011-05-20 04:11:33

From: kylerperson
Hey, i have been using this script and actually took one of the eating functions from your other script and implemented it into this one and i found it worked very well if you would like to see it? Not that you wouldnt be able to do it yourself


Would like that adjustment you made.

Nava2

2011-05-24 18:28:55

I'm getting 60k xp/h right now. This script runs nicely. I would love to see a bit more antiban, and I added food eating (a very general version) to the script. Its not so great.. :P

I'll post up a proggy after work. :)

IBanana

2011-05-27 08:32:36

The script worked great last night, now I'm getting field errors. Smart has me logged in ingame, but he isn't moving at all.

Anyone know how to fix this?



Edit: Field not found:

EDIT2: Reloaded rs in my browser after update, still get the same error

Nava2

2011-05-27 13:15:07

From: IBanana
The script worked great last night, now I'm getting field errors. Smart has me logged in ingame, but he isn't moving at all.

Anyone know how to fix this?



Edit: Field not found:

EDIT2: Reloaded rs in my browser after update, still get the same error


Hooks were out, they should be good now.

IBanana

2011-05-28 08:39:25

From: Nava2
I'm getting 60k xp/h right now. This script runs nicely. I would love to see a bit more antiban, and I added food eating (a very general version) to the script. Its not so great.. :P

I'll post up a proggy after work. :)




How are you getting 60k xp/h when everyone else is averaging ~41k ?

Nava2

2011-05-28 15:48:54

From: IBanana
How are you getting 60k xp/h when everyone else is averaging ~41k ?


Penance Horn! :D

Cravings

2011-05-28 18:49:41

Prefer using 0.4 over 0.2 because of breaks + I don't fail anymore (84 Agility from 72.. Ilu <3).

However, 0.4 cannot find the rope anymore for some reason.

I am pretty sure the script would move the screen to a birds eye view of the player before running the course. I do know that 0.2 definitely does this. So that may be where the problem lies?

Not a scripter/coder w/e, so I am completley baffled by this :I

Nava2

2011-06-01 03:33:46

=== APE ATOLL AGILITY COURSE 0.4 ~ By enoyhs =======
Experience gained: 52,560
XP/H : 76,813
Time running : 41 Minutes and 3 Seconds
====================================

Nava2

2011-06-04 05:43:43

=== APE ATOLL AGILITY COURSE 0.4 ~ By enoyhs =======
Experience gained: 161,348
XP/H : 39,675
Time running : 4 Hours, 4 Minutes and 0 Seconds
====================================

Flight

2011-06-04 06:32:55

From: Nava2
=== APE ATOLL AGILITY COURSE 0.4 ~ By enoyhs =======
Experience gained: 52,560
XP/H : 76,813
Time running : 41 Minutes and 3 Seconds
====================================


76k/hour? Must have been using a Penance Horn, yes? Imagine all the Agility capes if it was always that much per hour.

Nava2

2011-06-04 06:59:57

From: Flight
76k/hour? Must have been using a Penance Horn, yes? Imagine all the Agility capes if it was always that much per hour.


Yup, I love Barb Assault. :)

My horn ran out though during that 4h run.. pretty much right at the start haha.

bgxsaer

2011-07-09 13:59:55

Is this script still functioning?

Yago

2011-07-09 19:02:41

From: bgxsaer
Is this script still functioning?


Test it and if not then report it…

bgxsaer

2011-07-09 21:28:10

I tried using version 0.2.
When it failed obstacles it pretty much got lost and had no clue what to do.

espy

2011-07-10 14:15:19

=== APE ATOLL AGILITY COURSE 0.4 ~ By enoyhs =======
Experience gained: 458,360
XP/H : 39,415
Time running : 11 Hours, 37 Minutes and 44 Seconds
====================================

Agility training from 74 - 77

bgxsaer

2011-07-10 18:56:23

From: espy
=== APE ATOLL AGILITY COURSE 0.4 ~ By enoyhs =======
Experience gained: 458,360
XP/H : 39,415
Time running : 11 Hours, 37 Minutes and 44 Seconds
====================================

Agility training from 74 - 77


That's so awesome!
I wish i could use the script, but it really only works if you don't fail obstacles.

PotentPK

2011-07-13 05:20:32

Next obstacle: Rope
Not visible: Rope

Having trouble finding the rope…

Keeps repeating itself…

espy

2011-07-14 10:44:52

From: bgxsaer
That's so awesome!
I wish i could use the script, but it really only works if you don't fail obstacles.


Actually no, it works fine even with failing. I got from 60 - 75 with fails. It sometimes runs over the water and there are pauses, but it works.

wantonman

2011-08-02 02:38:55

kudos, your a pro scrypter

im lucky i came back and i had only 4 life left from falling and i have a full invetory of food so i ate it and resumed =))

x[Warrior]x3500

2011-08-02 03:38:11

From: wantonman
im lucky i came back and i had only 4 life left from falling and i have a full invetory of food so i ate it and resumed =))


this script doesnt have a eating feature, but u can easily add one. either download the wilderness agility script (by the same writer) and copy paste the heal function to this script (then call it in the main loop accordingly), or write your own :)

wantonman

2011-08-03 01:02:58

I did and thanks for that advice. Now I have a better understanding of scripting and also I can Heal. =0 :eek:

mika

2011-09-02 17:44:15

please help me i need an agility script but none work how can i make this one work? it says next obstacle lets say monkey bars but makes no effort to find them.

Mr. Bottomtooth

2011-09-04 17:25:55

From: mika
please help me i need an agility script but none work how can i make this one work? it says next obstacle lets say monkey bars but makes no effort to find them.


Flight's Agile Ape (Ape Atoll Agility) script works fine and is up to date so if it's an Ape Atoll script you are looking for that's your best bet at the moment.

Other Agi scripts are outdated as far as I'm aware of.

whatev

2011-09-04 19:06:18

Great script, very fast. Broke 59 minutes in, script got lost at the end of the course.

mika

2011-09-07 21:31:48

=-=-=-=-=-=-= Agile Ape 1.05 by Flight =-=-=-=-=-=
Time Running: 4 Hours, 17 Minutes and 8 Seconds
Agility XP: 145180
Laps: 251
Breaks: 1
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

it works even if u fail

d34th20n

2011-11-06 04:47:16

update to colour would be nice