Skill Scanner

jdegre

Elite
Joined
Dec 24, 2005
Posts
2,957
Location
Madrid, Spain
Society
Survival Program
Avatar Name
Jesus jdegre de Gregorio
hi,

i've made a small program to extract skills info from screenshots; the same as EUComp or NRF did but, hopefully, it should work with the new skill screens.

please find detailed info here:

Skill Scanner

the program has been in beta testing for several months now, and it is getting quite ready to a "release" status. still, if you find out bugs or parsing errors, please let me know by PM, email, or posting here.

any other kind of suggestions, impressions, recommendations, etc... are extremely welcome.

main features:
- the scanner parses your in-game skill screens and shows skill levels, skill tt value and skill market value
- market values are calculated from peauction.com prices
- profession levels are calculated (not parsed from in-game screens); there are some high-level unlockable skills, whose influence in the professions is unknown, so some professions might not be 100% accurate. (texture-related professions are completely unknown yet).
- you can export skill and profession levels to a text file formatted in Comma-Separated-Values (CSV), to be used with other applications.

additional features (only if you have an account in the chipping optimizer; read below, in the "donation-ware" paragraph, about how to get an account):
- you can save your skills with 1-click in the chipping tool
- you can load your skills from the chipping tool and check your progress comparing your current skill set and your last saved skill set
- same progress tracking, but applied to profession levels


known issues:
- the scanner relies on the windows clipboard to get the content of the in-game screenshots. there are issues related to the way the Java system handles this clipboard that makes it difficult to co-exist with other clipboard-reading applications (such as PEAss, AutoScreen, and such). if you experience problems with it, please turn off temporarily any of these applications while you run the skill scanner
- the gamma setting (when you're running in full-screen mode) should be set around the center point of the slider. most probably, it will work ok with other settings too, but if you move it too much to the extremes (i.e. too dark or too bright), the parser may fail



Note: this software is donation-ware. what does this mean?:


i was asked some time ago (in the chipping optimizer thread) if the scanner program was going to be released "for free", or for "subscribers only", and my answer was that it was going to be "donation-ware", the same model as the chipping optimizer web app.

this means that it is absolutely free to use and people have no "obligation" whatsoever to donate, if they choose so. but, it is very appreciated if those people that find the application useful, and use it frequently, decide to support its development with a small donation.

this model has been "reasonably" successful with the chipping optimizer (which means that, in terms of donated money, it barely covers the web site hosting fees, but you get the idea, i appreciate people's gesture of contributing to it).

i have included a "donate" link, so people can donate via paypal. other than that, if people wants to donate ingame peds, that's also ok.

donators to the scanner tool, will also be "rewarded" with an account in the chipping optimizer.

some people seem to be a little bit confused about this model, and they usually ask me what's the purpose of paying for a feature (the account) that does not really add a lot of functionality to the tool (it is more of a "convenience", to save you some typing and stuff...). well, the answer is that i'm not "selling" the account functionality; instead, i'm simply asking for donations to support the development of these (and future) tools; the "account" thing, is simply a kind of reward for donators.

if you want a simple comparison, it is similar to the old EF forum donations, where people contributed to support the forum, and they were rewarded with minor forum function enhancements (such as a rep boost), but they were not "buying" these features. hope it is clearer now :)



cheers,
/jdegre.
 
Last edited:

Xen

Mutated
Joined
Sep 10, 2005
Posts
10,135
Society
Payn-Inc
Avatar Name
Xendar Xen Xal
It rocks! :wtg:

Thank you!
 

alh

Stalker
Joined
Feb 23, 2006
Posts
1,934
Location
Sweden
Society
Freelancer
Avatar Name
Minas alh Lhander
Great! I was afraid I would have to do get my half working code going for it :)

Will you (maybe when you've tested it a bit more) share it with the NRF guy?
He is looking for help with code for this.

Would be great if also NRF would start working again.

Darn, can +rep you now, another time :)
 

Witte

Marauder
Joined
May 21, 2005
Posts
5,713
Society
Delta Force Elite
Avatar Name
Vlugge Witte Harrie
Great job :yay:

I have a feature request for you right away (wihout even ever trying the tool ;)). If its not too much work to make, it would be great if we could also read chat, so that the result is in seqeuntial order, without double or missing lines. Would be very usefull to test attachments.

Will give it a try soon, tnx for making this.
 

jdegre

