|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Development::Tools 3rd Party Tools for EQEMu (DB management tools, front ends, etc...) |
09-07-2006, 02:51 PM
|
Developer
|
|
Join Date: Jul 2004
Posts: 773
|
|
the tables in which ID matters (all linear scale):
- items
- loottable
- lootdrop
- npc_faction
- doors
everything else shouldent matter.
|
09-07-2006, 03:00 PM
|
AX Classic Developer
|
|
Join Date: May 2006
Location: filler
Posts: 2,049
|
|
Quote:
Originally Posted by fathernitwit
the tables in which ID matters (all linear scale):
- items
- loottable
- lootdrop
- npc_faction
- doors
everything else shouldent matter.
|
Thanks, this saves me a lot of time- I was optimizing too many
|
09-08-2006, 12:54 AM
|
Hill Giant
|
|
Join Date: Sep 2004
Posts: 117
|
|
Now that I've tweaked the increments to tighten up the id ranges, and we've not had too many bug reports, I'm looking for more features to add (or maybe a new project?). Any requests?
__________________
"Like what you like, enjoy what you enjoy, and don't take crap from anybody."
|
09-08-2006, 04:44 AM
|
Discordant
|
|
Join Date: May 2006
Posts: 458
|
|
Excellent!
What about ground spawns? There are quite a few quests and items that do spawn on the floor. Oh, and items. I'm sure people with custom servers and items would like that option. I'm not one of them, but I could imagine the pain it would be to export/import everything every single time.
Um, that's all I can think of, heh.
|
09-09-2006, 11:50 AM
|
Demi-God
|
|
Join Date: Jul 2006
Posts: 1,552
|
|
Quote:
Originally Posted by zephyr325
npc_types.id: increment by 350,000 rather than 500,000
spawngroup.id: increment by 300,000 rather than 3,000,000
spawn2.id: incremebt by 125,000 rather than 500,000
npc_spells.id: increment by 300 rather than 5,000
npc_spells_entries.id: increment by 1,800 rather than 5,000
loottable.id: increment by 13,000 rather than 500,000
lootdrop.id: increment by 50,000 rather than 500,000
faction_list.id: increment by 1,000 rather than 5,000
items.id: increment by 100,000 rather than 500,000
|
I'm still not seeing the logic behind not using PEQ's standard ID numbering convention of zoneid * 1000 where applicable. There is no risk of running into their numbering scheme if this combined effort becomes "the new base" standard. I'd prefer my NPCs in zone 202 to start at 202000 - 202999.
Nice work, still. Very helpful scripting.
|
09-09-2006, 12:37 PM
|
Demi-God
|
|
Join Date: Jul 2006
Posts: 1,552
|
|
Zephyr, one more thing. MySQL 4.1 doesn't seem to be handling this header line very well:
Code:
print FILE "-----------------------------------------------------------------------\n";
Likely the fact it doesn't think it's a comment due to no space after the first two "--"s.
I edited my .pl and re-ran the scripts and MySQL can import the file ok. Not sure if this is everyone, or just my version (MySQL - 4.1.20-community-nt).
|
09-11-2006, 02:34 AM
|
Hill Giant
|
|
Join Date: Sep 2004
Posts: 117
|
|
Quote:
Originally Posted by John Adams
I'm still not seeing the logic behind not using PEQ's standard ID numbering convention of zoneid * 1000 where applicable. There is no risk of running into their numbering scheme if this combined effort becomes "the new base" standard. I'd prefer my NPCs in zone 202 to start at 202000 - 202999.
Nice work, still. Very helpful scripting.
|
Understood - that would be a nice "next feature"; currently, I'm not trying to look at the npc_id's field at that detail to see what would be the next available ID number. To make it simpler (for me!) I just found a range for each table that would work with both the Cavedude and PEQ databases. We'll see what I can do on that front, as it's already got a "all mobs in this zone" mode.
__________________
"Like what you like, enjoy what you enjoy, and don't take crap from anybody."
|
09-11-2006, 02:45 AM
|
Hill Giant
|
|
Join Date: Sep 2004
Posts: 117
|
|
Quote:
Originally Posted by John Adams
Zephyr, one more thing. MySQL 4.1 doesn't seem to be handling this header line very well:
Code:
print FILE "-----------------------------------------------------------------------\n";
Likely the fact it doesn't think it's a comment due to no space after the first two "--"s.
I edited my .pl and re-ran the scripts and MySQL can import the file ok. Not sure if this is everyone, or just my version (MySQL - 4.1.20-community-nt).
|
Whoops - thanks for the catch.
I've patched the program and re-posted it.
__________________
"Like what you like, enjoy what you enjoy, and don't take crap from anybody."
|
09-11-2006, 03:16 PM
|
Demi-God
|
|
Join Date: Jul 2006
Posts: 1,552
|
|
Excellent. Thank you again for this. This script kicks ass!
|
|
|
|
09-11-2006, 10:57 PM
|
AX Classic Developer
|
|
Join Date: May 2006
Location: filler
Posts: 2,049
|
|
It's all in the numbers
Quote:
Originally Posted by WildcardX
I can vouch for FNW on this. When I made a database that was a combination of the latest PEQ, Cavedude's latest and Angelox's latest work, I saw my server memory increase by 300% the normal for running just 10 dynamic zones. Atleast, this is what I think is causing it. I'm still trying to prove it, or I was, until I just read FNW's post above...
On the other hand, it sure is nice to have a database that is almost all popped up intil Omens.
|
This has a pretty simple solution, and is how I optimized my database. I did it with "MySql Query Browser" , a desktop calculator, GeorgeS "MySql Query TooL' , and some index cards to take notes on.
After you run zephyr325's tool, you'll have , new "groups" of high rows/numbers - with "MySql Query Browser", you can sort them so you can see all this; you can see where the original set of numbers end, and the new sets (you made with the tool) start and end.
So, for example, lets say lootdrop originally has ids of 1 -10, and the tool made 10 more rows 20-30. so now you have rows 1-30, the gap being rows 10 -20 so you have to optimize and move the new ten rows to start at 11.
Code:
UPDATE lootdrop SET id=id-9 WHERE (id>=20 AND id<=30);
I ran the code in a windows, mysql command shell - I made backup almost every time I ran new lines, because if I got one "beep", that ment it was all ruined, as one of changes were duplicate and I had to start over with a restore.
Here's some examples of what I touched when I fixed my database.
Code:
UPDATE lootdrop SET id=id-14878 WHERE (id>=102100 AND id<=102200);
UPDATE lootdrop_entries SET lootdrop_id=lootdrop_id-14878 WHERE (lootdrop_id>=102100 AND lootdrop_id<=102200);
UPDATE loottable SET id=id-14878 WHERE (id>=102100 AND id<=102200);
UPDATE loottable_entries SET lootdrop_id=lootdrop_id-14878 WHERE (lootdrop_id>=102100 AND lootdrop_id<=102200);
and these, I don't think mattered, but since for some reason, high numbers became ugly to me;
Code:
UPDATE npc_types SET loottable_id=loottable_id-14878 WHERE (loottable_id>=102100 AND loottable_id<=102200);
UPDATE loottable_entries SET loottable_id=loottable_id-14878 WHERE (loottable_id>=102100 AND loottable_id<=102200);
That was just the finishing touch to a "mass move" of a lot of 8 digit groups I had created.
I haven't used zephyr325's tool yet , but I'm sure the same thing happens to him as what happened to me, when this tool is run.
Also remember, just adding/merging Cavedudes' and PEQ is not the whole solution - it's just a "better start" to what needs to be done.
Last edited by Angelox; 09-12-2006 at 07:02 AM..
Reason: typo
|
|
|
|
09-12-2006, 02:12 AM
|
AX Classic Developer
|
|
Join Date: May 2006
Location: filler
Posts: 2,049
|
|
I forgot to add the reason for the calculator ;
Code:
UPDATE lootdrop SET id=id-9 WHERE (id>=20 AND id<=30);
The highest old number was 10, and the lowest of the new numbers was 20
Highest old number(10) subtract from lowest of new numbers(20) = 10, then subtract one from your new number(10 - 1) to get 9.
You need a calculator for whan the numbers get big and ugly.
|
09-12-2006, 02:16 AM
|
Dragon
|
|
Join Date: Dec 2003
Location: Earth
Posts: 818
|
|
0.5.7 database
FYI,
I tried to update a 0.57 and a 0.6.0 database and this pops up.
Use of uninitialized value in concatenation (.) or string at grabnpc.pl line 740
not a clue on what that means but line 740 is this.
print FILE "\"$Spawn2[$tmp]->{'Condition'}\",";
guessing it has to do with spawn conditions and such.
|
|
|
|
09-12-2006, 02:28 AM
|
Hill Giant
|
|
Join Date: Sep 2004
Posts: 117
|
|
Quote:
Originally Posted by sdabbs65
FYI,
I tried to update a 0.57 and a 0.6.0 database and this pops up.
Use of uninitialized value in concatenation (.) or string at grabnpc.pl line 740
not a clue on what that means but line 740 is this.
print FILE "\"$Spawn2[$tmp]->{'Condition'}\",";
guessing it has to do with spawn conditions and such.
|
That shouldn't be a critical error, at least from the grabnpc.pl program operation standpoint. That warning means that it is trying to create a variable from the data that it read from your "from" database, but that field didn't exist there. It will just write a blank variable out for that when it creates the insert statements.
A bigger question is whether or not the 0.6.0 version of the program needs that variable for something. I'm not sure about that one, but I'd just source one NPC to see how it acts.
__________________
"Like what you like, enjoy what you enjoy, and don't take crap from anybody."
|
|
|
|
|
|
|
09-12-2006, 04:05 AM
|
Dragon
|
|
Join Date: Dec 2003
Location: Earth
Posts: 818
|
|
1npc
Quote:
Originally Posted by zephyr325
That shouldn't be a critical error, at least from the grabnpc.pl program operation standpoint. That warning means that it is trying to create a variable from the data that it read from your "from" database, but that field didn't exist there. It will just write a blank variable out for that when it creates the insert statements.
A bigger question is whether or not the 0.6.0 version of the program needs that variable for something. I'm not sure about that one, but I'd just source one NPC to see how it acts.
|
Im actually trying to convert over the old 5.7 S2K database that I got 2 years ago. it seems to be missing something
last year I was able to convert it over to 0.6.0 but I added and deleted a whole slew of fields.
The NPC sourced in but it's not showing up in the spawnlistand if i remember right I had to drop and add quite a bit of fields.
so the conversion from 0.6.0 to 0.7.0 is what im troubleshooting atm.
|
|
|
|
09-12-2006, 05:22 AM
|
Dragon
|
|
Join Date: Dec 2003
Location: Earth
Posts: 818
|
|
Parseing error.
this is right from the npc file that grabnpc.pl made.
After tinkering with it for a while I noticed this error, maybe it's a parseing error.
mysql> INSERT INTO spawn2 (id, spawngroupID, zone, x, y, z, heading, respawntime
, variance, pathgrid, timeleft, _condition, cond_value) VALUES ("350904","281356
","nexus","0.977219","19.124527","-30.247982","139.125000","1200","0","0","0",);
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ')' at line 1
|
Posting Rules
|
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is Off
|
|
|
All times are GMT -4. The time now is 06:44 PM.
|
|
|
|
|
|
|
|
|
|
|
|
|