zerodowned

Moderator
This is just an annoyance, I hadn't noticed it until using the MasterStorage/MasterLooter backpack and it closes every time I recall.
I don't see anything in it's script, or Backpack that it inherits from, or Container that it inherits from.

Seems like the culprit might be server mobile or item.

Anyway, is there a simple way to stop them from closing?
 
I am not sure if it is actually server side but that should only happen if you switch facets.
 
Might be worth testing to pinpoint what does it.

If it's client-side (closing the containers), my guess is when the server sends the MapChange or MapDetails packets.
 
Might be worth testing to pinpoint what does it.

If it's client-side (closing the containers), my guess is when the server sends the MapChange or MapDetails packets.
I have a feeling this is client-side, handled by packets. Years ago, when playing around with Universal Storage Keys, I noticed that certain keys would open when I recalled (not close, but actually open). There is also a complex food package floating around that has tools that open when you recall as well, again, not close, but open.

I have also seen other containers closing during recall. However, that used to happen on OSI, did it not? Your backpack was the only bag that "never" closed.
 
I wonder if it's linked to the oddity that sometimes when I login, I get a cursor target pop up, as if I double-clicked an item in my pack.

I do have a theory on it, but never looked into it fully, but for some reason I believe the client sends an item use request for the first item in your pack. IE, pack.Items[0] which would explain why those keys opened up automatically. It seems to send this request upon initial login and sometimes when changing facets. I usually just cancel the target and forget to investigate, lol.

I assume this is also how the client re-opens your backpack when you login - by sending an item use request for mobile.Items[0] which should be your Backpack, this can be verified by using [ViewEquip and noting the backpack in the first slot.

I can only imagine the client needing to send these use requests when it has received a full equipment update packet from the server, so perhaps it happens when a MobileIncoming is sent to the same client as the one connected (not when other players receive your MobileIncoming)
 
Some have argued over the years that UOAssist, Razor, UOSteam, etc, were the programs causing these items to open, but if that were the case, would it not open "all" containers? I would think so, but this doesn't happen with all containers. A character's backpack is also the only container you can "minimize", but that is likely just opening and closing it.

I wonder if attaching a container to a toolbar would allow for it to remain open (like a quick launch toolbar that reopens the container)?
 
The bank box works similarly, if a container is a direct child of your character, it will not be closed automatically. That's why ServUO is littered with BankBox.Close() calls in things like Mobile.Move()
 
I know with bankboxes this is what causes them to close: m_Owner.Send(RemovePacket);

But it doesn't appear in any other code that would be relative to this situation other than server.Mobile and server.Item

I tried commenting out all the lines with that in server.Mobile, recompiled, and tested and it didn't make a difference. Will test with server.Item when I can.

I'm thinking though that the only real way to do it is create a new layer and have a bag access that layer on the Mobile. Otherwise there would need to be a script or razor/steam macro running to reopen it if it closes.
 
Could try using the ShopMax layer, it hasn't been documented or used at all and it's been around for a while :S

You can probably even add custom layers, though I'm not sure how the client would interpret them, they are only a 0-255 value after all, so 256 potential layers.
 
ShopMax? never heard of it; how would I go about using it?

I'll try using a custom layer if changes to server.item doesn't have any result.
 
Anyway, I tested using the NewBankBox [custom] layer I created a while ago and just removed the Close() on PlayerMobile move and verified that the box gump doesn't close when switching maps.
You can still close it with rightclick and it closes when logging out but doesn't auto-reopen when logging in.

Also, closure of containers when switching maps seems to be client side.
 
Back