tk102 Posted January 24, 2005 Share Posted January 24, 2005 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 More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.