Server Database Editor

Hello, first, amazing software and initiative!

I have a suggestion, for the "Target" value on mob skills can you add all the "around" options? It's used a lot by mobs with trap skills.

I'm having a bit of trouble saving mob skills, I was using version 1.0.7 and it was working perfectly, but now when I add a new line and put the mob ID/skill ID and name it doesn't change on the list and saving doesn't turn the blue/green listed items to black. It does work however, the txt files are edited and if I close the program and open it again it shows up fine.

There's a problem though, whenever I add a new skill like that it stays like this on the txt file for example:

2154,Banaspaty@MG_FIREBALL,5,17,9,1000,0,5000,no,target,always,0,,,,,,,

Instead of:

2154,Banaspaty@MG_FIREBALL,chase,17,9,1000,0,5000,no,target,always,0,,,,,,,

Another thing, the monster sprites are not appearing on the 1.0.8 version as well even if I turn off or on the "synchronize with client database". Of course the GRF files are correctly placed as it was working on 1.0.7.

I tried to create a new project file to check if it was a problem with saving the .sde on a past version but it's the same.

Thank you for the great work!

Code:
// TARGET://	target (current target) / self / friend / master / randomtarget (any enemy within skill's range)////	The following are for ground-skills, a random target tile is selected from the specified area://	    around1 (3x3 area around self) / around2 (5x5 area around self) ///	    around3 (7x7 area around self) / around4 (9x9 area around self) ///	    around5 (3x3 area around target) / around6 (5x5 area around target) ///	    around7 (7x7 area around target) / around8 (9x9 area around target) ///	    around = around4
 
Last edited by a moderator:
Hello, first, amazing software and initiative!
The mob sprites aren't going to show up on all versions and this is because they are being handled differently. The newer versions use the lua/lub files to find the corresponding mob IDs instead of guessing it. You will need to check "Synchronize with client databases" in the settings and then use the "wheel" button next to the "Client sprite" field in the Mob tab. This only works in 1.0.8.6 however.

jMZ2uIE.png


The mob skill table now. The saving behavior has changed a little and what you're experiencing is normal (the first part at least). When the db is saved, all the steps that you've made are kept to allow you to undo what you've done. In 1.0.9 (not released yet), the stars ( * ) next to the tabs will be removed when saving so it'll be clearer that the dbs have indeed been saved. As for the item colors in the list views, this is something that I cannot change - it compares the state with the very first, initial value it loaed. (By the way, you can reload the DBs from Edit > Reload database, you don't have to close and reopen the application!)

Hmmm, regarding the "5 / chase" issue, I'm not sure I understood what you meant. 5 is attack, 7 is chase, both formats are accepted. That being said, the reason why it's not being rewritten in your text file when saving is because SDE only rewrites modified attributes. It doesn't rewrite the entire file. If you really want the value "5" to be written in text, you'll have to change it to something else and then set it back to "attack" to forcibly rewrite the value when saving.

There may be an alternative solution in your case if you want to do this for all items... Select all your mob skills (Ctrl-A), copy them with Ctrl-C and use Ctrl-V - wait a few seconds. This will rewrite all entries from the clipboard, and it will force SDE to rewrite the entire table. If this isn't what you were looking, please clarify
default_wink.png
!

As for the target values, this is actually a bug on my part. It'll be added in 1.0.9.

Thanks for the suggestions and feedback everyone, it makes this software better for everyone else
default_biggrin.png
!

 
Last edited by a moderator:
Oh sorry I never noticed there was an option to use numbers instead of text on State. Nevermind that then.

Thank you for the rest of the answers. I wanna suggest then, if it's possible, to make it behave like the old version, without needing to refresh the database to see the new names/id on the list. Because when I'm doing some mobs I end up with lots of "0 ID no name" skills on the list and have to keep refreshing it to check if it's alright.

 
Last edited by a moderator:
Alright! Update time, this one needs some explaning. The Hercules link will be updated later on, only the mediafire link has been updated for now : http://www.mediafire.com/download/p0zhcc8ipa6cjt3 .

Synchronize with client database files

If "Synchronize with client database files" is checked in the Settings tab, you'll be able to turn on all the following features.

Bind item tabs together (suggested by UltraCat)

This feature enables you to quickly alternate between the Item and Client Items tabs. Whenever you switch table, it will autoselect the item previously selected. The text search filter will also be applied to all three tables (Item/Item2/Client Items). Subfilters (such as item description, script, etc) will be ignored if the item isn't included in the search result.

Manage view IDs automatically (suggested by UltraCat)

This feature allows you to completely ignore the view IDs for headgears and costumes. Only the identified resource's field is taken into account when synchronizing with the client databases, so make sure you set at least this field! You must also set up the lua paths; go in any item table and click on the wheel next to the "View ID" field.

CErEQ7w.png


This will bring up a dialog to setup the paths (preferably, the files should be located in your data folder to avoid saving the GRF all the time). They will be automatically decompiled if necessary.

AtRJ9TU.png


If everything has been properly set, the View ID field for the headgears and costumes will be grayed out. When saving, you'll notice some view IDs will be switched around, but SDE will try to keep your original IDs as much as possible. The view names will be changed to the item's Aegis Name (has no effect ingame).

** WARNING : Turn on the "Backup manager" to prevent any possible errors. Some view IDs will be changed to something else in the item tables; these changes will be made without your knowing (you can undo though, as always). Keep in mind this is a new feature.

Mob sprites edition

In the mob tables, you will find a wheel button, similar to the view IDs. Setting up the paths will allow you to see the mob sprites as they will appear ingame (except for granny models, like emperium for instance). The "..." button can let you select the sprites from the mob folder in the GRFs (or data folder).

Preview images

With the client tables synchronization, the preview image for items in the list view will be properly displayed. This is handy for custom items.

Others

  • Saving should be faster than before (especially when saving the client databases). It also won't rewrite identical files in the GRFs (so it won't need to be saved all the time).
  • Fixed a bug where the ItemInfo.lua would keep adding a line feed at the end of the file.
  • Fixed a bug when rewriting the monster lua files (for .gr2 files crashing the client).
  • Fixed a bug regarding the backup file that would keep increasing in size.
  • Fixed a bug when adding a new item would not update its info in the list view (suggested by KohakuSan).
  • The dark blue color when selecting items *should* be fixed.
  • Can import translations from other tables, feature found in Tools > Translate display names from... (suggested by evilpuncker).
  • Added the missing target fields in the mob skill tables (suggested by KohakuSan).
  • Various other minor bugs have been fixed.


