PDA

View Full Version : KayotRO MySQL EQEmu Database Editor


Kayot
01-11-2007, 04:12 PM
Programmers: Kayot

Desc: This is a very ambitious project. My goal is to make a program that can edit the entire EQemu database. It will support drag and drop items, Character Editors (Including Base Stats and Skills), Account Editor, Tradeskill Editor, etc. Like I said, very ambitious.

Due to the two edits only rule I am posting changes on my webboard. However I would like people to comment on this board as my board is a Phpbb 3 Beta and besides, this is EQemulator

EliteSting
01-12-2007, 10:39 PM
Very nice indeed, I wish you the best of luck.

Kayot
01-13-2007, 06:52 AM
Finally a first post! I was thinking no one was interested. Anyway, I plan to post Updated V.0.0.0R001 soon. I figured out a neat way to save resources so I'm quickly cleaning the code.

P.S. Maybe I should release the EXE separately as it's the only file that changes?

mwmdragon
01-14-2007, 01:46 PM
I would love to see this tool completed.

Request...

Make it so you can tell what NPCs are using a certain merchant list. I hate going in to find out which merchant list is being used by whom before i can edit it safely. I'm trying to get merchants cleaned up to live, instead of every merchant selling a ton of crap all the time like they just grabbed a bunch of log files and ripped what they were currently selling on live after all the noobs unloaded on em :P

So...

Merchant ID - NPC using it - Items being sold

With the ability to add and remove items being sold.

John Adams
01-15-2007, 03:39 AM
I believe eq4me is also cleaning up the merchantlist tables. Might want to see what he's up to, maybe y'all can team up.

eq4me
01-15-2007, 04:03 AM
Yea, right now I am cleaning up the items in the merchantlist. Means getting out any itens that dont belong there and checking if the merchant actually exists. A good example is the Swirlspine Belt. It exists in the merchant table but there is no npc for that merchant id.
I continue after I come home from work but I can't guarantee that it is done today.

I've collected enough data to create the merchant table from scratch but I need time to build the scripts to match allakhazam to peq id's.

Kayot
01-15-2007, 04:38 PM
So, a feature that will find orphan entries in merchant lists? Sounds like fun.

eq4me - What are you writing your scripts in? I'm using vb.net 2003 and a MySQL connector library. I'm interested in help, but a bit scared as my codes are a little childish (Smart ass comments), not to mention messy and I don't really document as much as I should. The sides effects of being self taught ^-^. Not to mention if someone who

eq4me
01-15-2007, 07:55 PM
I am doing this under Linux with bash and awk. What I am doing right now is laying a groundwork. That means tables which matches eg. peq item and npc id's with allakhazam id's, finding out which vendor listed on allakhazam has which item for sale and much more. Short term I just want to get rid of all exzess items in the merchant table and check if any items need to be on more vendors.
Once I am done with this I will see if i can accumulate all my scripts to someting more automated. But since eqemu is staying with Titanium I dont see the need to do weeky or even monthly updates.

Kayot
01-16-2007, 02:03 AM
My questions is this. Are the container ID's needed in tradeskills in the recipes? I'm still able to make the combind with any forge so long as it uses the tradeskill button. I'm wondering because if it's unnessisary I'l like to prune that when making new recipes.

bufferofnewbies
01-16-2007, 02:07 AM
container IDs are a part of the recipe for the emu.

It's needed so the emulator can figure out which container is needed for each type of combine. I 'think' it is the only place that checks for the container type, so I'd not remove any without invalidating the recipe itself.

I haven't really done much with the tradeskills sections yet, so this is all conjecture on my part atm. Take it with a grain of salt.

(edit: spelling)

Kayot
01-16-2007, 05:36 AM
This is the SQL for tradeskills:

