Jump to content

Home

Properties of a Dialog File


Recommended Posts

What would an RPG game be without dialogs? Aside from the richness they provide, dialogs are the easiest way to introduce scripts into your mod since every branch contains script fields.

 

This thread provides some explanation as to the fields within the .dlg file in case you are looking at one with a GFF editor. For more information on the DLG file specification see: Bioware's documentation. Other tools including KotOR Tool and DLGEditor provide more convenience in constructing dialogs and each have their own readme guides.

 

Much of this was stolen directly from the documentation I published with the original DLGEdit utility.

 

 

---------------------------------

General Dialog Properties

---------------------------------

 

- AmbientTrack: a Resref to a music file

- CameraModel: (?)a Resref

- ConversationType: 0=Normal, 1=Computer

- ComputerType: 0=Normal Computer 1=Old-style computer (only used if

ConversationType is equal to 1.

- DelayEntry: an integer describing how many seconds of delay before

an NPC will respond to the PC

- DelayReply: an integer describing how many seconds of delay before

the PC will be allowed to give a response

- EndConverAbort: a Resref to a script that will fire if the

conversation is aborted prematurely. I'm not sure how that occurs in

SW:KotOR.

- EndConversation: a Resref to a script that will fire when the

conversation ends normally

- Skippable: A boolean value that means the conversation can be skipped

through.

- UnequipHItem: (?)a boolean

- UnequipItems: (?)a boolean

- VO_ID: Voice-Over Identifier, a Resref (for more info on this one

see the "Adding Lipsync and Voice to a Custom Dialog" tutorial)

 

You can change any of these properties by selecting it from the menu.

 

----------------

Starting List

----------------

The starting list is the root of the conversation. The game evaluates

each item in order to see where to start the conversation. If an item

has a script associated with it, that script will be run and should

return TRUE or FALSE. If it returns FALSE, the next item will be

evaluated. If the script returns TRUE or if the item does not have a

script associated with it, the conversation will begin at the Entry

pointed to by the item. If no starting point is determined, the

conversation does not take place.

 

Fields:

- Active: the conditional script reference

- Index: a pointer to the EntryList

 

-----------------------------

Editing a Dialog: Entry List

-----------------------------

The Entry List contains all NPC responses. The items in this list are

called Entries. Each structure in this list has a Structure Type equal to its position in the list. So Entry 0 is a Structure Type 0, Entry 1 is Type 1, etc.

 

Each Entry has the following properties available for user editing:

 

................

Entry Properties

................

 

- Text: This is the text spoken by the NPC. It may be reference to the dialog.tlk file or may be contained within the .dlg itself. If StringRef is > -1 then the text is in the dialog.tlk file at the StringRef index. If StringRef = -1, then the dialog is contained locally in the .dlg file itself. To specify no text, set the StringRef to -1 and the Text blank. The RepliesList will still be evaluated, thus the PC can have more than one screen of Reply.

- Speaker: Tag of NPC to do the speaking. If blank, it is the NPC that

started the dialog.

- VO_ResRef: name of a voice-over sound file to play during this Entry.

- Script: the Resref of a script to fire when this Entry is spoken.

- Comment: this field is just to hold developer comments

- Sound: name of a sound file to play during this Entry. Sounds are

used instead of VO_ResRef for aliens and droids that just make noise.

- CameraAngle: an integer that specifies the camera angle to use when

this Entry is spoken. (I don't have documentation on what the different

numbers mean yet.)

- AnimList: This is a list of animations that you can impose on the

PCs or NPCs. The list structure contains two elements: Participant and

Animation. The Participant is a tag reference to the character who will

be performing the animation. There are two special values that can be

placed in this field: OWNER and PLAYER. OWNER represents the NPC who

initiated the dialog. PLAYER is, well, the player. The field,

Animation, is actually a numeric word whose values are defined in the nwscript.nss file.

 

- RepliesList: This a list of possible replies that PC can respond with.

Each item in this list has a pointer to the ReplyList and a script

reference to evaluate whether or not the reply will be available to the

PC for speaking. In this way, it is much like the Starting List and the fields are pretty much the same. If there are no available responses for the PC, the dialog will end.

 

Each RepliesList item has the following properties available for user

editing:

 

- Index: Integer. This is the pointer into the Reply List

- Script: This is the name of the script to be evaluated when after the

Entry is spoken and if it returns TRUE, then this RepliesList item will

be available to the PC as a choice of responses. If omitted, it

defaults to TRUE.

- IsChild: Makes the RepliesList item be designated as a Link. (not enforced by KotOR).

- LinkComment: Only available if IsChild field is 1. This is a comment

field for the designer only.

 

 

-----------------------------

Editing a Dialog: Reply List

-----------------------------

The Reply List contains all PC responses.

 

The items in this list are called Replies. Each Reply has the following properties available for user editing:

 

................

Reply Properties

................

- Text: This is the text spoken by the PC. It may be reference to the dialog.tlk file or may be contained within the .dlg itself. If StringRef is > -1 then the text is in the dialog.tlk file at the StringRef index. If StringRef = -1, then the dialog is contained locally in the .dlg file itself. To specify no text, set the StringRef to -1 and the Text blank. The EntriesList will still be evaluated, thus the NPC can have more than one screen of Entry.

- VO_ResRef: (?)Your PC does not have a voice, so I'm not sure if this field is ever used.

- Script: the Resref of a script to fire when this Reply is spoken.

- Comment: this field is just to hold developer comments

- Sound: (?)name of a sound file to play during this Reply.

- CameraAngle: an integer that specifies the camera angle to use when

this Entry is spoken.

- EntriesList: This a list of possible replies that the NPC can respond

with. Each item in this list has a pointer to the EntryList and a script

reference to evaluate whether or not the Entry will be spoken by the

NPC. If there are no available responses for the NPC, the dialog will

end.

 

Each EntriesList item has the following properties available for user

editing:

 

- Index: Integer. This is the pointer into the Entry List

- Script: This is the name of the script to be evaluated when after the

Reply is spoken and if it returns TRUE, then this EntriesList item will

be chosen by the NPC to speak. If omitted, it defaults to TRUE.

- IsChild: (?) Boolean. Makes the EntriesList item be designated as a Link. (Not enforced by KotOR)

- LinkComment: Only available if IsChild field is 1. This is a comment

field for the designer only.

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...