forum

Sorting by accuracy of your top score

posted
Total Posts
5
Topic Starter
danielharmsen
I’ve been wanting to be able to sort by the accuracy of my highest scoring play for a map, but the general consensus in the old feature requests is no. Since it’s not going to happen, I thought, why not do it myself?

I mean how hard can it be? (right?)
Well I can tell you it isn’t easy for somebody with no programming experience, however, I found a way to do just what I wanted. Regretfully it is a very cumbersome and roundabout way of doing it.

Special thanks:
marcin for his tip to use a hexadecimal capable program to read the files.
Piotrekol for a more accurate breakdown of the score structure in scores.db
Also cheers for peppy and his very efficient way of coding the scores.db file.

Here's the play by play:
Version 2: Added translation for the string in excel, removing 1 step. Also added ability to check for full combo (FC).

1 Locate the scores.db file in your osu directory and make a copy of it.
2 Open the copy in notepad++ and use the hexadecimal plugin (link below) to view the file in its original code. Copy all the columns with numbers except for the address and dump column (first and last one)
3 Paste in word or similar text editor and replace the following: d0 08 ff ff ff ff by ^p d0 08 ff ff ff ff and 0b 20 by 0b 20 ^t (I did this in word, this may differ in other applications, the idea is to create a new paragraph with ^p and insert a tab with ^t)
4 Select all the text in the word file and paste it in cel A3 of the excel file (link below) [This file was made in an excel with the dutch language]
5 Don't freak out, only your highest scoring plays are processed, the rest all show N/A. (You may need to make sure that the table expands properly)
6 You can now use the low->high sort of the accuracy column, or the FC colum (1 stands for FC)
6.5 In some rare instances, scores may give odd numbers here, this is due to an unknown extra string in the db file. Because of this all the data processing is wrong and you can't find this score for that song.
7 Once you found the score of interest, you need to find the song related to it, to do this, go to the Map name column of that score and copy the number/letter sequence present in that cell.
8 Go to the osu directory and use search to find the letter/number sequence. You will get a series of results depending on the number of times you played the song.
9 Open any one of the files while osu is running in the background and presto you have the song you want. Now you only need to look for the correct difficulty and you can start improving it.

Notes:
As mentioned earlier, some song scores will give odd numbers or won't work, I don't know how to fix it, common sense applies.
This method also includes unranked plays & offline plays; I have no way of separating them at the moment.
You can only find songs of which you have replays of and the scores present on your current pc/computer. If you did not copy all these files when you changed to a new device, old score info will be lost and cannot be recovered.

Links:
Excel file: https://www.dropbox.com/s/xwk3o06prwy0f ... 0sort.xlsx
Notepad plugin: http://en.sourceforge.jp/projects/sfnet ... I_dll.zip/
Piotrekol
I just want to mention that utility linked in my signature does similar thingy - it generates a list of your plays(where you can of course read your acc as well as other info) from replays stored in Data/r(meaning all local plays) in osu! folder (notes from above post also applies here)
Topic Starter
danielharmsen
:o wow props for the clean display, it even gets more info out of it.

I tried putting the list i got from it in excel to sort, but I can't seem to find a good way to filter the data such that it sorts only the highest score of a song...

I noticed your utility uses osu.db, is this more efficiently than scores.db? I opened it, and it does show the song name in normal text, something the scores.db file doesn't have, but I'm missing the score structure (or I'm overlooking it).

Since you obviously know a lot more about the data, do you know if there is a way to tell if you have FC'ed a song? Aside from the 100%.
Piotrekol
osu!.db contains only information about beatmaps itself- no score data- at least that's what I'm reading from it.
And my scores.db got reseted few times already(DON'T KNOW WHY - since 2011) that's why I'm not relying on it.
AND lastly - yes there is a "perfect" value in almost all replays(hic)- it means fc(I think... ) if you want i can make a quick edit to show if score is perfect or not
Topic Starter
danielharmsen

Piotrekol wrote:

osu!.db contains only information about beatmaps itself- no score data- at least that's what I'm reading from it.
And my scores.db got reseted few times already(DON'T KNOW WHY - since 2011) that's why I'm not relying on it.
AND lastly - yes there is a "perfect" value in almost all replays(hic)- it means fc(I think... ) if you want i can make a quick edit to show if score is perfect or not
That picture is exactly the breakdown of the scores in the scores.db I've been trying to find out. I can make a couple of changes to my excel file with this information. :D

Thanks a lot, now I should be able to sort for all the data aspects of a song (with the exception of rank ofc).

Dare I ask if you know a way to determine the song without going through the hassle described in the OP (steps 7-10)?
I don't think scores db has the Original name in it, and that doesn't really matter to me, but the note-pad intermediate is a pain in the ... So my real question would be: How do you translate the hex code back to the numbers and letters in excel? (If it is possible at all) Because then I can just copy the short-code for the song in excel and find it in the osu directory.

P.S. The FC indication in the scores.db file is the hex set after the combo, 01 stands for FC, 00 not.

Edit: Totally unrelated side note, but do you know why the posting system here automatically corrects you to give Original a capital letter? I'm sure that I used small letters...

Edit: I figured out how to translate the string for the file name in a way that you can skip a few steps. xD
Please sign in to reply.

New reply