Difference between revisions of "Osiris/Shared/DB HasStoryEvent"
From Divinity Engine Wiki
m (clarify that the flag gets removed when the item is removed) |
m (Mention magic pockets) |
||
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"). | ||
===== See Also ===== | ===== See Also ===== | ||
* [[Osiris/API/ItemIsInInventory|ItemIsInInventory]] | * [[Osiris/API/ItemIsInInventory|ItemIsInInventory]] |
Revision as of 13:28, 8 October 2017
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").