Difference between revisions of "Osiris/Shared/DB Dialogs"
From Divinity Engine Wiki
m (ProcRemoveAllDialogEntriesForSpeaker reference) |
m (Specify this is for non-automated dialogs, replace reference to DialogStartRequested with PROC_GLOBAL_DialogStartRequested, mention Proc_StartDialog, link DB_AD_Dialog) |
||
Line 5: | Line 5: | ||
* '''DB_Dialogs'''(''(GUIDSTRING)'''''_Npc''',''(GUIDSTRING)'''''_Npc2''',''(GUIDSTRING)'''''_Npc3''',''(GUIDSTRING)'''''_Npc4''',''(STRING)'''''_Dialog''') | * '''DB_Dialogs'''(''(GUIDSTRING)'''''_Npc''',''(GUIDSTRING)'''''_Npc2''',''(GUIDSTRING)'''''_Npc3''',''(GUIDSTRING)'''''_Npc4''',''(STRING)'''''_Dialog''') | ||
===== Description ===== | ===== Description ===== | ||
− | Defines that the dialog with the name '''_Dialog''' should be started when | + | Defines that the non-automated dialog with the name '''_Dialog''' should be started when when [[Osiris/Shared/PROC_GLOBAL_DialogStartRequested|PROC_GLOBAL_DialogStartRequested]] gets called for any of the specified NPCs, and with the specified NPCs as participants (in addition to the player that initiated the request; the player will be the last speaker). |
===== Notes ===== | ===== Notes ===== | ||
* This is the default way to assign a dialog to a character. | * This is the default way to assign a dialog to a character. | ||
Line 11: | Line 11: | ||
* Defining such a database will call '''SetHasDialog''' to enable dialog requests for all involved NPCs. | * Defining such a database will call '''SetHasDialog''' to enable dialog requests for all involved NPCs. | ||
* Removing '''DB_Dialogs()''' entries again must be done via [[Osiris/Shared/ProcRemoveAllDialogEntriesForSpeaker|ProcRemoveAllDialogEntriesForSpeaker]]. Simply undefining the '''DB_Dialogs()''' entry is not sufficient. | * Removing '''DB_Dialogs()''' entries again must be done via [[Osiris/Shared/ProcRemoveAllDialogEntriesForSpeaker|ProcRemoveAllDialogEntriesForSpeaker]]. Simply undefining the '''DB_Dialogs()''' entry is not sufficient. | ||
+ | * Any dialog can also be started directly from Osiris with [[Osiris/Shared/Proc_StartDialog|Proc_StartDialog]]. | ||
+ | * See [[Dialog_editor|Dialog editor]] for information about creating dialogs. | ||
===== See Also ===== | ===== See Also ===== | ||
* [[Osiris/API/DialogStartRequested|DialogStartRequested]] | * [[Osiris/API/DialogStartRequested|DialogStartRequested]] |
Revision as of 20:11, 17 October 2017
Full Definition(s)
- DB_Dialogs((GUIDSTRING)_Npc,(STRING)_Dialog)
- DB_Dialogs((GUIDSTRING)_Npc,(GUIDSTRING)_Npc2,(STRING)_Dialog)
- DB_Dialogs((GUIDSTRING)_Npc,(GUIDSTRING)_Npc2,(GUIDSTRING)_Npc3,(STRING)_Dialog)
- DB_Dialogs((GUIDSTRING)_Npc,(GUIDSTRING)_Npc2,(GUIDSTRING)_Npc3,(GUIDSTRING)_Npc4,(STRING)_Dialog)
Description
Defines that the non-automated dialog with the name _Dialog should be started when when PROC_GLOBAL_DialogStartRequested gets called for any of the specified NPCs, and with the specified NPCs as participants (in addition to the player that initiated the request; the player will be the last speaker).
Notes
- This is the default way to assign a dialog to a character.
- If any of the specified NPCs is not available (e.g. dead), the dialog will not start (even if some of them are available).
- Defining such a database will call SetHasDialog to enable dialog requests for all involved NPCs.
- Removing DB_Dialogs() entries again must be done via ProcRemoveAllDialogEntriesForSpeaker. Simply undefining the DB_Dialogs() entry is not sufficient.
- Any dialog can also be started directly from Osiris with Proc_StartDialog.
- See Dialog editor for information about creating dialogs.