Bad Streff, TLK, and SoundSets


Greetings one and all,

I have a bit of conundrum, and I’m beating my head against the table in frustration because I can’t find the root of my problem. The issue is quite simply this:

I’ve added a custom voiceset to a hak. In doing so, I updated the soundset 2da, referenced the resref in both the tlk and the 2da. In game, the voiceset works perfectly, but the visible words that appear on screen are “Bad Streff.” Thinking that I understood why, I went into my custom tlk and added a line for each sound set, and referenced the sound resref on the line along with the written words of the voice( I did this for each instance, about 49 I think).

But even after this, I’m still getting Bad Streff in the written words that are spoken. I’m clearly overlooking the obvious, or there’s another element to this that I am missing. I do have other custom voicesets and they work fine, so I’m not sure what I’m doing wrong.

Any advice from the greybeards here to help an old fool with his silly custom tlk and soundsets? Thank you, ladies and gentlemen.



Really silly and obvious question just to get it out of the way but your test module does reference your custom tlk file doesn’t it?




That’s not a silly question, but yes, I do reference the custom tlk. So during character creation, the voiceset listing does appear (in this case, Male Highland Warrior) that I have edited in the tlk, which is what has me mystified. So the module is finding it, and playing the appropriate voice chats, it’s just words…

The soundset in question is from Northern English Warrior, and there was no tlk file to accompany it, but there was an “ssf” extension file, but I didn’t think that would play a role in this, or does it?



SSF files are how you associate the various voices with the text strings. It is not a plain text file, so you must use an SSF editor.

The only tool I could find is the Quick and Dirty SSF Editor. It’s buggy but I can’t find anything else for NWN 1.

In this case, you can edit the existing ssf file to ensure all of you tlk entries line up.



Interesting. I downloaded that program and then tried to open the .ssf file using the SSF Editor utility, but I only get the following:

Not sure what to make of that.



I have recently added nwn_ssf as a cli utility to the “official” tool suite: It can be used to convert a SSF to/from CSV, making editing trivial.

There are no release binaries yet so if you want to run it, you have to wait for me to get to it or compile it yourself.

Edit: Here’s a ghetto binary. No warranty, etc. Usage: nwn_ssf -i your.ssf -o your.csv (and then swap when done editing) (276.4 KB)



Thanks, Niv, but everything you said went straight over my head (except for I, have, and recently added).

I thought maybe I was overthinking this. But why would the speakstrings be inside an ssf file and not in a tlk? Why make it more complicated? It seems that if I add the sound resrefs in the custom tlk, and then add the appropriate speakstring on its corresponding line, and have the soundset 2da configured properly along with the soundset resrefs in the hak, then it should work. But I am not very tech savvy, so much of this eludes me.



I’ve wondered the same thing. Why not use a .2da instead of a compiled ssf?