Difference between revisions of "Osiris/Shared/Proc StartDialog"
From Divinity Engine Wiki
m (Tinkerer moved page Osiris/Shared/PROC StartDialog to Osiris/Shared/Proc StartDialog: corrected name) |
m |
||
Line 12: | Line 12: | ||
* / | * / | ||
===== Notes ===== | ===== Notes ===== | ||
− | * This routine is both used for explicitly starting dialogs from Osiris, and to start dialogs in response to a | + | * This routine is both used for explicitly starting dialogs from Osiris, and to start dialogs in response to a [[Osiris/API/DialogStartRequested|DialogStartRequested]] event due to a player clicking on something. |
− | * If you want to set or clear certain flags before a particular dialog starts, you can use | + | * If you want to set or clear certain flags before a particular dialog starts, you can use [[Osiris/Shared/Proc_DialogFlagSetup|Proc_DialogFlagSetup]]. |
− | * By default, this routine will make all participants of the dialog face each other before the dialog starts. This can be prevented per NPC by defining the | + | * By default, this routine will make all participants of the dialog face each other before the dialog starts. This can be prevented per NPC by defining the [[Osiris/Shared/DB_DoNotFace|DB_DoNotFace]] database. This is particularly important if you have e.g. a knocked-down NPC with which you want players to be able to converse. The reason is that any Osiris command issues for a character will remove any incapicated statuses for that character, and this includes looking at someone else. So without setting this DB, the knocked-down status will be removed as soon as someone talks to that NPC. |
===== See Also ===== | ===== See Also ===== | ||
− | * [[Osiris/API/DialogStartRequested]] | + | * [[Osiris/API/DialogStartRequested|DialogStartRequested]] |
− | * Helper [[Osiris/Shared/Proc_DialogFlagSetup]] | + | * Helper [[Osiris/Shared/DB_DoNotFace|DB_DoNotFace]] |
− | * Helper [[Osiris/Shared/PROC_GLOBAL_DialogStartRequested]] | + | * Helper [[Osiris/Shared/Proc_DialogFlagSetup|Proc_DialogFlagSetup]] |
− | * Helper [[Osiris/Shared/PROC_GLOBAL_DialogStartRequested_AfterGenerics ]] | + | * Helper [[Osiris/Shared/PROC_GLOBAL_DialogStartRequested|PROC_GLOBAL_DialogStartRequested]] |
+ | * Helper [[Osiris/Shared/PROC_GLOBAL_DialogStartRequested_AfterGenerics|PROC_GLOBAL_DialogStartRequested_AfterGenerics]] | ||
[[Category:Osiris Shared Mod Helpers]] | [[Category:Osiris Shared Mod Helpers]] |
Revision as of 22:05, 25 August 2017
Full Definition(s)
- PROC Proc_StartDialog((INTEGER)_Automated,(STRING)_Dialog,(GUIDSTRING)_Speaker1)
- PROC Proc_StartDialog((INTEGER)_Automated,(STRING)_Dialog,(GUIDSTRING)_Speaker1,(GUIDSTRING)_Speaker2)
- PROC Proc_StartDialog((INTEGER)_Automated,(STRING)_Dialog,(GUIDSTRING)_Speaker1,(GUIDSTRING)_Speaker2,(GUIDSTRING)_Speaker2)
- PROC Proc_StartDialog((INTEGER)_Automated,(STRING)_Dialog,(GUIDSTRING)_Speaker1,(GUIDSTRING)_Speaker2,(GUIDSTRING)_Speaker2,(GUIDSTRING)_Speaker3)
- PROC Proc_StartDialog((INTEGER)_Automated,(STRING)_Dialog,(GUIDSTRING)_Speaker1,(GUIDSTRING)_Speaker2,(GUIDSTRING)_Speaker2,(GUIDSTRING)_Speaker3,(GUIDSTRING)_Speaker4)
- PROC Proc_StartDialog((INTEGER)_Automated,(STRING)_Dialog,(GUIDSTRING)_Speaker1,(GUIDSTRING)_Speaker2,(GUIDSTRING)_Speaker2,(GUIDSTRING)_Speaker3,(GUIDSTRING)_Speaker4,(GUIDSTRING)_Speaker5)
- PROC Proc_StartDialog((INTEGER)_Automated,(STRING)_Dialog,(GUIDSTRING)_Speaker1,(GUIDSTRING)_Speaker2,(GUIDSTRING)_Speaker2,(GUIDSTRING)_Speaker3,(GUIDSTRING)_Speaker4,(GUIDSTRING)_Speaker5,(GUIDSTRING)_Speaker6)
Description
This is the only routine that should be used to start dialogs. _Automated should be 1 if _Dialog is an automated dialog of any kind (automated dialog, automated ghost dialog, or a repeated variant of these). You have to specify as many speaker parameters as there are speakers in _Dialog. You can, however, specify NULL_00000000-0000-0000-0000-000000000000 in case you have optional speakers for your dialog (through the use of optional nodes or flag checks).
Return Values
- /
Notes
- This routine is both used for explicitly starting dialogs from Osiris, and to start dialogs in response to a DialogStartRequested event due to a player clicking on something.
- If you want to set or clear certain flags before a particular dialog starts, you can use Proc_DialogFlagSetup.
- By default, this routine will make all participants of the dialog face each other before the dialog starts. This can be prevented per NPC by defining the DB_DoNotFace database. This is particularly important if you have e.g. a knocked-down NPC with which you want players to be able to converse. The reason is that any Osiris command issues for a character will remove any incapicated statuses for that character, and this includes looking at someone else. So without setting this DB, the knocked-down status will be removed as soon as someone talks to that NPC.