Difference between revisions of "User:Infinithil"

From Sim Settlements
Jump to: navigation, search
(Toolkit 05 added, still searching for a missing picture)
m
 
(51 intermediate revisions by the same user not shown)
Line 7: Line 7:
 
Have a nice day!
 
Have a nice day!
  
 +
Last finished: [[Toolkit Extra - Advanced Possibilities]]
 
----
 
----
 
Workshop area
 
Workshop area
 +
----
 +
[[Toolkit Extra - Custom Flag Tutorial]]
 +
----
 +
 +
All of my guides will highlight things that are specific to your experience level: <span style="color:#006400">'''Green for beginners'''</span>, and <span style="color:#FF0000">'''Red for seasoned modders'''</span>. So if you’re new, you aren’t meant to understand the red messages, and if you’re a vet - you can probably skip the green.''
 +
 +
''If you’ve never built a mod or used the Creation Kit before, it’s recommended that you go through the Sim Settlements Builder’s Toolkit. Even if you aren’t interested in creating buildings for Sim Settlements, it teaches you the basics of the Creation Kit and shows you how to package and upload a mod.''
 +
 +
 +
This tutorial will go over adding custom flags to the Sim Settlements system. It does not cover photo-editing techniques, only the steps needed to convert an image into a custom flag for use with Sim Settlements.
 +
 +
<span style="color:#000080">If you already have a mod with custom flags, and you’d like to integrate them without making Sim Settlements a dependent mod, please contact me and I’d be happy to show you the steps required.</span>
 +
 +
 +
==Programs Needed==
 +
 +
'''[http://www.gimp.org/downloads/ Gimp] or Photoshop'''
 +
 +
'''[http://registry.gimp.org/node/70 Gimp DDS Plugin] or [https://software.intel.com/en-us/articles/intel-texture-works-plugin Intel TextureWorks Plugin]'''
 +
 +
'''[http://www.nexusmods.com/fallout4/mods/3635/ Material Editor]''' by Ousnius
 +
 +
'''Creation Kit''' (or XEdit, though this tutorial will only show the steps in the Creation Kit)
 +
 +
'''Sim Settlements 2.0.8 +''' (make sure you have the mod installed as it includes scripts you’ll need)
 +
 +
 +
Used in this tutorial are several files:
 +
 +
Flag_Material_Template.BGSM - which tells the game which texture files to use.<br/>Flag_Diffuse_Template_d.dds - which is the art texture file.
 +
 +
And two optional files, that you most likely won’t need unless you’re a 3d artist. Most people will just want to use the game’s default files for these.<br/>
 +
Flag_Diffuse_Template_n.dds - which is the normal map <br/>Flag_Diffuse_Template_s.dds - which is the specular map
 +
 +
