dorn2 Posted August 4, 2020 Share Posted August 4, 2020 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 More sharing options...
IsharaMeradin Posted August 4, 2020 Share Posted August 4, 2020 I would guess that these would refer to the text label in the NIF file for the node(s) in question. But I've never coded with those functions before so not 100% certain. Link to comment Share on other sites More sharing options...
maxarturo Posted August 4, 2020 Share Posted August 4, 2020 IsharaMeradin is correct, look at the NIF for those node's names in NifSkope. Link to comment Share on other sites More sharing options...
dorn2 Posted August 4, 2020 Author Share Posted August 4, 2020 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 More sharing options...
maxarturo Posted August 4, 2020 Share Posted August 4, 2020 (edited) "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 August 5, 2020 by maxarturo Link to comment Share on other sites More sharing options...
Papitas Posted September 29, 2020 Share Posted September 29, 2020 (edited) 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. 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 September 29, 2020 by Papitas Link to comment Share on other sites More sharing options...
NexusComa2 Posted September 30, 2020 Share Posted September 30, 2020 (edited) 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 September 30, 2020 by NexusComa2 Link to comment Share on other sites More sharing options...
Recommended Posts