Jump to content
IGNORED

can head slot be made to not hide hair?


Recommended Posts

is it possible for the head slot to not hide hair? like the hoods use just the hair slot, but when equipping just head slot item the hair disappears despite hoods being capable of being equipped. could there be like a plank hood scripted to show the hair you normally have, without a complex save game damaging, crash prone script?

 

or like a small dll to change the head slot to only hide the head?

Link to comment

Maybe with blockhead?

 

What you want to do? Add another head?  Or replace the head with an item?

 

With blockhead you can not make a equip / unequip item like a helmet.

 

But with blockhead you can replace the head with another head or a item during a quest ,  and later in the quest you can remove it and get back your original head .

 

---------------

A invetory item that you click/activate ( but not equip) and it changed a quest variable  in the quest script.

If the variable is set to 1 it will add the blockhead head/item

And if the variable is 0   head/item will be removed.

 

But this will only work with the player, or with one NPC that is used in the quest script.

Link to comment

well i have some ideas, but mainly a way to have racial disguises, like have a wolf in sheep's "clothing" or a fox infiltrating a human supremacist meeting or whatever

 

like I've tried this and all you really need to do for the body and head is change the name of the skin material and select the textures wanted, but wigs don't look right and i don't want to make wigs for every character

Link to comment

It's been a while since the last time I played around with Oblivion, and I never actually tinkered with using Blockhead through script, but it could be what you are looking for.

 

AFAIK Blockhead can replace all character meshes and textures via script just like it does with the specific file path functionality, so in theory you could set up a spell or equippable item that would swap the PC's meshes and textures to those of a different race on use/equip, and then back once dispelled/expired/unequipped. So a kind of "glamour" or illusion, which BTW is even lore-friendly as per the enchanted earring used by Razum-dar and the PC during some quests in ESO.

 

This should keep the hair and will also make the whole thing much smoother, as you would be effectively replacing the PC's actual body and textures so other clothes could still be worn over it instead of being locked into whatever specific outfit you set up.

 

As I said I never actually looked into Blockhead use through scripts so I don't know if it's actually possible and how well it would work, but at least it sounds like it could be an option, if you're serious about this.

Link to comment

With BlockHead you can not create a Item that every NPC  can use.

One NPC or the player  is OK.  The Ref of player or NPC have to be in the script.

 

Example: 1

####################################

 

The head Blockhead will use:
Yes change  skin material  to Not-Skin-name  and set the right textures  path ( argonian head texture if it is a argonian head mesh )

Put it a folder
meshes\MyMod\disguiseHeads\Head1.nif
 

--------------------------------------
You create a item in the esp and use a head mesh with removed bones and NiSkinInstance  and added collision ( misc or clothes item )
And you add Object script that set the Quest variable "disguiseHead" in the below script to 1 or 0
...
Begin on activate
If disguiseHeadQuest.disguiseHead == 0
set disguiseHeadQuest.disguiseHead to 1
else
set disguiseHeadQuest.disguiseHead to 0
endif

endif

end
--------------------

You add a quest with name disguiseHeadQuest
------------------------------
And a quest script:

 

sqn disguiseHeadScript

 

short disguiseHead

 

Begin GameMode

       if GetGameLoaded


                If GetStage MyQuest >= 40 && disguiseHead == 1   ;;;; You need to set the head wen you start the game because Blockhead is not in your save file .

                         PlayerRef.SetHeadAssetOverride "MyMod\disguiseHeads\Head1.nif" 0, 2
                         PlayerRef.Update3D
                endif    
         endif

 

;;; your quest script entries.
;;;; and after you bought the disguise Head Item and quest is set to 40

         If GetStage MyQuest >= 40 && disguiseHead == 1  ;;; is set by activating the item in you invetory

               PlayerRef.SetHeadAssetOverride "MyMod\disguiseHeads\Head1.nif" 0, 2
               PlayerRef.Update3D
        endif  

 

         If GetStage MyQuest >= 40 && disguiseHead == 0  
                PlayerRef.ResetHeadAssetOverride 0, 2   ;;; reset the head.
                PlayerRef.Update3D
        endif  

 
;;;;;;;  If you use a Mod with Blockhead heads, like OCO2 , I think you have to add the Mod head again instead of reset ( But I never used OCO2 )
;;;;            PlayerRef.SetHeadAssetOverride " ...OCO2 head path... " 0, 2

