hi, i'm using AC 1.56a and unity 5.5.1f1 and i try to create an open world where npc interact with each other. I now this is not the type of game normally created with AC but actually i have achieved all my goal with it but for what i want to do, i don't find ideal solution.
The problem is when Npc interact with each other they have dialogue (only subtitles i don't have voice) but the player see any subtitles even when he is at the other side of the map than the npc.
I try to find a solution where the player will be able to see the dialogue around him but not more.
I forgot to precise that my game use an utility Ai system that i have created so NPCs react depending of urgent need including the social need that trigger dialogue so i don't know when NPCs will talk with each other.
I continue to search the best method but maybe anyone have some idea to create this.
I hope you understand what i try to do, Thanks for the help.
Comments
That's a bit of a tough one! It's possible, though it will take a bit of custom coding.
Subtitle Menus can be limited to only show lines spoken by certain characters - but you can change this dynamically through scripting.
First, create a separate Subtitles Menu just for these NPCs and set the For speakers of type field to Specific Characters Only. A field named Characters to limit to will then appear, which is used to list all the characters its for (e.g. Bart,Lisa,Homer).
What you can then do is change that field dynamically in-game by scripting. You can get the API reference to this field by right-clicking the field's label, which should look something like:
AC.PlayerMenus.GetMenuWithName ("Subtitles").limitToCharacters
A script could then change that field based on what NPCs are close enough to the Player, vs. those that are too far away.