EQEmulator Forums

EQEmulator Forums (https://www.eqemulator.org/forums/index.php)
-   Archive::Database/World Building (https://www.eqemulator.org/forums/forumdisplay.php?f=625)
-   -   Increase the define in doors.h. (https://www.eqemulator.org/forums/showthread.php?t=7846)

Velosity 06-09-2003 06:38 PM

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.?

fnemo 06-09-2003 06:54 PM

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)

Velosity 06-09-2003 07:36 PM

ummm no file found, and mysql didnt open it either

Trumpcard 06-10-2003 12:08 AM

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.

Velosity 06-11-2003 08:07 AM

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

Velosity 06-11-2003 08:13 AM

*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 =-(

Muuss 06-12-2003 09:01 AM

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 :)

Lurker_005 06-12-2003 03:13 PM

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?

Muuss 06-12-2003 10:03 PM

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 :)

Lurker_005 06-13-2003 01:39 PM

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.

Velosity 06-13-2003 08:29 PM

Ok, so after i do the select statement, would i do a DELETE FROM TABLES WHERE MAX(ID) > 9999; ?

cannonalldex 06-23-2003 11:55 AM

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.

Velosity 06-23-2003 07:02 PM

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

cannonalldex 06-23-2003 10:54 PM

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.

mamba666 06-27-2003 04:59 AM

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.


All times are GMT -4. The time now is 08:03 PM.

Powered by vBulletin®, Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.