Jump to content

[Solved] Difficulty Getting Object To Function As Intended


Guest deleted156886133

Recommended Posts

Guest deleted156886133

I borrowed a mesh/.nif file from OAAB Data to use in my player home mod. The mesh in question is com_r_display01.nif and the object ID is AB_o_ComRchDisplay01. It's a rich piece of display furniture with a glass door that opens horizontally. Underneath the glass is a green piece of fabric on which to display your treasures. I had already re-textured the fabric on three matching pieces; canopy bed, chair, desk, and wanted to do the same for the display. So, I copied the .nif, reassigned my new texture via Nifskope, created the object exactly like the original in the CS of OpenMW and went in-game to test. The script, AB_ComDisplay_s, is functioning to an extent but for some unseen reason, the door will not open. The door open and close sounds play but that's it.

It may be relevant to mention that I get the same results when I use the original texture with the object. So, the texture is an unlikely suspect. But maybe I mucked something up in Nifskope? The only other field I edited was 0 NiNode, which is simply a name field. I changed it to reflect the object ID. Just to cover bases, I changed it back to original and that yielded the same result of not opening.

Here's the script, if relevant. Bear in mind that this is original and I have changed nothing.

Spoiler

Begin AB_ComDisplay_s

 

short state

; 0 = initial state

; 1 = opening

; 2 = open

; 3 = closing

; 4 = closed

 

if ( MenuMode == 1 )

return

endif

 

if ( OnActivate == 1 )

if ( getLocked > 0 )

playSound3D "LockedChest"

elseif ( state > 2 )

set state to 1

PlaySound3DVP "Door Latched Two Open" 0.5 1.0

elseif ( state < 3 )

set state to 3

PlaySound3DVP "Door Creaky Close" 0.5 1.0

endif

endif

 

 

if ( state == 0 ); set the lid to closed

set state to 4

endif

 

if ( state == 1 ); the lid is opening

PlayGroup Idle2 0

set state to 2

return

endif

 

if ( state == 2 ); the lid has finished opening

PlayGroup Idle4 0

return

endif

 

if ( state == 3 ); the lid is closing

PlayGroup Idle3 0

set state to 4

return

endif

 

if ( state == 4 ); the lid has finished closing

PlayGroup Idle 0

endif

 

end

Suffice it to say, I am absolutely perplexed. I'm thinking that I've altered the opening animation in the .nif model somehow. Does anyone have any ideas?

Edited by UsernameWithA9
Removed a sentence
Link to comment
Share on other sites

  • 3 weeks later...
Guest deleted156886133

I came across the solution by way of another mod, Sig's Resource Mod, published by the user SigynLaufeyson. On the mod page as well as in the download, Sig includes instructions on how to set-up the display case. As it turns out, there are three (3) files required to pull off the animation, not including the script. Those three (3) files are: a .nif with animations, a .nif without animation (this one is simply a copy of the first .nif with the animation stripped via Nifskope) and a .kf file (which contains the animation data). All three (3) files need to go into the same folder. Also, there is no need to do anything with the .kf file other than ensure the filename reflects the secondary .nif, as below. As long as it's in the same folder as your relevant .nifs/meshes, it will be found.

I went back into OAAB Data and retrieved the two (2) missing files, xcom_r_display01.nif & xcom_r_display01.kf, along with another copy of com_r_display01.nif. Since the secondary .nif was already stripped of animation, I had no need of Nifskope other than to reassign one texture to the primary and secondary .nifs. Then I simply changed the name of all three (3) files to reflect my unique set-up. 

So, now I have the three (3) files:

  • UWA9_Furn_Com_Displ_01.nif (contains animations)
  • xUWA9_Furn_Com_Displ_01.nif (stripped of animations)
  • xUWA9_Furn_Com_Displ_01.kf (animation data)

I haven't a clue how to add the animation to the primary .nif, the purpose of the secondary .nif, or how to create the animation data (the .kf file) but there you go. I found a proper fix for my problem and am posting it here for posterity.

Here's my display, closed then opened:

display.jpg.6f7225b6f6ad81cf6a078a4aeb1b7ff6.jpg

And finally, in the event that @SigynLaufeyson reads this... Thanks!

Edited by UsernameWithA9
Afterthoughts
Link to comment
Share on other sites

  • 2 weeks later...

Thanks goes to Abot on this one!  I asked the same question on Reddit a few months back because I couldn't get the case to work either.  I never noticed there were 3 files lol.  I'm glad writing it up helped!

Link to comment
Share on other sites

Guest deleted156886133
2 hours ago, SigynLaufeyson said:

Thanks goes to Abot on this one! I asked the same question on Reddit a few months back because I couldn't get the case to work either.

Ah, don't be so modest. Abot may deserve thanks for the solution but you do as well for including the information within your mod download. You didn't have to do that but you did. 

Link to comment
Share on other sites

  • Recently Browsing   0 members

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