This is a system that I've had in various stages of development for quite some time. More recently I redid it to make it more compact and fix it up for release.
This system is a replication of the dialogue system found in Morrowind. The purpose is to provide richer interaction with NPC's like what was possible in Morrowind.
I'm on a time limit so I can't provide as much detail as I'd like.
Dialogue Creation:
Content is divided into topic lists and topic. Topic lists represent the topics that NPCs are able to talk to you about. Topic list files are merely a list of topics, one topic ID per line. The topic files are INI files that define a range of responses to the topics and the conditions necessary to invoke each one.
Responses can make other topics available, execute simple scripts, and provide a series of choices to better direct the user's options.
Currently, the system reads topic and topic list files from the same directory. Topic list files are named tlist.ID.txt where ID is the string used to identify the topic list. Topic files are named similarly: topic.ID.ini.
Example files and a list of variables are included in the "example datafiles" folder in the zip.
Installation:
The person installing the scripts should check that the variables representing weapon names and folder paths are accurate for their environment. And also check that join() is being called with the correct class name. The required classes are also included in the zip.
Updating:
The loaddialogue() function is called in the system to scan the folder for dialogue files, this function needs to be called whenever changes are made on disk. I recommend creating an RC command to call this function.
Edit: Attached a screenshot of the default GUI.
__________________
Last edited by Inverness; 02-12-2010 at 04:37 AM..