Aller au contenu

Photo

Community Patch discussion and development thread


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

#276
Shadooow

Shadooow
  • Members
  • 4 470 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?

What Gruftlord said. Most of the TonyK features are troublesome - I cannot definitely support inventory modification for OC/SoU henchmans because the module wasnt designed for this and when moving between chapters, henchman inventory is reseted. Etc.

 

I can definitely copy/port/add the generic TonyK AI features such as taunt usage (working on it now).

 

Please try my suggestion about a custom TonyK installation - try delete both nw_ch_* and nw_c2_default* set of scripts and check which henchman features works and which does not. If you find out that majority of the henchman features isnt working try return the nw_ch_* set of scripts and then tell us results so we can suggest this kind of custom TonyK installation to anyone who wants vanilla AI with CPP fixes but henchman features from Tony.



#277
Gruftlord

Gruftlord
  • Members
  • 350 messages

henchmen features are actually only needed for OC, and a bit SoU, and maybe MAYBE some very old modules.

SoU did introduce inventory management and some convo options are in fact available (handle locks, buff. missing compared to tonyk: handle traps and weapon preference)

most modern modules have such features.

so really i wouldn't worry too much about TonyK mixed/custom installs. get tonyk if you want henchmen customization in the OC. everything else, we should try to get the CPP updated.

 

the thing that might be a bit more tricky is inventory item usage. i consulted the great wisdom of google, but got mixed results.

it seems that some people got Deeking and nathyra in HotU to use scrolls, and maybe even wands. the results have been mixed. it may be that only certain AI packages use it, or only certain classes (one person suggested, that nathyra leveling as assassin might not use scrolls, while she leveling as wizard might). that may be unfortunate, mainly because it would be tricky to trouble shoot or get reliable results. my current henchmen of preference in SoU is Dorna, and i managed to get her AI to disable traps again (which she does in SoU, you can only not enable/disable that feature as with Tonyk). i'll give her some scrolls ans wands and what not, but a negative result does not have to mean anything, if the AI is only made tu use those as either wizard or Sorcerer.

 

Shadooow, do you have any knowledge about which henchmen/classes i could expect to use inventory items? all (as long as they can use them)? only some that are classified as casters? what about bard and instruments? what about rogues and... everything with UMD?

basically: which henchmen do you suggest makes the most sense as a first test? xanos? or would you say it shouldn't matter?



#278
Shadooow

Shadooow
  • Members
  • 4 470 messages

Shadooow, do you have any knowledge about which henchmen/classes i could expect to use inventory items? all (as long as they can use them)? only some that are classified as casters? what about bard and instruments? what about rogues and... everything with UMD?

basically: which henchmen do you suggest makes the most sense as a first test? xanos? or would you say it shouldn't matter?

Any classes, but noncasters have a very low chance to do that unless higher level. The chance might be a bit higher for a rogue though, not sure exactly.

 

Another factor is if they actually *can* use it. If you can open henchman inventory, then everything thats red for him is out of the question of course.

 

I wouldnt use Xanos because if he use rage he is not expected to do any magic stuff at all - and he will be always starting combat with rage. Imo Tomi/Sharwyn in OC, Dorna in SoU or anyone else with UMD/caster class in HotU. Those are henchmans that should be able to use a scrolls or musical instruments.



#279
Gruftlord

Gruftlord
  • Members
  • 350 messages

ok, thanks. though i think the OC is out, because it doesn't provide inventory control anyway, right? or does it with HotU installed?



#280
Shadooow

Shadooow
  • Members
  • 4 470 messages

ok, thanks. though i think the OC is out, because it doesn't provide inventory control anyway, right? or does it with HotU installed?

right, it doesnt, it can be manually toggled by a variable though I think but for our test it doesnt really matter, this can be tested in SoU with Dorna



#281
Gruftlord

Gruftlord
  • Members
  • 350 messages

excellent. i'll continue my playthough with a massivelly crammed Dorna inventory and will let you know what i can find. my dorna is a 50/50 split with rogue and cleric, if that matters. but if you say this only influences the chances of her using any item, we only need to verify her using a scroll once and maybe a wand and instrument. it might be nice to see her use an equipped item with charges as well. luckily the interlude does provide some.



#282
Shadooow

Shadooow
  • Members
  • 4 470 messages

excellent. i'll continue my playthough with a massivelly crammed Dorna inventory and will let you know what i can find. my dorna is a 50/50 split with rogue and cleric, if that matters. but if you say this only influences the chances of her using any item, we only need to verify her using a scroll once and maybe a wand and instrument. it might be nice to see her use an equipped item with charges as well. luckily the interlude does provide some.

she also should have higher chance to do that when out of spells btw, as for equippable items with spells, try spawning them from console (you can get resref from toolset or maybe there is some list somewhere, i think I saw it)

 

