Advertisement
Guest User

Untitled

a guest
Dec 30th, 2021
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 31.79 KB | None | 0 0
  1. Scriptname NiOverride Hidden
  2.  
  3. int Function GetScriptVersion() global
  4. return 7
  5. EndFunction
  6.  
  7. ; Valid keys
  8. ; ID - TYPE - Name
  9. ; 0 - int - ShaderEmissiveColor
  10. ; 1 - float - ShaderEmissiveMultiple
  11. ; 2 - float - ShaderGlossiness
  12. ; 3 - float - ShaderSpecularStrength
  13. ; 4 - float - ShaderLightingEffect1
  14. ; 5 - float - ShaderLightingEffect2
  15. ; 6 - TextureSet - ShaderTextureSet
  16. ; 7 - int - ShaderTintColor
  17. ; 8 - float - ShaderAlpha
  18. ; 9 - string - ShaderTexture (index 0-8)
  19. ; 20 - float - ControllerStartStop (-1.0 for stop, anything else indicates start time)
  20. ; 21 - float - ControllerStartTime
  21. ; 22 - float - ControllerStopTime
  22. ; 23 - float - ControllerFrequency
  23. ; 24 - float - ControllerPhase
  24.  
  25. ; Indexes are for controller index (0-255)
  26. ; -1 indicates not relevant, use it when not using controller based properties
  27.  
  28. ; Persist True will save the change to the co-save and will automatically re-apply when equipping
  29. ; Persist False will apply the change visually until the armor is re-equipped or the game is reloaded (Equivalent to SetPropertyX)
  30.  
  31. ; ObjectReference must be an Actor
  32. ; Overrides will clean themselves if the Armor or ArmorAddon no longer exists (i.e. you uninstalled the mod they were associated with)
  33. bool Function HasOverride(ObjectReference ref, bool isFemale, Armor arm, ArmorAddon addon, string node, int key, int index) native global
  34.  
  35. Function AddOverrideFloat(ObjectReference ref, bool isFemale, Armor arm, ArmorAddon addon, string node, int key, int index, float value, bool persist) native global
  36. Function AddOverrideInt(ObjectReference ref, bool isFemale, Armor arm, ArmorAddon addon, string node, int key, int index, int value, bool persist) native global
  37. Function AddOverrideBool(ObjectReference ref, bool isFemale, Armor arm, ArmorAddon addon, string node, int key, int index, bool value, bool persist) native global
  38. Function AddOverrideString(ObjectReference ref, bool isFemale, Armor arm, ArmorAddon addon, string node, int key, int index, string value, bool persist) native global
  39. Function AddOverrideTextureSet(ObjectReference ref, bool isFemale, Armor arm, ArmorAddon addon, string node, int key, int index, TextureSet value, bool persist) native global
  40.  
  41. ; Gets the saved override value
  42. float Function GetOverrideFloat(ObjectReference ref, bool isFemale, Armor arm, ArmorAddon addon, string node, int key, int index) native global
  43. int Function GetOverrideInt(ObjectReference ref, bool isFemale, Armor arm, ArmorAddon addon, string node, int key, int index) native global
  44. bool Function GetOverrideBool(ObjectReference ref, bool isFemale, Armor arm, ArmorAddon addon, string node, int key, int index) native global
  45. string Function GetOverrideString(ObjectReference ref, bool isFemale, Armor arm, ArmorAddon addon, string node, int key, int index) native global
  46. TextureSet Function GetOverrideTextureSet(ObjectReference ref, bool isFemale, Armor arm, ArmorAddon addon, string node, int key, int index) native global
  47.  
  48. ; Gets the property straight from the node (Handy if you need the current value if an override D.N.E yet)
  49. float Function GetPropertyFloat(ObjectReference ref, bool firstPerson, Armor arm, ArmorAddon addon, string node, int key, int index) native global
  50. int Function GetPropertyInt(ObjectReference ref, bool firstPerson, Armor arm, ArmorAddon addon, string node, int key, int index) native global
  51. bool Function GetPropertyBool(ObjectReference ref, bool firstPerson, Armor arm, ArmorAddon addon, string node, int key, int index) native global
  52. string Function GetPropertyString(ObjectReference ref, bool firstPerson, Armor arm, ArmorAddon addon, string node, int key, int index) native global
  53. ;TextureSet is not stored on the node, individual textures are, however.
  54.  
  55. ; Returns whether the specified node could be found for the given parameters
  56. ; Debug will report errors to NiOverrides log file
  57. bool Function HasArmorAddonNode(ObjectReference ref, bool firstPerson, Armor arm, ArmorAddon addon, string node, bool debug = false) native global
  58.  
  59. ; Applies all armor properties visually to the actor, this shouldn't be necessary under normal circumstances
  60. Function ApplyOverrides(ObjectReference ref) native global
  61.  
  62. ; ObjectReference must be an Actor (These could work for non-actor objects, untested)
  63. ; ADVANCED USE ONLY, THESE DO NOT SELF CLEANUP IF THE NODE IS NOT FOUND
  64. ; Returns whether there is an override for this particular node
  65. bool Function HasNodeOverride(ObjectReference ref, bool isFemale, string node, int key, int index) native global
  66.  
  67. Function AddNodeOverrideFloat(ObjectReference ref, bool isFemale, string node, int key, int index, float value, bool persist) native global
  68. Function AddNodeOverrideInt(ObjectReference ref, bool isFemale, string node, int key, int index, int value, bool persist) native global
  69. Function AddNodeOverrideBool(ObjectReference ref, bool isFemale, string node, int key, int index, bool value, bool persist) native global
  70. Function AddNodeOverrideString(ObjectReference ref, bool isFemale, string node, int key, int index, string value, bool persist) native global
  71. Function AddNodeOverrideTextureSet(ObjectReference ref, bool isFemale, string node, int key, int index, TextureSet value, bool persist) native global
  72.  
  73. ; Return the stored override, returns default (nil) values if the override D.N.E
  74. float Function GetNodeOverrideFloat(ObjectReference ref, bool isFemale, string node, int key, int index) native global
  75. int Function GetNodeOverrideInt(ObjectReference ref, bool isFemale, string node, int key, int index) native global
  76. bool Function GetNodeOverrideBool(ObjectReference ref, bool isFemale, string node, int key, int index) native global
  77. string Function GetNodeOverrideString(ObjectReference ref, bool isFemale, string node, int key, int index) native global
  78. TextureSet Function GetNodeOverrideTextureSet(ObjectReference ref, bool isFemale, string node, int key, int index) native global
  79.  
  80. ; Gets the property straight from the node (Handy if you need the current value if an override D.N.E yet)
  81. float Function GetNodePropertyFloat(ObjectReference ref, bool firstPerson, string node, int key, int index) native global
  82. int Function GetNodePropertyInt(ObjectReference ref, bool firstPerson, string node, int key, int index) native global
  83. bool Function GetNodePropertyBool(ObjectReference ref, bool firstPerson, string node, int key, int index) native global
  84. string Function GetNodePropertyString(ObjectReference ref, bool firstPerson, string node, int key, int index) native global
  85. ;TextureSet is not stored on the node, individual textures are, however.
  86.  
  87. ; Applies all node properties visually to the actor, this shouldn't be necessary under normal circumstances
  88. Function ApplyNodeOverrides(ObjectReference ref) native global
  89.  
  90.  
  91. ; Version 3 (Weapon Overrides)
  92. ;-------------------------------------------------------
  93. ; ObjectReference must be an Actor
  94. ; If a weapon is templated it will inherit the properties of its parent first
  95. ; Note that the player seems to be a special-case where they use the first person model for both first and third person
  96. ;
  97. ; Overrides will clean themselves if the Weapon no longer exists (i.e. you uninstalled the mod they were associated with)
  98. bool Function HasWeaponOverride(ObjectReference ref, bool isFemale, bool firstPerson, Weapon weap, string node, int key, int index) native global
  99.  
  100. Function AddWeaponOverrideFloat(ObjectReference ref, bool isFemale, bool firstPerson, Weapon weap, string node, int key, int index, float value, bool persist) native global
  101. Function AddWeaponOverrideInt(ObjectReference ref, bool isFemale, bool firstPerson, Weapon weap, string node, int key, int index, int value, bool persist) native global
  102. Function AddWeaponOverrideBool(ObjectReference ref, bool isFemale, bool firstPerson, Weapon weap, string node, int key, int index, bool value, bool persist) native global
  103. Function AddWeaponOverrideString(ObjectReference ref, bool isFemale, bool firstPerson, Weapon weap, string node, int key, int index, string value, bool persist) native global
  104. Function AddWeaponOverrideTextureSet(ObjectReference ref, bool isFemale, bool firstPerson, Weapon weap, string node, int key, int index, TextureSet value, bool persist) native global
  105.  
  106. ; Gets the saved override value
  107. float Function GetWeaponOverrideFloat(ObjectReference ref, bool isFemale, bool firstPerson, Weapon weap, string node, int key, int index) native global
  108. int Function GetWeaponOverrideInt(ObjectReference ref, bool isFemale, bool firstPerson, Weapon weap, string node, int key, int index) native global
  109. bool Function GetWeaponOverrideBool(ObjectReference ref, bool isFemale, bool firstPerson, Weapon weap, string node, int key, int index) native global
  110. string Function GetWeaponOverrideString(ObjectReference ref, bool isFemale, bool firstPerson, Weapon weap, string node, int key, int index) native global
  111. TextureSet Function GetWeaponOverrideTextureSet(ObjectReference ref, bool isFemale, bool firstPerson, Weapon weap, string node, int key, int index) native global
  112.  
  113. ; Gets the property straight from the node (Handy if you need the current value if an override D.N.E yet)
  114. float Function GetWeaponPropertyFloat(ObjectReference ref, bool firstPerson, Weapon weap, string node, int key, int index) native global
  115. int Function GetWeaponPropertyInt(ObjectReference ref, bool firstPerson, Weapon weap, string node, int key, int index) native global
  116. bool Function GetWeaponPropertyBool(ObjectReference ref, bool firstPerson, Weapon weap, string node, int key, int index) native global
  117. string Function GetWeaponPropertyString(ObjectReference ref, bool firstPerson, Weapon weap, string node, int key, int index) native global
  118. ;TextureSet is not stored on the node, individual textures are, however.
  119.  
  120. ; Returns whether the specified node could be found for the given parameters
  121. ; Debug will report errors to NiOverrides log file
  122. bool Function HasWeaponNode(ObjectReference ref, bool firstPerson, Weapon weap, string node, bool debug = false) native global
  123.  
  124. ; Applies all armor properties visually to the actor, this shouldn't be necessary under normal circumstances
  125. Function ApplyWeaponOverrides(ObjectReference ref) native global
  126. ; ----------------------------------------------------
  127.  
  128.  
  129.  
  130.  
  131. ; Version 6 (Skin Overrides)
  132. ;-------------------------------------------------------
  133. ; ObjectReference must be an Actor
  134. ;
  135. bool Function HasSkinOverride(ObjectReference ref, bool isFemale, bool firstPerson, int slotMask, int key, int index) native global
  136.  
  137. Function AddSkinOverrideFloat(ObjectReference ref, bool isFemale, bool firstPerson, int slotMask, int key, int index, float value, bool persist) native global
  138. Function AddSkinOverrideInt(ObjectReference ref, bool isFemale, bool firstPerson, int slotMask, int key, int index, int value, bool persist) native global
  139. Function AddSkinOverrideBool(ObjectReference ref, bool isFemale, bool firstPerson, int slotMask, int key, int index, bool value, bool persist) native global
  140. Function AddSkinOverrideString(ObjectReference ref, bool isFemale, bool firstPerson, int slotMask, int key, int index, string value, bool persist) native global
  141. Function AddSkinOverrideTextureSet(ObjectReference ref, bool isFemale, bool firstPerson, int slotMask, int key, int index, TextureSet value, bool persist) native global
  142.  
  143. ; Gets the saved override value
  144. float Function GetSkinOverrideFloat(ObjectReference ref, bool isFemale, bool firstPerson, int slotMask, int key, int index) native global
  145. int Function GetSkinOverrideInt(ObjectReference ref, bool isFemale, bool firstPerson, int slotMask, int key, int index) native global
  146. bool Function GetSkinOverrideBool(ObjectReference ref, bool isFemale, bool firstPerson, int slotMask, int key, int index) native global
  147. string Function GetSkinOverrideString(ObjectReference ref, bool isFemale, bool firstPerson, int slotMask, int key, int index) native global
  148. TextureSet Function GetSkinOverrideTextureSet(ObjectReference ref, bool isFemale, bool firstPerson, int slotMask, int key, int index) native global
  149.  
  150. ; Gets the property straight from the node (Handy if you need the current value if an override D.N.E yet)
  151. float Function GetSkinPropertyFloat(ObjectReference ref, bool firstPerson, int slotMask, int key, int index) native global
  152. int Function GetSkinPropertyInt(ObjectReference ref, bool firstPerson, int slotMask, int key, int index) native global
  153. bool Function GetSkinPropertyBool(ObjectReference ref, bool firstPerson, int slotMask, int key, int index) native global
  154. string Function GetSkinPropertyString(ObjectReference ref, bool firstPerson, int slotMask, int key, int index) native global
  155. ;TextureSet is not stored on the node, individual textures are, however.
  156.  
  157. ; Applies all skin properties visually to the actor, this shouldn't be necessary under normal circumstances
  158. Function ApplySkinOverrides(ObjectReference ref) native global
  159. ; ----------------------------------------------------
  160.  
  161.  
  162. ; Remove functions do not revert the modified state, only remove it from the save
  163.  
  164. ; Removes ALL Armor based overrides from ALL actors (Global purge)
  165. Function RemoveAllOverrides() native global
  166.  
  167. ; Removes all Armor based overrides for a particular actor
  168. Function RemoveAllReferenceOverrides(ObjectReference ref) native global
  169.  
  170. ; Removes all ArmorAddon overrides for a particular actor and armor
  171. Function RemoveAllArmorOverrides(ObjectReference ref, bool isFemale, Armor arm) native global
  172.  
  173. ; Removes all overrides for a particular actor, armor, and addon
  174. Function RemoveAllArmorAddonOverrides(ObjectReference ref, bool isFemale, Armor arm, ArmorAddon addon) native global
  175.  
  176. ; Removes all overrides for a particukar actor, armor, addon, and nodeName
  177. Function RemoveAllArmorAddonNodeOverrides(ObjectReference ref, bool isFemale, Armor arm, ArmorAddon addon, string node) native global
  178.  
  179. ; Removes one particular override from an actor, armor, addon, node name, key, index
  180. Function RemoveOverride(ObjectReference ref, bool isFemale, Armor arm, ArmorAddon addon, string node, int key, int index) native global
  181.  
  182. ; Removes ALL Node based overrides for ALL actors (Global purge)
  183. Function RemoveAllNodeOverrides() native global
  184.  
  185. ; Removes all Node based overrides for a particular actor
  186. Function RemoveAllReferenceNodeOverrides(ObjectReference ref) native global
  187.  
  188. ; Removes all Node based overrides for a particular actor, gender, and nodeName
  189. Function RemoveAllNodeNameOverrides(ObjectReference ref, bool isFemale, string node) native global
  190.  
  191. ; Removes one particular override from an actor, of a particular gender, nodeName, key, and index
  192. Function RemoveNodeOverride(ObjectReference ref, bool isFemale, string node, int key, int index) native global
  193.  
  194.  
  195. ; Removes ALL weapon based overrides from ALL actors (Global purge)
  196. Function RemoveAllWeaponBasedOverrides() native global
  197.  
  198. ; Removes all weapon based overrides for a particular actor
  199. Function RemoveAllReferenceWeaponOverrides(ObjectReference ref) native global
  200.  
  201. ; Removes all weapon overrides for a particular actor, gender, view, and weapon
  202. Function RemoveAllWeaponOverrides(ObjectReference ref, bool isFemale, bool firstPerson, Weapon weap) native global
  203.  
  204. ; Removes all overrides for a particukar actor, gender, view, weapon, and nodeName
  205. Function RemoveAllWeaponNodeOverrides(ObjectReference ref, bool isFemale, bool firstPerson, Weapon weap, string node) native global
  206.  
  207. ; Removes a particular weapon override
  208. Function RemoveWeaponOverride(ObjectReference ref, bool isFemale, bool firstPerson, Weapon weap, string node, int key, int index) native global
  209.  
  210.  
  211. ; Removes ALL skin based overrides from ALL actors (Global purge)
  212. Function RemoveAllSkinBasedOverrides() native global
  213.  
  214. ; Removes all skin based overrides for a particular actor
  215. Function RemoveAllReferenceSkinOverrides(ObjectReference ref) native global
  216.  
  217. ; Removes all skin overrides for a particular actor, gender, view, and weapon
  218. Function RemoveAllSkinOverrides(ObjectReference ref, bool isFemale, bool firstPerson, int slotMask) native global
  219.  
  220. ; Removes a particular skin override
  221. Function RemoveSkinOverride(ObjectReference ref, bool isFemale, bool firstPerson, int slotMask, int key, int index) native global
  222.  
  223.  
  224. ; Overlay Data
  225. int Function GetNumBodyOverlays() native global
  226. int Function GetNumHandOverlays() native global
  227. int Function GetNumFeetOverlays() native global
  228. int Function GetNumFaceOverlays() native global
  229.  
  230. int Function GetNumSpellBodyOverlays() native global
  231. int Function GetNumSpellHandOverlays() native global
  232. int Function GetNumSpellFeetOverlays() native global
  233. int Function GetNumSpellFaceOverlays() native global
  234.  
  235. ; Adds all enabled overlays to an Actor (Cannot add to player, always exists for player)
  236. Function AddOverlays(ObjectReference ref) native global
  237.  
  238. ; Returns whether this actor has overlays enabled (Always true for player)
  239. bool Function HasOverlays(ObjectReference ref) native global
  240.  
  241. ; Removes overlays from an actor (Cannot remove from player)
  242. Function RemoveOverlays(ObjectReference ref) native global
  243.  
  244. ; Restores the original non-diffuse skin textures to skin overlays
  245. Function RevertOverlays(ObjectReference ref) native global
  246.  
  247. ; Restores the original non-diffuse skin textures to particular overlay
  248. ; Valid masks: Combining masks not recommended
  249. ; 4 - Body
  250. ; 8 - Hands
  251. ; 128 - Feet
  252. Function RevertOverlay(ObjectReference ref, string nodeName, int armorMask, int addonMask) native global
  253.  
  254. ; Restores the original non-diffuse skin textures to all head overlays
  255. Function RevertHeadOverlays(ObjectReference ref) native global
  256.  
  257. ; Restores the original non-diffuse skin textures to particular overlay
  258. ; Valid partTypes
  259. ; 1 - Face
  260. ; Valid shaderTypes
  261. ; 4 - FaceTint
  262. Function RevertHeadOverlay(ObjectReference ref, string nodeName, int partType, int shaderType) native global
  263.  
  264. ; Sets a body morph value on an actor
  265. Function SetMorphValue(ObjectReference ref, string morphName, float value) global
  266. SetBodyMorph(ref, morphName, "RSMLegacy", value)
  267. EndFunction
  268.  
  269. ; Gets a body morph value on an actor
  270. float Function GetMorphValue(ObjectReference ref, string morphName) global
  271. return GetBodyMorph(ref, morphName, "RSMLegacy")
  272. EndFunction
  273.  
  274. ; Clears a body morph value on an actor
  275. Function ClearMorphValue(ObjectReference ref, string morphName) global
  276. return ClearBodyMorph(ref, morphName, "RSMLegacy")
  277. EndFunction
  278.  
  279. ; Returns true if there are any body morphs with this key and name
  280. bool Function HasBodyMorph(ObjectReference ref, string morphName, string keyName) native global
  281.  
  282. ; Sets a body morph value on an actor
  283. Function SetBodyMorph(ObjectReference ref, string morphName, string keyName, float value) native global
  284.  
  285. ; Gets a body morph value on an actor
  286. float Function GetBodyMorph(ObjectReference ref, string morphName, string keyName) native global
  287.  
  288. ; Clears a body morph value on an actor
  289. Function ClearBodyMorph(ObjectReference ref, string morphName, string keyName) native global
  290.  
  291. ; Returns true if there are any body morphs with this key
  292. bool Function HasBodyMorphKey(ObjectReference ref, string keyName) native global
  293.  
  294. ; Clears all body morphs with this key
  295. Function ClearBodyMorphKeys(ObjectReference ref, string keyName) native global
  296.  
  297. ; Returns true if there are any body morphs with this name
  298. bool Function HasBodyMorphName(ObjectReference ref, string keyName) native global
  299.  
  300. ; Clears all body morphs with this name
  301. Function ClearBodyMorphNames(ObjectReference ref, string morphName) native global
  302.  
  303. ; Clears all body morphs for an actor
  304. Function ClearMorphs(ObjectReference ref) native global
  305.  
  306. ; Updates the weight data post morph value
  307. ; only to be used on actors who have morph values set
  308. Function UpdateModelWeight(ObjectReference ref) native global
  309.  
  310. ; Returns all Body Morph names applied to the reference
  311. string[] Function GetMorphNames(ObjectReference ref) native global
  312.  
  313. ; Returns all Body Morph keys applied for the morph name
  314. string[] Function GetMorphKeys(ObjectReference ref, string morphName) native global
  315.  
  316. ; Returns all References currently being morphed
  317. ObjectReference[] Function GetMorphedReferences() native global
  318.  
  319. ; Calls the function by name on target for each morphed reference
  320. Function ForEachMorphedReference(string callback, Form target) native global
  321.  
  322. ; Call this function prior to frequent changes in dyes to prevent massive lag
  323. Function EnableTintTextureCache() native global
  324. ; Call this when finished frequent dye edits
  325. Function ReleaseTintTextureCache() native global
  326.  
  327. ; -------------- Unique Item functions -----------------
  328. ; When a UID is added to an item, that particular item will keep that UID
  329. ; until that item is deleted, you can use this UID to map additional
  330. ; data if you choose, you can tell when a UID has been deleted via the
  331. ; NiOverride_Internal_EraseUID Mod Event
  332. ; e.g.
  333. ; RegisterForModEvent("NiOverride_Internal_EraseUID", "OnEraseUID")
  334. ; Event OnEraseUID(string eventName, string strArg, float UID, Form formId)
  335. ; The UID functions are no longer valid when the UID event is received
  336.  
  337. ; Returns a number for a unique item, if the item is not unique it will be made unique, returns 0 when invalid
  338. int Function GetItemUniqueID(ObjectReference akActor, int weaponSlot, int slotMask, bool makeUnique = true) native global
  339.  
  340. ; Returns a number for a unique item in the world, when it's placed in inventory it will maintain this ID
  341. int Function GetObjectUniqueID(ObjectReference akObject, bool makeUnique = true) native global
  342.  
  343. ; Returns the base form associated with this uniqueId
  344. Form Function GetFormFromUniqueID(int uniqueId) native global
  345.  
  346. ; Returns the reference that is holding the item described by this uniqueId
  347. ; If the item is in the world, it will return the world reference of itself
  348. ; If the item is inside of an inventory, it will return the reference of the inventory
  349. Form Function GetOwnerOfUniqueID(int uniqueId) native global
  350.  
  351. ; Dye Functions
  352. ; Uses the uniqueId acquired from GetItemUniqueID
  353. Function SetItemDyeColor(int uniqueId, int maskIndex, int color) native global
  354. int Function GetItemDyeColor(int uniqueId, int maskIndex) native global
  355. Function ClearItemDyeColor(int uniqudId, int maskIndex) native global
  356.  
  357. ; Regenerates the tintmask of the dyed object, use after assigning/clearing dye colors
  358. Function UpdateItemDyeColor(ObjectReference akActor, int uniqueId) native global
  359.  
  360.  
  361. ; v2 Dye Functions
  362. ; Uses the uniqueId acquired from GetItemUniqueID
  363. Function SetItemTextureLayerColor(int uniqueId, int textureIndex, int layer, int color) native global
  364. int Function GetItemTextureLayerColor(int uniqueId, int textureIndex, int layer) native global
  365. Function ClearItemTextureLayerColor(int uniqudId, int textureIndex, int layer) native global
  366.  
  367. Function SetItemTextureLayerType(int uniqueId, int textureIndex, int layer, int type) native global
  368. int Function GetItemTextureLayerType(int uniqueId, int textureIndex, int layer) native global
  369. Function ClearItemTextureLayerType(int uniqudId, int textureIndex, int layer) native global
  370.  
  371. Function SetItemTextureLayerTexture(int uniqueId, int textureIndex, int layer, string texture) native global
  372. string Function GetItemTextureLayerTexture(int uniqueId, int textureIndex, int layer) native global
  373. Function ClearItemTextureLayerTexture(int uniqudId, int textureIndex, int layer) native global
  374.  
  375. Function SetItemTextureLayerBlendMode(int uniqueId, int textureIndex, int layer, string texture) native global
  376. string Function GetItemTextureLayerBlendMode(int uniqueId, int textureIndex, int layer) native global
  377. Function ClearItemTextureLayerBlendMode(int uniqudId, int textureIndex, int layer) native global
  378.  
  379. Function UpdateItemTextureLayers(ObjectReference akActor, int uniqueId) native global
  380.  
  381. ; ------ NON PERSISTENT FUNCTIONS --------------
  382. ; These functions do not persist in game sessions but are instead
  383. ; very fast and are suitable to be used on a game load event
  384.  
  385. ; Returns true if the Form has been registered as a Dye
  386. bool Function IsFormDye(Form akForm) native global
  387.  
  388. ; Returns the dye color bound to this form
  389. int Function GetFormDyeColor(Form akForm) native global
  390.  
  391. ; Registers the Form as a Dye with a color, 0x00FFFFFF is the universal dye
  392. Function RegisterFormDyeColor(Form akForm, int color) native global
  393.  
  394. ; Removes this form as a
  395. Function UnregisterFormDyeColor(Form akForm) native global
  396. ; -------------------------------------------------
  397.  
  398.  
  399.  
  400. ; ----------------- Node manipulation functions --------------
  401. ; These functions should only be used on nodes that either exist
  402. ; directly on the skeleton, or are injected via armor templates
  403. ; Armor Template injections are as follows:
  404. ; NiStringsExtraData - Name: EXTN (Count divisible by 3)
  405. ; [0] - TargetNode Name
  406. ; [1] - SourceNode Name
  407. ; [2] - Absolute nif path, relative to skyrim directory
  408. ; Notes: Template will take only the first root node and all
  409. ; its children, the Source Node should be the name of this
  410. ; root node. The TargetNode will be the parent to Source
  411. ; ------------------------------------------------------------
  412.  
  413. ; As of script version 6 all keys ending with .esp or .esm will check if the mod is active
  414. ; and erase the key at load time if the mod is not active
  415.  
  416. ; Checks whether there is a positon override for the particular parameters
  417. bool Function HasNodeTransformPosition(ObjectReference akRef, bool firstPerson, bool isFemale, string nodeName, string key) native global
  418.  
  419. ; Adds a position override for the particular key, pos[0-2] correspond to x,y,z
  420. Function AddNodeTransformPosition(ObjectReference akRef, bool firstPerson, bool isFemale, string nodeName, string key, float[] pos) native global
  421.  
  422. ; Returns a position override for the particular key an array of size 3 corresponding to x,y,z
  423. float[] Function GetNodeTransformPosition(ObjectReference akRef, bool firstPerson, bool isFemale, string nodeName, string key) native global
  424.  
  425. ; Removes a particular position override, returns true if it removed, false if did not exist
  426. bool Function RemoveNodeTransformPosition(ObjectReference akRef, bool firstPerson, bool isFemale, string nodeName, string key) native global
  427.  
  428.  
  429. ; Checks whether there is a scale override for the particular parameters
  430. bool Function HasNodeTransformScale(ObjectReference akRef, bool firstPerson, bool isFemale, string nodeName, string key) native global
  431.  
  432. ; Adds a scale override for the particular key, pos[0-2] correspond to x,y,z
  433. Function AddNodeTransformScale(ObjectReference akRef, bool firstPerson, bool isFemale, string nodeName, string key, float scale) native global
  434.  
  435. ; Returns a scale value override for the particular key, 0.0 if did not exist or failed
  436. float Function GetNodeTransformScale(ObjectReference akRef, bool firstPerson, bool isFemale, string nodeName, string key) native global
  437.  
  438. ; Removes a particular scale override, returns true if it removed, false if did not exist
  439. bool Function RemoveNodeTransformScale(ObjectReference akRef, bool firstPerson, bool isFemale, string nodeName, string key) native global
  440.  
  441.  
  442. ; Checks whether there is a rotation override for the particular parameters
  443. bool Function HasNodeTransformRotation(ObjectReference akRef, bool firstPerson, bool isFemale, string nodeName, string key) native global
  444.  
  445. ; Adds a rotation override for the particular key given either a size 3 or 9 array
  446. ; rotation[0-8] corresponding to the linear indices of a 3x3 matrix in radians
  447. ; rotation[0-2] corresponding to heading, attitude, and bank in degrees
  448. Function AddNodeTransformRotation(ObjectReference akRef, bool firstPerson, bool isFemale, string nodeName, string key, float[] rotation) native global
  449.  
  450. ; Returns a rotation override for the particular key
  451. ; type 0 - size 3 euler angles in degrees
  452. ; type 1 - size 9 matrix
  453. float[] Function GetNodeTransformRotation(ObjectReference akRef, bool firstPerson, bool isFemale, string nodeName, string key, int type = 0) native global
  454.  
  455. ; Checks whether there is a scale override for the particular parameters
  456. bool Function HasNodeTransformScaleMode(ObjectReference akRef, bool firstPerson, bool isFemale, string nodeName, string key) native global
  457.  
  458. ; Adds a scale mode override for a node, Modes=[0,1,2,3] [Multiplicative,Averaged,Additive,Maximum]
  459. Function AddNodeTransformScaleMode(ObjectReference akRef, bool firstPerson, bool isFemale, string nodeName, string key, int scaleMode) native global
  460.  
  461. ; Returns a scale mode override for the particular key, -1 if non-existent
  462. float Function GetNodeTransformScaleMode(ObjectReference akRef, bool firstPerson, bool isFemale, string nodeName, string key) native global
  463.  
  464. ; Removes a particular scale mode override, returns true if it removed, false if did not exist
  465. bool Function RemoveNodeTransformScaleMode(ObjectReference akRef, bool firstPerson, bool isFemale, string nodeName, string key) native global
  466.  
  467.  
  468. ; Returns the inverse scale, alters the in pos to the inverse out pos and the in rotation to the out inverse rotation
  469. ; Accepts either a size 3 rotation of euler degrees, or a 9 radian matrix
  470. float Function GetInverseTransform(float[] in_out_pos, float[] in_out_rotation, float in_scale = 1.0) native global
  471.  
  472. ; Removes a particular scale override, returns true if it removed, false if did not exist
  473. bool Function RemoveNodeTransformRotation(ObjectReference akRef, bool firstPerson, bool isFemale, string nodeName, string key) native global
  474.  
  475. ; Updates and computes ALL resulting transformation overrides for the particular reference
  476. ; This should not need to be called under normal circumstances
  477. Function UpdateAllReferenceTransforms(ObjectReference akRef) native global
  478.  
  479. ; Removes all transforms for a particular reference
  480. Function RemoveAllReferenceTransforms(ObjectReference akRef) native global
  481.  
  482. ; Removes all transforms from all references
  483. Function RemoveAllTransforms() native global
  484.  
  485. ; Updates and computes a particular node's transformation override
  486. ; Use this after changing a particular override
  487. Function UpdateNodeTransform(ObjectReference akRef, bool firstPerson, bool isFemale, string nodeName) native global
  488.  
  489. ; These function parts move a node to be a child of the destination node
  490. ; Moves a node from one the current parent to another, there can only be ONE of these overrides, call UpdateNodeTransform
  491. Function SetNodeDestination(ObjectReference akRef, bool firstPerson, bool isFemale, string nodeName, string destination) native global
  492.  
  493. ; Returns the node destination of the particular parameters
  494. string Function GetNodeDestination(ObjectReference akRef, bool firstPerson, bool isFemale, string nodeName) native global
  495.  
  496. ; Removes a node destination for a particular node, does not revert the physical mesh, only removes the key
  497. bool Function RemoveNodeDestination(ObjectReference akRef, bool firstPerson, bool isFemale, string nodeName) native global
  498.  
  499. ; These functions can be used to walk all of the current nodes if necessary
  500. ; Returns an array of all the altered nodes for the particular reference, skeleton, and gender
  501. string[] Function GetNodeTransformNames(ObjectReference akRef, bool firstPerson, bool isFemale) native global
  502.  
  503. ; Returns an array of all the existing key'd transforms to the particular node
  504. ; NodeDestination is a special key
  505. string[] Function GetNodeTransformKeys(ObjectReference akRef, bool firstPerson, bool isFemale, string nodeName) native global
  506. ; --------------------------------------------------------------------
  507.  
  508.  
  509. ; NiExtraData Acquisition
  510. bool Function GetBooleanExtraData(ObjectReference akRef, bool firstPerson, string nodeName, string dataName) native global
  511.  
  512. float Function GetFloatExtraData(ObjectReference akRef, bool firstPerson, string nodeName, string dataName) native global
  513. float[] Function GetFloatsExtraData(ObjectReference akRef, bool firstPerson, string nodeName, string dataName) native global
  514.  
  515. int Function GetIntegerExtraData(ObjectReference akRef, bool firstPerson, string nodeName, string dataName) native global
  516. int[] Function GetIntegersExtraData(ObjectReference akRef, bool firstPerson, string nodeName, string dataName) native global
  517.  
  518. string Function GetStringExtraData(ObjectReference akRef, bool firstPerson, string nodeName, string dataName) native global
  519. string[] Function GetStringsExtraData(ObjectReference akRef, bool firstPerson, string nodeName, string dataName) native global
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement