Go Back   EQEmulator Home > EQEmulator Forums > Development > Development::Database/World Building

Development::Database/World Building World Building forum, dedicated to the EQEmu MySQL Database. Post partial/complete databases for spawns, items, etc.

Reply
 
Thread Tools Display Modes
  #31  
Old 03-03-2013, 09:40 AM
LordAdakos
Sarnak
 
Join Date: Dec 2007
Posts: 57
Default

For the new loot system:

Code:
insert into lootdrop values (100001, 'Crude Defiant');
insert into lootdrop_entries select 100001, id, 1, 1, 3, 0, 0, 127, 1 from items where name like 'Crude Defiant%'; 
insert into loottable_entries select distinct loottable_id, 100001, 1, 1, 0, 4 from npc_types where loottable_id > 0 and level between 0 and 14;
I think ... (the script works, but im still figuring out possibilities)
Reply With Quote
  #32  
Old 03-05-2013, 09:00 PM
Shiny151
Hill Giant
 
Join Date: Jul 2009
Location: Indianapolis
Posts: 228
Default

Has anyone noticed if you add defiant based on these scripts you'll sometimes find mobs that are dropping defiant gear that's out of their range? For example, if i only want Elegant Defiant to drop by using this:

Code:
insert into lootdrop values (300007, 'Elegant Defiant');
insert into lootdrop_entries select 300007, id, 1, 1, 2, 0, 127, 1 from items where name like 'Elegant Defiant%' and nodrop = 1; 
insert into loottable_entries select distinct loottable_id, 300007, 1, 4, 1, 1 from npc_types where loottable_id > 0 and level >= 70;
...only mobs equal or higher than level 70 should be dropping this. If I start with a clean database and use the above and then use George's Loot Editor to examine the mobs drop tables in BoT, I see random mobs below level 70 with Elegant gear in their drop tables. How can I prevent this so it stays strictly in range of the mobs level?
Reply With Quote
  #33  
Old 04-01-2013, 01:38 PM
vkrr
Sarnak
 
Join Date: Mar 2013
Posts: 65
Default

I noticed that too shiny, I first thought it was a bug. Upon closer inspection it appears that there may be a loottable shared that is getting the same application of the loottable_entry. I havnt found a good fix yet, but i hope this info helps
Reply With Quote
  #34  
Old 04-01-2013, 03:23 PM
Shiny151
Hill Giant
 
Join Date: Jul 2009
Location: Indianapolis
Posts: 228
Default

I wonder if there's some sort of exclusion we can apply to the sql that if any mob tied to a table is lower than the the required range of the defiant gear that it doesn't add any defiant to the table. I'd prefer that option rather than having to clean up all the loot tables.
Reply With Quote
  #35  
Old 04-01-2013, 03:47 PM
vkrr
Sarnak
 
Join Date: Mar 2013
Posts: 65
Default

you'd have to compare the loottable assigned to the mob to any other mob with the assigned loot table.
Someone who knows more about SQL than I would have to help you out, though.

Theorycrafting:
Compare loottable assigned to any mob with all other mobs who have the same loottable
if any of them are lower than X, don't add it, otherwise, add it.

maybe something like this for starters (assuming these are the right table and column names)
Code:
select * from lootdrop INNER JOIN npc_types on lootdrop.id = npc_types.lootdrop_id;
select lootdrop .*,npc_types .*  from lootdrop ,npc_types  where  lootdrop.id = npc_types.lootdrop_id;
Reply With Quote
  #36  
Old 04-02-2013, 08:39 AM
Shiny151
Hill Giant
 
Join Date: Jul 2009
Location: Indianapolis
Posts: 228
Default

I'm not versed well enough to figure this one out; I'm only slightly dangerous with sql. Perhaps you and werebat can put your heads together and figure this one out. Seems like you're on the right path though.


Quote:
Originally Posted by vkrr View Post
you'd have to compare the loottable assigned to the mob to any other mob with the assigned loot table.
Someone who knows more about SQL than I would have to help you out, though.

Theorycrafting:
Compare loottable assigned to any mob with all other mobs who have the same loottable
if any of them are lower than X, don't add it, otherwise, add it.

maybe something like this for starters (assuming these are the right table and column names)
Code:
select * from lootdrop INNER JOIN npc_types on lootdrop.id = npc_types.lootdrop_id;
select lootdrop .*,npc_types .*  from lootdrop ,npc_types  where  lootdrop.id = npc_types.lootdrop_id;
Reply With Quote
  #37  
Old 05-15-2013, 08:28 PM
MisifuWiki
Sarnak
 
Join Date: Sep 2007
Posts: 33
Default

For to me any of the scrips posted in this thread works for me at peqdb 2506 , anyone can make defiant works ??
Reply With Quote
  #38  
Old 05-21-2013, 11:40 AM
MisifuWiki
Sarnak
 
Join Date: Sep 2007
Posts: 33
Default

I try differents scripts and finally i got one wich work with db rev2506 /Cheers !!!! Then i will share with you all.


insert into lootdrop values (200002, 'Crude Defiant');
insert into lootdrop_entries select 200002, id, 1, 1, 3, 0, 0, 127, 1 from items where name like 'Crude Defiant%' and nodrop = 1;
insert into loottable_entries select distinct loottable_id, 200002, 1, 1, 0, 10 from npc_types where loottable_id > 0 and level between 1 and 4;

insert into lootdrop values (200003, 'Simple Defiant');
insert into lootdrop_entries select 200003, id, 1, 1, 3, 0, 0, 127, 1 from items where name like 'Simple Defiant%' and nodrop = 1;
insert into loottable_entries select distinct loottable_id, 200003, 1, 1, 0, 10 from npc_types where loottable_id > 0 and level between 5 and 14;