DROP TABLE IF EXISTS `peq`.`tradeskill_recipe`;
CREATE TABLE `peq`.`tradeskill_recipe` (
`id` int(11) NOT NULL auto_increment,
`name` varchar(64) NOT NULL default '',
`tradeskill` smallint(6) NOT NULL default '0',
`skillneeded` smallint(6) NOT NULL default '0',
`trivial` smallint(6) NOT NULL default '0',
`nofail` tinyint(1) NOT NULL default '0',
`replace_container` tinyint(1) NOT NULL default '0',
`notes` tinytext,
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=8852 DEFAULT CHARSET=utf8;

All I had to do to change is so toolbox combines could be done was modify tradeskill to the number of the tradeskill for the Tackle Box. The recipes in tradeskill_recipe_entries still had the container set to toolbox/deluxe tool box/ collapsible tool box. But I was making mana batteries and cloaking devices in my tackle box and my fishing skill was going up. So I'm not sure just how required the extra entries are.

P.S. I haven't removed the lines, I just never changed them. Let sleeping dragons lie?

Kayot
01-16-2007, 12:04 PM
BUG Question: Any one else having redraw problem in Windows Server 2003?

sesmar
01-17-2007, 12:12 AM
More specific symptoms would help, redraw problems pertaining to what with Server 2003? Does it have something to do with your code/program or with the server in general? Do you get this problem only on Server 03 or can you recreate it on Windows XP or 2000 as well? Answers to these question would help in tracking down the issue you are having.

Kayot
01-17-2007, 04:50 AM
^-^ I think it was my graphic drivers. Their not made for Win2K3 so I found a new set. I'll see what happens later.

Note: I test this program on my XP machine. Intill I upgraded my desktop to Win2K3 this program worked fine on my desktop.

d00d
01-18-2007, 08:23 PM
Great program love that way your making it keep it up!

Kayot
01-19-2007, 03:48 AM
At 3:00pm-ish Eastern Time (US) I'll being putting my current snapshot up. Let me just say this. This has been a week from hell at school. Every prof. has assigned me a ton of home work every fraking day. ^-^ So i got jinxed when I said I'd pull off a miracle.

That aside, what

Jibbatwinkers
01-19-2007, 07:34 PM
I'm looking forward to this tool when you get all the kinks worked out. I have tools that were made 4 years ago and some that are quite new, it would be nice to get something like this that was all-in-one or at least most of the things I need.

The Zebuxoruk server (me) will keep and eye on this for sure, keep up the good work!

Kayot
01-20-2007, 04:36 AM
I'm thinking about moving this program to my board completly. It's nice having it here, but I lack the ability to edit my first post making any sort of updates here impossible.

Also, I'm going to release my program in three pieces from now on. Why? because only the main exe changes. Most of the archive is static data. The exe is ~400K when rar'ed. The whole thing is ~1.7 MB. I can trim updates to just the exe and save time.

Updates, I repainted the program with vs.net 2005. It's much better than it was on friday.

Links:

My forum
KayotRO - EQemu SQL Editor Section (http://kayos.no-ip.org/phpbb3/viewforum.php?f=11)

Main Exe
KayotRO EQemu Editor (http://kayosblade.googlepages.com/KayotRO_EQemu_Editor.rar)
Dll's <Will never change>
Required DLL Files (http://kayosblade.googlepages.com/Required_Dlls.rar)
Main Graphics
Graphic Files (http://kayosblade.googlepages.com/EQDragItem.rar)

JrFaust
01-20-2007, 05:45 AM
I get this error message when I click in ID Number area under the Account Editor.

Failed to populate database list: #42522Unknown column 'rulesflag' in 'field list'

Just an FYI.

Kayot
01-20-2007, 09:22 AM
What is your table structure? I'm using this one:

DROP TABLE IF EXISTS `peq`.`account`;
CREATE TABLE `peq`.`account` (
`id` int(11) NOT NULL auto_increment,
`name` varchar(30) NOT NULL default '',
`charname` varchar(64) NOT NULL default '',
`sharedplat` int(11) NOT NULL default '0',
`password` varchar(50) NOT NULL default '',
`status` int(5) NOT NULL default '0',
`lsaccount_id` int(11) unsigned default NULL,
`gmspeed` tinyint(3) unsigned NOT NULL default '0',
`revoked` tinyint(3) unsigned NOT NULL default '0',
`minilogin_ip` varchar(32) NOT NULL default '',
`hideme` tinyint(4) NOT NULL default '0',
`rulesflag` tinyint(1) unsigned NOT NULL default '0',
PRIMARY KEY (`id`),
UNIQUE KEY `name` (`name`),
UNIQUE KEY `lsaccount_id` (`lsaccount_id`)
) ENGINE=MyISAM AUTO_INCREMENT=4 DEFAULT CHARSET=latin1;

You might lack the rulesflag value. If so you should add it as some databases require it. If for no other reason simply to run this program. Once I get all the editors basically working I plan to add in checkers for all the tables so the program will 'morph' to the database a little better.

If you don't know the SQL command to add that column:
ALTER TABLE `peq`.`account` ADD COLUMN `rulesflag` TINYINT(1) UNSIGNED NOT NULL DEFAULT 0 AFTER `rulesflag`, ENGINE = MyISAM;

I think that works ^-^.

JrFaust
01-20-2007, 07:14 PM
I'm using Angelox's DB and I don't know if he has that in his DB.
But I'll try to add that in and see, thanks.

I'm on MySQL 5.x so I had to edit the command to.
ALTER TABLE `account` ADD `rulesflag` TINYINT(1) UNSIGNED NOT NULL DEFAULT '0';
And now I don't get that error.

Thanks for the info.
Rob

Kayot
01-21-2007, 08:41 AM
^-^ My database is a twisted hybrid of PEQ and Angelox so expect strange anomaly's.

Note: I've converted the whole program to vb.net 2005. It now runs faster and takes up less space. However it also requires .net 2.0.

A sort of update, I plan to break the item editor into separate windows to help solve the horribly slow redraw rate.

mattmeck
01-21-2007, 08:53 AM
Kayot, check your PM's.

Kayot
01-21-2007, 01:41 PM
Due to the main streaming of this program I am locking this topic as it was a sort of category all by it's self. Feel free to add topics with questions. As I answer them I'll add them to a F.A.Q. Topic.