Aller au contenu

Photo

Community Patch discussion and development thread


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

#251
Shadooow

Shadooow
  • Members
  • 4 470 messages

Another question..if i want to add your patch to an existing module  what must i do?

Basically only thing you need is to install it on your machine. Every module you run will then use content of this patch.

 

+- Since the conflicting files (standard scripts/models/etc that are saved inside module/its haks) will be always chosen from the module/haks in order to maintain compatibility and module functionality. So if you would want to take full effect of the patch, you would need to:

 

1) merge scripts that are saved in module with a new versions from patch

2) merge 2da files that are saved in module haks with a new versions from patch



#252
Talon

Talon
  • Members
  • 51 messages

I asked because i saw a patch171.hak file. I don't need to add it to my module?

Only need that me and other player have 1.71 installed on pc?

How could i find the script of 1.71 to merge? if is not too difficult of course :)



#253
Shadooow

Shadooow
  • Members
  • 4 470 messages

I asked because i saw a patch171.hak file. I don't need to add it to my module?

You can but I wouldn't recommended it. The main functionality of this hak is to make sure that everyone logging into your module/server will have CPP 1.71 installed. Since however it works regardless of client version this is not needed and its only up to builders' decision. Of course it contains few more extra features (that werent possible to do without hak) but all are really optional.

 

 

Only need that me and other player have 1.71 installed on pc?

Only you need it, if you are hosting a module via LAN then its your computer and your NWN files what determines the version of the module (basically in this case you are acting like a server). So patch will take effect for everyone even for those who doesnt have it installed.  //Of course this is affecting only certain patch content, patch also contains a graphic corrections/improvements which are only visible to those who will install it. Anyway, you dont have to care about this. Thats each player's decision.

 

 

How could i find the script of 1.71 to merge? if is not too difficult of course :)

First of all. If you are not an experienced builder or the module author you shouldn't attempting this. Try rather contact the original module author - most of the modules arent updated to 1.69 anyway and ask him if he can do this, or find a volunteer with enough experiences. But there is a procedure how to do this:

 

When installing patch from the executable isntaller choose Builder resources in the component list. If you installed manually, you need to download this package separately in the CP project vault page

 

Then you get a folder 1.71 builders resources where are:

- all 2da files source

- 1.71 exculusive 2da files (mean only those that were modified by CPP)

- hak only 2da files (2da you can find in the patch171.hak which are slightly difference as they add extra functionality)

- auto 2DA merger (external tool to automatically merge 2da files)

- spellscripts (divided into specific folders spells, creature abilities, includes etc...)

 

so you want to look into spellscripts. Also you can view the CPP script version by the standard way in toolset by opening it from core resources. This is however not a case of an already present (outdated) script - in this case you would need to delete it first (which is nonsense because you need it for comparing).

 

Basically, you use a comparing tool such as Beyond Compare 2 on modules/temp0 folder and each folder inside the 1.71 builders resources/1.71 spellscripts and view the differences.



#254
MannyJabrielle

MannyJabrielle
  • Members
  • 229 messages

Shadoow, is the documentation link in your signature the only documentation for the community patch?



#255
Shadooow

Shadooow
  • Members
  • 4 470 messages

Shadoow, is the documentation link in your signature the only documentation for the community patch?

basically, the Patch 1.71 install gives you NWNv170.txt and NWNv171.txt into NWN root folder - the 1.70 text file is in a format of old patch informations that is very strict changelog, while 1.71 is in a format of very detailed changelog for all 1.71 betaversions that were released.

 

Though there is also a Spell changes, Spellability&Feat changes documentation.


  • MannyJabrielle aime ceci

#256
MannyJabrielle

MannyJabrielle
  • Members
  • 229 messages

Ah! thanks!  That's why I didn't see them... I looked in the docs folder, and in the builders resource folders, didn't look through the root nwn folder :)

Gotta say I'm late to getting aroudn to checking it out, but I am loving it.



