Go Back   EQEmulator Home > EQEmulator Forums > Development > Development::GeorgeS's Tools

Development::GeorgeS's Tools A forum just for GeorgeS's tools

Reply
 
Thread Tools Display Modes
  #16  
Old 12-12-2007, 02:07 PM
GeorgeS
Forum Guide
 
Join Date: Sep 2003
Location: California
Posts: 1,474
Default

The issue with the uber items dropping when you want low level stuff was fixed by a special 'rules' button that allows hand built query's like 'reqlevel<=10 AND int<=5 AND wis<5'. Apparently it works, but is not fool proof.

Items by era is something I never thought of, and would have to think how to address that. Do-able if I had an old database or online reference that allowed era specification flags/searches or similar.

I'm actually very impressed Terethian came up with this plus he has pm me with a strong desire to have it added - which he did!

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


http://www.georgestools.chrsschb.com//
Reply With Quote
  #17  
Old 03-28-2008, 01:39 PM
velotek
Fire Beetle
 
Join Date: Jun 2005
Posts: 4
Default

Sorry for continuing the thread but was just wondering if Terethian's ideas were ever rolled into the current source? I do not think his link works anymore, and the random loot feature seemed like a good addition.
Reply With Quote
  #18  
Old 03-28-2008, 02:49 PM
GeorgeS
Forum Guide
 
Join Date: Sep 2003
Location: California
Posts: 1,474
Default

I'm afraid this is the sort of thing that worries me when people dl the source and add stuff then never give me back the modded source. Here's an example - the program therefore has two dev. branches - one with a dead end.

Anyway, I will start to work on this tonight, and see where it goes.


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


http://www.georgestools.chrsschb.com//
Reply With Quote
  #19  
Old 03-28-2008, 06:28 PM
GeorgeS
Forum Guide
 
Join Date: Sep 2003
Location: California
Posts: 1,474
Default

Ok, thought this out a bit more. I did not like the idea that you can have 100's of loots per npc. Seems unreal. So what the next version will do is compromise a bit and up to 10 random unique items per npc will drop (i.e 10 items per lootdrop) - 10% chance of ea.

If you re run the program, then the npc can (by chance, if rolled), get another 10 items. and so on.

I'll start to work out the workflow this weekend

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


http://www.georgestools.chrsschb.com//
Reply With Quote
  #20  
Old 03-29-2008, 06:07 AM
velotek
Fire Beetle
 
Join Date: Jun 2005
Posts: 4
Default

i appreciate the fast response.

no that makes sense - 10 i think is fair compromise ...

although for scalability up or down maybe it's a property you can set as a default, but override if you like - kind of use at the server admin's risk. I don't know just throwing it out.

thanks again.
Reply With Quote
  #21  
Old 03-30-2008, 06:59 AM
GeorgeS
Forum Guide
 
Join Date: Sep 2003
Location: California
Posts: 1,474
Default

Ok, finished the program and recent compile is online now.
So the default #items/lootdrop is at 5 with an option (as requested) for up to 100 possible.

Remember, some queries are pretty slow, and can take 2-5 min.


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


http://www.georgestools.chrsschb.com//
Reply With Quote
  #22  
Old 03-30-2008, 08:35 AM
velotek
Fire Beetle
 
Join Date: Jun 2005
Posts: 4
Default

Wow that was fast - didn't think I would see the mod that quick so I started just to write the db scripts (see below example) from scratch. I decided to base my loot drops off existing loot drop entries of other npc's in the same level range. The queries certainly work pretty fast, but the number of entries per npc certainly is huge. I am in the middle of rewriting the scripts into a stored proc, where I would execute a loop for each npc, within it would execute the below query to return only random 10 at a time. There is some flaws with this approach but certainly a start in the right direction.

Going to download your updates, as that is much easier - Thanks for the hard work.

example:
Code:
/* Add Loot Drop*/
insert into lootdrop (name) values ('custom_lvl_10_20_weapons');

/* Clean Up Drop Entries */
delete from lootdrop_entries where lootdrop_id = (select id from lootdrop where name = 'custom_lvl_10_20_weapons');

/* Attach items to loot drops */
/*insert into lootdrop_entries (lootdrop_id, item_id, item_charges, equip_item, chance)*/
SELECT distinct (select id from lootdrop where name = 'custom_lvl_10_20_weapons'),
       t.id, 1,1,15
from
(
SELECT i.id, i.name itemname, i.slots, i.itemtype, n.name npcname, n.level
FROM items i,
     lootdrop_entries lde,
     lootdrop ld,
     loottable_entries lte,
     loottable lt,
     npc_types n
where i.id = lde.item_id and
      lde.lootdrop_id = ld.id and
      ld.id = lte.lootdrop_id and
      lte.loottable_id = lt.id and
      lt.id = n.loottable_id and
      n.level >= 10 and n.level <=20 and
      i.itemtype in (0,1,2,3,4,35,45) and /* weapons only */
      slots in (8192,16384,24576,2097152,2048) and /* primary, secondary, pri/sec, ammo, range */
      i.name not like 'Rusty%'
) t;

/* Clean Up Loot Table Entries */
delete from loottable_entries where lootdrop_id = (select id from lootdrop where name = 'custom_lvl_10_20_weapons');

/* create loottable_entries for npc's in lvl range*/
insert into loottable_entries
SELECT distinct t.loottable_id,
       (select id from lootdrop where name = 'custom_lvl_10_20_weapons'),
       1,75
from
(
SELECT i.id, i.name itemname, i.slots, i.itemtype, n.name npcname, n.level, n.loottable_id
FROM items i,
     lootdrop_entries lde,
     lootdrop ld,
     loottable_entries lte,
     loottable lt,
     npc_types n
where i.id = lde.item_id and
      lde.lootdrop_id = ld.id and
      ld.id = lte.lootdrop_id and
      lte.loottable_id = lt.id and
      lt.id = n.loottable_id and
      n.level >= 10 and n.level <=20
) t
order by t.id;
Reply With Quote
  #23  
Old 04-08-2008, 03:30 PM
theeris23
Fire Beetle
 
Join Date: Mar 2008
Posts: 14
Default

Hey, I'm having issues with the new version. Each time I hit the execute button, I get the following error:

Run-time error '9':

Subscript out of range


It exits the program after that.

Also, is there anyway to automate the program to run it on all level ranges instead of clicking each level? I get bored sitting and having to click each loot category on each level range. Thanks!
Reply With Quote
  #24  
Old 04-09-2008, 06:01 AM
GeorgeS
Forum Guide
 
Join Date: Sep 2003
Location: California
Posts: 1,474
Default

Depending on your database, many npc's have no loottable_id, and this will crash the program. What you need to do is hit the button "Repair NPCs without lootdrops" - this takes a long while - depending on the number of missing id's...

If that was done and you still get an error - then pls report more details - such as what database schema (cavedudes install or your own), make sure all tables have correct fields', and what sort of query you tried...

I'll place your request on my to-do list...


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


http://www.georgestools.chrsschb.com//
Reply With Quote
  #25  
Old 04-10-2008, 12:57 AM
theeris23
Fire Beetle
 
Join Date: Mar 2008
Posts: 14
Default

Still getting the same error, even after repairing the NPC's without lootdrops. I'm using PEQ database, latest cvs revision.

Oh, I tried to do level 1-10, armour, with a default values in each field.
Reply With Quote
  #26  
Old 04-10-2008, 03:44 PM
theeris23
Fire Beetle
 
Join Date: Mar 2008
Posts: 14
Default

I re-did the repair option, and now it works! Strange!
Reply With Quote
  #27  
Old 04-18-2008, 10:10 PM
Asphixiate
Sarnak
 
Join Date: Jan 2008
Posts: 62
Default

George, I am having the same issue as theeris23. While it does work with loot/drop set to 5 (the default), setting it any higher results in the runtime error.

Any idea what could be wrong?

Thanks
Reply With Quote
  #28  
Old 02-14-2009, 11:37 AM
Randymarsh9
Dragon
 
Join Date: Dec 2007
Posts: 658
Default

When I use the tool, sometimes it puts weapons in the armor drop loot tables which is definitely not what I want it to do.
Reply With Quote
  #29  
Old 02-14-2009, 03:42 PM
Randymarsh9
Dragon
 
Join Date: Dec 2007
Posts: 658
Default

Also there is another problem. I want monsters to have 2 armor pieces drop at a time, so I am doing 100% of mobs get loot, 100% chance of droppping and 5 items per table. All I did is redo this again so monsters would have 2 armor tables, but for some reason some of them will have 4.
Reply With Quote
  #30  
Old 02-14-2009, 06:57 PM
Randymarsh9
Dragon
 
Join Date: Dec 2007
Posts: 658
Default

And can you possibly adjust monster level ranges customly so that when you give monsters 61-99 loot it won't go to the 65 monsters also
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 09:38 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