Aller au contenu

Photo

Community Patch discussion and development thread


  • Veuillez vous connecter pour répondre
919 réponses à ce sujet

#401
Bogdanov89

Bogdanov89
  • Members
  • 139 messages

I gotta ask about a potential bug/issue i encountered a few weeks ago in the city of Luskan, end of chapter 2 of the original campaign (i was using the 1.71 final CPP, without the latest AI changes).

 

Most of the creatures in Luskan, especially the "Rat Form" bandits, are almost completely immune to my wizard's spells.

 

My lvl14 wizard has greater spell focus in evocation and conjuration and greater spell penetration and a massive intellect (highest possible for its level, plus 6 intel from items).

 

However, 98% of all spells my wizard casted simply failed against most enemies in Luskan... and the "rat form" bandits are just flat out immune to any evocation/conjuration and most necromancy spells.

 

I should mention that all these enemies were labeled as "effortless" against my wizard.

 

Also the "rat form" bandits CONSTANTLY spammed an ability called Sap... it would prevent my character from running, casting or fighting back.
The Sap effect would last about 8 seconds, but they spammed it every 2 seconds... so my wizard was just completely shut down.

 

The thing is, last time i played Luskan (years ago, without CPP), i do not remember anything about Luskan enemies being almost magic immune and the Rat Form bandits spamming Sap constantly until i die.

 

Is it possible that some bug is causing the Luskan enemies to be so crazy?



#402
MannyJabrielle

MannyJabrielle
  • Members
  • 229 messages

Do you have any other haks attached onto your nwn OC modules, and is there anything else besides CCP releated files in your override folder?

I did an OC playthrough not to long ago myself with 1.71 (but no add-ons), and I did not get that problem with enemies in luskan.  None of the were rats had magic immunity, nor any magical defenses in general, and I don't recall seeing one use sap even once.

When you say your spells "failed".... were you failing to pass spell resistance checks?  Were your spells being disrupted on casting?  Was any damage from your spell being absorbed by elemental resistances?  Or were they actually "immune" to the spell?


  • Shadooow aime ceci

#403
Shadooow

Shadooow
  • Members
  • 4 470 messages

checked your report Bogdanov.

 

RE: Sap. I went there with my character, tried no ac/high ac, buffs, they dont using it. However, it is true they possess this ability. But CPP didn't enabled it - it was enabled already in 1.69 and CPP didn't added any further AI functionality for it. A savegame would be helpful - I would like to test it with 1.71 and 1.69 to make sure this is not caused by CPP.

 

RE: spells, they have really high saves and evasion. Thats normal, try magic missile or vampiric touch.

 

Gruflord: nice found, I asked Pstemarie if he can fix it again.



#404
Shadooow

Shadooow
  • Members
  • 4 470 messages

On the AI and stand guard order. Often happens that henchman (or in my case a familiar) is continuing attacking even when you specifically told him to stay ground and stop attacking.

 

Ive looked into AI and this looks like a safety check so associate defends itself when attacked. However it doesn't work very well imo. It checks "last hostile actor" which is a last enemy that attacked/damaged/cast spell/etc. no matter when.

 

Would be perhaps good idea to remove this safety check completely, stop associate from defending?



#405
Bogdanov89

Bogdanov89
  • Members
  • 139 messages

When i say that my spells failed, i mean that i had casted many many many fireballs, scintillating spheres, chain lightnings, acid arrows, burning hands (and similar spells) on a single "Rat Form" bandit - only to see that he is still UNINJURED...

I just do not understand how can something still be uninjured after i had casted over 15 devastating evocation/conjuration spells at it!

 

Il try to get those save games from Luskan uploaded so you can take a look.

 

As for your question, ShadoOow, i am slightly confused - did you mean "stand guard" or "stay ground"?

 

As far as i know, "stand guard" phrase means that your AI should actively attack (even preemptive attack) any enemy that approaches or attacks him or his master.

 

