Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 10/23/20 in all areas

  1. ItemDB -> YAML! As of Git Hash: 04cfe17, rAthena's item database has been converted to YAML! What this means: The item database being in YAML format means that the database is now much more human-readable. This allows for quick review, modification, and addition of items without having to memorize the CSV format or use any third party tools. The parser now also has much better error handling when reading items into memory so tracking down those pesky typos is a thing of the past! The update combines item_avail, item_buyingstore, item_delay, item_flag, item_nouse, item_stack, and item_trade databases into the item_db so there is much less searching around multiple databases when doing anything with items! As items are no longer defined in a single row, this means the flat file has grown in size. To ease the on load text editors for people's computers who may not have the horsepower we split the items as they are in game via Consumables, Equipment, and Etc. The Job restriction for items has been cleaned up so that custom masks don't have to be made and removes a horrible restriction for those adding custom classes to their servers. Now it's as easy as defining the EAJ_* constant... and that's it! The item combo system has had a massive cleanup in the background. We no longer do sketchy memory management and manipulation with a move to use standard libraries provided by C++11! As with any YAML conversion we have provided an option in the CSV2YAML tool built right into rAthena! Just build the CSV2YAML tool within Visual Studio or via Make and run the executable. The tool will provide you with general steps and convert your custom items right on over to the YAML format. No muss, no fuss! Something that was brought up in the Pull Request was the support for SQL. Many people were against the move to YAML because the support for SQL was compromised. Well, we are happy to say that SQL is still supported and isn't going anywhere! We've developed a new tool, YAML2SQL, which can convert the YAML item database into SQL format. This allows servers who utilize SQL to continue with this method. We've also gone a step further and provided a SQL View which will create a new compatibility table without breaking support for your Control Panel/databases. The SQL View is optional though once the Control Panel/database is setup to utilize the new table. The new and fuller item data in this table also provides much more detail to the item database than ever before! You can read more details in our README! What this means to developers: Pull Requests can be reviewed much quicker and much more simpler. Identifying the actual change to the item and easily verifying said change without having to count commas! Additional features being added to the item database no longer requires the development of a side database. A vast majority of the item data is now part of the item_db structure and can continue to grow in this format! Redefined Import System: Now that the item_db is in YAML format, the adjustment of items is much simpler. If a change is being made to an item only the parts that are being changed have to be defined in the import. Below are some examples: Adjusting Red_Potion weight to 10 and increasing the heal rate in the script. - Id: 501 Weight: 100 Script: | itemheal rand(100,120),0; Remove the Thief classes from being able to equip the Cap. - Id: 2226 Jobs: Assassin: false Rogue: false Thief: false Add a stack limit of 10 to Meat for inventory only. - Id: 517 Stack: Amount: 10 Inventory: true Check out the item_db documentation for further details! Thanks to @Lemongrass, @Capuche, and @Cydh for their help!
    1 point
  2. - Id: 4001 AegisName: Poring_Card Name: Poring Card Type: Card Buy: 20 Weight: 10 Locations: Armor: true Flags: BuyingStore: true DropEffect: PURPLE_PILLAR Script: | bonus bLuk,2; bonus bFlee2,1; for complement: WHITE_PILLAR BLUE_PILLAR YELLOW_PILLAR PURPLE_PILLAR ORANGE_PILLAR
    1 point
  3. setarray .@indices[1], EQI_ACC_L,EQI_ACC_R,EQI_SHOES,EQI_GARMENT,EQI_HEAD_LOW,EQI_HEAD_MID,EQI_HEAD_TOP,EQI_ARMOR,EQI_HAND_L,EQI_HAND_R,EQI_COSTUME_HEAD_TOP,EQI_COSTUME_HEAD_MID,EQI_COSTUME_HEAD_LOW,EQI_COSTUME_GARMENT,EQI_SHADOW_ARMOR,EQI_SHADOW_WEAPON,EQI_SHADOW_SHIELD,EQI_SHADOW_SHOES,EQI_SHADOW_ACC_R,EQI_SHADOW_ACC_L; for(.@i = 1; .@i<getarraysize(.@indices); ++.@i) { if(getequipisequiped(.@indices[.@i])) { .@menu$ = .@menu$ + F_getpositionname(.@indices[.@i]) + "-[" + getequipname(.@indices[.@i]) + "]"; .@equipped = 1; } .@menu$ = .@menu$ + ":"; } .@part = .@indices[select(.@menu$)]; setrandomoption(.@part,0,rand(1,220),rand(1,2),0); setrandomoption(.@part,1,rand(1,220),rand(1,2),0); setrandomoption(.@part,2,rand(1,220),rand(1,2),0); setrandomoption(.@part,3,rand(1,220),rand(1,2),0); setrandomoption(.@part,4,rand(1,220),rand(1,2),0);
    1 point
  4. Since you have already a updated files then simply open the data.grf and copy what you are missing !
    1 point
  5. Well that is the reason why i ask you to get those patcher first . First thing first man if the error is still on that then copy the luafiles of the newly patch data.grf and add it to your custom server.grf Ofcourse you will need the patcher so your client/player are keep updated from your files . So they will not encounter a item error because you have it thats why you are not getting a error how ever your player/client don't have it so it will cause them a error.. I hope you understand i have a bad english ^_^
    1 point
  6. Small question for all of us . Would you still want to help people that did not appreciate your effort to answer there question here in forums ? Well most of the user's here is just a lurking people that only take information and ask for help but they did not give some effort to show there gratitude for your help. Well not all but most of them i give 4-7 days activity in rAthena not 24/7 but at least i open my rAthena account for 4-7 days a week and tried to help other newbie like other's do to me when im still new way back 2013 in rAthena
    1 point
  7. update item_db_re set script = 'if (strcharinfo(3) == "prontera") { delitem 12103,1; monster "this",-1,-1,"--ja--",-3,1,""; } else dispbottom "This item can\'t be used on your current map.";', type = 11 where id = 12103;no idea why you say not working make sure you have change the item type from 2 to 11
    1 point
×
×
  • Create New...