y'all have been waiting forever. I apologize have released a new Sims 4 mods list featuring EVERY SINGLE MOD I have installed in my game! it is WAY too long for Tumblr to handle so it is now on Google Sheets, and available to view right now!
if you need any help learning how to mod in the Sims 4, l've released a new YouTube video covering EVERYTHING you need to know! watch here.
I've had a few folks ask me about creating a blog series on how I made the Premade Sim and Relationship Overhaul mod, and how they can do similar projects. This is the first of four or so blogs on the subject, starting at the beginning - creating new premade sims, including occults. Please note that these are intermediate level tutorials, and assume you are familiar with the basics of XML modding, Sims 4 Studio, and the Premade Household Tool.
--------
Creating New Premade Sims
The biggest tool in your arsenal of creating new premades is Denton47's Premade Household Tool, available here: https://modthesims.info/d/669907/ts4-premade-household-tool.html. It is a fantastic and very straightforward tool - you create your new premade sim (or make over an existing sim) in a save file, exit out of the game, and then open the tool and load the save, extracting the household. If this is an override of an existing household, you'd want to check a few boxes, if a new household, you don't need to. There are instructions on the actual mod page that are much more thorough so I'm just glossing over that here for the sake of time.
What you need to know is that, to add new premades, you need to assign them to a specific world either as a townie or as a resident of a specific lot. Assigning townies requires overriding a region description, and these overrides conflict*, so you will need to carefully consider what region you want to use. For example, my Aliens Reloaded mod uses Sixam to add townies in order to avoid conflicts, as Sixam is the aliens world. You can safely add multiple housed sims to the same region even with different mods/files, so long as they're assigned to different lots. If different households are assigned to the same lot, then generally only one will get successfully added. Please communicate to your mod users what region or lot you're using.
[*It may be possible to add townies to the same region via script injection - I am currently investigating this and will update this blog if I find a method.]
To ensure safety if someone does not own a pack, or if they disable a pack, please make sure to edit the group number of the world description and/or world file so it matches the pack the world is from - for example, Get to Work, or EP01, has a group number that ends in "03". The latest version of Sims4Studio will allow you to select the DLC in a dropdown and will automatically set the group number for you.
If you are making a special NPC or special NPCs, then to protect them from Neighborhood Stories and MCCC make sure to also set their household status to "Hidden" in the Premade Household Tool. You can edit this in the edit tab.
--------
Creating Two-Form Occult Premade Sims
Occult sims are a bit more complicated to create than regular premades - especially if they have two forms, like aliens, vampires, mermaids, and werewolves. First, make sure when you save your save file they are in their human form. It is important to extract their household data using the Premade Household Tool when they are in their human form or else the extraction will grab the wrong information and they will spawn incorrectly with missing data.
Second, these sims need a few additional steps. They need premade household templates and premade sim templates to be added to them, and you also need to separately extract their human and occult form SimInfo data from your tray files using Sims4Studio or another program (just make sure to save them to your library first).
To extract using Sims4Studio, go to "Content Management" -> "My Library", right click on the household you want and export to whatever folder you're using. You will see three files exported. Human, Occult, and Sim. You only need the Human and Occult files. You can safely delete the Sim file.
These two files (Human and Occult) must be imported into a package file, preferably with your premade household and premade sim templates. Since the instance numbers of these two files are the same, please change them before importing, as importing these files without changing the instances will result in only one file actually making it into S4S.
Here is an example of the editing you should do - paste the new unique instance between the exclamation points as shown. This should be a unique hash of some kind to prevent potential clashes:
The new SimData must be referenced in their premade sim templates like so:
Once that is done, you'll need to open the household data in the Premade Household Tool, navigate to the Edit Household section, and paste in the instance number for your sim's premade household template into the household section, then go to Sim -> Gameplay Data -> Premade Sim Template to add in the instance for their premade sim template.
Please note that this process only works for creating a premade occult sim. There is, as of the moment I'm writing this blog, no way to create an occult sim with a specific look from a tunable sim template. So if you want to make a special two-form occult NPC that has a specific in-game purpose, you will need three templates - the premade household and sim templates to add your sim of choice to a new save, and a tunable template that will create a randomly generated sim with the proper traits and skills in users' existing saves (or if your premade dies or is otherwise unavailable/invalid).
Spellcasters are not two-form occults and, if you are creating a premade spellcaster, then you do not need to do the extra step with the SimData. If you are creating one from a tunable template, just make sure to add their spellcaster trait so they are recognized as a spellcaster as it isn't possible to add occult simdata to a tunable sim template.
--------
Occult Sim Fixups
Keeping on the subject of occults, you will likely notice that some data does not survive the process of the sim getting turned into a premade. Things like occult rank, perks, and unlocks will need to be manually set through different types of fixups. Spellcasters specifically are a bit of a pain and require a special process, as NPC spellcasters are not coded in such a way that they can actually learn spells and fixups (adding in additional data to "fix up" a sim) can only happen when they are actually added to an active household.
For Vampires/Werewolves: these fixups are best done via loots. If you are using a script file to deliver relationship loots on new save start (like my Premade Sim and Relationship Overhaul mod does), then you can have your vampires or werewolves deliver these loot from themselves to themselves and set their appropriate rank and unlocks that way (I will share more on this process later). Alternatively, you can assign them a self-deleting trait. Trait -> loot on instance -> have the loot set rank, etc -> have the loot delete the trait so it won't fire the next time the sim instances in.
For Spellcasters: spellcasters are coded differently than other occults. The most important thing to know is that only spellcasters in households that have been played at least once can do magic and everyone else is just faking it. "But why do spellcaster premades, townies, and the sages have spells when I add them to my household?" you might ask. That's because the devs gave them hidden fixup traits. You will need to do the same with your premade spellcasters. This fixup trait should have your spellcaster's rank, unlocks, and spells specified on it, and will take effect when the sim is added to an active household and is no longer considered a NPC.
For examples of how these fixup traits are supposed to look/work, please see any of the simInfoFixup_Magic_Spells traits. You can check them through tools like the XML Extractor, the TDESC Browser, or directly in Sims4Studio.
You can add extra loot to make these self-deleting, but I have not bothered as users won't generally see these traits unless they're messing around with MCCC.
Mermaids and Aliens do not require fixups, as they do not have skill trees unless you are playing with mods. If you are playing modded, generally the abilities are added through hidden traits, and you should assign these through the standard Premade Household Tool process to avoid potential errors on new save start if someone disables a pack (I will expand more on this in a later blog). The premade Aliens Reloaded aliens generally use this method.
--------
Milestones Fixups
Milestones fixups follow a similar logic to spellcaster fixups. Without mods, premades, townies, and NPC sims that have never been played do not have any milestones. Existing Maxis premades have fixups on their premade sim templates that add these milestones when the sim becomes played. However, this does not work quite so well for our purposes, as users without Growing Together get errors on new save start if you try to add milestone fixups via a premade sim template - even using the group ID trick. At present, only Maxis/EA premades can use this method safely.
I'd recommend instead using a self-deleting trait to assign the milestones via a loot. The procedure is trait -> loot on instance -> milestones loot -> delete trait. You can add a test to the loot on instance to make sure it only runs if the sim is in a played household.
Make sure the trait and your initial loot have the group number for Growing Together (EP13 = 00000036). If you have a milestone that belongs to another DLC (not Growing Together) it should be chained inside of the Growing Together loot, using an action to deliver a second loot with your DLC-specific milestone. The second loot should have the group number specific to that pack. Please be very careful when assigning milestones, as they are very unsafe and may cause save issues for users. Test thoroughly!
The next blog in the series, "Setting Premade Sim Relationships" tackles the topic on setting relationships between different premade sims on new save start and have more on pack safety and chaining loots. Available here.
So for todays project I thought I would try and put something together quickly (spoiler it took a lot longer than it should have...), basically I just wanted to recolour some wall paints using a similar process to how I made the freckles.
Here’s my paints in game (you can download it here):
How I made it
So to make these I used two tools -
GIMP photo editor (the download button didn't work for me, so I had to go into 'direct download here' and then select 'gimp-2.10.0-setup-1.exe'
sims4studio (you need to make an account)
To start in sims4studio, I clicked ‘standalone recolour’ underneath build. On the next page I selected the wallpaper I wanted (I chose a green from the dark basics paint).
From there you’ll get to the view where you can start to edit, add swatches and thumbnails. At the time of writing this, you should find 3 tabs:
Catalogue: Here you can set the name, description & price. These will show in game like below.
Texture: Here’s where you’ll choose the thumbnail and download the needed files & re-upload your recoloured files.
Tags: These are used in the in game search, in here for wall paints, all I had to change was the colour tags - you’ll find objects and other types of items will have way more tags to select from.
So with the basics under your belt, lets talk about how to actually recolour.
On the texture screen you’ll be faced with this:
At the top you have the swatch thumbnails, click on this and you can change the thumbnail colour.
In the texture box, you’ll want to hit the ‘export all’ button, this will download 9 files to your chosen folder, the 3 you’ll want to pay attention to are the 3 colour pictures. Each of these represents a different wall height.
Open up these 3 files in gimp, then you’ll want to go to select ‘Colors’ from the top menu, and then colorize.
On the next window click the big blue box - this will open a colour picker and you can choose your shade. Before you hit ok, I recommend grabbing the HTML colour code (this will be a 6 digit code made of numbers and letters which represents the colour). You can then do the same thing on the other two wall heights copying this code straight across.
Once you’re happy, on each image select file > export - this will save it as a png file. You can give it a new name or just overwrite the one you downloaded. Back in sims4studio, you can click though the different wall heights and hit import to upload each new colour.
And voila! Done! You've made your own custom wall paint!
You can add as many colours as you want by hitting ‘add swatch’ at the top.
Then hit save and it will automatically save it as a .package file you can stick straight into your mods file!
My struggles
So I made a few mistakes that made this whole process take a lot harder than it should have been, here they are & how I would recommend avoiding them.
Choosing a light coloured wall paint with trim - basically when you're using the magic want tool to select an area in GIMP (so you don't colour the trim as well), you'll want a colour that contrasts so it's picked up easier - so if it's a white trim, go for a dark paint colour.
Losing the HTML colour code. Because of the way colourise works you need to basically apply the new colour once over the same background colour. To avoid losing the code I started using it as my thumbnail colour in sims4studio immediately after doing the first wall height. You can easily re-grab the colour from there, but it's not so easy to do in GIMP.
Hitting cancel in sims4studio - basically there's no warning message & I lost about half an hour of work I had to redo (thankfully quicker the second time round as I'd saved the wall paints as new every time instead of replacing). But my tip here is save often, you don't go back a page or anything so there's no harm in hitting save between swatches.
I hope this helped someone, although I’m mostly using this account to chronologize my own modding journey - and I will most likely refer back to this post a lot to do more CC in the future.
If you’ve read this far, thank you! & if you have any struggles or questions about making CC/mods (at my low level) feel free to drop me a message and I’ll try and help!
This is the next blog in my series on how to create premade sims in Sims 4 and set their relationships, even with other sims outside of their households. The prior blog (available here) discussed how to create premade sims on new save start, including occults.
Note that this is an intermediate tutorial series that assumes you are familiar with XML modding, Sims4Studio, and Denton47's Premade Household Tool (which I'll refer to as the PHT).
There are a few different ways to set premade sim relationships on new save start. If you are setting these relationships within a single household, then you need a premade household template and premade sim templates for your sims. These should be, of course, inside a package file. You can create and edit these within Sims4Studio.
The premade household template should contain links to the premade sim templates. Generally, the data extracted by the PHT will override most things inside the premade sim templates, so those can be blank so long as you're not creating a two-form occult (or assigning a career NPC to a specific lot, which I'll discuss later.)
As discussed in the occult sim section of the previous blog, to add in premade household and sim templates, you need to extract your sim's household from the save file you created them in using the PHT. Then open the package you just extracted in the PHT, navigate to the Edit Household section, and paste in the instance number for the households' premade household template in the section.
The next step is to go to Sim -> pick the appropriate sim -> Gameplay Data -> Premade Sim Template to add in the instance for their premade sim template. The gameplay data section must be expanded for the premade sim template line to be visible. Repeat for as many sims are in the household. Each needs to have a unique template with a unique tuning ID and instance, even if they're blank.
Once your templates are linked, you can set appropriate relationships within the premade household template, with the premade sim templates specifying who each sim in the relationship is. The PHT will override some of this data, so you may want to create sims in families as unrelated or break these relationships in CAS before extracting.
Please note that the relationships in the premade household template are not packsafe. If you use anything that is associated with a DLC (for example, the Parenthood relationships between family members) a user will experience errors on new save start if they do not own the pack, or have the pack disabled. This is also true of modded relationships, if they are DLC specific or if a user might not have the mod.
Setting Relationships Outside of the Household
If you want to set relationships with sims outside of the household, or set DLC-specific relationships in a packsafe way, then you need to either override the World.Premade_Sim_Relationships file or inject to it using a script mod.
If you are planning on making your mod compatible with my Premade Sim and Relationship Overhaul (PSRO) mod, then you can just copy my injection snippet (just make sure to change the file name and replace the tuning with your own) and have my script file do the work for you. Otherwise you will need to create your own script file. You can copy the Python coding from my script file and edit it appropriately, please just give credit to januksenkosketus for writing it.
Using this method (override or injection snippet), you can set relationships between any two premade sims, provided they have a premade sim template. This is just a loot that travels from sim a to sim b, with the specific sims identified by their premade sim template tuning IDs.
For base game sims - or any sims - that do not have a premade sim template, you will need to add both a premade household template and a premade sim template using the method specified above - or you can require that your users install the PSRO and target your loots to the premade sim templates of the PSRO sims. (I will write more on this in a later blog.)
Sim Fixups with Loots
Because setting relationships with World.Premade_Sim_Relationships is just sending a loot from sim a to sim b, there are many, many things that you can do with this. First, sim a and sim b can be the same sim, which allows you to do certain types of fixups or assign self-deleting traits, etc.
This premade sim is supposed to be a detective, and was given the EP01 (Get to Work) detective career. I wanted to ensure that, if a player did not have EP01, that this sim would still appear as a detective to catch the new burglar. I was able to do that with this fixup loot, which tests if the sim actually has a career on new save start. This is just one example of the many things you can do.
Making Loots Packsafe
For most types of XML modding, you can use something called the "group ID" trick to prevent the game from trying to call coding and files that a user doesn't have installed. The group IDs correspond to specific packs and DLC and if a user doesn't have that pack the game recognizes it and won't fire the coding. This prevents weird errors from occurring.
However, the new save process does not recognize or honor the group ID trick. Neither the premade household template nor the World.Premade_Sim_Relationships loots are packsafe. If anything contained in this first layer is not in the base game, or a DLC that the user has installed and enabled, then they will experience errors on new save start and all loots after the invalid one will not run.
To avoid these errors, you can chain your loots. The first layer of loots, referenced in World.Premade_Sim_Relationships or in the injection snippet, should contain only base game files (relationships, traits, careers, etc). The second layer (and anything after that) will honor the group ID trick and can be freely used to deliver DLC-specific content. You can chain/layer your loots using an Action inside the first loot.
In this example, I use one base game loot to deliver a second loot that sets the Parenthood-specific "Authority" track between a parent and child sim. The second file uses the group ID trick.
If you regularly disable certain DLC to play without some packs, such as for game challenges, or if you regularly disable certain DLC to test your mods, then I would strongly recommend only putting base game files in this first layer. So, only base game relationships in the premade household template, and only base game stuff in the first layer of loots from sim a to sim b.
Everything else should go either into a follow-up loot delivered via an action from the first loot, or should be contained within the extracted household/sim data from the PHT. This is the most packsafe way to structure things.
Testing Your Edits
Please be aware that any errors editing these files (the wrong loot, sim template ID, etc) will result in save errors on new file start and that last exceptions will not be able to diagnose what's wrong. I suggest testing each addition thoroughly before moving on to the next stage.
So after yesterday's fairly successful venture into making some CC I decided to do something more on my speed today, and I got started on some actual programming. I followed along with this tutorial (parts 1 and 2) to make a hello world mod.
For anyone unfamiliar with the concept of 'hello world', it's basically coding 101. Whenever you start learning to code or learning a new tool or language, you'll generally start with a hello world. The idea being to print out hello world to the console.
The mod itself is very simple, basically you type ‘hellow’ into the in game console, and it spits out ‘hello world’. Whilst this mod is super simple and not very useful, it’s helped me get started on learning the basics of modding in the sims.
Here’s what I’ve learned from making this mod:
How to access the Sims 4 python code.
The general structure of their code.
How to create terminal commands in game.
How to compile and package up my own scripts to add them into the game.
The tutorial was mostly easy to follow, although I had some issues installing python initially. For anyone wanting to follow along with that tutorial, or just get started with Sims 4 modding in general, if you're having issues installing python here are my tips:
If you're on Mac, don't bother downloading it from the python website, instead, I would highly recommend installing homebrew, it's a package management solution for mac and Linux devices that allow you to easily install tools like python - it's something I use constantly at work. Once you have it installed you can simply type:
brew install [email protected]
This will install the latest version of python for you.
You will also need pip to follow along with the tutorial, to install this you can type the following on terminal:
For Windows devices, you will need to follow the link in the article, from there below the download at the top button select 'windows' and then find a version of python 3.7 that has an executable installer (for me the latest version I could find with an installer was 3.7.8) - I personally couldn't figure out how to install it just from the files along.
When you've launched the .exe file, before pressing install now, be sure to check the box to add Python to the path:
Then finally, to install pip (which is required in the tutorial) open up command prompt and type:
python get-pip.py
I hope this helps anyone who might have struggled to install Python. I've never found programming on Windows to be very easy and it took me a long time to figure this out!
I won't include today's mod as it's not going to be very useful to anyone in-game, but I wanted to document it anyway!
If anyone does decide to follow along with the tutorial and gets stuck at any point, feel free to drop me a message and I'll try and help!