Backpack automatically closing on character log in
Since Pacific is down I have been logging in to my characters on other shards to collect the Valentines plushies using the EC. Something I am finding annoying is the backpacks of all of the characters are automatically closing when the character enters the world. This is happening on Atlantic, Origin, and Catskills. This never happened on Pacific. I have tried deleting the shard's folder and rebuilding the characters's settings from scratch to no avail.
Is anyone else encountering this?
Is anyone else encountering this?
Comments
Never be afraid to challenge the status quo
Character A's backpack is open, you log out, log back in and it's still open.
Everything is fine.
Swap to Character B, the backpack is open, log out, log back in and the pack is still open.
Everything is still fine.
Swap back to Character A and on login Character A's backpack flashes open, then closes.
Everything is not fine.
This has something to do with the way the EC is saving information into the individual character file when switching between characters, or with multiple characters active at once.
If you examine Character A's Character File once the backpack is flashing open then closing, you'll probably find the open containers list at the top of the file still showing the backpack as opening on login:
while the UI Variables section Boolean Value is reset:
<BoolVar name="BackpackOpen" value="false" />
Since the Character file is read from top to bottom on login, the backpack is opened, then closed later in the file. (At least this is what I've found, but it's always possible to have more than one bug, eh?)
Anyway, once this thing starts propagating, it moves through most of my characters on log in. The only way I have found to fix it, is just to re-open each character's backpack, then log out and back in to make sure the pack is opening correctly, and the UI section "customization" of the open pack is saved as "true" to each character's file. (Or you could go through each character's file and make sure both the lines in each file are set correctly.)
However, there is probably a character you'll miss where the Boolean is set to "false", or where the client will not save the "true/false" correctly on logout - this seems to be the origin of the bug, and you'll just end up repeating the process again.
I have not found the .lua to bugfix this, but we obviously can, as Pinco's doesn't have this issue. (Or maybe Pinco just removed the redundant Boolean customization...)
Anyway, no it's not just you. Hopefully this can at least provide a bit of (possibly correct) explanation and (might) point you in the direction of a fix.
In the function EquipmentData.Shutdown() add this line
WindowData.PlayerEquipmentSlot[EquipmentData.EQPOS_BACKPACK] = nil
What the issue was is when you logout of a character the lua code was not cleaning up backpack data and when you login to a different character the backpack data for the previous character was still around until the current character's data gets downloaded from the server. The delay in downloading the data came at the same time as opening the backpack on login which caused the code in Interface.BackpackCheck to think the backpack was not opened and call Actions.ToggleInventoryWindow() as a result.