Server Database Editor

@@Tokeiburu

Question:

oS5zxho.png


how find all items in item_db tab, which dropped by monster, and have weight for example < 100?

I can use [weight] < 100, but i do not know how to use "dropped_by".

+ Can you please decsribe all available parameters for search? 

Because as i understand, or i'm entering wrong parameneter "[dropped_by] true", or this parameter do not exist.

Help me please. Thx.

 
Sadly, I found that new version loads mob_db.txt fine, but always saves in mob_db.conf. Alas.

 
Sadly, I found that new version loads mob_db.txt fine, but always saves in mob_db.conf. Alas.
Fixed in 1.1.6.1, apparently I tested the feature on rAthena.

@@Tokeiburu

Question:

how find all items in item_db tab, which dropped by monster, and have weight for example < 100?

I can use [weight] < 100, but i do not know how to use "dropped_by".

+ Can you please decsribe all available parameters for search? 

Because as i understand, or i'm entering wrong parameneter "[dropped_by] true", or this parameter do not exist.

Help me please. Thx.
The fields available are the fields found in the item_db.conf file (or those shown to you in the tab). This dropped by list is not a field at all, though.

 
"The last setting is the resource files and it is optional. Simply drag and drop a GRF in the paths list. This will add icons in the items list view (it will also make the application slower when scrolling for that list)."

What do you mean by this? I cant seem to do it.

"--------------          Message          --------------

The accessory ID table or accessory name table has not been set, the paths are based on those.
--------------        Stack trace        --------------
   at GrfToWpfBridge.Application.DefaultErrorHandler._reportAnyManagedExceptions(String message, Exception exception, ErrorLevel errorLevel)
   at GrfToWpfBridge.Application.DefaultErrorHandler.Handle(Exception exception, ErrorLevel errorLevel)
   at SDE.Tools.DatabaseEditor.WPF.ViewIdPreviewDialog._tupleUpdate(Boolean bypass)
   at SDE.Tools.DatabaseEditor.WPF.ViewIdPreviewDialog..ctor(SdeEditor editor, GDbTab tab)
   at SDE.Tools.DatabaseEditor.Generic.UI.FormatConverters.CustomHeadgearSprite2Property._button_Click3(Object sender, RoutedEventArgs e)
   at System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
   at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
   at System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)
   at System.Windows.UIElement.RaiseEvent(RoutedEventArgs e)
   at System.Windows.Controls.Primitives.ButtonBase.OnClick()
   at System.Windows.Controls.Button.OnClick()
   at System.Windows.Controls.Primitives.ButtonBase.OnMouseLeftButtonUp(MouseButtonEventArgs e)
   at System.Windows.UIElement.OnMouseLeftButtonUpThunk(Object sender, MouseButtonEventArgs e)
   at System.Windows.Input.MouseButtonEventArgs.InvokeEventHandler(Delegate genericHandler, Object genericTarget)
   at System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)
   at System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
   at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
   at System.Windows.UIElement.ReRaiseEventAs(DependencyObject sender, RoutedEventArgs args, RoutedEvent newEvent)
   at System.Windows.UIElement.OnMouseUpThunk(Object sender, MouseButtonEventArgs e)
   at System.Windows.Input.MouseButtonEventArgs.InvokeEventHandler(Delegate genericHandler, Object genericTarget)
   at System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)
   at System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
   at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
   at System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)
   at System.Windows.UIElement.RaiseTrustedEvent(RoutedEventArgs args)
   at System.Windows.UIElement.RaiseEvent(RoutedEventArgs args, Boolean trusted)
   at System.Windows.Input.InputManager.ProcessStagingArea()
   at System.Windows.Input.InputManager.ProcessInput(InputEventArgs input)
   at System.Windows.Input.InputProviderSite.ReportInput(InputReport inputReport)
   at System.Windows.Interop.HwndMouseInputProvider.ReportInput(IntPtr hwnd, InputMode mode, Int32 timestamp, RawMouseActions actions, Int32 x, Int32 y, Int32 wheel)
   at System.Windows.Interop.HwndMouseInputProvider.FilterMessage(IntPtr hwnd, WindowMessage msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
   at System.Windows.Interop.HwndSource.InputFilterMessage(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
   at MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
   at MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)
   at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
   at MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(Object source, Delegate method, Object args, Int32 numArgs, Delegate catchHandler)
   at System.Windows.Threading.Dispatcher.LegacyInvokeImpl(DispatcherPriority priority, TimeSpan timeout, Delegate method, Object args, Int32 numArgs)
   at MS.Win32.HwndSubclass.SubclassWndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam)
   at MS.Win32.UnsafeNativeMethods.DispatchMessage(MSG& msg)
   at System.Windows.Threading.Dispatcher.PushFrameImpl(DispatcherFrame frame)
   at System.Windows.Threading.Dispatcher.PushFrame(DispatcherFrame frame)
   at System.Windows.Threading.Dispatcher.Run()
   at System.Windows.Application.RunDispatcher(Object ignore)
   at System.Windows.Application.RunInternal(Window window)
   at System.Windows.Application.Run(Window window)
   at SDE.GRFEditorMain.Main(String[] args)
 
