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

Check how the full set bonus is given and you will realize how! ^_^

 

Maybe....

L2ItemInstance chestItem = inv.getPaperdollItem(Inventory.PAPERDOLL_CHEST) (CHEST ID= );
L2ItemInstance legsItem = inv.getPaperdollItem(Inventory.PAPERDOLL_LEGS) (LEGS ID= );
L2ItemInstance headItem = inv.getPaperdollItem(Inventory.PAPERDOLL_HEAD) (HEAD ID= );
L2ItemInstance glovesItem = inv.getPaperdollItem(Inventory.PAPERDOLL_GLOVES) (GLOVES ID= );
L2ItemInstance feetItem = inv.getPaperdollItem(Inventory.PAPERDOLL_FEET) (FEET ID= );

But how i can add the condition to the code?

Sorry for the inconvenience, but I am newbie using java ...

  • 0
Posted

"Coded" on a Interlude pack under construction :lol:

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))
     			{
+    				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

  • 0
Posted (edited)

and how i can put a specific restriction set?

 

Because with this code u can equip a D grade armor set and have hero aura  :(

Edited by Hyo
  • 0
Posted

and what about the equiped item check? 

 

the code its easy because it is only add some lines in CharInfo.java, but i cant remember where i found it

  • 0
Posted (edited)

and what about the equiped item check? 

 

the code its easy because it is only add some lines in CharInfo.java, but i cant remember where i found it

You can do it from useitem too

 

find similar method for ids too and tadam

 
switch (item.getItem().getBodyPart())
{
case L2Item.SLOT_CHEST:
case L2Item.SLOT_FULL_ARMOR:
{
activeChar.setHero(true);
break;
}
}
}
items = activeChar.getInventory().unEquipItemInBodySlotAndRecord(bodyPart);
}
Edited by Ayami-
  • 0
Posted

 

You can do it from useitem too

 

find similar method for ids too and tadam

 
switch (item.getItem().getBodyPart())
{
case L2Item.SLOT_CHEST:
case L2Item.SLOT_FULL_ARMOR:
{
activeChar.setHero(true);
break;
}
}
}
items = activeChar.getInventory().unEquipItemInBodySlotAndRecord(bodyPart);
}

 

 

but it is for only when equip the chest or full chest sure? I want the hero aura when the player equip all parts of the set..

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

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

    • Introducing: Cloud Hosting and Stream Rewards!   Hey everyone, I'm excited to share something big on top of the recent NimeraCP V2 update I announced a few days ago. We're introducing Cloud Hosting and Stream Rewards!   Starting at 30 euros per month, subscribing to NimeraCP will give you access to deploy your own instance directly through your dashboard on nimeracp.com. This is a huge upgrade for our ecosystem, offering a much more affordable option than self-hosting and simplifying the entire installation process. No more wasting hours setting things up, buying separate dedicated hosts or VPSs, just deploy on our infrastructure and relax.     Currently these packs are available for Cloud Hosting:   aCis r382 aCis r401 aCis r409 L2Scripts Vanguard   More are coming soon as development progresses. If you need your pack to be added, please reach out to us.   On top of that, we've rolled out an update that introduces Stream Rewards. Now, players can link their Kick, Twitch or Trovo accounts to NimeraCP, stream, and earn rewards. Admins can create reward campaigns, set a required streaming time, and when a streamer meets the requirements, they can instantly transfer the reward to their game character.     As I mentioned in our last update, big things are coming, and this is just the beginning.   Best, Splicho
    • There were a few minor hiccups along the way, but the problem was eventually resolved. Overall, he is a very experienced, skilled, and trustworthy developer, and I will definitely continue to use his services in the future. thank yuo .   this topic can be locked please . thank you  
    • 99.99% of the people you 'sell' this to will not see any meaning on any sort of code, as simple or complicated as it may be, so i suggest the video. would be much better for practical reasons. good luck though
    • I've completely decompiled, replicated, and devirtualized the Gamear DLL file. You can see it there; otherwise, wait a day or two and I'll make a video myself. Best regards. static int __fastcall hkAEmitter_Tick_Impl(void* this_, void* /*edx*/, float dt, int levelTick) {     // Ares: if (IsA(this, AEmitter))     if (this_ && g_UClass_Emitter && GX_IsA(this_, g_UClass_Emitter))     {         // Ares: v7 = sub_1300CAA0()         void* v7 = g_localPawn;         if (v7)         {             // Ares: if IsA(v7, APawn) && lvl in (0,8)             if (g_UClass_APawn && GX_IsA(v7, g_UClass_APawn))             {                 const int lvl = (int)InterlockedCompareExchange((volatile LONG*)&g_skipLevel, 0, 0);                 if (lvl > 0 && lvl < 😎                 {                     // Ares: v6 = sub_13026800(this, v7)                     const float v6 = GX_Distance3D(this_, v7);                     // Live-tuning (debug): aplica overrides en runtime                     GX_LiveApply_Tick(this_, v6); Today I'll see how the classic client works on the Eris server. If it works well, I'll proceed to decompile the dll for classic as well. GG.. 🙂
  • 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..