Jump to content



Recommended Posts

From this discussion re: sound clips:

as I said, they do work, most definitely (i mean, compliments and insults, maybe you've got something else?). However, it's not just writing 2 references into .cre. You have to adjust interact.2da accordingly.


Plus, there's a frame rate problem. BG1 has about 30 frames per second, while BG2 can run up to 90 frames per second. And responces to compliments/insults seems to fire after certain number of frames, based on length of the sound of compliment/insult. On high rates and long lines response to insult may fire before the end of the insult itself, overlapping. It's not crucial, but somewhat I don't like, so I had to make a component that lengthens these sounds according to framerate.

So, this seems to work in the BG2 engine, yes? The interact.2da page has the following:
The crossings are marked by the letters indicating whether the speech is possible or not. If it is possible the it could be i - insult, c- compliment, s- simply speech ?!, 0 - nothing.
Presumably, "insult" draws from the 44, 45 and 46 slots in soundoff.ids/sndslot.ids, and "compliment" from slots 47, 48 and 49.


So, as for the "simply speech" - does it draw from the "special" slots at 50, 51 and 52 perhaps? And does anyone have a guess if it's just random (a 1 in 3 chance per clip if there's 3) or weighted, and any other insights on how this works? Presumably, the compliments and insults trigger response_to_compliment (55-57) and response_to_insult clips (58-60). Dunno if the "special" clips (if that's what they are) trigger any responses.

Link to comment

Ok, well I'm revisiting this. From the IESDP:

First column and row is filled by names of NPCs original portraits.
Is that true? If so, I presume it means the portrait names without the "S" or "L" suffix etc. Also, it'd imply this would fail if someone has used different portrait names on the CRE? Sure it's not the scripting name/DV instead? That'd make more sense, but this is kind of hard to test quickly. And is anyone aware of any column/row limits to this table?
Link to comment
I bet they are deathvars.
I'm almost certain they are too, if for no other reason than the entries don't match the portraits anyway (MONTARON is the DV; his portraits are MONTARS/L).


Also, I think the only missing entry for the standard BG1 NPCs seems to be for Imoen, which is kinda weird, because she never shuts up half the time otherwise :devil:. She doesn't seem to have any banter lines either though :).

Link to comment

Another thing the IESDP entry doesn't seem to address. Is it the row or column that indicates who initiates the banter? For example, the Kivan row has a 'c' for Minsc, but the Minsc row has a 0 for Kivan. Does that mean Kivan has a chance to compliment Minsc but not vice versa? Also, is a RESPONSE still going to trigger even if the reverse entry is zero? In other words, is a RESPONSE_TO_COMPLIMENT line for Minsc going to fire when Kivan compliments him, even if Minsc would not compliment Kivan? Of course, if Minsc has no R_T_C sound clips that are valid (which he doesn't) I assume Kivan's compliment will fly without a response (which probably makes it looks like he's talking to the PC).

Link to comment

I implemented interact for my Jonathan NPC:

//HACK danger!  This assumes a biowar-supplied Interact.2da without any other NPC added on.
APPEND_COL ~interact.2da~ ~$ $ WxJon c c c c c 0 c c 0 0 0 i 0 0 c c i s i i i 0 0 i~
APPEND ~interact.2da~ ~WxJon	   c	 c	 c	  c		c	  0	  c	  c	   0	   0	  0	   i	   0	  0	 c   c	 i	 i	  i	  i	 i	   0	   i	  i	 0~

This worked properly. "S" actually calls the banter dialog.

Link to comment


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

  • Create New...