NPC Preconfigs

Is there a 2da that preconfigures the NPC’s animal companions and familiars? For instance, how does Elanee’s companion get the name of Naloch and how is it identified as type badger?

It’s in the blueprint properties.

1 Like

details:

the spellscript ‘nw_s2_animalcom’ for the AnimalCompanion feat fires the function SummonAnimalCompanion()

the companion’s name and type are (usually) stored in the character’s saved file in the vars CompanionType and CompanionName

the resref to create is a concatenation of two parts: 1. the “BASERESREF_PREFIX” by type in Hen_Companion.2da, 2. the level of the caster ( level / 3 + 1, generally). So you might end up with a resref of “c_ancom_dino3” – and that resref, or blueprint, then determines the other particulars of the beast

 
note that SummonAnimalCompanion() can be called with args to create a companion as needed.

1 Like

The manner I summon an animal companion exploits a loophole in the system. So I can only summon a Dinosaur companion. The reason for this (I believe), the that while the Animal Companion is a Class feat with specific class requirements, the Dinosaur companion is a General feat with only Animal companion as a requirement. So I simply modified the summoning script to permit AnimalSib to summon a Dinosaur companion. I tried to automate the process as much as possible so no console commands and external editors would needed. Unfortunately during character creation and level up both, the Animal Companion creation screen will not appear. But if you accept the default Animal Sib package during character creation, a random name will automatically be generated for the Dinosaur companion. If you do not, the Deinonychus will still summon, but it will not have a name.

Animal Sib was a deliberately designed to be a very weak attack character, but with good defenses. His BAB is less than medium but a little better than low. At level 20 his BAB would be 13. While he has strong spell-casting abilities, all his spells are supposed to be supportive, protective, or defensive. The combat abilities are mostly animal based. Other than that he has no special combat abilities. He has decent hit points, but that is so he can use Shield Other with his dinosaur companion. I do make a point of giving deity’s weapon focus and sling weapon focus. I also included an sling in his initial equipment. The thought here is that he can assist his Dinosaur companion (preferably with ranged weapons) somewhat. The concept is that the PC does not see himself as a master of the deinonychus, but as his teammate and brother/sister. Hence the Sib.

What I am curious about is if anyone else is interested this class. I could provide the files with instructions as to what to modify in dialog.tlk. I don’t know if anyone would want to download this with a dialog.tlk.

Although it could be merged with Artisan which you have already uploaded. Sort of a bonus.

I would appreciate some clarification on this. (Still a lot to learn)

read through the two scripts I posted in the other thread

especially the second script, the one that does the summons. the first script simply sets two variables; ie. the name and the type.

I seem to have run into another issue. I was assuming that packeqasib.2da would provide the initial equipment for my character. As it did not show up at creation, I assumed it would show up in the chest at the start of Act I. Instead, none of the equipment showed up. Scratchin’ my head over this one. Not a show stopper, but I want at least some of my bells and whistles to work.

Is that first script just a console script that I have to run from the console? It looked like I have to use some console commands to make it work. Or does it compile and go in the override folder? If so, what filename should it have?

i always put the intended filename of a script at or near the top of a script in single quotes

the first script is ‘anico’ and it goes in your /Override as “anico.nss”
the second is ‘nw_s2_animalcom’ and it goes in /Override as “nw_s2_animalcom.nss”

Then compile each of them in the toolset. It’s probably a good idea to put them together in a subfolder of /Override called (something like) “anico”.

a console script runs from the console, the instructions are at the top of ‘anico’

and, additionally, make sure there’s only 1 “nw_s2_animalcom.ncs” in your /Override; for that matter, make sure there’s only 1 “anico.ncs” also

I think I found the equipment issue. There is a script file called 11_p_chest_open that appears to populate the chest with appropriate equipment. I can try modifying this script.

Okay, now it makes sense. If I come across as a complete neophyte, well…

I am not sure what toolset you are referring to. I use nssclc, excel, and notepad++ for just about everything I develop. I use the character editor and gffeditor for tweaking. And of course tlkedit for the dialog.tlk file. That is my current “toolset”.

Not sure what language this is, but I feel like I am doing DOS based C programming again.

By the way, will the console-based animal companion remain with the character when I save and exit, or will it let the genie out of the bottle? I guess I could try it and see. Been at this steady for six weeks now. Big learning curve. Need to take a break from development and just game for awhile. Give AnimalSib a good long beta test.

Thanks for the Anico script by the way. I am going to have fun with that.

I realized where the white spaces were coming from that you were talking about. I had been using the 2da files that came with NWN2 and just tweaking them. From now on I am going to be sure and completely reformat them before I use them. That is where the problem was.

hi Mr

i’m sort of in ‘downtime’ myself now. I’ve been (mentally) scooting around in three projects for the past few days+

So i’m just going to blah blah here without getting into technical details.

From what I saw of the AnimalSib package it strikes me as a “proof of concept” – perhaps not even beta level yet. Am sure you’re already aware of that,

as a concept it looks good though. Ie, playable, although the requirement for a strict assignment of spells (instead of the usual player-choice) is a touchy issue technically. I like it as a class requirement; but enforcing it as a rule for the As, other than simply stating that spells should be chosen via the RECOMMENDED button, seems to me that it would require more expansive changes to game files that might not be worth it. (Personally i’d have no problem just clicking the button to automatically select spells, to get the true experience of the class. but whatver)

