|Long name:||Pie Menu Functions|
IntroductionBHAVs using the Push Interaction (0x000D) OpCode.
Settings - Choosing a Pie Menu String and BHAV
The top right portion of the Settings tab allows you to choose the string to be displayed on the Pie Menu from the Pie Menu Strings (TTAs) resource by clicking on the down arrow on the combo-box.
It also allows you to choose the behaviour (Action BHAV) to run when the Pie Menu function is chosen, and to provide a Guardian BHAV which determines if the Pie Menu is displayed or not - usually this is quite a simple BHAV that just does a few tests and returns True or False. If you already have both the strings and BHAVs done, then choosing them in here is nice and simple. There is a standard naming convention that these BHAVs are named "Interaction - <verb>" and "Interaction - <verb> - TEST" for the Action and Guardian respectively.
The number of the pie-menu shown in the dialog is used by the Push Interaction which allows these interactions to be run from BHAV code as well as being user selectable.
There is a Tutorial: Making Your First Custom BHAV that takes the reader through adding a new pie-menu.
Settings - Choosing the correct flags
The two sets of flags are, for the most part, obvious in use. You select the age group of Sim, or type of Pet allowed to run the BHAV. This acts rather like a first-stage Guardian BHAV. You can also choose 'debug menu' which indicates that this interaction is only available from the Debug Menu.incompatible with the Base Game.
The less obvious flags are shown in the table below.
|joinable||This means while one Sim is doing this interaction, another Sim can join them.|
|immediately||Use this if you want the action associated with the menu item to be run immediately rather than put in your Sim's queue.
Make sure this is not checked if your BHAV displays a Dialog. Otherwise you will get the "Check tree primitive blocked completion" error.
|consecutive||The Sim can choose to do this several times in a row.|
|Debug Menu||Items can be marked as being on the debug menu. This means they only show up if two other things are done. Firstly in the cheats window use "boolProp testingCheatsEnabled true" and then press <Shift> when clicking on an object to bring up its Pie Menu. Then you will see the debug items instead of the normal items.|
|allow nested||Either another interaction can be nested within this, or it can be nested|
|nest||Either this interaction should be nested, or it can be nested|
Settings - Miscellaneous
The rest of the Settings tab contains a mixture of other fields that we will cover in this section.
|Attenuation Code||Attenuation reduces the attractiveness of an interaction over a distance. The higher the attenuation the closer the Sim will have to be before he feels like using the object.|
|Attenuation Value||This value in this field is taken into account when you have selected "Custom" for the Attenuation code|
|Autonomy||This controls whether the currently selected interaction is autonomous or not. If this field is set to 0x00000064, it will not be autonomous. Worth noting here that Param 0 into a Guardian BHAV indicates whether the iteraction is being selected autonomously or not. Set to value of 1 if it is autonomous.|
|Join Index||The number of the pie menu line that will run if another Sim tries to join the Sim running current interaction. "Joinable" needs to be ticked in Flags for this value to be used.|
|UI Display Type|
|Facial Animation ID|
|Model Table ID|
|Memory Iterative Multiplier|
The motive tab(s) allows the tuning of which motives being low will cause a Sim to autonomously select an interaction (if Autonomy is configured - see above). Depending on the value of Format, there may be one tab named "Motives" (Format < 0x00000054) or two tabs named "Human Motives" and "Animal Motives". For example, if you are creating a new chair, and you give the "Sit" option a Bladder minimum value of 100 (0x0064), the Sim will think sitting on that chair will relieve his full bladder even better than most toilets. He'll keep sitting on it over and over again until he finally wets himself since no actual Bladder motive relief is given during the interaction.
The columns are grouped by the type of Sim they apply to. If you tick "Show all" you would have the chance to enter different values for every age group. In practice this is rarely done, and usually you would set them for Adults, then use "Set all like this" to copy the whole columns to the other ages. Then usually you just make sure the ages (and species) you don't want using the option are not ticked on the Settings tab.
- Minimum is the least level of that is advertised to all Sims for this motive.
- Delta is the amount extra that would be advertised to Sims with a particular attribute, on a sliding scale according to how much of that attribute they have.
- Type is the Sim's attribute that matters when deciding whether to advertise the extra.
Values for the Type field:
|None (All Sims get the same advert)||0000|
|Generous (probably unused)||0005|
|Selfish (probably unused)||0006|
|Social Skill (Charisma)||000F|
|Gardening Skill (may be unused)||0011|
|Music Skill (may be unused)||0012|
|Literacy Skill (probably unused)||0014|
|Physical Skill (Body)||0015|