RENEWAL item_db 'Class' Update (commit 5f12351)

Recommended Posts

Related on this commit 5f12351, this problem will be shown if you're using RENEWAL, for PRE-RENEWAL maybe you won't meet this problem

Added item check for third classes (as partial merge from Hercules: 1caae98).
- 1:Normal, 2:Trans/Upper, 4:Baby, 8:Third, 16:Trans.Third, 32:Third Baby (see 'doc/item_db.txt' for detail)
- Changed almost all items class on 'db/re/item_db.txt'
- Updated 'sql-files/item_db_re.sql', also fixed SQL error (bugreport:7998)
Added 'item_unconditional' as group permission, default is 'false' (see 'doc/permissions.txt' for detail).

The problem after that update is the item class check (previously called 'upper'), before this update it only provided

  • 1:Normal
  • 2:Trans/Upper or Third
  • 4:Baby
  • 8:Third

ID,Name,Name,Type,Price,Sell,Weight,ATK,DEF,Range,Slot,Job,Class,Gender,Loc,wLV,eLV,Refineable,View,{ Script },{ OnEquip_Script },{ OnUnequip_Script }

'8' there is mostly never be used because '2' is handling for 3rd classes too, so item with '11' can be used by any 3rd classes. And after that update, item with '11' can't be used by 3rd classes, because:

  • 1: Normal: It's not those classification below
  • 2: Trans/Upper: hmm rebirth/reborn jobs exclude third classes, we know third classes has transcedent classes
  • 4: Baby: Except third baby classes
  • 8: Third: Except transcedent third classes
  • 16: Trans. Third
  • 32:Third Baby

How to solve this?
First, if you're using MySQL database for renewal item, we highly recommend you to update your db using sql-files/item_db_re.sql
How if I have custom items on my TXT item_db?
And if your server contains many custom items, running under RENEWAL, you have to update your item_db with this changes. If you worry 'how to change them all?', maybe you can follow my way to change them all by uisng RegEx.
An example, if your 'old' item_db is using '2' for trans/upper classes, after this update that value should be '18', why? 2|16 that allows 2nd-trans and 3rd-trans classes to use this item. And the RegEx are:

  • Find this: (0x[a-zA-Z0-9]*),2,([0-9]+)
  • Replace with: \1,18,\2

And here all the details of RegEx values that you need, open the spoiler:

// -- Trans. classes '2' becomes 2|16 (trans and trans-third classes)
// -- Baby classes '4' becomes 4|32 (baby and third-baby classes)
// -- Third classes '8' becomes 8|16|32 (third, trans-third, and third-baby classes)
// ------ Old Prev botmask combination
// -- 1|2 (normal and trans.) --> 1|2|16
// -- 1|4 (normal and baby) --> 1|4|32
// -- 1|8 (normal and third) --> 1|8|16|32
// -- 1|2|4 (normal, trans, and baby) --> 1|2|4|16|32
// WTF, previously rA never define all classes as 15, they keep the 7. :(
// -- 1|2|8 (normal, trans, and third) --> 1|2|8|16|32
// -- 1|2|4|8 (normal, trans, baby, third) --> 1|2|4|8|16|32 (ALL)
// -- 2|4 (trans and baby) --> 2|4|16|32
// -- 2|8 (trans and third) --> 2|8|16|32
// -- 2|4|8 (trans, baby, and third) --> 2|4|8|16|32

- Please use Notepad++ to use this Find&Replace with RegEx. Because other program maybe has different symbol for pattern grouping. Such as, Ms Visual Studio is using { and } for grouping.
- The RegEx that I provide maybe not the best, but it's usable. :P
How if I have custom items on my MySQL item_db?
You just need execute/import this lines. :D
If your customs are on `item_db2` table just change the table name from item_db_re to item_db2

UPDATE `item_db_re` SET `equip_upper` = 18 WHERE `equip_upper` = 2;
UPDATE `item_db_re` SET `equip_upper` = 36 WHERE `equip_upper` = 4;
UPDATE `item_db_re` SET `equip_upper` = 56 WHERE `equip_upper` = 8;
UPDATE `item_db_re` SET `equip_upper` = 19 WHERE `equip_upper` = 3;
UPDATE `item_db_re` SET `equip_upper` = 37 WHERE `equip_upper` = 5;
UPDATE `item_db_re` SET `equip_upper` = 57 WHERE `equip_upper` = 9;
UPDATE `item_db_re` SET `equip_upper` = 63 WHERE `equip_upper` = 7;
UPDATE `item_db_re` SET `equip_upper` = 59 WHERE `equip_upper` = 11;
UPDATE `item_db_re` SET `equip_upper` = 63 WHERE `equip_upper` = 15;
UPDATE `item_db_re` SET `equip_upper` = 54 WHERE `equip_upper` = 6;
UPDATE `item_db_re` SET `equip_upper` = 58 WHERE `equip_upper` = 10;
UPDATE `item_db_re` SET `equip_upper` = 62 WHERE `equip_upper` = 14;

Sorry I'm late to inform this, and CMIIW


