Osiris is pretty good but there are a lot of work that would need to be done to make it more powerful.
There are a few thing that I am missing from the Osiris:
1) From all entries those will match the initial query: pick a random entry and forward it
2) From all entries those will match the initial query: pick the first entry and forward it
3) ELSE Statement !!!!!!!!!
For an example:
PROC DisplayRandomComment((CHARACTER)_Char)
AND RANDOM(DB_MyNPC_RandomComments(_Comment))
THEN
CharacterDisplayText(_Char, _Comment)
// ----------------------------------------------------
IF CharacterEnteredTrigger(_Char, TRIGGER_MyTrigger)
AND _Char.isPlayer()
AND FIRST(DB_MyNPC_QueuedComments(_Comment))
THEN
NOT DB_MyNPC_QueuedComments(_Comment)
CharacterDisplayText(CHARACTER_My_NPC, _Comment)
ELSE
DisplayRandomComment(CHARACTER_My_NPC)
Also it would be a nice feature to allow a use of databases in a dialogs
CONDITION DB_MyGlobalFlags("QuestCompleted")
CHECK c
// ----------------------------------------------------
ACTION DB_MyGlobalFlags("QuestCompleted")
ACTION DB_MyNPC_QueuedComments("Talk_About_This")
ACTION DB_MyNPC_RandomComments("Talk_About_This")
EDIT: I managed to do all that is described above by indexing the entries but with a current Osiris a simple things can become pretty complicated.
Last edited by BioSpirit; 22/08/14 12:56 PM.