Issue Data
|
Issue #24678: DLC01_TrackSystemTrack: does not have a node named ''
[06/11/2018 - 07:05:39PM] error: (FF01FEEC): does not have a node named ''.
stack: [ (FF020221)].Actor.MoveToNode() - "<native>" Line ? [ (FF020008)].dlc01:dlc01_tracksystemmachine.InitMachine() - "g:\_F4\DLC01\Art\Raw\Scripts\DLC01\DLC01_TrackSystemMachine.psc" Line 87 [ (01002143)].dlc01:dlc01_tracksystemtrack.CreateMachine() - "g:\_F4\DLC01\Art\Raw\Scripts\DLC01\DLC01_TrackSystemTrack.psc" Line 407 [ (01002143)].dlc01:dlc01_tracksystemtrack.OnTimer() - "g:\_F4\DLC01\Art\Raw\Scripts\DLC01\DLC01_TrackSystemTrack.psc" Line 382 |
Related Issues: 25199
DLC01TrackSystem_TrackDummy had incorrectly set properties on the Arc tank bot that were causing these errors and causing the setup to fail.
Unfortunately, this fix did nothing. Still got the following errors with UFO4P 2.0.5 installed:
The same errors also occurred on refs 01000BCC, 01002155, 01004107 and 01002143. This is important to note because this is to some part a placed ref issue.
Now, what happened here ?
All errors are thrown by line 87 of DLC01_TrackSystemTrack:
This is about a node on the arm object and has nothing to do with the platform. Also, the error "does not have a node named '' " indicates that a proper node name is missing here. This cannot be fixed by adding object properties because no node on a Bethesda mesh ever had an empty name string (at least not since Oblivion). Also:note that the script consistently performs sanity checks on platform objects, so would not error even if an actually needed platform object was missing. However, not all items require a platform, among them the electrical arc: this is not a bot (there is no "arc tank bot" existing) but a dummy object without 3D that consequently does not need a platform to stand on. The actual trap is built in the arm, and the dummy's only purpose is to run a script to evaluate a target and to emit lightnings.
Browsing through all machine constructor structs in the MachinePresets array of the base object (i.e. the activator DLC01TrackSystem_TrackDummy) reveals that there is only one struct that is missing the arm node name, and this is the struct for the electrical trap. Extraction of the arm mesh from DLCRobot - Main.ba2 and inspection in NifSkope revealed that the node name should be "ProjectileNode" (see: https://www.afkmods.com/index.php?/gallery/image/4883-arm_electricalarcjpg/ ). This is the real missing property.
Now, correcting this on the base object does not fix all tracks because some of the tracks (i.e. the placed refs, there are 12 of them) have overrides for the MachinePresets array defined locally and will therefore not update if there are any changes made to that array on their base object. They need to be fixed individually (that's why this also is a placed ref issue)..
[09/29/2018 - 02:10:41AM] error: (FF067787): does not have a node named ''. stack: [ (FF06C708)].Actor.MoveToNode() - "<native>" Line ? [ (FF06C13F)].dlc01:dlc01_tracksystemmachine.InitMachine() - "g:\_F4\DLC01\Art\Raw\Scripts\DLC01\DLC01_TrackSystemMachine.psc" Line 87 [ (0100214C)].dlc01:dlc01_tracksystemtrack.CreateMachine() - "g:\_F4\DLC01\Art\Raw\Scripts\DLC01\DLC01_TrackSystemTrack.psc" Line 407 [ (0100214C)].dlc01:dlc01_tracksystemtrack.OnTimer() - "g:\_F4\DLC01\Art\Raw\Scripts\DLC01\DLC01_TrackSystemTrack.psc" Line 382 [09/29/2018 - 02:12:00AM] error: (FF06AD97): does not have a node named ''. stack: [ (FF06DD3C)].Actor.MoveToNode() - "<native>" Line ? [ (FF067506)].dlc01:dlc01_tracksystemmachine.InitMachine() - "g:\_F4\DLC01\Art\Raw\Scripts\DLC01\DLC01_TrackSystemMachine.psc" Line 87 [ (0100214C)].dlc01:dlc01_tracksystemtrack.CreateMachine() - "g:\_F4\DLC01\Art\Raw\Scripts\DLC01\DLC01_TrackSystemTrack.psc" Line 407 [ (0100214C)].dlc01:dlc01_tracksystemtrack.OnTimer() - "g:\_F4\DLC01\Art\Raw\Scripts\DLC01\DLC01_TrackSystemTrack.psc" Line 382 [09/29/2018 - 02:12:09AM] error: (FF06AEB7): does not have a node named ''. stack: [ (FF06DE52)].Actor.MoveToNode() - "<native>" Line ? [ (FF06C1A7)].dlc01:dlc01_tracksystemmachine.InitMachine() - "g:\_F4\DLC01\Art\Raw\Scripts\DLC01\DLC01_TrackSystemMachine.psc" Line 87 [ (0100214C)].dlc01:dlc01_tracksystemtrack.CreateMachine() - "g:\_F4\DLC01\Art\Raw\Scripts\DLC01\DLC01_TrackSystemTrack.psc" Line 407 [ (0100214C)].dlc01:dlc01_tracksystemtrack.OnTimer() - "g:\_F4\DLC01\Art\Raw\Scripts\DLC01\DLC01_TrackSystemTrack.psc" Line 382
The same errors also occurred on refs 01000BCC, 01002155, 01004107 and 01002143. This is important to note because this is to some part a placed ref issue.
Now, what happened here ?
All errors are thrown by line 87 of DLC01_TrackSystemTrack:
myObject.MoveToNode(myArm, MC.ArmSpawnNode)
This is about a node on the arm object and has nothing to do with the platform. Also, the error "does not have a node named '' " indicates that a proper node name is missing here. This cannot be fixed by adding object properties because no node on a Bethesda mesh ever had an empty name string (at least not since Oblivion). Also:note that the script consistently performs sanity checks on platform objects, so would not error even if an actually needed platform object was missing. However, not all items require a platform, among them the electrical arc: this is not a bot (there is no "arc tank bot" existing) but a dummy object without 3D that consequently does not need a platform to stand on. The actual trap is built in the arm, and the dummy's only purpose is to run a script to evaluate a target and to emit lightnings.
Browsing through all machine constructor structs in the MachinePresets array of the base object (i.e. the activator DLC01TrackSystem_TrackDummy) reveals that there is only one struct that is missing the arm node name, and this is the struct for the electrical trap. Extraction of the arm mesh from DLCRobot - Main.ba2 and inspection in NifSkope revealed that the node name should be "ProjectileNode" (see: https://www.afkmods.com/index.php?/gallery/image/4883-arm_electricalarcjpg/ ). This is the real missing property.
Now, correcting this on the base object does not fix all tracks because some of the tracks (i.e. the placed refs, there are 12 of them) have overrides for the MachinePresets array defined locally and will therefore not update if there are any changes made to that array on their base object. They need to be fixed individually (that's why this also is a placed ref issue)..
Comment #2 Sep 30, 2018 11:40 am
Edited by Sclerocephalus on Sep 30, 2018 12:06 pm
Fixed on DLC01TrackSystem_TrackDummy (base object) and DLC01Lair_Main_Track1Dummy011 [REFR:01004107] (placed ref).
*sigh*
I should have noticed this earlier because the messages on my log were still complaining about empty strings, not about the node name added by your fix (as that was still the wrong node name). Which means that the refs did not update when the property on their base object was updated.
I had to use a retro script to get this done. This runs on all placed refs, so the extra fix for 01004107 is superfluous.
I should have noticed this earlier because the messages on my log were still complaining about empty strings, not about the node name added by your fix (as that was still the wrong node name). Which means that the refs did not update when the property on their base object was updated.
I had to use a retro script to get this done. This runs on all placed refs, so the extra fix for 01004107 is superfluous.
Showing Comments 1 - 4 of 4