insert into lootdrop values (200004, 'Rough Defiant');
insert into lootdrop_entries select 200004, id, 1, 1, 3, 0, 0, 127, 1 from items where name like 'Rough Defiant%' and nodrop = 1;
insert into loottable_entries select distinct loottable_id, 200004, 1, 1, 0, 10 from npc_types where loottable_id > 0 and level between 15 and 25;

insert into lootdrop values (200005, 'Ornate Defiant');
insert into lootdrop_entries select 200005, id, 1, 1, 3, 0, 0, 127, 1 from items where name like 'Ornate Defiant%' and nodrop = 1;
insert into loottable_entries select distinct loottable_id, 200005, 1, 1, 0, 10 from npc_types where loottable_id > 0 and level between 26 and 36;

insert into lootdrop values (200006, 'Flawed Defiant');
insert into lootdrop_entries select 200006, id, 1, 1, 3, 0, 0, 127, 1 from items where name like 'Flawed Defiant%' and nodrop = 1;
insert into loottable_entries select distinct loottable_id, 200006, 1, 1, 0, 10 from npc_types where loottable_id > 0 and level between 37 and 47;

insert into lootdrop values (200007, 'Intrincate Defiant');
insert into lootdrop_entries select 200007, id, 1, 1, 3, 0, 0, 127, 1 from items where name like 'Intrincate Defiant%' and nodrop = 1;
insert into loottable_entries select distinct loottable_id, 200007, 1, 1, 0, 10 from npc_types where loottable_id > 0 and level between 48 and 58;

insert into lootdrop values (200008, 'Elaborate Defiant');
insert into lootdrop_entries select 200008, id, 1, 1, 3, 0, 0, 127, 1 from items where name like 'Elaborate Defiant%' and nodrop = 1;
insert into loottable_entries select distinct loottable_id, 200008, 1, 1, 0, 10 from npc_types where loottable_id > 0 and level between 59 and 69;

insert into lootdrop values (200009, 'Elegant Defiant');
insert into lootdrop_entries select 200009, id, 1, 1, 3, 0, 0, 127, 1 from items where name like 'Elegant Defiant%' and nodrop = 1;
insert into loottable_entries select distinct loottable_id, 200009, 1, 1, 0, 10 from npc_types where loottable_id > 0 and level >= 70;


And this is all folks !!!
Reply With Quote
  #39  
Old 11-09-2013, 10:11 AM
warkid
Hill Giant
 
Join Date: Sep 2013
Location: Barnsley england
Posts: 120
Default

what do i edit to increase drop rate? the 10 or something els?
Reply With Quote
  #40  
Old 02-21-2014, 03:01 PM
Lord of Steel
Fire Beetle
 
Join Date: Feb 2014
Posts: 17
Default

I wanted to remove defiant and the googles brought me here.

So here is what i just ran on my db if anyone wants to remove the chance for these to drop

Code:
UPDATE peq.loottable_entries 
JOIN  peq.lootdrop_entries ON peq.lootdrop_entries.lootdrop_id = peq.loottable_entries.lootdrop_id  
JOIN  peq.items ON peq.items.id = peq.lootdrop_entries.item_id  
SET peq.loottable_entries.probability = 0 
WHERE peq.items.name like "%defiant%" AND peq.items.lore like "%For%"
haven't tested it yet in game but it should work
Reply With Quote
  #41  
Old 02-21-2014, 05:07 PM
Furniture
Hill Giant
 
Join Date: Aug 2012
Posts: 205
Default

just thought i should add that while that query will remove defiant drops, theres many more pieces of defiant type gear that still drops, as well as augments, tradeskill items, etc.

Just a warning for those looking to get rid of all out of era stuff like defiant out of their database
Reply With Quote
  #42  
Old 02-22-2014, 10:05 AM
dagulus2
Hill Giant
 
Join Date: Feb 2013
Posts: 220
Default

shouldent this be 'SET peq.lootdrop_entries.probability = 0' rather than 'SET peq.loottable_entries.probability = 0' ?
Reply With Quote
  #43  
Old 02-22-2014, 05:37 PM
sorvani
Dragon
 
Join Date: May 2010
Posts: 966
Default

Depends. If the defiant is always on its own loot drop you can. Otherwise setting the specific entry to zero makes just that item in the loot drop not get rolled.
Reply With Quote
  #44  
Old 02-23-2014, 08:03 AM
werebat's Avatar
werebat
Hill Giant
 
Join Date: Oct 2010
Posts: 143
Default

This sql will remove all defiant from lootdrops. It also includes the combatant and adept stuff which is pretty much defiant for other slots.

Quote:
delete from lootdrop_entries
where item_id in (select id from items where name regexp '(Crude|Simple|Rough|Ornate|Flawed|Intricate|Elabo rate|Elegant)( Defiant| Combatant| Adept)');

Last edited by werebat; 02-23-2014 at 08:05 AM.. Reason: There is no space in the word Elaborate but my display keeps showing it for some reason
Reply With Quote
  #45  
Old 12-25-2014, 12:18 PM
Bohbo
Hill Giant
 
Join Date: Dec 2012
Posts: 116
Default

With some of the new DB Fields / Updates the code doesn't match the column count. For anyone having trouble try this structure.

See the 2 highlighted values. This will match up the column count.

Code:
insert into lootdrop_entries select 100001, id, 1, 1, 2, 0, 0, 127, 1 from items where name like 'Crude Defiant%' and nodrop = 1;
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 02:35 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