If you find any bug regarding these features, let me know ;O!

 
Last edited by a moderator:
If you find any bug regarding these features, let me know ;O!
I have this error when i save the databases :

38b79ac8bbd4d445cb05f4d01586b05d.png


I will send you in a PM my lua files to be able to research the error.

Thank you very much for this great program 
default_happy.png
 

 
Last edited by a moderator:
If you find any bug regarding these features, let me know ;O!
I have this error when i save the databases :

I will send you in a PM my lua files to be able to research the error.

Thank you very much for this great program 
default_happy.png
 
Heya, I've reuploaded on the mediafire link again (1.0.9.1). The errors will be much more accurate now, but I have a fairly good idea of what the issue is. The display names when setting up the lua paths are reversed. Reopen the view ID setup dialog and switch both accname and accessoryid, it should look as the image shown below. I apologize for this!

vVYhG7n.png


 
Last edited by a moderator:
If you find any bug regarding these features, let me know ;O!
I have this error when i save the databases :

I will send you in a PM my lua files to be able to research the error.

Thank you very much for this great program 
default_happy.png
 
Heya, I've reuploaded on the mediafire link again (1.0.9.1). The errors will be much more accurate now, but I have a fairly good idea of what the issue is. The display names when setting up the lua paths are reversed. Reopen the view ID setup dialog and switch both accname and accessoryid, it should look as the image shown below. I apologize for this!
just tested it and here goes a few inputs!

ReHsH3w.png


any way to made it change only "Name" field instead of removing comments, Upper, and the KeepAfterUse?

And to not change item orders like this:

QhgTNtn.png


and to not change some item names to "" like this: http://i.imgur.com/YKt7DMU.png
YKt7DMU.png


