Go Back   EQEmulator Home > EQEmulator Forums > Development > Development::Bug Reports

Development::Bug Reports Post detailed bug reports and what you would like to see next in the emu here.

Reply
 
Thread Tools Display Modes
  #1  
Old 06-23-2008, 11:31 PM
trevius's Avatar
trevius
Developer
 
Join Date: Aug 2006
Location: USA
Posts: 5,946
Default Aug Pool and other Tradeskill Objects Causing Item Loss

Anytime an item is put into the aug pool, forge, or any other tradeskill objects and then the object is closed with the items still in them, the items are lost.

It would be nice if the code was adjusted in the emu to work similar to the way I believe it works on live. On live, if you close an object with tradeable items in it, they remain in it and are still there when you open the object again. If you put NO DROP items in the object and close it, I believe the items will return to your cursor or inventory so you don't lose them.

I get plenty of complaints on item loss due to accidentally closing the aug pool with items still in it. If someone could update the source to return the items, I think that would be a big help in reducing this nasty bug. No one likes to lose items

I would look into it myself, but I don't think my coding skills are nearly good enough to handle something like this (I am lucky to be able to read half of it lol).
__________________
Trevazar/Trevius Owner of: Storm Haven
Everquest Emulator FAQ (Frequently Asked Questions) - Read It!
Reply With Quote
  #2  
Old 08-27-2010, 10:27 PM
thepoetwarrior
Discordant
 
Join Date: Aug 2007
Posts: 307
Default

Bump! This is still a problem. Also items being destroyed when combined randomly.
Reply With Quote
  #3  
Old 08-28-2010, 04:06 AM
MNWatchdog
Hill Giant
 
Join Date: Feb 2006
Posts: 179
Default

Done dozens of combines and never lost a item.
Reply With Quote
  #4  
Old 08-28-2010, 07:09 PM
wheeljack
Fire Beetle
 
Join Date: Aug 2010
Posts: 18
Default

I have submitted a code patch to resolve the issue of people losing items in world containers by walking away. (http://www.eqemulator.org/forums/sho...d.php?p=191185) Hopefully it will be accepted into the main codebase.

I'm not sure about the items being destroyed when combined randomly though. Can you provide more details about how this manifested itself?
Reply With Quote
  #5  
Old 12-10-2010, 01:51 AM
l0stmancd
Fire Beetle
 
Join Date: Apr 2005
Posts: 23
Default

This is still an issue in one case: Zone crash.

When a zone crashes when tradeskill objects are in a container, it is not able to push the items back onto a cursor. I tested out going LD, being forcibly zoned, walking away, etc - these all are fine. It may be the zone crashing is the only way that this still shows as an issue.

The problem is that I do not believe there is a good way to solve this. You cannot handle this via a small script change since you would be operating on a zone / character that are offline (due to crash).

From what I can see there would be one legit fix which is a nasty one, and one possible workaround.

Legit Fix -
1) Create a strong guarantee that any time the tradeskill world container contents are modified, this data is saved right then to the database. This is the case for most functions that modify the tradeskill container but not all. Example - the fix for this that fixed most of these issues pushes items back onto the cursor without saving the change to the tradeskill container contents (from what I could see). This seems like an easy change from what I could see.
2) Move to storing world container items on a Per Character, Per Zone, Per Container basis as opposed to just Per Zone / Per Container. Important for items below. The only concern I had with this is that it would break world containers that need to have items in them as part of a quest. -May- have some impact on dropped bags also. Would need to test this to be honest. This is not a real easy change and - more importantly - needs good testing to make sure that there is no impact (or acceptable impact) for dropped bags / quests involving containers that spawn with items in them.
2) Now that you have a strong guarantee for the database containing -exactly- what was in a container at any given time for any given character, you can make a few assumptions. Combine this with the previous fix (there is no way to leave items in a container except through a zone crash) and I believe you are there. If a character opens a world container at that point, the database can be queried to see if the container for that zone for that character has any items in it. If it does, it was obviously a remnant from a crash and can be pushed back onto the characters cursor. This part seems like a very easy fix.

The issue with the above is that this is a lot of work to catch what is not an absolutely huge problem. Also seems like it is relatively high risk... The real problem is with the augmentation sealers (bird baths). There is not an on-the-character tradeskill container that can replace the bird baths as these are not recipes. This means that in order to augment armor, you would need to take the risk of losing your nodrop armor if the zone crashes. Honestly, zone crashes are not super uncommon and I know lost items from crashes hits one server I play on probably at least once every 2 days. I have -not- investigated to see if it would be possible (easily) to allow a hand-held bird bath item to be created. This would negate the real need for the fix mentioned above.

The other workaround I had considered would be to allow the creation of quests that could handle augmentation for the user - this way the augmentation would be handled as an -almost- atomic transaction (still small chance of lost items during the transition period). This would require exposing new methods (and creating some infrastructure to support such) in the app. Honestly, this hack seems easier and safer to implement than the "fix" I listed above.

Folks - does anyone see another fix for this? Been reviewing the source for ~6 hours or so tracing down the actual cause for this issue and looking to see what could be done to fix this. I would love for someone to tell me that I am wrong - means I have (hopefully) misunderstood the time it would take to solve this issue.

--

Aside: *UPDATE- this wont work* : A very -very- horrible hack could be made where for all armor / items you wish to aug, you could create recipes in a special container for each aug. Assume you have ~10 items you wish to create recipes for and 10 augs. If the items have just one slot, then this is just 100 new recipes. If they have more than one slot, the number of recipes experiences a sharp growth. Could automate the insertion of recipes for this - need to consider the problem. *UPDATE - You do not have the option to specify more than the itemid for recipe success items... *
Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

   

All times are GMT -4. The time now is 10:21 AM.


 

Everquest is a registered trademark of Daybreak Game Company LLC.
EQEmulator is not associated or affiliated in any way with Daybreak Game Company LLC.
Except where otherwise noted, this site is licensed under a Creative Commons License.
       
Powered by vBulletin®, Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Template by Bluepearl Design and vBulletin Templates - Ver3.3