How do I use several models for a single base item?

I need your help to understand something. I have added a custom base item type in my baseitems.2da file, and several models that I want use with that custom base item. Each of these models, in turn, has several different icons associated with it. So for this single base item type, let’s say there are 5 models, and I want to use five unique icons with each model.

The only way I’ve found to get what I want is to include the icon (.tga) files in the hak (iit_curr_001.tga, iit_curr_002.tga, etc.) and a corresponding model for each (iit_curr_001.mdl, iit_curr_002.mdl, etc.). The problem is that in many cases, the model files are all exactly the same, except for having unique names that correspond to the tga files. It just seems wrong to have to include the same model repeatedly.

I imagine there must be a better way to reuse a model but everything I’ve tried so far has failed. Creating a new item only gives you the option of selecting its icon, which already has a model associated with, apparently based on the matching names in the hak. I must be missing something obvious.

So: how do I use a single custom model to create several items?

If I am understanding correctly, you just need to give your model 5 different lines in the 2da. Export the models Mdl, copy it 5 times and rename each one a unique name like model01 model02 ext. Then give each of the five unique models a line and name each set of icons the same name as each mdl. You can use a model as many times as you want as long as each new 2da line has a unique name.

If you are going to change the name of the .mdl files you will also need to change that name internally for each model.

TR

I’m probably not explaining the issue very well. I have one base item type, so just one line in the 2da: it has item class ‘it_curr’, and default model it_bag.

I want to create 25 unique items. In the hak, I have 25 icons: iit_curr_001.tga through iit_curr_025.tga.

Now, let’s say I want to associate model #1 with these first five icon files:
iit_curr_01.tga
iit_curr_02.tga
iit_curr_03.tga
iit_curr_04.tga
iit_curr_05.tga

In order to do that, I seem to have to copy the mdl file into the hak 5 times, with corresponding names:
it_curr_001.mdl
it_curr_002.mdl
it_curr_003.mdl
it_curr_004.mdl
it_curr_005.mdl

Which seems silly, because it’s the same model. There ought to be a way to reuse that model and associate it with those icons without copying it into the hak five times. That’s what I’m trying to understand: is there a way that will allow me to pair model 1 with those first five icon files without having to copy the model over and over?

Why don’t use this same model, and change only tags, resrefs, properties and icons. First, add icons in the hak. You can easily change rest of this stuff in toolset.

That would work fine if each model had its own line in the 2da. What I’m trying to do is use several models for a single base item type, each of which in turn uses several icons. I suppose I should rename this thread for clarity.

The way items work in NWN is pretty basic.

Each inventory icon is matched to only one matching model. iit_curr_001.tga would match up to it_curr_001.mdl.

If it_curr_001.mdl does not exist, an item using iit_curr_001.tga will default to using the model listed in the 2da file (in your case, it_bag.mdl).

Because it is such a straightforward system, there is not a way to associate groups of inventory icons to a single model without making multiple base item types and setting the default models of those types to the various models.

Unless the visible item model is incredibly large and complex, you’re much better off making multiple, renamed copies and putting them in your custom hak file.

2 Likes

Thanks for the definitive answer. I ended up using multiple renamed copies (like you recommended) because that was the only way I could make it work. I suppose it’s the programmer in me that recoils whenever I see (seemingly) unnecessary repetition, especially where haks are concerned, but if that’s the only way it can work, so be it.