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 12-17-2006, 12:18 AM
Angelox
AX Classic Developer
 
Join Date: May 2006
Location: filler
Posts: 2,049
Default

Quote:
Originally Posted by bufferofnewbies
no ID is put in so the system will add them sequentally automatically for different users for their database incase the ones chosen by the creator used something that person already had. I have been doing this also with mine, so there will be fewer conflicts incase someone has been doing mods on their own servers.

But if anyone downloads yours, they will then have your setup and can follow it along in progression. The ID skip is really just so more people can use if they arent useing one of the dbases available for downloads. Of course, the same might be said for doorid. But if someone has been doing door mods to a zone, they probably dont need this insert for that zone.

doorid is the number of the door associated with that particular zone, while ID is just a listing for the database to keep the different doors seperated in their information, if any happen to be totally similar. the doorid field does seem a bit redundant, but Im sure its useful for something Im missing.
Heh! goes to show how much I know about all this - had I known a while back, I'd still be making MySql updates for the other databases, and there would have been no need for ax_peq database
If you follow all my threads backwords in these forums, you'll see what I mean.
Sql updates like this are of much more value, as anyone can use them for what ever they are doing.
I Imagine the worse that could happen is, if you're not careful and make sure you don't already have the doors, you end-up duping your self?
Anyways, I'll add this to the DB for the next time I post an update.
Reply With Quote
  #2  
Old 12-17-2006, 12:23 AM
Angelox
AX Classic Developer
 
Join Date: May 2006
Location: filler
Posts: 2,049
Default ToFS Doors "hint! hint!"

Would be nice to see all the ToFS doors working with keys - I think I already have most (if not all) keys dropping there.

HINT! HINT!
Reply With Quote
  #3  
Old 12-17-2006, 01:12 AM
bufferofnewbies
Hill Giant
 
Join Date: Dec 2005
Location: Lurking in KY
Posts: 239
Default

lol, ok. let me get some sleep and I will begin the purging of bad bad doors. Up all night trying to stay alive with my Poor cleric (hate those range spells.. tank, get over HERE! crap.. dodge, dodge, defensive casting, combat casting!)

3.5 hates me...
Reply With Quote
  #4  
Old 12-17-2006, 07:07 AM
John Adams
Demi-God
 
Join Date: Jul 2006
Posts: 1,552
Default

Table Indexing 101: (this is by no means a comprehensive look at Indexing, but I hope it helps a little)

FYI, look at the Indexes on a particular table. You should see things like PRIMARY, UNIQUE or plain ol INDEX. There can only be one Primary index per table and is always UNIQUE by nature. In DOORS for instance, PK (primary key) is [id:int(11)], and it is set to auto-increment (but PKs do not have to be numeric, or auto-increment, but that's for another discussion). In this, you never really *need* to put it in your values to generate it. The database looks at it's highest number, increments by 1, and stuffs that value in for you during an insert.

UNIQUE is another type of index and can also be a single field, or combo of fields in a table. For example, if you tried to insert 2 doors like this:

insert into doors (doorid, zone) VALUES (1, 'poknowledge');
insert into doors (doorid, zone) VALUES (2, 'poknowledge');

...that would comply with the UNIQUE index of this table. However, if you tried this query:

insert into doors (doorid, zone) VALUES (1, 'poknowledge');
insert into doors (doorid, zone) VALUES (1, 'poknowledge');

...you would get a duplicate entry error and the query would fail at the offending insert.

~breathes~

Now, if you encounter an error inserting anyone's additional data, using the info above, anyone should be able to troubleshoot why and fix the dataset to suit their own needs. For my own inserts up there, my DOORIDs weren't thought out completely. I just incremented blindly passed the max poknowledge doorids, even for guild lobby and guild hall - which I shouldn't have done (no harm, just not consistent). I should have started guildlobby and guildhall doorids at 1 (or 0, if you're a purist).

