SRL Archive - Senior Scripts and Snippets

[Simba][Ref] Sorceress's Garden


Narcle

2010-06-01 14:50:55

Currently it only does Summer Garden so you need 65 thieving for it. Right now I can do the Summer Garden maze to get Squirks or Herbs. Also has an option to drop the crappy herbs and can sometimes result in more gp/h.

Its only made for one player (as its members), and right now if you run it watch it. I haven't had time to perfect it yet. I've only ran this couple hours at a time.

Wiki if you don't know what it is:
http://runescape.wikia.com/wiki/Sorceress's_Garden

Yes it is reflection, I don't think I would want to attempt this color only. >.<

Also keep this super private, don't want this getting out. (Was in Dev section now in SSRL section ;) )

Grabbing herbs I've heard you can make 500k+ an hour. Getting sq'irks from tree is ~60k thieving xp an hour. You also get some Farming XP.

nielsie95

2010-06-01 18:05:18

Cool :)

Sir R. M8gic1an

2010-06-06 00:21:02

From: nielsie95
cool :)


+1 :)

~rm

Narcle

2010-06-17 00:55:48

Update & moved to SSRL. ;)

YoHoJo

2010-06-17 01:00:27

Sweet idea, nice xp and money too, smart to keep this SSRL, good effort on making a script, with SIMBA and REFLECTION, go you!

Narcle

2010-06-17 01:04:09

From: YoHoJo
Sweet idea, nice xp and money too, smart to keep this SSRL, good effort on making a script, with SIMBA and REFLECTION, go you!


Thanks, I plan on some more scripts eventually, some which will be SSRL only. ;)

Side note:
You actually see a couple other bots in here, but its funny because mine runs faster. You'll notice that you'll get ahead of the other bots and pass them by a lap or a lap and a half before banking.

HyperSecret

2010-06-17 01:17:12

So this is pretty stable? I will give it a try next week after I am done with 99 wc. Currently 120k from 98.

Narcle

2010-06-17 01:19:57

Ya its stable, I'd watch it tho as there are other bots in the area. Only thing that isn't perfected yet is the walk to/from the bank.

I welcome you guys to Dev it as you see fit. This is staying in SSRL and I think its a good time to try to get another money making script working. :)

lordsaturn

2010-06-17 01:55:05

Each NPC in the client has a specific index. So rather than getting the whole npc array then searching for the one you need, grab the NPC according to it's index in the client.

Edit: Function ValidNPCIndex(Idx: Integer; var NPC: TNPC):boolean;


Also, have you tried one-clicking?

Narcle

2010-06-17 02:15:12

From: lordsaturn
Each NPC in the client has a specific index. So rather than getting the whole npc array then searching for the one you need, grab the NPC according to it's index in the client.

Edit: Function ValidNPCIndex(Idx: Integer; var NPC: TNPC):boolean;


Also, have you tried one-clicking?


No. The index system is not the same as it use to be. I checked. Jagex now moves the NPCs in the array around randomly. The ID is the only thing that stays the same. However I haven't tested ID's in here yet, and I'm worried that if I do test the ID system all the NPC's will have the same ID but are just in different positions in the array. So it just comes back to me using the same system that I have currently.

Yes, I have tried the one-clicking method for a few hours by hand. Its indeed fast however it can take awhile to set it up. Usually took me 15mins before I could run through one clicks like 5 times straight. Its not good for autoing because you run out of energy to fast, also the time it takes to wait for the NPCs to be in the correct places.

lordsaturn

2010-06-17 03:20:12

From: Narcle
No. The index system is not the same as it use to be. I checked. Jagex now moves the NPCs in the array around randomly. The ID is the only thing that stays the same. However I haven't tested ID's in here yet, and I'm worried that if I do test the ID system all the NPC's will have the same ID but are just in different positions in the array. So it just comes back to me using the same system that I have currently.

Yes, I have tried the one-clicking method for a few hours by hand. Its indeed fast however it can take awhile to set it up. Usually took me 15mins before I could run through one clicks like 5 times straight. Its not good for autoing because you run out of energy to fast, also the time it takes to wait for the NPCs to be in the correct places.

Yeah, reading up on it I was thinking something more like

if Can1Click then Doit else dotheother;

Narcle

2010-06-17 03:25:52

From: lordsaturn
Yeah, reading up on it I was thinking something more like

if Can1Click then Doit else dotheother;


Yeah I thought of that as well. It'll be hard to figure out all the required positions for the NPCs.

lordsaturn

2010-06-17 03:28:59

From: Narcle
Yeah I thought of that as well. It'll be hard to figure out all the required positions for the NPCs.


Yes, but it is possible. And once completed, flawless.

Here's a start,

King of Knives

2010-06-19 11:44:58

I downloaded this script to read through it and learn some nifty stuff. On my way through, I stumbled into some code in the "MyOpenBank"-function:
Function MyOpenBank: Boolean;
var
i, H, L: integer;
T: TPoint;
TPA: TPointArray;
ATPA: T2Dpointarray;
begin
Debug('My open bank');
MakeCompass('w');
FindColorsSpiralTolerance(MSCX, MSCY, TPA, 7969203, MSX1, MSY1, MSX2, MSY2, 15);
if Length(TPA) < 1 then
Exit;
ATPA := TPAtoATPAEx(TPA, 200, 44);
SortATPAFrom(ATPA, Point(MSCX, MSCY));
L := High(ATPA);
For i := 0 to H do
begin
T := MiddleTPA(ATPA[i]);
MMouse(T.x, T.y, 1, 1);
if WaitUpText('ooth', 450) then
begin
GetMousePos(T.x, T.y);
Mouse(T.x, T.y, 0, 0, False);
Result := WaitOption('uickl', 2200);
if Result then Exit;
end;
end;
end;

More specifically:
  L := High(ATPA);
For i := 0 to H do
You ask the loop to iterate from 0 to H, which is used/assigned, as far as I can tell, nowhere in the function.

It could be that I simply didn't look deep enough, but I thought I'd share in case I was right :)

-Knives

Nava2

2010-06-19 12:12:31

From: King of Knives
I downloaded this script to read through it and learn some nifty stuff. On my way through, I stumbled into some code in the "MyOpenBank"-function:
Function MyOpenBank: Boolean;
var
i, H, L: integer;
T: TPoint;
TPA: TPointArray;
ATPA: T2Dpointarray;
begin
Debug('My open bank');
MakeCompass('w');
FindColorsSpiralTolerance(MSCX, MSCY, TPA, 7969203, MSX1, MSY1, MSX2, MSY2, 15);
if Length(TPA) < 1 then
Exit;
ATPA := TPAtoATPAEx(TPA, 200, 44);
SortATPAFrom(ATPA, Point(MSCX, MSCY));
L := High(ATPA);
For i := 0 to H do
begin
T := MiddleTPA(ATPA[i]);
MMouse(T.x, T.y, 1, 1);
if WaitUpText('ooth', 450) then
begin
GetMousePos(T.x, T.y);
Mouse(T.x, T.y, 0, 0, False);
Result := WaitOption('uickl', 2200);
if Result then Exit;
end;
end;
end;

More specifically:
  L := High(ATPA);
For i := 0 to H do
You ask the loop to iterate from 0 to H, which is used/assigned, as far as I can tell, nowhere in the function.

It could be that I simply didn't look deep enough, but I thought I'd share in case I was right :)

-Knives


T := MiddleTPA(ATPA[i]);

;)

King of Knives

2010-06-19 12:20:15

From: Nava2
T := MiddleTPA(ATPA[i]);

;)

The problem I can see is that he asks a loop to iterate from 0 to H. And the integer H is never given a value. Am I wrong here?

lordsaturn

2010-06-19 14:35:25

King, you're right. Should be

For i := 0 to L do

King of Knives

2010-06-19 15:19:31

I don't reckon the L-1 is necessary, just L. High(array) = Length(array)-1.
He really just needs to put L where it says H.

HyperSecret

2010-06-19 16:26:28

I should be able to try this out by monday. I have 560k till 99 wc, should get by tomorrow.

I have 76 thieving so it works out. I will be watching it, I always watch or at least have it around me while I auto (for some reason I get errors on all randoms).

lordsaturn

2010-06-19 18:58:26

From: King of Knives
I don't reckon the L-1 is necessary, just L. High(array) = Length(array)-1.
He really just needs to put L where it says H.


Yeah, you're right my bad. I assumed L = Length and not High :p
Edited my last post to prevent confusion on my part

Narcle

2010-06-19 21:28:08

Haha can't believe I did that… Well w/e It'll be fixed for next release (whenever I get back to it). Note tho it's the same function I use in my AK smelter and I actually only look for at the first ATPA ([0]) and works really well.

Only time i've seen it fail is when the walking function doesn't make it all the way into the bank. (has only happened once that I've witnessed)

King of Knives

2010-06-20 07:32:10

It's good to know that I still have a bit of my good old troubleshooting-talent :D
I realized that since you never reported it a problem in the script, the first TPA (ATPA[0]) must be right every time, but it never hurts to make the function perfect when all you gotta do is substitute a letter ;)

-Knives

PS: Sorry for offtopic

Nava2

2010-06-20 10:08:15

From: King of Knives
It's good to know that I still have a bit of my good old troubleshooting-talent :D
I realized that since you never reported it a problem in the script, the first TPA (ATPA[0]) must be right every time, but it never hurts to make the function perfect when all you gotta do is substitute a letter ;)

-Knives

PS: Sorry for offtopic


Its not off-topic!

And you are correct, I missed your point. I thought you meant the i was never used.

Narcle

2010-11-19 15:50:05

Updated this to work with new Reflection.
The Orientation got reversed and I also shortened the code.

Right now there are a TON of other botters here so beware. I'm not sure which script it is but its really popular it seems.

n3ss3s

2010-11-20 22:28:08

From: Narcle
Updated this to work with new Reflection.
The Orientation got reversed and I also shortened the code.

Right now there are a TON of other botters here so beware. I'm not sure which script it is but its really popular it seems.


iBot/neXus, sold on RSBots.net for 15.95$

Markus

2011-01-04 15:53:49

Permission to remake this with Dynamite and release to members (or any other place you want)? Seems it's over-abused now anyways

Narcle

2011-01-04 16:11:00

From: Markus
Permission to remake this with Dynamite and release to members (or any other place you want)? Seems it's over-abused now anyways


Yeah go ahead. We'll stick with members for now I think and those that work on it with you.

Let me know how it goes and if you need any help with my code etc.