SRL Archive - Help

It's all been done!


stuartroad

2012-08-21 06:42:49

Hi! I've been having free time lately because I am very sick, and I am trying to get back into scripting. But strolling around, looking for something to make and well… Pretty much everything has been done! So what should I do?!?! Somebody wanna point me in the right direction? And yes I have looked in the script request section, I don't feel any of them are worth it or within my skill.

riwu

2012-08-21 06:57:29

Slayer/DG aside, there are still several minigames, like temple trekking, stealing creation, BA etc that has never been made.

Flight

2012-08-21 07:03:13

I'd like to see a Rimmington iron anything miner and depositing via the deposit box in Port Sarim. I'd use that. :)

stuartroad

2012-08-21 07:05:17

From: riwu
Slayer/DG aside, there are still several minigames, like temple trekking, stealing creation, BA etc that has never been made.


Ok those are way out of my skill range. Sorry :D

From: Flight
I'd like to see a Rimmington iron anything miner and depositing via the deposit box in Port Sarim. I'd use that. :)


That sounds perfect, I will get to work right away. Thanks.

P1ng

2012-08-21 07:06:44

Everytime someone asks what script should they make I am going to say 'Cow killer and hide looter' until somebody actually makes it :P

DeiJaiVui

2012-08-21 07:17:47