Elite
Joined
Dec 24, 2005
Posts
2,957
Location
Madrid, Spain
Society
Survival Program
Avatar Name
Jesus jdegre de Gregorio
Great! I was afraid I would have to do get my half working code going for it :)

Will you (maybe when you've tested it a bit more) share it with the NRF guy?
He is looking for help with code for this.

Would be great if also NRF would start working again.

Darn, can +rep you now, another time :)
i've been in contact with squee, and we've been sharing our respective approaches and comparing some ideas.

however, sharing code does not seem feasible since NRF is C++ and my app is Java (not mentioning that my code maturity is very low atm, which makes it very unsuitable for reusing).
 

alh

Stalker
Joined
Feb 23, 2006
Posts
1,934
Location
Sweden
Society
Freelancer
Avatar Name
Minas alh Lhander
Ok I see. Maybe I should dust off my code then anyhow.

My code works for the trade window currently, (except for "alferix" for some reason), by comparing font samples taken from screen shots to extract the text.
also has character withs, and tries with different offsets, to cope with un-even kerning.

It should be possible to adapt for the skill view by adding a filter function to filter out only the pixels with high luminosity (text is pretty bright), and a new font sample table...

Do yours work along the same lines?

My code is available in C#, easily portable to C/C++, and an old version in plain C that probably works for the chat still :)
 

Vedder

Marauder
Joined
Aug 23, 2005
Posts
5,136
...and my app is Java (not mentioning that my code maturity is very low atm, which makes it very unsuitable for reusing).
Ooh... Nice with a Java app :)
Any chance of making it Open Source?
 

Galax

Old
Joined
Sep 16, 2006
Posts
84
Society
Mine To Extract
Avatar Name
Galax Galsy Androm
Thx works perfectly :yay:
 

jdegre

Elite
Joined
Dec 24, 2005
Posts
2,957
Location
Madrid, Spain
Society
Survival Program
Avatar Name
Jesus jdegre de Gregorio
Ok I see. Maybe I should dust off my code then anyhow.

My code works for the trade window currently, (except for "alferix" for some reason), by comparing font samples taken from screen shots to extract the text.
also has character withs, and tries with different offsets, to cope with un-even kerning.

It should be possible to adapt for the skill view by adding a filter function to filter out only the pixels with high luminosity (text is pretty bright), and a new font sample table...

Do yours work along the same lines?

My code is available in C#, easily portable to C/C++, and an old version in plain C that probably works for the chat still :)
yeah, that's the basic approach of my program too. i think that squee was investigating a pure OCR approach (character recognition, instead of bitmap matching), which is much more flexible, but extremely harder to implement.
 

Bogette

Alpha
Joined
Nov 13, 2005
Posts
570
Avatar Name
Shaz Bogette Monaro
Tried it out, checked off skills from in game, 100% correct, ignoring the decimal part. Exported to CSV, checked off again, 100% correct.

Nice to see it working so well at such an early stage. Obviously the basics are working well, reading in skills and parsing. Now just to add some more functionality in the application.

There are many possibilities of what you can do from here, and I am excited to see what comes next.

Always happy to test.

Shaz Monaro.
 

alh

Stalker
Joined
Feb 23, 2006
Posts
1,934
Location
Sweden
Society
Freelancer
Avatar Name
Minas alh Lhander
yeah, that's the basic approach of my program too. i think that squee was investigating a pure OCR approach (character recognition, instead of bitmap matching), which is much more flexible, but extremely harder to implement.
Also quite a bit of overkill for the problem, I'd say...
Bitmap matching should be both faster, and when all bugs straightened out 100% accurate. The font drawing is always centered in the same pixel, and the kerning is constant.

My alferix bug is because of the l and f touches each other, and my code can't handle that right now... (shouldn't be hard to fix though, I've just been to lazy :))
 

jdegre

Elite
Joined
Dec 24, 2005
Posts
2,957
Location
Madrid, Spain
Society
Survival Program
Avatar Name
Jesus jdegre de Gregorio
it would be great if we could also read chat, so that the result is in seqeuntial order, without double or missing lines. Would be very usefull to test attachments.
i'm affraid that my app is not suited for that task, since it would require:
- real-time processing of a certain screen region (scanned actively)
- generic OCR, instead of bitmap matching of predefined patterns
- capability to work with highly translucent backgrounds
and neither of them can be done with my the current approach of my skill parser.

