Jump to content

[LE] Papyrus NetImmerse/NiOverride question.


dorn2

Recommended Posts

I've tried searching for this but I'm finding nothing but a headache. Either using the SKSE NetImmerse functions or NiOverride from Racemenu they want me to specify string "nodes" for most of the functions. Nowhere can I find any info on what the names of these nodes should be though.

Link to comment
Share on other sites

IsharaMeradin is correct, look at the NIF for those node's names in NifSkope.

 

So for example:

 

Bool HasNode(ObjectReference ref, String node, Bool firstPerson)

 

If I was looking at the CBBE body the node would just be "CBBE"? How do I get a reference to the specific nif though? Pass it an armor addon reference?

Link to comment
Share on other sites

"If I was looking at the CBBE body the node would just be "CBBE"?"

I don't know how CBBE is done / work, i have never open that nif to see its parameters / node names.


But i'll give you an example from a mesh i have available right now in front of me., it's a creature and it has 1 mesh / model > no parts like an npc = humanoid


0 NiNode = FlameLord > this is the name of the "Node" for the whole mesh / model and not for the individual part of the mesh that occupies different "Textures", which the mesh / model has 3 different parts.


In the case that you are looking for a specific "Node Name" from this mesh model, then you will have to specify exactly the 'sub node' that defines that part.

For example: If we are looking to see if the mesh has a right hand, then the name in this mesh for that part is:

NiNode = NPC R Hand = [RHnd]


"How do I get a reference to the specific nif though? Pass it an armor addon reference?"

The 'ObjectReference Property' should point / target the exact nature of the mesh.

If NPC > Actor Property

If Misc > MiscObject Property

And so on...


I hope it helps.

Edited by maxarturo
Link to comment
Share on other sites

  • 1 month later...

IsharaMeradin is correct, look at the NIF for those node's names in NifSkope.

 

After many months (yeah, months) fumbling in the dark and trying everything I could, I started to suspect that was the case after delving in the NiOverride and NetImmerse C++ code and finally starting to kinda figuring out what was happening.

So I did another google search yesterday and I found this thread.

 

So, what's the deal if even that isn't working?

I even added all nodes by copying them from the *.nif itself and I get nothing.

 

I made this little test function that tells if a node exists, but tries to set a texture regardless (no fuss; line 362 from PapyrusNetImmerse.cpp says nothing happens if node doesn't exist):

 

Function tt(string node)
TraceA(Player, "has node " + node + " ---- " + NetImmerse.HasNode(Player, node, false))
NetImmerse.SetNodeTextureSet(Player, node, ts, false)
EndFunction

 

When I run it, using the usual brute force approach I've been using with this, which is throwing everything I can and then see what sticks, nothing happens.

 

In this case, I tried with the SOS body.

 

 

 

[09/29/2020 - 10:26:33AM] Prisoner: has node MaleBody_0 ---- False

[09/29/2020 - 10:26:33AM] Prisoner: has node DVPG ---- False

[09/29/2020 - 10:26:34AM] Prisoner: has node MaleBody ---- False

[09/29/2020 - 10:26:34AM] Prisoner: has node NPC Spine1 [spn1] ---- TRUE

[09/29/2020 - 10:26:34AM] Prisoner: has node NPC R UpperarmTwist2 [RUt2] ---- TRUE

[09/29/2020 - 10:26:34AM] Prisoner: has node NPC L Foot [Lft ] ---- TRUE

[09/29/2020 - 10:26:34AM] Prisoner: has node NPC R UpperarmTwist1 [RUt1] ---- TRUE

[09/29/2020 - 10:26:34AM] Prisoner: has node NPC L ForearmTwist2 [LLt2] ---- TRUE

[09/29/2020 - 10:26:34AM] Prisoner: has node NPC GenitalsBase [GenBase] ---- TRUE

[09/29/2020 - 10:26:34AM] Prisoner: has node NPC R Thigh [RThg] ---- TRUE

[09/29/2020 - 10:26:34AM] Prisoner: has node NPC L UpperarmTwist2 [LUt2] ---- TRUE

[09/29/2020 - 10:26:35AM] Prisoner: has node NPC L Thigh [LThg] ---- TRUE

[09/29/2020 - 10:26:35AM] Prisoner: has node NPC L Clavicle [LClv] ---- TRUE

[09/29/2020 - 10:26:35AM] Prisoner: has node NPC R Forearm [RLar] ---- TRUE

[09/29/2020 - 10:26:35AM] Prisoner: has node NPC Spine2 [spn2] ---- TRUE

[09/29/2020 - 10:26:35AM] Prisoner: has node NPC Spine [spn0] ---- TRUE

[09/29/2020 - 10:26:35AM] Prisoner: has node NPC Pelvis [Pelv] ---- TRUE

[09/29/2020 - 10:26:35AM] Prisoner: has node NPC R ForearmTwist1 [RLt1] ---- TRUE

[09/29/2020 - 10:26:36AM] Prisoner: has node NPC R Clavicle [RClv] ---- TRUE

[09/29/2020 - 10:26:36AM] Prisoner: has node NPC R Calf [RClf] ---- TRUE

[09/29/2020 - 10:26:36AM] Prisoner: has node NPC L Forearm [LLar] ---- TRUE

[09/29/2020 - 10:26:36AM] Prisoner: has node NPC L UpperarmTwist1 [LUt1] ---- TRUE

[09/29/2020 - 10:26:36AM] Prisoner: has node NPC R Foot [Rft ] ---- TRUE

[09/29/2020 - 10:26:36AM] Prisoner: has node NPC R ForearmTwist2 [RLt2] ---- TRUE

[09/29/2020 - 10:26:36AM] Prisoner: has node NPC L ForearmTwist1 [LLt1] ---- TRUE

[09/29/2020 - 10:26:36AM] Prisoner: has node NPC R UpperArm [RUar] ---- TRUE

[09/29/2020 - 10:26:37AM] Prisoner: has node NPC Genitals01 [Gen01] ---- TRUE

[09/29/2020 - 10:26:37AM] Prisoner: has node NPC L Calf [LClf] ---- TRUE

[09/29/2020 - 10:26:37AM] Prisoner: has node NPC L UpperArm [LUar] ---- TRUE

 

 

 

I took all those nodes from the *.nif file itself by opening it in the notepad and copying them just to make sure I didn't make typos.

 

nif-nodes.png

 

The only node that seems could be useful is the MaleBody one, because it's the only one that actually has textures... and it's one of the few nodes NetImmerse couldn't find.

 

Yes, I'm testing this while naked.

... my character is naked as well :tongue:

 

And I know the code must be right because calling it with one of the body overlay nodes introduced by RaceMenu:

 

tt("Body [Ovl0]")

 

Works as expected.

Edited by Papitas
Link to comment
Share on other sites

Keep in mind when some people edit the .nif files they don't always do it right. In some cases you actually need to fix the .nif to get the slots to work right. NifSkope will show you everything. Even the mismatched names and let you fix them.

Edited by NexusComa2
Link to comment
Share on other sites

  • Recently Browsing   0 members

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