You've overheard children playing and townspeople talking to one another when Geralt walks by. How do you make a conversation that Geralt doesn't participate in, that he just overhears?
Unbiff the 2DA file. Add dlgcategories.2da to your module.
Unbiff the Scripts00 file. Add chat_perc to your module.
Make a conversation. Half of the conversation will be labeled "player," but that's okay; we want it that way. If you don't want them to repeat the conversation endlessly, add a dialogue flag -- you already know how to do that.
Unfix the dlgcategories.2da and add a row.
In the new row, put whatever you like under "Label;" the convention is to put OwnerCharacterTag2InterlocutorCharacterTag, e. g. Eskel2Lambert.
Under "Owner Tag," put the Character Template tag of the character who will begin the conversation.
Under "Interlocutor Tag," put the Character Template tag of the other character in the conversation.
Under "Dialog Mask," put the file name of the conversation.
Fix the 2da and save it.
I'm assuming that you have two character templates.
In the template of the conversation's Owner, go to the Character Template tag. Put a semicolon after whatever personal tag you've given the character, a space, and then the conversation's label -- this is the same thing you put under "Label" in the dlgcategories.2da.
Under "User Scripts" on the character template, you'll see a box called "On User Defined." Type "chat_perc" in that box (and double check to make sure you've added it to your module).
You do NOT need to put the Label in the tag box of the interlocutor's template, nor do you need to add the chat_perc script to that template, only the owner's.
Now go to the NPC story files of your two characters. In the "actions list," choose "w_h_chat" or "w_h_tablechat" as one of the action names.
You should also have at least one other action; "w_h_wait" will keep the characters out of trouble.
In the probability box, choose how likely you want it to be that the characters will engage in this conversation when Geralt walks by. If you want it to happen more or less always, choose 95% for w_h_chat and 5% for your other activity. If you want the characters to do a variety of other things and possibly engage in conversation, then lower the probability of the w_h_chat action.
Next, go to the area file. Make two action points where the conversation takes place, and put "w_h_chat" or "w_h_tablechat" as one of the strings defined on its action list.
Go down to "Dialog Category" and click on the box at the right. You'll get a list of all of the conversations that are listed in the dlgcategories.2da file. Double click on your conversation's label (or use the arrow buttons) to add the conversation.
And that's it, your characters should talk to one another when Geralt walks up.
If you'd like to look at the files and see all of this in front of you, there's a very small sample module with a working overheard conversation in it that you can download from . Corylea 01:12, 24 March 2009 (UTC)