GsL Posted September 3, 2012 Posted September 3, 2012 Hello ppl this code can work for Interlude L2jfrozen? ### Eclipse Workspace Patch 1.0 #P Gameserver Index: java/com/l2jserver/gameserver/model/actor/instance/L2PcInstance.java =================================================================== --- java/com/l2jserver/gameserver/model/actor/instance/L2PcInstance.java (revision 4519) +++ java/com/l2jserver/gameserver/model/actor/instance/L2PcInstance.java (working copy) @@ -59,6 +64,7 @@ import com.l2jserver.gameserver.communitybbs.Manager.RegionBBSManager; import com.l2jserver.gameserver.datatables.AccessLevels; import com.l2jserver.gameserver.datatables.AdminCommandAccessRights; +import com.l2jserver.gameserver.datatables.ArmorSetsTable; //added Armor effect by Annu and mvaios import com.l2jserver.gameserver.datatables.CharNameTable; import com.l2jserver.gameserver.datatables.CharTemplateTable; import com.l2jserver.gameserver.datatables.ClanTable; @@ -379,6 +393,7 @@ } } + private int abnormal = AbnormalEffect.VITALITY.getMask(); //added Armor effect by Annu and mvaios private L2GameClient _client; private String _accountName; @@ -7458,7 +7482,169 @@ checkPetInvItems(); } + + // //added Armor effect by Annu and mvaios + public void checkForVitalityEffect() + { + + boolean getVitalityEffect = false; + try + { + if ( + ArmorSetsTable.getInstance().getSet(9417).isEnchanted(6, this) + || ArmorSetsTable.getInstance().getSet(9418).isEnchanted(6, this) + || ArmorSetsTable.getInstance().getSet(9419).isEnchanted(6, this) + || ArmorSetsTable.getInstance().getSet(9420).isEnchanted(6, this) + || ArmorSetsTable.getInstance().getSet(9426).isEnchanted(6, this) + || ArmorSetsTable.getInstance().getSet(9427).isEnchanted(6, this) + || ArmorSetsTable.getInstance().getSet(10126).isEnchanted(6, this) + || ArmorSetsTable.getInstance().getSet(10127).isEnchanted(6, this) + || ArmorSetsTable.getInstance().getSet(9433).isEnchanted(6, this) + || ArmorSetsTable.getInstance().getSet(9434).isEnchanted(6, this) + || ArmorSetsTable.getInstance().getSet(9435).isEnchanted(6, this) + || ArmorSetsTable.getInstance().getSet(9436).isEnchanted(6, this) + ) + { + getVitalityEffect = true; + } + } + catch (Exception e) + { + _log.log(Level.WARNING,"Armor exception message: " + e.getMessage(),e); + + } + + if (getVitalityEffect) + { + startAbnormalEffect(abnormal); + } + else + { + stopAbnormalEffect(abnormal); + } + } + + // end added + + + /** * Restore recipe book data for this L2PcInstance. */ private void restoreRecipeBook(boolean loadCommon) Index: java/com/l2jserver/gameserver/model/L2ArmorSet.java =================================================================== --- java/com/l2jserver/gameserver/model/L2ArmorSet.java (revision 4519) +++ java/com/l2jserver/gameserver/model/L2ArmorSet.java (working copy) @@ -195,4 +195,35 @@ return true; } + + + //added Armor effect by Annu and mvaios + public boolean isEnchanted(int enchantLevel, L2PcInstance player) + { + // Player don't have full set + if (!containAll(player)) + return false; + + Inventory inv = player.getInventory(); + + 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); + + if (chestItem == null || chestItem.getEnchantLevel() < enchantLevel) + return false; + if (_legs != 0 && (legsItem == null || legsItem.getEnchantLevel() < enchantLevel)) + return false; + if (_gloves != 0 && (glovesItem == null || glovesItem.getEnchantLevel() < enchantLevel)) + return false; + if (_head != 0 && (headItem == null || headItem.getEnchantLevel() < enchantLevel)) + return false; + if (_feet != 0 && (feetItem == null || feetItem.getEnchantLevel() < enchantLevel)) + return false; + + return true; + } + //end added } Index: java/com/l2jserver/gameserver/model/itemcontainer/Inventory.java =================================================================== --- java/com/l2jserver/gameserver/model/itemcontainer/Inventory.java (revision 4519) +++ java/com/l2jserver/gameserver/model/itemcontainer/Inventory.java (working copy) @@ -537,6 +538,7 @@ _log.warning("Inventory.ArmorSetListener: Incorrect skill: "+armorSet.getEnchant6skillId()+"."); } } + player.checkForVitalityEffect();//added Armor effect by Annu and mvaios } } else if (armorSet.containShield(item.getItemId())) @@ -615,6 +617,9 @@ if (remove) { + ////added Armor effect by Annu and mvaios + player.checkForVitalityEffect(); + //added if (skills != null) { for (String skillInfo : skills) because exist 1 effect from freya Vitality* effect how can i adapt to my pack it with an other effect ?? How can i fint it the other effects?? if i try to add from a Raid Boss An effect will work on armor?? This code is when an armor become +6 set or +6 main armor an effect like vitality spawned in chect armor*
0 ^Wyatt Posted September 3, 2012 Posted September 3, 2012 AbnormalEffects are inside: com.l2jfrozen.gameserver.model.L2Character One example could be: private int abnormal = L2Character.ABNORMAL_EFFECT_REDCIRCLE;
0 GsL Posted September 3, 2012 Author Posted September 3, 2012 AbnormalEffects are inside: com.l2jfrozen.gameserver.model.L2Character One example could be: private int abnormal = L2Character.ABNORMAL_EFFECT_REDCIRCLE; i find the effect where i like and i replace the old one ? right? Kernon Rb (i m not sure for that have one black fire effect that can work on armor what you say?)
0 ^Wyatt Posted September 3, 2012 Posted September 3, 2012 i find the effect where i like and i replace the old one ? right? Kernon Rb (i m not sure for that have one black fire effect that can work on armor what you say?) Yea... Dunno which effect it has...
0 GsL Posted September 3, 2012 Author Posted September 3, 2012 1st code was +import com.l2jserver.gameserver.datatables.ArmorSetsTable; //added Armor effect by Annu and mvaios and i make it +import com.l2jserver.gameserver.model.L2ArmorSet; //added Armor effect by Annu and mvaios this havent problem 1st code was like this ArmorSetsTable.getInstance().getSet(9417).isEnchanted(6, this) + || ArmorSetsTable.getInstance().getSet(9418).isEnchanted(6, this) + || ArmorSetsTable.getInstance().getSet(9419).isEnchanted(6, this) + || ArmorSetsTable.getInstance().getSet(9420).isEnchanted(6, this) + || ArmorSetsTable.getInstance().getSet(9426).isEnchanted(6, this) + || ArmorSetsTable.getInstance().getSet(9427).isEnchanted(6, this) + || ArmorSetsTable.getInstance().getSet(10126).isEnchanted(6, this) + || ArmorSetsTable.getInstance().getSet(10127).isEnchanted(6, this) + || ArmorSetsTable.getInstance().getSet(9433).isEnchanted(6, this) + || ArmorSetsTable.getInstance().getSet(9434).isEnchanted(6, this) + || ArmorSetsTable.getInstance().getSet(9435).isEnchanted(6, this) + || ArmorSetsTable.getInstance().getSet(9436).isEnchanted(6, this) + ) and i make it like this but get instance is with red lines i cant undestand what need 1st time i adapt code from other client to interlude* L2ArmorSet.getInstance().getSet(9417).isEnchanted(6, this) || L2ArmorSet.getInstance().getSet(9418).isEnchanted(6, this) || L2ArmorSet.getInstance().getSet(9419).isEnchanted(6, this) || L2ArmorSet.getInstance().getSet(9420).isEnchanted(6, this) || L2ArmorSet.getInstance().getSet(9426).isEnchanted(6, this) || L2ArmorSet.getInstance().getSet(9427).isEnchanted(6, this) || L2ArmorSet.getInstance().getSet(10126).isEnchanted(6, this) || L2ArmorSet.getInstance().getSet(10127).isEnchanted(6, this) || L2ArmorSet.getInstance().getSet(9433).isEnchanted(6, this) || L2ArmorSet.getInstance().getSet(9434).isEnchanted(6, this) || L2ArmorSet.getInstance().getSet(9435).isEnchanted(6, this) || L2ArmorSet.getInstance().getSet(9436).isEnchanted(6, this) ) i make some changes in this code to adapt it but in this lines i have problem
0 ^Wyatt Posted September 3, 2012 Posted September 3, 2012 import com.l2jfrozen.gameserver.datatables.sql.ArmorSetsTable; replace it: .isEnchanted(6, this) with it: .isEnchanted6(this)
0 GsL Posted September 3, 2012 Author Posted September 3, 2012 you mean || L2ArmorSet.getInstance().getSet(9436).isEnchanted(6, this) to fix it like this? || L2ArmorSet.getInstance().getSet(9436).isEnchanted6(this) if u mean that problem exist GetInstance exist redline*
0 ^Wyatt Posted September 3, 2012 Posted September 3, 2012 Yes I mean that. Your import is wrong... change it: +import com.l2jserver.gameserver.model.L2ArmorSet; //added Armor effect by Annu and mvaios for it: import com.l2jfrozen.gameserver.datatables.sql.ArmorSetsTable;
0 GsL Posted September 3, 2012 Author Posted September 3, 2012 now i have problem in this lines //added Armor effect by Annu and mvaios public boolean isEnchanted(int enchantLevel, L2PcInstance player) { // Player don't have full set if (!containAll(player)) return false; Inventory inv = player.getInventory(); 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); if (chestItem == null || chestItem.getEnchantLevel() < enchantLevel) return false; if (_legs != 0 && (legsItem == null || legsItem.getEnchantLevel() < enchantLevel)) return false; if (_gloves != 0 && (glovesItem == null || glovesItem.getEnchantLevel() < enchantLevel)) return false; if (_head != 0 && (headItem == null || headItem.getEnchantLevel() < enchantLevel)) return false; if (_feet != 0 && (feetItem == null || feetItem.getEnchantLevel() < enchantLevel)) return false; return true; } //end added i add it here import com.l2jfrozen.gameserver.datatables.sql.ArmorSetsTable; Red is Inventory* L2ItemInstance* L2PcInstance* Legs gloves head feet* all is with red lines* ' my mistake is?
0 ^Wyatt Posted September 3, 2012 Posted September 3, 2012 Check if the imports are fine. I'll help u in 1h, right now I'm at gym, answering with blackberry.
0 GsL Posted September 3, 2012 Author Posted September 3, 2012 Check if the imports are fine. I'll help u in 1h, right now I'm at gym, answering with blackberry. i check it but i cant find something all are looking fine ..
0 ^Wyatt Posted September 3, 2012 Posted September 3, 2012 public boolean isEnchanted(int enchantLevel, L2PcInstance player) { // Player don't have full set if (!containAll(player)) return false; Inventory inv = player.getInventory(); 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); if (chestItem == null || chestItem.getEnchantLevel() < enchantLevel) return false; if (_legs != 0 && (legsItem == null || legsItem.getEnchantLevel() < enchantLevel)) return false; if (_gloves != 0 && (glovesItem == null || glovesItem.getEnchantLevel() < enchantLevel)) return false; if (_head != 0 && (headItem == null || headItem.getEnchantLevel() < enchantLevel)) return false; if (_feet != 0 && (feetItem == null || feetItem.getEnchantLevel() < enchantLevel)) return false; return true; } This code is supposed to be inside com.l2jfrozen.gameserver.model.L2ArmorSet And no red lines.
0 GsL Posted September 3, 2012 Author Posted September 3, 2012 you have right because 1st time i adapt code from freya i make something worng and thats why i had red lines Thanks again man you help me again !! One Question this code if i wanna add more armor set just increase this lines?? ArmorSetsTable.getInstance().getSet(6379).isEnchanted6(this) || ArmorSetsTable.getInstance().getSet(6382).isEnchanted6(this) || ArmorSetsTable.getInstance().getSet(6380).isEnchanted6(this) || ArmorSetsTable.getInstance().getSet(6381).isEnchanted6(this) || ArmorSetsTable.getInstance().getSet(9426).isEnchanted6(this) || ArmorSetsTable.getInstance().getSet(9427).isEnchanted6(this) || ArmorSetsTable.getInstance().getSet(10126).isEnchanted6(this) || ArmorSetsTable.getInstance().getSet(10127).isEnchanted6(this) || ArmorSetsTable.getInstance().getSet(9433).isEnchanted6(this) || ArmorSetsTable.getInstance().getSet(9434).isEnchanted6(this) || ArmorSetsTable.getInstance().getSet(9435).isEnchanted6(this) || ArmorSetsTable.getInstance().getSet(9436).isEnchanted6(this) )
0 ^Wyatt Posted September 3, 2012 Posted September 3, 2012 Yes. || ArmorSetsTable.getInstance().getSet(6382).isEnchanted6(this) Add a line and the number inside getSet(4324234234234) must be the id of the chest/fullbody item of the armor u want.
0 GsL Posted September 3, 2012 Author Posted September 3, 2012 Can you give me an example because i dont undestand ID of Dragonic armor is (Main 6379,6382,6380,6381) & Imperial armor set is (6373,6374,6375,6376,6378,6377) ArmorSetsTable.getInstance().getSet(6379).isEnchanted6(this) || ArmorSetsTable.getInstance().getSet(6382).isEnchanted6(this) || ArmorSetsTable.getInstance().getSet(6380).isEnchanted6(this) || ArmorSetsTable.getInstance().getSet(6381).isEnchanted6(this) || ArmorSetsTable.getInstance().getSet(6373).isEnchanted6(this) || ArmorSetsTable.getInstance().getSet(6374).isEnchanted6(this) || ArmorSetsTable.getInstance().getSet(6375).isEnchanted6(this) || ArmorSetsTable.getInstance().getSet(6376).isEnchanted6(this) || ArmorSetsTable.getInstance().getSet(6378).isEnchanted6(this) || ArmorSetsTable.getInstance().getSet(6377).isEnchanted6(this) || ArmorSetsTable.getInstance().getSet(9435).isEnchanted6(this) || ArmorSetsTable.getInstance().getSet(9436).isEnchanted6(this) ) if i add only dragonic armor in 1st lines Effect work normal , i cant undestand how i add more armors i try to add only dragonic Main but not working . i try to add || ArmorSetsTable.getInstance().getSet(6379638263806381).isEnchanted6(this) but not working 6377*= IC shield
0 ^Wyatt Posted September 4, 2012 Posted September 4, 2012 ArmorSetsTable.getInstance().getSet(6379).isEnchanted6(this)//Draconic. || ArmorSetsTable.getInstance().getSet(6373).isEnchanted6(this)//Imperial || ArmorSetsTable.getInstance().getSet(6383).isEnchanted6(this)//Major Arcana ) You only have to put the chest Id.
Question
GsL
Hello ppl this code can work for Interlude L2jfrozen?
because exist 1 effect from freya Vitality* effect how can i adapt to my pack it with an other effect ??
How can i fint it the other effects??
if i try to add from a Raid Boss An effect will work on armor??
This code is when an armor become +6 set or +6 main armor an effect like vitality spawned in chect armor*
31 answers to this question
Recommended Posts