Jump to content

BUG: Disappearing stuff


Recommended Posts

Sort of strange but i think some stuff is disappearing !!

i went for sand digging and when i was on my way back i noticed my sand is gone lol !!!

Another thing im in my second world and some of the recepies are gone, like golden shovel and boat torch, im pretty sure like 99,9% that i had a boat torch in my first world :D

 

Link to comment
https://forums.kleientertainment.com/forums/topic/63288-bug-disappearing-stuff/
Share on other sites

TONS! of my items are disappearing.  I've begun just consoling in what is lost its beginning to happen so much.  Before I use to hear of people losing items like bone shards and sand every once in awhile and I thought that must be annoying but now I lose the thing i need most ALL THE TIME.  Its maddening how much my items disappear and it seems to be from going from boat to shore and vise versa but I have had a bunch of inventory disappear from Packim as well (NO IT WASN'T FISH).  PLease notice and fix this, it really annoying

9 hours ago, Clwnbaby said:

TONS! of my items are disappearing.  I've begun just consoling in what is lost its beginning to happen so much.  Before I use to hear of people losing items like bone shards and sand every once in awhile and I thought that must be annoying but now I lose the thing i need most ALL THE TIME.  Its maddening how much my items disappear and it seems to be from going from boat to shore and vise versa but I have had a bunch of inventory disappear from Packim as well (NO IT WASN'T FISH).  PLease notice and fix this, it really annoying

You can kill Packim baggings and get your items back dont worry he will respawn, thats what i was doing in the past to get items back from him, seems they havent fixed it yet.

10 hours ago, Clwnbaby said:

TONS! of my items are disappearing.  I've begun just consoling in what is lost its beginning to happen so much.  Before I use to hear of people losing items like bone shards and sand every once in awhile and I thought that must be annoying but now I lose the thing i need most ALL THE TIME.  Its maddening how much my items disappear and it seems to be from going from boat to shore and vise versa but I have had a bunch of inventory disappear from Packim as well (NO IT WASN'T FISH).  PLease notice and fix this, it really annoying

Exactly how I feel, I used to just have the problem with boneshards and sand. Put them in Packim and not only did they disappear so did all my mosquito glands and Venom glands. Then noticed the one in my inventory are gone too. Real bummer they are a life saver for dry season which I just entered.

So the way this bug works (the getting on the boat one, not the packim one, unless they're actually the same now) is that for some reason sometimes items in your inventory think they're falling onto water. The ones that can't float then sink (you can confirm this by trawling the area if you notice them disappear, and you'll get the item back in the net).

I've been looking into this and it seems like the only way it could occur is if somehow InventoryItem:OnHitGround gets called while it's still in the player's inventory. A check on InventoryItem:IsHeld could be added in this function, because when it calls inst:GetIsOnWater(), it's just looking at the position, and whether there's a water tile there; if the player is on a boat, then all of their inventory items would report being on water with that check. However, that seems like a janky fix, and it would be better to fix something upstream of that.

On the upstream stuff, I'm wondering if ... [decided to test some stuff in game]

I FIGURED IT OUT. @CapyChristian

Okay, so what happens is when an item falls to the ground, the InventoryItem component is updating. When it's updating, it's checking whether it's fallen or not. Apparently landing on a boat is like falling, and so the problem occurs when you pick up an item while it's in the process of falling. Two ways to reproduce this:

The best way I've figured out to replicate this is digging sand and picking it up with the ActionQueue mod (because you really have to grab it quickly for it to work, and spacebar keeps targeting the sandpile for some reason even when it's been fully dug-- but that's another bug). So what you do is dig a sand pile, and as the dig animation is happening, you box-select over the sand pile, and try to release right as the sand comes out. If you pull it off, you catch the sand mid-air, and then getting on the boat, it ALWAYS falls in the water. This is because it doesn't stop itself updating when it gets grabbed.

Second way can be done without a mod. c_gonext('buriedtreasure'), c_find('buriedtreasure'):Reveal(). Dig it up, and try to catch a bone shard in the air (this might take a few tries). Jump onto a boat, and it'll fall into the water. If you fail, drop the boneshard off to the side and try again.

This can be fixed by adding self.inst:StopUpdatingComponent(self) to the InventoryItem:OnPickup(pickupguy) function. There might be a better place to put it, but that's one that seems to work.

Edit: While I was testing this, I also added some prints to InventoryItem:OnUpdate and noticed that sometimes things would get stuck in the updating state. This is probably a contributor to increasing lag over play time, so that could get looked into independently.

@alexeiwc3gosu My objective was making sure I had a way that you could make it happen reliably (a "repro case"), because that's the most important part of getting a bug fixed. That way the developers can add stuff to the code to find out why it's happening in that case, and test fixes for it. Digging up 80 more sand takes a lot more time and isn't as likely to make it happen again :p

Archived

This topic is now archived and is closed to further replies.

Please be aware that the content of this thread may be outdated and no longer applicable.

×
  • Create New...