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

Archive::Database/World Building Archive area for General Discussion's posts that were moved here after an inactivity period of 90 days.

Reply
 
Thread Tools Display Modes
  #1  
Old 06-09-2003, 06:38 PM
Velosity
Sarnak
 
Join Date: May 2003
Location: Rancho Cucamonga, Ca
Posts: 77
Default Increase the define in doors.h.

Using database 'eq' at localhost
[Status] CURRENT_ZONE_VERSION: EQEMu 0.4.4-DR1
[Error] CURRENT_ZONE_VERSION: EQEMu 0.4.4-DR1
[Status] Loading Variables
[Status] Loading zone names
[Status] Loading items
EMuShareMem.dll loaded.
[Status] Loading npcs
Loading NPCTypes from database...
[Status] Loading npc faction lists
Loading NPC Faction Lists from database...
[Status] Loading loot tables
Loading Loot tables from database...
[Status] Loading doors
Error: EMuShareMem: pDLLLoadDoors: iMaxDoorID > MMF_MAX_Door_ID
You need to increase the define in Doors.h.
[Status] Loading guilds
[Status] Loading factions
[Status] Loading corpse timers
[Status] Loading what ever is left
[Status] Entering sleep mode
Connected to worldserver: 66.215.***.**:9000

How would i go about increasing the define inDoors.h.?
Reply With Quote
  #2  
Old 06-09-2003, 06:54 PM
fnemo's Avatar
fnemo
Discordant
 
Join Date: Dec 2002
Posts: 354
Default

open doors.h,
update "#define MMF_MAX_Door_ID xxxx" where xxxx is a value to an upper value
then recompile the whole code (or at least zone.exe or zone, depends of your OS)
__________________
Nemo
Administrator and coder for the World Alkora Server
Reply With Quote
  #3  
Old 06-09-2003, 07:36 PM
Velosity
Sarnak
 
Join Date: May 2003
Location: Rancho Cucamonga, Ca
Posts: 77
Default

ummm no file found, and mysql didnt open it either
Reply With Quote
  #4  
Old 06-10-2003, 12:08 AM
Trumpcard
Demi-God
 
Join Date: Jan 2002
Location: Charlotte, NC
Posts: 2,614
Default

I think that information was wasted on him fnemo...lol...

Velo, that change is only effective if you recompile.

Go to your database and drop a few of your top end doors.

HINT: Do a sql select , sort by door_id, and drop say the highest 100 or so.

As always, always backup your database before making changes.
__________________
Quitters never win, and winners never quit, but those who never win and never quit are idiots.
Reply With Quote
  #5  
Old 06-11-2003, 08:07 AM
Velosity
Sarnak
 
Join Date: May 2003
Location: Rancho Cucamonga, Ca
Posts: 77
Default

Ok, Trump, that I understood, my friend isnt helping me out as much as i had hoped he would but i DO know basic SQL commands, such as CREATE, DROP, SELECT, INSERT, ORDER BY, WHERE, etc . .

So one thing I am going through right now is the Telmet and Drawdes database to make the files where they either INSERT IGNORE INTO yadda or REPLACE INTO so that way people dont get duplication errors, also I am trying to fix the column count doesnt match value at row 1, I have noticed that I get that error any time i try to source my spawns.sql so i will be taking a look more at that later
Reply With Quote
  #6  
Old 06-11-2003, 08:13 AM
Velosity
Sarnak
 
Join Date: May 2003
Location: Rancho Cucamonga, Ca
Posts: 77
Default

