Jump to content

Recommended Posts

Posted (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.


Edited by flyfreedom87
Posted

@UserInfo.java

 

writeC(_activeChar.isHero() || (_activeChar.isGM() && Config.GM_HERO_AURA) ? 1 : 0); // 0x01: Hero Aura

 

There you can do your tricks.

Posted (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 by flyfreedom87
Posted (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...;P

Hero skills will not be given. Only aura

Edited by SSnakEE
Posted

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
}

 

Posted (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 by flyfreedom87
Posted

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
}
Posted (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 by flyfreedom87
Posted (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 by SSnakEE
Posted (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 by flyfreedom87

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


  • Posts

    • We are not back on 2005, life in our days is harder than before, in complection with other things yes, L2 has not the same look.
    • 🌍 https://l2origins.org/ 🛡️ LINEAGE II ORIGINS — SEASON 1 🛡️ 🌑 High Five Classic | True Old-School Experience 🌑 ⚠️ Opening on March 6th at 16:00 Welcome back to the origins of Lineage II. ⚔️ ABOUT THE SERVER Lineage2 Origins is built for players who miss the true retail feeling. Classic progression, real challenges, fair competition — enhanced only with carefully selected QoL features, never breaking the original gameplay. 🌿 PHASED GEAR PROGRESSION 🟢 Month 1: Vesper max 🟢 Month 2: Vorpal unlocked 🟢 Month 3+: Top-grade & Elegia released 🚫 NO AUTO-FARM ✔️ External auto-clicker allowed (1 per client, download page only) ❌ Bots & illegal automation forbidden 🛡️ Strong anti-bot + captcha system ⚠️ AFK players will be punished — stay active or logout 📊 RATES & CORE SETTINGS 🔹 Adena: x5 🔹 Drop / Spoil: x5 🔹 Skill EXP: x15 🔹 Max Windows: 2 per PC 🔹 Subclass: Lv 85 (no quest required) 🔹 Party Level Diff: 30 (55–85) 🔹 No custom items (armors / weapons / jewelry) 🔥 FEATURES ✨ Global & Raid Teleport ✨ NPC Buffer (34 buffs) ✨ Auto Events & PvP Zones ✨ Ranking & Clan Progression ✨ GM Shop & Premium System ✨ All-In-One Community Board ✨ Party & Solo Instances ✨ Siege & Territory War Rewards ✨ RaidBoss Kill Rewards ✨ Lucky Creature Event ✨ Daily Login Rewards ✨ Advanced DDoS Protection & Backups ⚔️ ENCHANTMENTS 🔸 Safe: +3 🔸 Max: +12 (Month 2: +14 | Month 3: +16) 🔸 Blessed: 50% (Premium 65%) 🔸 Normal: 45% (Premium 60%) 🏟️ OLYMPIAD 🔹 Max Enchant: +6 🔹 Start Players: 4 🔹 Period: 1st & 15th 🏰 SIEGE & TW 🔹 Siege Time: 16:00 & 20:00 🔹 Territory War: 20:00 🔹 Max Wards: 3 per Castle 🌌 Lineage2 Origins Fair. Competitive. Nostalgic. A true return to the origins of Lineage II.
    • Bastante confiable, ya trabaje en varios proyectos con el y la verdad te da confianza que hoy en dia poca gente hay asi lo  recomiendo 100%  Gracias por todo amigo ! seguiremos trabajando juntos segurisimamente! 
  • Topics

×
×
  • Create New...

Important Information

This community uses essential cookies to function properly. Non-essential cookies and third-party services are used only with your consent. Read our Privacy Policy and We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue..