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
  #1  
Old 10-20-2008, 03:41 PM
RhinoDude
Fire Beetle
 
Join Date: Oct 2008
Location: USA
Posts: 22
Default

Thanks you AndMetal, I didn't see the schema docs before. Now I'm all set.

I concur with your analysis for deleting unnamed placeholders. I think this is the algorithm. If I am understanding the schema correctly, all I need to do is roll through the spawngroup table and for each group, iterate through all spawnentries. If the group contains an entry for a named spawn (name != "a"??? pls confirm), then change the chance of that to 100%, and delete all other spawnentry for that spawngroup. The net result is all spawn groups with named mobs end up containing only that mob with a 100% chance of spawning.`

Is that the correct algorithm? If so that's about 15 mins of SQL coding tops. This should handle most cases, but clearly it won't work where multiple named mob's are in the same spawn group. I guess in that case I could simply set all named npc's to 100% chance, and then they will simply stack on top of each other. Kind of ugly. Perhaps a better solution would be to create a new spawn group for each alternate named spawn, and adjust the loc by an offset. Of course, doing this in a generic fashion that worked for every mob would be almost impossible. Some are larger than others, some are right next to a wall, etc. It would almost certainly require some manual effort in order to get it right in all cases. So maybe having them spawn on top of one another wouldn't be so bad. I guess before game session I could log in as GM and move them so they aren't stacked...

But I need somebody to confirm that for unnamed spawns that name col is "a" and lastname col is the name of the mob, ie "a Gnoll", "a Bixie", etc.

Thanks
- Rhino
Reply With Quote
  #2  
Old 10-20-2008, 04:01 PM
RhinoDude
Fire Beetle
 
Join Date: Oct 2008
Location: USA
Posts: 22
Default

So to permanently kill all mobs in a dungeon once my adventurers have cleared it, could I simply do something like this?

DELETE FROM spawn2 WHERE zone = 'blackburrow'

Alternatively this would work, but only for spawns that had conditions, right?

UPDATE spawn_conditions
SET onchange = 0
WHERE zone = 'blackburrow'

If all spawns have conditions, that would be preferable, as it's easily reversed. But according to the schema, it seems as if a spawn point does not have to have a condition. So the only sure way to do it is to just delete them spawn points and the conditions.

Of course, I assume if yu are going to delete from spawn2, you should probably cascade delete all referenced rows in spawn_conditions.

I however am confused as to what spawn_entry is for. THere is no doc on that table...

- Rhino
Reply With Quote
  #3  
Old 10-21-2008, 10:20 PM
GeorgeS
Forum Guide
 
Join Date: Sep 2003
Location: California
Posts: 1,474
Default

Deleting all npc's in blackburrow in spawn2 would work, but break spawnentry and spawngroup tables due to the links being broken in spawn2.

Delete the spawngroup in its entirety then it should be ok.


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


http://www.georgestools.chrsschb.com//
Reply With Quote
  #4  
Old 10-22-2008, 09:55 AM
RhinoDude
Fire Beetle
 
Join Date: Oct 2008
Location: USA
Posts: 22
Default

Quote:
Originally Posted by GeorgeS View Post
Delete the spawngroup in its entirety then it should be ok.
GeorgeS

Thanks again George.

Do you know if the npcID and spawngroupID is written out anywhere (lot files, eventlog table, etc.) when a mob is killed? This is really all the info I need. I assume at runtime the server must know the npcID and spawngroupID of the mob, and it seems like this would be useful information to have logged somwhere.

With this information I could easily write a back-end process or schedueld procedure which rolls through the list of deleted spawns, and delete the spawn entry from the group, and then delete the group and spawn2 itself if the group contains no more entries.

Also does anybody know of a fool proof way to consult the npctype table and determine if a NPC is named or not? From consultuing the db, it seems that simply relying on names that start with "a " the "the " is going to be insufficient.

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