The "stay ground" phrase resembles the "hold position" command, which i would interpret as a more defensive variation of "stand guard" (perhaps only defending yourself and master from enemies that are directly threatening you).

 

 

Either way, i think NWN has 3 combat commands (in radial menu) for your hench/companion AI:

 

Attack Nearest - attack any enemy nearby like a completely raging aggressive madman.

Guard Me - attack any enemy that is trying to charge at me or is attacking me (or anyone from my party).

Follow Me - just follow me and do not do anything at all. The AI will behave like a cute kitten and just follow you around.

 

My own personal opinion is that the AI of hench/familiars/pets should be extremely aggressive - UNLESS set to the "Follow Me" command.

If anything, i would make the AI even more aggressive in the "Attack Nearest" and "Guard Me" modes.

Having a passive AI is something i really do not like, unless i specifically order it to be passive.



#406
Shadooow

Shadooow
  • Members
  • 4 470 messages

your wrong, there is also Heal Me command and "Stand your ground" command which is what im talking about

 

Normally associate is doing nothing if you order this, but under certain circumnstances this doesnt work - I am using familiar as a meat shield for a creature currently held in bigby, to gain extra few seconds to recast if the creature releases. However unless i spam this command, my familiar once in a while tries to attack the creature which results in instant death and me losing the meat shield :) .



#407
Bogdanov89

Bogdanov89
  • Members
  • 139 messages

your wrong, there is also Heal Me command and "Stand your ground" command which is what im talking about

 

Normally associate is doing nothing if you order this, but under certain circumnstances this doesnt work - I am using familiar as a meat shield for a creature currently held in bigby, to gain extra few seconds to recast if the creature releases. However unless i spam this command, my familiar once in a while tries to attack the creature which results in instant death and me losing the meat shield :) .

 

I know about heal, but i really don't remember that "stand your ground" command :(

 

Well, in that case within NWN, "stand your ground" could be made so that the AI is prevented from moving at all - but that it will try and attack targets within it's range of spells/attacks (depending on melee or ranged weapons).

 

Seems to me that, if your comp/hench is just standing still without trying to attack enemies (without moving), he is just loosing out on various defensive stuff (like dodge, flat footed and other things) plus he is not doing any damage.

 

So the Stand Your Ground could be: AI can not move BUT can try and attack enemies within it's melee/ranged capability.

 

Or, if you think such a command would be really useful, the Stand Your Ground could make the AI stand completely still without doing anything - seems like a very situational (limited use) mode though :/

 

