Go Back   EQEmulator Home > EQEmulator Forums > Development > Development::Feature Requests

Development::Feature Requests Post suggestions/feature requests here.

 
 
Thread Tools Display Modes
Prev Previous Post   Next Post Next
  #10  
Old 11-08-2012, 03:26 PM
Trackye
Sarnak
 
Join Date: Feb 2008
Posts: 87
Default

Sorry I cannot seem to Edit my post above so i did not have to double post....


Well i figured some stuff out and this works well enough for me until I get some more work done on it.

At the moment What is required is to create 3 Npcs with MerchantIds of 22, 23, 24 ( You can change this in the SQL if you want to)

Then you dump your items table to a SQL and rename it Bazlist. ( Can also be changed in the SQL if you want to )

Then you run this SQL
Code:
Delete from Merchantlist where merchantid =22;
Delete from Merchantlist where merchantid =23;
Delete from Merchantlist where merchantid =24; 
INSERT into Merchantlist(merchantid, slot, item, faction_required, level_required, alt_currency_cost) VALUES (22, 0,(SELECT id FROM bazlist ORDER BY RAND() LIMIT 1), -100, 0, 0);
INSERT into Merchantlist(merchantid, slot, item, faction_required, level_required, alt_currency_cost) VALUES (22, 1,(SELECT id FROM bazlist ORDER BY RAND() LIMIT 1), -100, 0, 0);
INSERT into Merchantlist(merchantid, slot, item, faction_required, level_required, alt_currency_cost) VALUES (22, 2,(SELECT id FROM bazlist ORDER BY RAND() LIMIT 1), -100, 0, 0);
INSERT into Merchantlist(merchantid, slot, item, faction_required, level_required, alt_currency_cost) VALUES (22, 3,(SELECT id FROM bazlist ORDER BY RAND() LIMIT 1), -100, 0, 0);
INSERT into Merchantlist(merchantid, slot, item, faction_required, level_required, alt_currency_cost) VALUES (22, 4,(SELECT id FROM bazlist ORDER BY RAND() LIMIT 1), -100, 0, 0);
INSERT into Merchantlist(merchantid, slot, item, faction_required, level_required, alt_currency_cost) VALUES (22, 5,(SELECT id FROM bazlist ORDER BY RAND() LIMIT 1), -100, 0, 0);
INSERT into Merchantlist(merchantid, slot, item, faction_required, level_required, alt_currency_cost) VALUES (22, 6,(SELECT id FROM bazlist ORDER BY RAND() LIMIT 1), -100, 0, 0);
INSERT into Merchantlist(merchantid, slot, item, faction_required, level_required, alt_currency_cost) VALUES (22, 7,(SELECT id FROM bazlist ORDER BY RAND() LIMIT 1), -100, 0, 0);
INSERT into Merchantlist(merchantid, slot, item, faction_required, level_required, alt_currency_cost) VALUES (22, 8,(SELECT id FROM bazlist ORDER BY RAND() LIMIT 1), -100, 0, 0);
INSERT into Merchantlist(merchantid, slot, item, faction_required, level_required, alt_currency_cost) VALUES (22, 9,(SELECT id FROM bazlist ORDER BY RAND() LIMIT 1), -100, 0, 0);
INSERT into Merchantlist(merchantid, slot, item, faction_required, level_required, alt_currency_cost) VALUES (22, 10,(SELECT id FROM bazlist ORDER BY RAND() LIMIT 1), -100, 0, 0);
INSERT into Merchantlist(merchantid, slot, item, faction_required, level_required, alt_currency_cost) VALUES (22, 11,(SELECT id FROM bazlist ORDER BY RAND() LIMIT 1), -100, 0, 0);
INSERT into Merchantlist(merchantid, slot, item, faction_required, level_required, alt_currency_cost) VALUES (22, 12,(SELECT id FROM bazlist ORDER BY RAND() LIMIT 1), -100, 0, 0);
INSERT into Merchantlist(merchantid, slot, item, faction_required, level_required, alt_currency_cost) VALUES (22, 13,(SELECT id FROM bazlist ORDER BY RAND() LIMIT 1), -100, 0, 0);
INSERT into Merchantlist(merchantid, slot, item, faction_required, level_required, alt_currency_cost) VALUES (22, 14,(SELECT id FROM bazlist ORDER BY RAND() LIMIT 1), -100, 0, 0);
INSERT into Merchantlist(merchantid, slot, item, faction_required, level_required, alt_currency_cost) VALUES (22, 15,(SELECT id FROM bazlist ORDER BY RAND() LIMIT 1), -100, 0, 0);
INSERT into Merchantlist(merchantid, slot, item, faction_required, level_required, alt_currency_cost) VALUES (22, 16,(SELECT id FROM bazlist ORDER BY RAND() LIMIT 1), -100, 0, 0);
INSERT into Merchantlist(merchantid, slot, item, faction_required, level_required, alt_currency_cost) VALUES (22, 17,(SELECT id FROM bazlist ORDER BY RAND() LIMIT 1), -100, 0, 0);
INSERT into Merchantlist(merchantid, slot, item, faction_required, level_required, alt_currency_cost) VALUES (22, 18,(SELECT id FROM bazlist ORDER BY RAND() LIMIT 1), -100, 0, 0);

