Page 1 of 1

NHigh - New functions (Im updating this thing)

Posted: 2015.01.25 (18:06)
by EddyMataGallos
LATEST VERSION - Updated: 05/Sep/2015
NHighEddy_r2.rar
Reuploaded!
(68.84 KiB) Downloaded 145 times
Downloads pre-reupload: 182

If you already have NHigh, you can download the update, and replace the changed files in your NHigh folder with the ones in the update. Only nhigh.pyw (the main program) and nhighlib.py are required. The other texts are just information, of course.

So I thought that since I updated quite a lot of things already, and I'll probably keep doing it, it would be a good idea to emulate eru and create a new thread to post them. You can also suggest features/changes here. I've flagged most of my edits in the code, as eru did. It involves around 1200 new lines, and some edits here and there.

Code: Select all

NHigh update by Eddy - Changelog

Release 2 - 5.Sept.2015

- Demo analysis shows demo code
- Player's 0th/Top20/TopX Scores Trivia (a bunch of interesting stats)
- Added over dozen cool charts for a player's level/episode scores, as well as a general episode cleanliness chart.
-- In particular, they include charts which highlight the ranks of each level/ep, the top15's, the top10's, the top5's, the 0ths, and in episodes in particular, also the cleanliness of the 0ths held by the player by means of the time lost against the sum of all 5 level 0ths.
-- The trivia includes charts for the 0th distribution by columns and eps, as well as stats regarding the leads, ratio between level and ep 0ths, etc.
-- Finally, there's a general chart as well in the Episodes submenu, to show the cleanliness of all episode 0ths.

Release 1 - 13.Dec.2014

(1): Security measure: Ignore any entry with score superior to 650 seconds.
(2)-(3): Old 0ths not on board anymore, old 0ths still on board (needs some fixing, but its already implemented so meh)
(4): Player's 0th evolution
(5): Player's Top-20 scores evolution
(6): Player's X-Y scores evolution
(7)-(9): Each of those 3 reports but with the graph code output.
(10)-(15): Each of those previous 6 (3*2) reports, but for a multiple amount of people n, which are the n top players in the top-20 rankings. Just a way to speed up things. The final output should be proper in all cases.
(16): Function to resave all NHigh score files. By doing this, you ensure your current ignore list is applied to all of them (and the 650 seconds limit measure too), erasing hacked scores and cleaning the highscore files.
(17): Function to rename all NHigh score files to standard name format (tidiness).
(18)-(20): Community total level/ep score evolution over time, and TLS-TES difference evolution.
(21)-(22): Include ties in episode ownages, and eps with 3 0ths by the same person too.
(23): Manual correction to TLS/TES (for files with null scores due to levels filled with hacked scores back in the day)
(24): Added scan of subfolders for NHigh files.
(25): Careful when saving files with the same name measure added (for the rename files functions).
(26): Read players from text file for global stats.
(27): Output graph code in php files.
(28): Total 0ths ever held by a player.
(29)-(30): Lvl/Ep unique 0th holders.
(31)-(32): Lvls/Eps sorted by amount of unique 0th holders.
Info:
For starters:
To use it you need to install Python 2, not 3! And it needs to be over 2.3, e.g. I use 2.7.2.
Also, open it with nhigh.pyw, which is inside the NHigh folder

For the evolution functions:
Most new functions refer to evolution over time, hence they are located under "Reports -> Rankings over time". They require you to have a folder with NHigh files to analyze them and extract the info.

I haven't added any folder/file selection dialog yet for those functions that require it, because I'm too lazy and creating a dialog it too tedious xD And because the standard dialog sucks ass. Because of this reason, you'll have to use the predetermined names for certains folders and files to use it:

- Put your NHigh files to be analyzed in a folder called "scores".
- Put the usernames to be taken in a file called "input.txt".

Make sure they are in your NHigh folder, where your nhigh.pyw is. I think that's it, I'll probably implement these dialogs when I get some time, and feel like doing so :P

Re: NHigh - New functions

Posted: 2015.01.25 (18:35)
by golf
First off, thanks for posting up the new version. Then, I've got a question on one of your updates, hopefully I can make myself clear enough that you know what I'm talking about.
(24): Added scan of subfolders for NHigh files.
So currently I've got all my NHigh files separated into their own folders by year. If I put all those folders into another, parent folder called 'scores', will that allow all the other new functions that do the different analyses to work?

Re: NHigh - New functions

Posted: 2015.01.25 (19:46)
by EddyMataGallos
Yes, that should totally work ;) If it doesn't though, just say it here. Remember analyzing big sets of files can take a while (depending on the function, but tipically a hundred files could take 20-30 secs, and 1000 files several minutes, iirc).

Re: NHigh - New functions

Posted: 2015.01.25 (19:50)
by golf
well considering I haven't downloaded anything yet, nothing to report. Thanks for the quick answer though :)

Re: NHigh - New functions

Posted: 2015.02.03 (07:15)
by ska
Thanks for all of this. By the way, I can't seem to get any of the Python-based N high programs running; does anyone else have trouble installing Python on Windows 8?

Re: NHigh - New functions

