.json files (upcoming feature)


Here's a feature I'm currently working on - this lets you enter a command into the cheat console and save a bit of information on sims and relations so that you still have a record of sims' names and parent relations even when some are later culled by the game! For now this information isn't loaded in for use in my mod, but I will be integrating this later - it's just good to have it available so you can save info in advance of your sims being culled, and then this can be used in future versions of the mod.

This is a bit more of an advanced feature and took some work, so once I've fixed the bugs and posted it I'm going to keep it in early access for a couple of weeks (per EA's terms of service) before releasing it for free.

How it'll work: I wanted to have the freedom to combine information from different saves (so you can 'rescue' sims/relations from old versions of your save) while still being able to have completely separate lists if you have multiple separate saves, so you need to choose a name for your file - I've chosen pine since my legacy is the Pine family, so just replace that by whatever you want to call it. When you've loaded into a lot, enter riv_save pine into the cheat console. Then the mod will create two files in the same folder as riv_rel.ts4script, called riv_rel_pine.json and riv_relparents_pine.json, or it'll update these if they already exist. When updating, if a sim's name/gender is different then the new list will have the most recent name/gender available, and if the sim exists in the .json file but not in the game then they will be registered as culled in the file.

I've given more specific info below for the inner workings:

Example of a list item in riv_rel_pine.json (the 'time' is only there to make sure that the most recent sim info is used, so you can run riv_save on multiple versions of the same save without paying attention to what order you're doing this in):

{"sim_id": 123296393701949468, "first_name": "Zaaham", "last_name": "Pine", "is_female": false, "is_culled": false, "time": 337702201}

When you update this file, the mod takes two lists: the list in the json file, and a list of sims in the game. For each sim in the game, if that sim is also in the file, it changes the sim's details in the file if the name/gender is different and the in-game time is later than it was when the sim was last updated in the file; if that sim is not in the file, it adds them to the file. Then the mod does another pass through the file to register sims as culled if they exist in the file, do not exist in the game, and aren't already listed as culled in the file.

Example of a list item in riv_relparents_pine.json (meaning the sim with the ID in "" has two parents, with the sim IDs given afterwards):

"653595261683042064": [123296393687597070, 123296393701949468]

When you update this file, the mod takes a list of all sim IDs that are in the json file and/or the game, and sets the parents listed to be any sim IDs that are in the parent list in the file and/or in the game. This eliminates the need for timestamps and makes sure that parent connections aren't lost in the file even if they've since been lost in the game. I'm still getting an error in this bit but hopefully I can figure out why soon!

Get [unsupported] riv_rel - genealogy mod for sims 4

Leave a comment

Log in with itch.io to leave a comment.