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!
Lab Assistant
Original Poster
#1 Old 22nd Jun 2016 at 9:56 AM
Default Making functional perfume
Thanks to lovely simhanna , I manage to understand how to mod objects (how to change OBJK file). I have an idea to make functional perfume ( from store set Artisan's Glassblowing and Jewelry Making Station). I almost sexied, but there is one problem - there is no spray effect when sim using the perfume. So I need to know how to add that. Also moodlet is not showing up. Any ideas?
Advertisement
Virtual gardener
staff: administrator
#2 Old 22nd Jun 2016 at 11:21 AM
I guess those come with the actual perfume inside the Artisan's Glassblowing and Jewelry Making Station. At least what I saw in the file inside it had the things. You could try making some sort of default replacement and change the settings inside the OBJK to keep it as a buyable decor somehow?
Lab Assistant
Original Poster
#3 Old 22nd Jun 2016 at 11:34 AM
When I try to make default replacement, the object become invisible
Virtual gardener
staff: administrator
#4 Old 22nd Jun 2016 at 2:42 PM
... You don't experience something like your mesh becoming a ball that looks like these room markers right? Because I used to have these too when I did some default replacements
Lab Assistant
Original Poster
#5 Old 22nd Jun 2016 at 3:22 PM
Quote: Originally posted by Greenplumbbob
... You don't experience something like your mesh becoming a ball that looks like these room markers right? Because I used to have these too when I did some default replacements

Exactly! I also tried to replace a cup from lemonade stand and it didn't go well either
Virtual gardener
staff: administrator
#6 Old 22nd Jun 2016 at 7:18 PM
I never really went deep into mesh default replacements, but I do know these perfume bottles come with some sort of script. Now TSRW will take a part of the bottle, but most things you might have created are clones from something and never are Default replacements. To be honest, I think it's not really possible to do it with the latest TSRW when it comes to default replacements.

This is the part where S3PE and S3OC comes to help out. So to make things easier, export all the MLODS and make sure you exported them as this to keep them seperated easily:


MLOD 00000000 High detail mesh
MLOD 10000000 High detail sunshadow
MODL 00000001 Low detail mesh
MLOD 10000001 Low detail sunshadow

The '00000000' ones actually stands for the Lods and sunshadow mesh in the 'group' tag. So search up your MLODS in S3PE and you'll notice those numbers in the group tag are the same as these. replace (NOT IMPORT) the Mesh with the original perfume bottle and replace the textures. That's how far I usually come when it comes to default replacements like these. But I must admit, there aren't many great tutorials out there for default replacements >-<
Lab Assistant
Original Poster
#7 Old 22nd Jun 2016 at 7:57 PM
Quote: Originally posted by Greenplumbbob
I never really went deep into mesh default replacements, but I do know these perfume bottles come with some sort of script. Now TSRW will take a part of the bottle, but most things you might have created are clones from something and never are Default replacements. To be honest, I think it's not really possible to do it with the latest TSRW when it comes to default replacements.

This is the part where S3PE and S3OC comes to help out. So to make things easier, export all the MLODS and make sure you exported them as this to keep them seperated easily:


MLOD 00000000 High detail mesh
MLOD 10000000 High detail sunshadow
MODL 00000001 Low detail mesh
MLOD 10000001 Low detail sunshadow

The '00000000' ones actually stands for the Lods and sunshadow mesh in the 'group' tag. So search up your MLODS in S3PE and you'll notice those numbers in the group tag are the same as these. replace (NOT IMPORT) the Mesh with the original perfume bottle and replace the textures. That's how far I usually come when it comes to default replacements like these. But I must admit, there aren't many great tutorials out there for default replacements >-<

I did that and result is - invisibility.
I need to know where exactly that spray effect. In which file and how to attach that effect to other object
Virtual gardener
staff: administrator
#8 Old 22nd Jun 2016 at 8:25 PM
You cloned the perfume yourself, right? Did you use S3OC and 'deep clone' it? Maybe it's missing some files.
Lab Assistant
Original Poster
#9 Old 23rd Jun 2016 at 5:49 AM Last edited by martlet : 23rd Jun 2016 at 6:44 AM.
Yes. I did use s3oc, s3pe, Milkshape, Object Tool, Photoshop

So default replacement is not an option for me.

In OBJK file there is gameplay and sound effect. Then if think logically there has to be file in this object which contain visual effect and moodlet, right?

Any other ideas?
Virtual gardener
staff: administrator
#10 Old 24th Jun 2016 at 1:00 PM
Now i'm thinking about it, usually these settings are shared with each other, so you don't have to duplicate the files which means, no huge package/sims3pack files. So say you would open up the entire Studio package (which also includes all those other things your sim can make) and use S3PE's search function, you'll see it generates some of the files. But those are the files S3OC only clones, which means it leaves stuff behind because normal objects don't share moodlets and stuff, like I said before, these programs are mostly programmed with the thought of stand-alone objects. Which means that say you would clone this moodlet/coloring changing lantern from Supernatural, it probably doesn't share it with other.

Like here :



(To make things better to understand, please open up the 'Artisan's Glassblowing and Jewelry Making Station'package (not your custom perfume one) And search 'purfume' (Please don't ask me why it's called that way I have no idea))

Plugins you want for this for S3PE: https://code.google.com/archive/p/s3pi-wrappers/

COMPARING

VXPY is some sort of 'bundle' of information that the game is suppose to read. That's why I made those parts red, because those are the exact same files in the actual S3PE window (not the VXPY window) But as you can see, there are some missing. What you want to be focusing on is the type numbers and the instance. But this is where things can get confusing if you never heard of MLODs carrying the textures with them and not linked inside the VXPY as you would expect.

So in the VXPY screen we see the group tag '0x01D10F34' which stands for 'MLOD' (these type numbers identifies which file it is.) And we also see a ton of other Instance numbers. (We're talking about the MATD here) But why are there no MATD files while they seem to share the wrong type numbers? Well they are correct, they're just inside the MLOD. Usually in the VXPY window we would see which shadow map and in most cases, which diffuse is attached to it. But since these are Accessories, this is a bit different from actual objects. (also, please compare the other files too, if you're missing something from the VXPY file, these can be the files you're looking for. Write them down + the file name, if you don't know how to compare things, go read the next part). So we want to close the VXPY window.

Click on the MLOD, doens't really matter which one. Then, click on 'Grid' Now a window pops up. What you want to compare here is, at first (and these are really different if the object is made with TSRW as it has it's own package packing system) We want to focus on the 'Resource' part. I usually expand it but you can also click on the resource tag itself and click the 3 dots button.
Now we see actual different type tags and these are called '0x00B2D882' which stands for _IMG. The group tag (which is 0x00000000 in this case) isn't really neccessary here. But now there is the important thing what we want to compare. the last line that looks like this: 0xA02C8C9F394EB794 These are the instances we want to use to compare.

So, in the S3PE window, you'll see that the Img files share of course the '0x00B2D882, but what we want to check out is if we see any of the textures here. (TIP! skip the instance that looks like this: 0x937c71e144222c2c, that's the shadow map and is usually not in there)
So if you can see, here we have a match:



So now we know these are correct and that we didn't miss any. And that's basically how you compare them. Same within the files within the VXPY.

FINDING THE CORRECT OBJD/OBJK

But what if there is a file that's not in there? Well that's easy too. This is why we wanted to open up the act file and why you wanted to write all those numbers down. But it seems that we're missing the OBJD and the OBJK files here, which might be carrying the script AND the effects. (if not, those can be other files too, but ususally they do carry the moodlets). So uncheck the filter and let's scroll to these OBJK/OBJD.

So as you can see, some have names and some doesn't. You can read from the names if the 'purfume' or actually (If EA managed to fix it to Perfume instead) then you found your OBJD. But with this perfume it's not the case. "But how do I read the nameless tags easily? I don't want to open them all one by one!"
There are inside names that you can see, like here:



Look at that! We found something Perfume like! And so far I can tell, these are the names of the perfumes. for the Workspace. If I am right, this should be the same OBJD file that your own Perfume has. Or... something alike. Thing here is, if you think you have the correct OBJD file, copy this Instance name to find the OBJK files easier.

Let's move over to the OBJK files. This file is all about connecting the dots. Like, all the info gets there basically because the VXPY file is connected in there too. But the reason things might not be correctly working for you might be the fact that your perfume isn't either set as the correct Script name, or it really is missing a lot. So use the instance name of the OBJD and use that one to search up the files. Right now this is what pops up for me:



Look at that, a OBJK file! Let's check that out. Right click on the OBJK file and go to 'edit OBJK'. Now a window pops up. And it seems to be sharing this script: Sims3.Store.Objects.PerfumeAtomizer (make sure this same script is used for your perfume). In the VXPY tag we see that it shares the same VXPY file as the one we just checked out at the beginning.

Now open up your package and see if the information you just gathered together matches up with your version. If you made a default replacement, usually the instances are exactly the same of yours. ALL instances. So from OBJK to MLODs to even the VXPY.

What might work for you in this case, (if yours IS a default replacement) Is to either extract the OBJK and import it into your custom perfume (and please edit the Instance of the OBJD, these are suppose to match!) OR making it use the same VXPY. But the danger in making it share the same VXPY is the fact that it isn't linked to your MLODS anymore. So you want to make sure that it is using your MLOD by changing the VXPY and import your MLOD information. The MATD we saw can be the in-game effects, but i'm not quite sure. If they are, you can do things differently.
With you own VXPY (If you don't want to use the same one as the actual perfume) You can add those instances, groups and of course the type with right click 'edit VXPY' and from there, click the 'TGI Blocks..' Now you want to click 'add'. Now you can add those MATD files to your VXPY. Since I can't find them in the package, they might be in-game MATDs. So you can go all different ways with his.
Lab Assistant
Original Poster
#11 Old 24th Jun 2016 at 3:43 PM Last edited by martlet : 24th Jun 2016 at 4:16 PM.
importing OBJK and didn't work
I tried to import VXPY then replace MODL and MLOD file in VXPY And it almost worked out. But guess what? The texture disappeared and when I try to recolor it looks ugly

Virtual gardener
staff: administrator
#12 Old 24th Jun 2016 at 4:13 PM
You can add the textures the same method as the VXPY. So you can copy the instance from your texture file and go into the mlod grid>recourses. There you want to replace the old texture into yours by replacing the Instance. It should work that way too with the mask. If you can't import the mask because there isn't any tag left, you could add a new one. I haven't tried that method yet but in theory it might work.
Also, make sure the instance for all the MLOD and MODL is the same as the Instance of the VXPY. Also the OBjd and the OBJK should have the same instance.

Else I don't mind editing these VXPY files. Do you have an older version? I mean before you edited your VXPY?
Lab Assistant
Original Poster
#13 Old 24th Jun 2016 at 4:20 PM
Quote: Originally posted by Greenplumbbob
You can add the textures the same method as the VXPY. So you can copy the instance from your texture file and go into the mlod grid>recourses. There you want to replace the old texture into yours by replacing the Instance. It should work that way too with the mask. If you can't import the mask because there isn't any tag left, you could add a new one. I haven't tried that method yet but in theory it might work.
Also, make sure the instance for all the MLOD and MODL is the same as the Instance of the VXPY. Also the OBjd and the OBJK should have the same instance.

Else I don't mind editing these VXPY files. Do you have an older version? I mean before you edited your VXPY?

In this one I only edited OBJK
Attached files:
File Type: 7z  cursedperfume.7z (1.21 MB, 46 downloads) - View custom content
Lab Assistant
Original Poster
#14 Old 24th Jun 2016 at 5:02 PM Last edited by martlet : 24th Jun 2016 at 5:57 PM.
OK, BUT Why should I change MLOD file? The only file I was imported is VPXY And I didn't change anything else except OBJK.


i tried to import export different files. Meh, no luck. No skills whatsoever. Not everyone can be like Arsil
Virtual gardener
staff: administrator
#15 Old 24th Jun 2016 at 6:44 PM
Crap I forgot that the RIG could be part of the FX effects too >-< That's why it worked when you would import the VXPY of the other package. I'm trying it out now.
Virtual gardener
staff: administrator
#16 Old 24th Jun 2016 at 7:11 PM
Allright so adding that Rig did give it the FX effect, But i'm not sure which file controls the moodlet, so i guess I have to dig deeper into this S3PE resource tags and see which on controls it. I always thought it worked with Scripts and XMLs but let's figure that one out.
Virtual gardener
staff: administrator
#17 Old 24th Jun 2016 at 7:59 PM
Quick question, are you sure by adding the VXPY that time the moodlets worked? Or was it when you added the OBJD?
Lab Assistant
Original Poster
#18 Old 24th Jun 2016 at 8:21 PM
Quote: Originally posted by Greenplumbbob
Quick question, are you sure by adding the VXPY that time the moodlets worked? Or was it when you added the OBJD?


Yes. I'm absolutely sure that spray effect and the moodlet show up after I replaced VXPY file.
And now when I only copied RIG its not working again
Is spray effect showing up for you? Does the textures look fine? My brain refuses to continuing this Sisyphean task
Instructor
#19 Old 24th Jun 2016 at 9:05 PM
Does the perfume bottle have an RSLT (check if it's mentioned in the VPXY)? It might contain an FX slot that's needed for the spray.
Virtual gardener
staff: administrator
#20 Old 24th Jun 2016 at 9:26 PM
It does have it's TSRW generated one, which seems to be from a sculpture but I was looking for that one file in the entire Artisan's Glassblowing and Jewelry Making Station But there are only 2 of those. So it must be somewhere in the script. I also check the original VXPY and it doens't seem to have one.

@marlet, So the textures are working, the FX effect is there, but I can't seem to manage to attach a moodlet of some sort. So here is the package as far as I can help >-<
Attached files:
File Type: zip  Perfume Kashkraft (No moodlet).zip (1.75 MB, 41 downloads) - View custom content
Description: Perfume without the moodlets
Lab Assistant
Original Poster
#21 Old 25th Jun 2016 at 6:47 AM
Quote: Originally posted by Greenplumbbob
It does have it's TSRW generated one, which seems to be from a sculpture but I was looking for that one file in the entire Artisan's Glassblowing and Jewelry Making Station But there are only 2 of those. So it must be somewhere in the script. I also check the original VXPY and it doens't seem to have one.

@marlet, So the textures are working, the FX effect is there, but I can't seem to manage to attach a moodlet of some sort. So here is the package as far as I can help >-<

OMG! I'll be damned. It's working now!
Thank you so so much! (^_____^)
If You will not figure out how to add a moodlet, then it's ok.
Also can U please write an instruction how exactly did you make it to work (for dummies)? Cuz I might will have desire to create more perfumes in the future.
Virtual gardener
staff: administrator
#22 Old 25th Jun 2016 at 11:38 AM
Sure! So what you want to do is find the perfume _RIG in the Artisan's Glassblowing and Jewelry Making Station package. From there you want to export it (just export it). Then you go to your own package and REPLACE it NOT import it. (If you're lazy like me and you don't want to start changing instance codes within other files and just... in general) Just replace that.

"But how do I check if it worked?" Simple! Normal RIGs (Like objects) Look like this:



But the perfume RIG carries the FX effect (Which is basically the effect itself, it's a technical name for it)



As you can see is that there are other bones. The FX effect ones that I mentioned. Now to go to this window, you need this plugin first for S3PE if you don't have it yet: https://code.google.com/archive/p/s3pi-wrappers/

Right click on the rig and click 'rig editor'. I wouldn't change something in this window. Just keep it as it is and check things unless you're sure what you're doing.

So you exported the RIG from the Artisan's Glassblowing and Jewelry Making Station package. Now we want to replace it within your own Custom package rig as mentioned before. This can be done with just a simple right click and click replace. Then locate it to the rig file. I can't say much to be honest, since it's just a matter of checking and replacing.
Back to top