View Full Version : placement to specific tile on table
27th Oct 2005, 3:21 PM
Reply on behalf of Inge who's having posting problems:
Inge when i set the functions to null, do i also set the gaurdian to null as well? .
Yes, I can't think of a situation where you wouldn't want to do this.
I also advise anyone doing hacking to turn on boolProp testingCheatsEnabled true so that you actually get told when there is an error, why the Sim jumped etc. And it really speeds up development to know exactly what line of code was wrong :)
27th Oct 2005, 8:17 PM
Ah, thanks Inge... I wasn't even thinking about OBJf (someone was 3/4 asleep when he wrote that reply ;) )
As to the question about what exactly to delete... I'm not 100% sure here, but I believe the Routing slots would still be used by the object for things like "Look At", so the best practice would be not to delete the SLOT or the reference to it, just the Container Slot inside the SLOT file (with my example coffee table, each SLOT file had 2 Routing Slots and 1 Container Slot). Then make sure to null the placement-specific lines in the OBJf (mainly "surface", "pickup from slot", and "eating surface" [any I missed here Inge?]).
Editing just the SLOT will cause jumps as Inge pointed out, while editing just the OBJf will still allow users to place objects on surfaces that Sims would have errors trying to interact with. In order to have those surfaces completely unusable, you need to combine both methods.
27th Oct 2005, 8:24 PM
Serving surface is another one. But I have often taken away rights from sims to place things on surfaces while leaving them available for players to put things on, and this doesn't cause any problems, they are not drawn to a slot at all if there is no function defined for them to use - and obviously you need to eliminate any menu option that leads them to use the slot too. Player placement and pickup uses entirely separate OBJf events from those the sims use.
28th Oct 2005, 2:01 AM
Much like the fireplace works. I'd like to have a 3 tiled table with restriction of objects to the center footprint... I've fiddled around and found echo's "stop walking through my object" link to be helpful, and i have stumbled accidently upon a way to have just one tile active, but since i don't know how i did it, i can't move the active tile to the center.
28th Oct 2005, 6:26 AM
well, the short answer is fairly simple:
Each tile of a multi-tile object has its own OBJD, which references a seperate SLOT (i.e. tileA has OBJD IID 0x41A7 which points to SLOT IID 0x80, tileB has OBJD IID 0x41A8 which points to SLOT IID 0x81, etc). Just remove the Container Slots from the SLOT files referenced by the outer tiles of your object.
example: MyCoffeeTable has 3 tiles (Left, Center, Right). Left tile is OBJD 0x41A9 (SLOT 0x80), Center tile is OBJD 0x41AA (SLOT 0x81), Right tile is OBJD 0x41AB (SLOT 0x82). Remove any Container Slots from SLOT 0x80 and SLOT 0x82, but leave the Container Slot in SLOT 0x81. Since the Center tile is the only one with a Container Slot, it is the only tile on which items can be placed.
[Edit]: silly typos
28th Oct 2005, 8:55 AM
Well you could end up with errors during play just doing it that way, because the Sim won't know the slot is gone until he commences the interaction. It's can be better to prevent the interaction altogether by editing the OBJf for each tile and setting the unwanted functions to Null for the tiles you don't want active.
28th Oct 2005, 12:25 PM
ah such good answers! thanks guys...off to tinker some more.
EDIT- im having trouble posting a new message getting a flood control warning everytime..
Using your method Inge, i am able to set it so that sims can't place items on a particular tile, but the user can still place objects on all three tiles regardless of what i set to null... Cloning 3 new OBJF files, setting the previous instance numbers and deleting the old OBJF files does strange things.. i know, that was really my way of taking shot in the dark but yea..
Breon, am i supposed to be deleting the SLOT files themselves, or just setting the refrences in the OBJD files to 0?
Wouldn't using a combination of both these two methods prevent the interaction error and user placement?
28th Oct 2005, 2:24 PM
K, Breon using your method i got it to work and that's pretty awesome. However, there is a slight hiccup in my game when the Sim is confronted with a choice of what to use to place something which im assuming is the error Inge was talking about. I want to combine both ideas and see what happens.
Inge when i set the functions to null, do i also set the gaurdian to null as well?
Thanks for everything guys. I really appreciate it.
28th Oct 2005, 4:33 PM
ok thanks for the heads up. I'll keep it in mind when i work on it later tonight.
28th Oct 2005, 10:06 PM
You could also modify the location of the three slots so they are physically in just the center square. (Modify X,Y in the CRES for each slot).
30th Oct 2005, 3:39 AM
ive never messed with the CRES snowstorm. I assume that is also where you could modify each tiles height? i mean how high the surface needs to be inorder to avoid "floating" objects.
30th Oct 2005, 2:17 PM
Exactly. For example I made a coffee table that each side was a different height. In the Cres I found the slot_coffee_std_1 and slot_coffee_std_0 and adjusted their Z value to make one lower.
3rd Nov 2005, 5:51 AM
ok, i get it now...
for anyone who already read this long confusing post, im sorry!
vBulletin v3.0.14, Copyright ©2000-2013, Jelsoft Enterprises Ltd.