Sometimes i would love to put my pet/hench in the doorway (door) that leads into a room, so that it does not move from the door (thus blocking the door) while attacking any enemy that approaches the doorway (while my wizard is casting spells behind the companion/hench.

 

Edit: i have only 2 luskan save games :(

 

http://wikisend.com/...d/412716/Luskan Troubles.rar

 

3 files in there:

Save named 20 is somewhere in chapter 2 BEFORE luskan, if you want to see the entire Luskan from my wizard's point of view.

Save named 21 is somewhere within luskan.

Save named 22 is somewhere a bit later in luskan.

 

There should be plenty of "rat form" bandits still alive in save 21 and 22 - but if there are none, try reaching Luskan from the save game 20, it should be easy and fast.



#408
Gruftlord

Gruftlord
  • Members
  • 350 messages
I always thought that 'stand your ground' is a defensive command, where henchmen would stay where they are nut move and attack (defend) should an enemy come too close

#409
Shadooow

Shadooow
  • Members
  • 4 470 messages

I always thought that 'stand your ground' is a defensive command, where henchmen would stay where they are nut move and attack (defend) should an enemy come too close

Yes thats definitely how its intented. However, it doesn't work very well. Maybe I'll find a better way how to make it, but at this moment I haven't, so thats why Im asking whether not attacking in this mode at all is viable or not.

 

It gets messed up in a situation where the henchman was attacked by a spell or ranged attack and the creature that performed this attack is still alive, but no matter that this happened 5 round ago.



#410
Bogdanov89

Bogdanov89
  • Members
  • 139 messages

I honestly never used the current "Stand your Ground" command.

 

What i can imagine the "new" Stand your Ground being often useful for is the "block the door" tactic where your hench/companion blocks the door (by standing in/on it) and defends himself while you safely cast spells from behind your hench/companion.

 

If it is too hard/difficult to make it properly work, then i guess you can make the companion just stand there and not defend himself.

 

However, aside from looking really silly, it seems like a big waste for the henchmen/companion to be NOT attacking...

 

A lot of companions/henchmen do quite a good amount of melee damage (especially the barbarian and monk henchmen), and it would be a shame if their damage is not used in the Stand your Ground command (without moving).

 

I don't know much about programming, but would it be a simple solution for the companion/hench to enter a "Stand Ground" mode when you order it to "Stand Your Ground" - which would afflict it with a buff that reduces it's movement speed by a 100% (which would prevent it's movement)?

Either that or perhaps it would apply a "root/ensnare" effect that prevents movement, but does not apply penalties like flat footed and the loss of AC/dodge/mobility (or whatever)?

 

Either way the stand your ground command could be useful, especially if the hench/companion can attack (without moving) - but i honestly do not see it being used all that often.



#411
Shadooow

Shadooow
  • Members
  • 4 470 messages

However, aside from looking really silly, it seems like a big waste for the henchmen/companion to be NOT attacking...

 

A lot of companions/henchmen do quite a good amount of melee damage (especially the barbarian and monk henchmen), and it would be a shame if their damage is not used in the Stand your Ground command (without moving).

Thats because you play only single player modules which are almost always made for new characters at lvl 1 and ends before you reach lvl 20.

 

Because in more epic adventures (and persistant worlds which almost always offer 20+lvl areas), animals and familiars are almost useless, their ab is low, their damage sucks and their ac is next to zero, not to mention they lacks tumble so they always provoke attack of opportunity when getting close to enemies and this almost always also switch the enemy focus from you to animal which results in instant death of animal and waste of his damage (in a situation where you can buff your animal (druid) and you are fighting an enemy with very low ab). Personally I use this command very very often usually to keep my familiar/animal alive. Or to disallow my familiar (I use the butterfly) to waste his confusion bolt special ability - he doesn't know the enemy I am fighting is immune so if I don't stop him, he will use it and waste it.

 

Btw, good idea with immobility. This solution would work if wouldnt be another bug in engine - immobile creatures are acting as if they didnt possess any talent at all, allowing them only normal attack but not cast spells.



#412
Gruftlord

Gruftlord
  • Members
  • 350 messages

also, when really immobile, henchmen couldn't defend against a ranged attacker or mage.



#413
Shadooow

Shadooow
  • Members
  • 4 470 messages

also, when really immobile, henchmen couldn't defend against a ranged attacker or mage.

Which is a question whether is this preferred or not. You order him to stay and he moves off the second he is target of a (relatively) harmless spell.

 

Imagine a situation that there are multiple stacked epic traps in a corridor and you must disarm them while you are attacked by ranged creatures on the opposite side. In such situation, you must spam "stay" command like hell otherwise your associate will run into traps and gets you both killed.

 

I know how to make hench switch to ranged in this situation, but its quite problematic with spellcasters as various spells has different ranges and if he picked something with short range he could move towards his target. I really think the immobility is a best way to enforce this, regardless of the talent issue.



#414
Bogdanov89

Bogdanov89
  • Members
  • 139 messages

Since the Stand Your Ground seems to be used exclusively in the high difficulty custom made worlds (and pretty much never in the original campaigns), it is probably logical to make the companion/henchmen be completely passive (no spells, no attacks, no movement) when the Stand Your Ground command is triggered.

 

I just hope that the new Stand Your Ground you are going to make (passive companion/henchmen) will not have issues working with the recent fixes you implemented to the AI (passive AI bug fix and healing improvement).

 

Small off-topic question:

 

In the latest 1.71 CPP when making a Melee-combat "paladin+champTorm" or "cleric+champTorm", is it better to max on strength and take a bit of charisma (for example without buffs/gear, 14 charisma and max level-up strength) - or is it better to take a bit of strength and max charisma (14-16 strength and max lvl-up charisma)?

 

I know paladin/champTorm has a lot of damage boosting stuff that relies on charisma (especially epic great smiting?), but i am not sure how good it is compared to just going for massive strength and all those fancy high (and epic) level strength dependent feats like overwhelming crits?

 

Also, for a melee character, should i go cleric+Torm or paladin+torm?

Cleric has cool spells/buffs but paladin has a higher BAB and paladin levels stack with torm levels for various torm feats (unlike cleric levels).



#415
Shadooow

Shadooow
  • Members
  • 4 470 messages

Small off-topic question:

 

In the latest 1.71 CPP when making a Melee-combat "paladin+champTorm" or "cleric+champTorm", is it better to max on strength and take a bit of charisma (for example without buffs/gear, 14 charisma and max level-up strength) - or is it better to take a bit of strength and max charisma (14-16 strength and max lvl-up charisma)?

 

I know paladin/champTorm has a lot of damage boosting stuff that relies on charisma (especially epic great smiting?), but i am not sure how good it is compared to just going for massive strength and all those fancy high (and epic) level strength dependent feats like overwhelming crits?

 

Also, for a melee character, should i go cleric+Torm or paladin+torm?

Cleric has cool spells/buffs but paladin has a higher BAB and paladin levels stack with torm levels for various torm feats (unlike cleric levels).

opinions vary, but I would take rather more strength as especially when you play OC, you dont need the divine shield/might last very long, the fights there are short usually

 

cleric/torm or paladin/torm? I guess what you like most, in a single player environment, paladin is very viable as well. (On PWs clerics are usually way better choice and the more nerfed is it, the better choice)



#416
Shadooow

Shadooow
  • Members
  • 4 470 messages

Checked your savegame.

 

Sap issue: thats not CPP issue, it happens in vanilla as well and it is intent - they has Sap feat and they can use it. The reason why you havent seen this before is that they will use it only under specific circumstances - specifically when your AC is very very low. Which 9 really is. As far as CPP fixes goes: I can imagine some code to prevent creatures to spam Sap so often.

 

Spells: I dont have this problem in my game when I load your save. The only their protection is evasion, I guess they just rolled high numbers. Or tell me exactly what it reports, spells has feedback.



#417
Bogdanov89

Bogdanov89
  • Members
  • 139 messages

Checked your savegame.

 

Sap issue: thats not CPP issue, it happens in vanilla as well and it is intent - they has Sap feat and they can use it. The reason why you havent seen this before is that they will use it only under specific circumstances - specifically when your AC is very very low. Which 9 really is. As far as CPP fixes goes: I can imagine some code to prevent creatures to spam Sap so often.

 

Spells: I dont have this problem in my game when I load your save. The only their protection is evasion, I guess they just rolled high numbers. Or tell me exactly what it reports, spells has feedback.

 

Thank you for checking out my save games.

 

When you said that the rats have really high saves, especially reflex and evasion - i thought that must be it, since most of my spells are reflex check for damage!

The other creatures (some zombies i think) also were kinda resistant, but not so much.

 

That must be it as well as far as Sap goes - last time i was in luskan i played a warrior/weapon master (and before that a paladin) in heaviest armor, so my AC was probably very high and the rats probably never tried Sap.

 

Also i have forgotten completely to mention that, near the end of luskan, i found out that the dispel magic was able to remove the Rat Form - thus eliminating a lot of their defenses...

 

Well i am relieved that there are no bugs... but that limitation on spamming Sap would be nice if possible (i am not sure is it worth the effort).



#418
Shadooow

Shadooow
  • Members
  • 4 470 messages

Also i have forgotten completely to mention that, near the end of luskan, i found out that the dispel magic was able to remove the Rat Form - thus eliminating a lot of their defenses...

OC bug. At this moment this is not a CPP focus...

 

 

Few new features I managed to make:

- SetItemCharges will be able to set more than 50, I managed to increase the limit to 150

- Implemented and enabled the Boomerang itemproperty. This itemproperty was defined in 2DA files but never worked. Now it will work, only with NWNX though.



#419
doomknight34

doomknight34
  • Members
  • 3 messages

Is it possible to get the source code of the NWNX/NWNCX patch plugins you made?

Sorry for sounding like a broken record, but it seems like I've been ignored. Is the source for the plugins never going to be disclosed? It seems you got some really nice stuff going on and such but unlike regular NWNX plugins the source does not seem to be available. There's so many more features that can be built on if this is public - such as doing the same thing with allowing items to be used while polymorphed with a 2da check. Heck, I didn't even know you can make it so that it reads an extra column in a 2da, much less fathom the method. There's so many things you can expand on now, without pretty much reinventing the wheel (or finding one, aka the pointers) - such as allowing a 2da check to see if you can cast spells while polymorphed or expand on something more elaborate like making new cursors, additional metamagic, etc...

 

And tbh, what I'm saying is it'd be nice to make it public because as far as I'm aware there's not a lot of NWNCX resources available. The only other one I know besides the original "online fix" is the Sinfar NWNCX one. I assume it's not public, but I have not yet registered on their forums to see (likely not worth it as google cache on their forums doesn't show any evidence of a source code). I'm sure I'm not the only one who's interested in the src.



#420
Shadooow

Shadooow
  • Members
  • 4 470 messages

Sorry for sounding like a broken record, but it seems like I've been ignored. Is the source for the plugins never going to be disclosed? It seems you got some really nice stuff going on and such but unlike regular NWNX plugins the source does not seem to be available. There's so many more features that can be built on if this is public - such as doing the same thing with allowing items to be used while polymorphed with a 2da check. Heck, I didn't even know you can make it so that it reads an extra column in a 2da, much less fathom the method. There's so many things you can expand on now, without pretty much reinventing the wheel (or finding one, aka the pointers) - such as allowing a 2da check to see if you can cast spells while polymorphed or expand on something more elaborate like making new cursors, additional metamagic, etc...

 

And tbh, what I'm saying is it'd be nice to make it public because as far as I'm aware there's not a lot of NWNCX resources available. The only other one I know besides the original "online fix" is the Sinfar NWNCX one. I assume it's not public, but I have not yet registered on their forums to see (likely not worth it as google cache on their forums doesn't show any evidence of a source code). I'm sure I'm not the only one who's interested in the src.

Several reasons why I didnt provided source.

1. I cant use the github, tried it but I dont know how to commit new changes, how to upload my source. Too complicated and I dont want to start a new fork elsewhere - not even know what app would I use and how to set it up. The only way I see is that you teach me how to use github by logging into my computer with TeamViewer or something.

2. I dont like my plugin being ripped, redistributed or divided into several other plugins. But okay - I used the API from NWNX community so I am willing to set my pride aside and provide my sources back to that community.

these two points applies to both NWNX and NWNCX, the below points applies only to NWNCX

3. The client version is different. I did quite a lot things the hard way because nobody wanted to help me and provide me their own resources. It is true that I based my plugin on a source of one of the NWNCX plugins that virusman released, but the adressess and API took me incredible ammount of time because nobody shared their resources with me. And think what you want but when they havent shared, why should I?

4. Safety. While working on a NWNCX I found quite a lot of potentional exploits, hell even the adding counterspell into quickslot can be seen as an exploit and I was considering whether to even add it into my plugin or not. By releasing the source, these exploits might soon pop out.

5. I dont really like the way how NWNCX is done. From the start, I wanted to provide a new nwmain.exe without requiring the C++ redistributables, I dont think that plugin architecture has a sense for a client, or at least, the current plugins that virusman did could be all merged with my nwncx_patch into one plugin. But neither was allowed to me so Im working with what I have.

 

Thus, what I see as a solution is to provide source on inquiry with a certain conditions such as no redistribution. Or become a staff and I will give it to you in a expectation you will help me with additional features.



#421
doomknight34

doomknight34
  • Members
  • 3 messages

Several reasons why I didnt provided source.

1. I cant use the github, tried it but I dont know how to commit new changes, how to upload my source. Too complicated and I dont want to start a new fork elsewhere - not even know what app would I use and how to set it up. The only way I see is that you teach me how to use github by logging into my computer with TeamViewer or something.

2. I dont like my plugin being ripped, redistributed or divided into several other plugins. But okay - I used the API from NWNX community so I am willing to set my pride aside and provide my sources back to that community.

these two points applies to both NWNX and NWNCX, the below points applies only to NWNCX

3. The client version is different. I did quite a lot things the hard way because nobody wanted to help me and provide me their own resources. It is true that I based my plugin on a source of one of the NWNCX plugins that virusman released, but the adressess and API took me incredible ammount of time because nobody shared their resources with me. And think what you want but when they havent shared, why should I?

4. Safety. While working on a NWNCX I found quite a lot of potentional exploits, hell even the adding counterspell into quickslot can be seen as an exploit and I was considering whether to even add it into my plugin or not. By releasing the source, these exploits might soon pop out.

5. I dont really like the way how NWNCX is done. From the start, I wanted to provide a new nwmain.exe without requiring the C++ redistributables, I dont think that plugin architecture has a sense for a client, or at least, the current plugins that virusman did could be all merged with my nwncx_patch into one plugin. But neither was allowed to me so Im working with what I have.

 

Thus, what I see as a solution is to provide source on inquiry with a certain conditions such as no redistribution. Or become a staff and I will give it to you in a expectation you will help me with additional features.

 

1. I don't know honestly. I don't really use GitHub other than for comparing code or downloading repos. I would contact virusman if you haven't already.
 
2. Well... I don't really see that happening the in the NWN community (except for that one plugin I mentioned). And if it was me I would not care what happened to my code, as long as you make it public. If it's not then I agree - I don't see the point of being open-source if people were making new, fundamental improvements but keeping it all for themselves. What's the point of sharing when you're not getting anything back, right? I would just say you would be the better person if you did.
 
3. When you say that there's no help or tutorial or ANYTHING for developing NWNX or NWNCX. I know you are not lying when you say that it's a real ***** to have to accomplish what you have done so far, and I'm in fact amazed that you have :) Who knows how many hours you've spent trying to figure out what pointer goes to what or something? Or even the right/best tool to look for? And attempt to even manipulate it into functional code. It's not your fault that people don't want to share their resources or addresses to make it several, several times easier. The only pointer I believe I was able to figure out was character XP and gold - anything else complicated such as trying to figure out what changes the cursor is beyond me. I tried looking at some tutorials and such at nwnx's site, but they don't really explain the deeper concepts. I don't even think it tells you that you need to learn about memory hacking to make a plugin. Unless I'm really stupid and there were better ways?
 
4. I'm not sure if I agree with this one. I'm pretty sure most of them are just script kiddies - they know how to use a tool, but they can't make one. I very much doubt that the exploits in your code will be widespread - there were an amount of fixes in the vault, but if you did not understand scripting/coding at all you will never learn from it (unless the uploader was silly enough to tell you how to do it). I'm inclined to believe it was mostly spread in-game or by some other sources. I'm not entirely sure because I do not play NWN online much.
 
5. Unfortunately, I think that's the most that we will get. Due to the way NWN was handled, I doubt we will ever get a source code. Don't even think GOG was handed the code. But it'd be awesome if they did give it out - just look at Doom's source ports for example and how far they have come. Personally, I think they should be separate plugins. Particularly something like NWNCX functions and NWNCX fixes(bugs, exploits, etc), kinda like how the current NWNX plugins are split... And I don't think you can legally provide a modified nwmain executable for distribution.
 
In conclusion, your frustration is kinda the reason for my frustration ;) No one really likes sharing, and like to keep it private and to themselves, but I guess you do have your reasons. I'd be quite frustrated too if all that were to happen to me. However it just seems a bit ironic to continue the trend and keep it undisclosed. And I'm not really sure why people don't share or help with you - maybe less people care about NWNCX items than NWNX? Personally, I'm a modder for single-player (I could really care less about NWNX except for the functions) and I think the NWNCX part should get some more love. When I found out about your polymorph and 2da I got pretty excited. There's so much more potential power you can achieve on a client imo.
 
