PDA

View Full Version : Planing - Scripting/XML Export


Kayot
04-03-2007, 04:56 AM
I know it's been a while since my last release. I am still working on this project. I've been looking around for new ideas (Even though I still need to fix the current ones ^-^). Recently I've noticed questions about scripts etc. GeorgeS wrote a utility to fill this request. However to this day I still can't get any of his(her?) programs to work. Originally I was going to put a quest editing tool into EQemu SQL Editor, but a few questions and fundamental problems popped up.

All the code window software I ran across was for C++
Writing my own code window seemed impossible due to the complex nature of perl structured language
How much do I really want the user to know before they can use my software. Even I'm not to great with the perl commands and I have a book.

Then I remembered an old program (Which is now at 2.3) I had come across in my NWN days. Lilac Soul - Script Generator (http://nwvault.ign.com/View.php?view=Other.Detail&id=625). So after looking at it, I was like. This would make a kick ass script generator for EQemu, and he recently released his source (Delphi 7, T-T) so I could look at it for additional ideas. However, I'm not sure what GeorgeS's tools look like. I feel that I've already stepped on toes and that last thing I need to do is make enemy's. So to any one who has GeorgeS's tools working, could you compare the NWN tool to GeorgeS and tell me if copying it's fundamental design would also copy GeorgeS.

Onto my other idea. XML Exporting.

This is what I've really been looking at, XML exporting. Much like the item storage (which will soon spawn multiple windows) I want to make XML exporting for items. I also want to do it for other things like Char accounts and possible even a full account/characters export. I just want to know if any one will really use this function. I know I will, no more shifting through SQL to find a few NPCs/Merchants/Spawns/Tradeskills or custom items. Now I can just export them in XML format and remerge them after I update the new database. ^-^ No hassles other than an option to put the item in with either it's stored item ID or to change it.

I figure that the way items will be stored on a character will be by name. This means the XML files will be a little bigger but there won't be any item id error mismatches. it's not so much an issue with Vanilla Servers. It's custom servers that this will benefit.

What I'm currently working on
Object Placement
Tradkeskill (Needs a big fix ^-^)
Reverse Compatibility (This is gonna take a while too)

I'm still working on making this the best editor it can be.

P.S. I'm thinking that in order to reduce opening XML files with the wrong sections of the program, putting in a uniqe extention for each of the exports and imports. like Items would be "<Name>.EQItem" and Characters would be "<Name>.EQChar. Mainly because I too have opened the wrong files.

GeorgeS
04-03-2007, 02:59 PM
If you cannot get any of the utilities to work, you need to DL the MyODBC drivers from my site. You're welcome to PM me for assistance

GeorgeS

Kayot
04-04-2007, 10:12 AM
Nice tool -- I got it to work. Did you make that code window yourself? It looks nice (I tried using the one Notepad++ uses but I couldn't get it to import into VB.net T-T). Also, I like how your program loads the spells.txt into the code window. I was going to try and get EQemu SQL Editor to read the real spells_en.txt/spells_us.txt files. It's still a long way from working flawlessly. The Ref is a good sheet of commands that most people can use too. The saving over templates is a nice touch that will save people a ton-of-time on batch quest creation

I'm glad that I won't be over stepping too much. The only thing I'm interested in is the code window (I'm making mine from scratch which is very time consuming, Dam you Notepad++ and your C++ orientation). Other wise I'm using lilacs design. So, you keep up the good work as well fello Coder. ^-^ I should probably look at your other apps (Gotta be careful). Expect some feedback.

samandhi
04-05-2007, 05:07 PM
I apologize if this is irrelevant, because I have not yet used your db tools... But I use Navicat front-end for MySQL and you can export any table you want into Paradox, D Base, text, HTML, Excel, Word, SYLK, DIF, Lotus 1-2-3, Quatro Pro, SQL, XML, MS Access, Windows Clipboard, rich text, SPSS, Adobe Acrobat, LDAP formats... Check it out, that would be nice thing to have...:)

Kayot
04-05-2007, 11:08 PM
The way my XML export is going to work is different that simply dropping a table into a file. It allows the exporting of a single item or character with items. NPC's will export the NPC, the loot drops, the spawntable, merchant, and faction list. Zone would export zone, forging, fishing, objects in the zone, and doors. The idea is a backup of a section of information. Mainly custom information. And character/account export would be really good for people who run minilogins and move from server to server. Not to mention we can trade custom items though the export/import.

The idea is to have an option. Here, this file (http://kayosblade.googlepages.com/Epics1.rar) is for item storage. It has most of the epic 1.0's. I also have one that has most of the epic 2.0s. Use that and you'll get an idea of how this will work.

P.S. My program will have backup options in the future. ^-^ It's just taking some time. I'm only one person.

GeorgeS
04-06-2007, 01:06 AM
The codewindow is a rich text box with context sensitive checking. I found much of the code and examples on the net. This was by far the hardest part to work.


GeorgeS

samandhi
04-06-2007, 03:41 AM
ahhh I see, so you can export from more than one table (or all related things across tables). I like the idea behind that...

P.S. My program will have backup options in the future. ^-^ It's just taking some time. I'm only one person. Oh dont take me wrong, I didnt mean for you to hurry, I am just trying to stay involved and help where I can, but I dont code, and am not very good with sql, or even perl. I've just been following the project long enough (and used to help support problems with servers on versions like 0.53) to kind of learn some things just by osmosis =P ... I think what everyone does here is totally amazing (or as they say on benchwarmers ama-zi-zing hehe)

Kayot
04-06-2007, 05:40 AM
The codewindow is a rich text box with context sensitive checking. I found much of the code and examples on the net. This was by far the hardest part to work.
I'm making my own control for this ^-^ so when I'm done I can just drop in the control and select which code syntax it has to use. Thats why it's taking me so freaking long. But when I'm done, it will be one serious control. My only fear is that I won't be able to merge it with the program. I'm trying to avoid Multiple DLLs. So I might have to drop the code into my program which will be a bummer.

Speaking of DLL's any one know a way to merge DLLs into an EXE? I want to merge the XML and MySQL DLLs into my program. When this project is finished I only want two files in the dir. The EXE and the Config file.

samandhi
04-06-2007, 11:31 AM
If you use VS .NET this might help
We made a command line tool which takes parameters and sends e-mails. We wanted to distribute this as an .exe but couldn't because it referenced a .dll. This meant that we had to send along the .dll and that it had to be in the same directory as the .exe. We wanted a way to have just one .exe but Visual Studio .NET doesn't offer this (a linker). Luckily, at the Microsoft Research Download Page there is a free tool called ILMerge which does just this. This is how you use it:
download ILMerge (http://research.microsoft.com/~mbarnett/ilmerge.aspx)
put "ILMerge.exe" in your \WINNT directory
In VS.NET, right click project, Properties, Common Properties, Build Events
In "Post-build Event Command Line" enter:
ilmerge /out:$(TargetDir)YOURAPPNAME.exe $(TargetPath) $(TargetDir)YOURDLLNAME.dll
Then compile the Release version (not the debug version).
In your "bin\Release" directory, you will find a YOURAPPNAME.exe which can be run on its own without the .dl

Kayot
04-06-2007, 12:24 PM
Sweetness! I'll try it out now!

P.S. It worked!

samandhi
04-06-2007, 02:12 PM
Great, hope that makes things easier for ya!