INSERT into Merchantlist(merchantid, slot, item, faction_required, level_required, alt_currency_cost) VALUES (23, 0,(SELECT id FROM bazlist ORDER BY RAND() LIMIT 1), -100, 0, 0);
INSERT into Merchantlist(merchantid, slot, item, faction_required, level_required, alt_currency_cost) VALUES (23, 1,(SELECT id FROM bazlist ORDER BY RAND() LIMIT 1), -100, 0, 0);
INSERT into Merchantlist(merchantid, slot, item, faction_required, level_required, alt_currency_cost) VALUES (23, 2,(SELECT id FROM bazlist ORDER BY RAND() LIMIT 1), -100, 0, 0);
INSERT into Merchantlist(merchantid, slot, item, faction_required, level_required, alt_currency_cost) VALUES (23, 3,(SELECT id FROM bazlist ORDER BY RAND() LIMIT 1), -100, 0, 0);
INSERT into Merchantlist(merchantid, slot, item, faction_required, level_required, alt_currency_cost) VALUES (23, 4,(SELECT id FROM bazlist ORDER BY RAND() LIMIT 1), -100, 0, 0);
INSERT into Merchantlist(merchantid, slot, item, faction_required, level_required, alt_currency_cost) VALUES (23, 5,(SELECT id FROM bazlist ORDER BY RAND() LIMIT 1), -100, 0, 0);
INSERT into Merchantlist(merchantid, slot, item, faction_required, level_required, alt_currency_cost) VALUES (23, 6,(SELECT id FROM bazlist ORDER BY RAND() LIMIT 1), -100, 0, 0);
INSERT into Merchantlist(merchantid, slot, item, faction_required, level_required, alt_currency_cost) VALUES (23, 7,(SELECT id FROM bazlist ORDER BY RAND() LIMIT 1), -100, 0, 0);
INSERT into Merchantlist(merchantid, slot, item, faction_required, level_required, alt_currency_cost) VALUES (23, 8,(SELECT id FROM bazlist ORDER BY RAND() LIMIT 1), -100, 0, 0);
INSERT into Merchantlist(merchantid, slot, item, faction_required, level_required, alt_currency_cost) VALUES (23, 9,(SELECT id FROM bazlist ORDER BY RAND() LIMIT 1), -100, 0, 0);
INSERT into Merchantlist(merchantid, slot, item, faction_required, level_required, alt_currency_cost) VALUES (23, 10,(SELECT id FROM bazlist ORDER BY RAND() LIMIT 1), -100, 0, 0);
INSERT into Merchantlist(merchantid, slot, item, faction_required, level_required, alt_currency_cost) VALUES (23, 11,(SELECT id FROM bazlist ORDER BY RAND() LIMIT 1), -100, 0, 0);
INSERT into Merchantlist(merchantid, slot, item, faction_required, level_required, alt_currency_cost) VALUES (23, 12,(SELECT id FROM bazlist ORDER BY RAND() LIMIT 1), -100, 0, 0);
INSERT into Merchantlist(merchantid, slot, item, faction_required, level_required, alt_currency_cost) VALUES (23, 13,(SELECT id FROM bazlist ORDER BY RAND() LIMIT 1), -100, 0, 0);
INSERT into Merchantlist(merchantid, slot, item, faction_required, level_required, alt_currency_cost) VALUES (23, 14,(SELECT id FROM bazlist ORDER BY RAND() LIMIT 1), -100, 0, 0);
INSERT into Merchantlist(merchantid, slot, item, faction_required, level_required, alt_currency_cost) VALUES (23, 15,(SELECT id FROM bazlist ORDER BY RAND() LIMIT 1), -100, 0, 0);
INSERT into Merchantlist(merchantid, slot, item, faction_required, level_required, alt_currency_cost) VALUES (23, 16,(SELECT id FROM bazlist ORDER BY RAND() LIMIT 1), -100, 0, 0);
INSERT into Merchantlist(merchantid, slot, item, faction_required, level_required, alt_currency_cost) VALUES (23, 17,(SELECT id FROM bazlist ORDER BY RAND() LIMIT 1), -100, 0, 0);
INSERT into Merchantlist(merchantid, slot, item, faction_required, level_required, alt_currency_cost) VALUES (23, 18,(SELECT id FROM bazlist ORDER BY RAND() LIMIT 1), -100, 0, 0);

