View Full Version : Triggers/Scripting NPC conversation

10-29-2005, 04:23 AM
I'm having some trouble with this at the moment and I couldn't find what I was looking for in the search function. When a PC clicks on a door it opens now how to I script so that the conversation between two NPCs would occur? Sorry for posting yet another question thread but I really like the idea I have and I want to see if there is anyway I can implement it.

Fred Tetra
10-29-2005, 12:31 PM
If I remember correctly, you can activate a script with the door's OnOpen event, so you should be able to write one that checks if the conversation has been had before (or check that in the dialogue), and if not, call ActionStartConversation.

Here's the info on the function:

void ActionStartConversation(object oObjectToConverse, string sDialogResRef = "", int bPrivateConversation = FALSE, int nConversationType = CONVERSATION_TYPE_CINEMATIC, int bIgnoreStartRange = FALSE, string sNameObjectToIgnore1 = "", string sNameObjectToIgnore2 = "", string sNameObjectToIgnore3 = "", string sNameObjectToIgnore4 = "", string sNameObjectToIgnore5 = "", string sNameObjectToIgnore6 = "", int bUseLeader = FALSE, int nBarkX = -1, int nBarkY = -1, int bDontClearAllActions = 0);

// 204: Starts a conversation with oObjectToConverseWith - this will cause their
// OnDialog event to fire.
// - oObjectToConverseWith
// - sDialogResRef: If this is blank, the creature's own dialogue file will be used
// - bPrivateConversation: If this is blank, the default is FALSE.
// - nConversationType - this should always be 0
// - bIgnoreStartRange - If this is blank the default will be FALSE, ie. Start conversation ranges are in effect
// Setting this to TRUE will cause creatures to start a conversation without requiring to close
// the distance between the two object in dialog.
// - sNameObjectToIgnore1-6 - Normally objects in the animation list of the dialog editor have to be available for animations on that node to work
// these 6 strings are to indicate 6 objects that donít need to be available for things to proceed. The string should be EXACTLY
// the same as the string that it represents in the dialog editor.
// - nBarkX and nBarkY - These override the left, top corner position for the bark string if the conversation starting is a bark string.
// They only happen on a conversation by conversation basis and don't stay in effect in subsequent conversations.

10-29-2005, 02:50 PM