Conversation (U2)

From Oldunreal-Wiki
Jump to navigation Jump to search

A conversation in Unreal II is part of a dialog file inventoried under the name of its first node. This node is considered to be the starting point of a new discussion topic if it is not called by another node, as this means it will appear as the first and is thus the first line of this subject. Conversations are inventoried in the [Root] node. For example, the AidaPostM00.dlg dialog file in the Atlantis0 folder, has a number of conversations:


If you are using the Dialog Editor, conversations are automatically added by the software to the root node and should not be added manually. If you manage to do so, you will end up with duplicated lines which may confuse the game. If you try and select the Conversation= parameter in the Node Property window, the explanation line will simply warn you not to create this parameter as it is auto-generated. The editor will look for all nodes which are the beginning of a conversation (all nodes which are not called by other nodes) and add them as new Conversation= lines. They can thus define a number of topics to be mentioned by the character. If several conversations are enabled at the same time, one is chosen at random each time the player and the character speak together. In order to force the topic, make sure only one conversation is enabled at the same time.

In Deus Ex, important NPCs will usually have a main conversation with the player. Once this conversation has been played, speaking to them will make them say a random line, chosen in a list of a couple of small talk sentences. This can easily be achieved in Unreal II by having a main conversation enabled and small talk lines disabled. When the main discussion is over, enable the small talk lines and one will be chosen at random for next discussions.

To disable a conversation, simply add the Enabled=False parameter to its first node. The node will still be counted as the origin of a conversation if it is not called by another node, but will not be usable until it has been enabled by an external event. Node parameters EnableNode= and DisableNode=, when supplied with the name of a node, allow you to enable and disable conversations when a certain point is reached in a conversation. A conversation can also be enabled or disabled from an AI Script with the commands dialogenable (NodeName) and dialogdisable (NodeName).

Note also that a conversation is considered over when its has been played once by default. For the conversation to be repeatable, add the parameter SpokenMax= to all nodes which should be repeated in the conversation, and set its value to the maximum number of times it should be played. If this parameter is not supplied, it will default to 1 and only a single playthrough will be allowed. If set to 0, the conversation can be played infinitely. Any other number will be the exact number of times a node can be played.