coavins / mhrise-coavins-dps

A detailed DPS meter for Monster Hunter Rise (PC)
GNU General Public License v3.0
24 stars 11 forks source link

A Death Counter: A fun way to tease your mates #15

Closed Thorbenl closed 2 years ago

Thorbenl commented 2 years ago

Is your feature request related to a problem? Please describe. Friends and I set up a MH Rise day, where we just have fun a quest. But we are all data nerds, so we would like to record some data. I do have most of what I need, but I really cant seem to find the death counter for each players per quest. :(

Describe the solution you'd like Something like

player.deaths.death_num = 0;

that I can look at/pull out into my JSON :)

Describe alternatives you've considered I tried with

local quest_manager = sdk.get_managed_singleton("snow.QuestManager");
local death_num = quest_manager:get_field("_DeathNum");

But the death of our players seem to be sent over the wire, so idk :(

Additional context I am building a data set that looks like this :)

{
    "date of hunt": date
    "carts_total_all_members": number of carts in party, i can calculate that,
    "players": [{
        array of objects, deaths in the quest :)
    }]
    "total_dmg_today": for funsies
    "mosnters": some info here, idk yet

}

This will be a fun little project, so we can keep track of our hunts. (yes, this needs the json api and new verison of REF, but im using that locally). I just cant find it in the game itself, where the deaths are recorded.

coavins commented 2 years ago

I plan to count carts in the overlay at some point, in addition to other fun data like how much everyone healed each other, number of potions/lifepowder used, etc. As you say, the cart counter will probably have to be done manually by hooking into a function that is triggered when a networked player is carted.

I also intend to eventually add an option to automatically export all data that was captured during the quest into a convenient report file, likely in JSON format. It sounds like this would be useful for your purposes.

Thorbenl commented 2 years ago

I plan to count carts in the overlay at some point, in addition to other fun data like how much everyone healed each other, number of potions/lifepowder used, etc. As you say, the cart counter will probably have to be done manually by hooking into a function that is triggered when a networked player is carted.

I also intend to eventually add an option to automatically export all data that was captured during the quest into a convenient report file, likely in JSON format. It sounds like this would be useful for your purposes.

Sounds like a plan! :) I would love to help on that development, if you want/need :) Sounds exactly like the stuff i need. I started building it already, even tho its not much.

coavins commented 2 years ago

I would be happy to have your help! If you are working on exporting, a good place to start would be to write a function that accepts a boss collection as a parameter and simply exports that entire collection into a JSON file.

My plan would be to expand on that function to loop through the collection and manually pull data into a proper report file that is organized in a more useful way. It could then be taken a step further with a new script that would be run manually outside of REFramework, which would allow us to read this report file and generate other more useful file formats such as csv or even svg charts.

If this is something you're interested in, feel free to fork this repo and create a pull request to track your work. I would be happy to merge your efforts. I don't plan to start any work on exporting for a while as there are still a lot of major features in the overlay that need to be added.

Thorbenl commented 2 years ago

I would be happy to have your help! If you are working on exporting, a good place to start would be to write a function that accepts a boss collection as a parameter and simply exports that entire collection into a JSON file.

My plan would be to expand on that function to loop through the collection and manually pull data into a proper report file that is organized in a more useful way. It could then be taken a step further with a new script that would be run manually outside of REFramework, which would allow us to read this report file and generate other more useful file formats such as csv or even svg charts.

If this is something you're interested in, feel free to fork this repo and create a pull request to track your work. I would be happy to merge your efforts. I don't plan to start any work on exporting for a while as there are still a lot of major features in the overlay that need to be added.

I am not familiar with lua at all, but will take this as an opportunity to pick it up. My initial plan is to parse it into Pandas (python) and make some nice charts out of it, like tracking a group's dmg over time etc .) Im a scientist after all, and data is neat! :D

I made a dirty little script that puts it out into a json file at the end of the quest, but sadly lua cant append do a file or insert, so its gotta be a file per quest or so :(

Maybe starting by expanding with missing features would give me a good introduction into the language :)

coavins commented 2 years ago

I've split off the request for export support into issue #24.

coavins commented 2 years ago

@Thorbenl The death counter was added in #30 and will be included with the next release.

Thorbenl commented 2 years ago

@Thorbenl The death counter was added in #30 and will be included with the next release.

thanks for doing this :)

Sadly, Sundbreak doesnt start with Reframework installed, so I think i gotta wait for some compatbile build until i try this out