View previous topic :: View next topic |
Author |
Message |
ShaDoOoW
Joined: 20 Aug 2005 Posts: 584
|
Posted: Sat Aug 12, 2017 16:39 Post subject: |
|
|
Quote: | Is it possible the OnDamage event to PC in your's patch or functions Get and SetEventScript?
I tried to use NWNXFuncs_SetEventScript(object oObject, string sScript, int iEvent), but my server is crashing and i don't know what that reason is. |
If you want to use this function to add OnDamage for PC it won't work even if it doesn't crash. The OnDamage event on Player is not fired at all.
Baaleos made OnDamage event.
Quote: | Also replacing nwnx_patch.dll from v1.27 on v1.28 i have stopped running the server from using nwnx, reason also unknown |
Sorry, bad testing. Here is new version.
NWNCX_Patch and NWNX_Patch v1.29
DOWNLOAD
Fixes:
- fixed nwnx_patch crashing on start
New features and improvements:
- reworked former SPELL_RESISTANCE_OVERRIDE variable; new name is "GetSpellResistance" and now takes 0 into consideration, to remove override variable has to be deleted instead
- defensive stance will not be canceled by spellcasting and other non-movement actions, in fact the only way to cancel it would be manually now
- improved defensive stance softcoded script, it is now possible to remove the immobility effect
- softcoded script for pickpocket now uses nwnx functions for decreasing gold and removing item so victim gets no feedback
- more possibilities for attack of opportunity in 70_s2_aoo script; aoo can be set not only to be sneak attack but also death attack or both
- removed hardcoded immunity override for death attack and stunning fist, instead softcoded scripts now uses SetImmunityOverride function to achieve this
New custom functions:
- NWNXPatch_TakeItemFromCreature
Notes:
1) I had to rename SPELL_RESISTANCE_OVERRIDE variable to avoid issues with community patch spells that used this variable but cleaned it improperly using SetLocalInt to 0. This means that this functionality will be lost untill I release new version with updated spell scripts.
2) Added forgotten 'x2_inc_switches.nss' and 'x2_mod_def_load.nss' into plugin resources.
3) Function NWNXPatch_SetEffectIntegerVoid removed.
Right now, I will focus more on code polishing, improving already existing features and bugfixes rather than new features as its time to make a final or stable release. _________________ Community Patch / NWNX Patch / NWNX Files / NWNX Connect |
|
Back to top |
|
|
Valbor
Joined: 26 Dec 2016 Posts: 145
|
Posted: Sat Aug 12, 2017 17:24 Post subject: |
|
|
From Baaleos i already have OnDamage event and there is a bug in which the event is not triggered if the damage was lethal, i wrote him a message in the topic, but i'm not sure that he will fix it |
|
Back to top |
|
|
Antegate
Joined: 20 Apr 2012 Posts: 100
|
Posted: Sat Aug 12, 2017 18:29 Post subject: |
|
|
Thanks |
|
Back to top |
|
|
highv priest
Joined: 01 Mar 2013 Posts: 111
|
Posted: Sat Aug 12, 2017 20:50 Post subject: |
|
|
Valbor wrote: | From Baaleos i already have OnDamage event and there is a bug in which the event is not triggered if the damage was lethal, i wrote him a message in the topic, but i'm not sure that he will fix it |
Technically it's not a bug on his behalf. The damage is an effect and all effects immediately get removed once something dies. I just used nwnx fixes to make the death state not happen from damage and apply effect death once hp is below 0. |
|
Back to top |
|
|
Valbor
Joined: 26 Dec 2016 Posts: 145
|
Posted: Sat Aug 12, 2017 21:21 Post subject: |
|
|
highv priest wrote: | Valbor wrote: | From Baaleos i already have OnDamage event and there is a bug in which the event is not triggered if the damage was lethal, i wrote him a message in the topic, but i'm not sure that he will fix it |
Technically it's not a bug on his behalf. The damage is an effect and all effects immediately get removed once something dies. I just used nwnx fixes to make the death state not happen from damage and apply effect death once hp is below 0. |
Thanks, it solves my problem |
|
Back to top |
|
|
ShaDoOoW
Joined: 20 Aug 2005 Posts: 584
|
Posted: Wed Aug 16, 2017 6:09 Post subject: |
|
|
NWNCX_Patch and NWNX_Patch v1.29b
DOWNLOAD
Fixes:
- fixed critical bug in client plugin that caused very frequent crashing
- fixed buying items from store not placing item where you dragged it
Revisited features:
- removed GetEffectPosition (was only used for now removed function SetEffectIntegerVoid anyway + it was not working properly with system effects)
IMPORTANT EDIT: also removed the improvement made to GetEffectType function. I realized some of the existing custom content scripts might rely on this function to return 0 (like if type is 0 and spellid is bigby then the effect must be knockdown so lets do some action). If you want to find out if effect is knockdown use new function NWNXPatch_GetEffectTrueType instead.
New custom functions:
- NWNXPatch_GetFirstEffect
- NWNXPatch_GetNextEffect
- NWNXPatch_GetEffectTrueType
New custom functions had to be created to actually support the already existing feature to apply effects with duration type INNATE (4) and EQUIPPED (3). Effects applied with this duration type are not retrievable via vanilla GetFirstEffect and GetNextEffect, so if you want to add effect with duration equipped, you will need these 3 functions to remove it. _________________ Community Patch / NWNX Patch / NWNX Files / NWNX Connect
Last edited by ShaDoOoW on Wed Aug 16, 2017 12:13; edited 1 time in total |
|
Back to top |
|
|
Antegate
Joined: 20 Apr 2012 Posts: 100
|
Posted: Wed Aug 16, 2017 7:34 Post subject: |
|
|
Thanks
Quote: | fixed buying items from store not placing item where you dragged it |
The OnAcquireItem event and OnUnAcquireItem event does not fire? |
|
Back to top |
|
|
ShaDoOoW
Joined: 20 Aug 2005 Posts: 584
|
Posted: Wed Aug 16, 2017 7:40 Post subject: |
|
|
Antegate wrote: | acquire/unacquire event |
they should fire normally,
the problem there was that when you buy item you can buy it by right click and confirming price -> which then puts the item into first free space, or you can drag&drop the item from shop into your inventory perhaps last page. My bugfix for buying items with full inventory caused the second possibility to fail and instead put the item into first free spot again. Thats fixes so when you drag and drop item to last page, it will be put on last page as it should _________________ Community Patch / NWNX Patch / NWNX Files / NWNX Connect |
|
Back to top |
|
|
Antegate
Joined: 20 Apr 2012 Posts: 100
|
Posted: Wed Aug 16, 2017 7:45 Post subject: |
|
|
Ок. Now everything is clear
---
Is the event possible before the OnPlayerEquipItem and OnPlayerUnEquipItem events to simulate curse things and make restrictions on item for example on the gender?
Events OnPlayerEquipItem and OnPlayerUnEquipItem often fail and do not work. When you quickly change clothes - you can catch a bug |
|
Back to top |
|
|
ShaDoOoW
Joined: 20 Aug 2005 Posts: 584
|
Posted: Wed Aug 16, 2017 12:10 Post subject: |
|
|
hm, managed to bring OnDamaged event with different method than Baaleos (better method), it will fire the OnDamaged script assigned to player
However, the default script for OnDamage is default and enabling this feature would then called default each time player gets damages. It could break some of the custom content that rely on default such as 3.5ruleset or PRC (they use it as heartbeat). Also, it suffers the same bug as Baaleos method.
I can change the default script for OnDamaged to perhaps 70_mod_damaged but that would involve one extra hook which I would like to avoid.
Another option would be to make this feature disabled by default and allow to turn it on via ini settings, that way player playing singleplayer with PRC won't get affected while builders will be able to use it.
So, not sure if its worth it afterall especially if there is Baaleos' plugin that adds it as well. _________________ Community Patch / NWNX Patch / NWNX Files / NWNX Connect |
|
Back to top |
|
|
Antegate
Joined: 20 Apr 2012 Posts: 100
|
Posted: Wed Aug 16, 2017 12:19 Post subject: |
|
|
Not everyone has a Baaleos' plugin
Quote: |
Another option would be to make this feature disabled by default and allow to turn it on via ini settings, that way player playing singleplayer with PRC won't get affected while builders will be able to use it. |
This is a good option |
|
Back to top |
|
|
highv priest
Joined: 01 Mar 2013 Posts: 111
|
Posted: Wed Aug 16, 2017 15:16 Post subject: |
|
|
The baaleos plugin is public, no? Also I've had no issues with his plugin lol. I already had changed death health to -120 and was scripting it to kill. |
|
Back to top |
|
|
ShaDoOoW
Joined: 20 Aug 2005 Posts: 584
|
Posted: Fri Aug 18, 2017 14:30 Post subject: |
|
|
NWNCX_Patch and NWNX_Patch v1.29c
DOWNLOAD
the package now contains 70_inc_spells include that is used by 70_s2_learnscroll but wasn't included externally
Fixes:
- fixed possible crash when using EffectModifyBAB
- fixed SetEffectCreator NWScript definition that wasn't cleaning variables properly thus leading to unexpected behavior on other effect functions
- fixed taunt softcoded script still using GetEffectType (which no longer returns EFFECT_TYPE_TAUNT)
New or improved features:
- better method of patching shou disciple 2d20 unarmed damage bug
- custom effects (truetype 96 and above, note 96 is used by modifyBAB) will now fire new script 70_mod_effects when applied and removed events, this allows to make new custom effects, example included inside script
- EffectModifyBAB will now show icon (using above events) and also update character sheet
- innate and equipped effects will be automatically applied to dead targets without need to use new function
New custom functions:
- NWNXPatch_ForceApplyEffectToObject
I had to significally rework the custom effects because it could cause crash. Since I had to hook new functions I also added new feature copied from linux nwnx_effects plugin -> OnApply and OnRemove event. And I used it for adding effect icon into the modifyBAB effect - it will show attack increase icon, if you don't like it you can remove it in 70_mod_effects.
NWNXPatch_ForceApplyEffectToObject was added to support OnApply/OnRemove effect for a cases where you would want to affect dead player but didn't want to use DURATION_TYPE_EQUIPPED or INNATE.
BTW I tested DURATION_TYPE_EQUIPPED and what it does is that it apply effect without showing icon and the effect will not be accessable via vanilla GetFirst/NextEffect functions. To handle it use NWNXPatch_GetFirst/NextEffect. INNATE will probably be exactly the same, not sure what the difference, but I think that nwn uses INNATE for system effects like racial type and EQUIPPED for effects coming from itemproperties. If there are any differences between the two outside of the usage I don't know. _________________ Community Patch / NWNX Patch / NWNX Files / NWNX Connect |
|
Back to top |
|
|
Valbor
Joined: 26 Dec 2016 Posts: 145
|
Posted: Fri Aug 18, 2017 18:04 Post subject: |
|
|
Thanx |
|
Back to top |
|
|
Antegate
Joined: 20 Apr 2012 Posts: 100
|
Posted: Fri Aug 18, 2017 19:41 Post subject: |
|
|
Thanks |
|
Back to top |
|
|
|