thommcgrath / Beacon

An editor for the beacons in Ark: Survival Evolved
https://usebeacon.app
GNU General Public License v3.0
50 stars 14 forks source link

[Suggestion] Mods #40

Open VasVadum opened 7 years ago

VasVadum commented 7 years ago

I'd like to be able to see mod items in this, any chance you can find a way to compile a list of items from mods that you have installed on the same machine as the tool?

If your JSON file, the one the program currently uses, was in human readable format, I might have tried to find a way to add a parsing tool that could help me gather up all the necessary data from mods to make my own tool to update the list of engrams and whatnot, however it was one solid line which hurt my eyes trying to read. :P

The mods I am most interested in having added, is Structures Plus, and others of Orionsun's design like Platforms Plus and Snappy Saddles.

thommcgrath commented 7 years ago

Mods are an issue a struggle with greatly. The primary issue is authority. I want the mod authors to be able to submit the information, but this presents a number of problems. Chiefly... that they won't do it. Secondly, even if they do, they won't maintain the list.

Regarding the JSON file, you can bring the contents into something like jsoneditoronline.org to make it more tolerable. However, I don't expect there is much you'd be able to do with it. You could get Beacon to import your customized file, but during the next version update, all your changes would get nuked. So I don't think it's an idea that would help you very much.

The good news I may have some of a solution in my head. I've got a tool that I use to scrape the ark game files after each major update so I can get the online database updated, usually within hours after release. Such a technique may be possible to scan your local mods folder, however I fear it'll wind up with a bunch of extra junk that isn't intended to be seen. There's other stuff such as environment available (scored vs island) that is still something I haven't been able to automate. So it's an idea, but just not quite there yet.

VasVadum commented 7 years ago

I'm not sure, several modders I know of publicly give their engram lists and such and are willing to export data for users.

I have a script I used to scrape the game files for engram names for users who follow the standard engram naming format; https://pastebin.com/gegQzT08 - It comes back with duplicates often but I only have a very very very basic understanding of coding. :P

Also, any way you'd be able to somehow parse a spreadsheet page into a usable beacon data? I could always change the format around a little so long as it still allows me easy managing abilities. :P But here's what I got so far for the white beacon; https://docs.google.com/spreadsheets/d/1xodurE_mQyDvq2dx6hQqoKHHc16yycuAIttdhHuRIvA/pubhtml?gid=2070658788&single=true

It would be nice if your tool didn't delete data that it didn't understand. Like data from mods. It should keep these values and display them anyway, perhaps in their original code name instead so instead of "Thatch Floor" it would show "PrimalItemStructure_Foundation_Thatch".

thommcgrath commented 7 years ago

Well for the record, you don't need anything special to support mod items. When adding an item, type its class string, such as PrimalItemStructure_Foundation_Thatch in your example. You'll see that as an option in the list which you can check off. That's 100% supported. The discussion at hand is getting a map of mod class strings to human-readable names, like the built-in stuff has.

The main reason Beacon rebuilds its local database each update is due to structure. SQLite doesn't handle modifications (add columns only) so if something needs to be renamed or removed, it's a total pain. So Beacon just rebuilds after each update to ensure it has the correct schema.

What I'd like to do is offset some sort of API and/or web page where mod authors could submit & maintain their list of items. I'm not convinced it would be used enough to be worthwhile though.

VasVadum commented 7 years ago

I tried to import a test version of a custom game.ini that I made with beacon, then replaced all the names of items in the file with the modded versions. When I imported after, it imported nothing. So it doesn't seem to support the custom item names.

I could probably create a spreadsheet where I can get a list of all the items that will exist in my server, and set it up in such a way that making a json with it might be easy, if you think it would help with making a temporary mod capable beacon that will allow me to set up what I need. There is something I noticed however that your beacon does that it probably shouldn't.

Are you on Discord? I'm on the ark modding discord right now, and in a few others. Vas#1890

thommcgrath commented 7 years ago

If I wasn't on my way out the door, I'd be happy to jump on.

Post the file you're trying to import. It does (or should) work, so it's give me an opportunity to figure out what is going wrong.

VasVadum commented 7 years ago

I already deleted the file. Basically, just make a beacon file, using one single engram in a single beacon. White beacon, with thatch foundation. Export that to game.ini, go into game.ini and replace the thatch foundation item name with the one I gave you here which is the foundation from structures plus. Then try to import that game.ini afterwords. Thats what I did.

The odd thing I'm seeing with your tool, is that it creates two versions of every item. One for blueprint chance, and one for the item. But the game string, already has the blueprint chances in it.

ItemEntries=((EntryWeight=0.9,ItemClassStrings=(PrimalItemStructure_AdobeDoor_C),ItemsWeights=(1),MinQuantity=1,MaxQuantity=1,MinQuality=0,MaxQuality=7,bForceBlueprint=FALSE,ChanceToBeBlueprintOverride=0)

ChanceToBeBlueprintOverride=

But you have the item in there twice, one with forceblueprint to be true, the other not.

thommcgrath commented 7 years ago

The custom string you're using, does it end in _C? That's a requirement.

As for the blueprint chance, that's to counteract some of Ark's stupidity. Say you tell it to choose 20 rifle bullets with a 50% chance of getting a blueprint instead. You might expect either 20 bullets or 1 blueprint. Or maybe 20 bullets or 20 blueprints. Nope. Ark would give you (statistically) 10 bullets and 10 blueprints. So Beacon crafts the definitions to work more like the average user would intend.

VasVadum commented 7 years ago

Ah. Well I'm encountering all kinds of parsing errors while trying to parse my spreadsheet. Bleh, this is annoying. I have so many beacons to alter, all of them basically, and I don't think I can. I also don't understand the item quality thing which is one reason I wanted to use your tool so I can get the qualities right.

I would have a much easier time, compiling a parse friendly list of all the items that exist in my game, than I would trying to parse this thing here. :P

VasVadum commented 7 years ago

Edited this to remove no longer relevant data. :P 2 suggestions left not in their own thread.

  1. Option to auto add _C to the end during custom BP inputs.
  2. Option to save a list of manually inputted Class Strings that won't be affected by a JSON update. This should be a file somewhere that would let you alter the names of entries.