SRL Archive - Help

How to: Find a In-game Runescape Progress Screen?


CRASH_OVERRIDE

2012-12-29 02:06:14

Hey guys,

I might have miss-read something(and if i have please link me), however i am a little bit lost with this:/ Basically when you are doing something such as smithing or herblore or fletching a in-game progress screen pops up and tells you how long until the items are done.

The question i have is: How does one determine if this screen is on/off?

I have been using the MMouse Function and ClickMouse2 to choose options on this screen and timers, but it would be a lot more accurate and easier to do failsafes if i can make a function that checks if this screen is active or not.

Is their something in the SRL i have missed at all?

Does this function exist?

If not, How does one make such a function or even determine if the screen is active?

Ian

2012-12-29 02:08:28

You could use some well placed GetColor checks to tell when it was done

CRASH_OVERRIDE

2012-12-29 02:20:44

From: BMWxi
You could use some well placed GetColor checks to tell when it was done


If i had a function i could do:

If FindProgressScreen Then
Begin
MMouse
wait('whatever');
ClickMouse
End;

So once it determines the screen is up it clicks the OK or Select Button that comes up with the progress thing. This way i wouldnt need to make a timer for how long to wait before MMouse and ClickMouse at all, and i also wouldnt need to make as many failsafes, it would really save a lot of time. I already use DTMs to determine the items in invetory(the screen is gone). But again to determine if the screen is gone i need to use a timer sooo…. YEAH……

P1ng

2012-12-29 02:43:37

function FletchScreen: Boolean;
begin
Result := CountColorTolerance(2070783, MBx1, MBy1, MBx2, MBy2, 10) > 200;
end;

Essentially this is what you would need. There are other ways to do it, but I threw this together really quickly. You may want to change the number ( > 200) and maybe even make the co-ordinates a bit more accurate. But this should work.

CRASH_OVERRIDE

2012-12-29 03:18:12

function FletchScreen: Boolean;
begin
Result := CountColorTolerance(2070783, MBx1, MBy1, MBx2, MBy2, 10) > 200;
end;

Just curious, why do you use the MB? isnt that the bank coords? Do you use MB because MS would have the screen layer on top of it therefore it would search the background of the screen not the screen itself, is that why?

Also thanks P1ng bro.

Sin

2012-12-29 06:22:07

Use FindTextTPA();, works more efficiently

CRASH_OVERRIDE

2012-12-29 07:32:47

Shay can you give an example? Please

P1ng

2012-12-29 22:25:22

I just used MB because it's a smaller area than MS. Thus less time searching for colours.

Gucci

2012-12-29 22:47:30

Or you could create a bitmap of a part of the screen and use that to tell when it's up

CRASH_OVERRIDE

2012-12-29 22:50:02

From: Gucci
Or you could create a bitmap of a part of the screen and use that to tell when it's up

Nice idea right their.

DannyRS

2012-12-29 22:52:41

From: BMWxi
You could use some well placed GetColor checks to tell when it was done


this is how i do it :P

CRASH_OVERRIDE

2012-12-30 00:40:03

I guess the question is what one is most accurate:/

DannyRS

2012-12-30 01:03:07

From: tasmania
I guess the question is what one is most accurate:/


accurate, all same, reliability / chance of false positives, textup of some kind is best

Gucci

2012-12-30 01:50:58

The bitmap would be the most accurate option

P1ng

2012-12-30 04:13:58

Bitmap would be the most accurate, but is obviously slightly more resource intense than a colourcount/findtext function. But really it will not be noticable, so probably go for the bitmap option.

CRASH_OVERRIDE

2012-12-30 04:18:11

Cheers guys,

@Dan, can you use/define uptext on these in-game progress screens:/