Go Back   EQEmulator Home > EQEmulator Forums > Support > Support::General Support

Support::General Support Post all topics here having to do with errors while trying to connect to an EQEMu server but not about the setup/running of the Server itself.

Reply
 
Thread Tools Display Modes
  #1  
Old 10-12-2015, 04:47 PM
chrsschb's Avatar
chrsschb
Dragon
 
Join Date: Nov 2008
Location: GA
Posts: 905
Default Alternate Currency merchant limits

I'm wondering if they retain the same 80(?) item limit as regular merchants or do they have a different limitation (hopefully higher) due to their different window and sorting features.

I found this but haven't had a chance to test yet (currently populating slowly):

Quote:
Originally Posted by NatedogEZ View Post
I think this is limited because the client can only see a certain number of items on a merchant.. but not 100% sure on that.. if you want to mess with it.. you can though :p


client_process.cpp
Code:
void Client::BulkSendMerchantInventory(int merchant_id, int npcid) {
	const Item_Struct* handyitem = nullptr;
	uint32 numItemSlots=80; //The max number of items passed in the transaction.
	const Item_Struct *item;
	std::list<MerchantList> merlist = zone->merchanttable[merchant_id];


It seems other merchants like alternate currency ones can list up to 255 items.. (i think)
I'm on the UF client, so if that 255 item limit applies that'd be super nice.

Thanks!
__________________
Clumsy's World: Resurgence
Clumsy's World [2006-2012]
Reply With Quote
  #2  
Old 10-12-2015, 05:22 PM
demonstar55
Demi-God
 
Join Date: Apr 2008
Location: MA
Posts: 1,165
Default

asdhjkiofwjuiopbtrhu9w3hipe


Try it :P
Reply With Quote
  #3  
Old 10-12-2015, 05:24 PM
Kingly_Krab
Administrator
 
Join Date: May 2013
Location: United States
Posts: 1,589
Default

Well, according to that code snippet, it seems to be hard-coded at 80 regardless of merchant type, so putting 255 items on an NPC may not even work; however, if you want to remove that limitation you can try the below Perl file that auto-generates merchant entries to a .SQL file using the first 255 items (1001-1255).
Code:
sub A {
    open $file, ">test.sql";
    my $n = 1;
    for ($i = 1001; $i < 1256; $i++) {
        say $file "INSERT INTO `merchantlist` VALUES ('1', '$n', '$i', '-1100', '0', '0', '65535', '100');";
        $n++;
    }
    close $file;
}
A();
Reply With Quote
  #4  
Old 10-12-2015, 06:00 PM
chrsschb's Avatar
chrsschb
Dragon
 
Join Date: Nov 2008
Location: GA
Posts: 905
Default

Quote:
Originally Posted by demonstar55 View Post
asdhjkiofwjuiopbtrhu9w3hipe


Try it :P
Working on it, I have 120 items to put on this currency. Gonna take a while to create them all though
__________________
Clumsy's World: Resurgence
Clumsy's World [2006-2012]
Reply With Quote
  #5  
Old 10-12-2015, 06:16 PM
Kingly_Krab
Administrator
 
Join Date: May 2013
Location: United States
Posts: 1,589
Default

Likely a better idea to test the limitations first using placeholder items so you know how many you can put on each NPC.
Reply With Quote
  #6  
Old 10-12-2015, 06:20 PM
chrsschb's Avatar
chrsschb
Dragon
 
Join Date: Nov 2008
Location: GA
Posts: 905
Default

I already have a solution in place if I can't. Not a huge deal. Soon as I hit 81 gonna reboot and test. I have to do this work anyways, so it's not any extra time.
__________________
Clumsy's World: Resurgence
Clumsy's World [2006-2012]
Reply With Quote
  #7  
Old 10-12-2015, 07:03 PM
Noport
Opcode Ninja
 
Join Date: Mar 2009
Location: San francisco
Posts: 426
Default

chrmgold.pl
Code:
sub EVENT_SCALE_CALC {
  my $money = $client->GetCarriedMoney();

  if($money < 0) {
    $money = 0;
  }
  if($money > 64425000) {
     $money = 64425000
  }

  $questitem->SetScale($money/64425000);
}
Reply With Quote
  #8  
Old 10-12-2015, 07:40 PM
Kingly_Krab
Administrator
 
Join Date: May 2013
Location: United States
Posts: 1,589
Default

Don't think that's related to what he's wanting to do, haha.
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:58 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