Thorham Posted August 17, 2012 Share Posted August 17, 2012 Hi, Is it possible to change a multi part outfit (say upperbody and lowerbody) for one gender to a single piece (say upperbody) without affecting the number of pieces for the other gender? Preferably without having to replace NIF files (not that that's a problem, but I don't know how to merge meshes yet, and I'd prefer to make as many changes as possible with the TES Construction Set). Any pointers are appreciated :thumbsup: Link to comment Share on other sites More sharing options...
DrakeTheDragon Posted August 18, 2012 Share Posted August 18, 2012 Unfortunately the slots an item occupies are gender-independent. You cannot make an item the male version of which just occupies the chest while the female version is full-body coverage.Slot assignments put aside, you can of course make each gender use whichever NIF file you like, and they don't have to be even remotely related to each other. Wearing an item putting things on other body parts without actually occupying their slots will cause clipping though. Link to comment Share on other sites More sharing options...
Nephenee13 Posted August 18, 2012 Share Posted August 18, 2012 Ahhh...well, you could maybe do a sort of hack around it... What, precisely, are you trying to do? Link to comment Share on other sites More sharing options...
Thorham Posted August 18, 2012 Author Share Posted August 18, 2012 Unfortunately the slots an item occupies are gender-independent. You cannot make an item the male version of which just occupies the chest while the female version is full-body coverage.That's exactly what I wasn't hoping for :( Wearing an item putting things on other body parts without actually occupying their slots will cause clipping though.Yup, seen it happen, unfortunately. Ahhh...well, you could maybe do a sort of hack around it... What, precisely, are you trying to do?Simple. I want to change some outfits to single piece clothing, but only for one gender. The other gender's version of the item has to stay a multi piece outfit. Example: Blabla outfit is made of an upperbody and a lowerbody part. I want to change the female version to some pants, which only cover lowerbody. So the male version stays upper and lowerbody, while the female version becomes just lowerbody. Link to comment Share on other sites More sharing options...
cfh85 Posted August 18, 2012 Share Posted August 18, 2012 what about using scripts.Create the clothing with only it's world object nif and it's icon. Don't set any slots on it. Add this script to it Scriptname specialclothingscript Ref TempRef Begin GameMode Set TempRef to GetContainer End Begin OnEquip If TempRef.GetIsSex Male TempRef.AddItemNS MaleVersionID 1 TempRef.EquipItemNS MaleVersionID ElseIf TempRef.GetIsSex Female TempRef.AddItemNS FemaleVersionID 1 TempRef.EquipItemNS FemaleVersionID EndIf End Begin OnUnequip TempRef.RemoveItemNS MaleVersionID 1 TempRef.RemoveItemNS FemaleVersionID 1 End Begin OnDrop TempRef.RemoveItemNS MaleVersionID 1 TempRef.RemoveItemNS FemaleVersionID 1 End Then create two items. One for male and one for female. Set the slots as nifs as you please. I think if you don't mark them as playable they will still be added and equipped, you just wont be able to see them. Add this script to both of them - this is to unequip if you equip another item Scriptname specialclothing2script Ref TempRef Begin GameMode Set TempRef to GetContainer End Begin OnUnequip TempRef.UnequipItemNS WorldObejectVersionID End Obviously change the scriptnames and object names to suit. I'm by no means an expert, but I'm sure others will point out if I've made any mistakes Link to comment Share on other sites More sharing options...
Nephenee13 Posted August 18, 2012 Share Posted August 18, 2012 Simple. I want to change some outfits to single piece clothing, but only for one gender. The other gender's version of the item has to stay a multi piece outfit. Example: Blabla outfit is made of an upperbody and a lowerbody part. I want to change the female version to some pants, which only cover lowerbody. So the male version stays upper and lowerbody, while the female version becomes just lowerbody. No, I meant, what specific outfits are you trying to do it for? I can imagine a way to do it, but it would probably require editing the outfits, and how well it would work would depend on the outfit itself. Link to comment Share on other sites More sharing options...
cfh85 Posted August 18, 2012 Share Posted August 18, 2012 Oh, and just to check. You know you'll need to create separate nif's for male and female, removing the unwanted parts from either Link to comment Share on other sites More sharing options...
Thorham Posted August 18, 2012 Author Share Posted August 18, 2012 what about using scripts.Create the clothing with only it's world object nif and it's icon. Don't set any slots on it. Add this script to it Scriptname specialclothingscript Ref TempRef Begin GameMode Set TempRef to GetContainer End Begin OnEquip If TempRef.GetIsSex Male TempRef.AddItemNS MaleVersionID 1 TempRef.EquipItemNS MaleVersionID ElseIf TempRef.GetIsSex Female TempRef.AddItemNS FemaleVersionID 1 TempRef.EquipItemNS FemaleVersionID EndIf End Begin OnUnequip TempRef.RemoveItemNS MaleVersionID 1 TempRef.RemoveItemNS FemaleVersionID 1 End Begin OnDrop TempRef.RemoveItemNS MaleVersionID 1 TempRef.RemoveItemNS FemaleVersionID 1 End Then create two items. One for male and one for female. Set the slots as nifs as you please. I think if you don't mark them as playable they will still be added and equipped, you just wont be able to see them. Add this script to both of them - this is to unequip if you equip another item Scriptname specialclothing2script Ref TempRef Begin GameMode Set TempRef to GetContainer End Begin OnUnequip TempRef.UnequipItemNS WorldObejectVersionID End Obviously change the scriptnames and object names to suit. I'm by no means an expert, but I'm sure others will point out if I've made any mistakesThat seems like a good sulution, thanks :thumbsup: I'm still going to wait a while for other possible solutions, but I might end up using this :) No, I meant, what specific outfits are you trying to do it for? I can imagine a way to do it, but it would probably require editing the outfits, and how well it would work would depend on the outfit itself.Sorry, but I'm trying to stay away from model editing, mainly because I want to be able to use this at will. Having to edit models would really be a pain. Oh, and just to check. You know you'll need to create separate nif's for male and female, removing the unwanted parts from eitherGot it :) Link to comment Share on other sites More sharing options...
Thorham Posted August 20, 2012 Author Share Posted August 20, 2012 Can anyone tell me if the posted scripts (see below) will work when equipment is already equipped? I'm asking because that is really the most important thing for me, and OnEquip doesn't look good. The script method really isn't a problem for me, so if this script doesn't work for stuff that's already equipped, is it possible to make a script for that? cfh85's relevant script: Scriptname specialclothingscript Ref TempRef Begin GameMode Set TempRef to GetContainer End Begin OnEquip If TempRef.GetIsSex Male TempRef.AddItemNS MaleVersionID 1 TempRef.EquipItemNS MaleVersionID ElseIf TempRef.GetIsSex Female TempRef.AddItemNS FemaleVersionID 1 TempRef.EquipItemNS FemaleVersionID EndIf End Begin OnUnequip TempRef.RemoveItemNS MaleVersionID 1 TempRef.RemoveItemNS FemaleVersionID 1 End Begin OnDrop TempRef.RemoveItemNS MaleVersionID 1 TempRef.RemoveItemNS FemaleVersionID 1 End Link to comment Share on other sites More sharing options...
cfh85 Posted August 20, 2012 Share Posted August 20, 2012 if the original item is the same, with a different ID from the 3 new objects then you could just use this Scriptname originalclothingscript Ref TempRef Begin GameMode Set TempRef to GetContainer If TempRef.GetEquipped OriginalVersionID If TempRef.GetIsSex Male TempRef.AddItemNS MaleVersionID 1 TempRef.EquipItemNS MaleVersionID removeself ElseIf TempRef.GetIsSex Female TempRef.AddItemNS FemaleVersionID 1 TempRef.EquipItemNS FemaleVersionID removeself EndIf EndIf End though thinking on it, perhaps my suggestion was a bit more complicated than it needs to be.Perhaps you could keep the original as the female item (or male) and create a new one for the male and then use two similar scripts Scriptname specialFemaleversionscript Ref TempRef Begin GameMode Set TempRef to GetContainer If TempRef.GetIsSex Male If TempRef.GetEquipped FemaleVersionID TempRef.AddItemNS MaleVersionID 1 TempRef.EquipItemNS MaleVersionID RemoveMe EndIf EndIf End Begin OnEquip If TempRef.GetIsSex Male TempRef.AddItemNS MaleVersionID 1 TempRef.EquipItemNS MaleVersionID RemoveMe EndIf End Scriptname specialMaleversionscript Ref TempRef Begin GameMode Set TempRef to GetContainer If TempRef.GetIsSex Female If TempRef.GetEquipped MaleVersionID TempRef.AddItemNS FemaleVersionID 1 TempRef.EquipItemNS FemaleVersionID RemoveMe EndIf EndIf End Begin OnEquip If TempRef.GetIsSex Female TempRef.AddItemNS FemaleVersionID 1 TempRef.EquipItemNS FemaleVersionID RemoveMe EndIf End This would mean less code on each item and there shouldn't be any issues with NPCs using it. They might not equip an item with no slot selected - they don't know it adds items via a script. This way they just treat it as normal. I'm a little unsure of removeme though. Test it yourself and see what happens is the best Link to comment Share on other sites More sharing options...
Recommended Posts