Missing Bag

If you found a bug in Illarion or need help ask here. / Wenn Du einen Fehler in Illarion gefunden hast oder Hilfe benötigst, frage hier.

Moderator: Developers

Post Reply
David Turner
Posts: 151
Joined: Wed Sep 23, 2009 12:32 am

Missing Bag

Post by David Turner »

A bag disappeared yesterday. I tried moving some things around and logging out but it still did not return. Can anything be done about the contents or should I give it up for lost?
User avatar
Estralis Seborian
Posts: 12308
Joined: Wed Nov 10, 2004 9:14 pm
Location: Sir Postalot
Contact:

Re: Missing Bag

Post by Estralis Seborian »

Can you define "disappeared"? Did the bag rot on the ground? If so, it is lost for good.
User avatar
GolfLima
Posts: 1472
Joined: Mon Aug 24, 2009 3:06 pm
Location: hier und dort

Re: Missing Bag

Post by GolfLima »

ist mir auch schon passiert
* bei mir war es so:

- Tasche am Mann
-Kräuter darin einsortiert 90 Stück
-dann wollte ich die Tasche in eine Tasche legen welche sich geöffnet in einem Depot befindet
- Tasche "angeklickt" und herübergezogen
Tasche verschwindet aus Charakterbild kam aber nie in der Tasche welche im Depot geöffnet war an --> VERLUST
( in der Tasche im Depot befanden sich Kräuter, sowie einige andere Taschen)

-> so etwas ist mir schon einmal vor längerer Zeit passiert .... ich hab´s damals als "Schicksalsschlag" hingenommen & diesmal auch
David Turner
Posts: 151
Joined: Wed Sep 23, 2009 12:32 am

Re: Missing Bag

Post by David Turner »

Nope, not rot, it disappeared when I tried to move it.

It was on the ground but too full for the character to lift (I think) but the game was apparently being slow. I clicked to move it into a depot and when it didn't move I tried opening it up to move the items into the depot manually. Then the bag suddenly closed and disappeared completely. It wasn't on the ground, it wasn't in the depot, and it had only been sitting on the ground for about 20-30 seconds (the rot cycles are every 3 minutes). So yeah, that is what happened. I'm just trying to figure out if there is anything to do now or what.
User avatar
Katharina Brightrim
Cadomyr
Posts: 956
Joined: Sat Apr 02, 2011 8:13 pm
Location: Göttingen

Re: Missing Bag

Post by Katharina Brightrim »

.
Last edited by Katharina Brightrim on Tue Nov 07, 2017 10:19 pm, edited 1 time in total.
User avatar
PurpleMonkeys
Posts: 631
Joined: Wed Jan 28, 2009 9:58 pm

Re: Missing Bag

Post by PurpleMonkeys »

Indeed, I've had bags that have had much use and transferring dissapear on me at times very quickly. Also, don't place anything on raw leather, and I'm assuming grey cloth. When it dries and changes, whatever is on top of it dissapears.
User avatar
Lia
Posts: 909
Joined: Sat Jul 31, 2010 10:12 pm

Re: Missing Bag

Post by Lia »

The same thing happened to me as well.

The first time there were about 40 silver
and this time some gems

So funny I do not find it, one must indeed have fear that you lose something precious / rare, just because you wanted to rearrange a few pockets.
David Turner
Posts: 151
Joined: Wed Sep 23, 2009 12:32 am

Re: Missing Bag

Post by David Turner »

Nope it didn't rot. It was only on the ground for about 15 seconds and the rot cycle comes up every 2 minutes and skips the first hit of the cycle (so minimum it would take about 2 minutes 1 second for something to rot). I think it was just a weird lag issue where the item got moved but lagged at the time when it was supposed to get placed, causing it to be removed from where it started but never placed anywhere else. Either that or a lag and glitched placement issue where the bag somehow got placed into itself.

Either way, this isn't going to be fixed till the VBU, so I'm not going to worry about it.
User avatar
Estralis Seborian
Posts: 12308
Joined: Wed Nov 10, 2004 9:14 pm
Location: Sir Postalot
Contact:

Re: Missing Bag

Post by Estralis Seborian »

One should keep in mind that the "rot counter" is NOT reset upon picking up an item. This means that whenever your item is on the ground and the "rot routine" takes place, your item loses one "rot counter" for good. This means you can drop an item to the ground for one second three times and it vanishes.

A common item has 2 rot "points". When it has 0 rot "points" left and the "rot routine" takes place, your item is deleted. The rot "routine" takes place every 2 minutes.

This is highly inconvenient, a fix for this is appreciated. At this moment, it is not planned to change anything about the rot cycle due to the high complexity of the involved server code. vilarion can elaborate on request.
David Turner
Posts: 151
Joined: Wed Sep 23, 2009 12:32 am