INSERT into Merchantlist(merchantid, slot, item, faction_required, level_required, alt_currency_cost) VALUES (24, 0,(SELECT id FROM bazlist ORDER BY RAND() LIMIT 1), -100, 0, 0);
INSERT into Merchantlist(merchantid, slot, item, faction_required, level_required, alt_currency_cost) VALUES (24, 1,(SELECT id FROM bazlist ORDER BY RAND() LIMIT 1), -100, 0, 0);
INSERT into Merchantlist(merchantid, slot, item, faction_required, level_required, alt_currency_cost) VALUES (24, 2,(SELECT id FROM bazlist ORDER BY RAND() LIMIT 1), -100, 0, 0);
INSERT into Merchantlist(merchantid, slot, item, faction_required, level_required, alt_currency_cost) VALUES (24, 3,(SELECT id FROM bazlist ORDER BY RAND() LIMIT 1), -100, 0, 0);
INSERT into Merchantlist(merchantid, slot, item, faction_required, level_required, alt_currency_cost) VALUES (24, 4,(SELECT id FROM bazlist ORDER BY RAND() LIMIT 1), -100, 0, 0);
INSERT into Merchantlist(merchantid, slot, item, faction_required, level_required, alt_currency_cost) VALUES (24, 5,(SELECT id FROM bazlist ORDER BY RAND() LIMIT 1), -100, 0, 0);
INSERT into Merchantlist(merchantid, slot, item, faction_required, level_required, alt_currency_cost) VALUES (24, 6,(SELECT id FROM bazlist ORDER BY RAND() LIMIT 1), -100, 0, 0);
INSERT into Merchantlist(merchantid, slot, item, faction_required, level_required, alt_currency_cost) VALUES (24, 7,(SELECT id FROM bazlist ORDER BY RAND() LIMIT 1), -100, 0, 0);
INSERT into Merchantlist(merchantid, slot, item, faction_required, level_required, alt_currency_cost) VALUES (24, 8,(SELECT id FROM bazlist ORDER BY RAND() LIMIT 1), -100, 0, 0);
INSERT into Merchantlist(merchantid, slot, item, faction_required, level_required, alt_currency_cost) VALUES (24, 9,(SELECT id FROM bazlist ORDER BY RAND() LIMIT 1), -100, 0, 0);
INSERT into Merchantlist(merchantid, slot, item, faction_required, level_required, alt_currency_cost) VALUES (24, 10,(SELECT id FROM bazlist ORDER BY RAND() LIMIT 1), -100, 0, 0);
INSERT into Merchantlist(merchantid, slot, item, faction_required, level_required, alt_currency_cost) VALUES (24, 11,(SELECT id FROM bazlist ORDER BY RAND() LIMIT 1), -100, 0, 0);
INSERT into Merchantlist(merchantid, slot, item, faction_required, level_required, alt_currency_cost) VALUES (24, 12,(SELECT id FROM bazlist ORDER BY RAND() LIMIT 1), -100, 0, 0);
INSERT into Merchantlist(merchantid, slot, item, faction_required, level_required, alt_currency_cost) VALUES (24, 13,(SELECT id FROM bazlist ORDER BY RAND() LIMIT 1), -100, 0, 0);
INSERT into Merchantlist(merchantid, slot, item, faction_required, level_required, alt_currency_cost) VALUES (24, 14,(SELECT id FROM bazlist ORDER BY RAND() LIMIT 1), -100, 0, 0);
INSERT into Merchantlist(merchantid, slot, item, faction_required, level_required, alt_currency_cost) VALUES (24, 15,(SELECT id FROM bazlist ORDER BY RAND() LIMIT 1), -100, 0, 0);
INSERT into Merchantlist(merchantid, slot, item, faction_required, level_required, alt_currency_cost) VALUES (24, 16,(SELECT id FROM bazlist ORDER BY RAND() LIMIT 1), -100, 0, 0);
INSERT into Merchantlist(merchantid, slot, item, faction_required, level_required, alt_currency_cost) VALUES (24, 17,(SELECT id FROM bazlist ORDER BY RAND() LIMIT 1), -100, 0, 0);
INSERT into Merchantlist(merchantid, slot, item, faction_required, level_required, alt_currency_cost) VALUES (24, 18,(SELECT id FROM bazlist ORDER BY RAND() LIMIT 1), -100, 0, 0);
Running that SQL will populate your 3 vendors with 18 items each RANDOMLY chosen from the bazlist table.

The reason I did this by creating a custom table is that you can add or remove items to this list so that they will also randomly appear or NOT appear on the vendor without editing or changing your items table itself.

The benefit of this for instance is that I removed all no drop, all items over reqlevel 65, all LDON reward items, all no rent items from the Bazlist table which will ensure they do not appear on these merchants however they are not removed from the game.

Please feel free to offer and suggestions and improvements to this idea that are you may have.

You can make a DB trigger to run this query every day or so and it will automatically on the fly update their inventories ( players logged in while they query is ran for some reason seem to have to log out to see changes)

I was attempting to make this into a command that can be used ingame but I cannot atm seem to get a command to run a basic SQL query. I will repost here if and when I get that part figured out.
Reply With Quote
 

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 07:34 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