Anyways, I'm not sure if I have enough time to be reliable and dedicated contributor/staff that is "worthy" at looking at the code - have a lot going on atm. But are you sure that keeping it private is going to make development easier? If you are mostly worried about exploits, perhaps you can just show us some functions?

Modifié par doomknight34, 02 juillet 2014 - 01:48 .


#422
MannyJabrielle

MannyJabrielle
  • Members
  • 229 messages

Okay, specific questions I mentioned in our convo :)

How does the CPP interact with non-patched NWN? Specifically:

 

1) Module/PW builder builds their module with the CPP installed, and utilizes some of the CPP content (such as one or both of the PcRs), but does *not* attach the 1.70 or 1.71 haks to the module to require the players to have the CPP.... would they see the the CPP content/changes?  This is assuming that the module builder does not add any of their own over-writing 2da's or scripts, but rather installs the CPP, and builds away in the toolset without attaching any custom haks/or haks which do not overwrite CPP content)

 

2) How would the reverse be handled?  If a player with the CPP installed logs onto a PW that was not built with the CPP, nor have any haks/scripts that overwrite the same files the CPP does, would that player be able to take levels in the PrCs? And how would their spells/special abilities behave on the non CPP server if the server has not modied the relevant scripts itself?  Would other non CPP players see the CPP enabled shou/eye abilities?  Would spells such as invisibility circle and circle against alignment function as per CPP, or the default non-CPP bioware behavior?

