flyfreedom87 Posted November 29, 2014 Share Posted November 29, 2014 (edited) Hi, friends. I wonder how I can make a specific armor set to have hero aura as a set effect when the character equipped all 5 parts of the armor item. But there are 2 points I want to make sure. 1. I don't want all armor set items but only 'specific' armor series to have this effect. (e.g. elegia armor set only) 2. I don't want the character gain neither the hero's abilities nor skill but just the aura effect. I heard from somewhere else that I need to fix L2PcInstance, L2ArmorSet, and Inventory these 3 sources. But the problem is, I don't know the source keywords. So, I hope if anybody can show me the source keywords I have to put in and instructions if possible. I found a youtube video that showing the best result I want. http://www.youtube.com/watch?v=kMtZiQJ4faA#t=11 Edited November 29, 2014 by flyfreedom87 Quote Link to comment Share on other sites More sharing options...
puredemonsss Posted November 29, 2014 Share Posted November 29, 2014 sobasicaly there are 2 ways i tink one is by setting java code and the oder is editing clent but i duno how you ca do this ill make some test on client and tell you if i find, but in java i duno ! Quote Link to comment Share on other sites More sharing options...
`iAndre Posted November 29, 2014 Share Posted November 29, 2014 Or you can try to create a skill with this animation and added it on the armor. (I don't know if it can work though.) Quote Link to comment Share on other sites More sharing options...
Devlin Posted November 29, 2014 Share Posted November 29, 2014 @UserInfo.java writeC(_activeChar.isHero() || (_activeChar.isGM() && Config.GM_HERO_AURA) ? 1 : 0); // 0x01: Hero Aura There you can do your tricks. Quote Link to comment Share on other sites More sharing options...
flyfreedom87 Posted November 29, 2014 Author Share Posted November 29, 2014 (edited) Oh... I found the source keyword in userinfo.java and tried to do something with it , but just like I said, I want to add Hero Aura as set effect on specific amor sets. Are you sure that by fixing UserInfo.java, it can even handle the set conditions of armor items? Edited November 29, 2014 by flyfreedom87 Quote Link to comment Share on other sites More sharing options...
SSnakEE Posted November 29, 2014 Share Posted November 29, 2014 (edited) @UserInfo.java writeC(_activeChar.isHero() || (_activeChar.isGM() && Config.GM_HERO_AURA) ? 1 : 0); // 0x01: Hero Aura There you can do your tricks. I didn't test it but I think should work: in CharInfo.java and UserInfo.java replace line : writeC((_activeChar.isHero() || (_activeChar.isGM() && Config.GM_HERO_AURA)) ? 1 : 0); // Hero Aura with this: if (_inv.getPaperdollItemId(Inventory.PAPERDOLL_HEAD)==helmId && _inv.getPaperdollItemId(Inventory.PAPERDOLL_GLOVES) == glovesId && _inv.getPaperdollItemId(Inventory.PAPERDOLL_CHEST) == chestId && _inv.getPaperdollItemId(Inventory.PAPERDOLL_LEGS) == legsId && _inv.getPaperdollItemId(Inventory.PAPERDOLL_FEET) == feetId) { writeC(1); } else { writeC((_activeChar.isHero() || (_activeChar.isGM() && Config.GM_HERO_AURA)) ? 1 : 0); // Hero Aura } where: helmId = Id of helm in your set, glovesId = id of gloves in your set and so on...;PHero skills will not be given. Only aura Edited November 29, 2014 by SSnakEE Quote Link to comment Share on other sites More sharing options...
flyfreedom87 Posted November 30, 2014 Author Share Posted November 30, 2014 I just tested it, but it doesn't work. After I applied it, character's name color changed to black and that's it, when equipped all 5 pieces of armor item, no hero aura appeared. Quote Link to comment Share on other sites More sharing options...
SSnakEE Posted November 30, 2014 Share Posted November 30, 2014 I just tested it, but it doesn't work. After I applied it, character's name color changed to black and that's it, when equipped all 5 pieces of armor item, no hero aura appeared. Hmm, i tested It now, and it works :P UserInfo.java: (you see hero aura on yourself) if (_activeChar.getInventory().getPaperdollItemId(Inventory.PAPERDOLL_HEAD)==helmId && _activeChar.getInventory().getPaperdollItemId(Inventory.PAPERDOLL_GLOVES) ==glovesId && _activeChar.getInventory().getPaperdollItemId(Inventory.PAPERDOLL_CHEST) == chestId && activeChar.getInventory()..getPaperdollItemId(Inventory.PAPERDOLL_LEGS) == legsId && _activeChar.getInventory().getPaperdollItemId(Inventory.PAPERDOLL_FEET) == bootsId) { writeC(1); } else { writeC((_activeChar.isHero() || (_activeChar.isGM() && Config.GM_HERO_AURA)) ? 1 : 0); // Hero Aura } CharInfo.java (other players see hero aura on you) if (_inv.getPaperdollItemId(Inventory.PAPERDOLL_HEAD)==helmId && _inv.getPaperdollItemId(Inventory.PAPERDOLL_GLOVES) ==glovesId && _inv.getPaperdollItemId(Inventory.PAPERDOLL_CHEST) == chestId && _inv.getPaperdollItemId(Inventory.PAPERDOLL_LEGS) == legsId && _inv.getPaperdollItemId(Inventory.PAPERDOLL_FEET) == bootsId) { writeC(1); } else { writeC((_activeChar.isHero() || (_activeChar.isGM() && Config.GM_HERO_AURA)) ? 1 : 0); // Hero Aura } Quote Link to comment Share on other sites More sharing options...
flyfreedom87 Posted November 30, 2014 Author Share Posted November 30, 2014 (edited) YEAH~! I found that I should copy and paste the source keywords of UserInfo.java for both UserInfo and CharInfo java files. And it works perfect~!! Here is my last question, if I want to set this option to more than 2 set armors (Elegia, Versper, Vopal...etc), what should I change? Edited November 30, 2014 by flyfreedom87 Quote Link to comment Share on other sites More sharing options...
SSnakEE Posted November 30, 2014 Share Posted November 30, 2014 YEAH~! I found that I should copy and paste the source keywords of UserInfo.java for both UserInfo and CharInfo java files. And it works perfect~!! Here is my last question, if I want to set this option to more than 2 set armors (Elegia, Versper, Vopal...etc), what should I change? You can do same like with one set just add "else if" for more sets eg: if (_inv.getPaperdollItemId(Inventory.PAPERDOLL_HEAD)==elegiaHelmId && _inv.getPaperdollItemId(Inventory.PAPERDOLL_GLOVES) ==elegiaGlovesId && _inv.getPaperdollItemId(Inventory.PAPERDOLL_CHEST) == elegiaChestId && _inv.getPaperdollItemId(Inventory.PAPERDOLL_LEGS) == elegiaLegsId && _inv.getPaperdollItemId(Inventory.PAPERDOLL_FEET) == elegiaBootsId) {writeC(1); } else if (_inv.getPaperdollItemId(Inventory.PAPERDOLL_HEAD)==vorpalHelmId && _inv.getPaperdollItemId(Inventory.PAPERDOLL_GLOVES) ==vorpalGlovesId && _inv.getPaperdollItemId(Inventory.PAPERDOLL_CHEST) == vorpalChestId && _inv.getPaperdollItemId(Inventory.PAPERDOLL_LEGS) == vorpalLegsId && _inv.getPaperdollItemId(Inventory.PAPERDOLL_FEET) == vorpalBootsId) { writeC(1); } else { writeC((_activeChar.isHero() || (_activeChar.isGM() && Config.GM_HERO_AURA)) ? 1 : 0); // Hero Aura } or 2nd way, for less code use build in classes to check sets: final ArmorSet elegiaSet = ArmorSetsTable.getInstance().getSet(elegiaChestId); final ArmorSet vorpalSet = ArmorSetsTable.getInstance().getSet(vorpalChestId); // more sets here if (elegiaSet.containAll(_activeChar) && _activeChar.getInventory().getPaperdollItemId(Inventory.PAPERDOLL_CHEST)==elegiaChestId ) { writeC(1); } else if (vorpalSet.containAll(_activeChar) && _activeChar.getInventory().getPaperdollItemId(Inventory.PAPERDOLL_CHEST)==vorpalChestId ) { writeC(1); } //else if for more sets ... else { writeC(_activeChar.isHero() || (_activeChar.isGM() && Config.GM_HERO_AURA) ? 1 : 0); // 0x01: Hero Aura } Quote Link to comment Share on other sites More sharing options...
flyfreedom87 Posted December 1, 2014 Author Share Posted December 1, 2014 (edited) I did as your e.g. but when I copy & paste _inv.getPaperdollItemId(Inventory.PAPERDOLL_FEET) == vorpalBootsId)... these parts, an error message appeared say: '_inv cannot be resolved' with some suggested solutions, among them I tried 'Create field '_inv'' and 'Create constant '_inv'' but it didn't work. I wonder how did you handle this problem? Edited December 1, 2014 by flyfreedom87 Quote Link to comment Share on other sites More sharing options...
SSnakEE Posted December 1, 2014 Share Posted December 1, 2014 (edited) Notice that in "UserInfo.java" you use: _activeChar.getInventory().getPaperdollItemId(Inventory.PAPERDOLL_GLOVES)while in "CharInfo.java" it is: _inv.getPaperdollItemId(Inventory.PAPERDOLL_GLOVES) Edited December 1, 2014 by SSnakEE Quote Link to comment Share on other sites More sharing options...
flyfreedom87 Posted December 2, 2014 Author Share Posted December 2, 2014 (edited) Hmm, I got the _inv error exactly when I input the keywords into the "CharInfo.java". I don't know why but, fortunately I found that _activeChar.getInventory() is work both "UserInfo.java" and "CharInfo.java" and the result is what I wanted. Anyway, without your help SSnakEE, I could never get it done. I really appreciate your kind answers. Thank you my friend~!! ;D The post can be locked now. Edited December 3, 2014 by flyfreedom87 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.