got the taunt feature ported and its working, a minor problem is that taun effect is not possible to identify so in case you are attacked by multiple attackers they might spam it - yet there is only 10% chance and very specific conditions so it shouldnt be an issue

 

Will probably release it as an override once Im finished. (Unless you persuade me to start a "1.72 development" hehe)



#283
Gruftlord

Gruftlord
  • Members
  • 350 messages

... since you asked:

 

i think you got the main part of NWN bugs covered now with 1.71, and also added some nice switches for builders.

what remains now will be smaller issues that crop up every now and then (and probalbly will never end :-D).

 

i would think the best way to handle those is indeed a shorter and smaller release cycle. so lets say: collect issues and fixes for a few months, release a beta for a few weeks and get the next version out. there will probably be no need for longer and more massive changes such as happened between 1.69 and where we are now.

 

there would of course be several possible option for these shorter release cycles (well two i can think of):

 

override updates as separate beta tests, than get collected into a new release every 3-6 months

 

or "true" beta releases, that collect a few fixes, that are then tested by a hand full of voluntiers for a few weeks, before the full release of the next patch.

 

(or a mixture of both: release small separate fix files for override, get positive feedback, release new beta package, get feedback that the package works, release)

 

and yes, of course i would have denied dorna her well deserved sleep for testing purposes. i'll do so soon. *eg*



#284
Shadooow

Shadooow
  • Members
  • 4 470 messages

what remains now will be smaller issues that crop up every now and then (and probalbly will never end :-D).

yea, got almost like twenty tile fixes again :) this kind of content is however not problematic, fits into patch hak nicely

 

scripts are however different case, the new AI fixes and improvements that im going to do would have to be published as an override + erf for module builders. It musn't be in (patch)hak.


  • Rolo Kipp aime ceci

#285
Bogdanov89

Bogdanov89
  • Members
  • 139 messages

I am very happy to hear that you will be further improving the AI of the CPP :)

 

I love the ability of TonyK to tell your companions to unlock chests/traps or pre-cast buff spells... all those advanced controls made companions so much better.

 

Thank you very much fellas!



#286
Gruftlord

Gruftlord
  • Members
  • 350 messages
Ok, i just had my dorna (rogue5/cleric4) use the following in a battle against some slaadi:
Scoll of stone skin (by power of her umd)
Mage armor from a bards instrument (again umd)
And magic missle from a wand.

So all in all the ai is doing her thing. I am not sure if the ai propperly rolls against the difficulty setting for scrolls on umd though. I only got that one confirmed scoll use so far and it did not fail.

Edit: of course none of this is possible without tonyks for the OC henchmen, because they do not allow you to change their inventory otherwise. Is this something the cpp might add?

#287
Shadooow

Shadooow
  • Members
  • 4 470 messages

thanks for checking the item usage - considering as working, will try to take a look whether Tony somehow improved this but I dont think so

Edit: of course none of this is possible without tonyks for the OC henchmen, because they do not allow you to change their inventory otherwise. Is this something the cpp might add?

As I said before - this can lead to several issues like losing all henchman items because they do not transfer between chapters (and I can't support item transfering for sure as I don't want to modify campaign).

 

However, this might be possible to enable via module switch/PC widget as the player's own responsibility. I will look into this.



#288
Pstemarie

Pstemarie
  • Members
  • 2 745 messages

Don't recall if you've caught this yet...

 

The UseSecretTransport() function in x0_i0_secret is broken. It contains a bunch of unnecessary coding and doesn't teleport the PC or his associates. I have reduced the code to the following:

 

 

void UseSecretTransport(object oPC, object oSecretItem=OBJECT_SELF)
{
 
    // Get the destination waypoint
    string sDestTag = GetLocalString(OBJECT_SELF,"Destination");
    object oWaypoint = GetObjectByTag(sDestTag);
 
    // Transport away
    if (GetIsObjectValid(oWaypoint)) {
        TransportToWaypoint(oPC, oWaypoint);
    }
}
 
If you make this change you'll need to recompile x0_o2_use_portal, x0_o2_use_tdoor, and x0_o2_use_wdoor to use the new function.
 
I also added a bit of coding to nw_02_dttrapdoor and nw_o2_dtwalldoor that allows the template of the secret door to be stored on the hidden door trigger placeables so that other door types can be used without having to create a new script each time. Insert the following at line 116 in each script:
 
string sDoorId = GetLocalString(OBJECT_SELF, "DoorTemplate");
 
Builder's can then place the "Hidden Trap Door Trigger" or "Hidden Wall Door Trigger" placeables and use the variable "DoorTemplate" to store the resref of the template to appear when the door is detected.

  • Shadooow et Rolo Kipp aiment ceci

#289
Shadooow

Shadooow
  • Members
  • 4 470 messages

