In the process of updating/testing my module, I experienced an area where some placeable objects did not appear to behave properly.
When clicked on, a customised workbench and some other container objects all closed their inventories within the space of a heartbeat. I thought (and maybe still think) it may be related to some heartbeat call from somewhere cancelling the opening, but I turned off all heartbeat scripts that I thought were have an impact, including PC and module, and the issue is still present.
I also copied a version of the “faulty” placeable object to another area, retested, and the object now worked!
So, I suppose my question is two-fold …
- Are there any tools that may help to diagnose what may be going on with the area?
- Any other suggestions to consider?
I’m about to delve back into some really early module versions, to test the area there.
UPDATE: I just tested an area that goes back to January 2021 and the issue still persists.
UPDATE: OK, this is really strange … When the PC clicks on this placeable, the inventory opens as normal, but within a few seconds, another action occurs (star in the action queue) that closes the container.
UPDATE: Using the default container.xml, I get the same result, although I don’t see the second action star in the queue. The container does still fail to open or closes within a heartbeat though.
UPDATE: I made a copy of the area and am about to start removing objects to see if anything is causing this … pending results.
RESULT!.. OK, deleting some nearby creatures has stopped the issue … looking closer at the main monster HB script.
… Well, it appears to be related to NPCs attacking targets during target practice, but I am still not sure how this is affecting the PCs … So now I will try digging deeper into the PC scripts to see if they stop any current action when combat (of any type) is taking place.
FOUND IT! … It was an edit I made to a script in preparation for v1.88E where I had not checked the last damager to an object. The GUI closes if a placable is damaged … so every time an NPC was “damaging” a practice dummy, I had not checked it was the PC, but had closed any open container GUI as a consequence as if they had done the attacking.