moonpriest Posted February 25, 2013 Share Posted February 25, 2013 Hey, I have a weird problem with my newly released mod. It allows to change the Skin Texture by equipping an item. I have been poking around a bit and trying to find out the problem, but have been unable to do so. I hope you guys here can help me! :smile: Link to my mod so you can have a look at the .esp: skyrim.nexusmods.com/mods/32080/ How it works:Item is equipped in Slot 48. ArmorAddon uses slot 48 and 32, 34, 35, 36, 38, priority 1, the (fe)malebody_1.nif from meshes/actors/character/character assets/(fe)malebody_1.nif, and "Skin Texture" points to a new texture. (Skin Texture in ArmorAddon, not in the .nif menu to choose a different texture). Has been created as a copy from SkinNaked Armo and NakedTorso Arma.Armor is equipped as usual on slot 32. Because of higher priority in ArmorAddon the Item I made is no longer shown ingame, but still equipped in inventory, and the "Skin Texture" is still working and applied.At least, that is the theory. What works and what doesn't: If you are naked and equip the Tattoo, your skin texture will change.If you have the Tattoo equipped and equip an Armor, according to inventory, both are equipped.In the game, there can be two cases:#1 It works. Armor is shown and what ever skin is there to see uses the changed skin texture.#2 The armor does not show. You are still naked with the changed Skin texture.This can be different for every armor. Now comes the most interesting part, after saving the game and loading it:If you can equip your current armor on top of the tattoo, regardless how often you save, any save made will have your armor invisible when you load it.Vice Versa, if it is not working, any save made will have it working when load it.This is for each Armor individually, so you can have a working and a non working armor at the same time. Screenshots. !Warning, contain partial nudity :P http://i.imgur.com/hXn2mh1l.jpghttp://i.imgur.com/ICCIMJcl.jpg One Quicksave and Quickload (Any saving and loading does!) http://i.imgur.com/1H2l3dDl.jpghttp://i.imgur.com/GMxHyw1l.jpg Similiar mechanics in Vanilla game:NakedSkin and NakedSkinBeast use "SkinTexture" in ArmorAddon to change SkinTexture.Helmets override Hair, some Armors hide Amulets, clothes even partially hide gauntles and boots. (Black Mage Robes do this.)Everythings points to a problem with the ArmorAddon Priority, but it seems only my added Items have this problem.Oh, and there are no scripts involved, only Armor, ArmorAddon, List and Texture records in the .esp. Link to comment Share on other sites More sharing options...
VectorPlexus Posted February 25, 2013 Share Posted February 25, 2013 I don't know if it works, because I never tried, and I don't know if the AA and Armors or even TextureSets are instanced or not (meaning that changing one will not affect the base form), but there's a function in SKSE that allows the TextureSet change: Function SetModelNthTextureSet(TextureSet texture, int n, bool first, bool female) native But for your solution, use only 48 on the "skin" AA and armor, don't use 32, etc... that way, will show both "skin" and normal armors (ofc clipping issues might happen though) Link to comment Share on other sites More sharing options...
moonpriest Posted February 25, 2013 Author Share Posted February 25, 2013 As soon as I remove Slot 32 from the "skin" AA, the "skin" will no longer show beneath armor. It only works with slot 32 active because I use a .nif which uses slot 32 (the standard body .nif).I played around with the "Skin Texture" feature, and noticed that it only applies a new skin texture to the slots the ArmorAddon applies to. In order to change the skin I need to apply it to slot 32.The Idea behind my mod is to use the same way as Vanilla Skyrim for changing body textures. All Body textures are defined this way, using the NakedSkin and NakedSkinBeast Armo and various Arma records. I thought it must be possible to make those equippable.I am so confused about this bug because the NakedSkin, which is used as soon as no other armor is worn, always disappers correctly. My personal guess is that, because the "Skin" Armo only uses 48, but the Arma uses 32 and 48, the game is confused whether to put the actual Armor or my item on top. And the priority setting does not help here. Which is very weird, I assumed it was for exactly this kind of situation. Also tried this: change slot in .nif to 48, only use 48, actually display the mesh: getting serious flickering issues. the game then tried to display both the tattoo and the normal skin at the same time. For some weird reason, it works when not wearing armor, but as you equip an armor, tattoo and naked skin start a harsh battle between life and death. They become unable to decide who looks better and therefore change every 0.1 seconds :p.I just thought of something that might work, will check it later. Don't believe that it is going to fix anything though. :( I already though about using scripts instead, but I am unsure about two things:If I use the function you mentioned, I will have to use it on the actual armor, not an item I add, because it changes it changes a Texture set of the model. Can I use that function on an item without adding a script to the item? For example, by using a spell?And How do I make sure it's the right texture I change, and not the texture of the armor? (I have never used Papyrus script before, only knowing basics of php is enough to understand script I read but not to actually write it, so my knowledge here is limited.) Link to comment Share on other sites More sharing options...
VectorPlexus Posted February 26, 2013 Share Posted February 26, 2013 It should, I'm working on a mod, that uses an extra slot. The AA is just set to 52, and the naked as 32, blah blah blah and 52 aswell, to the best of my knowledge, its the only way to do what you want, with the design structure that you are using and thats why I told you you might have clipping issues, because it displays both armors at the same time, and ofc, you'll have twice the mesh, because it actually works as a second skin. Thats why I also suggested to try to use that function, since you only want to replace a TextureSet. But like I said, I never tried it, so, I cant tell you if it will work only for a single specific actor. Probably not, because it edits the AA form itself. I also send an e-meil to the SKSE team, to see if they could create a function that would allow for Skin change in runtime, for both actor and race form, something like setskin() and getskin(). That way, you could change the Armor Skin whenever you wanted, allowing for better manipulation of the SkinNaked. Link to comment Share on other sites More sharing options...
Recommended Posts