Dialogue System for Unity 2.0 Released!

Announcements, support questions, and discussion for the Dialogue System.
User avatar
nathanj
Posts: 303
Joined: Sat May 28, 2016 12:30 am

Re: Dialogue System for Unity 2.0 Released!

Post by nathanj »

The challenge with this is if the quest names or the names of items are changed - say for example you have a quest called “Follow John to the station”, if you change John’s name in the database the name of the quest becomes obsolete. It’s one thing to change all references within the database but all of the Dialogue System Triggers that reference those original values will break.

I’ve started using variables recently for this exact thing and it works but it’s a bit of work setting up.

One potential solution would be if the quest names could be given IDs - guessing the the condition and setting tool just outputs a string value, though I could be wrong. Then the if the quest name was changed all components that had conditions or setters that referenced that specific quest could update accordingly.

Nathan
User avatar
Tony Li
Posts: 21721
Joined: Thu Jul 18, 2013 1:27 pm

Re: Dialogue System for Unity 2.0 Released!

Post by Tony Li »

Abelius wrote: Fri Jun 08, 2018 8:03 pmThat would be a possible use case, yup. Although I'm also particularly interested in something less automated and more granular.

In addition to a 'Find and replace all' behavior, it would also be nice if it could behave like MS Word's search & replace, in the sense that when you hit the 'search' button, it sends you to the first node in the current conversation (or the other ones in the DB if doesn't find it in the current one), mark the found text so you can choose to delete it by pressing 'Del' or 'Backspace' or, instead of that, press a 'Replace' button so the text gets overwritten with a previously written text.

This could be useful to make sure you don't mess up before committing to a serious change.
It'll take a little longer to implement, but I agree.
nathanj wrote: Sat Jun 09, 2018 12:32 amThe challenge with this is if the quest names or the names of items are changed - say for example you have a quest called “Follow John to the station”, if you change John’s name in the database the name of the quest becomes obsolete. It’s one thing to change all references within the database but all of the Dialogue System Triggers that reference those original values will break.

I’ve started using variables recently for this exact thing and it works but it’s a bit of work setting up.

One potential solution would be if the quest names could be given IDs - guessing the the condition and setting tool just outputs a string value, though I could be wrong. Then the if the quest name was changed all components that had conditions or setters that referenced that specific quest could update accordingly.
Use the Name/Title field as the ID (and never change it), and use and change Display Name. For example, set the Name of the NPC actor to "John", the Name of the quest to "Follow NPC To Station", and the Title of the conversation to "Station Conversation". Use these Names/Title in your trigger dropdowns. Set the quest's Display Name to "Follow John to the Station".

If you rename John to Fred, you can change the actor's Display Name to "Fred" and rename the quest's Display Name to "Follow Fred to the Station". You can even change these Display Name values at runtime. Since you haven't changed Name values, the triggers will continue to work.
User avatar
nathanj
Posts: 303
Joined: Sat May 28, 2016 12:30 am

Re: Dialogue System for Unity 2.0 Released!

Post by nathanj »

Wow. So obvious and simple now.
Post Reply