- Site Map >
- Modding and Creation >
- Sims 2 Creation >
- Tutorials >
- Objects - Simantics and BHAVs
- Site Map >
- Modding and Creation >
- Sims 2 Creation >
- Tutorials >
- Objects - Simantics and BHAVs
#51
14th Sep 2006 at 10:07 PM
Posts: 52
Thanks: 34 in 1 Posts
Actually, I ran TS2 last night on Vista, ran just fine! :-) Hip Hip Horray!
So in reality, Maxis already had support built in, just kept it quite! Them sneaky little devils
Now if I can just get my OFB CD to work I will up and running!
SimAntics, What would life be without 'em!
So in reality, Maxis already had support built in, just kept it quite! Them sneaky little devils
Now if I can just get my OFB CD to work I will up and running!
SimAntics, What would life be without 'em!
Advertisement
#52
23rd Sep 2006 at 5:17 PM
Posts: 69
Is BHAVs What you need for animation?
#53
23rd Sep 2006 at 7:40 PM
The BHAVs are routines that control everything in an object: the animations, the interactions, what they do to the sims, what they do by themselves...
Each BHAV is a little program (written in Simantics), and it may contain one or more specific instructions whose purpose is animating the object.
But it's not a simple job, anyway, I warn you...
I've finally started my Journal. Information only, no questions.
My latest activity: CEP 9.2.0! - AnyGameStarter 2.1.1 (UPD) - Scriptorium v.2.2f - Photo & Plaques hide with walls - Magazine Rack (UPD) - Animated Windows Hack (UPD) - Custom Instrument Hack (UPD) - Drivable Cars Without Nightlife (UPD) - Courtesy Lights (FIX) - Custom Fence-Arches - Painting-TV - Smarter Lights (UPD)
Each BHAV is a little program (written in Simantics), and it may contain one or more specific instructions whose purpose is animating the object.
But it's not a simple job, anyway, I warn you...
I've finally started my Journal. Information only, no questions.
My latest activity: CEP 9.2.0! - AnyGameStarter 2.1.1 (UPD) - Scriptorium v.2.2f - Photo & Plaques hide with walls - Magazine Rack (UPD) - Animated Windows Hack (UPD) - Custom Instrument Hack (UPD) - Drivable Cars Without Nightlife (UPD) - Courtesy Lights (FIX) - Custom Fence-Arches - Painting-TV - Smarter Lights (UPD)
I *DON'T* accept requests, sorry.
#54
26th Sep 2006 at 9:30 PM
Posts: 52
Thanks: 34 in 1 Posts
Hey there, got my OFB cd working...
Starting to work on a new Tut...and BTW- TS2 does run on Vista, but the sound is sticky!...don't know if that's becasue of Vista or DX10 (Properitery for Vista, not XP)
Anyway, will have some new ones comming soon, so keep your eyes open!
SimAntics, What would life be without 'em!
Starting to work on a new Tut...and BTW- TS2 does run on Vista, but the sound is sticky!...don't know if that's becasue of Vista or DX10 (Properitery for Vista, not XP)
Anyway, will have some new ones comming soon, so keep your eyes open!
SimAntics, What would life be without 'em!
#55
6th Nov 2006 at 10:17 PM
Posts: 52
Thanks: 34 in 1 Posts
Sorry all, been working on new tuts, but now that TS2P (the Sims 2 Pets) has come out and soon to be expansion pack (Holiday Stuff, plus another after that, plus the one in January to be released, much more info has come up (such as Maxis® getting the Weather system finally finised! ).. So in trying to keep up with what's going on, I have decided to change my direction and go towards TS2Pets instructions! I hope this will help many people in the new era to come of TS2
SimAntics, What would life be without 'em!
SimAntics, What would life be without 'em!
#56
7th Nov 2006 at 12:29 AM
Quote: Originally posted by AdidasSG2
...and soon to be expansion pack (Holiday Stuff... |
Don't worry about the Holiday pack: it will be a copy of the one released last year
Quote:
...Maxis® getting the Weather system finally finised! |
If they "finish" the weather like they did with body layers (i.e. resuming an old unfinished and malfunctioning project started by the first Maxoid team and releasing as is) we'll have really bad time -
Quote:
TS2Pets instructions! |
I still didn't look at the new instruction set. Are there new primitives? Something interesting to delve into?
Many thanks for your continuous efforts
I've finally started my Journal. Information only, no questions.
My latest activity: CEP 9.2.0! - AnyGameStarter 2.1.1 (UPD) - Scriptorium v.2.2f - Photo & Plaques hide with walls - Magazine Rack (UPD) - Animated Windows Hack (UPD) - Custom Instrument Hack (UPD) - Drivable Cars Without Nightlife (UPD) - Courtesy Lights (FIX) - Custom Fence-Arches - Painting-TV - Smarter Lights (UPD)
I *DON'T* accept requests, sorry.
#57
7th Nov 2006 at 8:58 AM
Posts: 11,683
Thanks: 9681 in 11 Posts
Quote: Originally posted by Numenor
If they "finish" the weather like they did with body layers (i.e. resuming an old unfinished and malfunctioning project started by the first Maxoid team and releasing as is) we'll have really bad time - |
Numenor! How terribly off-message of you!! <stifles a giggle >
#58
7th Nov 2006 at 9:59 AM
OK, I admit it: I miss MaxoidTom... -
I've finally started my Journal. Information only, no questions.
My latest activity: CEP 9.2.0! - AnyGameStarter 2.1.1 (UPD) - Scriptorium v.2.2f - Photo & Plaques hide with walls - Magazine Rack (UPD) - Animated Windows Hack (UPD) - Custom Instrument Hack (UPD) - Drivable Cars Without Nightlife (UPD) - Courtesy Lights (FIX) - Custom Fence-Arches - Painting-TV - Smarter Lights (UPD)
I've finally started my Journal. Information only, no questions.
My latest activity: CEP 9.2.0! - AnyGameStarter 2.1.1 (UPD) - Scriptorium v.2.2f - Photo & Plaques hide with walls - Magazine Rack (UPD) - Animated Windows Hack (UPD) - Custom Instrument Hack (UPD) - Drivable Cars Without Nightlife (UPD) - Courtesy Lights (FIX) - Custom Fence-Arches - Painting-TV - Smarter Lights (UPD)
I *DON'T* accept requests, sorry.
#59
17th Nov 2006 at 10:33 PM
Posts: 52
Thanks: 34 in 1 Posts
So far into my delving, I have found a couple new Instructions, but mostly they are data types, for my and stack obj. plus other attribs.
I am getting close to finishing the tut, but still looking to find some missing info. those pkgs take a long time to look through! :-)
SimAntics, What would life be without 'em!
I am getting close to finishing the tut, but still looking to find some missing info. those pkgs take a long time to look through! :-)
SimAntics, What would life be without 'em!
#60
17th Nov 2006 at 11:45 PM
Posts: 11,683
Thanks: 9681 in 11 Posts
Well, are you going to let us know what they are so they can be added to PJSE and Disasim etc?
#61
8th Dec 2006 at 10:59 PM
Posts: 52
Thanks: 34 in 1 Posts
Sorry for the long over waited delay....My computer got fried over the past weekend, so I am waiting for my new one to come, then I will have to get everything back up and running, before I can get anything out. I apologize for the wait.
Sorry Again!
SimAntics, What would life be without 'em!
Sorry Again!
SimAntics, What would life be without 'em!
#62
9th Dec 2006 at 12:55 AM
Take your time, slavery has been abolished here at MTS2
I'm sorry for your PC, and I hope that you will soon be back in business
I've finally started my Journal. Information only, no questions.
My latest activity: CEP 9.2.0! - AnyGameStarter 2.1.1 (UPD) - Scriptorium v.2.2f - Photo & Plaques hide with walls - Magazine Rack (UPD) - Animated Windows Hack (UPD) - Custom Instrument Hack (UPD) - Drivable Cars Without Nightlife (UPD) - Courtesy Lights (FIX) - Custom Fence-Arches - Painting-TV - Smarter Lights (UPD)
I'm sorry for your PC, and I hope that you will soon be back in business
I've finally started my Journal. Information only, no questions.
My latest activity: CEP 9.2.0! - AnyGameStarter 2.1.1 (UPD) - Scriptorium v.2.2f - Photo & Plaques hide with walls - Magazine Rack (UPD) - Animated Windows Hack (UPD) - Custom Instrument Hack (UPD) - Drivable Cars Without Nightlife (UPD) - Courtesy Lights (FIX) - Custom Fence-Arches - Painting-TV - Smarter Lights (UPD)
I *DON'T* accept requests, sorry.
#63
11th Dec 2006 at 3:40 AM
Posts: 159
Thanks: 28491 in 55 Posts
Hey great job with this post. I will read over the files when I can.
[COLOR=DarkRed][I]I think that the only real way to be hypocrisy free is to stand up for nothing…and I’d rather deal with sometimes being a hypocrite than wake up one day, prostrate in my own apathy.
. *Me*
[COLOR=DarkRed][I]I think that the only real way to be hypocrisy free is to stand up for nothing…and I’d rather deal with sometimes being a hypocrite than wake up one day, prostrate in my own apathy.
. *Me*
#64
2nd Jan 2007 at 10:28 PM
Posts: 52
Thanks: 34 in 1 Posts
Hey Everyone! I got my computer up and running again! :-)
I purchased a new Motherboard/Processor! (Intel Proc 3.20 Ghz, 1Gb mem)
(I didn't like the one I purchased from Dell)
So It will be a bit longer before anything gets out! - Plus I am also waiting on Vista.
So First and formost, THANX to all for being very very patient. I appreciate your
enthusisiam.
SimAntics, What would life be without 'em!
I purchased a new Motherboard/Processor! (Intel Proc 3.20 Ghz, 1Gb mem)
(I didn't like the one I purchased from Dell)
So It will be a bit longer before anything gets out! - Plus I am also waiting on Vista.
So First and formost, THANX to all for being very very patient. I appreciate your
enthusisiam.
SimAntics, What would life be without 'em!
#65
10th Jan 2007 at 10:28 PM
Posts: 52
Thanks: 34 in 1 Posts
Inge:
So far I have only been through 0x00 -> 0x90. I have only noticed 2 so far, which are both OLD ones, but are still used, there are only 2 instances (one in one instruction and a few in another) They were like looking for a needle in a haystack.
I will try to get the info posted up here As soon as I get finished to make sure it's correct and no others have been found. So I still have to go through 0x91 -> 0xFF.
SimAntics, What would life be without 'em!
So far I have only been through 0x00 -> 0x90. I have only noticed 2 so far, which are both OLD ones, but are still used, there are only 2 instances (one in one instruction and a few in another) They were like looking for a needle in a haystack.
I will try to get the info posted up here As soon as I get finished to make sure it's correct and no others have been found. So I still have to go through 0x91 -> 0xFF.
SimAntics, What would life be without 'em!
#66
11th Jan 2007 at 10:09 PM
I'm always here, hovering this thread like a condor in search of a pray...
I'm curious... What are the two opcodes so rarely used? and in which BHAVs have you found them? I think that in the objects.package there are some discontinued (and incomplete) semiglobals; perhaps those BHAVs are no more used in the game.
I've finally started my Journal. Information only, no questions.
My latest activity: CEP 9.2.0! - AnyGameStarter 2.1.1 (UPD) - Scriptorium v.2.2f - Photo & Plaques hide with walls - Magazine Rack (UPD) - Animated Windows Hack (UPD) - Custom Instrument Hack (UPD) - Drivable Cars Without Nightlife (UPD) - Courtesy Lights (FIX) - Custom Fence-Arches - Painting-TV - Smarter Lights (UPD)
I'm curious... What are the two opcodes so rarely used? and in which BHAVs have you found them? I think that in the objects.package there are some discontinued (and incomplete) semiglobals; perhaps those BHAVs are no more used in the game.
I've finally started my Journal. Information only, no questions.
My latest activity: CEP 9.2.0! - AnyGameStarter 2.1.1 (UPD) - Scriptorium v.2.2f - Photo & Plaques hide with walls - Magazine Rack (UPD) - Animated Windows Hack (UPD) - Custom Instrument Hack (UPD) - Drivable Cars Without Nightlife (UPD) - Courtesy Lights (FIX) - Custom Fence-Arches - Painting-TV - Smarter Lights (UPD)
I *DON'T* accept requests, sorry.
#67
13th Jan 2007 at 4:55 AM
Posts: 2,832
Thanks: 6615 in 20 Posts
I have been 'round and 'round looking for any prior research on the BHAV primitive 'AnimateObject' (0x69). For AnimateSim I found a writeup on the sims2wiki.
If anyone knows where any prior work on the parameters or other info, I'd appreciate a pointer to it.
<* Wes *>
If anyone knows where any prior work on the parameters or other info, I'd appreciate a pointer to it.
<* Wes *>
#68
13th Jan 2007 at 8:31 AM
Posts: 612
Thanks: 33790 in 19 Posts
wes_h, I suppose you don't have the Sims2Differences.doc? Attached it, since the site it was located is down for a long while. The file contains info on meanings of parameters, and not only for AnimateObject, so it's extremely useful
Or, if you want a brief summary of what to type in opcode boxes, here's my list - obtained by simply typing various values and seeing what's changed
Op00,01 = animation number (in reverse order, as usual)
Op02 - flag, built from bits:
01= Flip Flag: True
02= Anim Speed: Temporary Storage 0x0002
04= animation from Parameters
08= Interruptible: True
10= Start at tag: Temporary Storage 0x0000
20= Loop Count: Temporary Storage 0x0001
40= Blend out: False
80= Blend in: False
Op03 - flag, meaning is mostly unknown:
20= no idea what it changes, but it's present in all animations
80= play backward, thanks to Echo for info
Op04,05 = event tree number
Op06 = object dataowner (i.e. 0A - Stack object)
Op07,08 = object number
Op09 - event tree from:
01= private
02= semiglobal
03= global
Op10 - flag:
01= ?
02= ?
04= Sync to calling object: True
08= Align blend out with calling object: True
10= ?
20= ? could it be - take anims from adult/child separately
40= ?
80= Not hurryable: True
Or, if you want a brief summary of what to type in opcode boxes, here's my list - obtained by simply typing various values and seeing what's changed
Op00,01 = animation number (in reverse order, as usual)
Op02 - flag, built from bits:
01= Flip Flag: True
02= Anim Speed: Temporary Storage 0x0002
04= animation from Parameters
08= Interruptible: True
10= Start at tag: Temporary Storage 0x0000
20= Loop Count: Temporary Storage 0x0001
40= Blend out: False
80= Blend in: False
Op03 - flag, meaning is mostly unknown:
20= no idea what it changes, but it's present in all animations
80= play backward, thanks to Echo for info
Op04,05 = event tree number
Op06 = object dataowner (i.e. 0A - Stack object)
Op07,08 = object number
Op09 - event tree from:
01= private
02= semiglobal
03= global
Op10 - flag:
01= ?
02= ?
04= Sync to calling object: True
08= Align blend out with calling object: True
10= ?
20= ? could it be - take anims from adult/child separately
40= ?
80= Not hurryable: True
Attached files:
Sims2Differences.rar (56.9 KB, 114 downloads) - View custom content | ||
Size Packed Ratio Date Time Attr CRC Meth Ver ------------------------------------------------------------------------------- Sims2Differences.doc 453632 58215 12% 04-06-06 19:38 .....A. B4294195 m5e 2.9 ------------------------------------------------------------------------------- 1 453632 58215 12% |
#69
13th Jan 2007 at 8:54 AM
Jasana - Op3 is the speed field, not a flag field - its use is described in the wiki under "Animate Sim", operand 4.
http://www.sims2wiki.info/0x006A#Operand_4
It's a fixed point float field, 0x20 = 1.0 (normal speed), 0x80 = -1.0 (normal speed, but in the opposite direction).
http://www.sims2wiki.info/0x006A#Operand_4
It's a fixed point float field, 0x20 = 1.0 (normal speed), 0x80 = -1.0 (normal speed, but in the opposite direction).
#70
13th Jan 2007 at 6:15 PM
Posts: 2,832
Thanks: 6615 in 20 Posts
I thank both Echo and Jasana for the help.
I had gathered some of the stuff jasana posted, but her list, with echo's additions, is far more complete than what I had gathered.
If I learn anything new, y'all will learn about it.
<* Wes *>
I had gathered some of the stuff jasana posted, but her list, with echo's additions, is far more complete than what I had gathered.
If I learn anything new, y'all will learn about it.
<* Wes *>
#71
13th Jan 2007 at 9:56 PM
Jasana, thanks a million for the valuable document you posted: I didn't even know about its existence; btw, it seems one of those "underground" documents escaped from Maxis' laboratories: this "David P. Miller" (author of the document) is credited in The Sims1, The Sims2 and Nightlife. He must be a guru in programming this game!
I've finally started my Journal. Information only, no questions.
My latest activity: CEP 9.2.0! - AnyGameStarter 2.1.1 (UPD) - Scriptorium v.2.2f - Photo & Plaques hide with walls - Magazine Rack (UPD) - Animated Windows Hack (UPD) - Custom Instrument Hack (UPD) - Drivable Cars Without Nightlife (UPD) - Courtesy Lights (FIX) - Custom Fence-Arches - Painting-TV - Smarter Lights (UPD)
I've finally started my Journal. Information only, no questions.
My latest activity: CEP 9.2.0! - AnyGameStarter 2.1.1 (UPD) - Scriptorium v.2.2f - Photo & Plaques hide with walls - Magazine Rack (UPD) - Animated Windows Hack (UPD) - Custom Instrument Hack (UPD) - Drivable Cars Without Nightlife (UPD) - Courtesy Lights (FIX) - Custom Fence-Arches - Painting-TV - Smarter Lights (UPD)
I *DON'T* accept requests, sorry.
Lab Assistant
#72
19th Jan 2007 at 8:34 PM
Last edited by linolino : 19th Jan 2007 at 8:41 PM.
Posts: 64
Thanks: 313 in 2 Posts
Can i ask something please.
First, I'm thrilled about this documentation. Thx so much AdidasSG2. Im finnaly understanding how to use SimPE to mod some things i wanted for so long now!
So i wanted to ask 2 things i did not quite understand very well:
1) Stack Object:
- What's Stack Object? Is it a variable? What does it stores? How does it work?
- Does it always reference to the object that is beeing used?
- I've tried out the follownig instruction:
prim[ 0x0002] Expression (Local 0x0000 > Stack Object ID)
if i change the Op7 it changes the Stack Object ID to Stack Object's Attribute, Stack Object's graphic, Stack Object's Slot, Stack Object's Temp 0x0000, even a Stack Object's motive Shopping...
How are these different from each other?
2) Still in the Expression instruction, i can select Temp 0x0000 and Temp[Temp 0x0000]. What's the difference?
First, I'm thrilled about this documentation. Thx so much AdidasSG2. Im finnaly understanding how to use SimPE to mod some things i wanted for so long now!
So i wanted to ask 2 things i did not quite understand very well:
1) Stack Object:
- What's Stack Object? Is it a variable? What does it stores? How does it work?
- Does it always reference to the object that is beeing used?
- I've tried out the follownig instruction:
prim[ 0x0002] Expression (Local 0x0000 > Stack Object ID)
if i change the Op7 it changes the Stack Object ID to Stack Object's Attribute, Stack Object's graphic, Stack Object's Slot, Stack Object's Temp 0x0000, even a Stack Object's motive Shopping...
How are these different from each other?
2) Still in the Expression instruction, i can select Temp 0x0000 and Temp[Temp 0x0000]. What's the difference?
#73
19th Jan 2007 at 10:44 PM
Posts: 52
Thanks: 34 in 1 Posts
Linolino:
Thanx for the comments! :-) Yes I am still breathing, but alive in my little corner.
As per your questions:
1.) Stack object.
A Stack Object is not just one item, but it can be many items, depending on which BHAV you are looking at. So in a sense it's a variable, but you can only check on that variable, you cannot make any modificiations to that item in the variable, that must be done in other instructions such as Expression(0x02) and the likes where you modify that "attributes" of that item be it a Sim/Object/ Now including Pets.
It will only reference that object that's in it for that current set of Instructions you are working with.
part 3: Trying out instuctions-you have noticed that you can change the op7 to the stacks object attrib/graphic etc...but you can only change those, you CANNOT change the id (that is ingame fixed).
Each change is different in it's own way. Each modifys someother info that may/maynot be releated to a certain function.
Question 2.) The difference is the Temp 0x0000 is a base variable where as Temp[Temp 0x0000] is refering to a value in the Temp Array located at the Temp 0x0000.
I hope this helps you out. If there is anything else I can help you with please feel free!
SimAntics, What would life be without 'em!
Thanx for the comments! :-) Yes I am still breathing, but alive in my little corner.
As per your questions:
1.) Stack object.
A Stack Object is not just one item, but it can be many items, depending on which BHAV you are looking at. So in a sense it's a variable, but you can only check on that variable, you cannot make any modificiations to that item in the variable, that must be done in other instructions such as Expression(0x02) and the likes where you modify that "attributes" of that item be it a Sim/Object/ Now including Pets.
It will only reference that object that's in it for that current set of Instructions you are working with.
part 3: Trying out instuctions-you have noticed that you can change the op7 to the stacks object attrib/graphic etc...but you can only change those, you CANNOT change the id (that is ingame fixed).
Each change is different in it's own way. Each modifys someother info that may/maynot be releated to a certain function.
Question 2.) The difference is the Temp 0x0000 is a base variable where as Temp[Temp 0x0000] is refering to a value in the Temp Array located at the Temp 0x0000.
I hope this helps you out. If there is anything else I can help you with please feel free!
SimAntics, What would life be without 'em!
#74
19th Jan 2007 at 11:16 PM
Whoa! A lot of "huge" questions!
The Stack Object.... I will simplify a little, so to better explain.
In the very moment you click on an object (or a sim, or a pet), that object (sim, pet) becomes the Stack Object; at the same time, the selected sim, i.e. the one that performs the interaction, is referred as "Me".
Like any other object in the game, the Stack Object is identified by a number: the ID; therefore, "Stack Object ID" means the unique number that identifies the currentStack Object.
Once the stack object has been identified, the BHAV can do a lot of things with it: query its attributes, deleting it, snapping something in its slots...
But the "Stack Object" is not always the same: it changes quite often, because every instruction in the BHAV needs to be referred to an object; therefore, the various BHAVs often point to a different object, selecting it as the Stack Object, and then perform an action on it.
An example: your sim wants to bring the newspaper inside. This is what happens (let's call the Stack Object "SO", for brevity's sake...)
1) You click on the newspaper and select the menu "Bring in"; in this moment, the SO is the newspaper
2) The sim picks it and searches for a table where to put it; in order to do so, the BHAV scans all the objects in the lot; for every object found, the game changes the SO to that object, checks its category (is it a table? a bed? a stove?), if it's a table then checks if it has free slots, and finally finds a suitable table where to put the newspaper. In all this "scan" process, the SO has changed continuously, and is lastly set to the table.
3) The sim is instructed to reach the table (currently, the stack object), perform the "put down" animation and the newspaper (which in the meantime is not the SO any more) is finally snapped into the table's slot.
Now that we have briefly explained what is the SO, let's talk about its properties: there are a lot, and I can't explain them all. For example, the SO's Graphic is the mesh of the SO; the SO's attributes are variable stored into the object itself (for example, a cake stores how many slices are left), SO's motives (hunger, energy etc) are the hunger, energy etc of the sim currently selected as SO (I said that the SO can be not only an object, but also a sim or a pet). I'm sorry, but I can't be more detailed, the list of the SO properties is very very long...
Lastly, your question #2 means this:
Temp 0x0000 is a temporary storage, where the game stores a value; and then this value can be read for further elaborations. There are numerous "Temp" storages: Temp 0x0000, Temp 0x0001 etc.
Temp[Temp 0x0000] is the "Temp" storage whose number is stored in Temp 0x0000; if Temp 0x0000 = 3 then the expression
Temp[Temp 0x0000] = Temp[3] = Temp 0x0003.
In other words, in this example, the Temp 0x0000 is just a pointer to another Temp.
I've finally started my Journal. Information only, no questions.
My latest activity: CEP 9.2.0! - AnyGameStarter 2.1.1 (UPD) - Scriptorium v.2.2f - Photo & Plaques hide with walls - Magazine Rack (UPD) - Animated Windows Hack (UPD) - Custom Instrument Hack (UPD) - Drivable Cars Without Nightlife (UPD) - Courtesy Lights (FIX) - Custom Fence-Arches - Painting-TV - Smarter Lights (UPD)
The Stack Object.... I will simplify a little, so to better explain.
In the very moment you click on an object (or a sim, or a pet), that object (sim, pet) becomes the Stack Object; at the same time, the selected sim, i.e. the one that performs the interaction, is referred as "Me".
Like any other object in the game, the Stack Object is identified by a number: the ID; therefore, "Stack Object ID" means the unique number that identifies the currentStack Object.
Once the stack object has been identified, the BHAV can do a lot of things with it: query its attributes, deleting it, snapping something in its slots...
But the "Stack Object" is not always the same: it changes quite often, because every instruction in the BHAV needs to be referred to an object; therefore, the various BHAVs often point to a different object, selecting it as the Stack Object, and then perform an action on it.
An example: your sim wants to bring the newspaper inside. This is what happens (let's call the Stack Object "SO", for brevity's sake...)
1) You click on the newspaper and select the menu "Bring in"; in this moment, the SO is the newspaper
2) The sim picks it and searches for a table where to put it; in order to do so, the BHAV scans all the objects in the lot; for every object found, the game changes the SO to that object, checks its category (is it a table? a bed? a stove?), if it's a table then checks if it has free slots, and finally finds a suitable table where to put the newspaper. In all this "scan" process, the SO has changed continuously, and is lastly set to the table.
3) The sim is instructed to reach the table (currently, the stack object), perform the "put down" animation and the newspaper (which in the meantime is not the SO any more) is finally snapped into the table's slot.
Now that we have briefly explained what is the SO, let's talk about its properties: there are a lot, and I can't explain them all. For example, the SO's Graphic is the mesh of the SO; the SO's attributes are variable stored into the object itself (for example, a cake stores how many slices are left), SO's motives (hunger, energy etc) are the hunger, energy etc of the sim currently selected as SO (I said that the SO can be not only an object, but also a sim or a pet). I'm sorry, but I can't be more detailed, the list of the SO properties is very very long...
Lastly, your question #2 means this:
Temp 0x0000 is a temporary storage, where the game stores a value; and then this value can be read for further elaborations. There are numerous "Temp" storages: Temp 0x0000, Temp 0x0001 etc.
Temp[Temp 0x0000] is the "Temp" storage whose number is stored in Temp 0x0000; if Temp 0x0000 = 3 then the expression
Temp[Temp 0x0000] = Temp[3] = Temp 0x0003.
In other words, in this example, the Temp 0x0000 is just a pointer to another Temp.
I've finally started my Journal. Information only, no questions.
My latest activity: CEP 9.2.0! - AnyGameStarter 2.1.1 (UPD) - Scriptorium v.2.2f - Photo & Plaques hide with walls - Magazine Rack (UPD) - Animated Windows Hack (UPD) - Custom Instrument Hack (UPD) - Drivable Cars Without Nightlife (UPD) - Courtesy Lights (FIX) - Custom Fence-Arches - Painting-TV - Smarter Lights (UPD)
I *DON'T* accept requests, sorry.
Lab Assistant
#75
19th Jan 2007 at 11:17 PM
Last edited by linolino : 19th Jan 2007 at 11:42 PM.
Posts: 64
Thanks: 313 in 2 Posts
wow, you're really fast ain't you guys? thany for answering me, i'm just getting better at simantics!
so for what i undertood, stack object is kind of a variable. Stack ID is the ID of the object/sim, and so I can change the stack object's attributes, like if it is a Sim i can change the stack object's motives?
ok.. but how will i know what object is the Stack Object ID in my instruction?
I mean, In a behavior of a sim interacting with a object, Stack Object ID will be referring to the Sim or the Object?
so for what i undertood, stack object is kind of a variable. Stack ID is the ID of the object/sim, and so I can change the stack object's attributes, like if it is a Sim i can change the stack object's motives?
ok.. but how will i know what object is the Stack Object ID in my instruction?
I mean, In a behavior of a sim interacting with a object, Stack Object ID will be referring to the Sim or the Object?
Who Posted
|