endif
end

###############################

example 2 with head texture

 

 

Spoiler

The head Blockhead will use:

We use a argonian head
DO NOT change  skin material , the name is skin.

Put it a folder
meshes\MyMod\disguiseHeads\Head1.nif
__________________

Head texture

We use the vanilla argonian textures path

--------------------------------------
You create a item in the esp and use a head mesh with removed bones and NiSkinInstance  and added collision ( misc or clothes item )
And you add Object script that set the Quest variable "disguiseHead" in the below script to 1 or 0
...
Begin on activate
If disguiseHeadQuest.disguiseHead == 0
set disguiseHeadQuest.disguiseHead to 1
else
set disguiseHeadQuest.disguiseHead to 0
endif

endif

end
--------------------

You add a quest with name disguiseHeadQuest
------------------------------
And a quest script:

 

sqn disguiseHeadScript

 

short disguiseHead

 

Begin GameMode

       if GetGameLoaded


                If GetStage MyQuest >= 40 && disguiseHead == 1   ;;;; You need to set the head wen you start the game because Blockhead is not in your save file .

                         PlayerRef.SetHeadAssetOverride "MyMod\disguiseHeads\Head1.nif" 0, 2

                         PlayerRef.SetHeadAssetOverride "characters\argonian\headargonian.dds" 0, 1

                         PlayerRef.SetHeadAssetOverride "characters\argonian\headargonian_n.dds" 0, 1
                         PlayerRef.Update3D
                endif    
         endif

 

;;; your quest script entries.
;;;; and after you bought the disguise Head Item and quest is set to 40

         If GetStage MyQuest >= 40 && disguiseHead == 1  ;;; is set by activating the item in you invetory

               PlayerRef.SetHeadAssetOverride "MyMod\disguiseHeads\Head1.nif" 0, 2

               PlayerRef.SetHeadAssetOverride "characters\argonian\headargonian.dds" 0, 1

               PlayerRef.SetHeadAssetOverride "characters\argonian\headargonian_n.dds" 0, 1
               PlayerRef.Update3D
        endif  

 

         If GetStage MyQuest >= 40 && disguiseHead == 0  
                PlayerRef.ResetHeadAssetOverride 0, 2   ;;; reset the head nif.

                PlayerRef.ResetHeadAssetOverride 0, 1  ;;;  reset head texture  ;;; I hope that will reset also the _n.dds. I never used Blockhead reset, only add .
                PlayerRef.Update3D
        endif  

 
;;;;;;;  If you use a Mod with Blockhead heads, like OCO2 , I think you have to add the Mod head again instead of reset ( But I never used OCO2 )
;;;;            PlayerRef.SetHeadAssetOverride " ...OCO2 head path... " 0, 2

;;;;            PlayerRef.SetHeadAssetOverride " ...OCO2 head path... " 0, 1 ;;;;    .dds

;;;;            PlayerRef.SetHeadAssetOverride " ...OCO2 head path... " 0, 1 ;;;;   _n.dds

endif
end

 

 

You can do the same with a NPC and use the NPC ref

NPCRef.SetHeadAssetOverride "MyMod\disguiseHeads\Head1.nif" 0, 2

 

Link to comment

If you want to change the body texture too:

But then it is SetBodyAssetOverride not SetHeadAssetOverride

 

PlayerRef.SetBodyAssetOverride "  ...your texture path... .dds", 5, 1        ;;; that is foot texture, all you need for roberts male

PlayerRef.SetBodyAssetOverride "  ...your texture path... .dds", 4, 1        ;;;; for HGEC you also need the hand texture

 

And for reset

Player.ResetBodyAssetOverride 5, 1  

Player.ResetBodyAssetOverride 4, 1  

 

----------------------------------------------------

So you have to set a gender check in the quest script.

 

       If player.GetIsSex male == 1

                  PlayerRef.SetBodyAssetOverride "  ...your texture path... .dds", 5, 1 

                  PlayerRef.Update3D

       endif

 

       If player.GetIsSex female == 1

                  PlayerRef.SetBodyAssetOverride "  ...your texture path... .dds", 5, 1 

                  PlayerRef.SetBodyAssetOverride "  ...your texture path... .dds", 4, 1 

                  PlayerRef.Update3D

       endif

 

------------------------

 

Edit:  and you can add the   _n.dds   too.

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

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