View previous topic :: View next topic |
Author |
Message |
Larnak
Joined: 25 Sep 2006 Posts: 7 Location: Southern California
|
|
Back to top |
|
|
Senalaya
Joined: 29 Dec 2004 Posts: 82 Location: Germany
|
Posted: Fri Feb 23, 2007 8:15 Post subject: |
|
|
Chrismas and Eastern have fallen on the same day! Hell froze over!
That's actually very good news. Papillon had asked Obsidian to assist NWNX with clean hookpoints, etc. |
|
Back to top |
|
|
Papillon x-man
Joined: 28 Dec 2004 Posts: 1060 Location: Germany
|
Posted: Fri Feb 23, 2007 11:14 Post subject: |
|
|
I've been discussing with OE since late 2005 about how they could improve multiplayer and persistent world support by supporting NWNX. After throwing some thoughts around (and most of them away), we came up with a simple method: We add some special script functions for NWNX that do exactly nothing when called on a server or single player client without NWNX installed. But if it is installed, it hooks those special functions and does it's thing. With this change, the SetLocalString function that I have been using in the past no longer needs to be hooked, which should improve NWNX's performance and versatility.
If the approach turns out to work well, more functions might follow.
One of the nice side effects of the new functions is that I can do away with the column buffer which provides space for NWNX to copy it's answer to NWN into. Also, it will be possible to read native types like integer or float directly, without converting to and from strings on the way. _________________ Papillon |
|
Back to top |
|
|
TroveLord
Joined: 22 Nov 2006 Posts: 136 Location: Italy
|
Posted: Fri Feb 23, 2007 14:18 Post subject: |
|
|
Does this mean we can get rid of the madCHook library? |
|
Back to top |
|
|
Grinning Fool
Joined: 12 Feb 2005 Posts: 264
|
Posted: Fri Feb 23, 2007 17:30 Post subject: |
|
|
I have to wonder, if they're willing to go to this length to assist -- why wouldn't they have just supported a more direct interface? i.e., the server itself can load plugin DLLs, and make those functions available through a scripting interface. _________________ Khalidine, a NWN2 persistent world
Looking for volunteers. |
|
Back to top |
|
|
Papillon x-man
Joined: 28 Dec 2004 Posts: 1060 Location: Germany
|
Posted: Fri Feb 23, 2007 18:07 Post subject: |
|
|
That's a good question. This was among my suggestions, but the idea did not make it. I guess it's because they would actively support loading DLLs by doing so, and this a totally different thing to just adding some bogus functions that more or less do nothing until NWNX has been installed by the enduser. I guess it all boils down to support requirements and zots.
But, let's not forget they offered to help, and they did. That's the main point.
Oh and no, hooking is still necessary, though madcodehook might not be my first choice for the next version. _________________ Papillon |
|
Back to top |
|
|
Gryphyn
Joined: 20 Jan 2005 Posts: 431
|
Posted: Fri Feb 23, 2007 23:48 Post subject: |
|
|
Happy dance...
I hesitant to speculate on what this involves, but I gather it's something like Obsidian creating a SQLExecute(string s) scripting function - which does nothing unless you have NWNX4 running. To enable NWNX4 to use it Obsidian are 'exporting' the function calls in a type library (or something similar)
@Papillon,
Could you perhaps elaborate on what these initial functions will/could be?
Cheers
Gryphyn |
|
Back to top |
|
|
GodBeastX
Joined: 09 Aug 2006 Posts: 65
|
Posted: Mon Feb 26, 2007 20:52 Post subject: |
|
|
Grinning Fool wrote: | I have to wonder, if they're willing to go to this length to assist -- why wouldn't they have just supported a more direct interface? i.e., the server itself can load plugin DLLs, and make those functions available through a scripting interface. |
I begged for it too, back before beta even. They said it would have "Security" issues -_- |
|
Back to top |
|
|
Demetrious
Joined: 09 Dec 2006 Posts: 6
|
Posted: Wed Mar 21, 2007 14:14 Post subject: |
|
|
Is anyone here running 1.05 beta?
I had code using NWNx and the Chat Plugin all up and operational in 1.04 but it didn't seem to transfer to 1.05 beta.
Is this expected with the OEI changes? |
|
Back to top |
|
|
Papillon x-man
Joined: 28 Dec 2004 Posts: 1060 Location: Germany
|
Posted: Mon Mar 26, 2007 18:58 Post subject: |
|
|
No, this should not happen. In fact, it works for me. Do you get any log files ? If so, please post their contents into a separate thread. _________________ Papillon |
|
Back to top |
|
|
Demetrious
Joined: 09 Dec 2006 Posts: 6
|
Posted: Sat Mar 31, 2007 3:38 Post subject: |
|
|
I'm pretty darn ignorant within NWNx - trying this for the community with really no personal interest. I can send you the module that functions in 1.04 but does not work in 1.05beta. |
|
Back to top |
|
|
sweetcornminer
Joined: 28 Nov 2006 Posts: 4
|
Posted: Mon Apr 02, 2007 8:43 Post subject: |
|
|
I was just wondering if anyone knew what the 1.05 functions actually did?
For example:
void NWNXSetString( string sPlugin, string sFunction, string sParam1, int nParam2, string sValue );
What are all those parameters?
Its a bit of a mystery. |
|
Back to top |
|
|
virusman
Joined: 30 Jan 2005 Posts: 1020 Location: Russia
|
Posted: Mon Apr 02, 2007 13:17 Post subject: |
|
|
Hm, interesting.
Is there a "Get" function? |
|
Back to top |
|
|
sweetcornminer
Joined: 28 Nov 2006 Posts: 4
|
Posted: Mon Apr 02, 2007 21:31 Post subject: |
|
|
yup. Tell you what, I will list all of them:
float NWNXGetFloat( string sPlugin, string sFunction, string sParam1, int nParam2 );
int NWNXGetInt( string sPlugin, string sFunction, string sParam1, int nParam2 );
string NWNXGetString( string sPlugin, string sFunction, string sParam1, int nParam2 );
void NWNXSetFloat( string sPlugin, string sFunction, string sParam1, int nParam2, float fValue );
void NWNXSetInt( string sPlugin, string sFunction, string sParam1, int nParam2, int nValue );
void NWNXSetString( string sPlugin, string sFunction, string sParam1, int nParam2, string sValue ); |
|
Back to top |
|
|
sweetcornminer
Joined: 28 Nov 2006 Posts: 4
|
Posted: Mon Apr 02, 2007 21:32 Post subject: |
|
|
Theres no documentation in the toolset
(that I can find), perhaps when the final 1.05 comes out we might get some. |
|
Back to top |
|
|
|