A particularly interesting , yet brain busting problem.
Not because it is impossible, since many servers seem to be able to implement a permanent BASE ability / skill increase, but because it (may) be impossible to do so with the standard Aurora Toolset.
Examples of such servers : The awakening, Aventia
A great trick the community seems to suggest, is adding ability / skill bonus to the INVENTORY_SLOT_CARMOUR… a hidden inventory slot that every character has aka the Skin. This solution offers a permanent ability / skill increase…not a BASE ability / skill increase.
Is there anyone here that actually found a way to do this? If so, how?
object oPC = GetPlaceableLastClickedBy();
object oSkin = GetItemInSlot(INVENTORY_SLOT_CARMOUR, oPC);
int i = 0;
AddItemProperty(DURATION_TYPE_PERMANENT, ItemPropertyAbilityBonus(ABILITY_STRENGTH, 1), oSkin);
Not every PC actually has the skin, so once you declare the oSkin, you need to check if it not OBJECT_INVALID. If it is, then you need to create it. Otherwise, I don’t see why the above shouldn’t work.
If your module is built as Bioware recommended, there will be a skin on every PC:
Soviet Russia Nwn2 … skins on PC are bugged: they can cause wildly eratic fluctuations in ArmorCheckPenalty.
but they also added (nwn2)
// MAP 3/15/2009
// Note that any changes to skill rank will NOT be lost if the character is de-leveled.
// IMPORTANT: Most usages of this will cause characters to fail 'enforce legal character' restrictions.
void SetBaseAbilityScore(object oCreature, int nAbilityType, int nScore);
CCOH lets you add item properties to your character’s skin (or any other item in your character’s possession).
Well, I can add item properties to character skin
The problem is that this does not alter the BASE ability score.
yes that’s right, you cannot alter base ability score in NWN1
at least without NWN©X
Finally figured it out.
Will write it step by step - for extra beginners, so that others can find it:
Step 1: Download NWNX2 and paste all of the files (yes maybe some of them are not needed, but that worked for me ) to your NWN folder.
Step 2: Download the NWNX2 nwnx_fuctions plugin.
Step 3: Copy the nwnx_func.dll to your main NWN category.
Step 4: Open the nss of the nwnx_fuctions with your favorite text editor.
Step 5: Copy paste the content of the nss files, on new scripts inside your module.
Step 6: Name the script EXACTLY the same as the nss file.
Step 7: Once you’ve done so for every script, hit the “save the file” for every script on the NWN aurora compiler
Step 8: Use the Toolset like you did before. Everytime you want to use the NWNX fuctions on your scripts, just add the #include “nwnx_funcs” line on top of your script. Fuctions like AddFeat and SetBaseAbilityScore, will become available to you.
However, the scripts will work ONLY when you launch the module with NWNX2. (In order to do that, you have to change the .ini file called nwnx.ini in your main NWN folder. Just type at the ModuleName = portion of the ini file, your module name.