I would need to know the context of this "certain area" to be able to help more. Primarily, you'd set up a Trigger in the area's .git file or hijack one that already exists if it's in the right spot.
A Trigger is a .utt file that has several events that fire scripts, one of which is an On-enter event that activates whenever something enters the area. In this case, you'd do something like this (all < > marks are ignored; you want to pay attention to what's between them):
// Get the object that triggered the event
object oTarget = GetEnteringObject();
object oTalker = GetObjectByTag("<tag of the object/person initiating the conversation>");
if(oTarget == GetFirstPC()) // If the triggering object is the current player-controlled character
// Have oTalker start a conversation with the PC. The code looks long because we need the last three pieces to make the
// game ignore the distance between oTalker and oTarget. Otherwise, the player would move to oTalker first...
AssignCommand(oTalker, ActionStartConversation(oTarget, "<name of .dlg file, minus the extension>", FALSE, CONVERSATION_TYPE_CINEMATIC, FALSE));
(By the way, if you ever want to ask about one of the quotes, feel free to send me a PM)
My personal, made-up quote: "To know is good, but to act is better."
"Words are just words, thoughts thoughts, but actions...actions are progress." - Fair Strides
"Intelligence and respect are all it takes to get along fine. Not a bad trade off, huh?" - EwigD from GameFaqs
"And regarding butchering the language, I have been to the internet. The language is well butchered regularly." - Malkior
"You can either live with the lies or die with the truth. Who would rather lie to live than die for telling the truth?" - Fair Strides