Neverwinter Nights: Enhanced Edition

Neverwinter Nights: Enhanced Edition

Adventures await!
Gather your mods before venturing forth. Discover planes filled with player-created adventures in Steam Workshop, then build your own Neverwinter Nights modules using the Aurora Toolset to share!
Learn More
Yermog 17 Mar, 2019 @ 2:48pm
Question about Creating Module Series with Carry-over Choices
Hey guys! As the title suggests, I'm trying to make a series of modules (Game I, Game II, Game III, you get the idea), and I want the choices made in each one to carry over with the character into the next module. Like SoU to HouT, or the Enigma Island Series (shout-out to Proleric for a great game, btw). I'd also like for the class you play to have a minor impact for role-playing purposes in conversation with some characters.

But I must not be asking the right question, because when I try to find a guide on what I need to do in order to have that happen, nothing comes up. Does anyone know of a step-by-step video or written guide that I can look at when making my modules to implement this? My goal is to create a series that a person who loves role-playing and storytelling will really enjoy.

Apologies in advance if there's already a topic on this somewhere, or if it's actually super-simple thing to do and I just missed it. I appreciate the help!!
< >
Showing 1-6 of 6 comments
Proleric 5 17 Mar, 2019 @ 3:36pm 
Thank you for those kind words...

Probably the simplest way to pass choices from one module to the next is to place an undroppable item in inventory, listing events in the item description as they occur (SetDescription).

The EI series does something similar, but with two unnecessary complications which I don't recommend - the item is only created in the closing dialogue, and the info is encoded as a binary bitmap in the item name.

Some modules create one such item for each choice, but that justs clutters the inventory IMO.

There are more sophisticated methods, using a data base, but that's probably more useful when making a PW or carrying detailed companion inventories across.

As for class influencing roleplay, that will generally involve GetLevelByClass or similar in either conditional conversation scripts or custom tokens. Conversations are covered here:
https://neverwintervault.org/article/reference/guide-building-volume-i-–-aurora-toolset-manual
Custom tokens here:
https://nwnlexicon.com/index.php/Custom_Tokens
wendigo211 3 17 Mar, 2019 @ 3:41pm 
Easiest way is probably to use a campaign database. Use campaign integers or strings to store the results of player choices and retrieve them, one module to the next. It's probably for the best to use the PC's name or something unique to them to name the database or the variables, that way different characters can playthrough the campaign without changing the results of previous playthroughs. There are a few other ways as well, but that would be my choice.
Proleric 5 18 Mar, 2019 @ 12:50am 
If I remember correctly, there's a third way, which might be even easier - storing choices as local variables on the player's skin.

I haven't fully tested it myself, but according to articles in the NWN Omnibus, item variables persist from one module to the next (and across server resets).

Since 1.69, the player has a creature skin item automatically. The advantage of this method is that it's invisible to the player, and doesn't hog an inventory slot.
Yermog 18 Mar, 2019 @ 4:15am 
Thanks so much for the info guys!! The item and the skin ideas both sound really promising, and fairly easy to do if I can get the knack of it. I do really like the idea of a campaign database, but I have such limited experience with scripting at the moment that that seems a bit out of my reach for now. And when I say I have limited experience, I really mean I have no experience. Hopefully I can build up those skills as I go.
wendigo211 3 18 Mar, 2019 @ 2:22pm 
I suppose builders will use the approach they're most familiar with. I learned most of my scripting in NWN2, and campaign databases were just the way you handled transferring data between modules. Since the walkmeshes were so huge and you had to deal with the 32-bit 4GB memory limit, any module with more than about 15 areas had be broken into multiple modules, so campaigns got used a lot. The 4GB limit is a thing in NWN as well, but it's a lot harder to hit it than it was in NWN2 (I've heard Beamdog is working on a 64-bit version of the EE, but IDK if that will happen). It's still a good idea to be resource-conscious when you implement things (e.g. only have creatures in an area when a player is in it), but it's not as vital as it was in NWN2.

If you're starting out, it's a good idea to keep it small to start. For starters you might get burned out, I don't think it's hyperbole to say it takes about 100 hours to create 1 hour of playable content. Secondly, it's useful to have something out there on the Workshop or the Vault to get feedback. Third, it's going to make debugging easier, since you can get away with using inefficient scripts, and there's less stuff to check. Fourth, it will encourage you to get things out quickly and avoid the vicious cycle of rewriting things that are already working as you learn better ways of doing them.

Anyway, have fun, we're rooting for you and if you need any help you can always post here or on the vault.
Last edited by wendigo211; 18 Mar, 2019 @ 2:24pm
Yermog 18 Mar, 2019 @ 7:15pm 
Thank you so much for your encouraging words! Right now I'm just working on a short module that'll have about an hour of gameplay, so I'm hoping to get some good practice in with that. I'll post up the first version once I have one that works at least somewhat. I really appreciate all the advice!
< >
Showing 1-6 of 6 comments
Per page: 1530 50