Download the [https://www.nexusmods.com/fallout4/mods/22808 full Builder's Toolkit] to get the files.
 +
 +
 +
==Setting Up Your Files/Directories==
 +
 +
# Go into your Fallout 4/Data folder, this is usually found under C:/Program Files(x86)/Steam/steamapps/common. This is where your game files exist.
 +
# If you don’t have a folder called Textures, create it. Then inside of that, create a new folder for your mod. Copy Flag_Diffuse_Template_d.dds to this folder, now rename it something for the first flag you want to create, for consistency sake, make sure it ends in “_d” like the current name.<br/>So if you decide to name it MyFlag, name it MyFlag_d instead. The d stands for diffuse, and represents what most people would consider the texture.
 +
# If you don’t have a folder called Materials, create it. Then inside of that, create a new folder for your mod. Copy Flag_Material_Template.BGSM to this folder, now rename it something similar to the texture name you used above for the first flag you want to create.
 +
# Open the .BGSM file you just renamed in the [http://www.nexusmods.com/fallout4/mods/3635/ Material Editor] program.<br/>[[File:Toolkit Extra Custom Flag Tutorial image01.jpg]]
 +
# Go to the Material tab, then click on the grey box to the far right next to the Diffuse Texture row, and navigate to the DDS file you copied in step 2. Now save the material and exit this program.
 +
 +
<span style="color:#FF0000">If you are going to be creating custom normal and specular maps, you would link those files here.</span>
 +
 +
 +
 +
==Making Your Custom Flag Art==
 +
 +
Open the DDS file you copied into your directory in Gimp or Photoshop.<br/>[[File:Toolkit Extra Custom Flag Tutorial image02.jpg]]<br/>The flag art is made up of two images that look mostly identical, and for the most part you would fine using the same image on top and bottom. Though they are used slightly differently.
 +
 +
When the Martial Plot is manned, and flag is up in the air, only the top half of the texture is used on both sides of the flag. When the Martial Plot is not manned, and the flag is down, it uses both halves of the texture.
 +
 +
You’ll be fine copy pasting the top half to the bottom as it’s hard to tell the difference when the flag is down anyway. If you’re a perfectionist, you have the option to do each side separately.<br/>[[File:Toolkit Extra Custom Flag Tutorial image03.jpg|left|Bottom half of the texture]][[File:Toolkit Extra Custom Flag Tutorial image04.jpg|right|Top half of the texture]]<br/>
 +
The erased parts of the texture file are what will show up as holes in the flag.<br/>
 +
# Once you have your flag designed the way you want, do the following to save the file correctly:
 +
## Gimp: Choose File -> Export As, in the window that pops up, select the file you are editing, then press Export. A second window will come up with DDS settings.
 +
### Set Compression to BC3 /DXT5
 +
### Change Mipmaps to Generate mimmaps
 +
### Press OK.
 +
## Photoshop: Choose File -> Save As, in the Save As Type dropdown, select Intel Textureworks, click Save. A second window with come up with DDS settings.
 +
### Change Texture Type to Color + Alpha
 +
### Set Compression to BC3 8bpp (Linear)
 +
### Set Mip Maps to Auto Generate.
 +
### Press OK.
 +
 +
==Configuring Your Flag==
 +
 +
This portion uses the Creation Kit, it will be written as if you’ve never used it before, but you may want to go through a basics tutorial, such as the one included in the Sim Settlement’s [[Toolkit|Builder’s Toolkit]].
 +
 +
# Open the Creation Kit.
 +
# Click on File->Data and check in SimSettlements.ESM, then press OK.
 +
# Once the files are loaded, select the Object Window, and type '''kgsim*flag''' in the Filter box. This will show all of the different Sim Settlements objects related to flags.
 +
# Find the object with the name '''kgSIM_FlagDown_USA''', right-click it and choose '''Duplicate and Rename''', in the pop-up, type in kgSIM_ in the Search box, and enter your own prefix in the Replace box - it can be whatever you want. You’ll use this prefix to identify all of your custom objects.<br/>[[File:Toolkit Extra Custom Flag Tutorial image05.jpg]]
 +
# Press OK.
 +
# Now repeat step 4 for '''kgSIM_FlagWavingUSA01''', '''kgSIM_FlagWallUSA''', and '''kgSIM_DynamicFlag_Template'''.
 +
# In the Object Window, replace the Filter field with the prefix you used for your three objects.
 +
# Double-click '''yourPrefix_FlagDown_USA'''.
 +
## In the ID field, erase '''USA''' and give the flag a name.
 +
## Click on the Edit button near the center of the window. This will bring up the model selection screen.
 +
## Use the Material Swap dropdown menu to select '''Custom Material Swap'''.
 +
## In the large white section with the headings “Original Material”, “Replacement Material”, and “Remap Index”, double-click the white area under Replacement Material next to “clothflag01alpha.bgsm”.
 +
## Navigate to materials folder you created at the beginning of this guide and select your .BGSM file, and press OK.
 +
## Press OK again, and when prompted to Create a New form select No. You’ll then be prompted to Rename, answer Yes.
 +
# Repeat step 8 for '''yourPrefix_FlagWavingUSA01''' and '''yourPrefix_FlagWallUSA'''. The Wall version will be the exact same steps, and the only difference for the Waving version is that screen will look slightly different, so the Edit button won’t be in the exact same position.
 +
# Double-click '''yourPrefix_DynamicFlag_Template'''. This is going be your '''Dynamic Flag Record'''.<br/>[[File:Toolkit Extra Custom Flag Tutorial image06.jpg]]
 +
## In the ID field, erase '''Template''' and replace it with your flag name.
 +
## In the Name field, erase '''Dynamic Flag''' and replace it with what you want the player to see when choosing your flag from the list.
 +
## Select the '''SimSettlements:DynamicFlag''' script and click the Properties button.
 +
## Double-click FlagDown.
 +
### Select '''Static''' from the Form Type dropdown (there may be a slight delay before the Creation Kit response).
 +
### Check in the Filter box and type in your prefix.
 +
### Select your flag down model from the Pick Object dropdown.
 +
## Double-click FlagWall.
 +
### Select '''Static''' from the Form Type dropdown (there may be a slight delay before the Creation Kit response).
 +
### Check in the Filter box and type in your prefix.
 +
### Select your flag wall model from the Pick Object dropdown.
 +
## Double-click FlagUp.
 +
### Select MoveableStatic from the Form Type dropdown.
 +
### Check in the Filter box, your prefix should be there already (type it in if not).
 +
### Select your flag model from the Pick Object dropdown.
 +
## Press OK to exit the properties screen.
 +
## Press OK to exit the MiscItem screen, when prompted to Create a new form, select No. Then press Yes when asked to rename.
 +
 +
==Adding Your Flag to Sim Settlements==
 +
 +
<span style="color:#FF0000">If you already have an add-on pack, you can use your existing Quest during this setup.</span>
 +
 +
Now that you have a flag configured, you’re going to tell Sim Settlements about it.
 +
 +
'''You’re only going to do this section once, after which, you’ll only need to add additional flags to the form list you’ll configure in this section.'''
 +
 +
In the Object Window, expand the Character category, then select Quest. Set the Filter to “kgsim_addon”. You’re looking for a quest called kgSIM_AddonTemplate - right-click this and choose Duplicate. Now open the newly created kgSIM_AddonTemplateCOPY0000.
 +
 +
# On the Quest Data tab, change the ID to something unique <span style="color:#006400">(as always, remember to start with your prefix!)</span>.
 +
# Press OK. If it asks you to Create a new form, answer No, then answer Yes to renaming.
 +
# Next we’re going to prepare a FormList for holding your Flag(s).
 +
## In the Object Window, expand the Miscellaneous category and click FormList. Then in the right-side of the Object Window, right-click and select New.
 +
## Enter a unique id <span style="color:#006400">(remember to start with your prefix)</span>, for example: '''yourPrefix_FlagList'''
 +
## Press OK.
 +
# While you’re still in the FormLists category, change the Filter in the Object Window to your prefix and double-click the FormList you just created and drag it off to the side.
 +
# In the Object Window, expand the Items category, select MiscItem.
 +
# Drag your Dynamic Flag Record into the main part of the formlist. It should look like this:<br/>[[File:Toolkit Extra Custom Flag Tutorial image07.jpg]]
 +
# Press OK.
 +
# Next, in the Object Window, expand the Characters category, then click on Quest, and filter for your prefix to find the quest you made. Double-click it to open it up.
 +
# On the scripts tab, select SimSettlements:AddOnScript and click Properties.
 +
# Double-click on '''SIMParent''' and select kgSIM_SIMSettlementParent from the drop down menu.
 +
# Double-click the MyClutter section, it will be in blue and have a horizontal line next to it. This will expand the MyClutter properties.
 +
# Double-click MyMartialFlags.
 +
# Check in filter and enter your prefix.
 +
# Select your flag list from the Pick Object drop down.
 +
# Press OK to close the properties window.
 +
# Press OK again to close the quest.
 +
# Now click File->Save to save your plugin. Name it anything you like.
 +
 +
 +
==You’re done!==
 +
 +
Your flag will now be selectable from the flag menu on the City Planner’s Desk!
 +
 +
To add additional flags, just repeat the Configuring Your Flag section and add your additional Dynamic Flag Records to your flag formlist you created. No need to do configure additional quests.
 +
 +
If this is your first Addon for Sim Settlements, know that there can be a short delay after starting up your game before it registers completely with Sim Settlements, so don’t be alarmed if your flag isn’t there in the first 10 seconds.
 +
 +
[[Category:Toolkit]]
 +
 +
----
 +
[[Toolkit Extra - FO4Edit - Working Faster]]
 
----
 
----
  
Line 19: Line 170:
 
==Preamble==
 
==Preamble==
  
You should now have a building that constructs itself, has upgrade levels, lights, decorations, and even furniture markers such as beds. (If you built a house and forgot to give it a bed, you should probably go fix that!)
+
This guide assumes you’ve been through the numbered tutorials and understand how Building Plans work. It may use some shorthand that you’d only be familiar with if you’ve successfully created a building for Sim Settlements.
 +
 
 +
Always be sure that you backup your esp file before applying a script in XEdit. While the software will offer to backup your mod file before committing the changes, it’s better to be safe than sorry. XEdit is mostly agnostic to the specifics of Fallout 4 mods and can create entries that the game doesn’t support, so you should always test your mod after editing it with XEdit scripts. (FO4Edit is the Fallout 4 version of XEdit that you’ll need for this. XEdit is the collective name for all of the variations of this software that work for different games. For example, TES5Edit is the Skyrim version.)
 +
 
 +
 
 +
==Programs Needed==
  
Now I’ll show you how to take use of the existing Random Clutter and how to create your own sets as well!
+
*Creation Kit
 +
*FO4Edit 3.2 or Greater
 +
*Any Free Text editing software (ex. Notepad)
 +
*Any Free Spreadsheet software (ex. Google Sheets or OpenOffice)
  
  
 +
==Importing Stage Data To Your Add-on==
  
==How Random Clutter Works==
+
Two of the more time-consuming fields to fill out for your Building Plan, are the StageModels and the StageItemSpawns. With the scripts included in the Builder’s Toolkit, the process is greatly simplified.
  
Random Clutter is very simple system, with a powerful effect. Using it will really bring your buildings to life as the contents will not only randomly be selected when the building is created, but will also periodically while the game is played.
 
  
The system is based on FormLists <span style="color:#006400"> (remember that thing we created to hold your Building Plan in the first tutorial so it could be automatically added to Sim Settlements?).</span> When the StageSpawnedItem system runs into a FormList it picks an object at random from that list and creates it. <span style="color:#FF0000">Yes, that means you can use it to randomize anything, in fact the building models system also has this feature - if that gets you excited, it should! You can do some very powerful things with this knowledge. It will be covered more in the Advanced Possibilities section.</span>
+
Start by creating your actual building - essentially do all of the staging work of creating your SCOLs and static records for your building levels and construction stages, and laying out all of the objects you’d normally put in
 +
 +
the StageItemSpawns field. A best practice to make this easier is to create a Layer for each level of your building (you’ll understand why shortly).
  
 +
If you’re using scripted objects that do things OnInit or OnLoad, you have to consider a few extra things.
  
==Using Random Clutter==
+
The below Export process is much simpler if you use the actual objects you want to appear, rather than static placeholders inside the staging cell (which is something you might see that I’ve done in a lot of my builds).
 +
Doing so will leave active objects that might trigger things happening when the player is playing, even if they haven’t built your building plan.
  
As of the time of this writing you have a few options: Use existing clutter lists from Sim Settlements (which will be listed at the end of this document), or create your own from scratch.
+
As an easy way to combat this, you can actually continue to use the placeholder objects in your staging cell, and then edit the exported records to reference your actual objects by their Editor ID.
  
A third option will be added in the future which is to inject some of your clutter into the existing lists so that everyone can enjoy them on all building models, not just the ones you create! If you would like to do this immediately, please contact me and I can create you a special script to do so before I add the feature officially.
+
After you’ve done all this, create your Building Plan object like you would for any other building - just don’t fill out the StageModels or StageItemSpawns fields. We’re going to do that with FO4Edit.
  
 +
You’ll want to find the XEdit scripts (.pas files) from the Builder’s Toolkit and copy them to the Edit Scripts
 +
directory where FO4Edit is installed.
  
Let’s start by adding some existing random clutter to your building.
 
  
# If you followed my advice about saving your work to Layers, unhide the layer of one of your buildings so we can just work with that. If you haven’t finished decorating or already cleared everything out of this cell, then go the Object Window and bring the SCOL of the building model you want to work with into the cell and set it in the center (0,0,0).
+
==StageItemSpawns Export/Import Process==
# Now, go to the Object Window, go to WorldObjects->Statics and filter for “kgsim_randomclutter”. This will bring up all of the models that are used in the Random Clutter system. The names describe what kind of stuff they are and the size of surface they cover. You’ll learn to recognize those surface sizes over time.
 
#* If you want to view all of the random clutter at once, it is currently laid out underneath one of the house models on the cement in the far back of kgSIMTestCell.
 
# Select a type of clutter that appeals to you and position it somewhere on your model, such as on a dresser or dinner table so that it looks nice. Don’t worry the randomization magic will happen in a second. For now, we’re just interested in making sure we have good positioning data. Be sure to zoom in close to your surface, and lower the items so that they are sitting nicely against the surface.
 
# Next follow the steps to add an item to your StageSpawnedItems with one change:
 
#* When you get to the FormToSpawn step, instead of selecting the Static you used for positioning, choose FormList as the Form Type.
 
#* Filter for “kgsim_randomclutter”, then select the one whose name is in the clutter you used for positioning.
 
# Repeat on every surface you’d like things to be randomly selected!
 
  
 +
To start, you’ll need to export the position/rotation/scale data of your StageItemSpawns. This is best done in 3 stages so that you can easily keep track of which goes on which stage.
  
==Creating Your Own Random Clutter==
+
1. Select the objects for your Level 1 building, then choose File -> Export -> Ref Placements for Selection.
 +
a. You’ll be prompted to create a file, name it something that makes sense to you, and then repeat the process for your the items of each of your other levels.
 +
2. Now that you have the exported data for each group of items, you need to combine them together in a spreadsheet and fill in the missing data fields.
 +
a. You’re going to need to be sure to follow a template for the spreadsheet you’re making. The first row should be a header row and not hold any of your item data, if you’d like to label that top row, the data will go in this order:
  
For the most part random clutter can be anything that is in a FormList. To make the most of it though, it’s best to use a Helper object and make sure everything fits within that helper surface. That way when you’re doing your positioning for the StageSpawnedItems setup, you can be sure that all of the clutter in that list will look good on that surface (I’m sure you’ll find some in Sim Settlements where I fail to heed my own advice).
+
Editor ID, posX, posY, posZ, RotX, RotY, Rotz, Scale, sSpawnName, iStageNum, iStageEnd, iType, ActorValue, iValidActorValue
  
I’ve created a series of helper objects that cover a wide array of the surface sizes throughout the game. So let’s walk through creating a clutter object for use in the Random Clutter system.
+
To make this simpler, I’ve created a file you can paste your data into on a google drive, simply save it to your own drive and edit that copy: https://docs.google.com/spreadsheets/d/1OIgadz52gQLF3jh5by9XyFh9qttDiImIw0ZyVn9jSoc/e dit#gid=0
 +
b. Now that you have your spreadsheet started, open one of your exported documents you created in Step 1. Copy everything but the header row from one of your exported documents, click on the first field in the first empty row of your spreadsheet and paste.
  
# Before we start, be sure to take anything you were working on the kgSIMBuildingStage cell and move it to a layer so you can hide it (if it isn’t already on it’s own layer). Then hide it so all we have left is our concrete pad.
+
The software should detect the formatting, and automatically place each piece of data in its own field. You may notice that the EditorID fields don’t quite match the in game version. In order to support multiple objects of the same form, a 3 digit suffix is added to the end. You can leave these on if you like, as the XEdit script will strip them automatically.
# In the Object Window, go to WorldObjects->Static, and filter for “kgsim_helper*marker” <span style="color:#006400">(the * is a wildcard that lets the filter replace it with any amount of characters in place of it).</span>
 
<!--[Currently hidden, as the image is not available] #*Current helper shapes available. If you need additional sized helpers for other surfaces, let me know- they are very quick and easy to build![[File:Toolkit_Chapter_05_Randomized_Clutter_image1.jpg|500px]] <br/>Why is that one dark red? Good question...<br/> -->
 
# Choose one of them and drag it into the Building Stage cell. Then set it’s location to 0,0,0. (If the helper marker fell into the concrete blocks, hold the Z key on your keyboard, then left-click and hold while dragging upward to pull it out. <span style="color:#006400">If that isn’t clear, watch the videos referenced in the Creation Kit 101 guide</span>).
 
#* If it doesn’t appear to show up, you may have Markers turned off, press M on your keyboard while the render window is active to display them again.
 
# Do NOT rotate it. It’s very important that markers you use as helpers are not rotated, this helper is going to act just like our AlignmentHelper for creating building models.
 
# Now using Statics (WorldObjects->Static), place a few items on the helper. Be sure that their bottoms are flush with the bottom of the helper.
 
# Next, use the method you’ve used throughout the tutorials to create an SCOL/Nif/Static.
 
# Here we’re going to do something new. Once you create the static model, open it up, and in the lower left hand corner of the window you should see a section called Actor Values. You’re going to right-click inside that area and select New. Filter for “kgsim_random”, and double click “kgSIM_RandomizedClutter”.
 
#* Another tiny box will appear, enter 1 as the value. <span style="color:#006400">(If you pressed OK too quickly and it entered 100, you can select the Actor Value in that box and edit the value to the right of it.)</span><br/>[[File:Toolkit_Chapter_05_Randomized_Clutter_image2.jpg|500px]]
 
# Now since we want to test the randomness out, go ahead and repeat the process, using the same size helper and create one or two more.
 
# Once you have a few models together for randomizing. Create a new FormList (Miscellaneous->FormList in the Object Window, then right-click on the right-hand side and choose new), name the ID something you can recall - I tend to include RandomClutter in the ID. The actual Name field can be anything to further describe it.
 
# While the FormList is still open, filter out your newly created Clutter statics and drag them into the FormList. Then press OK to save the list.
 
#* <span style="color:#000080">IMPORTANT! Do not mix and match clutter on multiple lists, if you’d like to use piece of clutter from another list (such as one of the ones that comes with Sim Settlements), duplicate and rename it. Otherwise, the random clutter system could end up switching the list it pulls from during the game!</span>
 
# Save your Plugin.<br/><br/>Few more steps to go (giving your eyes a break on that giant list of numbered steps, phew!)<br/><br/>
 
# Unhide a building model you’d like to add this Clutter set to, and drag your clutter item wherever you want it. Now that you’ve created the SCOL, you’re free to rotate it - it’s only important to keep the helper object from being rotated by itself (that seems weird yes, but trust me - the Creation Kit thinks it makes a lot of sense ;) ).
 
# Now add that Clutter FormList to your StageSpawnedItems the same way that was described in the previous section.
 
 
   
 
   
 +
c. Fill in the iStageNum and sSpawnName fields at minimum.
 +
d. Fill in any additional fields you’d like to use. If you’re filling in the ActorValue field, be sure to enter the Editor ID of the ActorValue object you used.
 +
e. At this point, you may alter any of the data manually, such as pointing your placeholders to your actual editor ids.
 +
f. Repeat these steps for each of your level files of stage items, be sure to use the correct iStageNum for each.
 +
3. Once your spreadsheet is finished, save it as a .CSV file (comma separated values) - you’re going to end up having to type the exact path to it, so best to store it somewhere simple. I like to create a folder in my C:\ drive called Imports, that way my path will just be C:\Imports\filename.csv
 +
4. Close the Creation Kit and make sure your CSV file isn’t open in any software.
 +
5. Make a backup of your esp file in case something goes wrong (it shouldn’t but, not worth the risk anyway).
 +
6. Open your esp in FO4Edit.
 +
 +
Wait for it to finish loading, it is substantially faster than the Creation Kit. When it’s done, you should see a message similar to this in the lower left corner:
 +
 +
7. On the left side of the screen, you will see all of your mod’s parent files as well as your mod. Expand your esp by clicking the plus sign next to it.
 +
8. Next expand Misc. Item and find your Building Plan in the list (if you click the word EditorID near the top of the screen, it will sort all of the entries alphabetically).
 +
9. Warning: This step is destructive, it will erase the previous entries of your StageItemSpawns property before inserting your spreadsheet data. Right-click on your building plan and choose Apply Script.
 +
10. In the window that pops up, find kgSIM_ImportStageItemSpawns in the list (if you don’t see this, close the box, then copy the .pas files from the XEdit Scripts folder of the Builder’s Toolkit into the Edit Scripts directory where FO4Edit is installed).
  
==Continued Randomization==
+
11. Press OK.
 +
12. After a second or two, you will be prompted to enter the file path. Type the exact path on your local computer to the spreadsheet you created and press OK.
 +
13. As the script runs you should see messages on the right hand side confirming each line of your document was imported.
 +
14. If you receive any errors, fix your spreadsheet, and try running the script again.
  
As of right now, your clutter will be correctly randomized when it’s first spawned, but if you would like all of your clutter objects to be randomized periodically during the game. There is one more process to do, this particular step only need to be done once and from then on, you will just add your new Clutter lists to one of these controller lists you’re about to create. Stay with me, it’s simpler than it sounds!
+
==StageModels Import Process==
  
# In the Object Window, go back to Miscellaneous->FormLists. Create two new FormLists, one with AlwaysRandom in the name, and the other with SometimesRandom in the name <span style="color:#006400">(do I still need to remind you about the prefixing?)</span>. These will act as your Control lists, telling Sim Settlements how to process your clutter.
+
The StageModels process is much simpler as you can just type up the data needed instead of combining documents.
# The first list will make any Clutter FormLists you add to it (FormLists inside of FormLists? Madness!) randomize every time the player returns from being away for a while. The second list, will make the clutter change just occasionally. So things like food on the table are great on the first list, while store goods might be better on the second list. So choose one of those two lists and add your Random Clutter list to it! In the future, when you create a new Random Clutter list, you only need to follow this step - just pick one of your two control lists, and drop your list into it.
 
# Now the final piece, telling Sim Settlements about your two control lists:<br/> Open the Quest you created, hopefully you can remember the name (search for that prefix!), but if not, I will show you a trick.<br/><span style="color:#006400">In the Object Window, expand the Character category, and click on Quest. Next, click on the words Form ID near the top and to the right inside the Object Window. This will sort the objects in the order they are created, yours should be the first one! (If not, click it again, and...ta-da! <small>If still no, well then you did something wrong… might need to mozy on back to the first tutorial</small>)</span>
 
# Once your quest is open, go to the Scripts tab, select SimSettlements:AddOnScript and click Properties.
 
# Double-click MyRandomizedClutterLists and point it to your AlwaysRandom control list.
 
# Then Double-click MyOccasionallyRandomizedClutterLists and point it to your SometimesRandom control list.
 
# Click OK, to exit the properties screen, then OK again to close the Quest screen.
 
# Save your Plugin.
 
  
 +
1. Create a new text file or spreadsheet, which ever is easier for you. If you used a naming scheme, it should go fairly quickly as you can just copy/paste the name and change the ending for each stage.
 +
a. If a text file, type the Editor ID of each of your StageModels, separated by a comma and NO spaces. (Editor ID is the unique ID you gave your Static, for example the Tato Mud Farm’s first stage model Editor ID is: kgSIM_Farm01_SA_L1_Final)
 +
 +
b. If a spreadsheet, type the Editor ID of each of your StageModels in a cell across a single row.
 +
2. Save the file as a .CSV file. If you’re using Notepad, just type in .csv at the end of your filename, it won’t be an option in the dropdown menu.
 +
3. Close the Creation Kit and make sure your CSV file isn’t open in any software.
 +
4. Make a backup of your esp file in case something goes wrong (it shouldn’t but, not worth the risk anyway).
 +
5. Open your esp in FO4Edit.
  
'''You’re Done!'''
+
Wait for it to finish loading, it is substantially faster than the Creation Kit. When it’s done, you should see a message similar to this in the lower left corner:
  
You can pop into the game, test your building plan, look at the clutter, demo it, then test your plan again, and each time it should receive a different clutter static from your list (well it’s random so it could grab the same one again - but just keep repeating that demolition and you’ll get there!).
+
6. On the left side of the screen, you will see all of your mod’s parent files as well as your mod. Expand your esp by clicking the plus sign next to it.
 +
7. Next expand Misc. Item and find your Building Plan in the list (if you click the word EditorID near the top of the screen, it will sort all of the entries alphabetically).
 +
8. Warning: This step is destructive, it will erase the previous entries of your StageModels property before inserting your spreadsheet data. Right-click on your building plan and choose Apply Script.
 +
9. In the window that pops up, find kgSIM_ImportStageModels in the list (if you don’t see this, close the box, then copy the .pas files from the XEdit Scripts folder of the Builder’s Toolkit into the Edit Scripts directory where FO4Edit is installed).
  
[[Category:Toolkit]]
+
10. Press OK.
 +
11. After a second or two, you will be prompted to enter the file path. Type the exact path on your local computer to the spreadsheet you created and press OK.
 +
12. As the script runs you should see messages on the right hand side confirming each of your building stage models was imported.
 +
13. If you receive any errors, fix your spreadsheet, and try running the script again.
 +
 
 +
 
 +
After you’ve finished importing data for any building plans you’re working with. Close FO4Edit and it will prompt you to save the changes. (If you don’t want to save, simply uncheck the boxes next to the plugins.)
 +
 
 +
Load the Creation Kit and confirm everything is setup correctly.
 +
 
 +
 
 +
==You’re Done!==
 +
 
 +
You can now speed past the most difficult stages of setting up the building plan! You can even hold onto your spreadsheets for quickly editing things in the future. Once you get really comfortable with it - you’ll even be able to add completely new entries to the spreadsheet and into your add-on without ever entering the Creation Kit.

Latest revision as of 17:06, 12 February 2018

Greetings, you people!

My name is Infinithil, I am from Germany and work as a civil servant.

In my free time, I work on my first addon pack for SimSettlements and help around the SimSettlements Wiki.

Have a nice day!

Last finished: Toolkit Extra - Advanced Possibilities


Workshop area


Toolkit Extra - Custom Flag Tutorial


All of my guides will highlight things that are specific to your experience level: Green for beginners, and Red for seasoned modders. So if you’re new, you aren’t meant to understand the red messages, and if you’re a vet - you can probably skip the green.

If you’ve never built a mod or used the Creation Kit before, it’s recommended that you go through the Sim Settlements Builder’s Toolkit. Even if you aren’t interested in creating buildings for Sim Settlements, it teaches you the basics of the Creation Kit and shows you how to package and upload a mod.


This tutorial will go over adding custom flags to the Sim Settlements system. It does not cover photo-editing techniques, only the steps needed to convert an image into a custom flag for use with Sim Settlements.

If you already have a mod with custom flags, and you’d like to integrate them without making Sim Settlements a dependent mod, please contact me and I’d be happy to show you the steps required.


Programs Needed

Gimp or Photoshop

Gimp DDS Plugin or Intel TextureWorks Plugin

Material Editor by Ousnius

Creation Kit (or XEdit, though this tutorial will only show the steps in the Creation Kit)

Sim Settlements 2.0.8 + (make sure you have the mod installed as it includes scripts you’ll need)


Used in this tutorial are several files:

Flag_Material_Template.BGSM - which tells the game which texture files to use.
Flag_Diffuse_Template_d.dds - which is the art texture file.

And two optional files, that you most likely won’t need unless you’re a 3d artist. Most people will just want to use the game’s default files for these.
Flag_Diffuse_Template_n.dds - which is the normal map
Flag_Diffuse_Template_s.dds - which is the specular map

Download the full Builder's Toolkit to get the files.


Setting Up Your Files/Directories

  1. Go into your Fallout 4/Data folder, this is usually found under C:/Program Files(x86)/Steam/steamapps/common. This is where your game files exist.
  2. If you don’t have a folder called Textures, create it. Then inside of that, create a new folder for your mod. Copy Flag_Diffuse_Template_d.dds to this folder, now rename it something for the first flag you want to create, for consistency sake, make sure it ends in “_d” like the current name.
    So if you decide to name it MyFlag, name it MyFlag_d instead. The d stands for diffuse, and represents what most people would consider the texture.
  3. If you don’t have a folder called Materials, create it. Then inside of that, create a new folder for your mod. Copy Flag_Material_Template.BGSM to this folder, now rename it something similar to the texture name you used above for the first flag you want to create.
  4. Open the .BGSM file you just renamed in the Material Editor program.
    File:Toolkit Extra Custom Flag Tutorial image01.jpg
  5. Go to the Material tab, then click on the grey box to the far right next to the Diffuse Texture row, and navigate to the DDS file you copied in step 2. Now save the material and exit this program.

If you are going to be creating custom normal and specular maps, you would link those files here.


Making Your Custom Flag Art

Open the DDS file you copied into your directory in Gimp or Photoshop.
File:Toolkit Extra Custom Flag Tutorial image02.jpg
The flag art is made up of two images that look mostly identical, and for the most part you would fine using the same image on top and bottom. Though they are used slightly differently.

When the Martial Plot is manned, and flag is up in the air, only the top half of the texture is used on both sides of the flag. When the Martial Plot is not manned, and the flag is down, it uses both halves of the texture.

You’ll be fine copy pasting the top half to the bottom as it’s hard to tell the difference when the flag is down anyway. If you’re a perfectionist, you have the option to do each side separately.

The erased parts of the texture file are what will show up as holes in the flag.

  1. Once you have your flag designed the way you want, do the following to save the file correctly:
    1. Gimp: Choose File -> Export As, in the window that pops up, select the file you are editing, then press Export. A second window will come up with DDS settings.
      1. Set Compression to BC3 /DXT5
      2. Change Mipmaps to Generate mimmaps
      3. Press OK.
    2. Photoshop: Choose File -> Save As, in the Save As Type dropdown, select Intel Textureworks, click Save. A second window with come up with DDS settings.
      1. Change Texture Type to Color + Alpha
      2. Set Compression to BC3 8bpp (Linear)
      3. Set Mip Maps to Auto Generate.
      4. Press OK.

Configuring Your Flag

This portion uses the Creation Kit, it will be written as if you’ve never used it before, but you may want to go through a basics tutorial, such as the one included in the Sim Settlement’s Builder’s Toolkit.

  1. Open the Creation Kit.
  2. Click on File->Data and check in SimSettlements.ESM, then press OK.
  3. Once the files are loaded, select the Object Window, and type kgsim*flag in the Filter box. This will show all of the different Sim Settlements objects related to flags.
  4. Find the object with the name kgSIM_FlagDown_USA, right-click it and choose Duplicate and Rename, in the pop-up, type in kgSIM_ in the Search box, and enter your own prefix in the Replace box - it can be whatever you want. You’ll use this prefix to identify all of your custom objects.
    File:Toolkit Extra Custom Flag Tutorial image05.jpg
  5. Press OK.
  6. Now repeat step 4 for kgSIM_FlagWavingUSA01, kgSIM_FlagWallUSA, and kgSIM_DynamicFlag_Template.
  7. In the Object Window, replace the Filter field with the prefix you used for your three objects.
  8. Double-click yourPrefix_FlagDown_USA.
    1. In the ID field, erase USA and give the flag a name.
    2. Click on the Edit button near the center of the window. This will bring up the model selection screen.
    3. Use the Material Swap dropdown menu to select Custom Material Swap.
    4. In the large white section with the headings “Original Material”, “Replacement Material”, and “Remap Index”, double-click the white area under Replacement Material next to “clothflag01alpha.bgsm”.
    5. Navigate to materials folder you created at the beginning of this guide and select your .BGSM file, and press OK.
    6. Press OK again, and when prompted to Create a New form select No. You’ll then be prompted to Rename, answer Yes.
  9. Repeat step 8 for yourPrefix_FlagWavingUSA01 and yourPrefix_FlagWallUSA. The Wall version will be the exact same steps, and the only difference for the Waving version is that screen will look slightly different, so the Edit button won’t be in the exact same position.
  10. Double-click yourPrefix_DynamicFlag_Template. This is going be your Dynamic Flag Record.
    File:Toolkit Extra Custom Flag Tutorial image06.jpg
    1. In the ID field, erase Template and replace it with your flag name.
    2. In the Name field, erase Dynamic Flag and replace it with what you want the player to see when choosing your flag from the list.
    3. Select the SimSettlements:DynamicFlag script and click the Properties button.
    4. Double-click FlagDown.
      1. Select Static from the Form Type dropdown (there may be a slight delay before the Creation Kit response).
      2. Check in the Filter box and type in your prefix.
      3. Select your flag down model from the Pick Object dropdown.
    5. Double-click FlagWall.
      1. Select Static from the Form Type dropdown (there may be a slight delay before the Creation Kit response).
      2. Check in the Filter box and type in your prefix.
      3. Select your flag wall model from the Pick Object dropdown.
    6. Double-click FlagUp.
      1. Select MoveableStatic from the Form Type dropdown.
      2. Check in the Filter box, your prefix should be there already (type it in if not).
      3. Select your flag model from the Pick Object dropdown.
    7. Press OK to exit the properties screen.
    8. Press OK to exit the MiscItem screen, when prompted to Create a new form, select No. Then press Yes when asked to rename.

Adding Your Flag to Sim Settlements

If you already have an add-on pack, you can use your existing Quest during this setup.

Now that you have a flag configured, you’re going to tell Sim Settlements about it.

You’re only going to do this section once, after which, you’ll only need to add additional flags to the form list you’ll configure in this section.

In the Object Window, expand the Character category, then select Quest. Set the Filter to “kgsim_addon”. You’re looking for a quest called kgSIM_AddonTemplate - right-click this and choose Duplicate. Now open the newly created kgSIM_AddonTemplateCOPY0000.

  1. On the Quest Data tab, change the ID to something unique (as always, remember to start with your prefix!).
  2. Press OK. If it asks you to Create a new form, answer No, then answer Yes to renaming.
  3. Next we’re going to prepare a FormList for holding your Flag(s).
    1. In the Object Window, expand the Miscellaneous category and click FormList. Then in the right-side of the Object Window, right-click and select New.
    2. Enter a unique id (remember to start with your prefix), for example: yourPrefix_FlagList
    3. Press OK.
  4. While you’re still in the FormLists category, change the Filter in the Object Window to your prefix and double-click the FormList you just created and drag it off to the side.
  5. In the Object Window, expand the Items category, select MiscItem.
  6. Drag your Dynamic Flag Record into the main part of the formlist. It should look like this:
    File:Toolkit Extra Custom Flag Tutorial image07.jpg
  7. Press OK.
  8. Next, in the Object Window, expand the Characters category, then click on Quest, and filter for your prefix to find the quest you made. Double-click it to open it up.
  9. On the scripts tab, select SimSettlements:AddOnScript and click Properties.
  10. Double-click on SIMParent and select kgSIM_SIMSettlementParent from the drop down menu.
  11. Double-click the MyClutter section, it will be in blue and have a horizontal line next to it. This will expand the MyClutter properties.
  12. Double-click MyMartialFlags.
  13. Check in filter and enter your prefix.
  14. Select your flag list from the Pick Object drop down.
  15. Press OK to close the properties window.
  16. Press OK again to close the quest.
  17. Now click File->Save to save your plugin. Name it anything you like.


You’re done!

Your flag will now be selectable from the flag menu on the City Planner’s Desk!

To add additional flags, just repeat the Configuring Your Flag section and add your additional Dynamic Flag Records to your flag formlist you created. No need to do configure additional quests.

If this is your first Addon for Sim Settlements, know that there can be a short delay after starting up your game before it registers completely with Sim Settlements, so don’t be alarmed if your flag isn’t there in the first 10 seconds.


Toolkit Extra - FO4Edit - Working Faster


This tutorial assumes you know basic navigation and keyboard shortcuts to navigate the Creation Kit. If not, please go back and check out the Creation Kit 101 primer.

All of my guides will highlight things that are specific to your experience level: Green for beginners, and Red for seasoned modders. So if you’re new, you aren’t meant to understand the red messages, and if you’re a vet - you can probably skip the green.


Preamble

This guide assumes you’ve been through the numbered tutorials and understand how Building Plans work. It may use some shorthand that you’d only be familiar with if you’ve successfully created a building for Sim Settlements.

Always be sure that you backup your esp file before applying a script in XEdit. While the software will offer to backup your mod file before committing the changes, it’s better to be safe than sorry. XEdit is mostly agnostic to the specifics of Fallout 4 mods and can create entries that the game doesn’t support, so you should always test your mod after editing it with XEdit scripts. (FO4Edit is the Fallout 4 version of XEdit that you’ll need for this. XEdit is the collective name for all of the variations of this software that work for different games. For example, TES5Edit is the Skyrim version.)


Programs Needed

  • Creation Kit
  • FO4Edit 3.2 or Greater
  • Any Free Text editing software (ex. Notepad)
  • Any Free Spreadsheet software (ex. Google Sheets or OpenOffice)


Importing Stage Data To Your Add-on

Two of the more time-consuming fields to fill out for your Building Plan, are the StageModels and the StageItemSpawns. With the scripts included in the Builder’s Toolkit, the process is greatly simplified.


Start by creating your actual building - essentially do all of the staging work of creating your SCOLs and static records for your building levels and construction stages, and laying out all of the objects you’d normally put in

the StageItemSpawns field. A best practice to make this easier is to create a Layer for each level of your building (you’ll understand why shortly).

If you’re using scripted objects that do things OnInit or OnLoad, you have to consider a few extra things.

The below Export process is much simpler if you use the actual objects you want to appear, rather than static placeholders inside the staging cell (which is something you might see that I’ve done in a lot of my builds). Doing so will leave active objects that might trigger things happening when the player is playing, even if they haven’t built your building plan.

As an easy way to combat this, you can actually continue to use the placeholder objects in your staging cell, and then edit the exported records to reference your actual objects by their Editor ID.

After you’ve done all this, create your Building Plan object like you would for any other building - just don’t fill out the StageModels or StageItemSpawns fields. We’re going to do that with FO4Edit.

You’ll want to find the XEdit scripts (.pas files) from the Builder’s Toolkit and copy them to the Edit Scripts directory where FO4Edit is installed.


StageItemSpawns Export/Import Process

To start, you’ll need to export the position/rotation/scale data of your StageItemSpawns. This is best done in 3 stages so that you can easily keep track of which goes on which stage.

1. Select the objects for your Level 1 building, then choose File -> Export -> Ref Placements for Selection. a. You’ll be prompted to create a file, name it something that makes sense to you, and then repeat the process for your the items of each of your other levels. 2. Now that you have the exported data for each group of items, you need to combine them together in a spreadsheet and fill in the missing data fields. a. You’re going to need to be sure to follow a template for the spreadsheet you’re making. The first row should be a header row and not hold any of your item data, if you’d like to label that top row, the data will go in this order:

Editor ID, posX, posY, posZ, RotX, RotY, Rotz, Scale, sSpawnName, iStageNum, iStageEnd, iType, ActorValue, iValidActorValue

To make this simpler, I’ve created a file you can paste your data into on a google drive, simply save it to your own drive and edit that copy: https://docs.google.com/spreadsheets/d/1OIgadz52gQLF3jh5by9XyFh9qttDiImIw0ZyVn9jSoc/e dit#gid=0 b. Now that you have your spreadsheet started, open one of your exported documents you created in Step 1. Copy everything but the header row from one of your exported documents, click on the first field in the first empty row of your spreadsheet and paste.

The software should detect the formatting, and automatically place each piece of data in its own field. You may notice that the EditorID fields don’t quite match the in game version. In order to support multiple objects of the same form, a 3 digit suffix is added to the end. You can leave these on if you like, as the XEdit script will strip them automatically.

c. Fill in the iStageNum and sSpawnName fields at minimum. d. Fill in any additional fields you’d like to use. If you’re filling in the ActorValue field, be sure to enter the Editor ID of the ActorValue object you used. e. At this point, you may alter any of the data manually, such as pointing your placeholders to your actual editor ids. f. Repeat these steps for each of your level files of stage items, be sure to use the correct iStageNum for each. 3. Once your spreadsheet is finished, save it as a .CSV file (comma separated values) - you’re going to end up having to type the exact path to it, so best to store it somewhere simple. I like to create a folder in my C:\ drive called Imports, that way my path will just be C:\Imports\filename.csv 4. Close the Creation Kit and make sure your CSV file isn’t open in any software. 5. Make a backup of your esp file in case something goes wrong (it shouldn’t but, not worth the risk anyway). 6. Open your esp in FO4Edit.

Wait for it to finish loading, it is substantially faster than the Creation Kit. When it’s done, you should see a message similar to this in the lower left corner:

7. On the left side of the screen, you will see all of your mod’s parent files as well as your mod. Expand your esp by clicking the plus sign next to it. 8. Next expand Misc. Item and find your Building Plan in the list (if you click the word EditorID near the top of the screen, it will sort all of the entries alphabetically). 9. Warning: This step is destructive, it will erase the previous entries of your StageItemSpawns property before inserting your spreadsheet data. Right-click on your building plan and choose Apply Script. 10. In the window that pops up, find kgSIM_ImportStageItemSpawns in the list (if you don’t see this, close the box, then copy the .pas files from the XEdit Scripts folder of the Builder’s Toolkit into the Edit Scripts directory where FO4Edit is installed).

11. Press OK. 12. After a second or two, you will be prompted to enter the file path. Type the exact path on your local computer to the spreadsheet you created and press OK. 13. As the script runs you should see messages on the right hand side confirming each line of your document was imported. 14. If you receive any errors, fix your spreadsheet, and try running the script again.

StageModels Import Process

The StageModels process is much simpler as you can just type up the data needed instead of combining documents.

1. Create a new text file or spreadsheet, which ever is easier for you. If you used a naming scheme, it should go fairly quickly as you can just copy/paste the name and change the ending for each stage. a. If a text file, type the Editor ID of each of your StageModels, separated by a comma and NO spaces. (Editor ID is the unique ID you gave your Static, for example the Tato Mud Farm’s first stage model Editor ID is: kgSIM_Farm01_SA_L1_Final)

b. If a spreadsheet, type the Editor ID of each of your StageModels in a cell across a single row. 2. Save the file as a .CSV file. If you’re using Notepad, just type in .csv at the end of your filename, it won’t be an option in the dropdown menu. 3. Close the Creation Kit and make sure your CSV file isn’t open in any software. 4. Make a backup of your esp file in case something goes wrong (it shouldn’t but, not worth the risk anyway). 5. Open your esp in FO4Edit.

Wait for it to finish loading, it is substantially faster than the Creation Kit. When it’s done, you should see a message similar to this in the lower left corner:

6. On the left side of the screen, you will see all of your mod’s parent files as well as your mod. Expand your esp by clicking the plus sign next to it. 7. Next expand Misc. Item and find your Building Plan in the list (if you click the word EditorID near the top of the screen, it will sort all of the entries alphabetically). 8. Warning: This step is destructive, it will erase the previous entries of your StageModels property before inserting your spreadsheet data. Right-click on your building plan and choose Apply Script. 9. In the window that pops up, find kgSIM_ImportStageModels in the list (if you don’t see this, close the box, then copy the .pas files from the XEdit Scripts folder of the Builder’s Toolkit into the Edit Scripts directory where FO4Edit is installed).

10. Press OK. 11. After a second or two, you will be prompted to enter the file path. Type the exact path on your local computer to the spreadsheet you created and press OK. 12. As the script runs you should see messages on the right hand side confirming each of your building stage models was imported. 13. If you receive any errors, fix your spreadsheet, and try running the script again.


After you’ve finished importing data for any building plans you’re working with. Close FO4Edit and it will prompt you to save the changes. (If you don’t want to save, simply uncheck the boxes next to the plugins.)

Load the Creation Kit and confirm everything is setup correctly.


You’re Done!

You can now speed past the most difficult stages of setting up the building plan! You can even hold onto your spreadsheets for quickly editing things in the future. Once you get really comfortable with it - you’ll even be able to add completely new entries to the spreadsheet and into your add-on without ever entering the Creation Kit.