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 10-27-2008, 03:25 AM
Fatboy5706
Sarnak
 
Join Date: Oct 2008
Location: Kentucky
Posts: 48
Default Wrong Section? Merchant's Items Mislabeled?

Well, I play on PEQ, and I went to buy Crushed Black Marble from a merchant and it gave me a steel collar instead, 70pp waste, and then I tried to buy a Flawless Diamond and it gave me a cog... not much pp wasted on the cog. The CBM was only 31pp and it charged me 178pp for the steel collar. I do not care about the pp, but something needs to be fixed. Move this to appropriate section if need be wasn't sure where to make this. Thanks in advance.
Reply With Quote
  #2  
Old 10-27-2008, 03:36 AM
Fatboy5706
Sarnak
 
Join Date: Oct 2008
Location: Kentucky
Posts: 48
Default

Might need to be moved to bug section, sorry for the inconvenience.
Reply With Quote
  #3  
Old 10-27-2008, 04:26 AM
trevius's Avatar
trevius
Developer
 
Join Date: Aug 2006
Location: USA
Posts: 5,946
Default

NP, I moved it to bugs. Sounds like a possible issue with the Temp merchant code. I know it was changed considerably lately. Sounds like it is worth investigating.
__________________
Trevazar/Trevius Owner of: Storm Haven
Everquest Emulator FAQ (Frequently Asked Questions) - Read It!
Reply With Quote
  #4  
Old 10-27-2008, 11:26 AM
Fatboy5706
Sarnak
 
Join Date: Oct 2008
Location: Kentucky
Posts: 48
Default was wondering if...

You could keep me updated on the situation Trevius (am I allowed to capitalize that?), I know fixing things like this take time I am not rushing the resolution. Just a tidbit here and there would be helpful. Thanks in advance.
Reply With Quote
  #5  
Old 10-27-2008, 11:48 AM
So_1337
Dragon
 
Join Date: May 2006
Location: Cincinnati, OH
Posts: 689
Default

Cavedude responded over on PEQ if you'd like to follow up there. He's looking for the merchant's name that you were using.

http://www.projecteq.net/phpBB2/viewtopic.php?t=5918
Reply With Quote
  #6  
Old 10-27-2008, 12:04 PM
cavedude's Avatar
cavedude
The PEQ Dude
 
Join Date: Apr 2003
Location: -
Posts: 1,988
Default

Yeah, this one is known and has been around forever. Reordering the items so they are in order by slotid corrects the problem. The items should be in order anyway, so I kinda like this bug. It lets me know when a merchant is out of order instead of going to each individually.

I am noticing a trend here, please post bugs in either PEQ or EQEmu, not both. They are going to be seen by the same people anyway so it just adds confusion.
Reply With Quote
  #7  
Old 10-27-2008, 02:21 PM
ChaosSlayer
Demi-God
 
Join Date: May 2007
Posts: 1,032
Default

Quote:
Originally Posted by cavedude View Post
Yeah, this one is known and has been around forever. Reordering the items so they are in order by slotid corrects the problem. The items should be in order anyway, so I kinda like this bug. It lets me know when a merchant is out of order instead of going to each individually.

I am noticing a trend here, please post bugs in either PEQ or EQEmu, not both. They are going to be seen by the same people anyway so it just adds confusion.
cavedude - could you be a little bit more specific how to "reorder" them?
or even better how to prevent this from happening?

thanks =)
Reply With Quote
  #8  
Old 10-27-2008, 03:09 PM
cavedude's Avatar
cavedude
The PEQ Dude
 
Join Date: Apr 2003
Location: -
Posts: 1,988
Default

The slot column in merchantlist on a given merchant has to be in order, with no gaps. If you have a have items in slots 1, 2, 3, and 5 let's say what happens is if a player sells an item to that merchant it uses the first available slot. In this case 4. The problem arises when the next player sells an item to the merchant. It'll go in slot 5, even though an item already exists there because the server knows 4 is home to a player sold item, via merchantlist_temp.

The code should probe merchantlist before assigning a slot to merchantlist_temp to make sure it isn't already in use. That will correct the issue. However, since the slots should be in order anyway that's a moot point.
Reply With Quote
  #9  
Old 10-27-2008, 05:36 PM
trevius's Avatar
trevius
Developer
 
Join Date: Aug 2006
Location: USA
Posts: 5,946
Default

It sounds like you are right that it should be checking the merchantlist again before adding anything to merchantlist_temp. Even though it is probably best to fix every merchant so they are in order, I don't think it would be a bad idea to have it run that check of the merchantlist table again. Mainly I am thinking about servers running custom databases. Making sure all merchant tables are perfect could probably be a bit of a pain and it would be nice if people didn't have to.
__________________
Trevazar/Trevius Owner of: Storm Haven
Everquest Emulator FAQ (Frequently Asked Questions) - Read It!
Reply With Quote
  #10  
