Jump to content

Home

Civilian Dialog


EnderWiggin

Recommended Posts

Sorry if this has been answered, but how do you create civilian dialog (where they say random things in a bubble over their heads, and you cannot answer them)?

 

If this has been answered, i will delete it once i have an answer. :firemad: The search function would have made this a heck of a lot easier!!!

 

The answer is not in T7's "Do you Want to mod SW-KotOR? Then Start here.Mod Tutorials!" Sticky.....

 

 

_EW_

 

Should I PM Tk102?

 

Edit: I have looked in Redhawke's Ord Mantell mod, but the dlgfiles look like there in the .mod file. I have also looked at a Tarisian Citizen's DLG, but that confused me even more.

Link to comment
Share on other sites

Well... in ORD Mandell I made a one entry Dialogue for each type of NPC with no reply (This makes them appear as word bubbles), and then copy over the appropriate .lip file for the sound used to override, you have to pack the .dlg files into the .mod file. :D

 

Using scripts you can have NPC's say random lines from a dialogue that consists of multiple entries and no replies.

 

Look at the wandering Jedi's dialogue files on Dantooine as a refrence on how Bioware did it.

 

You should be able to open up view and extract files from the ORD Mandell .mod files with KOTOR Tool, look around for them... If I recall they are in the ERF's section.

 

I hope this helps! :D

Link to comment
Share on other sites

Stupid me, i should have posted this in the beginning... I made 3 Entry Structs-

 

For testing purposes-

 

0=Go away.

1= No time.

2= Leave.

 

But when i put all of them in Starting List,

and test it IN DLGEDIT, It only comes up as the first reply. Is that just because I didnt test ingame? I will now....

 

_EW_

Link to comment
Share on other sites

You'll need to use conditional scripts in the dialog branches.

 

Here is an example

 

In the Dialog

 

StartingList: 0

- Index: 0

- Active: check1

StartingList: 1

- Index: 1

- Active: check2

StartingList: 2

- Index: 2

- Active: (leave blank, making this the default)

 

EntryList: 0

- Text: Hey!

EntryList: 1

- Text: What?

EntryList: 2

- Text: Go away.

 

Here is the check1.nss script:

int StartingConditional () {
 // check1.nss  -- check for response

 int nTotal=3;                          //total number of possible responses
 int nThisResponse=1;                   //which response does this script check for?

 int nResponse=Random(nTotal);               //randomize responses (only done in first script)

 if (nResponse == (nThisResponse-1)) {  //is this response picked?
   return TRUE;                         //speak it
 }
 SetLocalNumber(OBJECT_SELF,1,nResponse);  //otherwise, remember which response was picked
 return FALSE;                             //and look for other responses
}

Here is the check2.nss script:

int StartingConditional () {
 // check2.nss  -- check for 2nd response

 int nThisResponse=2;    //which response does this script check for?

 if (GetLocalNumber(OBJECT_SELF,1)==(nThisResponse-1)) {
   return TRUE;
 }
 return FALSE;
}

Link to comment
Share on other sites

Archived

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

×
×
  • Create New...