You are here

Help Using NWNx_patch functions from the toolset.

5 posts / 0 new
Last post
CrazyMoai
Help Using NWNx_patch functions from the toolset.

Hi, 

First and foremost Thanks for the hardwork spent in this project. It looks amazing. Now let me explain my situation.

During the past month I tried to implement a custom version of the feat knockdown only face the limitations of the vanilla effect handling, looking for a work arround made me aware of the existance of the CPP when I read this tutorial https://nwnlexicon.com/index.php?title=Advanced_effect_tutorial. After reading what you can do with it I decided that even if I cannot use the whole CPP(I work on a Spanish server so bad luck) I wanted to have NWNx_patch working on our PW.

However I'm afraid I do not understand how am I supposed to integrate the NWNx_patch.dll with the toolset in order to use the new functions. According to the NWNx webpage when a dll has custom functions it comes with an .erf file that adds those scripts to the toolset but I've not found any among the patch data files.

So to sum up,Could someone tell me how to use the new functions in a script of my own?

Thanks in advance,

EDIT:

I've just realized that they appear as bioware scripts when a full CPP instalation is done. I'll try making and erf from here and importing that erf to my own module. If there is another better/safer/faster method I would be gratefull to know.

I would also like to know which script contains the functions like NWNXPatch_GetFirstEffect and others that appeared in the tutorial.

 

  • up
    50%
  • down
    50%
Shadooow

all the nwnx_patch functions are inside 70_inc_nwnx.nss which you need to include in the script where you want to use them via this line

#include "70_inc_nwnx"

This script (library) should be included within the package containing nwnx_patch plugin. If it isn't another way to get it is to download last CPP 1.72, upack and go into "\1.72 builder resources\1.72 spell scripts\includes"

  • up
    50%
  • down
    50%
CrazyMoai

Thank you very much for the promt response.

Just one more question if I may. Will NWNx_patch be supported by the EE version?
 
I read a comment of yours saying that they did not want to let you have the binary simbols but it was quite old (2016).
 
I hope that things have changed since then.
 
 
  • up
    50%
  • down
    50%
Shadooow

The situation didn't change. We won't get symbols for NWN:EE which makes making mid-function hooks very hard to do (not impossible, but extremely complicated). Basically half of the nwnx_patch code relied on such hooks. Also NWNCX ie client extender won't be supported for NWN:EE and my plugin was relying on that a lot - there is nwncx_patch and nwnx_patch for 1.69 and they both work the same and allows to do everything you could on server in singleplayer too. This won't be possible anymore I fear.

All we can do now is to request and push BeamDog to implement the features nwnx_patch and nwncx_patch offered.

Go here: https://trello.com/b/Lb79bbgy/neverwinter-nights-input and vote for:

Rules expasion/redo

- Allow custom classes and spellbooks
- Expanded spellbooks: fix discrepancies with prestige clas casting

Game mechanics

- Expose combat events for scripting / custom item properties
- softcode pickpocket
- "softcode" special spontaneously cast spells per class
 

And for those features that aren't there you can request them on beamdog forums: https://forums.beamdog.com/categories/nwn-general-discussions

 

Assuming all of the above gets implemented in core game and assuming I will make a new nwnx_patch plugin for NWN:EE and reimplement the features that doesn't require mid-function hooking, we will lose only these functionalities:

- custom client-based functions: PlayMovie, SetTileAnimLoop, SetArea* (fog, colors, wind all of that - although they will all work just won't be dynamic anymore and will require re-entering area), (Un)HighlightObject, SetDisableObjectHighlighting,
- casting in polymorph (SetCanCastInPolymorph function)
- modifying number of tiles explored when moving (but it seems BD implemented set of functions which allows to override this completely and reveal tiles via scripting so not needed)
- animal companion possessing
- some of the various softcoded stuff
- and naturally possibility to use nwnx in singleplayer...

  • up
    50%
  • down
    50%
CrazyMoai

Voted, I hope they get those things implemented!

I think that I'll wait to see if they get implemented in order not to create dependencies.

Thank you for your gidance, you've been really helpful.

 

  • up
    50%
  • down
    50%