the above thing was tested with this itemInfo.lua file (that I've generated using some program from the file below: http://depositfiles.org/files/4933xmbn8

and when I try to translate from the original idnum2itemdisplaynametable.txt bRO file I get this exception: http://pastebin.com/iGcLuyR4

and by the way I'm using hercules, if I missed anything please let me know
default_smile.png


and is there anyway to block changes into item_db2 file? or you might want to add it xD btw I noticed that it is removing every Upper: 63 from both files

 
Last edited by a moderator:
just tested it and here goes a few inputs!

any way to made it change only "Name" field instead of removing comments, Upper, and the KeepAfterUse?

And to not change item orders like this:

and to not change some item names to "" like this: http://i.imgur.com/YKt7DMU.png

the above thing was tested with this itemInfo.lua file (that I've generated using some program from the file below: http://depositfiles.org/files/4933xmbn8

and when I try to translate from the original idnum2itemdisplaynametable.txt bRO file I get this exception: http://pastebin.com/iGcLuyR4

and by the way I'm using hercules, if I missed anything please let me know
default_smile.png


and is there anyway to block changes into item_db2 file? or you might want to add it xD btw I noticed that it is removing every Upper: 63 from both files
Updated to 1.0.9.2 : http://www.mediafire.com/download/p0zhcc8ipa6cjt3 , this version only fixes the issue regarding idnum2...txt file and the trade order.

The Inherit and KeepAfterUse are new recently added fields which are currently not supported (support will be added on newer releases). Anyhow, the issue is that Hercules's db format is hard to 'patch', the old db format is much easier. When saving the file, the parser would need to open the file entirely, do a search to find where the item ID [20000] is located (which takes a while for 8000+ items), read the properties, hope there are no mistakes in the format, compare the differences, remove or add lines, then do the next item. This process is too long and prone to errors. It is a lot simpler to rewrite it from the loaded values. Also, currently, the database is converted internally to a format similar to rAthena's db file (support for Hercules was added later after all); all comments or other info are lost while the db is read.

The Upper is removed because 63 (0x3f) is the default value and it's not needed (all default values are ignored and not rewritten).

Could you expand on 'block changes' to item_db2? You can disable the table (right-click on the tab > disable 'item_db2'). This will prevent the table from being saved but keep all other features functional.

As for the "" issue, fixed as well in 1.0.9.2.

 
Last edited by a moderator:
a few (unintended behavior I guess)(btw where did it got that script from? xD) more pics

VIzzUOg.png


KQ6vSfb.png


H2Jo0gw.png


iWdDpuv.png


jSMCOxd.png


maybe there is more, I was not even in the half of the file, my suggestion for you this time is to make the option "Translate display names from" change only and exclusively the "Name" field

 
a few (unintended behavior I guess)(btw where did it got that script from? xD) more pics

maybe there is more, I was not even in the half of the file, my suggestion for you this time is to make the option "Translate display names from" change only and exclusively the "Name" field
Hmm, are you sure you've compared the same file with after and before? The fact that it changed so many properties doesn't make any sense. Only the name field is modified for the Item/Item2 tables and only the id/un display fields for Client Items. (And it most certainly does not create a script out of nowhere ahah, would be kinda epic if it could though! There's absolutely no way it would change the Buy property as well.)

 
well, I don't know what I did :/ but tried again with a clean hercules export and it gone well xD thanks and sorry for this wizardry that I'll never know how happened lol, just waiting for my "bug" report to be solved so I can clearly see what changed in the future without those lots of Upper: 63 xD, thanks again for this great tool, tomorrow I'll test it to translate the itemInfo file now
default_smile.png
and if it is easy for you, what about getting translated descriptions too from both idnum2itemdesctable and num2itemdesctable, oh and getting the unidentified item name from num2itemdisplaynametable so the translation tool gets even awesome?
default_biggrin.png
good job and cya tomorrow!

 
I'm trying to save database after creating a new item but it says it "Failed to modify client GRF"

My question is what is it trying to modify inside my grf? All files besides the resource .spr/.bmp are out of it and it surely won't modify the resources.

Code:
--------------          Message          --------------Failed to save the client files.--------------        Stack trace        --------------   at GrfToWpfBridge.Application.DefaultErrorHandler._reportAnyManagedExceptions(String message, Exception exception, ErrorLevel errorLevel)   at GrfToWpfBridge.Application.DefaultErrorHandler.Handle(Exception exception, ErrorLevel errorLevel)   at ErrorManager.ErrorHandler.HandleException(String exception)   at SDE.Tools.DatabaseEditor.Generic.DbLoaders.DbLoaderMethods.DbClientWrite(DbDebugItem`1 debug, AbstractDb`1 db, String path, Nullable`1 typeOverride)   at SDE.Tools.DatabaseEditor.Generic.DbLoaders.DbLoaderMethods.DbClientWrite(DbDebugItem`1 debug, AbstractDb`1 db)   at SDE.Tools.DatabaseEditor.Generic.Core.DbClientItems.WriteDb(String dbPath, String subPath, ServerType serverType, FileType fileType)   at SDE.Tools.DatabaseEditor.Engines.DatabaseEngine.GenericDatabase.Save(AsyncOperation ap, IProgress progress)   at SDE.Tools.DatabaseEditor.SdeEditor._save()   at GRF.Threading.GrfThread.<Start>b__3()   at System.Threading.ThreadHelper.ThreadStart_Context(Object state)   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)   at System.Threading.ThreadHelper.ThreadStart()--------------         Exception         --------------System.Exception: Failed to save the client files.
 
I'm trying to save database after creating a new item but it says it "Failed to modify client GRF"

My question is what is it trying to modify inside my grf? All files besides the resource .spr/.bmp are out of it and it surely won't modify the resources.
Pleave check in the Settings page what files are loaded (put your mouse over the names and it will tell you where they're loaded). Version 1.0.9+ no longer writes identifcal files inside the GRF either.

If you're using the lua files, these will be loaded (either extract the card tables or update! I'm guessing that's your issue) : 

datanum2cardillustnametable.txt

datacardprefixnametable.txt

datacardpostfixnametable.txt

SystemitemInfo.lua/lub

If you're using the txt files, these will be loaded :

datanum2cardillustnametable.txt

datacardprefixnametable.txt

datacardpostfixnametable.txt

dataitemslotcounttable.txt

dataidnum2itemresnametable.txt

datanum2itemresnametable.txt

dataidnum2itemdesctable.txt

datanum2itemdesctable.txt

dataidnum2itemdisplaynametable.txt

datanum2itemdisplaynametable.txt

 
Oh I see, I have the data folder in the same folder I have all the db files so I thought the address was "data..." inside my folder, not the GRF. I understand it now, I'll try it out. Thanks

 
I noticed that some of the mob's images won't be shown,coz the sprite name fields of mob_db.txt aren't all the

same as mob's sprite name, for example 'g_xxx' and 'e_xxxx'

these sort of mob sprite images won't be shown properly, so

how about making it to search lua file or other better way

to make it working as well

 
No errors now but whenever I put a view ID it's automatically changed to another number after saving. I'm guessing the first unused one, but I don't want that, I want to keep it organized by myself, automatically manage view ID is turned off but it keeps doing it.

 
Last edited by a moderator:
No errors now but whenever I put a view ID it's automatically changed to another number after saving. I'm guessing the first unused one, but I don't want that, I want to keep it organized by myself, automatically manage view ID is turned off but it keeps doing it.
Fixed in 1.0.9.4 ( http://www.mediafire.com/download/p0zhcc8ipa6cjt3 ), and yes it's more or less what it does. It tries to find the best matches from the already existing view IDs and then if it doesn't find a match it fills in the gap!

I noticed that some of the mob's images won't be shown,

coz the sprite name fields of mob_db.txt aren't all the

same as mob's sprite name, for example 'g_xxx' and 'e_xxxx'

these sort of mob sprite images won't be shown properly, so

how about making it to search lua file or other better way

to make it working as well
To show the images by using the client files, you will need a version above 1.0.9 and set up the lua/lub files. Click on the wheel in the "Client sprite" fields (in the Mob/Mob2 dbs), 

E6VkHm7.png


This will show the images exactly as they appear ingame.

 
Last edited by a moderator:
It's working perfectly now, thank you!

EDIT: Actually, I'm trying to add more items now and they're still not being added on the accname or accessoryid.lua

At some point it did actually add 1 item on the accname only, nothing on the other file but I can't make it do it again. It's not even modifying the files when I save.

It's working on all the txt files for displayname, desc and resname, they're edited correctly.

 
Last edited by a moderator:
I can't download the 1.0.9.4 
default_unsure.png
 
The link is down?

 
Found something else, it seems hercules is not recognizing state and target as numbers and I can't find these manually in the file since it doesn't say which line it is...

Code:
[Warning]: mob_parse_row_mobskilldb: Unrecognized state 5[Warning]: mob_parse_row_mobskilldb: Unrecognized state 5[Warning]: mob_parse_row_mobskilldb: Unrecognized state 5[Warning]: mob_parse_row_mobskilldb: Unrecognized state 5[Warning]: mob_parse_row_mobskilldb: Unrecognized state 5[Warning]: mob_parse_row_mobskilldb: Unrecognized state 5[Warning]: mob_parse_row_mobskilldb: Unrecognized target 1 for 2163[Warning]: mob_parse_row_mobskilldb: Unrecognized target 1 for 2163[Warning]: mob_parse_row_mobskilldb: Unrecognized target 1 for 2163[Warning]: mob_parse_row_mobskilldb: Unrecognized state 1[Warning]: mob_parse_row_mobskilldb: Unrecognized target 1 for 2163[Warning]: mob_parse_row_mobskilldb: Unrecognized target 1 for 2163[Warning]: mob_parse_row_mobskilldb: Unrecognized target 1 for 2163[Warning]: mob_parse_row_mobskilldb: Unrecognized state 5[Warning]: mob_parse_row_mobskilldb: Unrecognized state 5[Warning]: mob_parse_row_mobskilldb: Unrecognized state 5[Warning]: mob_parse_row_mobskilldb: Unrecognized state 5[Warning]: mob_parse_row_mobskilldb: Unrecognized state 5[Warning]: mob_parse_row_mobskilldb: Unrecognized state 5[Warning]: mob_parse_row_mobskilldb: Unrecognized state 5
 
Back
Top