Jump to content

Outfit question.


Thorham

Recommended Posts

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

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

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

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

 

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

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

That 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 either

Got it :)

Link to comment
Share on other sites

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

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

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...