Hakpak
From NWN1 Custom Content Guide
Contents |
Overview
This page details Hakpaks and the ways and means of them.
Description
A Hak Pak (a file with the extension .hak) is a package where you add custom files to either supplement or override standard Bioware content. Anybody who plays your module will need a copy of your hakpak so be sure to distribute it along with your module itself. You can use a hakpak to make Neverwinter’s standard goblin a different color (overriding standard content) or to add a new monster such as an Owlbear (adding new content).
Let me try to outline a few of the controversies surrounding hakpaks and their use in customizing NWN content.
First, let me note that hakpaks are the official Bioware method for distributing custom content. They are not free from issues or special considerations but they are the best way of getting your content out to the gaming public. People have come up with workarounds and lots of contradictory and nonsensical advice on what to do and what not to do with hakpaks. Let’s talk about a few of the issues.
- Official patches will not be in custom content released before the patch.
- The dialog.tlk file cannot be put in a hakpak.
- Bioware has indicated that they will be making a local dialog.tlk file that is hak pak-aware. This is likely to be implemented in Hordes of the Underdark.
- Renumbering .2da entries.
- If you delete rows from a .2da file in a hakpak, or even if you re-number them, it will mess up an existing module that used the previous version of your hakpak. The toolset put the entries into numerical order for you, but if you have used the hak in that module before and delete an entry, everything after that entry will be one appearance off. This is why you will notice entries in the standard .2da files that are not actually deleted, they are just blanked out using ‘****’ and other meaningless values. Use the same method if you are modifying a hakpak in the middle of developing your module. This also occurs quite frequently when combining hakpaks. And it creates problems if you load a saved .erf file that referenced a previous version of your hakpak. The only real solution other than leaving in blank entries is to recreate your module from scratch or change all of your model entries by hand.
Having said all of that, hakpaks are still the best way to manage custom content. The only way to better manage some of these issues would be to create a central registry for ‘reserving’ Ids, item numbers, etc. to ensure that nobody ever created another item that overlapped with yours. Even then the central registry would only be as good as the people maintaining it and registering their changes with it.
Links
