SRL Archive - RS has been updated.

Minimap updates:


Markus

2007-12-17 09:25:48

Looks like Jagex did some updates to the minimap:


I wanted to update my aircrafter, but now with this update, I'll need to rewrite my whole walking for the second time -.-

Timer

2007-12-17 09:30:13

damn..!!! i have to re-wright me whole script too.. =/ well, the walking part… that took hours.. :redface:

the scar noob

2007-12-17 09:30:38

Oh crap, minimap colors are changing all the time now?
Isn't that normal that the colors change, but I have to admit, that those drop dots on an object scares me :)

Stand up mr. lazyness, and go rewrite your aircrafter:p

-Tsn.

Markus

2007-12-17 09:36:25

No, they don't change all the time, they only updated the freakin trees!
*Markus is not happy now :(*

Rikje

2007-12-17 10:24:16

lol @ jagex. they have beaten RWT. now its our turn :p

tough,, i don't like that line update…

tarajunky

2007-12-17 11:46:54

It looks to me like every stable minimap color has a fixed relationship to every other stable color.

So, if you can reliably autocolor ANY stable color on the minimap, you should be able to calculate any other color there with perfect accuracy.

Let me post my latest FindRockColor as an example…

function FindRockColor: Integer;
var
GC, a, l, TestColor: integer;
var
P:array of Tpoint;
begin
GC := 6444639;
Flag;
FindColorsSpiralTolerance(MMCX,MMCY, P, GC, MMX1,MMY1,MMX2,MMY2, 50);
l:=GetArrayLength(P);
for a:= 0 to l-1 do
begin
TestColor := GetColor(P[a].x,P[a].y);
if (GetColor(P[a].x-1,P[a].y)=TestColor-789772) then
begin
Result := TestColor;
WriteLn('Rock Color = ' + IntToStr(TestColor));
Exit;
end;
end;
WriteLn('Could not find Rock Color!');
Result := 0;
end;

There are two colors right next to each other in every rock I've seen. One is light gray, the other is darker. The values for those two numbers are always 789772 units apart. This is very specific, and unique for rocks as far as I can tell.

So, if you pick a color and the color next to it is different by 789772, it's a rock. I think you can do the same thing with the new trees, or any other minimap item. Just find a stable relationship, and autocoloring should be very simple and highly accurate. Even if every tree looks slightly different, as long as they are composed of similar colors in somewhat similar distribution, you should be able to do it. Trees are pretty plentiful, and you only need to have it work on 1 tree on the screen to pick the right color, so the odds are pretty good I think.

Markus

2007-12-17 12:11:06

Tara, you're a bit slow. I found that out like 2 months and one day ago. I made an autocolor using it in relation with the ladder color for the competition script. It broke :(

Autocoloring for colors[4] FAILED
:(
Hmm, lemme use that old difference calculator:

program New;
//USAGE
//Every non-ground color (no road, water, dirt etc.) in runescape has a constant RGB relation
//compared to each other. I discovered this a while ago while working on a payscript.
//The walking relied on two non-ground colors, and they always looked a bit the same.
//I RGB'ed them, and there was a constant relation between those two (colors taken over a period of more then two months)
//This program calculates the difference between those two :)
//Also a great learning tool on basic bitshifting ;)
// - Markus
const
color1 = 4220017;
color2 = 4352884;
begin
writeln('R: '+inttostr(color1 and $ff)+' G: '+inttostr((color1 shr 8) and $ff)+' B: '+inttostr((color1 shr 16) and $ff));
writeln('R: '+inttostr(color2 and $ff)+' G: '+inttostr((color2 shr 8) and $ff)+' B: '+inttostr((color2 shr 16) and $ff));
writeln('---------------------');
writeln('R: '+floattostr((color1 and $ff)-(color2 and $ff))+' G: '+floattostr(((color1 shr 8) and $ff)-((color2 shr 8) and $ff))+' B: '+inttostr(((color1 shr 16) and $ff) - ((color2 shr 16) and $ff)));
end.

tarajunky

2007-12-17 13:27:06

Yep, people told me that you already found that out before. I'm thinking of making an AutoColorAll type function for SRL.

All we would need is a list of all the colors people normally use, and do an investigation of all the stable relationships.

It could be like AutoColorAll('RockColor',4865203); and it would calculate every other color in the array. If you know 1 color, you know them all.

From what I've seen you don't need to do RGB at all. The SCAR colors already maintain a fixed relationship.

Markus

2007-12-17 13:43:05

True, but in the example of the treecolor I used before, the difference was always 5 lower. But the laddercolor was blue 2 once, so 2-5 = -3. If you do that with the scar colors, crash! Try it, and it'll substract 3 from the green I think.So I bitshifted and added a failsafe (if (B < 0) then b := 0; ) just to be sure.

L3ss Than 33

2007-12-30 17:24:11

That is VERY observant of you.
I just started the walking procedures of my new script =] so I'm safe! hehe

R0b0t1

2007-12-30 19:41:41

Nice to know.

But those item dots/player dots/NPC dots should make them easier to find…