Old 10-27-2008, 05:52 PM
Angelox
AX Classic Developer
 
Join Date: May 2006
Location: filler
Posts: 2,049
Default

Agreed, that's a headache for me (renumbering everything), although I did start to do this, but quit, because I didn't see any need for it. I guess there is now.
there's got to be script that can be made to run and renumber them.

Quote:
Originally Posted by trevius View Post
It sounds like you are right that it should be checking the merchantlist again before adding anything to merchantlist_temp. Even though it is probably best to fix every merchant so they are in order, I don't think it would be a bad idea to have it run that check of the merchantlist table again. Mainly I am thinking about servers running custom databases. Making sure all merchant tables are perfect could probably be a bit of a pain and it would be nice if people didn't have to.
Reply With Quote
  #11  
Old 10-28-2008, 10:10 AM
GeorgeS
Forum Guide
 
Join Date: Sep 2003
Location: California
Posts: 1,475
Default

Adding this to the merchant editor so gaps are removed is trivial. I'll add this as an option in tonight.


GeorgeS
__________________
Your source for EQ database tools
Toolshop is open for business


http://www.georgestools.chrsschb.com//
Reply With Quote
  #12  
Old 10-28-2008, 02:23 PM
ChaosSlayer
Demi-God
 
Join Date: May 2007
Posts: 1,032
Default

I still don't understand why we looking into how to "reorder" out of order merchants instead of fixing the source code to prevent the problem from occruing over and over again over time.
Reply With Quote
  #13  
Old 10-28-2008, 03:15 PM
cavedude's Avatar
cavedude
The PEQ Dude
 
Join Date: Apr 2003
Location: -
Posts: 1,988
Default

Because the database is wrong! That's the problem. The slots need to be in order, that's the correct way of doing things. We're just lucky the code doesn't actually use the slot to place the item, otherwise we'd see gaps on the merchants in-game.

The only reason why it is so bad is because items have been removed over time that do not belong. Now that all of the bogus items from vendors have been removed in PEQ, it has increased the gap problem considerably. Once all merchant's slots are in order starting at 1, we will no longer have a problem. The PEQ Editor, and I'm sure any other editor that works with merchantlists will automatically put any new items in order by slot. It is up to the world builder to make sure this happens.

Of course I'd like to see the code check a slot to make sure it isn't in use first before assigning it, but fixing that and then ignoring the gaps in the database is just plain lazy. If something is going to be done, it needs to be done right.
Reply With Quote
  #14  
Old 10-28-2008, 04:05 PM
So_1337
Dragon
 
Join Date: May 2006
Location: Cincinnati, OH
Posts: 689
Default

I suppose I misunderstood (and maybe ChaosSlayer did as well), as I thought you meant that these gaps could occur even if a vendor's base set of goods was perfect, just in the way that people would buy and sell items off of them.

Example: A merchant has ten items (that are correctly ordered in the database). Player A sells the merchant five items. Player B buys one of player A's items, sells six more. We now have 20 items, with one of them out of order because of the way the code works.

That may be the reason for confusion. I get it now. Thanks for explaining that it's only a database issue, and not a problem with merchants keeping items sold to them.
Reply With Quote
  #15  
Old 10-28-2008, 04:19 PM
ChaosSlayer
Demi-God
 
Join Date: May 2007
Posts: 1,032
Default

Quote:
Originally Posted by cavedude View Post
Because the database is wrong! That's the problem. The slots need to be in order, that's the correct way of doing things. We're just lucky the code doesn't actually use the slot to place the item, otherwise we'd see gaps on the merchants in-game.

The only reason why it is so bad is because items have been removed over time that do not belong. Now that all of the bogus items from vendors have been removed in PEQ, it has increased the gap problem considerably. Once all merchant's slots are in order starting at 1, we will no longer have a problem. The PEQ Editor, and I'm sure any other editor that works with merchantlists will automatically put any new items in order by slot. It is up to the world builder to make sure this happens.

Of course I'd like to see the code check a slot to make sure it isn't in use first before assigning it, but fixing that and then ignoring the gaps in the database is just plain lazy. If something is going to be done, it needs to be done right.

ok i guess i don't fully comprehend the entire mechnics of the system that why its somewhat confusing to me.

so merchant has item list
some items he has on his list are NOT supose to be there
those items were removed
removal created GAPS in the list

question - isn't server restart supose to reorder the list automaticly? I guess not.

In any way, from what i see the problem that merchant list in Db is been adress by some sort of internal id - (table row id#?)

and when items gets removed, the number secuence gets screwed up, right?

in this case i have stupid question: the way i understand the server boot up logic:

-server starts
-server load items and vendor info in memory
-server BUILDS vendor list based on data in DB - from my understanding- every time server starts vendor list is build from the scratch!!! this means gaps can ONLY occur if in real in ram vendor list gets altered.

In other words I don't understand how could there any sort of problem at all with thsi appraoch
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 03:24 PM.


 

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