Graal Forums  

Go Back   Graal Forums > Development Forums > NPC Scripting > Code Gallery
FAQ Members List Calendar Search Today's Posts Mark Forums Read

Reply
 
Thread Tools Search this Thread Display Modes
  #1  
Old 02-12-2010, 03:29 AM
Inverness Inverness is offline
Incubator
Inverness's Avatar
Join Date: Aug 2004
Location: Houston, Texas
Posts: 3,613
Inverness is a jewel in the roughInverness is a jewel in the rough
NPC Dialogue System

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.
Attached Thumbnails
Click image for larger version

Name:	dialogue01.jpg
Views:	910
Size:	169.4 KB
ID:	50399  
Attached Files
File Type: zip Dialogue System.zip (12.2 KB, 493 views)
__________________

Last edited by Inverness; 02-12-2010 at 04:37 AM..
Reply With Quote
  #2  
Old 02-12-2010, 06:35 AM
12171217 12171217 is offline
Banned
Join Date: Jan 2009
Posts: 453
12171217 has a spectacular aura about
I like dialogue systems a lot but I like flashy animations to go along with them too, I haven't tried it yet but from the screenshots it doesn't look like it takes the cake in that category.

Nonetheless it looks perfectly extensible and definitely a complete solution for any server. Nicely done :3
Reply With Quote
  #3  
Old 02-12-2010, 06:39 AM
Inverness Inverness is offline
Incubator
Inverness's Avatar
Join Date: Aug 2004
Location: Houston, Texas
Posts: 3,613
Inverness is a jewel in the roughInverness is a jewel in the rough
Quote:
Originally Posted by 12171217 View Post
I like dialogue systems a lot but I like flashy animations to go along with them too, I haven't tried it yet but from the screenshots it doesn't look like it takes the cake in that category.

Nonetheless it looks perfectly extensible and definitely a complete solution for any server. Nicely done :3
It was designed to separate the GUI from the system. So eye-searing flashy animations are not my responsibility .
__________________
Reply With Quote
  #4  
Old 02-12-2010, 08:42 AM
coreys coreys is offline
N-Pulse Assistant Manager
coreys's Avatar
Join Date: Mar 2005
Posts: 2,180
coreys has a spectacular aura about
Send a message via AIM to coreys Send a message via MSN to coreys Send a message via Yahoo to coreys
Excellent work as always, Inverness, and a good choice of inspiration
Reply With Quote
  #5  
Old 02-12-2010, 09:29 PM
Inverness Inverness is offline
Incubator
Inverness's Avatar
Join Date: Aug 2004
Location: Houston, Texas
Posts: 3,613
Inverness is a jewel in the roughInverness is a jewel in the rough
Quote:
Originally Posted by coreys View Post
Excellent work as always, Inverness, and a good choice of inspiration
Thanks.

And if anyone actually does decide to use it, don't hesitate to IM me to question me about the details and stuff. I don't feel like I documented it very well.
__________________
Reply With Quote
  #6  
Old 02-27-2010, 01:51 AM
DarkReaper0 DarkReaper0 is offline
No.
DarkReaper0's Avatar
Join Date: May 2005
Location: Texas,USA
Posts: 344
DarkReaper0 will become famous soon enough
Send a message via MSN to DarkReaper0
This looks really cool, say2 seems to be losing it's luster lately...
Reply With Quote
  #7  
Old 02-28-2010, 01:31 AM
Clockwork Clockwork is offline
ᶘ ᵒᴥᵒᶅ...ᶘ ಠᴥಠᶅ❤...ℳℴℯ
Clockwork's Avatar
Join Date: Feb 2007
Location: Pennsylvania
Posts: 2,071
Clockwork has a brilliant futureClockwork has a brilliant futureClockwork has a brilliant futureClockwork has a brilliant futureClockwork has a brilliant futureClockwork has a brilliant futureClockwork has a brilliant futureClockwork has a brilliant future
We had something almost exactly like this in symphonia XD

nice work.
__________________
Reply With Quote
  #8  
Old 02-28-2010, 01:36 AM
Chompy Chompy is offline
¯\(º_o)/¯
Chompy's Avatar
Join Date: Sep 2006
Location: Norway
Posts: 2,815
Chompy is just really niceChompy is just really niceChompy is just really nice
Send a message via MSN to Chompy
Quote:
Originally Posted by Clockwork View Post
We had something almost exactly like this in symphonia XD

nice work.
Not really (:
The mechanics are very different, if compared ;D
__________________
Reply With Quote
Reply

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +2. The time now is 12:15 AM.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2025, vBulletin Solutions Inc.
Copyright (C) 1998-2019 Toonslab All Rights Reserved.