A fix to my doorids is here:
Code:
INSERT INTO doors (doorid, zone, name, pos_y, pos_x, pos_z, heading, opentype, guild, lockpick, keyitem, triggerdoor, triggertype, doorisopen, door_param, dest_zone, dest_x, dest_y, dest_z, dest_heading, invert_state, incline, size) VALUES (1, 'guildlobby', 'TRANS_ENTRY', -59, 19, 10, 135, 58, 0, 0, 0, 0, 0, 0, 0, 'poknowledge', 1380, -300, -121, 0, 0, 0, 100);
INSERT INTO doors (doorid, zone, name, pos_y, pos_x, pos_z, heading, opentype, guild, lockpick, keyitem, triggerdoor, triggertype, doorisopen, door_param, dest_zone, dest_x, dest_y, dest_z, dest_heading, invert_state, incline, size) VALUES (2, 'guildlobby', 'GUILD_DOOR_', 624.45, 48.375, 4.95, 385, 58, 0, 0, 0, 0, 0, 0, 0, 'guildhall', 0, 0, 0, 0, 0, 0, 105);
INSERT INTO doors (doorid, zone, name, pos_y, pos_x, pos_z, heading, opentype, guild, lockpick, keyitem, triggerdoor, triggertype, doorisopen, door_param, dest_zone, dest_x, dest_y, dest_z, dest_heading, invert_state, incline, size) VALUES (3, 'guildlobby', 'GUILD_DOOR_', 624.45, -48.375, 4.95, 385, 58, 0, 0, 0, 0, 0, 0, 0, 'guildhall', 0, 0, 0, 0, 0, 0, 105);
INSERT INTO doors (doorid, zone, name, pos_y, pos_x, pos_z, heading, opentype, guild, lockpick, keyitem, triggerdoor, triggertype, doorisopen, door_param, dest_zone, dest_x, dest_y, dest_z, dest_heading, invert_state, incline, size) VALUES (1, 'guildhall', 'GUILD_DOOR', -162.25, -3.375, 7, 128, 58, 0, 0, 0, 0, 0, 0, 0, 'guildlobby', 0, 585, 0, 180, 0, 0, 100);
Hope this info helps anyone who has insert errors with these doors.

J
Reply With Quote
  #5  
Old 12-17-2006, 02:21 PM
bufferofnewbies
Hill Giant
 
Join Date: Dec 2005
Location: Lurking in KY
Posts: 239
Default

Quote:
Originally Posted by Angelox
Would be nice to see all the ToFS doors working with keys - I think I already have most (if not all) keys dropping there.

HINT! HINT!
hey ang, can i get a copy/ paste of the keyid's that trigger each door?
Reply With Quote
  #6  
Old 12-31-2006, 10:01 AM
John Adams
Demi-God
 
Join Date: Jul 2006
Posts: 1,552
Default

Small update to these facades. I see them (proudly) in the ax_peq database, but when I clicked on the guild lobby, I was thrown to my death for 32000 damage. I realized, not everyone may know they need to add the guildlobby and guildhall zones to the table: zone. So here's the inserts.

(I forgot these were not in by default. I used buffers(I think?) missing zones inserts posted in another thread, and forgot these might not be present).

