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

From Divinity Engine Wiki
Jump to: navigation, search
(Osiris Helper Mod APIs)
 
m
 
(6 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]]
+
* [[Osiris/API/DialogStartRequested|DialogStartRequested]]
* [[Osiris/API/SetHasDialog]]
+
* [[Osiris/API/SetHasDialog|SetHasDialog]]
* Helper [[Osiris/Shared/PROC_GLOBAL_DialogStartRequested]]
+
* Helper [[Osiris/Shared/DB_AD_Dialog|DB_AD_Dialog]]
* Helper [[Osiris/Shared/PROC_GLOBAL_DialogStartRequested_AfterGenerics]]
+
* Helper [[Osiris/Shared/DB_DoNotFace|DB_DoNotFace]]
 +
* Helper [[Osiris/Shared/PROC_GLOBAL_DialogStartRequested|PROC_GLOBAL_DialogStartRequested]]
 +
* 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 15: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