How can you change the conversation dialogue for a character?
How can you change the conversation dialogue for a character?
During gameplay I have different areas. When an area changes I want my character to use a different conversation in the database.
e.g.
Character/Area-1
Character/Area-2.
My character Start Conversation is set to Character/Area-1
but when the player changes area I want the character's conversation to come from Character/Area-2.
Is this possible? I have gotten start conversation to work for the different area, but that isn't quite what I am after. I want the whole interaction track to change. And can it be done in code and in the timeline?
thanks.
e.g.
Character/Area-1
Character/Area-2.
My character Start Conversation is set to Character/Area-1
but when the player changes area I want the character's conversation to come from Character/Area-2.
Is this possible? I have gotten start conversation to work for the different area, but that isn't quite what I am after. I want the whole interaction track to change. And can it be done in code and in the timeline?
thanks.
Re: How can you change the conversation dialogue for a character?
Hi,
You could use two different timelines or Dialogue System Triggers. Or see: How To: Run a Conversation Only Once. The second part of that article explains how to play a different conversation the second time around.
You could use two different timelines or Dialogue System Triggers. Or see: How To: Run a Conversation Only Once. The second part of that article explains how to play a different conversation the second time around.
Re: How can you change the conversation dialogue for a character?
Thanks for your reply Tony,
I take it this part is what I need:
Note: You can use cross-conversation links to link these branches to separate conversations. To create a cross-conversation link, inspect a dialogue entry node. In the "Links To:" section select "(Another Conversation)".
As I want to be able to have conversations in completely separate sections. So just to confirm, each character can only have conversation file/section, and I have to conditionally manage all conversations within it.
thanks.
I take it this part is what I need:
Note: You can use cross-conversation links to link these branches to separate conversations. To create a cross-conversation link, inspect a dialogue entry node. In the "Links To:" section select "(Another Conversation)".
As I want to be able to have conversations in completely separate sections. So just to confirm, each character can only have conversation file/section, and I have to conditionally manage all conversations within it.
thanks.
Re: How can you change the conversation dialogue for a character?
Sorry, I don't understand what you mean by conversation file/section. The Dialogue System is quite flexible. You probably have the flexibility to do more than that. I just don't know exactly what you intend.
Re: How can you change the conversation dialogue for a character?
So what I mean is that say you create a character and attach the Dialogue Actor script and set the database and conversation.
What I can't find is how to change that conversation. i.e. make the character reference a new conversation set when a player interacts with it in say a different level.
What I take from how the linking works, I would always reference the same conversation, however I could put in conditions in that "master" conversation (that is set in the dialogue actor setting), that would then point to a different conversation.
In this way the character would have Character 1 Conversation Master (selected from the database in its setting), then it could reference other conversations e.g. if on level 1: Character 1 Conversation Level 1.
The main thing I want to avoid is the clutter that is happening when I have a lot of dialogue in the one conversation. I want to separate them into logical conversation blocks for easier management.
Is this the right way to approach it? Or is there say a SetConversation(character, conversation) type method somewhere that I am missing?
thanks.
What I can't find is how to change that conversation. i.e. make the character reference a new conversation set when a player interacts with it in say a different level.
What I take from how the linking works, I would always reference the same conversation, however I could put in conditions in that "master" conversation (that is set in the dialogue actor setting), that would then point to a different conversation.
In this way the character would have Character 1 Conversation Master (selected from the database in its setting), then it could reference other conversations e.g. if on level 1: Character 1 Conversation Level 1.
The main thing I want to avoid is the clutter that is happening when I have a lot of dialogue in the one conversation. I want to separate them into logical conversation blocks for easier management.
Is this the right way to approach it? Or is there say a SetConversation(character, conversation) type method somewhere that I am missing?
thanks.
Re: How can you change the conversation dialogue for a character?
You could use different Dialogue System Triggers to start different conversations, but I prefer to keep all my logic in one place (the dialogue database). So what you described is the best way to do it. Use Conditions to link to the right conversation.
Note that you can use forward slashes ( / ) in conversation titles to group conversation dropdowns into submenus.
Note that you can use forward slashes ( / ) in conversation titles to group conversation dropdowns into submenus.
Re: How can you change the conversation dialogue for a character?
Yes, I am linking and using the /, it is set out how I would like now, thanks. The only thing I had a question on was that my link goes to a specific dialogue in the conversation. It works ok for what I am doing now. However, I would prefer to link to the START element. Only with this element you cannot set the Actor to none, you have to choose Player (which causes a blank response option to appear) (can this be skipped somehow?), or can choose another npc as the actor and set the delay to 0, this feels a bit messy. Is there a cleaner way? I would like to do this so that I could have conditions on how that conversation should start.
Re: How can you change the conversation dialogue for a character?
To prevent the blank subtitle to appear in the <START> node, set the <START> node's Sequence to: Continue()
Re: How can you change the conversation dialogue for a character?
awesome. Thanks again Tony.