From a module maker standpoint... exactly what purpose do the CPP haks mentioned above serve other than to "require" CPP to be installed?  I understand there's some tweaks to the appearance.2da, and then there's the classes 2da's.... but if I merge the CPP haks into my module's haks, would the players downloading the module still be required to install the CPP because the cpp's hak contents are now part of my module's own haks



#423
Shadooow

Shadooow
  • Members
  • 4 470 messages

Okay, specific questions I mentioned in our convo :)

How does the CPP interact with non-patched NWN? Specifically:

 

1) Module/PW builder builds their module with the CPP installed, and utilizes some of the CPP content (such as one or both of the PcRs), but does *not* attach the 1.70 or 1.71 haks to the module to require the players to have the CPP.... would they see the the CPP content/changes?  This is assuming that the module builder does not add any of their own over-writing 2da's or scripts, but rather installs the CPP, and builds away in the toolset without attaching any custom haks/or haks which do not overwrite CPP content)

In this case, the CPP content won't be accessable/visible/useable. Specifically, any new itemproperties gets lost as if they werent there (item cost parameter property), creatures with shou disciple/eye of gruums levels will lose those levels (or maybe get replaced by barbarian? not sure I havent really tried this), new adjustable traps will do nothing when triggered.

 

This is definitely a case where the builder should add the patch1.71 hak into module properties as he actually relies on that content. Playing such module without CPP will result into incomplete experiences. But it wont crash game, that I know for sure.

 

 