#257
Shadooow

Shadooow
  • Members
  • 4 470 messages

Ah! thanks!  That's why I didn't see them... I looked in the docs folder, and in the builders resource folders, didn't look through the root nwn folder :)

Gotta say I'm late to getting aroudn to checking it out, but I am loving it.

Docs folder would be better I agree but in the current state of documentation it is a bit pointless anyway. There is so much work remaining on this, but I really need help with that.

 

Specifically someone who can design a better documentation format/structure and someone who can take existing material and rewrite it into more understandable english. And possibly someone who can make some images/demo module etc.


  • Rolo Kipp aime ceci

#258
MannyJabrielle

MannyJabrielle
  • Members
  • 229 messages

No promises, but I might be able to help you with that.  I'm reading through the documentation now, trying to sort out all the changes and such... I may start to reorganize all the information for my own comprehension and sanity.  After I get though all of it, and I think my reorganized version might be a more user friendly layout/presentation, I'll send you a copy.

And... a follow up question about the patch and your D&D 3.0 evasion fix from the old vault... would I need to install the evasion fix as if the spellscripts were modified, or could I import the erf and not have to worry about losing any features from the patch's changes?  Scripting is not my strong point unfortunately.



#259
Shadooow

Shadooow
  • Members
  • 4 470 messages

No promises, but I might be able to help you with that.  I'm reading through the documentation now, trying to sort out all the changes and such... I may start to reorganize all the information for my own comprehension and sanity.  After I get though all of it, and I think my reorganized version might be a more user friendly layout/presentation, I'll send you a copy.

And... a follow up question about the patch and your D&D 3.0 evasion fix from the old vault... would I need to install the evasion fix as if the spellscripts were modified, or could I import the erf and not have to worry about losing any features from the patch's changes?  Scripting is not my strong point unfortunately.

The evasion modification is in a format that allows a conversion into any spell script set without losing anything.

 

1) Open toolset and your module. Do there minor change in order to you could save the module, but don't do that now.
2) Download Include adder and launch it in modules/temp0 folder. Input: _sh_inc_core and once it will be done, remove add_include.exe from this folder.
3) Download EvasionFix_spellscriptschanges.zip and extract it somewhere.
4) Copy _sh_inc_core.nss and nwscript.nss to modules/temp0 folder.

4b) Open nw_i0_spells.nss include file in toolset and add #include "_sh_inc_core" somewhere at the top
5) Copy content of "1.69 spell scripts with _sh_inc_core included" folder to modules/temp0 folder. Do NOT overwrite any file.

5) Take all scripts in a 1.71 builders resources/1.71 spell scripts/ and put it into one folder for easier mainetance,

-----------------------

optional step to avoid copying scripts that wont be used:

5a) Make a backup copy of this folder.

5b) Perform mass replace in those scripts from "GetReflexAdjustedDamage" to perhaps "DNDGetReflexAdjustedDamage".

5c) Compare folder with all scripts with backup folder in a comparing program (eg. Beyond Compare 2) and delete every matches

5d) Perform mass replace back to "GetReflexAdjustedDamage"

------------------------

and copy the content of the folder into modules/temp0
6) Save the module (for sure) and go to Build -> Build module. Keep checked only Compile and Script below.
7) Press Build and save the module again.
Congratulations you have finally installed EvasionFix.


  • MannyJabrielle et Rolo Kipp aiment ceci

#260
MannyJabrielle

MannyJabrielle
  • Members
  • 229 messages

Thanks!



#261
Shadooow

Shadooow
  • Members
  • 4 470 messages

Thanks!

Scratch that - I made a new version and uploaded it on new vault. So follow the instructions there (updated recently with instructions for players - but i guess you are builder?).

 

 

Anyway, so I modified the Community Patch Project page on new vault to acts as a hub for all informations regarding CPP. I hope this is now better organized and easier to find the informations/files you are looking for.

 

