View Full Version : no reponse dialuoge

08-13-2010, 03:41 PM
there are alot of npcs in kotor that when you walk up to talk to them you get that box above their head that has the lines they are saying in it and you can hear the voice but you are not really talking to them - i am adding a mandalorian on dantooine near the ruins and i want this to happen because i dont want the pc to get into a conversation with him at that point - so how would i go about doing this??

Viado Onasi
08-13-2010, 03:43 PM
floating dialog and a tigger type thing. I think not sure how to make those, but I've been wondering the same thing

08-13-2010, 04:29 PM
You create a dialog that consists of only one line using a dlgeditor application. You then save that dialog to your override. Then you put the dialog name in the dialog box on the utc file you created for your mandalorian.

So, when the player clicks on the mandalorian he says his one line bubble speech.

That's pretty general description. If you need more ask or check the tutorials an creating a dialog.

Darth Hayze
09-20-2013, 02:43 PM
Does it have to be one line? It wouldn't work say, for the banter dialog to have that just happen instead of stopping the game with a cutscene?

Fallen Guardian
09-20-2013, 10:01 PM
Does it have to be one line? It wouldn't work say, for the banter dialog to have that just happen instead of stopping the game with a cutscene?

Instead of having an individual dialogue file for each line, executing each one to be played in a sequential order, you could have one script fire off all the lines from their central location in the dialog.tlk.

For instance, say I wanted to have Bastila and Carth's conversation about the Vulkars capturing her. I'd look up the StrRef numbers for each of the lines (they're shown right above the text in tk102's dialogue editor) and paste them into a script like the one below:

void main()

object oCarth = GetObjectByTag("Carth");
object oBast = GetObjectByTag("Bastila");

AssignCommand(oCarth, ActionBarkString(38791));
AssignCommand(oCarth, ActionBarkString(38792));
AssignCommand(oCarth, ActionBarkString(38793));


This would make Carth "shout" his first line of the conversation, then make Carth "shout" Bastila's reply and then make Carth "shout" his reply again. Essentially the "shouting" would be the pop-up dialogue bubble - at least that's my understanding of it. I tried working with bark string in one of my projects and it didn't work, but I was using it in a rather tenuous situation to begin with so there could've been other problems causing it not to work.

Now I had Carth do all the "shouting" because this way, in theory, the barking of each line gets added to his action queue - which means line 38792 would have to wait for line 38791 to finish playing before being barked. If I had Bastila actually assigned to bark her line she'd do it at the same time Carth does his first line, which would be pretty weird.

Anyway, like I said, I haven't worked much with bark string before so this may or may not work - hopefully it does.

09-21-2013, 04:31 AM
If you really wanted to have a dialog like that with multiple people you could always inject a DelayCommand () function in front of the lines so they pop up in a timely order giving it the illusion that it's in sequencial order.