You should re-write your code buddy.. Your logic about packets/unequip and then enchant and again equip it's totally wrong.. This can be done with only 1/7 of this code.
example like:
item.setEnchantLevel(enchant);
item.updateDatabase();
player.sendPacket(new ItemList(player, false));
player.broadcastUserInfo();
player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.S1_S2_SUCCESSFULLY_ENCHANTED).addNumber(item.getEnchantLevel()).addItemName(item.getItemId()));
Make your method:
public static void Enchant(L2PcInstance player, int enchant, int type)
{
L2ItemInstance item = player.getInventory().getPaperdollItem(type);
if (item != null)
{
if (item.getEnchantLevel() < 150)
player.sendMessage("Move to another enchant npc!");
else if (item.getEnchantLevel() == 300)
player.sendMessage("Your " + item.getItemName() + " is already on maximun enchant!");
else if (item.getItem().getCrystalType().getId() == 0)
player.sendMessage("You can't Enchant under " + item.getItem().getCrystalType() + " Grade Items!");
else if (item.isHeroItem())
player.sendMessage("You Cannot be Enchant On " + item.getItemName() + " !");
else if (player.destroyItemByItemId("Consume", 57, 100, player, true))
{
item.setEnchantLevel(enchant);
item.updateDatabase();
player.sendPacket(new ItemList(player, false));
player.broadcastUserInfo();
player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.S1_S2_SUCCESSFULLY_ENCHANTED).addNumber(item.getEnchantLevel()).addItemName(item.getItemId()));
}
else
player.sendMessage("You do not have enough adena.");
}
else
player.sendMessage("That item doesn't exist in your inventory.");
}
if (command.startsWith("enchant"))
{
StringTokenizer st = new StringTokenizer(command);
st.nextToken();
try
{
String type = st.nextToken();
switch (type)
{
case "Weapon":
Enchant(player, 300, Inventory.PAPERDOLL_RHAND);
break;
}
}
catch (Exception e)
{
}
}
That's all you need.. Create a html, name the bypass "enchant" and done.. Your wep from +150 to +300.