Help learning how to mod the main game

So I got the PRC and it works great, but I tried to get other character mods to use in the main game and modules and while I figured out how to get some of the .haks to work in custom modules that came with the game, (expect the Winds of Eremor, it crashes every time I try to add the .haks) the 2 that I REALLY want to work in the main game I can’t seem to get to work at all and it’s overwhelmed me. This is the first game I’ve ever even attempted to mod so I feel a little out of my depth but I’m hoping there’s a way to make em’ work.

The one I really want to get to work is this one: https://neverwintervault.org/project/nwn1/hakpak/original-hakpak/female-gnoll-pack

And this one: https://neverwintervault.org/project/nwn1/hakpak/original-hakpak/manor-gnolls

1 Like

Hello. :smiley:

OK, NWN modding crash course:

Creature appearances have models and textures, and are listed in a 2da file. The game has a default appearance.2da, which may be overridden by a custom appearance.2da installed by the player or by an appearance.2da that is attached to a module hak.

The 2da contains rows listing the individual creature appearances. In the toolset, a creature or creature blueprint links to a row in appearance.2da by number to find the model and various other settings. So, if the 2da entry is missing, the toolset won’t be able to find the creature appearance, and if no creature in the module is using the row number of the appearance, you’ll never see the appearance ingame either.

To make things that use 2das be available at the same time in any given module, you need to merge the 2das. Take a look at this tutorial: Ryuujin’s Hakpack and 2da Merging Tutorial.

Terminology note:
In and about NWN, the word “mod” is generally taken to stand for “module”. To avoid confusion going forward, I’d recommend referring to game modifications using the term for the specific type of modification it is - such as hak, override, model, reskin, sound, music, creature appearance, bodypart, armourpart, script, etc.

So, yep. :smiley: What’re you trying to do with the gnoll appearances? If you want to replace the existing ones, you’ll want to open appearances.2da and change the model name on the rows for the existing gnoll creature appearances. If you want to make them available for use in a custom module, you’ll just want to add their rows to your custom appearance.2da.

Linking to NWN Explorer Reborn for extracting game files. Not sure this works for the EE. If it doesn’t, @Proleric’s uploaded the 1.69 level 2das here.

1 Like

Okay cool, I’ll look into trying that. As far as what I want to do with them is use them as my Player Character model in the main campaign of the game. That’s at least the primary goal.

In that case, you can go with either method, but adding them on extra rows of the 2da is probably nicer, since that’ll make your player character gnoll appearance distinct from the NPC gnolls.

You’ll want to set up a custom script that switches the caller’s creature appearance to the row number you’ve added the gnolls on in the 2da. The NWScript line for this is
SetCreatureAppearanceType(OBJECT_SELF, XXXX);
, where XXXX stands for the row number in the 2da. Save the script with that line in it.

With a module open in the toolset (specifically, the module you’ve created that script in), go to the NWN\modules\temp folder, and copy your saved script’s .ncs version from there into your override folder. Then, you can execute it ingame via the console command “dm_runscript XXXX”, where XXX stands for the name of the script, without the .ncs extension. :slight_smile:

Thank you so much for the help. Got it working beautifully now.

1 Like

Hello! I do have a question along these very same lines, please.

Let’s say I have two 2da files that both have an entry on line 10. But, they are differing items.

Say, in two different Phenotype 2da’s, one has an entry that lists Null2, while the other lists N_Joust_M as the entry for line 10.

If I merge those 2da’s, do I run into a problem if I move EITHER of those entries to the other, just on a differently numbered line? Are these line entries giving a “This is the phenotype for line 10 type items” somewhere in the game, or is the number of the line in phenotypes.2da inconsequential?

For example: They are both on line 10, but the line 11 directly beneath them is empty (all asterisks and zeros), so I decide to copy N_Joust_M to line 11.

Does placing that entry on line 11 screw anything up, and make it so NWN can’t find whatever N_Joust_M is referring to in the game?

If you are modding the OC, you won’t have to merge 2da files unless you are incorporating a custom mod that has them.

In general, when merging 2da files, if you have two entries with the same line number, the first question is whether the line number is referenced by scripts or objects. If the answer is “yes” (which is very often the case), try to renumber the one that has fewest references. You will have to change all of those references, too.

For example, if two versions of appearance.2da have “cat” and “dog” in line 10, and you know the module has very few cats, move “cat” to an unused line, say 8001. Now, in the toolset (or using moneo), you have to find every creature that is supposed to look like a cat. It will look like a “dog”, so use the dropdown to select the “cat” appearance again.

In your specific example, you are in luck. Although the OC has jousting phenotypes, it doesn’t use them at all. Unless the mod you are incorporating features jousting, you can’t break anything by moving N_Joust_M to line 11.

2 Likes

This is fantastic information!! Thank you very much. I think I’ll proceed with a bit of caution… After Tarot Redhand’s scripting tutorials, I’m able to understand code at a minor level (… MIRACULOUS) but I still tread stuff like this with trepidation. I’d better start digging and see what refers to what phenotype. I think I’m safest moving the jousting pheno, but that might take more script searching… And may ruin my ability to keep project Q up to date, lol, so maybe as I stream-of-thought type this up, I’d better move the other one.

In any event, my thanks to you good Sir Proleric ^.^

While I admire your ambition and while I am flattered to think that my tutorials have helped your understanding of the subject, I can’t help but feel that just maybe you may be trying to run before you can walk. I have only covered the underlying basics of writing scripts in my tutorials and there is so much more to learn if you want to be truly proficient. The first thing I’d advise you to do is to look at and bookmark (little button at the bottom of the thread that looks like a bookmark) this thread. There are quite a few links to tutorials, guides and the odd tool or two on there. As a bare minimum I would get the offline lexicon, the scripting FAQs and the ls-tk script generator that are linked to in that thread.

TR