Jump to content
  • 0

Hero Aura When Equip Armor Set


Question

Posted (edited)

I want to make a code for when you equip a set, appear the hero aura.

I see a post about that but now im search it and cant be found

 

The code consist in edit the CharInfo.java and UserInfo.java

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

I dont remember how to make the code exactly but i remember need add it, but need to put the id of each item set (i dont know how to make the code for that)

 

+ L2ItemInstance chestItem = inv.getPaperdollItem(Inventory.PAPERDOLL_CHEST);
L2ItemInstance legsItem = inv.getPaperdollItem(Inventory.PAPERDOLL_LEGS);
L2ItemInstance headItem = inv.getPaperdollItem(Inventory.PAPERDOLL_HEAD);
L2ItemInstance glovesItem = inv.getPaperdollItem(Inventory.PAPERDOLL_GLOVES);
+ L2ItemInstance feetItem = inv.getPaperdollItem(Inventory.PAPERDOLL_FEET);

 

My question is, how i can reform the code to put the CHEST,LEGS,HEAD,GLOVES and FEET ID.

 

How i can make to put 2 or more sets?

 

Thx

Edited by Hyo

Recommended Posts

  • 0
Posted

isnt a client mod...

 

I need to edit this line

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

and add a check for player item sets but i dont know how to create it...

i mean you can make it via client too to a specific armor set but let me try once more 

  • 0
Posted

you need to make the hero aura on an unused abnormal effect and then call it from core with specific ids, i cant think something better

  • 0
Posted (edited)

Omg, you still can't do it :o

I gave you the code and you can't simply put an "if"...

Create an array and put the armor set's chest id.. you don't need to check all parts, only the chest...Put the chest ID of the armor set you want, and you will get a hero aura when all parts are equipped.

Edited by Tessa
  • 0
Posted (edited)

Omg guys, specially Tessa. Since you give him the code ready and you still see he can't do it, just tell him how, not just 'add an if'.

 

Ok, so there are many ways you can do that, i'll point out one based on Tessa's code:

 

Create an armor set in armorsets.xml with the parts of your armor. Then add this code (Replace YOUR_CHEST_ID with your armor's chest id):

Index: java/net/sf/l2j/gameserver/model/Inventory.java
===================================================================
--- java/net/sf/l2j/gameserver/model/Inventory.java    (revision 453)
+++ java/net/sf/l2j/gameserver/model/Inventory.java    (working copy)
@@ -337,6 +337,7 @@
        {
            if(armorSet.containAll(player))
            {
+                 if (armorSet.getSetItemsId()[0] == YOUR_CHEST_ID)
+                 { 
+                         player.setIsFullArmor(true);
+                 }
             L2Skill skill = SkillTable.getInstance().getInfo(armorSet.getSkillId(),1);
             if(skill != null)
             {
@@ -438,6 +439,7 @@
        
        if(remove)
        {
+             player.setIsFullArmor(false);
            if(removeSkillId1 != 0)
            {
            L2Skill skill = SkillTable.getInstance().getInfo(removeSkillId1,1);
Index: java/net/sf/l2j/gameserver/model/actor/instance/L2PcInstance.java
===================================================================
--- java/net/sf/l2j/gameserver/model/actor/instance/L2PcInstance.java    (revision 453)
+++ java/net/sf/l2j/gameserver/model/actor/instance/L2PcInstance.java    (working copy)
@@ -481,6 +481,7 @@
    private boolean _noble = false;
    private boolean _hero = false;

+    private boolean _isFullSet = false;
    /** The L2FolkInstance corresponding to the last Folk wich one the player talked. */
    private L2FolkInstance _lastFolkNpc = null;

@@ -8506,6 +8507,16 @@
        return _duelState;
    }

+    public void setIsFullArmor(boolean status)
+    {
+        _isFullSet = status;
+    }
+
+    public boolean isFullArmor()
+    {
+        return _isFullSet;
+    }
+
    /**
     * Sets up the duel state using a non 0 duelId.
     * @param duelId 0=not in a duel
Index: java/net/sf/l2j/gameserver/serverpackets/UserInfo.java
===================================================================
--- java/net/sf/l2j/gameserver/serverpackets/UserInfo.java    (revision 453)
+++ java/net/sf/l2j/gameserver/serverpackets/UserInfo.java    (working copy)
@@ -294,7 +294,7 @@

writeD(_activeChar.getClanCrestLargeId());
writeC(_activeChar.isNoble() ? 1 : 0); //0x01: symbol on char menu ctrl+I
- writeC((_activeChar.isHero() || (_activeChar.isGM() && Config.GM_HERO_AURA)) ? 1 : 0); //0x01: Hero Aura
+ writeC((_activeChar.isHero() || (_activeChar.isGM() && Config.GM_HERO_AURA) || _activeChar.isFullArmor()) ? 1 : 0); //0x01: Hero Aura

writeC(_activeChar.isFishing() ? 1 : 0); //Fishing Mode
writeD(_activeChar.getFishx()); //fishing x

You should also add the check || _activeChar.isFullArmor() in CharInfo, so that other players can see the aura too.

Edited by An4rchy
  • 0
Posted

Thanks Anarchy, but you know.. it's not working like that, else someone is kind enough (like you) to do the whole code for someone :D

  • 0
Posted

Thx anarchy for try to help me...

 

Now the problem is that this code is for interlude , and I use high five .

Try searching the inventory.java but this does not exist  :okey:

  • 0
Posted

Well, I showed how this can be done. It's not my problem if someone can't put an additional IF statement... because if that is the case, you getting more and more "Write a code for me" requests and the help section becomes a shares section.

  • 0
Posted

Not exactly , I showed you an example of how it worked had thought the code I'm looking for ..

But you instead of helping , showed another code which is useless for my help ... because it is for other chronicle and not exactly what I was asking .

If a lot of java and not well ask for help , I never do reluctantly .. And not for a project (just a hobby) not rush to find what I want .

Refute my post with your interlude code did not help me at all, thank you very much Tessa  :happyforever:

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.

Guest
Answer this question...

×   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.




×
×
  • Create New...