Osiris/Shared/DB Dialogs: Difference between revisions

From Divinity Engine Wiki
Jump to navigation Jump to search
mNo edit summary
mNo edit summary
 
(5 intermediate revisions by the same user not shown)
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 a '''DialogRequestStarted''' event is fired, with the specified NPCs as participants (in addition to the player that initiated the request; the player will be the last speaker).
Defines that the [[Dialog_editor#Automated|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 an interactive 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.
* 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.
* Automated/interactive dialogs are explained on the [[Dialog_editor#Dialog_Categories|Dialog Editor]] page.
===== See Also =====
===== See Also =====
* [[Osiris/API/DialogStartRequested|DialogStartRequested]]
* [[Osiris/API/DialogStartRequested|DialogStartRequested]]
* [[Osiris/API/SetHasDialog|SetHasDialog]]
* [[Osiris/API/SetHasDialog|SetHasDialog]]
* Helper [[Osiris/Shared/DB_AD_Dialog|DB_AD_Dialog]]
* Helper [[Osiris/Shared/DB_DoNotFace|DB_DoNotFace]]
* Helper [[Osiris/Shared/PROC_GLOBAL_DialogStartRequested|PROC_GLOBAL_DialogStartRequested]]
* Helper [[Osiris/Shared/PROC_GLOBAL_DialogStartRequested|PROC_GLOBAL_DialogStartRequested]]
* Helper [[Osiris/Shared/PROC_GLOBAL_DialogStartRequested_AfterGenerics|PROC_GLOBAL_DialogStartRequested_AfterGenerics]]
* Helper [[Osiris/Shared/PROC_GLOBAL_DialogStartRequested_AfterGenerics|PROC_GLOBAL_DialogStartRequested_AfterGenerics]]
* Helper [[Osiris/Shared/Proc_StartDialog|Proc_StartDialog]]
* Helper [[Osiris/Shared/ProcRemoveAllDialogEntriesForSpeaker|ProcRemoveAllDialogEntriesForSpeaker]]
   
   
[[Category:Osiris Shared Mod Helpers]]
[[Category:Osiris Shared Mod Helpers|Dialogs]]

Latest revision as of 14:49, 19 December 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 an interactive 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.
  • Automated/interactive dialogs are explained on the Dialog Editor page.
See Also