Difference between revisions of "Osiris/Shared/DB HasStoryEvent"

From Divinity Engine Wiki
Jump to: navigation, search
m (clarify that the flag gets removed when the item is removed)
m
 
(3 intermediate revisions by the same user not shown)
Line 4: Line 4:
 
Defining this database will result in the character/object flag '''_HasItemEvent''' to be set on a character while '''_Item''' is in its inventory.
 
Defining this database will result in the character/object flag '''_HasItemEvent''' to be set on a character while '''_Item''' is in its inventory.
 
===== Notes =====
 
===== Notes =====
* This is useful to check in a dialog whether a character actually still has an item before you give it to a player. Note that you should perform the check and give action on the same dialog node, as otherwise the item could still be pick-pocketed in between the check and the transfer.
+
* This is useful to check in a dialog whether a character actually still has an item before you give it to a player. Note that you should perform the check and give action on the same dialog node, as otherwise the item could still be pick-pocketed in between the check and the transfer
 +
* Usually, you will want to check this flag at the party level instead of character level, so that players don't have to transfer the item to a particular character's inventory before they can hand it over to an NPC. [[Osiris/Shared/DB_GiveItemToEvent|DB_GiveItemToEvent]] will automatically get it from the right party member (called "magic pockets").
 +
* This call only works for item instances. Use [[Osiris/Shared/DB_HasTemplateItem|DB_HasTemplateItem]] in case you want to check whether a character has any item instance of a particular root template.
 +
* See the notes for [[Osiris/API/ItemAddedToCharacter|ItemAddedToCharacter]] for an important caveat.
 
===== See Also =====
 
===== See Also =====
 +
* [[Osiris/API/ItemAddedToCharacter|ItemAddedToCharacter]]
 
* [[Osiris/API/ItemIsInInventory|ItemIsInInventory]]
 
* [[Osiris/API/ItemIsInInventory|ItemIsInInventory]]
 
* Helper [[Osiris/Shared/DB_GiveItemToEvent|DB_GiveItemToEvent]]
 
* Helper [[Osiris/Shared/DB_GiveItemToEvent|DB_GiveItemToEvent]]
 +
* Helper [[Osiris/Shared/DB_HasTemplateItem|DB_HasTemplateItem]]
 
   
 
   
[[Category:Osiris Shared Mod Helpers]]
+
[[Category:Osiris Shared Mod Helpers|HasStoryEvent]]

Latest revision as of 11:29, 14 February 2018

Full Definition(s)
  • DB_HasStoryEvent((ITEMGUID)_Item,(STRING)_HasItemEvent)
Description

Defining this database will result in the character/object flag _HasItemEvent to be set on a character while _Item is in its inventory.

Notes
  • This is useful to check in a dialog whether a character actually still has an item before you give it to a player. Note that you should perform the check and give action on the same dialog node, as otherwise the item could still be pick-pocketed in between the check and the transfer
  • Usually, you will want to check this flag at the party level instead of character level, so that players don't have to transfer the item to a particular character's inventory before they can hand it over to an NPC. DB_GiveItemToEvent will automatically get it from the right party member (called "magic pockets").
  • This call only works for item instances. Use DB_HasTemplateItem in case you want to check whether a character has any item instance of a particular root template.
  • See the notes for ItemAddedToCharacter for an important caveat.
See Also