Swamp Toad Gatherer (;

stuartroad

2012-08-21 07:25:52

From: P1ng
Everytime someone asks what script should they make I am going to say 'Cow killer and hide looter' until somebody actually makes it :P


God, there is so many other f2p bots there, you have no chance unless server just went down, so I am not even going there.

From: DeiJaiVui
Swamp Toad Gatherer (;


Don't have a spare p2p account sorry. I did half make one a while ago, I will dig it up and give it another go when I feel like not botting on my main.

John

2012-08-21 07:27:23

From: Flight
I'd like to see a Rimmington iron anything miner and depositing via the deposit box in Port Sarim. I'd use that. :)


I was gonna make one for private use :P

Flight

2012-08-21 07:42:11

From: stuartroad
That sounds perfect, I will get to work right away. Thanks.


I suggested this because my F2P account now has roughly 20,000 Salmon and 22,000 Trout with 86 Fishing; I want him to do some mining for a bit.

I started to make this script but SPS was giving me quite inaccurate results, even with using two maps, one taking from the 100% zoom of the RS map and a custom one I pieced together.

Here's a proto-type of a rock-finder. This was take from my F-Miner project that I never completed.


Function FindRocks: TPointArray;
var
B: TBox;
ATPA: T2DPointArray;
i,CTS,r,o: Integer;
TPA,PAr,TempRes: TPointArray;
begin
Result := [];
if not LoggedIn then Exit;

CTS := GetColorToleranceSpeed;
PAr := TPAFromBox(IntToBox(240, 145, 275, 185));
ColorToleranceSpeed(2);

for r := 0 to High(RockCols) do
begin
SetColorSpeed2Modifiers(RockHMods[r], RockSMods[r]);
FindColorsSpiralTolerance(MSCX, MSCY, TPA, RockCols[r], MSX1, MSY1, MSX2, MSY2, RockTols[r]);
ClearTPAFromTPAWrap(TPA, PAr, TPA);
if (Length(TPA) > 0) then break;
end;

if (Length(TPA) < 1) then
begin
ColorToleranceSpeed(CTS);
SetColorSpeed2Modifiers(0.2, 0.2);
Exit;
end;


SplitTPAExWrap(TPA, 32, 32, ATPA);
SortATPAFromFirstpoint(ATPA, Point(MSCX, MSCY));

for i := 0 to High(ATPA) do
begin
if (GetArrayLength(ATPA[i]) > 20) then
begin
B := GetTPABounds(ATPA[i]);

with B do
begin
for o := 0 to High(OreCols) do
begin
SetColorSpeed2Modifiers(OreHMods[o], OreSMods[o]);
FindColorsSpiralTolerance(MiddleBox(B).X,MiddleBox(B).Y,TPA,OreCols[o],B.X1,B.Y1,B.X2,B.Y2,OreTols[o]);
if (Length(TPA) > 0) then break;
end;

if (Length(TPA) > 0) then
begin
SetArrayLength(TempRes, Length(TempRes)+1);
TempRes[High(TempRes)] := MiddleTPA(ATPA[i]);
end;
end;

end;
end;

ColorToleranceSpeed(CTS);
SetColorSpeed2Modifiers(0.2, 0.2);

if (Length(TempRes) < 1) then
Exit;

SortTPAFrom(TempRes, Point(MSCX,MSCY));
Result := TempRes;
end;

You can see for it to work you'll have to define somewhere else in the script an array of colors for whatever rock you're mining. You'll need to define RockCols/RockTols/RockHMods/RockSMods (these are the colors, tolerances and CTS2 modifiers for the actual rocks, not including the 'ore colors'). You'll then need to define the actual 'ore colors' (the vein colors in the rocks that indicate what kind of ore is in the rock) as OreCols/OreTols/OreHMods/OreSMods. The function itself will give you a TPA of the middle of every rock found containing ore, sorted from your player. So FindRocks[0] would be the closest rock to you containing ores.

Geez look at me, I feel like I'm writing a tutorial here. :p

Edit:
Here's 3 SPS maps I made myself, maybe you'll find use out of them.

~
~

(All done in Paint, because I'm pro at Paint :garfield:)

John

2012-08-22 01:07:47

From: Flight
I suggested this because my F2P account now has roughly 20,000 Salmon and 22,000 Trout with 86 Fishing; I want him to do some mining for a bit.

I started to make this script but SPS was giving me quite inaccurate results, even with using two maps, one taking from the 100% zoom of the RS map and a custom one I pieced together.

Here's a proto-type of a rock-finder. This was take from my F-Miner project that I never completed.


Function FindRocks: TPointArray;
var
B: TBox;
ATPA: T2DPointArray;
i,CTS,r,o: Integer;
TPA,PAr,TempRes: TPointArray;
begin
Result := [];
if not LoggedIn then Exit;

CTS := GetColorToleranceSpeed;
PAr := TPAFromBox(IntToBox(240, 145, 275, 185));
ColorToleranceSpeed(2);

for r := 0 to High(RockCols) do
begin
SetColorSpeed2Modifiers(RockHMods[r], RockSMods[r]);
FindColorsSpiralTolerance(MSCX, MSCY, TPA, RockCols[r], MSX1, MSY1, MSX2, MSY2, RockTols[r]);
ClearTPAFromTPAWrap(TPA, PAr, TPA);
if (Length(TPA) > 0) then break;
end;

if (Length(TPA) < 1) then
begin
ColorToleranceSpeed(CTS);
SetColorSpeed2Modifiers(0.2, 0.2);
Exit;
end;


SplitTPAExWrap(TPA, 32, 32, ATPA);
SortATPAFromFirstpoint(ATPA, Point(MSCX, MSCY));

for i := 0 to High(ATPA) do
begin
if (GetArrayLength(ATPA[i]) > 20) then
begin
B := GetTPABounds(ATPA[i]);

with B do
begin
for o := 0 to High(OreCols) do
begin
SetColorSpeed2Modifiers(OreHMods[o], OreSMods[o]);
FindColorsSpiralTolerance(MiddleBox(B).X,MiddleBox(B).Y,TPA,OreCols[o],B.X1,B.Y1,B.X2,B.Y2,OreTols[o]);
if (Length(TPA) > 0) then break;
end;

if (Length(TPA) > 0) then
begin
SetArrayLength(TempRes, Length(TempRes)+1);
TempRes[High(TempRes)] := MiddleTPA(ATPA[i]);
end;
end;

end;
end;

ColorToleranceSpeed(CTS);
SetColorSpeed2Modifiers(0.2, 0.2);

if (Length(TempRes) < 1) then
Exit;

SortTPAFrom(TempRes, Point(MSCX,MSCY));
Result := TempRes;
end;

You can see for it to work you'll have to define somewhere else in the script an array of colors for whatever rock you're mining. You'll need to define RockCols/RockTols/RockHMods/RockSMods (these are the colors, tolerances and CTS2 modifiers for the actual rocks, not including the 'ore colors'). You'll then need to define the actual 'ore colors' (the vein colors in the rocks that indicate what kind of ore is in the rock) as OreCols/OreTols/OreHMods/OreSMods. The function itself will give you a TPA of the middle of every rock found containing ore, sorted from your player. So FindRocks[0] would be the closest rock to you containing ores.

Geez look at me, I feel like I'm writing a tutorial here. :p

Edit:
Here's 3 SPS maps I made myself, maybe you'll find use out of them.

~
~

(All done in Paint, because I'm pro at Paint :garfield:)

If you hit me Up with a PM/Skype I'll help you fix up SPS.

VastlySuperior

2012-08-22 02:59:31

From: John
If you hit me Up with a PM/Skype I'll help you fix up SPS.


Hey John

If you know of a method to make sps more accurate I would appreciate it if you can share it with me as well as I have a few problems with it as well.

Thanks