Unfortunately all discussion/comments from the old CP "project" that I used on former bioware forums is lost. (Even if its still able to get there somehow, I do not intend to save them).



#262
Gruftlord

Gruftlord
  • Members
  • 348 messages

heyhey, liking the 1.71 version so far.

i have started a new playthrough of SoU with 1.71RC4, and just recently continued into the interlude after i upgraded to the final version of 1.71 (not much time for NWN at hand unfortunatelly).

i had uninstalled all ToniK AI haks, since i wanted to give the CPP AI fixes a look/chance.

 

anyway, just as i entered the interlude, i encountered an old bug with Dorna Trapsringer, where she would refuse to spring the traps any more. i leveled her as an Cleric/Rogue mix, which many hint at might be the problem.

 

i found this thread with explanations how to fix/work around the issue mid-game:

http://www.sorcerers...ead.php?t=13820

and it worked. i'm not sure what the real/unterlying issue is though.

 

is this something the CPP could address (maybe fix a broken SoU script/levle up template)? or might the culprit by hidden too deep within the Interlude.nwm?



#263
Shadooow

Shadooow
  • Members
  • 4 470 messages

 

is this something the CPP could address (maybe fix a broken SoU script/levle up template)? or might the culprit by hidden too deep within the Interlude.nwm?

I'll take a look. However I suppose that the problem might be in a custom script the module uses - in such case CP cannot adress it on its own, the only solution would be a distribution of the modified Interlude.nwm which isn't the best idea. But this sounds like a quite serious issue so I could make an exception. 1.71 is out anyway so this would have to be a 1.72beta content or I could pack it into patch hak which would worked in this case (higher priority).



#264
Gruftlord

Gruftlord
  • Members
  • 348 messages

hm, so all the CPP plugins are lower priority than the official nwm files?



#265
Shadooow

Shadooow
  • Members
  • 4 470 messages

hm, so all the CPP plugins are lower priority than the official nwm files?

Yes, campaigns, the nwm files are just like any module in this regard.

 

Deeper explanation. The priority is this: core resource < override < module < hak. Community patch alters the core resources so it has lowest priority to maintain 100% custom content compatibility - ie. will not break anything.

 

I will post there as soon as I get some info about this bug. At this moment its just guessing.



#266
Gruftlord

Gruftlord
  • Members
  • 348 messages
Hm, surelly the override and patch folder have a higher priority than the modules. Otherwise override stuff like ccoh and tonyk wouldn't work.
So this might be a route in these hard cases.

What i do not know is: are the scripts stored within the modules themselves, or do the nwms refer to some core script file?

#267
Bogdanov89

Bogdanov89
  • Members
  • 139 messages

What does the CPP 1.71 (final) change as far as the AI goes?

 

I like using the Tony AI, but are the CPP 1.71 AI changes better than it?



#268
Shadooow

Shadooow
  • Members
  • 4 470 messages

Hm, surelly the override and patch folder have a higher priority than the modules. Otherwise override stuff like ccoh and tonyk wouldn't work.
So this might be a route in these hard cases.

What i do not know is: are the scripts stored within the modules themselves, or do the nwms refer to some core script file?

patch folder is like hak, as for override its possible I got it wrong I wasnt sure about this, wrote it without possibility to recheck.

EDIT: I got it right, the reason why TonyK works is because majority of modules doesnt contain the files it uses

 

As for second question, Im not sure how to answer. There might be a modified core resource scripts or custom scripts that doesnt exists in core resources. As long its saved there it cannot be overriden by patch.
 

What does the CPP 1.71 (final) change as far as the AI goes?

 

I like using the Tony AI, but are the CPP 1.71 AI changes better than it?

Both are completely different projects, TonyK gives extra possibilities/features especially for henchmans while CPP fixes and improves AI generaly. I dont think CPP AI could substitute TonyK regarding features for player. The CPP AI is especially worth for a servers where you dont care about henchmans but you want to maximize monster effectivity or allow them to do things they couldnt before. As a main example, casters can HIPS cast with CPP and you can also make a monsters using throwing weapons.

 

