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.? |
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) |
ummm no file found, and mysql didnt open it either
|
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. |
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 |
*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 =-(
|
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 :) |
Quote:
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? |
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 :) |
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.
|
Ok, so after i do the select statement, would i do a DELETE FROM TABLES WHERE MAX(ID) > 9999; ?
|
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.
|
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 |
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. |
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. |
i used the 4.4 too, i have half the stones and books working, the cabilis stone is missing, paineel elevator and stone is gone, couple books gone from gfay and one from "zone off paineel" , one elevator in gfay goes 3/4 of the way up. ( no matter what i do)other than that every thing seems good, oh and where does that d**n 100 f00t drop come from when you click a stone and zone isnt ready yet. is that coord in the database somewhere? or in the raw zone points. i cant seem to change it for nothing lol. my safe spot when i use #zone to poknowledge is set right, and the zones from the books into poknowlege is right, but where oh where is that 100 foot drop coord at?
|
Thought I would post this. It is sql commands to "compress" all the door ID's so there aren't any gaps and it starts at 1
As long as you have less than 10000 doors this will fix the door ID limit. Normaly there are about 5500 doors that we have data for. Replace eq440 (2 places) with the name of your DB. Code:
use eq440; |
thx for the reply, but thats something i havent got into yet. (not computer literate yet) in terms of knowing what your talking about. sorry for my lack of experiece. i have so many duplicate doors in my doors table. after looking at your post a few times, i think i might know what your telling me to do. does this fix the lift height issue and the elevator in paineel? :)
OMG P! that was cruel and unusual punishment. lol ok after about the 5th time it all went right, gonna see what i actually did now hehe. |
heh, guess I didn't exactly provide much instructions :p
Call it a test for who should actually try to use it... the ones that figure out how ;) All it should do is make sure the id's are sequential starting at 1 It will not fix duplicate door. Like say you sourced the doors sql in twice, or combined two different doors tables. If you did that, your best bet is: Code:
use your_eq_database_name; |
well, ive given up on the paineel elevator and stones for now, i just made it so you can click the stones and it will shadow step you to the top or bottom depending on which stone you click :) it seems more convenient that way for the moment.
|
All times are GMT -4. The time now is 02:59 AM. |
Powered by vBulletin®, Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.