`Rοmeο Posted November 16, 2012 Share Posted November 16, 2012 make pvp weapon augmentable atributable etc.. Download Me Have Fun People 8) Quote Link to comment Share on other sites More sharing options...
`Rοmeο Posted November 18, 2012 Author Share Posted November 18, 2012 nice but i think it is already shared. :P yeah but its better. Quote Link to comment Share on other sites More sharing options...
xdem Posted November 19, 2012 Share Posted November 19, 2012 yeah but its better. better? how? u equip the weapon faster or smth? Quote Link to comment Share on other sites More sharing options...
`NeverMore Posted November 19, 2012 Share Posted November 19, 2012 thanks for share ! keep going! Quote Link to comment Share on other sites More sharing options...
`Rοmeο Posted November 19, 2012 Author Share Posted November 19, 2012 thanks for share ! keep going! Thank u :D Quote Link to comment Share on other sites More sharing options...
Fizo Posted November 20, 2012 Share Posted November 20, 2012 thats works on latest stable version of L2J Server? Quote Link to comment Share on other sites More sharing options...
Grierosu Posted November 20, 2012 Share Posted November 20, 2012 better? how? u equip the weapon faster or smth? troll huh? Quote Link to comment Share on other sites More sharing options...
xdem Posted November 20, 2012 Share Posted November 20, 2012 troll huh? he must explain us the way this is better, or dont at all! Quote Link to comment Share on other sites More sharing options...
SkySkase Posted November 21, 2012 Share Posted November 21, 2012 thanks for share ! keep going! Quote Link to comment Share on other sites More sharing options...
`Rοmeο Posted November 22, 2012 Author Share Posted November 22, 2012 Thank you Guys! Quote Link to comment Share on other sites More sharing options...
TreVor Posted December 17, 2012 Share Posted December 17, 2012 Please help me i dont no. I find files RequestExEnchantItemAttribute.java and i dont lines i based on l2jserver High Five - if (item.getItem().getItemType() == L2WeaponType.FISHINGROD || item.isShadowItem() || item.isCommonItem() || item.isPvp() || item.isHeroItem() || item.isTimeLimitedItem() || + if (item.getItem().getItemType() == L2WeaponType.FISHINGROD || item.isShadowItem() || item.isCommonItem() || item.isHeroItem() || item.isTimeLimitedItem() || Mi files: public class RequestExEnchantItemAttribute extends L2GameClientPacket { private static final String _C__D0_35_REQUESTEXENCHANTITEMATTRIBUTE = "[C] D0:35 RequestExEnchantItemAttribute"; private int _objectId; @Override protected void readImpl() { _objectId = readD(); } @Override protected void runImpl() { L2PcInstance player = getClient().getActiveChar(); if (player == null) return; if (_objectId == 0xFFFFFFFF) { // Player canceled enchant player.setActiveEnchantAttrItem(null); player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.ELEMENTAL_ENHANCE_CANCELED)); return; } if (!player.isOnline()) { player.setActiveEnchantAttrItem(null); return; } if (player.getPrivateStoreType() != 0) { player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.CANNOT_ADD_ELEMENTAL_POWER_WHILE_OPERATING_PRIVATE_STORE_OR_WORKSHOP)); player.setActiveEnchantAttrItem(null); return; } // Restrict enchant during a trade (bug if enchant fails) if (player.getActiveRequester() != null) { // Cancel trade player.cancelActiveTrade(); player.setActiveEnchantAttrItem(null); player.sendMessage("Enchanting items is not allowed during a trade."); return; } L2ItemInstance item = player.getInventory().getItemByObjectId(_objectId); L2ItemInstance stone = player.getActiveEnchantAttrItem(); if (item == null || stone == null) { player.setActiveEnchantAttrItem(null); return; } if (!item.isElementable()) { player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.ELEMENTAL_ENHANCE_REQUIREMENT_NOT_SUFFICIENT)); player.setActiveEnchantAttrItem(null); return; } switch (item.getLocation()) { case INVENTORY: case PAPERDOLL: { if (item.getOwnerId() != player.getObjectId()) { player.setActiveEnchantAttrItem(null); return; } break; } default: { player.setActiveEnchantAttrItem(null); Util.handleIllegalPlayerAction(player, "Player "+player.getName()+" tried to use enchant Exploit!", Config.DEFAULT_PUNISH); return; } } int stoneId = stone.getItemId(); byte elementToAdd = Elementals.getItemElement(stoneId); // Armors have the opposite element if (item.isArmor()) elementToAdd = Elementals.getOppositeElement(elementToAdd); byte opositeElement = Elementals.getOppositeElement(elementToAdd); Elementals oldElement = item.getElemental(elementToAdd); int elementValue = oldElement == null ? 0 : oldElement.getValue(); int limit = getLimit(item, stoneId); int powerToAdd = getPowerToAdd(stoneId, elementValue, item); if ((item.isWeapon() && oldElement != null && oldElement.getElement() != elementToAdd && oldElement.getElement() != -2) || (item.isArmor() && item.getElemental(elementToAdd) == null && item.getElementals() != null && item.getElementals().length >= 3)) { player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.ANOTHER_ELEMENTAL_POWER_ALREADY_ADDED)); player.setActiveEnchantAttrItem(null); return; } if (item.isArmor() && item.getElementals() != null) { //cant add opposite element for (Elementals elm : item.getElementals()) { if (elm.getElement() == opositeElement) { player.setActiveEnchantAttrItem(null); Util.handleIllegalPlayerAction(player, "Player "+player.getName()+" tried to add oposite attribute to item!", Config.DEFAULT_PUNISH); return; } } } int newPower = elementValue + powerToAdd; if (newPower > limit) { newPower = limit; powerToAdd = limit - elementValue; } if (powerToAdd <= 0) { player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.ELEMENTAL_ENHANCE_CANCELED)); player.setActiveEnchantAttrItem(null); return; } if(!player.destroyItem("AttrEnchant", stone, 1, player, true)) { player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.NOT_ENOUGH_ITEMS)); Util.handleIllegalPlayerAction(player, "Player "+player.getName()+" tried to attribute enchant with a stone he doesn't have", Config.DEFAULT_PUNISH); player.setActiveEnchantAttrItem(null); return; } boolean success = false; switch(Elementals.getItemElemental(stoneId)._type) { case Stone: case Roughore: success = Rnd.get(100) < Config.ENCHANT_CHANCE_ELEMENT_STONE; break; case Crystal: success = Rnd.get(100) < Config.ENCHANT_CHANCE_ELEMENT_CRYSTAL; break; case Jewel: success = Rnd.get(100) < Config.ENCHANT_CHANCE_ELEMENT_JEWEL; break; case Energy: success = Rnd.get(100) < Config.ENCHANT_CHANCE_ELEMENT_ENERGY; break; } if (success) { byte realElement = item.isArmor() ? opositeElement : elementToAdd; SystemMessage sm; if (item.getEnchantLevel() == 0) { if (item.isArmor()) sm = SystemMessage.getSystemMessage(SystemMessageId.THE_S2_ATTRIBUTE_WAS_SUCCESSFULLY_BESTOWED_ON_S1_RES_TO_S3_INCREASED); else sm = SystemMessage.getSystemMessage(SystemMessageId.ELEMENTAL_POWER_S2_SUCCESSFULLY_ADDED_TO_S1); sm.addItemName(item); sm.addElemental(realElement); if (item.isArmor()) sm.addElemental(Elementals.getOppositeElement(realElement)); } else { if (item.isArmor()) sm = SystemMessage.getSystemMessage(SystemMessageId.THE_S3_ATTRIBUTE_BESTOWED_ON_S1_S2_RESISTANCE_TO_S4_INCREASED); else sm = SystemMessage.getSystemMessage(SystemMessageId.ELEMENTAL_POWER_S3_SUCCESSFULLY_ADDED_TO_S1_S2); sm.addNumber(item.getEnchantLevel()); sm.addItemName(item); sm.addElemental(realElement); if (item.isArmor()) sm.addElemental(Elementals.getOppositeElement(realElement)); } player.sendPacket(sm); item.setElementAttr(elementToAdd, newPower); if (item.isEquipped()) item.updateElementAttrBonus(player); // send packets InventoryUpdate iu = new InventoryUpdate(); iu.addModifiedItem(item); player.sendPacket(iu); } else player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.FAILED_ADDING_ELEMENTAL_POWER)); player.sendPacket(new ExAttributeEnchantResult(powerToAdd)); player.sendPacket(new UserInfo(player)); player.sendPacket(new ExBrExtraUserInfo(player)); player.setActiveEnchantAttrItem(null); } public int getLimit(L2ItemInstance item, int sotneId) { Elementals.ElementalItems elementItem = Elementals.getItemElemental(sotneId); if (elementItem == null) return 0; if (item.isWeapon()) return Elementals.WEAPON_VALUES[elementItem._type._maxLevel]; return Elementals.ARMOR_VALUES[elementItem._type._maxLevel]; } public int getPowerToAdd(int stoneId, int oldValue, L2ItemInstance item) { if (Elementals.getItemElement(stoneId) != Elementals.NONE) { if (item.isWeapon()) { if (oldValue == 0) return Elementals.FIRST_WEAPON_BONUS; return Elementals.NEXT_WEAPON_BONUS; } else if (item.isArmor()) return Elementals.ARMOR_BONUS; } return 0; } @Override public String getType() { return _C__D0_35_REQUESTEXENCHANTITEMATTRIBUTE; } } 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.