cadon / ARKStatsExtractor

A tool for the game ARK: Survival Evolved. Extracts possible levelups of creatures to get the values for breeding. With library and pedigree-view.
MIT License
481 stars 248 forks source link

Way to merge imports with manually added creatures #1162

Open piotrch opened 3 years ago

piotrch commented 3 years ago

Before I've learned how to import dinos I've been adding them manually with the help of OCR - added more than 500 creatures like this. Now I would like to add them again using import to have full info on colors and in game # (needed apparently to automatically fill the parent name for imported babies) but I would need to delete manually added ones and that would break the whole pedigree history for my creatures. We need a way to merge imported creatures with the existing ones so a result record would include all imported stats and information but keep the internal ID of a the older record so creature would be still visible in the pedigree history of her descendants. I hope I've explained it well :)

coldino commented 3 years ago

This is difficult currently as imported creatures use their Ark IDs for internal IDs. It would also be difficult from a logical perspective - how do you know which creature to merge an import with? It would likely need new UI to select a target as name matching alone surely would not be robust enough.

However, one important thing you might not know... Ark does include full descendants information in creature exports - but only if you first view them in the creature's inventory before exporting. With this information included you can easily recreate entire pedigree trees just by importing a few creatures. Maybe this allows you to start a new library without losing anything?

piotrch commented 3 years ago

I wouldn't even ask for figuring out AI for this - just a manual selection what to be replaced - maybe just additional option in the extractor window: below the "Add new to Library" button you would see a second option "Merge with existing" and a drop down list of creatures of the same species in database - selecting one and clicking "Merge" would overwrite existing creature stats with the ones from current extractor window. I know that ark does not include descendants information but I have this information entered manually - like 20-30 generations of creatures entered manually so it would be a pain to fix it manually. I think the above proposal is not a complicated and could be useful for many people out there.

harry323 commented 3 years ago

@coldino I'm experiencing an odd issue that you mentioned in your comment here. In my single player game, when I breed dinos and then export the babies, the lineage information populates in ASB just fine without me having to manually view the dino's lineage info in-game. Now I'm playing on a private server and I'm having to do as you said which is to view the lineage info in-game and then perform the export. Is there a reason that the lineage info imports in my single player game? Is there not a way to do the same on a private server?

coldino commented 3 years ago

As this is an Ark issue I can't really say for certain. All I can say is that we know you need to open the ancestry windows to get the data included in the export when on a server...

I presume that opening this window causes the data to be sent from the server to the client, and this explains why it works in single-player mode because the client and server are combined (essentially).

harry323 commented 3 years ago

Ok that makes sense. It was driving me crazy that it wasn't working and I had messed around with some of the dino stat settings so I thought that I had broken something. Glad to know that it's normal. Thanks for the clarification.

piotrch commented 3 years ago

I guess client is not downloading initially all the ancestry info as probably more than 99% of babies is getting killed anyways without need of this knowledge. However, update could be triggered when player asks for the export. Knowing Ark devs they have billion more important problems than fixing this :/