Jump to content

Gustavoloko

Banned
  • Posts

    125
  • Credits

  • Joined

  • Last visited

  • Feedback

    0%

Everything posted by Gustavoloko

  1. yes protection, there is no way to cheat the system !
  2. Add me in skype xxxboaxxx
  3. The player buy points on the panel by SMS
  4. WTB - Items - L2Java 5000x Skype contact: xxxboaxxx
  5. http://maxcheaters.com/forum/index.php?topic=283915.0
  6. http://maxcheaters.com/forum/index.php?topic=283915.0
  7. http://maxcheaters.com/forum/index.php?topic=270595.new#new
  8. you are misinformed friend, you have 3 options 1 month, 2 months or 3 months!
  9. like you said something which you do not know? , You can choose to receive the money once per 1 or 2 or 3 months.
  10. Topic updated link! http://maxcheaters.com/forum/index.php?topic=271204.0
  11. L2 Oirgens Faction ! Open 07/04 ENCHANT: Maximum Enchant +10 Safe Enchant +1 Enchant 60% Blessed 80% SERVER: Server type: Faction Protection IP For Factions 15 Faction Maps Faction Map Round every 60 min Anti Heavy System Retail-style Olympiad 100% Olympiad period: 7 Days Skills And Class Balanced VIP System GeoData 100% Quake System FEATURES: Starting Level 75 24 Slots (Buffer Time 8 Hours) Autolearn Skills Free 1° 2° 3° Job Free sub classe add Player Spawn Protect: 60 Seconds Antibot system Servidor Retail (NO-CUSTOM ITEMS) Site: www.L2Origens.net Forum: www.L2Origens.net/forum
  12. LIKE ~~> http://www.facebook.com/L2Origensgame INFO ~~>http://www.l2origens.net/?action-information SITE ~~>http://www.l2origens.net
  13. Lineage II Origens Mid Rate 200x - Opening 16/03/2013 - 14:00 GMT -03:00 Braziliam RATES Rate Xp: 200x Rate Sp: 200x Rate Adena Drop: 100x Rate Party Xp:2x Rate Party Sp:2x ENCHANT: Maximum Enchant +20 Safe Enchant +3 Enchant 60% Blessed 75% Crystal 85% SERVER Server type: Mid Rate Anti L2Walker/L2Phhx/Others Sieges/Castle/Clan Hall 100% Sieges: 7 in 7 Days Sieges Reward System Retail-style Olympiad 100% Olympiad period: 15 Days Raid Boss/Grand Boss 100% Skills And Class Balanced All Quest 100% PvP/Pk Color System Fight Title System PvP/Pk Reward System Offline Trade System Champion System Aiox System Quake System EVENTS Auto TvT Event TvT: 4 in 4 Hours Auto Chaos Event chaos: 5 in 5 Hours FEATURES 24 Slots (Buffer Time 3 Hours) Autolearn Skills Free 1° 2° 3° Job Free sub classe add Dual Box Allowed 4 by ip Vote rewards : Vote Coins Player Spawn Protect: 60 Seconds Antibot system Faction Server ( Trilogia ) Opening ( 25 Days After Mid Rate ) ENCHANT Maximum Enchant +10 Safe Enchant +1 Enchant 60% Blessed 75% SERVER Server type: Faction Protection IP For Factions 15 Faction Maps Faction Map Round every 60 min Anti Heavy System Sieges/Castle/Clan Hall 100% Retail-style Olympiad 100% Olympiad period: 7 Days Skills And Class Balanced GeoData 100% Castle Reward System Quake System COMMANDS .online : Show Online Players .mapinfo : Show Current Faction Map .points : Show Your Faction Points FEATURES Starting Level 75 Starting Noblesse Status 24 Slots (Buffer Time 8 Hours) Autolearn Skills Free 1° 2° 3° Job Free sub classe add Dual Box Allowed 4 by ip Vote rewards : Vote Coins Player Spawn Protect: 60 Seconds Antibot system Do not sell Enchant (Armor, Weapons Jewels) Access to more information ~> www.l2origens.net Facebook ~> www.fb.com/L2Origensgame
  14. Lineage II Origens Mid Rate 200x - Opening 16/03/2013 - 14:00 GMT -03:00 Braziliam RATES Rate Xp: 200x Rate Sp: 200x Rate Adena Drop: 100x Rate Party Xp:2x Rate Party Sp:2x ENCHANT: Maximum Enchant +20 Safe Enchant +3 Enchant 60% Blessed 75% Crystal 85% SERVER Server type: Mid Rate Anti L2Walker/L2Phhx/Others Sieges/Castle/Clan Hall 100% Sieges: 7 in 7 Days Sieges Reward System Retail-style Olympiad 100% Olympiad period: 15 Days Raid Boss/Grand Boss 100% Skills And Class Balanced All Quest 100% PvP/Pk Color System Fight Title System PvP/Pk Reward System Offline Trade System Champion System Aiox System Quake System EVENTS Auto TvT Event TvT: 4 in 4 Hours Auto Chaos Event chaos: 5 in 5 Hours FEATURES 24 Slots (Buffer Time 3 Hours) Autolearn Skills Free 1° 2° 3° Job Free sub classe add Dual Box Allowed 4 by ip Vote rewards : Vote Coins Player Spawn Protect: 60 Seconds Antibot system Faction Server ( Trilogia ) Opening ( 25 Days After Mid Rate ) ENCHANT Maximum Enchant +10 Safe Enchant +1 Enchant 60% Blessed 75% SERVER Server type: Faction Protection IP For Factions 15 Faction Maps Faction Map Round every 60 min Anti Heavy System Sieges/Castle/Clan Hall 100% Retail-style Olympiad 100% Olympiad period: 7 Days Skills And Class Balanced GeoData 100% Castle Reward System Quake System COMMANDS .online : Show Online Players .mapinfo : Show Current Faction Map .points : Show Your Faction Points FEATURES Starting Level 75 Starting Noblesse Status 24 Slots (Buffer Time 8 Hours) Autolearn Skills Free 1° 2° 3° Job Free sub classe add Dual Box Allowed 4 by ip Vote rewards : Vote Coins Player Spawn Protect: 60 Seconds Antibot system Do not sell Enchant (Armor, Weapons Jewels) Access to more information ~> www.l2origens.net Facebook ~> www.fb.com/L2Origensgame
  15. L2 Auto SMS Donations Is an SMS donation system means that players can make their donation by phone and will automatically receive the items after the donation. If you're stressed, I show how the system works by teamviewer. Attention: The character must be offline in order to receive the donation. REQUIRIMENTOS: * Remote Mysql Open * WebHost HO YOU GET THE MONEY: * The Money goes to your account in the company i am working with. * You can take them in paypal or in your bank account. * You can choose to receive the money once per 1 or 2 or 3 months. PAYMENT : * Price: 35 Euro * Payment Methods: Paypal (As Gift), PaySafecard, Liberty Reserve , Bank Deposit (Brazil) Note: you will have free support plus i can help you to implent it to your websites template. CONTACT : MSN: gustavo.i.g@hotmail.com if you have any questions please contact me.
  16. I'm having problems with l2jfrozen I can not cofigurar rev accumulator skills to enable it (argument) if someone know the solution thanks. This is UseItem.java /* * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2, or (at your option) * any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA * 02111-1307, USA. * * http://www.gnu.org/copyleft/gpl.html */ package com.l2jfrozen.gameserver.network.clientpackets; import java.util.Arrays; import java.util.logging.Logger; import com.l2jfrozen.Config; import com.l2jfrozen.gameserver.ai.CtrlIntention; import com.l2jfrozen.gameserver.datatables.SkillTable; import com.l2jfrozen.gameserver.handler.IItemHandler; import com.l2jfrozen.gameserver.handler.ItemHandler; import com.l2jfrozen.gameserver.managers.CastleManager; import com.l2jfrozen.gameserver.model.Inventory; import com.l2jfrozen.gameserver.model.L2Clan; import com.l2jfrozen.gameserver.model.L2Object; import com.l2jfrozen.gameserver.model.actor.instance.L2ItemInstance; import com.l2jfrozen.gameserver.model.actor.instance.L2PcInstance; import com.l2jfrozen.gameserver.network.SystemMessageId; import com.l2jfrozen.gameserver.network.serverpackets.ActionFailed; import com.l2jfrozen.gameserver.network.serverpackets.EtcStatusUpdate; import com.l2jfrozen.gameserver.network.serverpackets.InventoryUpdate; import com.l2jfrozen.gameserver.network.serverpackets.ItemList; import com.l2jfrozen.gameserver.network.serverpackets.ShowCalculator; import com.l2jfrozen.gameserver.network.serverpackets.SystemMessage; import com.l2jfrozen.gameserver.network.serverpackets.UserInfo; import com.l2jfrozen.gameserver.templates.L2Item; import com.l2jfrozen.gameserver.templates.L2Weapon; import com.l2jfrozen.gameserver.templates.L2WeaponType; import com.l2jfrozen.gameserver.util.Util; public final class UseItem extends L2GameClientPacket { private static Logger _log = Logger.getLogger(UseItem.class.getName()); private int _objectId; @Override protected void readImpl() { _objectId = readD(); } @Override protected void runImpl() { L2PcInstance activeChar = getClient().getActiveChar(); if(activeChar == null) return; // Flood protect UseItem if (!getClient().getFloodProtectors().getUseItem().tryPerformAction("use item")) return; if(activeChar.isStunned() || activeChar.isConfused() || activeChar.isAway() || activeChar.isParalyzed() || activeChar.isSleeping()) { activeChar.sendMessage("You Cannot Use Items Right Now."); return; } if(activeChar.getPrivateStoreType() != 0) { activeChar.sendPacket(new SystemMessage(SystemMessageId.CANNOT_TRADE_DISCARD_DROP_ITEM_WHILE_IN_SHOPMODE)); activeChar.sendPacket(ActionFailed.STATIC_PACKET); return; } if(activeChar.getActiveTradeList() != null) { activeChar.cancelActiveTrade(); } // NOTE: disabled due to deadlocks // synchronized (activeChar.getInventory()) // { L2ItemInstance item = activeChar.getInventory().getItemByObjectId(_objectId); if(item == null) return; if(item.isWear()) // No unequipping wear-items return; if(item.getItem().getType2() == L2Item.TYPE2_QUEST) { SystemMessage sm = new SystemMessage(SystemMessageId.CANNOT_USE_QUEST_ITEMS); activeChar.sendPacket(sm); sm = null; return; } int itemId = item.getItemId(); /* * Alt game - Karma punishment // SOE * 736 Scroll of Escape * 1538 Blessed Scroll of Escape * 1829 Scroll of Escape: Clan Hall * 1830 Scroll of Escape: Castle * 3958 L2Day - Blessed Scroll of Escape * 5858 Blessed Scroll of Escape: Clan Hall * 5859 Blessed Scroll of Escape: Castle * 6663 Scroll of Escape: Orc Village * 6664 Scroll of Escape: Silenos Village * 7117 Scroll of Escape to Talking Island * 7118 Scroll of Escape to Elven Village * 7119 Scroll of Escape to Dark Elf Village * 7120 Scroll of Escape to Orc Village * 7121 Scroll of Escape to Dwarven Village * 7122 Scroll of Escape to Gludin Village * 7123 Scroll of Escape to the Town of Gludio * 7124 Scroll of Escape to the Town of Dion * 7125 Scroll of Escape to Floran * 7126 Scroll of Escape to Giran Castle Town * 7127 Scroll of Escape to Hardin's Private Academy * 7128 Scroll of Escape to Heine * 7129 Scroll of Escape to the Town of Oren * 7130 Scroll of Escape to Ivory Tower * 7131 Scroll of Escape to Hunters Village * 7132 Scroll of Escape to Aden Castle Town * 7133 Scroll of Escape to the Town of Goddard * 7134 Scroll of Escape to the Rune Township * 7135 Scroll of Escape to the Town of Schuttgart. * 7554 Scroll of Escape to Talking Island * 7555 Scroll of Escape to Elven Village * 7556 Scroll of Escape to Dark Elf Village * 7557 Scroll of Escape to Orc Village * 7558 Scroll of Escape to Dwarven Village * 7559 Scroll of Escape to Giran Castle Town * 7618 Scroll of Escape - Ketra Orc Village * 7619 Scroll of Escape - Varka Silenos Village * 10129 Scroll of Escape : Fortress * 10130 Blessed Scroll of Escape : Fortress */ if(!Config.ALT_GAME_KARMA_PLAYER_CAN_TELEPORT && activeChar.getKarma() > 0 && (itemId == 736 || itemId == 1538 || itemId == 1829 || itemId == 1830 || itemId == 3958 || itemId == 5858 || itemId == 5859 || itemId == 6663 || itemId == 6664 || itemId >= 7117 && itemId <= 7135 || itemId >= 7554 && itemId <= 7559 || itemId == 7618 || itemId == 7619 || itemId == 10129 || itemId == 10130)) return; // Items that cannot be used if(itemId == 57) return; if(activeChar.isFishing() && (itemId < 6535 || itemId > 6540)) { // You cannot do anything else while fishing SystemMessage sm = new SystemMessage(SystemMessageId.CANNOT_DO_WHILE_FISHING_3); getClient().getActiveChar().sendPacket(sm); sm = null; return; } if(activeChar.getPkKills() > 0 && (itemId >= 7816 && itemId <= 7831)) { // Retail messages... same L2OFF activeChar.sendMessage("You do not meet the required condition to equip that item."); activeChar.sendMessage("You are unable to equip this item when your PK count is greater than or equal to one."); return; } L2Clan cl = activeChar.getClan(); //A shield that can only be used by the members of a clan that owns a castle. if((cl == null || cl.getHasCastle() == 0) && itemId == 7015 && Config.CASTLE_SHIELD) { activeChar.sendMessage("You can't equip that"); return; } //A shield that can only be used by the members of a clan that owns a clan hall. if((cl == null || cl.getHasHideout() == 0) && itemId == 6902 && Config.CLANHALL_SHIELD) { activeChar.sendMessage("You can't equip that"); return; } //Apella armor used by clan members may be worn by a Baron or a higher level Aristocrat. if(itemId >= 7860 && itemId <= 7879 && Config.APELLA_ARMORS && (cl == null || activeChar.getPledgeClass() < 5)) { activeChar.sendMessage("You can't equip that"); return; } //Clan Oath armor used by all clan members if(itemId >= 7850 && itemId <= 7859 && Config.OATH_ARMORS && cl == null) { activeChar.sendMessage("You can't equip that"); return; } //The Lord's Crown used by castle lords only if(itemId == 6841 && Config.CASTLE_CROWN && (cl == null || cl.getHasCastle() == 0 || !activeChar.isClanLeader())) { activeChar.sendMessage("You can't equip that"); return; } //Castle circlets used by the members of a clan that owns a castle, academy members are excluded. if(Config.CASTLE_CIRCLETS && (itemId >= 6834 && itemId <= 6840 || itemId == 8182 || itemId == 8183)) { if(cl == null) { activeChar.sendMessage("You can't equip that"); return; } else { int circletId = CastleManager.getInstance().getCircletByCastleId(cl.getHasCastle()); if(activeChar.getPledgeType() == -1 || circletId != itemId) { activeChar.sendMessage("You can't equip that"); return; } } } /* //You can't equip Shield if you have specific weapon equiped, not retail L2Weapon curwep = activeChar.getActiveWeaponItem(); if(curwep != null) { if(curwep.getItemType() == L2WeaponType.DUAL && item.getItemType() == L2WeaponType.NONE) { activeChar.sendMessage("You are not allowed to do this."); return; } else if(curwep.getItemType() == L2WeaponType.BOW && item.getItemType() == L2WeaponType.NONE) { activeChar.sendMessage("You are not allowed to do this."); return; } else if(curwep.getItemType() == L2WeaponType.BIGBLUNT && item.getItemType() == L2WeaponType.NONE) { activeChar.sendMessage("You are not allowed to do this."); return; } else if(curwep.getItemType() == L2WeaponType.BIGSWORD && item.getItemType() == L2WeaponType.NONE) { activeChar.sendMessage("You are not allowed to do this."); return; } else if(curwep.getItemType() == L2WeaponType.POLE && item.getItemType() == L2WeaponType.NONE) { activeChar.sendMessage("You are not allowed to do this."); return; } else if(curwep.getItemType() == L2WeaponType.DUALFIST && item.getItemType() == L2WeaponType.NONE) { activeChar.sendMessage("You are not allowed to do this."); return; } } */ // Char cannot use item when dead if(activeChar.isDead()) { SystemMessage sm = new SystemMessage(SystemMessageId.S1_CANNOT_BE_USED); sm.addItemName(itemId); getClient().getActiveChar().sendPacket(sm); sm = null; return; } // Char cannot use pet items if(item.getItem().isForWolf() || item.getItem().isForHatchling() || item.getItem().isForStrider() || item.getItem().isForBabyPet()) { SystemMessage sm = new SystemMessage(SystemMessageId.CANNOT_EQUIP_PET_ITEM); // You cannot equip a pet item. sm.addItemName(itemId); getClient().getActiveChar().sendPacket(sm); sm = null; return; } if(Config.DEBUG) { _log.finest(activeChar.getObjectId() + ": use item " + _objectId); } if(item.isEquipable()) { // No unequipping/equipping while the player is in special conditions if(activeChar.isFishing() || activeChar.isStunned() || activeChar.isSleeping() || activeChar.isParalyzed() || activeChar.isAlikeDead()) { activeChar.sendMessage("Your status does not allow you to do that."); return; } //SECURE FIX - Anti Overenchant Cheat!! if (Config.MAX_ITEM_ENCHANT_KICK >0 && !activeChar.isGM() && item.getEnchantLevel() > Config.MAX_ITEM_ENCHANT_KICK) { activeChar.sendMessage("You have been kicked for using an item overenchanted!"); Util.handleIllegalPlayerAction(activeChar, "Player " + activeChar.getName() + " has item Overenchanted! Kicked ", Config.DEFAULT_PUNISH); //activeChar.closeNetConnection(); return; } int bodyPart = item.getItem().getBodyPart(); // Prevent player to remove the weapon on special conditions if((/*activeChar.isAttackingNow() || */activeChar.isCastingNow() || activeChar.isCastingPotionNow() || activeChar.isMounted() || (activeChar._inEventCTF && activeChar._haveFlagCTF)) && ((bodyPart == L2Item.SLOT_LR_HAND) || (bodyPart == L2Item.SLOT_L_HAND) || (bodyPart == L2Item.SLOT_R_HAND))) { if(activeChar._inEventCTF && activeChar._haveFlagCTF) activeChar.sendMessage("This item can not be equipped when you have the flag."); return; } // Don't allow weapon/shield equipment if wearing formal wear if(activeChar.isWearingFormalWear() && (bodyPart == L2Item.SLOT_LR_HAND || bodyPart == L2Item.SLOT_L_HAND || bodyPart == L2Item.SLOT_R_HAND)) { SystemMessage sm = new SystemMessage(SystemMessageId.CANNOT_USE_ITEMS_SKILLS_WITH_FORMALWEAR); activeChar.sendPacket(sm); return; } //fix enchant if(Config.PROTECTED_ENCHANT) { switch(bodyPart) { case L2Item.SLOT_LR_HAND: case L2Item.SLOT_L_HAND: case L2Item.SLOT_R_HAND: { if((item.getEnchantLevel() > Config.NORMAL_WEAPON_ENCHANT_LEVEL.size() || item.getEnchantLevel() > Config.BLESS_WEAPON_ENCHANT_LEVEL.size() || item.getEnchantLevel() > Config.CRYSTAL_WEAPON_ENCHANT_LEVEL.size()) && !activeChar.isGM()) { //activeChar.setAccountAccesslevel(-1); //ban activeChar.sendMessage("You have been banned for using an item wich is over enchanted!"); //message Util.handleIllegalPlayerAction(activeChar, "Player " + activeChar.getName() + " has item Overenchanted! ", Config.DEFAULT_PUNISH); //activeChar.closeNetConnection(); //kick return; } break; } case L2Item.SLOT_CHEST: case L2Item.SLOT_BACK: case L2Item.SLOT_GLOVES: case L2Item.SLOT_FEET: case L2Item.SLOT_HEAD: case L2Item.SLOT_FULL_ARMOR: case L2Item.SLOT_LEGS: { if((item.getEnchantLevel() > Config.NORMAL_ARMOR_ENCHANT_LEVEL.size() || item.getEnchantLevel() > Config.BLESS_ARMOR_ENCHANT_LEVEL.size() || item.getEnchantLevel() > Config.CRYSTAL_ARMOR_ENCHANT_LEVEL.size()) && !activeChar.isGM()) { //activeChar.setAccountAccesslevel(-1); //ban activeChar.sendMessage("You have been banned for using an item wich is over enchanted!"); //message Util.handleIllegalPlayerAction(activeChar, "Player " + activeChar.getName() + " has item Overenchanted! ", Config.DEFAULT_PUNISH); //activeChar.closeNetConnection(); //kick return; } break; } case L2Item.SLOT_R_EAR: case L2Item.SLOT_L_EAR: case L2Item.SLOT_NECK: case L2Item.SLOT_R_FINGER: case L2Item.SLOT_L_FINGER: { if((item.getEnchantLevel() > Config.NORMAL_JEWELRY_ENCHANT_LEVEL.size() || item.getEnchantLevel() > Config.BLESS_JEWELRY_ENCHANT_LEVEL.size() || item.getEnchantLevel() > Config.CRYSTAL_JEWELRY_ENCHANT_LEVEL.size()) && !activeChar.isGM()) { //activeChar.setAccountAccesslevel(-1); //ban activeChar.sendMessage("You have been banned for using an item wich is over enchanted!"); //message Util.handleIllegalPlayerAction(activeChar, "Player " + activeChar.getName() + " has item Overenchanted! ", Config.DEFAULT_PUNISH); //activeChar.closeNetConnection(); //kick return; } break; } } } // Don't allow weapon/shield equipment if a cursed weapon is equiped if(activeChar.isCursedWeaponEquiped() && (bodyPart == L2Item.SLOT_LR_HAND || bodyPart == L2Item.SLOT_L_HAND || bodyPart == L2Item.SLOT_R_HAND)) return; // Don't allow weapon/shield hero equipment during Olimpia if(activeChar.isInOlympiadMode() && ((bodyPart == L2Item.SLOT_LR_HAND || bodyPart == L2Item.SLOT_L_HAND || bodyPart == L2Item.SLOT_R_HAND) && (item.getItemId() >= 6611 && item.getItemId() <= 6621 || item.getItemId() == 6842) || Config.LIST_OLY_RESTRICTED_ITEMS.contains(item.getItemId()))) return; // Don't allow Hero items equipment if not a hero if(!activeChar.isHero() && (item.getItemId() >= 6611 && item.getItemId() <= 6621 || item.getItemId() == 6842) && !activeChar.isGM()) return; if(activeChar.isMoving() && activeChar.isAttackingNow() && (bodyPart == L2Item.SLOT_LR_HAND || bodyPart == L2Item.SLOT_L_HAND || bodyPart == L2Item.SLOT_R_HAND)) { L2Object target = activeChar.getTarget(); activeChar.setTarget(null); activeChar.stopMove(null); activeChar.setTarget(target); activeChar.getAI().setIntention(CtrlIntention.AI_INTENTION_ATTACK); } // Don't allow to put formal wear if(activeChar.isCursedWeaponEquipped() && itemId == 6408) return; // Equip or unEquip L2ItemInstance[] items = null; boolean isEquiped = item.isEquipped(); SystemMessage sm = null; if(item.getItem().getType2() == L2Item.TYPE2_WEAPON){ //if used item is a weapon L2ItemInstance wep = activeChar.getInventory().getPaperdollItem(Inventory.PAPERDOLL_LRHAND); if(wep == null) { wep = activeChar.getInventory().getPaperdollItem(Inventory.PAPERDOLL_RHAND); } activeChar.checkSSMatch(item, wep); } if(isEquiped) //remove it { if(item.getEnchantLevel() > 0) { sm = new SystemMessage(SystemMessageId.EQUIPMENT_S1_S2_REMOVED); sm.addNumber(item.getEnchantLevel()); sm.addItemName(itemId); } else { sm = new SystemMessage(SystemMessageId.S1_DISARMED); sm.addItemName(itemId); } activeChar.sendPacket(sm); // Remove augementation bonus on unequipment if(item.isAugmented()) { item.getAugmentation().removeBoni(activeChar); } switch(item.getEquipSlot()) { case 1: bodyPart = L2Item.SLOT_L_EAR; break; case 2: bodyPart = L2Item.SLOT_R_EAR; break; case 4: bodyPart = L2Item.SLOT_L_FINGER; break; case 5: bodyPart = L2Item.SLOT_R_FINGER; break; default: break; } //remove cupid's bow skills on unequip if (item.isCupidBow()) { if (item.getItemId() == 9140) activeChar.removeSkill(SkillTable.getInstance().getInfo(3261, 1)); else{ activeChar.removeSkill(SkillTable.getInstance().getInfo(3260, 0)); activeChar.removeSkill(SkillTable.getInstance().getInfo(3262, 0)); } } items = activeChar.getInventory().unEquipItemInBodySlotAndRecord(bodyPart); } else { if(item.getItem() instanceof L2Weapon && ((L2Weapon)item.getItem()).getItemType() == L2WeaponType.BOW){ if(Config.DISABLE_BOW_CLASSES.contains(activeChar.getClassId().getId())){ activeChar.sendMessage("This item can not be equipped by your class"); activeChar.sendPacket(ActionFailed.STATIC_PACKET); return; } } int tempBodyPart = item.getItem().getBodyPart(); L2ItemInstance tempItem = activeChar.getInventory().getPaperdollItemByL2ItemId(tempBodyPart); // remove augmentation stats for replaced items // currently weapons only.. if(tempItem != null && tempItem.isAugmented()) { tempItem.getAugmentation().removeBoni(activeChar); } //check if the item replaces a wear-item if(tempItem != null && tempItem.isWear()) // dont allow an item to replace a wear-item return; else if(tempBodyPart == 0x4000) // left+right hand equipment { // this may not remove left OR right hand equipment tempItem = activeChar.getInventory().getPaperdollItem(7); if(tempItem != null && tempItem.isWear()) return; tempItem = activeChar.getInventory().getPaperdollItem(8); if(tempItem != null && tempItem.isWear()) return; } else if(tempBodyPart == 0x8000) // fullbody armor { // this may not remove chest or leggins tempItem = activeChar.getInventory().getPaperdollItem(10); if(tempItem != null && tempItem.isWear()) return; tempItem = activeChar.getInventory().getPaperdollItem(11); if(tempItem != null && tempItem.isWear()) return; } if(item.getEnchantLevel() > 0) { sm = new SystemMessage(SystemMessageId.S1_S2_EQUIPPED); sm.addNumber(item.getEnchantLevel()); sm.addItemName(itemId); } else { sm = new SystemMessage(SystemMessageId.S1_EQUIPPED); sm.addItemName(itemId); } activeChar.sendPacket(sm); // Apply cupid's bow skills on equip if (item.isCupidBow()) { if (item.getItemId() == 9140) activeChar.addSkill(SkillTable.getInstance().getInfo(3261, 1)); else activeChar.addSkill(SkillTable.getInstance().getInfo(3260, 0)); activeChar.addSkill(SkillTable.getInstance().getInfo(3262, 0)); } items = activeChar.getInventory().equipItemAndRecord(item); // Consume mana - will start a task if required; returns if item is not a shadow item item.decreaseMana(false); } sm = null; activeChar.refreshExpertisePenalty(); activeChar.refreshMasteryPenality(); activeChar.refreshMasteryWeapPenality(); /* if(item.getItem().getType2() == L2Item.TYPE2_WEAPON) { activeChar.checkIfWeaponIsAllowed(); } */ activeChar.abortAttack(); activeChar.sendPacket(new EtcStatusUpdate(activeChar)); // if an "invisible" item has changed (Jewels, helmet), // we dont need to send broadcast packet to all other users if(!((item.getItem().getBodyPart() & L2Item.SLOT_HEAD) > 0 || (item.getItem().getBodyPart() & L2Item.SLOT_NECK) > 0 || (item.getItem().getBodyPart() & L2Item.SLOT_L_EAR) > 0 || (item.getItem().getBodyPart() & L2Item.SLOT_R_EAR) > 0 || (item.getItem().getBodyPart() & L2Item.SLOT_L_FINGER) > 0 || (item.getItem().getBodyPart() & L2Item.SLOT_R_FINGER) > 0)) { activeChar.broadcastUserInfo(); InventoryUpdate iu = new InventoryUpdate(); iu.addItems(Arrays.asList(items)); activeChar.sendPacket(iu); } else if((item.getItem().getBodyPart() & L2Item.SLOT_HEAD) > 0) { InventoryUpdate iu = new InventoryUpdate(); iu.addItems(Arrays.asList(items)); activeChar.sendPacket(iu); activeChar.sendPacket(new UserInfo(activeChar)); } else { // because of complicated jewels problem i'm forced to resend the item list :( activeChar.sendPacket(new ItemList(activeChar, true)); activeChar.sendPacket(new UserInfo(activeChar)); } } else { L2Weapon weaponItem = activeChar.getActiveWeaponItem(); int itemid = item.getItemId(); //_log.log(Level.WARNING, "item not equipable id:"+ item.getItemId()); if(itemid == 4393) { activeChar.sendPacket(new ShowCalculator(4393)); } else if(weaponItem != null && weaponItem.getItemType() == L2WeaponType.ROD && (itemid >= 6519 && itemid <= 6527 || itemid >= 7610 && itemid <= 7613 || itemid >= 7807 && itemid <= 7809 || itemid >= 8484 && itemid <= 8486 || itemid >= 8505 && itemid <= 8513)) { activeChar.getInventory().setPaperdollItem(Inventory.PAPERDOLL_LHAND, item); activeChar.broadcastUserInfo(); // Send a Server->Client packet ItemList to this L2PcINstance to update left hand equipement ItemList il = new ItemList(activeChar, false); sendPacket(il); return; } else { IItemHandler handler = ItemHandler.getInstance().getItemHandler(itemId); if(handler == null) { if(Config.DEBUG) _log.warning("No item handler registered for item ID " + itemId + "."); } else { handler.useItem(activeChar, item); } } } // } } @Override public String getType() { return "[C] 14 UseItem"; } }
×
×
  • Create New...