Cavedude Database:
Code:
INSERT INTO `zone` (`short_name`, `file_name`, `long_name`, `safe_x`, `safe_y`, `safe_z`, `min_level`, `min_status`, `zoneidnumber`, `timezone`, `maxclients`, `weather`, `underworld`, `minclip`, `maxclip`, `fog_minclip`, `fog_maxclip`, `fog_blue`, `fog_red`, `fog_green`, `sky`, `ztype`, `zone_exp_multiplier`, `walkspeed`, `time_type`, `ldondungeon`, `qflagreq`, `fog_red2`, `fog_green2`, `fog_blue2`, `fog_minclip2`, `fog_maxclip2`, `fog_red3`, `fog_green3`, `fog_blue3`, `fog_minclip3`, `fog_maxclip3`, `fog_red4`, `fog_green4`, `fog_blue4`, `fog_minclip4`, `fog_maxclip4`, `flag_needed`, `canbind`) VALUES ('guildlobby', NULL, 'The Guild Lobby', 0, 0, 0, 0, 0, 344, 0, 0, 0, -2030, 450, 3000, 450, 3000, 0, 0, 0, 0, 1, 1, 0.4, 2, 0, 0, 0, 0, 0, 450, 3000, 0, 0, 0, 450, 3000, 0, 0, 0, 450, 3000, '', 1);
INSERT INTO `zone` (`short_name`, `file_name`, `long_name`, `safe_x`, `safe_y`, `safe_z`, `min_level`, `min_status`, `zoneidnumber`, `timezone`, `maxclients`, `weather`, `underworld`, `minclip`, `maxclip`, `fog_minclip`, `fog_maxclip`, `fog_blue`, `fog_red`, `fog_green`, `sky`, `ztype`, `zone_exp_multiplier`, `walkspeed`, `time_type`, `ldondungeon`, `qflagreq`, `fog_red2`, `fog_green2`, `fog_blue2`, `fog_minclip2`, `fog_maxclip2`, `fog_red3`, `fog_green3`, `fog_blue3`, `fog_minclip3`, `fog_maxclip3`, `fog_red4`, `fog_green4`, `fog_blue4`, `fog_minclip4`, `fog_maxclip4`, `flag_needed`, `canbind`) VALUES ('guildhall', NULL, 'Guild Hall', 0, 0, 0, 0, 0, 345, 0, 0, 0, -2030, 450, 3000, 450, 3000, 0, 0, 0, 0, 1, 1, 0.4, 2, 0, 0, 0, 0, 0, 450, 3000, 0, 0, 0, 450, 3000, 0, 0, 0, 450, 3000, '', 0);
PEQ-based databases:
Code:
INSERT INTO `zone` ( `short_name` , `file_name` , `long_name` , `safe_x` , `safe_y` , `safe_z` , `min_level` , `min_status` , `zoneidnumber` , `timezone` , `maxclients` , `weather` , `note` , `underworld` , `minclip` , `maxclip` , `fog_minclip` , `fog_maxclip` , `fog_blue` , `fog_red` , `fog_green` , `sky` , `ztype` , `zone_exp_multiplier` , `walkspeed` , `time_type` , `fog_red1` , `fog_green1` , `fog_blue1` , `fog_minclip1` , `fog_maxclip1` , `fog_red2` , `fog_green2` , `fog_blue2` , `fog_minclip2` , `fog_maxclip2` , `fog_red3` , `fog_green3` , `fog_blue3` , `fog_minclip3` , `fog_maxclip3` , `fog_red4` , `fog_green4` , `fog_blue4` , `fog_minclip4` , `fog_maxclip4` , `flag_needed` , `canbind` ) VALUES ('guildlobby', NULL , 'The Guild Lobby', '0', '0', '0', '0', '0', '344', '0', '0', '0', NULL , '-2030', '450', '3000', '450', '3000', '0', '0', '0', '0', '1', '1', '0.4', '2', '0', '0', '0', '450', '3000', '0', '0', '0', '450', '3000', '0', '0', '0', '450', '3000', '0', '0', '0', '450', '3000', '', '1');
INSERT INTO `zone` ( `short_name` , `file_name` , `long_name` , `safe_x` , `safe_y` , `safe_z` , `min_level` , `min_status` , `zoneidnumber` , `timezone` , `maxclients` , `weather` , `note` , `underworld` , `minclip` , `maxclip` , `fog_minclip` , `fog_maxclip` , `fog_blue` , `fog_red` , `fog_green` , `sky` , `ztype` , `zone_exp_multiplier` , `walkspeed` , `time_type` , `fog_red1` , `fog_green1` , `fog_blue1` , `fog_minclip1` , `fog_maxclip1` , `fog_red2` , `fog_green2` , `fog_blue2` , `fog_minclip2` , `fog_maxclip2` , `fog_red3` , `fog_green3` , `fog_blue3` , `fog_minclip3` , `fog_maxclip3` , `fog_red4` , `fog_green4` , `fog_blue4` , `fog_minclip4` , `fog_maxclip4` , `flag_needed` , `canbind` ) VALUES ('guildhall', NULL , 'Guild Hall', '0', '0', '0', '0', '0', '345', '0', '0', '0', NULL , '-2030', '450', '3000', '450', '3000', '0', '0', '0', '0', '1', '1', '0.4', '2', '0', '0', '0', '450', '3000', '0', '0', '0', '450', '3000', '0', '0', '0', '450', '3000', '0', '0', '0', '450', '3000', '', '0');
Notes:
I turned off sky and weather in these zones. It looked odd.
I also used the GoD-fixed min/max on fog and clip here, but you can mess with that if you're bored. Make it more like other zones.
Don't forget to restart your World after adding new zones!
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 10:42 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