ZZ-Dialog is a dynamic conversation library which allows powerful conversations to have responses and prompts in conversations to be generated as little or as much as desired at run-time. Features normally reserved for important characters, like 2nd time recongnition, now can easily be added for all characters with very little scripting.
SKILLS REQUIRED: _Basic_ NWScript knowledge.
NOTE: Due to lack of hosting capability, I can't test the mutliplayer or MMOPRG aspect of NWN with ZZ-Dialog! I have made every effort to allow mutliple players the ability to talk to the same object at the same time (sans items) while have unique dynamic conversations.
---
To install ZZ-Dialog:
---
- Unzip the archive into a temporary folder.
- Move ZZDialog.erf into the erf folder that is in your NWN folder.
- Move ZZ-Dialog Example.mod into the mod folder that is in your NWW folder.
---
To setup ZZ-Dialog into a module:
---
NOTE: Always backup your module manually before importing ANYTHING!
- Open up the module in Aurora.
- Go to the file menu, and select "import".
- Find and open ZZDialog.erf.
- Ignore the missing file warning by clicking yes.
- Follow on-screen instructions to complete import.
- You are done, see script files starting with dlg, such as dlg_Twins or dlg_poet for examples.
- IMPORTANT NOTE for 1.66 or earlier users! One feature requires 1.67, but can be disabled by commenting out the lines with SetName and SetPortrait in the script file "zzdlg_main_inc". This feature is for multi-way conversations!
---
To setup objects to use ZZ-Dialog
---
- First, open in-game the module titled "ZZ-Dialog Example".
- In here are example objects that are configured to use ZZ-Dialog.
- Examine the signs near each example to see information on how to import.
- Post on NWN Scripting Forum on Bioware's site if you have further problems. Make sure to reference ZZ-Dialog and its version number in the topic title for clarity.
---
What can ZZ-Dialog do for me?
---
First off, it is an enhancement of Z-Dialog released by pspeed. So all the features it has are supported. However, ZZ-Dialog is not compatible with Z-Dialog. Z-Dialog and ZZ-Dialog _can_ run side-by-side. Specifically the features of ZZ-Dialog are:
- Can handle large sets of responses with ease by adding the automatically generated responses "Next Page" and "Previous Page". The maximum shown responses per page can be changed at any time at run-time.
- Automatically generated responses for Next page, Previous page, Reset (user- defined behavior) and End Conversation. These responses can have their labels changed, along with their color and their enabled state.
- Gives three methods of adding responses: action, spoken and basic. The coloring, or lack of coloring, varies based on the type.
- Easy to configure using the script named, "zzdlg_config". You can change the default colors and labels for automatically generated responses. As well as the default maximum responses to be viewed at a time (between 5 and 15).
- Easy to understand object handling. You don't need to know who or what is talking to whom. The player is referred to as "player" and "speaker" while the object being talked to is referred to as "speakee".
- Multiple-way conversations by dynamic coding. This feature requires the beta patch for 1.67 or greater to use. This feature uses a ghost copy of the original speakee, and will move from NPC to NPC whenever the speakee is changed.
- Includes an easy to use token system which includes all tokens that are built in Aurora. This file is "zzdlg_tokens_inc" and can be included in as many dialog scripts as needed.
- Implement 7 functions for event-based scripting. Main() only needs to call dlgOnMessage(). See example dlg_* scripts for usage.
- Includes a simple color library that uses the html standard color values. The script is "zzdlg_color_inc", and is already included in the main package.
- Have functions which easily know who is whom when manipulated local data. dlgSetPlayerDataInt() and dlgSetSpeakeeDataInt() are two names of these helper functions.
- This library is _extremely_ easy to use. You can create _all_ your conversation using this. In fact, if you use alot of conditionals in your normal conversations then you will actually have an easier time maintaining ZZ-Dialog script files.
---
Future releases ideas for ZZ-Dialog
---
- Skill checks with uniform appearance and easy to configure DC calculations.
- Add lists as helpers, like how I made GetLocalInt and such easier.
- Add simple to use sounds and animations functions for speaker/speakee.
Attachment | Size |
---|---|
zzdialog.zip (207) | 89.15 KB |
zzdialog_166noxp.zip (294) | 90.39 KB |
love this system, cuts down on so many scripts in conversation checks, and keeps it all managable and in one scipt.