If you want to change manually, here they are:

  • 2 to 18 (All trans. classes)
  • 3 to 19 (All trans. classes and normal classes)
  • 4 to 36 (All baby classes)
  • 5 to 37 (All baby classes and normal classes)
  • 6 to 54 (All baby classes and all trans. classes)
  • 7 to 63 (All classes)
  • 8 to 56 (All 3rd classes)
  • 9 to 57 (All 3rd classes and normal classes)
  • 10 to 58 (All trans. classes and Normal 3rd classes OR Trans classes and all rd classes)
  • 11 to 59 (^ + normal classes)
  • 12 to 60 (All 3rd classes and baby classes)
  • 13 to 61 (^ + normal classes)
  • 14 to 62 (All classes except normal classes)
  • 15 to 63 (All classes)
  • Upvote 1

Share this post

Link to post
Share on other sites

What do you mean with regex? i use text db for my custom items but i dont understand how to update it now :(

Share this post

Link to post
Share on other sites

What do you mean with regex? i use text db for my custom items but i dont understand how to update it now :(

RegEx is Regular Expression. Well you can use Notepad++ to do.

  • Open your item_db.txt file
  • CTRL+H (Replace)
  • Check the "Regular expression" on Search Mode
  • Then insert the "Find what" and "Replace with"
  • Then press "Replace All"


Share this post

Link to post
Share on other sites



This only for custom item or official too ?



Share this post

Link to post
Share on other sites

This issue only occurs if you have custom items.  Anyone who is using official DBs need not do anything.

Share this post

Link to post
Share on other sites

These items are 100% functional? I see that is quite different from hercules.




REPLACE INTO `item_db` VALUES(1649,'Rafini_Staff','Laphine Staff',4,20,NULL,500,'30:180',NULL,1,0,0x00018300,56,2,2,3,100,1,10,'bonus bFixedCastRate,-getrefine();',NULL,NULL);




REPLACE INTO `item_db` VALUES(1649,'Rafini_Staff','Laphine Staff',4,20,NULL,500,'30:180',NULL,1,0,0x00818315,63,2,2,3,100,1,10,'bonus bFixedCastRate,-getrefine();',NULL,NULL);




REPLACE INTO `item_db` VALUES(1736,'Double_Bound','Double Bound',4,20,NULL,900,70,NULL,5,3,0x00000800,58,2,34,3,70,1,11,'bonus3 bAutoSpell,\"AC_DOUBLE\",GetSkillLv(\"AC_DOUBLE\"),10;',NULL,NULL);



REPLACE INTO `item_db` VALUES(1736,'Double_Bound','Double Bound',4,20,NULL,900,70,NULL,5,3,0x00000800,18,2,34,3,70,1,11,'bonus3 bAutoSpell,\"AC_DOUBLE\",GetSkillLv(\"AC_DOUBLE\"),10;',NULL,NULL);

Share this post

Link to post
Share on other sites


I'm not sure which on is correct (maybe, both are wrong) because the previous mistake is, gave 3rd Classes item to "2" (upper/trans).


I said maybe both are wrong, because irowiki database said (if we use this db as reference, it doesn't mention about baby. XD):

Laphine Staff: Arch Bishop, Shura, Warlock, and Shura.

Prev. revision: "7". They should for Normal+Upper+Baby, but since 3rd Class can uses Upper item, "7" and "15" have not difference. That why I replace all "7" or "15" to "63"


Double Bound: Sniper and Ranger.

Prev. revision: "2" for every Upper/Third. I changed it to "18" because "2" for all rebirth classes except trans-3rd (now is 2), and since it for upper, trans-3rd should be included (now 16). And yeah, Irowiki said Sniper (rebirth) and Ranger, I picked Trans-third because "that weapon it's for rebirth, if I include normal third and baby third, it's very something."


of course, we will check if anything doubt about the item classes with official behavior.

If any something mistake, please post on database bug report. :D

Share this post

Link to post
Share on other sites

i cant use the armor shoes shield damn how can work again?

import the item_db_re.sql to my SQL then recompile start the game but i cant use the item  / armor / head / mantue / shoes /

i cant equip the item like shoes / mantue /armor / headgear

but i have item_db_re.sql to database after import the SQL and reloaditemdb or recompile the server i cant equip agian

pelase fix this /sob i use SVN is 17689

i follow the step but not working

,5,0,,2800,,0,,0,0xFFFFFFFF,63,2,16,,0,0,0,  <<< this is the new config right?

,5,0,,2800,,55,,1,0xFFFFFFFE,18,2,16,,1,1,0,  <<<<<<<<<< this is old like eathena



Edited by Blue Jem

Share this post

Link to post
Share on other sites

What's ur job? 18 is for "Trans/Upper" classes or "Trans. Third" classes

Share this post

Link to post
Share on other sites

Sir... how about headgear like Alice Dool and other headgear... Still cannot be worn??


How to update their (0x[a-zA-Z0-9]*),2,([0-9]+) ???

Share this post

Link to post
Share on other sites

@@CheckMate what's ur Class value?

Alice doll and most of  headgears are 63.


2 to 18 (All trans. classes)


--- Edited first post

Share this post

Link to post
Share on other sites

@cydh i was follow your step but i still can't use my weapon for third class


like i want to use infiltrator and my job GLTcrooss


i got warning  "forbidden to wear the state can not be worn"


this my item_DB


1261,Infiltrator,Infiltrator,4,57000,,1500,140,,1,0,0x00001000,63,2,34,4,75,1,16,{ bonus2 bAddRace,RC_DemiHuman,50; bonus bDef,3; bonus bFlee,5; bonus bFlee2,2; },{},{}



im using 2013-07-03aRagexe

Edited by melv0

Share this post

Link to post
Share on other sites

@melv0, is ur level is > 75?



Share this post

Link to post
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.

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.