Jump to content
Aleos

Conversion of Item Database to YAML

Recommended Posts

whoaa thank you. that's a great step and also big changes... i hope we got monster db txt to yaml soon and so on monster skills db to yaml, there are a lot of things that need to be taken care of.

good job devs, like your work tho..

  • Upvote 1
Link to comment
Share on other sites

On 10/22/2020 at 12:42 PM, Poring King said:

Thankyou for your effort ^_^ more power !! rAthena Dev team . Well because of this i suddenly click the donate button ^_^ 

 

On 10/22/2020 at 11:53 PM, Lemongrass said:

Good job - now let us continue with the next one! 😉

 

On 10/22/2020 at 11:15 AM, Start_ said:

Very nice! Thank you rAthena! /no1

Hello Everyone,

Good day!

Apologies for notifying you 🙂 

I just got back from making RO again and I just downloaded a fresh rathena SVN but I can't find the Item_db.txt in db/pre-re .

Do you have any idea where can I find the item_db ? or any instruction how can I edit the effects of the items.

Thank you! 

Link to comment
Share on other sites

Just now, Poring King said:

@G-RO as you can see its now item_db.yml not item_db.txt anymore

Hello Porimg.

Appreciate your response, Can you please guide me where can Edit the item_db.yml 

I tried to open the item_db.yaml in db/pre-re but inside was only the below. How can I see the itemID and effects?

# This file is a part of rAthena.
#   Copyright(C) 2019 rAthena Development Team
#   https://rathena.org - https://github.com/rathena
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
###########################################################################
# Item Database
###########################################################################
#
# Item Settings
#
###########################################################################
# - Id                      Item ID.
#   AegisName               Server name to reference the item in scripts and lookups, should use no spaces.
#   Name                    Name in English for displaying as output.
#   Type                    Item type. (Default: Etc)
#   SubType                 Weapon or Ammo type. (Default: 0)
#   Buy                     Buying price. When not specified, becomes double the sell price. (Default: 0)
#   Sell                    Selling price. When not specified, becomes half the buy price. (Default: 0)
#   Weight                  Item weight. Each 10 is 1 weight. (Default: 0)
#   Attack                  Weapon's attack. (Default: 0)
#   MagicAttack             Weapon's magic attack. (Default: 0)
#   Defense                 Armor's defense. (Default: 0)
#   Range                   Weapon's attack range. (Default: 0)
#   Slots                   Available slots in item. (Default: 0)
#   Jobs                    Jobs that can equip the item. (Map default is 'All: true')
#   Classes                 Upper class types that can equip the item. (Map default is 'All: true')
#   Gender                  Gender that can equip the item. (Default: Both)
#   Locations               Equipment's placement. (Default: None)
#   WeaponLevel             Weapon level. (Default: 0)
#   EquipLevelMin           Minimum required level to equip. (Default: 0)
#   EquipLevelMax           Maximum level that can equip. (Default: 0)
#   Refineable              If the item can be refined. (Default: false)
#   View                    View sprite of an item. (Default: 0)
#   AliasName               Another item's AegisName that will be sent to the client instead of this item's AegisName. (Default: null)
#   Flags:                  Item flags. (Default: null)
#     BuyingStore           If the item is available for Buyingstores. (Default: false)
#     DeadBranch            If the item is a Dead Branch. (Default: false)
#     Container             If the item is part of a container. (Default: false)
#     UniqueId              If the item is a unique stack. (Default: false)
#     BindOnEquip           If the item is bound to the character upon equipping. (Default: false)
#     DropAnnounce          If the item has a special announcement to self on drop. (Default: false)
#     NoConsume             If the item is consumed on use. (Default: false)
#     DropEffect            If the item has a special effect when on the ground. (Default: None)
#   Delay:                  Item use delay. (Default: null)
#     Duration              Duration of delay in seconds.
#     Status                Status Change used to track delay. (Default: None)
#   Stack:                  Item stack amount. (Default: null)
#     Amount                Maximum amount that can be stacked.
#     Inventory             If the stack is applied to player's inventory. (Default: true)
#     Cart                  If the stack is applied to the player's cart. (Default: false)
#     Storage               If the stack is applied to the player's storage. (Default: false)
#     GuildStorage          If the stack is applied to the player's guild storage. (Default: false)
#   NoUse:                  Conditions when the item is unusable. (Default: null)
#     Override              Group level to override these conditions.
#     Sitting               If the item can not be used while sitting. (Default: false)
#   Trade:                  Trade restrictions. (Default: null)
#     Override              Group level to override these conditions.
#     NoDrop                If the item can not be dropped. (Default: false)
#     NoTrade               If the item can not be traded. (Default: false)
#     TradePartner          If the item can not be traded to the player's partner. (Default: false)
#     NoSell                If the item can not be sold. (Default: false)
#     NoCart                If the item can not be put in a cart. (Default: false)
#     NoStorage             If the item can not be put in a storage. (Default: false)
#     NoGuildStorage        If the item can not be put in a guild storage. (Default: false)
#     NoMail                If the item can not be put in a mail. (Default: false)
#     NoAuction             If the item can not be put in an auction. (Default: false)
#   Script                  Script to execute when the item is used/equipped. (Default: null)
#   EquipScript             Script to execute when the item is equipped. (Default: null)
#   UnEquipScript           Script to execute when the item is unequipped or when a rental item expires. (Default: null)
###########################################################################

