Skip to content

Are there step by step guides somewhere on how to make things and add them to the game?

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 :(

Comments

  • FreshLemonBunFreshLemonBun Member Posts: 909
    1. First extract or download 2das.
    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.
  • NeverwinterShark85NeverwinterShark85 Member Posts: 1
    In the chapter 3 module on the quest where you defend Rolgan for killing Griff, I know that if your PC is a female and if you make her talk to Averik who is one of the jurors at the trial, he hits on her and wants to bed her. They didn't write it in the scripting, but I think they should have written a romance bribe in the scripting where your female PC will tell averik she will get in bed with him if he votes for not guilty at rolgans trial. I have nwn diamond edition and I have started my own version of the chapter 3 module that has that in the scripting, but I can't figure out how to operate it. If I could I would program my own version of chapter 3 that has that in the scripting.
  • zordren3742zordren3742 Member Posts: 207
    edited October 2019
    Peteed1985 wrote: »
    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 :(

    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.
  • TarotRedhandTarotRedhand Member Posts: 1,481
    For a list of general building tutorials, see this thread on the vault. There is also this YouTube collection of video tutorials.

    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
  • pietrkopietrko Member Posts: 13
    I've created new disintegrate spell.
    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.
  • ProlericProleric Member Posts: 1,281
    You can put any script's .ncs file in Documents\Neverwinter Nights\override (not ovr - mods always go in Documents, not the game files).

    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.
Sign In or Register to comment.