Difference between revisions of "EquipItem - Actor"

1,244 bytes added ,  22:00, 19 February 2021
imported>JustinOther
imported>Thor
 
(11 intermediate revisions by 8 users not shown)
Line 32: Line 32:


== Notes ==
== Notes ==
*If the calling actor does not have akItem, they will be given one. It is best, however, to add the item with [[AddItem - ObjectReference]], then equip it as the item might not otherwise register as equipped.
*When using EquipItem to equip a custom player-enchanted item to any actor, a bug will prevent the magic effects of that enchantment from taking effect. Normal (non-player-enchanted) items still take effect normally.
*Equipping an enchanted weapon on an actor that is not in a loaded cell will reset the weapon charge to full.
*If the calling actor does not have akItem, they will be given one. It is best, however, to add the item with [[AddItem - ObjectReference|AddItem ()]], then equip it as the item might not otherwise register as equipped.
<source lang="papyrus">FrenchTaunterREF.EquipItem(HolyGrailARMO, True) ; Gives them one unless they've already got one</source>
<source lang="papyrus">FrenchTaunterREF.EquipItem(HolyGrailARMO, True) ; Gives them one unless they've already got one</source>
*In some cases the aforementioned item addition can be utilized to add non-inventory items. The below will add an Alduin NPC form to the player's inventory that, when dropped, will be a full-sized Alduin actor.
*In some cases the aforementioned item addition can be utilized to add non-inventory items. The below will add an Alduin NPC form to the player's inventory that, when dropped, will be a full-sized Alduin actor.
<source lang="papyrus">Game.GetPlayer().EquipItem((Game.GetForm(0x00032DB7) As ObjectReference).GetBaseObject())</source>
<source lang="papyrus">Game.GetPlayer().EquipItem((Game.GetForm(0x00032DB7) As ObjectReference).GetBaseObject())</source>
*Armor equipped while in [[OpenInventory - Actor|OpenInventory]] or pick-pocketing dialogues will not be visible on the actor until the dialogue is ended. Calling the SKSE function [[QueueNiNodeUpdate - Actor|QueueNiNodeUpdate]] straight after calling EquipItem can force the actor to draw the new equipment immediately.
*The abPreventRemoval flag does not prevent removal by the functions UnEquipAll and RemoveAllItems. It does prevent removal when using EquipItem(OtherItem). The player can still move the item to a container!
*EquipItem does not work with [[LeveledItem|leveled items]].
*Attempting to Equip or Unequip Quest Alias items via script which are generated via the quest fill to method (as opposed to forced fill of an existing reference) will require you to acquire not only the reference but also the base form (ex: Game.GetPlayer().EquipItem(Alias_Waystone.GetReference().GetBaseObject())


== See Also ==
== See Also ==
Anonymous user