Hi there! You are currently browsing as a guest. Why not create an account? Then you get less ads, can thank creators, post feedback, keep a list of your favourites, and more!
Replies: 17 (Who?), Viewed: 5689 times.
A Sinful Sim
retired moderator
Original Poster
#1 Old 5th Jan 2006 at 1:29 PM
Default Adding/changing fun motive and room value.
Hi... what if the object you cloned has no fun rating or room value. Do you have to add them into the BHAV/BCON or is there a spot in the BCON values for every motive already (except that it has no value)?

Does anyone know what the Operand # for fun and room are?
retired moderator
#2 Old 5th Jan 2006 at 2:28 PM
fun and room scores can be changed in the object data, like price and such
no need to mess around with bhav's
open the master object data, open the 'raw data' tab
check the hexadecimal dot and in the list you can change the values for room, fun, comfort etc
A Sinful Sim
retired moderator
Original Poster
#3 Old 5th Jan 2006 at 2:53 PM
Are you sure Lethe? I know that if you change it in the Object Data using decimal you are only changing the value in the catalog (not the actual object itself.) I've read some posts here (dealing with changing comfort levels) and they have all said you need to edit the Bhavs and Bcons.
retired moderator
#4 Old 5th Jan 2006 at 3:17 PM
that's how I've always done it, but I haven't actually tested the speed or anything in which sims need fill up
it would be nice if it were that easy.
Slippery When Wet
#5 Old 5th Jan 2006 at 4:41 PM
I think the values in the catalog description just control how the motive is advertised, so that all objects have a common scale. A sim wanting fun could then decide whether to go to the swing or the pool table if they need fun, without having to know how the object works.

When and how fast the motive changes is set within the objects code. So to find out if a certain BCON controls fun, you'll need to scan through the likely functions for the object and its semiglobals. I can't remember of the top of my head which opcode you should look for but it's called something like "Change Motive Rate". It's obvious when you see it.

See LizzLove's bed for an object that changes the advertising on the fly.
Also, as you can set the advertising rate with a BHAV, you'll also be able to read it.
So it is possible that some objects may use the advertising rate as a guide of how fast to increase a motive.
Lab Assistant
#6 Old 5th Jan 2006 at 8:17 PM
You can read the values contained in the OBJD file
These are "Stack Object's Definition"

There are "Person Data" variables for the "Decay rate per day" for each motive
A Sinful Sim
retired moderator
Original Poster
#7 Old 6th Jan 2006 at 1:47 AM
thanks for the reply. What I ended up doing (not sure if it's the "proper" way but it gives me the desired effect) is I looked at the BHAVs/BCONs for Maxis' video game system with the fun value of 9. Then I cloned the motives BHAV my object had and added in the (fun) info into my objects BHAVs/BCONs and rerouted the BHAVS to include the new ones. Since my orginal cloned object doesn't raise the fun motive I know that it's working.

I'm going to take a look at LizzLove's bed and see if I can learn anything more. I also have another question.... tunaisafish makes it sound like the catalog ratings are used to determine how the object is advertised. If I add into the catalog that the object also increses the fun, are sims more likely to use that object over the orginal (Maxis) object? Because while I want the sims to use my object, I want it more based on location than fullfilling needs.
Retired Duck
retired moderator
#8 Old 6th Jan 2006 at 7:45 AM
The stuff in the OBJd is just for what shows up in the catalogue, ie - just for user benefit. The motive advertising (what makes your sims choose an object autonomously to improve their motives) is in the TTAB. If you have the latest PJSE plugin you can fiddle with these advertisements under its "motive" tab. Actually changing a sim's motives while the object is being used requires use of the "Set Motive Change" (0x001D) primitive in a BHAV. Copying an existing BHAV with this functionality in it (like you have) is a reasonably good way to achieve it.
A Sinful Sim
retired moderator
Original Poster
#9 Old 6th Jan 2006 at 8:00 AM
Glad to hear I did it correctly. I don't know if I have the PJSE plug in. I'll have to look for it for future projects.
Slippery When Wet
#10 Old 6th Jan 2006 at 9:34 PM
Echo, thanks for the info on the advertising. I thought the motives tab worked in a similar way to the "Settings Flags", ie. like a pre-guardian function, it would hide the option to say 'sleep' if the persons energy motive was above the minimum. I don't think that anymore, I'm just confused.

Is there an explanation of the TTAB anywhere?
The Wiki info is a bit old and uses slightly different labels to SimPE.

I assume the 3 motive columns (Min,Delta,Type) corespond to the expression owners...
1D check tree advert: Minimum (motive)
0C check tree advert: Range (motive)
1C check tree advert: Personality variance (motive)

The bed sleep code is really confusing, as it updates the Range within a semiglobal called from the 'Guardian'. Presumably there is code somewhere that resets the Range to the original. Or is this only a temporary change?

Hunter, I've looked myself now at LizzLove's way of adjusting the advertising. Sorry for the bum steer to the OBJd file. She uses a number of 'Relax' interactions each with different preset values under the 'motives' tab, and disables all but one via the guardian checking an attribute.
Retired Duck
retired moderator
#11 Old 7th Jan 2006 at 4:15 AM
I haven't actually looked at the bed sleep code, but I'm guessing that it's changing the advertising so that as sims get more and more tired, the bed looks more and more attractive to them (otherwise they'd probably want to go to bed as soon as all their other motives were high, rather than waiting until they're completely exhausted).

As far as setting it back, I'm really not sure. Guardian functions are run before any interaction is allowed to take place (if the guardian fails, the interaction will cancel), so it's possible that the guardian just sets a different advertisment value for each sim every time a sim considers the object as a possibility. But that's mostly supposition... The only experience I've actually had of adjusting the advertising was disabling it when I did some crib modding.
One horse disagreer of the Apocalypse
#12 Old 4th Jan 2009 at 2:13 PM Last edited by Inge Jones : 4th Jan 2009 at 2:32 PM.
Yes, any advertising tweaks done in or from the test BHAV overrule any that are set in the TTAB. Sorry to necromance, but I was being asked about this thread in chat at the moment.

In a BHAV, use:
[prim 0x0002] Expression (Check tree advert: Minimum 0x000F (Fun) := Local 0x0000)
[prim 0x0002] Expression (Check tree advert: Range 0x000F (Fun) := Local 0x0000)
[prim 0x0002] Expression (Check tree advert: Personality variance 0x000F (Fun) := Local 0x0000)

To override the relevent TTAB columns.

Where you don't specify in the BHAV, The TTAB value will be used.

The guardian BHAV will always be run, whether or not the sim is attracted to using the object via the TTAB. Only the flags (eg tickboxes for elder/toddler/visitor) will override this. Ie an elder won't run the Guaridan BHAV if Elder tickbox is not ticked.

The advantage of setting the ads programmatically is that you can do all sorts of subtle tests including time of day (make Sleep more attractive later at night) or even gender. Add up different personality points so you can use a complex formula instead of just using the one personality trait like the Personality Type would have allowed.

"You can do refraction by raymarching through the depth buffer" (c. Reddeyfish 2017)
Slippery When Wet
#13 Old 4th Jan 2009 at 2:39 PM
Ah, my misunderstanding was thinking that the guardian would only be called if the values declared in the TTAB met some criteria. I also thought that returning true in the guardian would mean the sim would then immediately run the 'Action' bhav.

So these values of minimum and range. Do they refer to the sims current value of that motive?
ie, to have your Action run only for sims with current in the range of fun 10-30,
you would set the min to 10 and the range to 30?
I can't even guess at what personality variance is though

and if there are mulitple motives lines, do they all have to pass, or just one?
One horse disagreer of the Apocalypse
#14 Old 4th Jan 2009 at 2:53 PM
Personality variance is the same as "Type" in the BHAV
Range = Delta
Min = Min

You can find out what these mean in SimPE Help, but I will post that bit here:
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. (these attributes are mainly personality and skill levels)
Type is the Sim’s attribute that matters when deciding whether to advertise the extra.

Nothing in these three values has anything to do with a sim's current level in any of his needs. They just tell him what benefit he could get to those needs. So "min fun = 50" means he could expect to get 50 more fun points than he already has. So min refers to the minumum amount of *rise* of that motive by using that interaction.

Using the above example, if fun was set to 50 min and personality type active and delta(range) = 10, then a sim with no active personality points would expect 50 fun points gain, while a sim with full active personality points would expect 60 fun points gain. So the very active sim would choose this interaction for fun gain over an object offering a flat 55, while the less active sim would be more attracted to the object offering a flat 55. Distance being equal of course (the distance criterion can be turned off in the attenuation code box)

"You can do refraction by raymarching through the depth buffer" (c. Reddeyfish 2017)
Slippery When Wet
#15 Old 4th Jan 2009 at 3:20 PM
Thankyou, I think I've finally got my head round this

I'd not even thought of looking in the SimPE help. I started at the wiki, and ended up back here.
One horse disagreer of the Apocalypse
#16 Old 4th Jan 2009 at 3:26 PM
BTW bear in mind that what the sim *expects* to get and what they may or may not *actually* get are two seperate things. The increase in their motive score is handled in seperate BHAVs, and you don't actually have to give them any at all. And the good thing about sims is they will never learn they have been tricked.

"You can do refraction by raymarching through the depth buffer" (c. Reddeyfish 2017)
Fat Obstreperous Jerk
#17 Old 12th Jan 2009 at 8:57 AM Last edited by J. M. Pescado : 12th Jan 2009 at 9:06 AM.
I'm not sure if this particular stupidity qualifies as a GOOD thing, since their failure to learn from their mistakes tends to be why they keep messing with something until they pass out and starve to death in a pool of their own piss. A GOOD AI would actually LEARN from these mistakes and thus stop being attracted to objects that don't deliver, thus eliminating the need to manually calibrate advertisements and annoying OCD-isms that plague the game as it stands. The programmers could thus enter arbitrary values, but sims would automatically learn what the true values are through experience. As it stands, the arbitrary inconsistent values stick and produce lots of annoying, idiotic behavior. You could then make this behavior personality-based, so sims with high suspicion values are quick to denounce crappy things, while those with more addled personalities are slower to catch on. It would lend itself to an entire range of sim personality traits: Curiosity, the temptation to try new unfamiliar things; suspiciousness, how well they respond to failures to deliver; impressableness, how well they respond to things that deliver better than advertised; and memory, how long they tend to remember these experiences. For instance, as an example, me, I am moderately curious, extremely suspicious, not easily impressed, and I never forgive, so with my stats in this, it would only take only the initial negative experience to severely lower the attractiveness of said item in the future, and as I never forgive, that impression will stick practically forever, while positive impressions have only minimal impact and I dismiss them as flukes if they do not recur.

Grant me the serenity to accept the things I cannot change, the courage to change the things I cannot accept, and the wisdom to hide the bodies of those I had to kill because they pissed me off.
One horse disagreer of the Apocalypse
#18 Old 12th Jan 2009 at 9:22 AM
Yes but I rely on false advertising to get sims to do things I need them to do that they're not going to enjoy. For example if I want the teacher to keep calling the kids back to their work, they need to think it's going to give them fun, but it mustn't actually give them fun or else eventually they won't be motivated to seek the promised fun.

"You can do refraction by raymarching through the depth buffer" (c. Reddeyfish 2017)
Back to top