Hmm Pstemarie, it works for me and on the contrary with your script it no longer works without variable - thus it would break any preexisting doors using this scripting.

 

The intented setup is:

- draw a Secret Walldoor trigger

- change trigger tag

- paint a waypoint with tag "LOC_tagofthetrigger" into position where you want to create hidden doors

- paint a waypoint with tag "DST_tagofthetrigger" into position where you want the door to lead into

 

Alternatively it is possible to use the doors standalone, but then the waypoint must be "DST_tagofdoorplaceable" instead.

 

True, the SoU but well even a HotU and OC includes would deserved a rewrite or at least huge improvement, but thats not something I desire to do...

 

EDIT: what I have noticed is that the secret stone door are spawned visually opened. That would be worth to fix... Wonder whether this problem happens in SoU campaign?


Modifié par Shadooow, 07 juin 2014 - 03:42 .

  • Pstemarie et Rolo Kipp aiment ceci

#290
Shadooow

Shadooow
  • Members
  • 4 470 messages

Ive improved and updated the main documentation page for CPP, where are informations about the installation and such.

 

Anyone have an idea for additional FAQ answers or misinterpreted stuff explanations?



#291
Gruftlord

Gruftlord
  • Members
  • 350 messages
Yes, they spawn open in SoU. Though you still have to click them twice to be transported. After the first click the open amimation tries to play resulting in a short jitter of the door.

I have some bad news regarding the use of items: so far dorna has refused to use any spells stored on equipped items. I even bought her shoes with charges of stoneskin, because the ai seemed to favourite the respective scroll very much.

Also do you think you could do something to get the dangly meshes to swing nicelly again? Currently they just spring into their maximum displacement position when force is applied.
There is a thread about this problem here: http://forum.bioware...lex-danglymesh/
It looks like the dangly mesh calculation needs to be slowed down or limited on modern hardware.
Or maybe an nwncx plugin where the dangly properties could be adjusted dynamically? E.g. with an ini file where you can define multipliers for the three values (sway, force and ???) To adjust the dangle based on your own hardware.

Edit about cpp description: the second section about the patch content really doesn't address the content all that much. It only addresses the controversies some of the changes have caused. I'd add a few lines first outlining the actual comtent and the cpp's own view on which things are (and will/might) be included before addressing some of the controversies this causes/caused.
With the text right now readers have a hard time making up their mind without reading the whole patch log.

#292
Pstemarie

Pstemarie
  • Members
  • 2 745 messages

Hmm Pstemarie, it works for me and on the contrary with your script it no longer works without variable - thus it would break any preexisting doors using this scripting.

 

The intented setup is:

- draw a Secret Walldoor trigger

- change trigger tag

- paint a waypoint with tag "LOC_tagofthetrigger" into position where you want to create hidden doors

- paint a waypoint with tag "DST_tagofthetrigger" into position where you want the door to lead into

 

Alternatively it is possible to use the doors standalone, but then the waypoint must be "DST_tagofdoorplaceable" instead.

 

True, the SoU but well even a HotU and OC includes would deserved a rewrite or at least huge improvement, but thats not something I desire to do...

 

EDIT: what I have noticed is that the secret stone door are spawned visually opened. That would be worth to fix... Wonder whether this problem happens in SoU campaign?

 

That explains it - I was using the Hidden Trap Door Trigger that's included as a placeable under Misc Interior - its an invisible object that you place in the exact position and orientation you want the secret door to appear. I wasn't using the actual trigger - I forgot those were there.

 

Thanks for noting the iisue with confining it to a variable - inserting an if statement below the GetLocalString() call at line 117 also restores its functionality as originally scripted - like so:

 

if (sDoorId == "") sDoorId = "NW_PL_HIDDENDR03"; //for nw_o2_dttrapdoor

if (sDoorId == "") sDoorId = "NW_PL_HIDDENDR01"; //for nw_o2_dtwalldoor 

 

I actually prefer the placeable though as it seems to be easier to setup and much more reliable on appearing. Plus the doors don't spawn open. I'll just use my modified scripts in my module. However, I understand about leaving this alone as the triggers do work, but thanks for looking into it further. 


  • Rolo Kipp aime ceci

#293
Shadooow

Shadooow
  • Members
  • 4 470 messages

 

I have some bad news regarding the use of items: so far dorna has refused to use any spells stored on equipped items. I even bought her shoes with charges of stoneskin, because the ai seemed to favourite the respective scroll very much.

 

Thank you, now, could you test that TonyK actually does this? I need to know that because I don't know how to fix that :) .

 

Also do you think you could do something to get the dangly meshes to swing nicelly again? Currently they just spring into their maximum displacement position when force is applied.

I don't think I can do anything about it. I dont even understand what is it and what it should do.

 