Re: Missing Bag

Post by David Turner »

I do wonder about the "high complexity" issue that you speak of. As far as I know most people would be happy just changing it so that the game no longer persistently keeps track of rotting and simply makes the things disappear after 6-8 minutes regardless of type of item or other things. This would allow items with quality to be shown off without degrading and keep items without quality from suddenly disappearing. Of course, not being a programmer means that I have no idea how difficult that would be.
User avatar
Estralis Seborian
Posts: 12308
Joined: Wed Nov 10, 2004 9:14 pm
Location: Sir Postalot
Contact:

Re: Missing Bag

Post by Estralis Seborian »

...and simply makes the things disappear after 6-8 minutes regardless of type of item or other things.
Can you define "simply" here? This is, basically, just what the server does. An item that lies on the ground for 4-6 minutes in a row is deleted. The little problem here is that when you pick up the item, this "time counter" is not reset. This "resetting" is, sadly, nothing that can be implemented with one line of code. You can review the complexity here:

https://github.com/vilarion/Illarion-Se ... mMoves.cpp

It is possible to fix this, but as I said, it is not "simple". It is on the big to do list, though.
User avatar
Boomer
Posts: 112
Joined: Mon Apr 20, 2009 5:06 pm

Re: Missing Bag

Post by Boomer »

The feature isn't really fun for anyone is it? Why not deactivating it until there is time to improve it?
User avatar
GolfLima
Posts: 1472
Joined: Mon Aug 24, 2009 3:06 pm
Location: hier und dort

Re: Missing Bag

Post by GolfLima »

rotting of bags isn´t fun, but to deactivate this feature is not a solution in my eyes.
i have lost some of my bags on this way :arrow: that´s life

for me it looks like: all things that can irritate some players should be deactivated
User avatar
Estralis Seborian
Posts: 12308
Joined: Wed Nov 10, 2004 9:14 pm
Location: Sir Postalot
Contact:

Re: Missing Bag

Post by Estralis Seborian »

Rotting of items is a mandatory feature. It must not be deactivated. The server's performance would suffer from "littered" items drastically.

Only a sound solution to this issue is favourable. Please do not recommend rumgefrickel to our developers, in the past, too many problems were "solved" by dirty methods, resulting in even more problems than before. Everyone is invited to take a look at the server code (remember: Illarion is open source!) and propose methods how to solve this problem once and for all.
David Turner
Posts: 151
Joined: Wed Sep 23, 2009 12:32 am

Re: Missing Bag

Post by David Turner »

It is times like these when I really wish I could do more than extremely basic code translation. If I understand correctly it is right near the end and the problem is that the count has no reset condition yet is a permanent attached variable. While changing it to a non-permanently attached variable would work, that would likely cause a lot more problems (though I admit to not understanding code well enough to say). Therefore would it be possible to set a reset condition upon the variable with the condition that the item is placed upon the ground? The count only increases when the item is on the ground, so holding an item with rot count would not make any difference, but this would ensure that the starting properties of any item placed upon the ground is the same.

Of course, I have no idea how dirty this type of programming would be or how to ensure that the conditional variable only activates upon placement rather than continually upon each server tic. Bah, I really do wish I knew more about programming.
User avatar
Respen
Posts: 20
Joined: Mon Jun 21, 2010 2:59 am

Re: Missing Bag

Post by Respen »

Estralis Seborian wrote:
...and simply makes the things disappear after 6-8 minutes regardless of type of item or other things.
Can you define "simply" here? This is, basically, just what the server does. An item that lies on the ground for 4-6 minutes in a row is deleted. The little problem here is that when you pick up the item, this "time counter" is not reset. This "resetting" is, sadly, nothing that can be implemented with one line of code. You can review the complexity here:

https://github.com/vilarion/Illarion-Se ... mMoves.cpp

It is possible to fix this, but as I said, it is not "simple". It is on the big to do list, though.
It may be much simpler than you think. Resetting the rot counter on the item should only take one line of code (or at most several lines), provided the code is not a mess. I quickly looked through the code you linked to, but I could not easily find what is going on.
David Turner wrote:If I understand correctly it is right near the end and the problem is that the count has no reset condition yet is a permanent attached variable.
If the bolded portion above is indeed true, then the fix should be simple. From what I read earlier in the thread, the count needs to be reset to "2" whenever the item is picked up or put on the ground. That would be one line of code added to the code placing the item on the ground or in the player's inventory. Something like the following line, added in either of those locations (keep in mind that I do not know the actual variable names involved):

Code: Select all

itemPickedUp.rotCounter = 2
I can not forsee any case where the fix should be more complicated than that, if item rotting works as I think it does. Someone who knows the code should be able to implement the fix I described in a handful of minutes.
User avatar
Estralis Seborian
Posts: 12308
Joined: Wed Nov 10, 2004 9:14 pm
Location: Sir Postalot
Contact:

