Follow up to #3322
Making a new issue to enable confidential.
I was able to test this bug some more:
In this clip the 1st account uses item on anvil and logs out. The 2nd account re-logs to take the PID of the 1st account, and then receives the messages of the trigger once the 1st account logs back in. Neither account's inventory is updated, but on the server a duplicate object of the 1st player seems to still exist and has its inventory updated(?).
In this clip the 1st player uses a cracker on the 2nd player and logs out. The cracker is not consumed, but the 2nd player still receives the rewards. Full disclosure, I tested this on live server with my alt and it works - the duped items were subsequently sold to the general store and deleted.
It seems that ScriptContext uses the index of the player so that may be a start in terms of fixing these bugs, but I don't know the code well enough to look into it deeper.