Are there step by step guides somewhere on how to make things and add them to the game?
Peteed1985
Member Posts: 63
I'm a programmer with like 3 years of programming at college in c++, unity c# and javascript under my belt but I tried to work out how to make a new spell for NWN:EE but couldn't find any guides on the process.
I'm hoping for a guide that explains the whole process from the beginning step by step with explanations of what they are doing going through like making/adding the art and then scripting a spell to have the desired effect.
For example it might go like this for making a lightningball spell
1.) make file that looks like xyz.png (that they show you an image of) and this will look like a lightning version of the fireball spell.
2.) put xyz.png in NWN/DATA/spells/art folder
3.) make txt file called LBall.ssf (ssf meaning spell script filetype)
4.) first line is "LBall isAOE = true;"
5.) second line is "LBall AOEType = sphere;" (then they explain the other options like how to make it a line like a lightning dragon breath and how to choose the width and the length)
6.) after file is complete put it in NWN/DATA/spells/scripts folder
7.) after that spell is in game and works
Because frankly I can find a compendium kinda thing of all the variables or w/e but knowing how to use that to make a spell without guidance is impossible
Not sure if this stuff doesn't exist or never existed or if the games so old that all the guides either weren't online ones or the websites went offline since old games fan sites tend to die
I'm hoping for a guide that explains the whole process from the beginning step by step with explanations of what they are doing going through like making/adding the art and then scripting a spell to have the desired effect.
For example it might go like this for making a lightningball spell
1.) make file that looks like xyz.png (that they show you an image of) and this will look like a lightning version of the fireball spell.
2.) put xyz.png in NWN/DATA/spells/art folder
3.) make txt file called LBall.ssf (ssf meaning spell script filetype)
4.) first line is "LBall isAOE = true;"
5.) second line is "LBall AOEType = sphere;" (then they explain the other options like how to make it a line like a lightning dragon breath and how to choose the width and the length)
6.) after file is complete put it in NWN/DATA/spells/scripts folder
7.) after that spell is in game and works
Because frankly I can find a compendium kinda thing of all the variables or w/e but knowing how to use that to make a spell without guidance is impossible
Not sure if this stuff doesn't exist or never existed or if the games so old that all the guides either weren't online ones or the websites went offline since old games fan sites tend to die
0
Comments
2. Next, copy and past a row in spells.2da and renumber it to the next index value of the new row. Put it in your my documents/nwn/override for now.
3. With a tlk editor make a new tlk file, in row 0 put Bad Strref. Put it in your override for now too.
4. With the toolset open your module, then navigate to edit > module properties.
5. Tab to custom content, at the bottom type in the custom tlk name or select it.
6. Close the window back to the toolset.
7. Right click the 'scripts' resource tree node, and select new.
8. Write your spell script, use the input and list on the right to filter and check functions. Use functions like getspelltargetobject, and getcasterlevel, the object value OBJECT_SELF is usually the caster.
9. In spells.2da in the row you added earlier under the column 'impact script' add the name of the script you just made.
10. In spells.2da under the column 'name' change the value to 16777216 + custom tlk row number.
11. Repeat that for the column 'spelldesc' changing it to 16777216 + a new row or the next tlk row.
12. Open your custom tlk again, enter the spell name to the correct row, for example if you set the value to 16777217 the row number is 1, 16777218 would be row 2 in your tlk.
13. Next do the same for your spell description as well, this is the text you will see in game.
14. Use your image editing program to make a tga icon, sizes are 32x32 I think, but it also accepts 64x64.
15. Add it to a class spell list under one or more of the columns by entering the spell level.
16. Start your module that has the script and the custom tlk association.
17. Test it.
18. Next go to your install directory, under the utils folder select nwhak, and add the 2da, tlk, and icon file to it.
19. In the toolset in the same panel that added the tlk file, add the hak file you just made.
20. Delete and backup your override folder.
21. Test your module again, this time with the hak.
Use the following resources to help:
http://www.neverwinternights.info/cc_ccc.htm
https://nwnlexicon.com/index.php?title=Main_Page
https://neverwintervault.org/project/nwnee/other/neverwinter-nights-enhanced-edition-base-2das
some tlk editors:
https://neverwintervault.org/project/nwn1/other/tool/axe-murderers-killer-tlk-editor
https://neverwintervault.org/project/nwn1/other/tool/tlkedit2-2datlkgfferf-editor
https://neverwintervault.org/project/nwn1/other/tool/tabularframework-2da-editor-tlk-editor-nwn1-nwn2
2da description:
https://nwn.fandom.com/wiki/Spells.2da
https://nwn.fandom.com/wiki/Spells.2da_(contents)
If you want some examples about how spell scripts work then open a similar spell script. You can filter on constants too to find the options, then check on how to use it on nwn lexicon if you have trouble. To open a spell script from the script editor click the open icon, then the radio button for all resources, a spell script will have _s0_ in the name so use that to filter your search.
You might Also want to check out the custom content guide https://neverwintervault.org/project/nwn1/other/custom-content-guide-v30 lot's of good stuff in there on how to add new content.
For scripting you really need a copy of the lexicon (There is also a link to the online version of the lexicon on that project page).
TR
It works within a custom module (script)
How can I make it work in NWN vanilla campaigns?
I've put the spells.2da in override folder (ovr to be specific)
But I have no idea what to do with a script i've created with the toolset.
You can then run the script in any module with the dm_runscript console command.
You'll need to do a bit more to cast a spell, though. Others probably know more than I do about that.