--------------         Exception         --------------
System.Exception: The accessory ID table or accessory name table has not been set, the paths are based on those.
   at SDE.Tools.DatabaseEditor.Engines.LuaEngine.LuaHelper.GetSpriteFromViewId(Int32 viewIdToFind, ViewIdTypes type, AbstractDb`1 db, ReadableTuple`1 tuple)
   at SDE.Tools.DatabaseEditor.Engines.PreviewEngine.HeadgearPreview.Read(ReadableTuple`1 tuple, PreviewHelper helper, List`1 jobs)
   at SDE.Tools.DatabaseEditor.Engines.PreviewEngine.PreviewHelper.Read(ReadableTuple`1 tuple, GDbTab tab)
   at SDE.Tools.DatabaseEditor.WPF.ViewIdPreviewDialog._tupleUpdate(Boolean bypass)

 
This also.
 
download link is dead.
Fixed.

"The last setting is the resource files and it is optional. Simply drag and drop a GRF in the paths list. This will add icons in the items list view (it will also make the application slower when scrolling for that list)."

What do you mean by this? I cant seem to do it.

 
This also.
Go in Settings > Edit lua settings > Make sure all paths are valid.

The reason for the error though is probably because you couldn't load the resources. Make sure you do not start the application as administrator. If you still can't drag and drop, I'll just add a "Add file" right-click menu.

 
Current Server Database Editor it's must-have tool for any GM.

This is utility help to do any changes with database / client very easy and fast.

Without SDE:

  • adding new custom items -> 2-3 days
  • adding new custom mobs & modifing exist items  4-6 hours


With SDE:

  • adding new custom items -> 5-10 minutes
  • adding new custom mobs & modificing exist items -> instant -> 2-3 minutes.


Hell yeah! Thank you very very much!

 
Last edited by a moderator:
Uhh. I have absolutely no idea why adding new items would even take 2-3 days. Unless you type 1 symbol an hour >.>

I admit, SDE is way convenient (props @Tokei), but even without it it was a matter of copying explanation line and filling it in for server-side (or, in case of hercules, lines) + 2~10 minutes to edit right client files.

It'd take more time to decide what the item should do >.>

(Just a note, SDE is still a must have indeed, it's way more convenient than searching throughout several txt files)

 
Uhh. I have absolutely no idea why adding new items would even take 2-3 days. Unless you type 1 symbol an hour >.>

I admit, SDE is way convenient (props @Tokei), but even without it it was a matter of copying explanation line and filling it in for server-side (or, in case of hercules, lines) + 2~10 minutes to edit right client files.

It'd take more time to decide what the item should do >.>

(Just a note, SDE is still a must have indeed, it's way more convenient than searching throughout several txt files)
i'm talking about 120+ different items with their recolored types. 

 
Someone help me. I try to remove all brave and valorous TRADE (notrade and all in there) but the I save my sde.

I try to run my offline server and all item become apple. OMG. please help me. I found a weird problem which is the matk slot cant insert a value.

Here some picture.

Fw2L7pY.png


Here is my itemdb.conf

can someone check it ??  /sob

 
Someone help me. I try to remove all brave and valorous TRADE (notrade and all in there) but the I save my sde.

I try to run my offline server and all item become apple. OMG. please help me. I found a weird problem which is the matk slot cant insert a value.

Here some picture.

Here is my itemdb.conf

can someone check it ??  /sob
The MATK field has been turned back on for Hercules with the latest build. Apple issues come from your itemInfo.lua, the item_db.conf is fine as far as I can tell. I'm not exactly sure what the error is as I do not have your file, but most likely the problem comes from the missing main function (SDE doesn't add it automatically if it's missing). Open your itemInfo.lua in the ROSystem folder, go at the very end of the file, and add the following code if it isn't there :

//... last item// [32710] = {// unidentifiedDisplayName = "Pearl Amatsu (Festival)",// unidentifiedResourceName = "¿ëÀǺ¸ÁÖ_È«",// unidentifiedDescriptionName = {// },// identifiedDisplayName = "Amatsu Bead Ree",// identifiedResourceName = "¿ëÀǺ¸ÁÖ_È«",// identifiedDescriptionName = {// },// slotCount = 0,// ClassNum = 0// }//}main = function() for ItemID,DESC in pairs(tbl) do result, msg = AddItem(ItemID, DESC.unidentifiedDisplayName, DESC.unidentifiedResourceName, DESC.identifiedDisplayName, DESC.identifiedResourceName, DESC.slotCount, DESC.ClassNum) if not result then return false, msg end for k,v in pairs(DESC.unidentifiedDescriptionName) do result, msg = AddItemUnidentifiedDesc(ItemID, v) if not result then return false, msg end end for k,v in pairs(DESC.identifiedDescriptionName) do result, msg = AddItemIdentifiedDesc(ItemID, v) if not result then return false, msg end end end return true, "good" end
I'm not sure I understand what you did exactly, but worst case scenario, you can retrieve your previous version of itemInfo.lua by going into Tools > Backcup manager > Select your last save copy > Right-click > Export to... and select your output folder. You'll find all your previous files in there; itemInfo.lua will be in the client subfolder.

 
@@Tokeiburu Yeah I know. Before this the matk field can insert any value. after I save my changes, (change the trade item), there are ton of problem. I thinks it was a problem from item_db.conf. Lets me send you some screenshot of my map-server. I think the problem not come from the iteminfo.lua.

Here.

YVEfwNT.png


NuPTU0p.png


Yeah I know about retrieve the previous backup. But I take it as the last option. I have made so many changes. please help me /sob

 
Generic exception while trying to save the client accessory items, debug code = 2-------------- Message --------------Warning: trying to overwrite an already set accessory name.-------------- Exception --------------System.Exception: Warning: trying to overwrite an already set accessory name. at SDE.Tools.DatabaseEditor.Engines.LuaEngine.AccessoryTable._setEntry(Int32 viewId, String accessoryName, String resource) at SDE.Tools.DatabaseEditor.Engines.LuaEngine.AccessoryTable._setLuaFromHeadgears() at SDE.Tools.DatabaseEditor.Engines.LuaEngine.AccessoryTable.SetLuaTables() at SDE.Tools.DatabaseEditor.Engines.LuaEngine.LuaHelper.WriteViewIds(ServerDbs dbSource, AbstractDb`1 db)

