PDA

View Full Version : BHAV Test that always returns False?


Phaenoh
12th Aug 2011, 10:34 PM
I'm looking for a global BHAV that always returns False. I need it to disable certain pie menu interactions for various objects. Being able to just change the Test BHAV to something that returns False seems like it would be simplier than editing all the different Test BHAVs I'd need to change. I know the Sleep Test always returns True, is there one similar that returns False?

maybesomethingdunno
12th Aug 2011, 11:14 PM
Why not just uncheck all the Flags in the TTAB?

This might not work depending upon the object and its location. But what about 0x015B?
[global 0x015B] Pool - Am I in a pool? (no args)

It has no arguments/parameters. Its only node is:
[global 0x0170] Pool - Is Param in Pool? (1 arg: Object ID=My 0x000B (object id))
True: True ; False: False

If the object is in a pool, then it would return true of course. But I'm going on guess that it probably isn't.


ETA: Without actually testing this, it might actually check to see if the Active Sim is in the pool instead of the object.

Phaenoh
13th Aug 2011, 12:02 AM
Cuz I don't want to disable all the pie menu options, just some of them. Like the computer, I want to disable all the functions except Write Novel and Write Term Paper, and I want to do it globally. Or the phone, I want to selectively nuke different pie menu options in different packages, so I can't just kill it all all at once.

The pool idea might work, but wouldn't that mean that if the sim that is selected is currently swimming in a pool they could then be directed to use the object as their next interaction? Or is it looking to see if the object itself is in the pool?

ETA: I need to learn to read and comprehend entire posts before responding...

Echo
13th Aug 2011, 2:05 AM
As far as I know there's no global that allows that. MSD is right, unchecking all the person flags in the TTAB is the standard way to do what you're describing. (And that does work on an interaction-by-interaction level)

Phaenoh
13th Aug 2011, 3:19 PM
Ok, I'll take another look at it. I guess I thought that they were all for all at the same time.

While I have both your ears, any idea how infants enter the game being unselectable? I'd like to do the same thing to elders after they age up from adults.

maybesomethingdunno
15th Aug 2011, 6:54 AM
I'm not certain where babies are created...er, in the code. (I'm fairly certain where babies come from in real life. :rolleyes: )

If I were to make Sims automatically unselectable when they become Elders, I would look at the BHAVs in the Age Controller (Open by GUID 0x2C085A2B in the Object Workshop) for a good place to insert my code. Assuming the intended Sim is the Stack Object, you might try:

[prim 0x0002] Expression (Stack Object's person data 0x009E (Selection Flags) Clear Flag flag# Literal 0x0001 (Selectable(Shown in Skewer)))
Wizard code: 9E000100000A13070000000000000000

Just as a reminder that if the only Sim on a lot becomes unselectable, the simulation pauses and Live Mode becomes disabled.

MogHughson
16th Aug 2011, 7:11 PM
I'm looking for a global BHAV that always returns False. I need it to disable certain pie menu interactions for various objects. Being able to just change the Test BHAV to something that returns False seems like it would be simplier than editing all the different Test BHAVs I'd need to change. I know the Sleep Test always returns True, is there one similar that returns False?I believe there is one called Hide Menu that Maxis use for this purpose. Handy when you want things in TTAB that are not to show on the Pie Menu (i.e. for Push Interaction purposes).

Phaenoh
23rd Aug 2011, 11:34 PM
Used the Global Selectable:Set to make the Elders unselectable. Win!

Still having trouble disabling some of the Pie Menus options. In particular, the computer. I'm trying to nuke everything except Write Novel and Write Term Paper. Somehow even though I've been changing the Autonomy from 0x00032 to 0x00064 its still not effecting anything. It's like the game isn't paying attention to my mod, but I swear I'm not changing numbers or anything, just straight up replacing. What the eff?