Area Corruption: Analysis Tools? (RESOLVED - DEBUGGED!)

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 …

  1. Are there any tools that may help to diagnose what may be going on with the area?
  2. 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. :thinking:

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.