Maybe Gruftlord can tell you more about the CPP AI experiences in single player.


Modifié par Shadooow, 02 juin 2014 - 10:22 .


#269
Bogdanov89

Bogdanov89
  • Members
  • 139 messages

Are the CPP AI changes compatible with TonyK AI?

 

Is there any specific method of installation needed to make sure that CPP AI and TonyK AI are both active (work together)?



#270
Shadooow

Shadooow
  • Members
  • 4 470 messages

Are the CPP AI changes compatible with TonyK AI?

 

Is there any specific method of installation needed to make sure that CPP AI and TonyK AI are both active (work together)?

Compatible in terms TonyK works with CPP - yes (everything is, sorry for repeating but this is what everyone asks so I hope you dont mind). Compatible in terms that CPP fixes translates into TonyK modifications - no (and btw only a few scripting systems allows this kind of compatibility such as my old evasion fix or improved spellhook system).

 

No. TonyK needs to be updated, theres no other way around that. Or perhaps a new AI modification based on TonyK can be made since CPP offers few of the TonyK features and basically all fixes from TonyK. And some of the extra content such as familiars might be redundant now (when CPP offers familiar fixes from The Krit&others).

 

Deeper explanation: this is because TonyK contains basically all AI and henchman related files and gives them into override so game uses them instead of CPP version from core resources.



#271
Gruftlord

Gruftlord
  • Members
  • 348 messages
I think if you install tonyk, it will be active and win over cpp. The question is: how much of cpp gets lost this way? Tonyk doesn't modify that many scripts, so it is possible that the majority of fixes still works. Also it is possible that tonyk contains numerous fixes as well.

But looking at the extensive AI fixes in cpp i decided that tonyk might not be needed any more. Tonyk claims to add new features to enemy ai (and it does). Looking at the fixes in cpp i can see that many features from enemies in vanilla without tonyk previously just didn't work because they were broken. So in a way cpp enables "new" ai features as well, or makes them available for the first time to enemies.

Cpps approach sounds much more conservative, meaning it doesnt contain all the aggressive adjustments tonyk has,which would sometimes break mods (most notoriously wandering monsters, which was disableable).

For all this i decided to give a pure cpp playthrough a chance, and see if i do miss anything from tonyk and if i see any new behaviour thanks to cpp.

So far i can report, that the enemies seem to react quite well, though SoU is a bit lowlevel to really tell yet how the enemies behave once they get a few more abilities and spells. Dorna as a henchwoman does her job well aside from an ai bug in SoU. Her spell selection is a bit short on buffs at cleric lvl 4, which im sure was biowares decision.

So far it looks like cpp does provide a good ai with enemies not doing any stupid things. I'm curious to see how it holds up in HotU. I do have to say that i miss being able to micromanage my henchmen. But that is only a problem in the vanilla campaigns.

Edit: i just gave the tonyk readme a look again. Aside from the many conversation options for the henchmen, it seems most other aspects (weapon switching, barbarian rage, not wasting spells the target is immune against, sneaking) are handeled by cpp now, too. So i think unless you want the henchmen convo options or wandering monsters, tonyk is no longer a must have.

#272
Shadooow

Shadooow
  • Members
  • 4 470 messages

Edit: i just gave the tonyk readme a look again. Aside from the many conversation options for the henchmen, it seems most other aspects (weapon switching, barbarian rage, not wasting spells the target is immune against, sneaking) are handeled by cpp now, too. So i think unless you want the henchmen convo options or wandering monsters, tonyk is no longer a must have.

I just read it too and it seems there are few crucial features that CPP doesn't have. Some sounds very good and I will check the source code for this to see how Tony did it. Specifically the saving spells when fighting too weak creatures/bards going into melee when in close combat. (Extra curious about the code because I see there potential issues in certain situations that I encountered on high magic worlds such as easy monsters being overboosted etc. - seems to me that TonyK AI is designed especially for the OCs)