*sigh* my where clauses dont work when i try to do what you say because ii dont know exactly which column im working with, but i did a select * from doors; command, now i get the joy of waiting 20 minutes for it all to display =-(
Reply With Quote
  #7  
Old 06-12-2003, 09:01 AM
Muuss
Dragon
 
Join Date: May 2003
Posts: 539
Default

select max(id) from doors;

will give you only one row with the biggest value of the id field

select count(id) from doors;

will give you the number of records
Reply With Quote
  #8  
Old 06-12-2003, 03:13 PM
Lurker_005
Demi-God
 
Join Date: Jan 2002
Location: Tourist town USA
Posts: 1,671
Default

Quote:
Originally Posted by Muuss
select max(id) from doors;

will give you only one row with the biggest value of the id field

select count(id) from doors;

will give you the number of records
First by default you don't want any door ID's above 9999 unless you modified the doors.h file and recompiled

If those two do not give you similar numbers (within say 1000 of each other) then you have lots of unused ID's This happens when the table data is deleted, the next insert will use the next highest ID from what was there (unless the ID is specified)

You can drop the table, then recreate it then reload the doors and things should be better. I imagine there is a command that compacts the table and can get the ID's sequential, but I can't think of it right now. Anyone?
__________________
Please read the forum rules and look at reacent messages before posting.
Reply With Quote
  #9  
Old 06-12-2003, 10:03 PM
Muuss
Dragon
 
Join Date: May 2003
Posts: 539
Default

As you say, you can dump and recreate the table doors cause its not linked to any other table, but this wouldnt work with the other tables due to the referencing between them.

If the problem occurs with the linked tables, it will be the occasion for a new third party app
Reply With Quote
  #10  
Old 06-13-2003, 01:39 PM
Lurker_005
Demi-God
 
Join Date: Jan 2002
Location: Tourist town USA
Posts: 1,671
Default

hmm wouldn't be too hard to do programitically.... Perhaps I'll do it as an exercise. The procedure would be usefull for other situations anyhow.
__________________
Please read the forum rules and look at reacent messages before posting.
Reply With Quote
  #11  
Old 06-13-2003, 08:29 PM
Velosity
Sarnak
 
Join Date: May 2003
Location: Rancho Cucamonga, Ca
Posts: 77
Default

Ok, so after i do the select statement, would i do a DELETE FROM TABLES WHERE MAX(ID) > 9999; ?
Reply With Quote
  #12  
Old 06-23-2003, 11:55 AM
cannonalldex
Sarnak
 
Join Date: Jun 2003
Posts: 88
Default

Is it possible to say, delete the doors from the database to source another doors.sql into the database? please help for a noob that never programmed before. thank you in advance.
Reply With Quote
  #13  
Old 06-23-2003, 07:02 PM
Velosity
Sarnak
 
Join Date: May 2003
Location: Rancho Cucamonga, Ca
Posts: 77
Default

go into mysql

then . . . .
type use eq (if eq is your database name, if not use your database name)

it should say Database Changed, if so, good

Then once you get the database changed message type this

Drop table doors

Double check to make sure your source has the create table doors and all the columns for the table so when your doors.sql does the insert into doors values (yadda, yadda);
if so then go ahead and type this

Source doors.sql;

that will begin the source from your doors.sql

if not add this into your doors.sql at the very beginning

DROP TABLE doors;

CREATE TABLE doors (

id int(11) NOT NULL auto_increment,

doorid smallint(4) NOT NULL default '0',

zone varchar(16) NOT NULL default '',

name varchar(10) NOT NULL default '',

pos_y float NOT NULL default '0',

pos_x float NOT NULL default '0',

pos_z float NOT NULL default '0',

heading int(11) NOT NULL default '0',

opentype smallint(4) NOT NULL default '0',

guild smallint(4) NOT NULL default '0',

lockpick smallint(4) NOT NULL default '0',

keyitem int(11) NOT NULL default '0',

triggerdoor smallint(4) NOT NULL default '0',

triggertype smallint(4) NOT NULL default '0',

doorisopen smallint(4) NOT NULL default '0',

liftheight int(4) NOT NULL DEFAULT '0',

PRIMARY KEY (id)

) TYPE=MyISAM;


Please note: MAKE A BACK UP OF YOUR DATABASE, this might be a different table with differnt colums in which you will get a whole bunch of column count doesnt match at yadda yadda

Hope this helps

If you still have problems i can mail you sources that i have sourced in perfectly with a couple, and i do mean a couple column count doesnt match Just PM me
Reply With Quote
  #14  
Old 06-23-2003, 10:54 PM
cannonalldex
Sarnak
 
Join Date: Jun 2003
Posts: 88
Default

ive had the column doesnt match error many of times in my learnings hehe. thanks for the post. i will try to change out my doors table now

Update: sweet it worked . this opens up a whole new opportunity for me to build a better world.

the doors table i use has for the most part excellent doors in the starting cities, is there a door table for the rest of the world? i noticed the one in drawde final with movement has the doors opening backward or open already ect.
Reply With Quote
  #15  
Old 06-27-2003, 04:59 AM
mamba666
Sarnak
 
Join Date: Apr 2003
Posts: 41
Default

I had a problem with the doors. Specifically the POK teleports.
The main problem was that I was running World EXE 4.3 not 4.4. I would see some of the books but the didn't work.
I used the 4.4 binaries and everything worked.


Make sure you have 4.4 binaries or newer for the pok stuff to work.
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 05: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