TTAB’s Explained: How to Edit Menu Options
A TS2 Tutorial by Carrigon
This tutorial will teach you how to edit the menu options in several ways. If you don’t want a visitor to touch an object, or you want to stop sims from doing something with an object these are a few of the things covered here. Also covered is how to change the name of a menu option and how to import some code into the file.
Before we get started:
You will need, SimPe and the OBJD.txt file, the Motive Code Zip File and the tutorial pics included with this tutorial. Do NOT ask how to install SimPe. This tutorial is for those with the program already installed properly. Do NOT try to PM me, email me, or otherwise bug me about this tutorial. If you have a question, please post to MTS2 and someone will help you there.
Okay, first thing, make a temp folder somewhere on your drive. Call it something like "copy of objectspackage". Now, go into your Program Files/EA Games/Sims 2 folder and find objects.package. It’s here: C:\Program Files\EA GAMES\The Sims 2\TSData\Res\Objects Make a copy of it and put it into your temp folder. This temp file is what we will always be working with. NEVER work from your real objects.package. If you screw it up, you’ll end up having to reinstall your game. Also, keep this new temp folder and file copy for any future tutorials I do. That’s what we will always be working off of as well as the OBJD.txt file.
Okay, now I need to explain to you the difference between a Global Mod and a Local Mod. What I’m mostly going to be showing you is Global Modding. Global Modding affects ALL of an object. Like, say you wanted to make EVERY couch only available to family and not let visitors sit on them. That’s a Global Mod. But if you wanted to only make ONE couch visitor free, that would be a Local Mod. Local means you are only doing one of an object. Global means you are affecting all of that type of object in the game. At the time of this writing, there are very few cloned objects available, so we will be working mostly with Global Mods. However, it should be noted that not every Global is always listed and sometimes we will have to go Local, but I’ll explain more about that later.
Step 2: Let’s get started
Open the scary looking OBJD.txt file. Let’s do a mod for the Grandfather Clock. Do a search in the OBJD.txt file for Grandfather clock. You should find the following line:
Object Data (OBJD, 0×4F424A44); 0×00000000; 0×7F85611C; 0×000041A7; 0xAC2061CC; 0×0004; Normal; Ol’ Grandfather Clock; Grandfather Clock - Expensive;
Open the SimPe program. In SimPe, open the copy of the objects.package. In the group filter window, paste this in: 0×7F85611C
Make sure you click the plugin view tab.
Now, click Pie Menu Functions. You should now see your TTAB Menu. Don’t do anything with it yet! Make a new temp folder on your drive. Call it something like "grandfather clock mod". Now, back in SimPe, RIGHT click on Pie Menu Functions and choose EXTRACT. Extract the file to your grandfather clock mod temp folder. Now do the same for Pie Menu Strings. The Pie Menu Strings file will just make it so you can see what you’re doing in the TTAB otherwise the menu options will say "unknown" and you’ll be working blind.
Okay, in SimPe, click on File, New, Add, and add the two files you just extracted by clicking on "all files", so you can see the simpe.xml extension. You only want to add the two files that have simpe.xml. Do NOT add the others. This way you will get the proper group and instance numbers.
You should now have only your two files in SimPe and you should be able to read your TTAB Interactions when you click on Pie Menu Functions.
Go to file, save and name your new file something like, "grandfatherclockmod" and put it into your temp folder. It should have the .package extension. So it should look like grandfatherclockmod.package
Extract the files from the Motive Code zip that I included with this tutorial. You are going to import two of those files into your grandfatherclockmod.package file. So open your grandfatherclockmod.package and click File, Add. Add only the two files with the simpe.xml extensions. Click File, Save.
Now, we’re ready to do a real mod. So, make sure you have your new package open in SimPe. Click on plugin view and click Pie Menu Functions.
Look at Interactions. You should see the three menu options: Wind, Maintain, *Break.
Today, we’re going to work with the Flags for those options. First, click on Wind so it’s highlighted. Now look at the Flags area. See the little checks? We will also be working with the Guardian and Action tabs below the Flags.
First, let’s change the name Wind to Max All Except Fun and Social. Then I’ll show you how to make it actually do that.
Click on Pie Menu Strings. In the Value window, change the word Wind to Max All Except Fun and Social. Then click on "change in all" and Commit. Then go to file, save.
Now we’re going to make the new menu words actually point to the function they are supposed to do. Click on Pie Menu Functions. Look at the Flags. Check off Immediately, Adults, Elders, Teens. Everything else should NOT be checked.
Look at the Guardian and Action. Change the numbers so that Guardian points to your TEST BHAV which is instance 1701. (Anytime you have a test BHAV, you always put it in the Guardian). Make the Action point to 1700, that’s our action right there. (When a sim clicks on the "Max All Except Fun and Social", this will max all motives for all sims on the lot except for fun and social). Click Commit, and File, Save.
Double check that all of your changes are there. Make sure you didn’t miss clicking commit or file save somewhere.
I bet you were looking at that *Break option, right? Let’s see if we can stop this object from breaking. So, in Pie Menu Functions, click that *Break option.
UNCHECK all the Flags for Break. Click commit, and go to file, save. You can come back here by clicking Pie Menu Options just to make sure your changes took effect.
Do the same thing for the Maintenance interaction. UNCHECK all boxes. Click commit, file, save. Why are we messing with the Maintenance function? Because it is tied to the Break function. That’s really all it is used for. It’s to have the sim repair the clock, but since we’re stopping the Break, you shouldn’t need it.
Okay, we are done for now. Put the file into your game downloads folder and go play and buy a Grandfather Clock to test it out. You should have an option to Max All Except Fun and Social. When you click it in the game, every sim on the lot should have their motives maxed except for fun and social. The clock should never break or need maintenance and it should chime away at the usual times.
(Techie Talk: Skip if you like) This is just a small explanation of the Autonomy and Motive areas of the TTAB. The higher you set the Autonomy, the less a sim will want to do something. The lower the number, the more addictive the object. The Motive area has a bunch of numbered drop downs. Each drop down number represents an age. I don’t have a list of which number is what age at the moment, so you’d just have to experiment with them. Motives can be manipulated so that say, you wanted a hungry sim to wind that clock, you’d set a number of how hungry the sim would be before they’d want to wind the clock. Those familiar with TS1 and using the Blueprint Menu Editor will understand this better. It’s the same thing except we’re using SimPe. You can safely play with the Autonomy setting and the Motives area. Experiment if you like. The more you experiment, the more you’ll learn how to mod. As I understand it, at least one or two of those dropdowns was for pets and may still be used for pets in future expansions.)
I hope this tutorial was enough to get you started with some simple modding and that you found it helpful and informative. This simple lesson can be applied to all objects that have a Pie Menu Function and a Pie Menu String. So if you’d like to experiment with other objects you can use this tutorial as a basic guide.
I did borrow the one motive code off Merola’s Multi Painting for this tutorial. Originally, I was just going to make it so you could Wind the clock when you wanted and not have it break. But that was boring, so I ended up making it do something better. As usual, credits and hugs to Quaxi.