SQL Developer Posted March 3, 2016 Share Posted March 3, 2016 Hello guys this is what i want 1)Create a custom armor but put only a specific scroll to enchant it (no normal,blessed) lets say only crystal In order to do that the best way is to: 1)Create new grade Like "E" and add crystall Scrolls (d,c,b,a,s+e) and would be enchantable only with Crystal 2)Just edit the source on enchant.java to make crystall scrolls only enchantable for specific armors ids? p.s: i dont want other scrolls enchant this armor Link to comment Share on other sites More sharing options...
0 SweeTs Posted March 3, 2016 Share Posted March 3, 2016 (edited) If you don't know to do it, then create new scroll as grade NONE. Set your armor enchant type @ xml for your armor as NONE. Don't forgot to change the Crystal scroll grade to NONE as well. Profit. ONE line code. You only have to register new grade and obviously change the xml/sql grade. Edited March 3, 2016 by SweeTs Link to comment Share on other sites More sharing options...
0 AccessDenied Posted March 3, 2016 Share Posted March 3, 2016 Go to RequestEnchantItem.java or whatever the file name called and in the point that it says sychronize(item) add a check int[] with ids of your armors and then a for that goes into ids and do check if (item.getItemId() == <your for item id>) return; thats all.. bye bye sexy Link to comment Share on other sites More sharing options...
0 SweeTs Posted March 3, 2016 Share Posted March 3, 2016 Whatever you like. "New grade", else a simple check for id - faster way, there is no need to create new items. Link to comment Share on other sites More sharing options...
0 SQL Developer Posted March 3, 2016 Author Share Posted March 3, 2016 In order to do it from RequestEnchantItem.java i should edit the case L2Item.CRYSTAL_S: crystalId = 1462; switch (scroll.getItemId()) { case 960: case 962: case 6578: if (itemType2 == L2Item.TYPE2_SHIELD_ARMOR || itemType2 == L2Item.TYPE2_ACCESSORY) { enchantItem = true; } break; } break; i cant find the way which RequestEnchantItem Connect S grade scrolls with S items thats the only point who i have found until now .. if someone can help some farther please reply on this topic,thanks Link to comment Share on other sites More sharing options...
0 AccessDenied Posted March 3, 2016 Share Posted March 3, 2016 In order to do it from RequestEnchantItem.java i should edit the case L2Item.CRYSTAL_S: crystalId = 1462; switch (scroll.getItemId()) { case 960: case 962: case 6578: if (itemType2 == L2Item.TYPE2_SHIELD_ARMOR || itemType2 == L2Item.TYPE2_ACCESSORY) { enchantItem = true; } break; } break; i cant find the way which RequestEnchantItem Connect S grade scrolls with S items thats the only point who i have found until now .. if someone can help some farther please reply on this topic,thanks Listen because i am at work and i cant really help you with teamviewer, i hope you know at least basic java.. you know if then else :DDDD so there are 2files that handle enchant.. 1 is the request and the other is for the enchantrate (at least in l2j) ... search mostly in requestEnchant for the line that refer to the current item you enchant.. you will also see things like !item.isShadow() || !item.isHeroItem() e.t.c somewhere there it sychronize the item (just to avoid multiple instances problem) and after that inside this sychronization you add your check about ID.. on the other hand if inside your code it switch the enchant scroll u can also add a check somewhere there about id .. with switch or int array ( int[] x) just give it a try ... Link to comment Share on other sites More sharing options...
0 te0x Posted March 3, 2016 Share Posted March 3, 2016 (edited) if you are using frozen find these lines if ((maxEnchantLevel != 0 && item.getEnchantLevel() >= maxEnchantLevel) || (item.getEnchantLevel()) < minEnchantLevel) { activeChar.sendPacket(new SystemMessage(SystemMessageId.INAPPROPRIATE_ENCHANT_CONDITION)); return; } and below add this if(crystalScroll && !item.getItemId() == 999) { activeChar.sendPacket(new SystemMessage(SystemMessageId.INAPPROPRIATE_ENCHANT_CONDITION)); return; } change the ids and thats it Edited March 3, 2016 by te0x Link to comment Share on other sites More sharing options...
0 SQL Developer Posted March 3, 2016 Author Share Posted March 3, 2016 Thank all i will use the te0x way is more easy thanks again :) Link to comment Share on other sites More sharing options...
0 SweeTs Posted March 3, 2016 Share Posted March 3, 2016 Locked. Link to comment Share on other sites More sharing options...
Question
SQL Developer
Hello guys this is what i want
1)Create a custom armor but put only a specific scroll to enchant it (no normal,blessed) lets say only crystal
In order to do that the best way is to:
1)Create new grade Like "E" and add crystall Scrolls (d,c,b,a,s+e) and would be enchantable only with Crystal
2)Just edit the source on enchant.java to make crystall scrolls only enchantable for specific armors ids?
p.s: i dont want other scrolls enchant this armor
Link to comment
Share on other sites
8 answers to this question
Recommended Posts