i'd love to have an app like you said (and finally prove my >25% missed shots while hunting :silly2:), and i have also requested it before here in EF, but unfortunately my app is not an option for it.
 

Ciobyna

Dominant
Joined
Jun 18, 2007
Posts
428
Location
Romania
Society
ROUA
Avatar Name
Desi Ciobyna Deria
Flawless and easy to use.

TYWM!

(now where is that :beer: emoticon to offer some?)
 

Witte

Marauder
Joined
May 21, 2005
Posts
5,713
Society
Delta Force Elite
Avatar Name
Vlugge Witte Harrie
i'm affraid that my app is not suited for that task, since it would require:
- real-time processing of a certain screen region (scanned actively)
- generic OCR, instead of bitmap matching of predefined patterns
- capability to work with highly translucent backgrounds
and neither of them can be done with my the current approach of my skill parser.

i'd love to have an app like you said (and finally prove my >25% missed shots while hunting :silly2:), and i have also requested it before here in EF, but unfortunately my app is not an option for it.
So the bitmaps need to be square and continuous? I can imagine you just try to find a match for the pixel combination of the letter itself, ignoring the background entirely.
 

sledge-

Prowler
Joined
Sep 5, 2006
Posts
1,119
Location
Austria
Society
Raumschiff Titanic reloaded
Avatar Name
Sledge Sledge Sulaweyo
Ahh man you saved me some work :D I was about to code something like that myself but now i can safe that time and play instead :yay:

I know you do clean aproaches here but what about some ocr that most ppl have anyway? MS office includes the imaging lib which i used for some apps now and as most ppl have MS Office it would be at least an option ... ofc i prefer standalone too ;)
 

Vedder

Marauder
Joined
Aug 23, 2005
Posts
5,136
...
I know you do clean aproaches here but what about some ocr that most ppl have anyway? MS office includes the imaging lib which i used for some apps now and as most ppl have MS Office it would be at least an option ... ofc i prefer standalone too ;)
I doubt that you can integrate with an office library from Java.

Besides, Java developers usually don't have MS Office, we have Open Office ;)
 

jdegre

Elite
Joined
Dec 24, 2005
Posts
2,957
Location
Madrid, Spain
Society
Survival Program
Avatar Name
Jesus jdegre de Gregorio
So the bitmaps need to be square and continuous? I can imagine you just try to find a match for the pixel combination of the letter itself, ignoring the background entirely.
the problem is to differentiate what pixels belong to the letter itself and which ones to the background, when the chat window is highly translucent; the skills panel is only moderately translucent, and it is kinda manageable.

in any case, i think i'll give it a try, and i'll try to see how well or bad my code behaves with these images, but honestly, i don't have much hope on it.
 

sledge-

Prowler
Joined
Sep 5, 2006
Posts
1,119
Location
Austria
Society
Raumschiff Titanic reloaded
Avatar Name
Sledge Sledge Sulaweyo
I doubt that you can integrate with an office library from Java.
Besides, Java developers usually don't have MS Office, we have Open Office ;)
Open Office FTW ... ah wait Latex ftw :D

But in theory you could do that with c#/.net ... no need to go into more detail as it's not the best way to do it ;)
 
Joined
Aug 12, 2005
Posts
3,437
Location
İstanbul, Türkiye
Society
I have terminated my P.E. / E.U. account upon my will.
Avatar Name
Spin Rep Pitt
hello

i use windows xp pro x64 edition
and i already installed java and jre 6 update 3
however i can't run the scanner.jar cause it was associated with winrar first and now no program to associate..

your app supports 64 bit or i am doing something wrong?
 

jdegre

Elite
Joined
Dec 24, 2005
Posts
2,957
Location
Madrid, Spain
Society
Survival Program
Avatar Name
Jesus jdegre de Gregorio
i use windows xp pro x64 edition
and i already installed java and jre 6 update 3
however i can't run the scanner.jar cause it was associated with winrar first and now no program to associate..

your app supports 64 bit or i am doing something wrong?
i guess you've changed manually the association for jar files in the past, right?

in that case, you must re-associate the jar extension with "Java (TM) Platform SE binary".

simply, right click on the jar file, choose "Open with", then "Choose Program", and select that option from the list (clicking the checkbox "Always use this program to open these files").

these are the options under win2k, my shitty box at work :) ... i guess it is something like that under winxp

/jdegre.
 