Header:
  Type: ITEM_DB
  Version: 1

Footer:
  Imports:
  - Path: db/pre-re/item_db_usable.yml
  - Path: db/pre-re/item_db_equip.yml
  - Path: db/pre-re/item_db_etc.yml

Thank you so much!

 

Link to comment
Share on other sites

@G-RO I think this is not the right section to ask for this but to answer your question check the item_db.yml footer it says very clear

 

Footer:
  Imports:
  - Path: db/pre-re/item_db_usable.yml
  - Path: db/pre-re/item_db_equip.yml
  - Path: db/pre-re/item_db_etc.yml

 

Link to comment
Share on other sites

About this update, did we have any converter for the older ones? I mean about the custom items that added on import/item_db.txt is there any converter to make it yaml as well?

Anyways, Thanks for this update ❤️. More Power rAthena

Link to comment
Share on other sites

I read this in github. Actually I did not understand why they removed the SQL. Can anyone explain it to me?
Also, mySQL queyring is easy to me. Or there is other system (just like workbench) to sort/filter  the YAML?

 

UPDATED:
SORRY I did not read the whole message. Author said "SQL was compromised. Well, we are happy to say that SQL is still supported"
But still I wonder which system do I need to use to filter the data in yml. Thanks.

Edited by jayvz17
Link to comment
Share on other sites

Please move if this is not the correct place to ask this.


When trying to convert a .txt file, I'm getting these errors:

1.png.dbfc158101fadc4f328d5512fbc28ca2.png

This is the file:

2.png.1f5ae6c335daa26e2094585b11ff5ec7.png

This is what the new .yml becomes:

3.thumb.png.48addaf696587c74daad73c8d48470c6.png
 

It is saying it has an Unknown weapon type, but the number it is refering to is the "View" number that's used on /accessoryid.lub.
Am I missing something here? Just switched from old rAthena to latest.

Thanks.

Edited by Profile
Link to comment
Share on other sites

Your old file have mistakes, your items should be type armor instead of weapon (4 instead of 5), or if they are supposed to be weapon type, the 'viewid' of the weapon must be defined source side.

Link to comment
Share on other sites

Great work!!

Being an Old School SQL old man, i'm still getting used to it, but i do like it so far.

Will this migration extend to mob_db too?, because now we have beautifull item_db.yml files and the old mob_db.txt (csv) files. It'll be great to do so for consistency and custimization (ie custom drops easyness), with a separated mob_db.yml, mob_db_mvp.yml and mob_db_champion.yml would be fantastic imo.

Asking for a little help, i've loaded compatibility views in sql, but control panel still cannot read tiem_db (missing columns), what is the right support forum to ask for help on this?

Congratulations and keep up with the excelent work!.

Edited by Adimgar
Link to comment
Share on other sites

On 1/22/2021 at 3:41 PM, Adimgar said:

Asking for a little help, i've loaded compatibility views in sql, but control panel still cannot read tiem_db (missing columns), what is the right support forum to ask for help on this?

Yea... I'm getting that same problem too.

NOT A COMPUTER PERSON, just a noob trying to figure it out as well, so take this with a grain of salt:

From what I can gather from Google and piece together from the rAthena documents, I think what those compatibility files did was take the item databases and create a "virtual" database that rearranges the tables in the order FluxCP wants them to be in (under Views). However, maybe a file in FluxCP itself needs to be changed? Seems that by default the program looks at (in my case) item_db_re and item_db2_re. However it now needs to look at (in my case) item_db_re_compat and item_db2_re_compat.

So I've been spending extra free time the last few days looking in the various php files and seeing if anything like that is in there.

Again: I'm doing a blind leading the blind thing here... so I'm probably completely wrong. But I figure trying is better than doing nothing, and maybe I'll stumble on the answer... or fall off the cliff. LoL

Edited by Ninjininja
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use and Privacy Policy.