2) How would the reverse be handled?  If a player with the CPP installed logs onto a PW that was not built with the CPP, nor have any haks/scripts that overwrite the same files the CPP does, would that player be able to take levels in the PrCs? And how would their spells/special abilities behave on the non CPP server if the server has not modied the relevant scripts itself?  Would other non CPP players see the CPP enabled shou/eye abilities?  Would spells such as invisibility circle and circle against alignment function as per CPP, or the default non-CPP bioware behavior?

In this situation, all that actually manifest are client side graphical fixes and improvements, almost everything else is controlled by a server with a few exceptions:

- player will be able to take epic spells with the CPP manner (17lvl caster/18sorc).

- player will see Shou Disciple and Eye of Gruumsh in a class list when levelling up. I am not sure whether they will be selectable if conditions will be met, probably yes, but if player chooses any of the two, server will not allow to complete levelling up and player will have to redo levelling

- some NWNCX features such as possibility to select non standard base class and possibility to put counterspell into quickslot will be possible, other features are again controlled by server

 

Player cannot interfere with server files - it doesnt matter what player got in override/haks/anywhere, all that player is able to modify is a visual appearance. You can make all creatures looks like chickens but only you will see this. And so on. So, safety speaking there are no issues.

 

 

From a module maker standpoint... exactly what purpose do the CPP haks mentioned above serve other than to "require" CPP to be installed?  I understand there's some tweaks to the appearance.2da, and then there's the classes 2da's....