Edit about cpp description: the second section about the patch content really doesn't address the content all that much. It only addresses the controversies some of the changes have caused. I'd add a few lines first outlining the actual comtent and the cpp's own view on which things are (and will/might) be included before addressing some of the controversies this causes/caused.
With the text right now readers have a hard time making up their mind without reading the whole patch log.

I agree, however my reason why there are no specific changes is that there is too much of them and I can't list them there. Maybe I could list the most important ones in there but which are those?

 

Anyway I agree with you, but I don't know how to rewrite this section yet... (if you want to help me you are free to rewrite it on your own - just send me a new text via PM I will include it)

That explains it - I was using the Hidden Trap Door Trigger that's included as a placeable under Misc Interior - its an invisible object that you place in the exact position and orientation you want the secret door to appear. I wasn't using the actual trigger - I forgot those were there.

Hmm weird, I moved all placeable secret objects in palette into Secret Object category...

 

Yes a variable would be nice, especially for the trigger search DC (fixed), but I am not interested to do this myself. I can include custom scripts for this provided:

- will use existing scripts

- will be compatible with already placed doors and triggers

- wont be a complete rewrite (aka will still use functions with same names etc.)

- will be properly commented



#294
Shadooow

Shadooow
  • Members
  • 4 470 messages

Yes, they spawn open in SoU. Though you still have to click them twice to be transported. After the first click the open amimation tries to play resulting in a short jitter of the door.

fixed, though I notice that all three doors have weird destroyed animation, but that beyond my abilities, I even had to fix the model in notepad because whatever I did in NWMax it always screw it up completely



#295
Bogdanov89

Bogdanov89
  • Members
  • 139 messages

ShadoOow, will you perhaps be releasing more CPP updates with all the recent fixes you made (including the AI changes/fixes)?



#296
Shadooow

Shadooow
  • Members
  • 4 470 messages

ShadoOow, will you perhaps be releasing more CPP updates with all the recent fixes you made (including the AI changes/fixes)?

After I finish my current task - fixing gaps in beholder tileset (really plenty of them, mainly around the "drips") I will release probably a hak intented to be preloaded with a NWNPatch.ini.

 

As far as AI goes, I have currently only the taut feature and nothing else, will see how it goes, but this content mustn't be in hak so I guess I will release it separately as an override.



#297
Gruftlord

Gruftlord
  • Members
  • 350 messages
Hi Shadooow, i have to report that with tonyk installed dorna refuses to use charges on equipped items as well. Too bad. Maybe you can still find a solution by finding out how the wands and scrolls are handeled and extending the script to equipment slots

Edit: good news about the dangly meshes. It seems only certain meshes react as if they were too light. I should be able to fix those once i find a good guide how those dangly meshes are set up.
If someone wants to help, one such broken mesh is pfd0_chest013 (female dwarves leather armor +6 use this by default). The dangly part will always spring to one side and i do not know why.

#298
Rolo Kipp

Rolo Kipp
  • Members
  • 2 791 messages

<getting...>

 

Edit: good news about the dangly meshes. It seems only certain meshes react as if they were too light. I should be able to fix those once i find a good guide how those dangly meshes are set up.
If someone wants to help, one such broken mesh is pfd0_chest013 (female dwarves leather armor +6 use this by default). The dangly part will always spring to one side and i do not know why.

"Spring to one side"?

Ok, that's intriguing...

 

Edit: Where are you getting your pfd0_chest013.mdl from? I've taken a look at the OC chest and it looks fine (only vertexes that flex are the hem of the shirt).

 

Edit 2: Read the thread you referenced... That issue, I am almost positive, is a driver issue similar to other gfx card issues I've run into read about specifically dealing with hot material updates (the main clue there being OTR's issue with loaded appearances working, but script-changed appearances being buggy). IOW, I don't think the issue in that thread is solvable outside the engine/driver communication. OTOH, I'm not sure the "Spring to one side" issue is the same. Can you screenshot?

 

<...sidetracked, as usual>



#299
Shadooow

Shadooow
  • Members
  • 4 470 messages

I found some time for NWNX development.

 

I have enabled using items in polymorph. However, I don't know how to code this so it will be builder's friendly. At this moment it reads a value from new collumn "UseItems" in polymorph.2da and if its 1 then it allow to use any item and if its -1 it even disallow to use potions.

 

However, I don't think I can hide all items under single value because there are:

- potions

- scrolls

- wands, rods

- miscelanious

- books

- containers

- traps

- thieves tools

- healers kit

- musical instruments

 

All these items can have cast spell or other unique power, however I'm not sure that every intelligent shape should be able to use them all. Furthermore, there is a question of the settings from builder side. Apparently having a single collumn for each of the item category is not very friendly. Making the collumn UseItems to be a bitflag isn't too...

 

Any suggestions about this?



#300
henesua

henesua
  • Members
  • 3 878 messages

What is wrong with a bit flag?