Difference between revisions of "NifOpen"

From the Oblivion ConstructionSet Wiki
Jump to navigation Jump to search
imported>DragoonWraith
imported>DragoonWraith
Line 5: Line 5:


Opens a .nif 3D mesh file for reading, or if the optional bool is true, editing. Returns a unique identifier which may be passed to other NifSE functions in order to refer to the mesh.
Opens a .nif 3D mesh file for reading, or if the optional bool is true, editing. Returns a unique identifier which may be passed to other NifSE functions in order to refer to the mesh.
== Example ==
ref playerWeapon
string_var filepath
short nifID
[...]
Begin GameMode
  if ( playerWeapon != player.GetEquippedObject 16 )
    if ( playerWeapon )
      let filepath := NifGetOriginalPath nifID
      SetModelPath filepath playerWeapon
      NifClose nifID
    endif
    let playerWeapon := player.GetEquippedObject 16
    let filepath := GetModelPath playerWeapon
    let nifID := NifOpen filepath 1
    let filepath := NifGetPath nifID
    SetModelPath filepath playerWeapon
  endif
Every time the player equips a new weapon, creates a copy of the weapon's model that can be edited using NifSE, and sets the weapon's model to the copy. If a previous weapon had been affected, sets that weapon's model back to its original file, and closes that nif in NifSE.


== Notes ==
== Notes ==

Revision as of 11:04, 25 April 2010

This is a command from NifSE.

Syntax

(short:NifID) NifOpen string:FilePath bool:writable

Opens a .nif 3D mesh file for reading, or if the optional bool is true, editing. Returns a unique identifier which may be passed to other NifSE functions in order to refer to the mesh.

Example

ref playerWeapon
string_var filepath
short nifID
[...]
Begin GameMode

  if ( playerWeapon != player.GetEquippedObject 16 )
    if ( playerWeapon )
      let filepath := NifGetOriginalPath nifID
      SetModelPath filepath playerWeapon
      NifClose nifID
    endif
    let playerWeapon := player.GetEquippedObject 16
    let filepath := GetModelPath playerWeapon
    let nifID := NifOpen filepath 1
    let filepath := NifGetPath nifID
    SetModelPath filepath playerWeapon
  endif

Every time the player equips a new weapon, creates a copy of the weapon's model that can be edited using NifSE, and sets the weapon's model to the copy. If a previous weapon had been affected, sets that weapon's model back to its original file, and closes that nif in NifSE.

Notes

  • The file path must be relative to the Oblivion\Data\Meshes\ folder. This is the same scheme as used by similar OBSE functions.
  • NifSE creates a copy of the indicated .nif file when you request a writable nif, and the nif you are actually editing is that nif. The original nif is not altered in any way. You can get the file path of the copy with NifGetPath.

See Also