View Full Version : How to create a custom(ised) catalog object

21st Feb 2016, 5:41 PM
This is how to create catalog objects that reference an existing item and change only some aspects (like price, tuning, footprint, catalog sorting etc). Because unless you change the mesh or something that is linked from the mesh (like a texture), there is no need to create a full clone.

Basically this is the same thing you'd do if you were to override the COBJ/OBJD of a Maxis item (say to change its price or catalog location), the only difference is that you give it a custom ID so it exists alongside the original thing, instead of overriding it.

Some examples of COBJ/OBJD default overrides:

Liberated Rocks (http://modthesims.info/download.php?t=539601)
Lap of Luxury Chair as Desk/Dining Chair (http://modthesims.info/download.php?t=550619)
Liberated 'Get Together' Objects (http://modthesims.info/download.php?t=569604)
Empty Props ‒ Oasis Springs (http://modthesims.info/download.php?t=568508)
Decorative Items Recategorized (http://modthesims.info/download.php?t=550886)
Clutter Anywhere (http://modthesims.info/download.php?t=540126)
No-Backsplash Counters (http://modthesims.info/download.php?t=567337)

Some examples of custom catalog objects:

Buyable Ponds (http://modthesims.info/download.php?t=535761)
Liberated Garden Plots (http://modthesims.info/download.php?t=568551)
No-Drop Cabinets (http://modthesims.info/download.php?t=545055)
Craftables made Recolourable (http://modthesims.info/download.php?t=561499)
Modular Flower Shrubs (http://modthesims.info/download.php?t=557988)
Wall-Mounted Dressers (http://modthesims.info/download.php?t=547140)

You need s4pe for this, the most recent version of which you find here (https://github.com/s4ptacle/Sims4Tools/releases).

Copy the original COBJ and OBJD resources from the most recent game package (see here (http://modthesims.info/showthread.php?t=573047) if you don't know how to find them) and paste them into a new package.

Change them to your liking (see this sticky (http://modthesims.info/showthread.php?t=551120) for an overview of what is what in those resource types). For the sake of an example, here's a decorative clutter object that uses a Maxis prop (a hammer) for the mesh. Since a prop is not a regular object, there's a few things missing that one needs to add for it to work well as a clutter item:

This is the original COBJ that I just copied (this only has one colour variant so there is just one COBJ and OBJD). It has no price, the category flags are set to that it won't show in the catalogue, tags need to be added, and I'm also going to change its catalog group (since otherwise it'd still be grouped with the original). Also, while it has a description hash, that description reads "**DEBUG**" (in my game version) so I'm going to create a custom one.


First create a new STBL (string table) resource with your custom description in it (or any other strings you may want to use). See this post (http://db.modthesims.info/showthread.php?t=573055) for how to do that.

To make changes to the COBJ, select the COBJ resource in the list, click on the "Grid" button at the bottom, change stuff, commit and save. The grid view shows the changes that I made:

Put the ID of my new STBL entry in "DescriptionHash"
Changed the price to 10§ (this will be shown in hex but you can type "10" as decimal in there too)
Changed the DevCategoryFlags to 0x00000080 (this is what regular objects use)
Added a catalog tag for the Clutter category (select 0x0058 BuyCatLD from the left tag box -- this is the category; LD stands for Lighting + Decoration), type "clu" in the right box and select what you want)
Changed the catalog group to a custom one (again hashed from "pbox_deco-hammer" -> 0x995537E484E42219)


If you changed the object price you should also change it in OBJD (that is what's used to calculate what amount of §§§ sims get back when selling/deleting an object). Hit "Grid", change it.

If your plan was to override the original item with your changes, you're done now. If you want your item to be available alongside the original, you need to give it a custom instance now:

Double click on the COBJ, in the window that comes up tick "Use resource name" and type something descriptive that includes your user name in the "Name" field. Hit the FNV64 button, hit "Set High Bit". Copy the instance number and hit OK.


Double click on the OBJD, paste the new instance number in the Instance field, hit "Set High Bit", hit OK.

Save your package in /Mods and check it out in game.


(If you look closely you might see that this would also like to have an edited rig now, since it clips into the table a little bit -- copy the original rig, make your changes, save with a new ID and then link that ID from the OBJD.)