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, 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
  #2  
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
  #3  
Old 10-28-2008, 10:10 AM
GeorgeS
Forum Guide
 
Join Date: Sep 2003
Location: California
Posts: 1,474
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
  #4  
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
  #5  
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
  #6  
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
  #7  
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
  #8  
Old 10-28-2008, 04:56 PM
cavedude's Avatar
cavedude
The PEQ Dude
 
Join Date: Apr 2003
Location: -
Posts: 1,988
Default

Slot in merchantlist doesn't get changed by the server at all. Once you assign it, only you can change it. I think the confusion comes because perhaps you are thinking slot is an id. While it could be viewed that way, its real purpose is to allow the world builder to determine what slot he or she wants a particular item to show up in in-game on the merchant's list. This would allow somebody to say, put the more expensive items at the top of the list if they so wished.

In-game items will fill in to cover gaps in the slots, so there are no gaps visually. However, the slot column will still remain the same. If we have items with slot 1, 2, 3, 5, 21. The items would use slots 1-5 in-game, but the slot values in the database would remain 1, 2, 3, 5, 21. If the server did change that column, we wouldn't have a problem with slots overlapping, but we would also lose control over item placement on merchants. We want to tell the server which slots to place items in, not the other way around.
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 08:47 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 - 2025, Jelsoft Enterprises Ltd.
Template by Bluepearl Design and vBulletin Templates - Ver3.3