Posted: 2015.02.04 (02:14)
by XandoToaster
ska wrote:By the way, I can't seem to get any of the Python-based N high programs running; does anyone else have trouble installing Python on Windows 8?
I didn't have any trouble installing Python on Windows 8, but I had a different issue that might be worth mentioning. The Python-based Nhigh programs weren't working for me either, which surprised me because I had Python already installed on my computer. I realized that I had Python version 3.3, and when I installed version 2.7, the Nhigh things started working for me. My point it, when you install Python, it might be important that you get version 2.7 rather than version 3.3. I don't know if this solution works for everyone, but I thought it might be worth mentioning here.

EDIT: I guess I should mention that this was for N2High. I would think that this also relates to Nhigh though.

Re: NHigh - New functions

Posted: 2015.02.04 (04:46)
by ska
Found it courtesy of "Naresh1986"
Naresh1986 wrote:Solution for internal error 2503/2502 on windows 8 as follows

1. Go to TaskManager > Details > Explorer.exe & click on End Task.
2. Now Click on File in Task Manager > type Explorer.exe ( here is the trick ) Check the box below shows as ( Create this task with administrative privileges.)
3. Now install / Unistall this should work 100%.
I did the first step from file manager as: File -> Run new task -> explorer.exe (make sure you tick the box that says "Create this task with administrative privileges; this is very important.)

Then try installing! I did 2.7, but I didn't even try subsequent versions, and I'm not even going to risk breaking it (now that it works!)

Re: NHigh - New functions

Posted: 2015.09.05 (03:49)
by EddyMataGallos
UPDATE! - 05/Sept/2015
Yo guys, I've updated this thing with a bunch of cool new stuff, I call it "release 2". So the main improvement can be divided in two parts: charts and trivia.

I've added like a dozen colored charts to show the player's rank, or top20s/10s/5s, or 0ths, and stuff like that, for both levels and episodes. Also episode cleanliness. They're under "Player's Statistics -> Player's Level Charts" and "Player's Episode Charts". If you click on a player you can also access this functions, but for whatever reason it is, it takes much longer, in fact the level charts take like 15 seconds and almost make the program crash xD So if you want to avoid this, access this function through the top menu (you'll have to write the player's name then, unless its the default one). Maybe someone who has actively worked on NHigh to know it to its roots can explain this problem *cough* eru *cough*

The trivia is essentially 3 functions, which are all located as well inside the "Player's Statistics" menu: "0th Trivia", "Top20 Trivia" and "TopX Trivia", they all do the same report but for the specified thing in the title (except the 0th trivia also shows some info on the leads over 1st, which wouldnt make sense in the rest of the reports). It shows loads of crap like 0th totals, score distribution per column and per episode, a cool chart, lvl to ep score ratio, column/ep with most/least scores in the specified range, etc etc. Check it out to see it. You can also use the context menu after clicking on a player to get to this.

Also, I've implemented an overall episode 0th cleanliness chart (not only personal), this is under the "Episodes..." top submenu and is self-explanatory.

Anyways, download here or in main post:

Full program:
NHighEddy_r2.rar
Full program
(68.84 KiB) Downloaded 241 times
Only update:
NHighEddyUpdate_r2.rar
Only files to update
(36.42 KiB) Downloaded 214 times
As usual, if you already have NHigh, you can download the update, and replace the changed files in your NHigh folder with the ones in the update. Only nhigh.pyw (the main program) and nhighlib.py are required. The other texts are just information, of course.

See some images of this release (This is a spoiler, CLICK ME!)

macrohenry's 2nd-4th score trivia (you could put 0th trivia, or top20 trivia, or whatever the fuck the range you want)
Image
Image
btw, if you use "0th Trivia", it also puts information regarding the leads of such 0ths, the average lead, etc

xaelar's level charts:
Image
Image

Lim's episode charts:
Image
Image

General episode cleanliness chart:
Image


Re: NHigh - New functions (Im updating this thing)

Posted: 2015.09.07 (17:57)
by TheRealOne
Wow Eddy. This is awesome. So much more information than I ever thought we could communicate. The color coded charts are awesome. So much fun to play with.

One thought I had about the top-x rankings. To my knowledge the Metanet DB holds positions beyond 19th. Is there anyway we could add functionality to pull beyond the 19th place and then exclude all of the cheaters that we can't get M&R to delete from the boards, and the hackers that they haven't dealt with? Pulling out to 39th would guarantee that we could always have a legit top-20 rankings for everyone. If that is too many records to hold, pulling like 5-extra should be plenty for all levels but some of the Ep02s, 90-3, 46-3, and a few other heavily cheated levels.

I know we could just turn legit mode on to do just about the same thing, but there are still a decent amount of pre-NReality legitimate top-20s. The reason I bring this up is that it is rather false to say that xaelar and maybe golf don't have top-20s on 90-3.

Just a thought. Let me know what you guys think about that.

Re: NHigh - New functions (Im updating this thing)

Posted: 2015.09.07 (19:52)
by EddyMataGallos
Thanks man, also I could ask M&R about that. Regarding NHigh there would be no problem with that, as long as such scores can also be accessed. I doubt it, but I really hope it's possible, that'd be amazing.

Re: NHigh - New functions (Im updating this thing)

Posted: 2015.10.09 (04:46)
by nadroj347
This is incredible. I could explore these statistics forever. Eddy you are a legend.

Also i would like to see the scores beyond 19th on cheated level if possible.