The thing to consider about nwscript is that it is all event driven.
Anything that happens in nwn happens because something initiated it.
For your scenario - a trigger will fire a script when the onEntered or onExit event is fired.
So to start - you would right click on the trigger and click edit on the appropriate event.
A blank or existing script will load.
object oPC = GetEnteringObject(); // GetExitingObject() if you are in an exit event
AssignCommand(oPC,ActionStartConversation("conversation_file"));
So - this is a conversation between 5 people - so this is slightly difficult to do entirely by scripting so what you need to do is open the area that the conversation will happen in.
Then open the conversation editor
Make sure that the appropriate lines of conversation are selected, and you should be able to use one of the dropdowns to select the tag of the speaker for that specific line.
I think the only effect this has in conversation is changing camera focus and portrait for the speaker.
So construct your conversation and do the assignment for who says what in the conversation editor.
The last bit - teleporting to a new area:
Once again - this needs to be fired when an event triggers it.
In this case - its onConversationEnd (I think - for some reason I don't see it documented on the lexicon)
If there is no onConversationEnd event in the conversation file itself, then you will need to make the last node in the conversation do the teleport and make the conversation un-cancellable (to prevent people pressing esc to get out of it)
object oPC = GetPCSpeaker();
object oWp = GetWayPointByTag("my_Destination_wp");
DelayCommand(0.25,AssignCommand(oPC,JumpToObject(oWp)));
You will notice that the event that triggers the script changes the way we capture our player object.
If it is a conversation - GetPCSpeaker()
If it is the module onChat event : GetLastPCSpeaker();
If it is a trigger - GetEntering/ExitingObject (can get players and npcs)
If it is a module Client Enter : GetEnteringObject
Area Enter : GetEntering
Area Exit : GetExiting (does not fire on player disconnects unless you have nwnx and the appropriate plugins)