There are two scenarios: random dialogues, when npc_john meets npc_kate, or location-based dialogues, when npc_john and npc_kate execute their w_h_chat or w_h_tablechat actions facing each other.First of all, edit dlgcategories.2da and add a line to it, containing:Label = john-and-kateOwnerTag = npc_johnInterlocutorTag = npc_kateDialogMask = dlg_john_kate (or "dlg_john_kate01:5" for a random range from dlg_john_kate01 to dlg_john_kate05)Now, create the dialog file - the black lines will be spoken by the OwnerTag NPC, the blue lines (normally spoken by the player) - by the InterlocutorTag NPC.Now whenever an NPC with tag "npc_john" meets an NPC with tag "npc_kate", this dialogue is supposed to be executed. This is the "random meeting" scenario. However, I couldn't make it work - perhaps there's something damn obvious I missed.I got the location-based chat working. For this, you have to create two action points, facing each other, with the w_h_chat or w_h_tablechat action, and with "Dialog Category" containing the john-and-kate entry. Now whenever there are two NPCs at those locations (one will wait for the other to arrive), they will execute the dialogue.Here are the required elements again:- NPCs "npc_john" and "npc_kate" with w_h_chat action- two actionpoints with dialog category "john-and-kate"- a dlgcategories.2da entry: john-and-kate npc_john npc_kate dlg_john_kate- a dialogue file, dlg_john_kate.Done.Thanks go to TnZ who described this on the Polish forum.