Zabler

Prowler
Joined
Jun 7, 2006
Posts
1,406
Location
Sweden
Society
'-..-' Bonnkanin Inc. '-..-'
Avatar Name
Zabler Zablersson
Was about to write "I love your tool" but then i realised.. thats sounds.. .well.. uhmm...

Good program though ;)
 
Joined
Aug 12, 2005
Posts
3,437
Location
İstanbul, Türkiye
Society
I have terminated my P.E. / E.U. account upon my will.
Avatar Name
Spin Rep Pitt
yes i did associated with Java (TM) Platform SE binary there are two; java and javaw. tried both: java version simply runs something in a dos window for a second and disappears. javaw version says (Java Virtual Machine Launcher) "Could not find the main class. Program will exit."

any more suggestions?
 

jdegre

Elite
Joined
Dec 24, 2005
Posts
2,957
Location
Madrid, Spain
Society
Survival Program
Avatar Name
Jesus jdegre de Gregorio
yes i did associated with Java (TM) Platform SE binary there are two; java and javaw. tried both: java version simply runs something in a dos window for a second and disappears. javaw version says (Java Virtual Machine Launcher) "Could not find the main class. Program will exit."

any more suggestions?
hmmm, not sure what you mean by that, in my box i don't have to select "java" or "javaw"... when i click "open with..." i have two options:
- "Java(TM) Platform SE binary", which is internally associated with javaw.exe (plus other parameters), but you don't really see that, it's defined in the windows registry
- "Java(TM) Web Start Launcher", which is internally associated with javaws.exe

it is the first option you must choose; definitely it is not java.exe, but you should not need to specify neither java.exe nor javaw.exe, explicitely.
 

Vedder

Marauder
Joined
Aug 23, 2005
Posts
5,136
yes i did associated with Java (TM) Platform SE binary there are two; java and javaw. tried both: java version simply runs something in a dos window for a second and disappears. javaw version says (Java Virtual Machine Launcher) "Could not find the main class. Program will exit."

any more suggestions?
hmmm, not sure what you mean by that, in my box i don't have to select "java" or "javaw"... when i click "open with..." i have two options:
- "Java(TM) Platform SE binary", which is internally associated with javaw.exe (plus other parameters), but you don't really see that, it's defined in the windows registry
- "Java(TM) Web Start Launcher", which is internally associated with javaws.exe

it is the first option you must choose; definitely it is not java.exe, but you should not need to specify neither java.exe nor javaw.exe, explicitely.
I think this might be the problem...
...simply, right click on the jar file, choose "Open with", then "Choose Program"...
You shouldn't have to click "Choose program", but just "Open with", and then choose from the list, if your Java installation worked correctly.

Maybe :scratch2:
 

jdegre

Elite
Joined
Dec 24, 2005
Posts
2,957
Location
Madrid, Spain
Society
Survival Program
Avatar Name
Jesus jdegre de Gregorio
I think this might be the problem...

You shouldn't have to click "Choose program", but just "Open with", and then choose from the list, if your Java installation worked correctly.

Maybe :scratch2:
i'm at home now (winxp) and that's different in both windows versions. but in any case, as you say, if the java installation is ok, the option "Java(TM) Platform SE binary" should appear as such, with no need to pick an specific "exe" file from the file system.

@rep: it really looks like your java installation is screwed somehow; i'd recommend un-installing, and doing a fresh install again.
 

Zabler

Prowler
Joined
Jun 7, 2006
Posts
1,406
Location
Sweden
Society
'-..-' Bonnkanin Inc. '-..-'
Avatar Name
Zabler Zablersson
Works perfect in window mode.
If i play fullscreen the program crashes..
Or it doesnt crash, it just.. well.. when i tab back out its .. white.. empty.. nothingness..
 

jdegre

Elite
Joined
Dec 24, 2005
Posts
2,957
Location
Madrid, Spain
Society
Survival Program
Avatar Name
Jesus jdegre de Gregorio
Works perfect in window mode.
If i play fullscreen the program crashes..
Or it doesnt crash, it just.. well.. when i tab back out its .. white.. empty.. nothingness..
are you running PEAss at the same time?
while in EU, when you press print-scrn, do you hear the camera sound, and after some seconds do you hear the confirmation sound?
does the bottom part of the program (the text console) shows any info at all?

(i need detailed info about the problems, guys... :D )
 
Top