#273
Shadooow

Shadooow
  • Members
  • 4 470 messages

I just read it too and it seems there are few crucial features that CPP doesn't have. Some sounds very good and I will check the source code for this to see how Tony did it. Specifically the saving spells when fighting too weak creatures/bards going into melee when in close combat. (Extra curious about the code because I see there potential issues in certain situations that I encountered on high magic worlds such as easy monsters being overboosted etc. - seems to me that TonyK AI is designed especially for the OCs)

Just checked Tony K AI script sources.

 

Its impossible to compare it with 1.71 scripts because original author chosed different route to implement his changes. He went to the road of recreating the AI routines from scratch, while I only modified/improved upon Bioware's core scripts in CPP. So far when looking to the scripts I can't understand it because every action is divided into several subfunctions and in order to understand the AI one has to learn each of those functions and how they are called. That quite difficult and time consuming and I would say its also redundant as if I would want to make TonyK work with CPP I would rather used CPP as a base and adding TonyK extra features into Bioware/CPP scripts instead.

 

Some of the TonyK features I found interesting:

6) Thieves should no longer try to disarm traps that are behind closed
   doors.

- Never heard about this issue, can someone verify its a still problem in 1.71?

11)Sharwyn (NWN Official Campaign) will now sing the appropriate
   number of Bard songs for her level per day.

I read later that she is supposed to sing only once per rest. Can someone verify if the problem still exists in 1.71 and if so, where (because I dont think its broken in HotU...)?

14)Taunt is now enabled for associates or NPCs who have the skill.
   They will attempt to Taunt 10% when the target is not too easy.
   Enemies will also attempt to Taunt the PC and associates. It
   might be time to get some concentration skill.

CPP is missing this feature for sure.

16)Tony K's caster AI is provided in the default install. It has checks
   for area of effect and immunities of target. It also includes
   improved code for healing, curing conditions, and turn undead. It
   also allows the use of non equippable spellcasting items.

Can someone verify that henchmans/monsters in 1.71 doesnt use non-equippable spell filled items such as scrolls/wands/rods/musical instruments (provided they are able to)?

 

 

As for installation of CPP/TonyK to work together. There might be a way. Untested but looking at the source and files modified its possible that you can get both to work in a certain way: After installing TonyK AI, try to delete all scripts nw_c2_default*.nss and nw_ch_ac*.nss. Keep all others. If im reading it correctly, the henchman conversation features will still work (at least those that are instant - it wont work on the new continual options). Or alternatively delete only the nw_c2_default - that way all the henchman features will work however enemies will use vanilla AI with improvements from CPP.



#274
Bogdanov89

Bogdanov89
  • Members
  • 139 messages

It would be very amazing if the CCP could also have additional AI improvements that the TonyK AI has!

 

ShadoOoW, is there any possibility for you to implement into the CCP all these fancy AI improvements that TonyK made so long ago?



#275
Gruftlord

Gruftlord
  • Members
  • 348 messages

??? as we wrote, it looks like most of the TonyK features are available in CPP already. the only noteworthy features missing are the ones outlined by Shadooow. So it boild down to: Taunt usage of enemies (confirmed as not present in CPP), 2 bugs that have gone unnoticed (and it's not even clear whether they do still exist) and scroll/staff/bard instrument usage (also unreported/verified as a bug)

 

Shadooow will most likelly look into these, and if you want to help, as i do, get yourself CPP, uninstall TonyK (it can easily be reinstalled at any time) and try to verify or disprove the 3 open questions.

 

so anyway. taunt, scroll, instruments; do enemies and henchmen use them? if so, i see little reason for TonyK. i personally never liked the wandering monsters, and the improved AI often sticked to a "best tactic" approach, making it predictable at times. "Oh, see that high level mage? i bet he'll start with time stop followed by haste, bigbies and then IGMS spam.... oh there we go, he did"