Yes there are some additional tweaks so you can call it a purpose. Features and changes that I thought that should be part of CPP but that would crashed game in situation you described in case #1 thus they need to be in hak.
 

 

but if I merge the CPP haks into my module's haks, would the players downloading the module still be required to install the CPP because the cpp's hak contents are now part of my module's own haks

Well, they would still needed it. I mean, by incorporating the patch171.hak files into your own haks, you will be able to use the hidden appearances or new baseitems (stackable miscs) without risking that player without CPP wont see them. But the hak still doesnt contain classes.2da and itemproperty 2das that are handling those two problematic features that player without CPP wont see. You would have to put those 2das into your haks as well (which is minor licence/permission abuse but I dont care). Same for adjustable traps or swinging blade traps - wont work unless you add also scripts for them into your haks/module (again a licensed)



#424
virusman

virusman
  • Members
  • 282 messages

Shadooow, you're saying nobody has helped you with NWNX/NWNCX and/or someone is restricting you in ways to distribute your work. Since you're not mentioning names, I assume it's directed at me.

I think a lot of people in this community know that I'm willing to help anyone here, you just have to ask.

The only thing I cannot do is share nwmain symbols that I have, because I'm bound by the agreement with BW. I tend to honor any formal or informal agreements I make. Other than that, anyone can ask for suggestions, memory layouts, pointers or any other information I have, and I gladly provide that when I can. You've asked me multiple times, and I did.

NWNCX is open source, that means you can modify and redistribute it in any way you like (although technically you must provide sources for such modifications, per GPL terms). Even better, you can send patches, suggest changes, participate in discussions about its architecture. Give it a try for a change.

 

History has shown many times over these years that only open, community-wide efforts end up being something you can actually be proud of. Not just as an individual, but as a part of something bigger like this community.

Let's work together.

 

P.S. I'll help you with setting up git/github - drop me a line, it's an awesome tool to learn.


  • Pstemarie et KlatchainCoffee aiment ceci

#425
Shadooow

Shadooow
  • Members
  • 4 470 messages

Yes I was talking about you, but not only you. You actually really helped me, though I needed more. But I knew you can't provide symbols so I could not ask you for adress for any function I needed and the offset of every structure I needed. Or at least I didnt think I can. That took me as doomknight expected numerous hours. From the start it took me 1-3 hours to even find the function adress.

 

Anyway - I actually forgot to mention that I get help. Leo-x helped me really lot, with his help I got basically full symbols - so the question is, if I made them homebrew, is there any legal issue applicable on me distributing those symbols for everyone to use? :ph34r: Not that I would plan to do that...


  • WhiteTiger aime ceci