Author Topic: Community Patch discussion and development thread  (Read 20368 times)

Legacy_Gruftlord

  • Sr. Member
  • ****
  • Posts: 490
  • Karma: +0/-0
Community Patch discussion and development thread
« Reply #285 on: June 05, 2014, 07:27:55 pm »


               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?
               
               

               
            

Legacy_Shadooow

  • Hero Member
  • *****
  • Posts: 7698
  • Karma: +0/-0
Community Patch discussion and development thread
« Reply #286 on: June 05, 2014, 11:34:39 pm »


               

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.



               
               

               
            

Legacy_Pstemarie

  • Hero Member
  • *****
  • Posts: 4368
  • Karma: +0/-0
Community Patch discussion and development thread
« Reply #287 on: June 06, 2014, 01:23:07 am »


               

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.


               
               

               
            

Legacy_Shadooow

  • Hero Member
  • *****
  • Posts: 7698
  • Karma: +0/-0
Community Patch discussion and development thread
« Reply #288 on: June 07, 2014, 04:23:00 am »


               

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 .
                     
                  


            

Legacy_Shadooow

  • Hero Member
  • *****
  • Posts: 7698
  • Karma: +0/-0
Community Patch discussion and development thread
« Reply #289 on: June 07, 2014, 04:26:57 am »


               

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?



               
               

               
            

Legacy_Gruftlord

  • Sr. Member
  • ****
  • Posts: 490
  • Karma: +0/-0
Community Patch discussion and development thread
« Reply #290 on: June 07, 2014, 10:22:14 am »


               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.
               
               

               
            

Legacy_Pstemarie

  • Hero Member
  • *****
  • Posts: 4368
  • Karma: +0/-0
Community Patch discussion and development thread
« Reply #291 on: June 07, 2014, 12:52:31 pm »


               


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. 



               
               

               
            

Legacy_Shadooow

  • Hero Member
  • *****
  • Posts: 7698
  • Karma: +0/-0
Community Patch discussion and development thread
« Reply #292 on: June 07, 2014, 03:54:02 pm »


               

 


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 '<img'> .



 


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



               
               

               
            

Legacy_Shadooow

  • Hero Member
  • *****
  • Posts: 7698
  • Karma: +0/-0
Community Patch discussion and development thread
« Reply #293 on: June 07, 2014, 07:40:11 pm »


               


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


               
               

               
            

Legacy_Bogdanov89

  • Full Member
  • ***
  • Posts: 155
  • Karma: +0/-0
Community Patch discussion and development thread
« Reply #294 on: June 07, 2014, 08:43:34 pm »


               

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



               
               

               
            

Legacy_Shadooow

  • Hero Member
  • *****
  • Posts: 7698
  • Karma: +0/-0
Community Patch discussion and development thread
« Reply #295 on: June 07, 2014, 08:48:57 pm »


               


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.


               
               

               
            

Legacy_Gruftlord

  • Sr. Member
  • ****
  • Posts: 490
  • Karma: +0/-0
Community Patch discussion and development thread
« Reply #296 on: June 08, 2014, 10:56:54 am »


               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.
               
               

               
            

Legacy_Rolo Kipp

  • Hero Member
  • *****
  • Posts: 4349
  • Karma: +0/-0
Community Patch discussion and development thread
« Reply #297 on: June 08, 2014, 02:46:56 pm »


               

<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>



               
               

               
            

Legacy_Shadooow

  • Hero Member
  • *****
  • Posts: 7698
  • Karma: +0/-0
Community Patch discussion and development thread
« Reply #298 on: June 10, 2014, 03:00:59 am »


               

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?



               
               

               
            

Legacy_henesua

  • Hero Member
  • *****
  • Posts: 6519
  • Karma: +0/-0
Community Patch discussion and development thread
« Reply #299 on: June 10, 2014, 05:46:32 pm »


               

What is wrong with a bit flag?