Re: Missing Bag

Post by Estralis Seborian »

That's what I thought originally as well ;-).
Respen wrote:...but I could not easily find what is going on.
That's the problem. The code is a little tricky and according to vilarion, every "item movement" is treated seperately. So, moving an item from the inventory to the map is something different than moving an item from a tile of the map to another. And in detail, the server does not move items but creates and deletes them. One should also keep in mind that some items rot in the inventory (torches) and other don't rot at all (fixed items on the map that are usually moveable). Those have to be treated seperately.

A fix is, of course, possible. It is on the big to do list. But it will take more than five minutes to implement.
David Turner
Posts: 151
Joined: Wed Sep 23, 2009 12:32 am

Re: Missing Bag

Post by David Turner »

If you don't mind me asking, how much will the change in the programming with the VBU serve to make the programming simpler? Would these type of problems be easier to fix or would it remain about the same?
User avatar
Estralis Seborian
Posts: 12308
Joined: Wed Nov 10, 2004 9:14 pm
Location: Sir Postalot
Contact:

Re: Missing Bag

Post by Estralis Seborian »

It will remain the same. As I wrote above: This issue can be fixed, either by a comparable 'quick' fix (restoring the "rot counter" upon moving the item) or a sound rework of the rot system. It is all a matter of time and effort. We just have one server developer (vilarion) who is aware of the problem, knows the possible options, knows the code and can estimate the effort. Until now, the effort was deemed too high.
User avatar
Velisai
Posts: 338
Joined: Wed May 13, 2009 3:23 pm
Location: where pigs can fly

Re: Missing Bag

Post by Velisai »

I had the impression that things rotting the way they do was intended actually, since there is a way for players to make items unrottable in game. Was that the first attempt at a quick fix?
User avatar
Respen
Posts: 20
Joined: Mon Jun 21, 2010 2:59 am

Re: Missing Bag

Post by Respen »

Estralis Seborian wrote:That's the problem. The code is a little tricky and according to vilarion, every "item movement" is treated seperately. So, moving an item from the inventory to the map is something different than moving an item from a tile of the map to another. And in detail, the server does not move items but creates and deletes them. One should also keep in mind that some items rot in the inventory (torches) and other don't rot at all (fixed items on the map that are usually moveable). Those have to be treated seperately.
I got the feeling that each type of movement was treated separately, but that would only mean that the rot counter reset code would need to be copy-pasted in multiple locations. The rot counter reset code itself would not need to be changed in the different instances.

The server creating and deleting items instead of just moving them would not really change the rot fix I suggested. The only thing that could change the fix I suggested would be the subset of items you meantioned that rot anywhere (on the ground or in an inventory). The only change necessary then would be to wrap the rot counter reset inside a check on the type of item being moved (it does not matter where the item is being moved, just the fact it is moved).

So my modified, suggested fix would be something like (example in pseudocode):

Code: Select all

if itemMoved is not contained within itemsThatRetainTheirRotStatus:
    itemMoved.rotCounter = 2
endif
  • itemMoved is the item being moved that might need its rot counter reset
    itemsThatRetainTheirRotStatus is a list of the items exempt from the rot counter reset, including both items that rot anywhere and items that do not rot at all
This simple fix could be copy-pasted into the code wherever item movement is handled. The list variable would need to be declared somewhere and made available to all of those locations, or existing variables that contain the same data could be used in the list variable's place.

But then, vilarion probably knows all of what I just said and has not gotten around to implementing such a fix in light of all the other things that need doing. So I suppose this discussion is useless. :wink:
User avatar
Vilarion
Developer
Posts: 2008
Joined: Sun Aug 15, 2004 8:10 pm
Contact:

Re: Missing Bag

Post by Vilarion »

The suggested fix does not handle situations where players drag around stuff across the map to circumvent carrying restrictions. This is why this was never implemented. On the other hand seemingly random item rotting is one of the most annoying things we have, so some version of this fix is planned to be included into the VBU. As Estralis said, a proper fix probably also requires some refactoring of the whole item moving, so the fix WILL take some time to be implemented and is more than just adding an if statement.
User avatar
Vilarion
Developer
Posts: 2008
Joined: Sun Aug 15, 2004 8:10 pm
Contact:

Re: Missing Bag

Post by Vilarion »

David Turner wrote:If you don't mind me asking, how much will the change in the programming with the VBU serve to make the programming simpler? Would these type of problems be easier to fix or would it remain about the same?
After the VBU update cycles will be much, much shorter so that anything reasonable can be implemented very fast (if someone is there to write the code that is, of course; currently this group of people is limited to me, myself and I).
Post Reply