----
are you telling me you’ve never opened the toolset? o.O

<installation>\NWN2ToolsetLauncher.exe

As soon as it opens (if it opens…) go to View->Options->General->Autosave and change it to False.

And if you’ve never worked with the NwN1 or 2 toolsets, prepare to be overwhelmed. Ask questions, there are many highly experienced modders hanging around …

you’ll need .NET 3.5 installed and enabled on your computer. (and Dx9.c as required by the game itself)

In the toolset, scripts can be compiled, 2das can be edited, etc etc etc

It’s just that many persons prefer 3rd party tools since they’re more responsive and adaptable.

The programming language of scripts is NwScript (note: as you’ve noticed it’s not a scripted language per se, it’s real code strongly based on C). It’s how I learned to code before advancing to C/C++/C#

So if it feels like C, that’s because it is essentially a subset of C.

----
The console-based Anico ought persist between saves.

 
ps. If you want to try a dedicated 2da editor, try my Yata. It’s designed for very strict output. It seems stable but please make backups before opening any files

3 Likes

Okay, I launched NWN2ToolsetLauncher.exe. It feels like you just tossed me in at the deep end of the pool without swimming lessons. What is temp0? And it is saying “This module does not have a valid start location and will not work when run in the game.”
How badly can I screw up my game install if I try to use this? I am stuck somewhere between confusion, exhilaration, and terror.

temp0 is automatically created when the toolset opens. It’s waiting for you to create a module there and save it with a real name, but you don’t have to.

I often open the toolset simply to work on /Override files (without opening/creating/saving a module).

“This module does not have…” means just what it says. I’ll assume that you dillied about a bit (which is good) and did a save and it showed that message. Which means you probaby didn’t set a start location (which is bad). You probably also didn’t “bake” the terrain … which is also bad.

Occasionally the toolset will crash and leave those “temp” folders littered around; they can usually be deleted okay.

hint: get used to working/saving in Directory mode rather than Module mode. The first protocol leaves all files accessible in a directory, the second encapulates the files in a .MOD file … which makes it difficult to open any of those files in a 3rd party editor. The file-menu command “save as directory” needs to be used only once since it essentially converts your module to Directory mode. After that, just do the normal Save routine.

If you’re opening any of the official campaigns’ .MOD files I suggest that you close the toolset, go to the folder where those files are, and mark them all readonly.

the basic rule of thumb is that files in the installation folder hierarchy ought be kept unchanged, but files in your player-folder hierarchy can be changed all you want,

 
btw, changes to a module that you’re playing from a saved file won’t work … changes to a /Campaign file, .hak file, or /Override file will work while a game is underway … it’s just that changing files in the module itself won’t change a saved game. (Because all the module files are stored in the save … with the exception of the terrain/walkmesh files …)

yes there’s a lot to know before master level is achieved. but that never stopped anyone, right?

I mean, if i’m reading your intentions right, you want to change the OC ? don’t do it in the OC module or /campaign files. ie do it in your /Override and keep things organized there

 
 
sry if i sound curt …

1 Like

not sure how good these are but her voice is cute:

\https://www.youtube.com/watch?v=I2iVuFHibZs
\https://www.youtube.com/watch?v=rJhr6Y9N5Tk
\https://www.youtube.com/watch?v=6Rup8jrqajM
\https://www.youtube.com/watch?v=N-YOpsWCKsA
\https://www.youtube.com/watch?v=07WnqutdZO0
\https://www.youtube.com/watch?v=q1QvAJZbACE

You sound informative. I have the GoG.com version of Neverwinter Nights 2 Complete.

Will the Dialog.tlk file that comes with Kaedrins PRC Pack v1.41.4 work with everything in that version?

Neverwinter Nights 2: Complete includes the original game, and three expansions: Mask of the Betrayer, Storm of Zehir, and Mysteries of Westgate.

As for my current plans, I am trying to fully implement animal sib as a basic class. I have already inserted a new column into spells.2da and am trying to get the system to see it. No luck so far but I have not given up.

Trying to figure out if nssclc will grab the modified include files I am placing in the bin directory or if it ignores them and goes right to the zips.

I don’t know if I am understanding this correct, and forgive me if I don’t. But from what I get, you altered spells.2da and put it back in the installation folder? If that’s the case you shouldn’t. Make a copy and use your Documents directory instead. Anything in your modules, campaigns, hak and override folders will be recognized by your game.

i can’t speak to MoWestgate. they might have used a Custom.Tlk …

Kaedrin’s pack should have all English strings in the OC, MotB, and SoZ

 
adding a col to Spells.2da is, uhm, unusual

and, for Nwn2, you should probably delete nssclc and use Skywing’s Advanced Script Compiler (it has both a standalone for the commandline and a plugin for the toolset)

No, I stuck it in override under docs.

1 Like

If you look at gr_character_xml.NSS, it appears that the data is accessed by column labels rather than column position. Have not tested thoroughly yet but no problems with the new column so far. I inserted the AnimalSib column between Warlock and Innate. For now I simply copied the contents of Druid for easy recognition. Once I can access it, the selection can be modified for each spell like any basic class. So far my modifications have not allowed the spells to filter for animalsib which is why I need to determine if the includes I modified are being parsed.