Code:
Duplicate mob name (JT_CHOUJI) for mobid 2500 while saving npcidentity and jobname. The files have not been resaved.--------------          Message          --------------   at SDE.Tools.DatabaseEditor.Generic.DbLoaders.DbLoaderErrorHandler.Handle(Exception err, String exception)   at SDE.Tools.DatabaseEditor.Engines.LuaEngine.LuaHelper.WriteMobLuaFiles(AbstractDb`1 db)   at SDE.Tools.DatabaseEditor.Generic.Core.DbMobs.WriteDb(String dbPath, String subPath, ServerType serverType, FileType fileType)   at SDE.Tools.DatabaseEditor.Engines.DatabaseEngine.SdeDatabase.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:    at SDE.Tools.DatabaseEditor.Generic.DbLoaders.DbLoaderErrorHandler.Handle(Exception err, String exception)   at SDE.Tools.DatabaseEditor.Engines.LuaEngine.LuaHelper.WriteMobLuaFiles(AbstractDb`1 db)   at SDE.Tools.DatabaseEditor.Generic.Core.DbMobs.WriteDb(String dbPath, String subPath, ServerType serverType, FileType fileType)   at SDE.Tools.DatabaseEditor.Engines.DatabaseEngine.SdeDatabase.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()
Hi sir. May I know how to fix this problem. When I want to save. Its always popup.

 
Some suggestions and improvements:

1.  Check and give warning on mobskills if skills exist at skill_db

2.  Check and give warning on mobdrops if exist at item_db/item_db2

3.  Check and give warning on Dead Branch if mob exist at mob_db

4.  Check and give warning on Item Groups if item exist at item_db/item_db2

This is a very useful tools .  Keep up the good job and thanks for sharing this.

 
Problem with version 1.1.6.1 :

File -> Export to SQL -> Hercules -> renewal

mob_db.sql

and

mob_db2.sql

aren't created.

 
@@Tokeiburu

sorry for bothering you as always, but can you kindly confirm to me if the latest version that you released was 1.1.6.1 and is not there any updated coming to this amazing tool? xD

 
evilpuncker, on 12 Jan 2016 - 20:52, said:

@@Tokeiburu

sorry for bothering you as always, but can you kindly confirm to me if the latest version that you released was 1.1.6.1 and is not there any updated coming to this amazing tool? xD
Hmm, been rather busy lately. I've started updating it again yesterday, anything you're looking for in particular?

Updated to 1.1.7

  • Reads quest_db.
  • Reads constants.conf.
  • UI has been changed; all import tables are now put as "imp".
  • You can export trade restrictions via Tables > Export > Generate trade restrictions (itemmoveinfov5.txt).
 
Updated to 1.1.7.4

  • Added support for the new Job format in item_db.conf (Hercules only).
  • No longer shows the rAthena modes for the mobs.
  • You can now copy/paste itemInfo.lua's items directly in the editor.
  • Added the "Update Client Quests" tool (Tables > Client Tables > ) which requires an iRO's quest db as a backup for translating Korean descriptions to english. Automatically adds non-existing quests from your quest_db as well. It does not update already filled in fields (to prevent overwriting your custom quests).
 
Last edited by a moderator:
Back
Top