Good to know, interestingly I downloaded the game from the itch a half hour ago or so and ran it from a fresh save and loaded from an old version. Both times dialogue functioned fine, couldn’t get a single error to trigger no matter how many times I spammed conversations. Based on the number of downloads I have to assume this is some sort of weird isolated error, or the people playing are just very quiet. That obviously isn’t a reason to ignore it however, since its a pretty massive issue.
I suppose its possible that the dialogue entries are getting corrupted. I’ll double check the code, but I can’t think of a single thing that alters regular dialogue. Once a player name and gender are picked the game basically sets the entries and then doesn’t touch them again. Things like quest dialogue are stored in their own array, and I don’t think they ever interact with the regular dialogue system. Which means there shouldn’t be any chance of accepting or completing quests effecting dialogue.
As for meddling, nah, don’t worry about it. I’m happy that you’re willing to have a conversation and offer suggestions. I don’t think I’ve said it yet, but I’m sorry it broke on you, I can imagine how frustrating it is. With any luck I can patch the issue without you losing your save.
As far as the dialogue system itself and how it’s coded there may be a better way, but I’d have to think on it. It would also likely require ripping out massive chunks of the engine, so I’d like to avoid it if possible. I’ll see if I can give you a brief overview since you seem interested.
Basically, every conversation in the game is stored in a key/value system. The value is the text that the player sees and the key is a compiled set of values that comprise a string. Every time you talk to an NPC it takes a few variables into account, what season it is, where the NPC is in the world, what the weather is, etc.
Using these values the game checks all the dialogue keys related to that NPC and pulls keys from the list based on the state of the previously mentioned variables. For instance it only pulls keys with the word “Rain” in it when it is raining. Once it has a list of keys it picks one at random and grabs the associated dialogue.
Usually when you get that error message it’s because one of the keys had a typo or something that then gets referenced and it returns a 0 instead of the dialogue. The fact that you are getting that message literally every time you talk to anyone would mean that every key in the game has been tampered with or maybe the key data is just gone entirely, but I can’t think of anything that would do that. Like I said before its pretty much set it and forget it.
Still going to keep looking though. Like I said before there was a bug that got introduced in 0.12 that I noticed yesterday. It relates to the key system and due to the nature of it I could see it somehow tearing up the dialogue system. I plan to upload 0.13 today instead of tomorrow anyway since the game is featured and I’d rather not wait to push bug fixes. The patch will address some other things as well but I’ll be curious to see if it fixes your issue. Assuming I remember I’ll post in this thread once it’s been uploaded.