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-15-2009, 02:20 PM
cavedude's Avatar
cavedude
The PEQ Dude
 
Join Date: Apr 2003
Location: -
Posts: 1,988
Default

Yeah, you need a newer version of the server, Mort. 529 is before the adventure/instancing stuff went into the trunk.

As for bazaar not working, make sure you have doors with either type 153 or 155 placed where you want people to sell. One is for sellers, and the other for buyers. I am not sure which is which by looking, though on TGC it doesn't seem to matter. Players can buy and sell on either. If you're using the standard bazaar zone, PORCH_SHORT and PORCH_LONG are the doors you want. If not, then you'll need to find doors that are invisible or match the current zone's terrain.
Reply With Quote
  #2  
Old 06-15-2009, 08:53 PM
KingMort
Banned
 
Join Date: Sep 2006
Posts: 841
Default

DOH hehe well thanks guys appreciate it... Time to upgrade at some point I guess...
Reply With Quote
  #3  
Old 06-15-2009, 09:15 PM
Domel
Fire Beetle
 
Join Date: Oct 2008
Location: Washington
Posts: 23
Default

My Adventure Merchant will buy back stuff with Titanium, but will not with SoF.
Using 670 source and 669 database. I'm using the latest conf.

It tells me "I will not give you any adventure points for Nightrage Sash."
Reply With Quote
  #4  
Old 06-15-2009, 09:22 PM
trevius's Avatar
trevius
Developer
 
Join Date: Aug 2006
Location: USA
Posts: 5,946
Default

Just a guess, but I would bet that for SoF we need to set encodes/decodes for buying from Adventure Merchants. This is because of the slot difference between the 2 clients caused by the addition of the Power Source slot. It should be pretty easy to get the encodes setup and I already have a function that automatically converts the slot numbers, so it shouldn't be too tough. The only thing I don't have much info on is actual slot number that merchants use. I am not sure if that matters or not, though.
__________________
Trevazar/Trevius Owner of: Storm Haven
Everquest Emulator FAQ (Frequently Asked Questions) - Read It!
Reply With Quote
  #5  
Old 06-16-2009, 04:01 AM
KLS
Administrator
 
Join Date: Sep 2006
Posts: 1,348
Default

Starting after titanium trev the items have a ldonsellbackrate field somewhere. In titanium it's hardcoded to 70, but sometime after they added it to the item struct, it's usually 70 but in some cases it's 0, I'd set it to 70 if we can find it just to retain backwards compatibility.

edit:

isbs.ldonpoint_type = 0;
isbs.ldontheme = item->LDoNTheme;
isbs.ldonprice = item->LDoNPrice;
isbs.unk098 = 70;
isbs.ldonsold = item->LDoNSold;

perhaps this isn't 100% right?

Oh I guess I should also mention: that message he's seeing is generated by the client not the server which is why I think the item struct may be off.

Last edited by KLS; 06-16-2009 at 12:06 PM..
Reply With Quote
  #6  
Old 06-16-2009, 04:38 AM
trevius's Avatar
trevius
Developer
 
Join Date: Aug 2006
Location: USA
Posts: 5,946
Default

Ahh, that makes sense now. I got the 70 value from the items table, so that probably is the right field for sellback. I guess it isn't unknown anymore lol. Whether it is in the correct place or not yet, I am not sure. It should be correct according to what 13th floor has though. It will probably still need slot conversions done on it for sell back or it will try to sell the wrong item. I will have to look at the structs when I get a chance and see how hard it will be to make encodes for them.

EDIT: I added in the Encode and Decode to handle slots for selling, but it doesn't make a difference. After comparing to Titanium, the selling encode/decode will be required anyway, so I added it to the SVN.

KLS, it appears you are correct that the client is the one deciding the the item cannot be sold. You are also probably right that it is related to those fields in the item structure. Maybe I can play around with it a bit sometime soon to see if I can figure out what is up with it. Maybe the fields are just off by a bit. I know I have some augs on my Live Rogue that were purchased from LDoN, so I should be able to use those to figure out where we are going wrong in the struct.

EDIT2: After comparing the structure to Live for a Radiant Permafrost augment purchased from LDoN, it looks like our structure should already be lined up properly unless it is arranged a bit differently than Live. Here is what I got from the packet collect from Live and also the matching fields from 13th floor which line up perfectly with our current structure for SoF as well as the surrounding (verified) parts of the structure:

Code:
01 00 00 00 pointtype
02 00 00 00 ldontheme
f8 02 00 00 ldonprice
46 00 00 00 ldonsellbackrate
01 00 00 00 ldonsold
Code:
	uint32 ldonpoint_type;
	uint32 ldontheme;
	uint32 ldonprice;
	uint32 unk098;
	uint32 ldonsold;
Ahh, after looking at the Serialization in SoF.cpp, it looks like ldonpoint being set to 0 is probably the problem:

Code:
	isbs.ldonpoint_type = 0;
	isbs.ldontheme = item->LDoNTheme;
	isbs.ldonprice = item->LDoNPrice;
	isbs.unk098 = 70;
	isbs.ldonsold = item->LDoNSold;
Going to test to verify if that is true.

EDIT3: Yep, that was it! Has to have ldonpoint set to something other than 0 for it to be sellable to an Adventure Merchant. I got it fixed and now on the SVN. I guess it is a good thing I got the encode/decode in already lol. Worked like a charm
__________________
Trevazar/Trevius Owner of: Storm Haven
Everquest Emulator FAQ (Frequently Asked Questions) - Read It!

Last edited by trevius; 06-16-2009 at 02:30 PM..
Reply With Quote
  #7  
Old 06-16-2009, 09:05 PM
trevius's Avatar
trevius
Developer
 
Join Date: Aug 2006
Location: USA
Posts: 5,946
Default

Coming back to this just to say that we might want to consider updating the items table to identify the UNK098 field. It's definitely the LDoN Sell Back Rate and items already have the proper values set there from what I have seen. We could probably set the default to 70, since that seems to be standard and would prevent custom item creators from wondering why their items don't sell for anything.

I would change it myself, but I don't know if our fields have to match 13th floor or not for PEQ to update from them. After looking at 13th floor again, it looks like they now have this field named to ldonsellbackrate, which should be fine for us as well.

Since it is currently unknown, we aren't using that field in either client right now. I don't think the change would be very hard. But, I am guessing we would need write some code to use it as well. Right now, there are cases where items might say they are going to sell for one amount and actually sell for a different amount.

Not a high priority, but something worth considering.
__________________
Trevazar/Trevius Owner of: Storm Haven
Everquest Emulator FAQ (Frequently Asked Questions) - Read It!
Reply With Quote
Reply

Thread Tools
Display Modes

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 01:30 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 - 2025, Jelsoft Enterprises Ltd.
Template by Bluepearl Design and vBulletin Templates - Ver3.3