PDA

View Full Version : PG Json Parser



Niph
05-28-2017, 06:39 AM
Original post:


Hello everyone,


Most of you probably know about Gorgon Explorer (gorgonexplorer.com (http://www.gorgonexplorer.com)) already. I've written an app (PgJsonParse.exe (https://github.com/dlebansais/PgJsonParse/releases/download/v334/PgJsonParse.exe)) that has similar features, but works offline, and also can look for the latest version of game files. No need to wait for the site to be updated anymore!


There is however a drawback, this app only works on Windows (sorry Linux and Mac users).


It supports the following features:
. It can detect what the latest version of game files is, and download them on your computer. You can use them offline until the next patch.
. As long as a patch doesn't break compatibility, the app is therefore immediately up-to-date after a quick download.


Build Planer:
. You can select skills and for each slot, look at available mods and plan a build.
. Builds can be saved and reloaded locally, as text files.
. You can also copy them to the clipboard, which make posting them on a forum a lot easier than if you had to write it down yourself.
. In addition to mods and skills, you can also pick specific items, like your preferred armor.
. Choosing armor is done by assigning to each power in game a weight, and items with the highest weight appear at the top of the list. For instance, if you're a Fire Mage but also like to have Armor on your gear, you can assign a weight of 1 for each +Max Armor points and a weight of 100 to each fire damage % bonus.
. These weights can be saved in profiles, and you can play with different profiles to balance your gear. The app comes with one built-in profile, "Best Armor".


Advanced Search
. It's called "advanced" mostly because your can use AND and OR in the search terms (see instructions in the search page).
. The search is rather exhaustive, and returns as much info as possible. For instance, if you search for 'Lemon' it will return all food made with lemon, all buffs they give, all quests that talk about lemon, lemon work orders, etc.


This is a preliminary version, and I already have several improvements in mind. It probably also has several bugs; if you find one, please PM me!


Known issues:
. In the build planer, the max skill level is not used until a new skill is selected.
. The max skill level is not saved with builds.

This tool has been discontinued. You can find its two replacements below:

PgSearch (https://github.com/dlebansais/PgSearch-Disclosed/blob/master/README.md), the search tool.
PgBuilder (https://github.com/dlebansais/PgBuilder-Disclosed/blob/master/README.md), the build tool.

Citan
05-28-2017, 07:16 AM
This is really cool! And in many ways, nicer-looking than my own internal tools. What did you write it in, out of curiosity?

Lendari
05-28-2017, 07:23 AM
Choosing armor is done by assigning to each power in game a weight, and items with the highest weight appear at the top of the list. For instance, if you're a Fire Mage but also like to have Armor on your gear, you can assign a weight of 1 for each +Max Armor points and a weight of 100 to each fire damage % bonus.

Was talking about something almost exactly like this yesterday. Very cool.

Niph
05-28-2017, 07:41 AM
This is really cool! And in many ways, nicer-looking than my own internal tools. What did you write it in, out of curiosity?

It's a typical Windows Presentation Framework (WPF) application, the code is in C#.

I forgot to mention it's open-source on GitHub (search for PgJsonParse). I'm not particularly proud of this code, it's hurried, very much. If I wrote so casually at work, I'd get fired. :)

mrwarp
05-28-2017, 01:38 PM
Very nice! Although all the mods I pull up are for level 70. Changing 'max level' for either skill does not adjust the mods to proper level.

ArkadyRandom
05-28-2017, 01:45 PM
Thanks for the reference. I've starred it and will follow. It's a neat idea and I'm looking forward to see how it works.

Hood
05-28-2017, 02:11 PM
my new obsession!! now i need to figure a way out to launch it on mobile ;)

Mbaums
05-28-2017, 03:37 PM
A mobile app version of this would be great. The whole app and the gorgon explorer site is really well done. I used it while gardening and it really made the time fly. Can the JSON Parser eventually be made to search which NPCs drop what?

Niph
05-28-2017, 03:46 PM
A mobile app version of this would be great.

The code is in C#, and mobiles (say, Android) want Java. There is a way to turn C# into Java, but it's a research project I have that is on hold right now, because I like PG too much...


Can the JSON Parser eventually be made to search which NPCs drop what?

The app can only display information contained in the public game files, and they don't have that. It could be connected to the Wiki somehow, but then wouldn't be complete. Your only option is to check for yourself in the game or trust the Wiki.

ANT3RA
05-28-2017, 05:13 PM
Thanks for this Niph, it is very much appreciated.

I just used the tool, and I have to say, I really like the offline aspect of it. Its also clean and very easy to navigate.

When I was using the Build Planner, I noticed that I could add all the mods from both skill trees to an item, this left me with a helm with 18 mods. Am I doing something wrong or is that a feature/limitation you are still going to implement in the parser. In short, is there a way to implement current loot vs mod rules (max mods per skill on item etc) into the parser.

I appreciate you are doing this on the side, and may not have the time to implement such things.

Thanks in advance.

Edit: FYI, fully downloaded with icons and functioning the parser uses roughly 460 Meg in memory (stable).

Niph
05-29-2017, 01:22 AM
In short, is there a way to implement current loot vs mod rules (max mods per skill on item etc) into the parser.

I want to improve the item window to make it look the same as in game, with the rarity color code in particular (green to yellow). It might even be possible to allow a 7th mod on max-enchanted items only. But since it doesn't add much to the app I've postponed that. Features first.

Tannin
05-30-2017, 10:43 PM
Cool stuff, I might be able to contribute to this as well at some point (if you don't mind, of course) :)

Niph
06-20-2017, 12:25 PM
I update this app on a regular basis, here is what's new today (beside a few bug fixes):

. The item preview in the build planner more closely mirrors the item window in game, with I hope the correct color for all lines.
. All mods should be available, including generic, endurance and shamanic infusion mods (look at the bottom of the mods column.)
. The search feature, no longer experimental, has some improvements

Result is sorted inside a category (ex: items are sorted by name)
When possible, I added links between pages and buttons to browse back and forth (ex: Quest "Carnelians for Urzab" has a link to the reward "Amulet of Max Armor +50" so the item can be inspected immediately.
Added calculation for nested component costs, starting with Perfect Cotton. If a recipe uses Fine Cotton Yarn, Cotton Thread etc. the total number of Perfect Cotton it requires is displayed.


Known issues:
. The item window doesn't list skill requirements to be able to equip, because I'm unable to calculate it. The json files list powers by tiers and not by level, so it's hard to connect a min level to the correct tier, and then to extract the min skill requirement.
. Still no display of PvE and PvP effects of abilities, I rather wait for some doc on how to interpret the files.
. Search result pages are still a mess; making the information easier to read is on my to-do list.

Finally, if people want to contribute, let me know how and I'll try to organize it.

Rowina
09-09-2017, 11:28 PM
Meh I need one for Mac :(

Niph
09-10-2017, 03:21 AM
I will never build it for Mac. But someone else can, it's open source at https://github.com/dlebansais/PgJsonParse.

awol_lsd
04-19-2018, 10:13 AM
nvm on this part. (deleted text)


[Edit: also curious does this have damage calculator to show final damage after all mods applied so we don't have to do the math for each individual skill? if not would it be possible?]

Niph
04-19-2018, 02:44 PM
I have a damage calculator project. Most of the data is there, but it's extremely complicated to implement. Maybe before release...

Ashreon
09-22-2018, 05:01 AM
With the latest patch (the one from last night) the parser stopped working :(.

I suspect it is because it load hotfix patches, it seems to stop at 75-80% loading up.

Niph
09-24-2018, 12:26 PM
With the latest patch (the one from last night) the parser stopped working :(.
I apologize for this bug, it's actually related to the in-combat fly cost/second that is visible as an effect, but is not in effect files.

I have updated the link in the OP to the latest version. It supports the latest files (307) and has some improvements: faster load, a single EXE and some behind the scene stuff I hope to publish eventually.

Ashreon
09-26-2018, 12:16 AM
Niph
I also noticed that a few of the icons are now missing in the build planner, I suspect it is because of new icons in the game. Some work while others won't.
Secondly, builds don't seem to actually... save their data anymore sad face..
And on a related builds don't save, nor did the armor you chose for builds save :P.

I'm not sure where to bug post all that so you'll just get it here ;).

mrwarp
09-26-2018, 02:48 AM
I would also like to point out that if you used a previous version of the parser (v306 or earlier), you should clear out the folder you run it in of all *.dll files and just use the v307 .exe standalone. If you don't, the parser will crash every time after you hit 'Start'.

Niph
09-26-2018, 03:54 AM
I also noticed that a few of the icons are now missing in the build planner, I suspect it is because of new icons in the game.


Edit: this is a real bug I introduced when fixing the crash in the old (306) client loading version 307.



Secondly, builds don't seem to actually... save their data anymore sad face..


Edit: as far as I can tell, loading is indeed bugged but if you reload a file it works.



I would also like to point out that if you used a previous version of the parser (v306 or earlier), you should clear out the folder you run it in of all *.dll files and just use the v307 .exe standalone. If you don't, the parser will crash every time after you hit 'Start'.

Edit: I confirm the issue. The program can't delete these files itself due to a limitation in Windows, so I have added a dialog box to tell the user to do it manually.

Ashreon
09-26-2018, 03:50 PM
I'm at the office, so can't check that but I'll take a look tonight and update this post.


Well, they do save it, but they don't load the saved version it seems. At least mine loads up blank even though there's save data in the txt file..

Niph
09-27-2018, 09:59 AM
I just uploaded a new version. Crossing fingers.

Ashreon
09-28-2018, 10:09 AM
I just uploaded a new version. Crossing fingers.

Version works :).

It still won't load armor/jewelry/weapons that you select, but I don't think it actually saves those? None the less it is not really an issue :)

Niph
09-28-2018, 10:33 AM
If you can PM me how you reproduce it, I'll take a look. I think it's working for me.

Ashreon
09-29-2018, 09:03 AM
Wait! It works, I think it was because I saved on top of an old file that it just didn't load it. Who knows.
All good on this end now :)!

Ashreon
10-19-2018, 06:39 PM
Niph
So... We're at it again. I have this sly feeling we will be at it each patch from now on.
However! Now, I actually know what the error is.

There is an element with the same key. Hussar for error logs!

Niph
10-20-2018, 03:02 AM
I like to play the game, that's why fixes are delayed by a few days every time the client changes.


I have this sly feeling we will be at it each patch from now on.

This is temporary. When I parse json files, I try to be resistant to change as much as possible, but I can't predict how they will be changed, and sometimes it leads to a crash. However, every fix means the same kind of change in future updates won't happen again, and eventually the parser will be resistant to all forms of update.

People that used the tool between, say, this January to July, can testify that it didn't crash then, it just reported a lot of warnings. Hopefully, the fact that the last two versions had issues is just a coincidence.

Ashreon
10-20-2018, 03:36 AM
Oh, it was not intended as a "you must fix this immediately". It's really just a "if you haven't spotted it, there's an issue with the new patch". You just take your time, there's always Gorgon Explorer although it is not nearly as amazing as yours :3 - okay, the new choose skills and see each mod effect on them kind of is a really great idea, but it lacks the amazing dataminer :P.

I could fix it myself if I took a look at the code or help, I contemplated doing that first, but then it is your software and I don't much feel like intruding - that and I kind of stopped doing the whole add-ons and third party programs for games because in the long run I got tired of having to fix them when a new patch broke them because something was changed :). As you say.. I wanted to play the game :P.

As long as PG is in beta mode, I have doubts that it won't continue to break on a patch.

Delfofthebla
02-17-2020, 11:29 AM
Any chance we could get this to show skill damage tooltips with the gear mods applied to them?

Niph
02-17-2020, 12:26 PM
Any chance we could get this to show skill damage tooltips with the gear mods applied to them?
I'd like to, but it's a lot of work, and I have a huge queue of other projects waiting for progress. :(