Package com.l2jfrozen.gameserver.network.serverpackets

Examples of com.l2jfrozen.gameserver.network.serverpackets.InventoryUpdate


      {
        itemToRemove.getAugmentation().removeBoni(activeChar);
      }
     
      L2ItemInstance[] unequiped = activeChar.getInventory().unEquipItemInSlotAndRecord(itemToRemove.getEquipSlot());
      InventoryUpdate iu = new InventoryUpdate();
      for (L2ItemInstance element : unequiped)
      {
        activeChar.checkSSMatch(null, element);
        iu.addModifiedItem(element);
      }
     
      activeChar.sendPacket(iu);
      activeChar.broadcastUserInfo();
    }
   
    if (L2PetDataTable.isPetItem(itemId))
    {
      Connection con = null;
      try
      {
        if (activeChar.getPet() != null && activeChar.getPet().getControlItemId() == _objectId)
        {
          activeChar.getPet().unSummon(activeChar);
        }
       
        // if it's a pet control item, delete the pet
        con = L2DatabaseFactory.getInstance().getConnection(false);
        PreparedStatement statement = con.prepareStatement("DELETE FROM pets WHERE item_obj_id=?");
        statement.setInt(1, _objectId);
        statement.execute();
        statement.close();
       
        statement = null;
      }
      catch (Exception e)
      {
        if (Config.ENABLE_ALL_EXCEPTIONS)
          e.printStackTrace();
       
        _log.log(Level.WARNING, "could not delete pet objectid: ", e);
      }
      finally
      {
        CloseUtil.close(con);
        con = null;
      }
    }
   
    L2ItemInstance removedItem = activeChar.getInventory().destroyItem("Destroy", _objectId, count, activeChar, null);
   
    if (removedItem == null)
      return;
   
    if (!Config.FORCE_INVENTORY_UPDATE)
    {
      InventoryUpdate iu = new InventoryUpdate();
      if (removedItem.getCount() == 0)
      {
        iu.addRemovedItem(removedItem);
      }
      else
      {
        iu.addModifiedItem(removedItem);
      }
     
      // client.getConnection().sendPacket(iu);
      activeChar.sendPacket(iu);
    }
View Full Code Here


   
    // generate augmentation
    targetItem.setAugmentation(AugmentationData.getInstance().generateRandomAugmentation(targetItem, lifeStoneLevel, lifeStoneGrade));
   
    // finish and send the inventory update packet
    InventoryUpdate iu = new InventoryUpdate();
    iu.addModifiedItem(targetItem);
    player.sendPacket(iu);
   
    StatusUpdate su = new StatusUpdate(player.getObjectId());
    su.addAttribute(StatusUpdate.CUR_LOAD, player.getCurrentLoad());
    player.sendPacket(su);
View Full Code Here

      {
        item.getAugmentation().removeBoni(activeChar);
      }

      L2ItemInstance[] unequiped = activeChar.getInventory().unEquipItemInBodySlotAndRecord(item.getItem().getBodyPart());
      InventoryUpdate iu = new InventoryUpdate();

      for(L2ItemInstance element : unequiped)
      {
        activeChar.checkSSMatch(null, element);

        iu.addModifiedItem(element);
      }
      activeChar.sendPacket(iu);
      activeChar.broadcastUserInfo();

      ItemList il = new ItemList(activeChar, true);
View Full Code Here

      sendPacket(new SystemMessage(SystemMessageId.SLOTS_FULL));
      return;
    }

    // Proceed the purchase
    InventoryUpdate playerIU = new InventoryUpdate();

    for(int i = 0; i < _size; i++)
    {
      int objId = _items[i * 4 + 0];
      int cropId = _items[i * 4 + 1];
      int manorId = _items[i * 4 + 2];
      int count = _items[i * 4 + 3];

      if(objId == 0 || cropId == 0 || manorId == 0 || count == 0)
      {
        continue;
      }

      if(count < 1)
      {
        continue;
      }

      CropProcure crop = null;

      try
      {
        crop = CastleManager.getInstance().getCastleById(manorId).getCrop(cropId, CastleManorManager.PERIOD_CURRENT);
      }
      catch(NullPointerException e)
      {
        if(Config.ENABLE_ALL_EXCEPTIONS)
          e.printStackTrace();
       
        continue;
      }
      if(crop == null || crop.getId() == 0 || crop.getPrice() == 0)
      {
        continue;
      }

      int fee = 0; // fee for selling to other manors

      int rewardItem = L2Manor.getInstance().getRewardItem(cropId, crop.getReward());

      if(count > crop.getAmount())
      {
        continue;
      }

      int sellPrice = count * L2Manor.getInstance().getCropBasicPrice(cropId);
      int rewardPrice = ItemTable.getInstance().getTemplate(rewardItem).getReferencePrice();

      if(rewardPrice == 0)
      {
        continue;
      }

      int rewardItemCount = sellPrice / rewardPrice;
      if(rewardItemCount < 1)
      {
        SystemMessage sm = new SystemMessage(SystemMessageId.FAILED_IN_TRADING_S2_OF_CROP_S1);
        sm.addItemName(cropId);
        sm.addNumber(count);
        player.sendPacket(sm);
        continue;
      }

      if(manorId != currentManorId)
      {
        fee = sellPrice * 5 / 100; // 5% fee for selling to other manor
      }

      if(player.getInventory().getAdena() < fee)
      {
        SystemMessage sm = new SystemMessage(SystemMessageId.FAILED_IN_TRADING_S2_OF_CROP_S1);
        sm.addItemName(cropId);
        sm.addNumber(count);
        player.sendPacket(sm);
        sm = new SystemMessage(SystemMessageId.YOU_NOT_ENOUGH_ADENA);
        player.sendPacket(sm);
        continue;
      }

      // Add item to Inventory and adjust update packet
      L2ItemInstance itemDel = null;
      L2ItemInstance itemAdd = null;
      if(player.getInventory().getItemByObjectId(objId) != null)
      {
        // check if player have correct items count
        L2ItemInstance item = player.getInventory().getItemByObjectId(objId);
        if(item.getCount() < count)
        {
          continue;
        }

        itemDel = player.getInventory().destroyItem("Manor", objId, count, player, manorManager);
        if(itemDel == null)
        {
          continue;
        }

        if(fee > 0)
        {
          player.getInventory().reduceAdena("Manor", fee, player, manorManager);
        }

        crop.setAmount(crop.getAmount() - count);

        if(Config.ALT_MANOR_SAVE_ALL_ACTIONS)
        {
          CastleManager.getInstance().getCastleById(manorId).updateCrop(crop.getId(), crop.getAmount(), CastleManorManager.PERIOD_CURRENT);
        }

        itemAdd = player.getInventory().addItem("Manor", rewardItem, rewardItemCount, player, manorManager);
      }
      else
      {
        continue;
      }

      if(itemAdd == null)
      {
        continue;
      }

      playerIU.addRemovedItem(itemDel);
      if(itemAdd.getCount() > rewardItemCount)
      {
        playerIU.addModifiedItem(itemAdd);
      }
      else
      {
        playerIU.addNewItem(itemAdd);
      }

      // Send System Messages
      SystemMessage sm = new SystemMessage(SystemMessageId.TRADED_S2_OF_CROP_S1);
      sm.addItemName(cropId);
View Full Code Here

      sendPacket(new SystemMessage(SystemMessageId.WEIGHT_LIMIT_EXCEEDED));
      return;
    }

    // Proceed to the transfer
    InventoryUpdate playerIU = Config.FORCE_INVENTORY_UPDATE ? null : new InventoryUpdate();
    for(int i = 0; i < _count; i++)
    {
      int objectId = _items[i * 2 + 0];
      int count = _items[i * 2 + 1];

      L2ItemInstance oldItem = warehouse.getItemByObjectId(objectId);
      if(oldItem == null || oldItem.getCount() < count)
      {
        player.sendMessage("Can't withdraw requested item" + (count > 1 ? "s" : ""));
      }
      L2ItemInstance newItem = warehouse.transferItem("Warehouse", objectId, count, player.getInventory(), player, player.getLastFolkNPC());
      if(newItem == null)
      {
        _log.warning("Error withdrawing a warehouse object for char " + player.getName());
        continue;
      }

      if(playerIU != null)
      {
        if(newItem.getCount() > count)
        {
          playerIU.addModifiedItem(newItem);
        }
        else
        {
          playerIU.addNewItem(newItem);
        }
      }
    }

    // Send updated item list to the player
View Full Code Here

    // Adding to treasury for Manor Castle
    castle.addToTreasuryNoTax((int) totalPrice);

    // Proceed the purchase
    InventoryUpdate playerIU = new InventoryUpdate();
    for(int i = 0; i < _count; i++)
    {
      int seedId = _items[i * 2 + 0];
      int count = _items[i * 2 + 1];

      if(count < 0)
      {
        count = 0;
      }

      // Update Castle Seeds Amount
      SeedProduction seed = castle.getSeed(seedId, CastleManorManager.PERIOD_CURRENT);
      seed.setCanProduce(seed.getCanProduce() - count);
      if(Config.ALT_MANOR_SAVE_ALL_ACTIONS)
      {
        CastleManager.getInstance().getCastleById(_manorId).updateSeed(seed.getId(), seed.getCanProduce(), CastleManorManager.PERIOD_CURRENT);
      }

      // Add item to Inventory and adjust update packet
      L2ItemInstance item = player.getInventory().addItem("Buy", seedId, count, player, target);

      if(item.getCount() > count)
      {
        playerIU.addModifiedItem(item);
      }
      else
      {
        playerIU.addNewItem(item);
      }

      // Send Char Buy Messages
      SystemMessage sm = null;
      sm = new SystemMessage(SystemMessageId.EARNED_S2_S1_S);
View Full Code Here

    }

    L2ItemInstance[] unequiped = activeChar.getInventory().unEquipItemInBodySlotAndRecord(_slot);

    // show the update in the inventory
    InventoryUpdate iu = new InventoryUpdate();

    for(L2ItemInstance element : unequiped)
    {
      activeChar.checkSSMatch(null, element);

      iu.addModifiedItem(element);
    }

    activeChar.sendPacket(iu);

    activeChar.broadcastUserInfo();
View Full Code Here

              item.getAugmentation().removeBoni(activeChar);
            }

            L2ItemInstance[] unequiped = activeChar.getInventory().unEquipItemInSlotAndRecord(item.getEquipSlot());

            InventoryUpdate iu = new InventoryUpdate();
            for(L2ItemInstance element : unequiped)
            {
              iu.addModifiedItem(element);
            }
            activeChar.sendPacket(iu);

            activeChar.broadcastUserInfo();
          }

          int count = item.getCrystalCount() - (item.getItem().getCrystalCount() + 1) / 2;
          if(count < 1)
          {
            count = 1;
          }
         
          if(item.fireEvent("enchantFail", new Object[]
          {}) != null)
            return;
          L2ItemInstance destroyItem = activeChar.getInventory().destroyItem("Enchant", item, activeChar, null);
          if(destroyItem == null)
            return;

          L2ItemInstance crystals = activeChar.getInventory().addItem("Enchant", crystalId, count, activeChar, destroyItem);

          sm = new SystemMessage(SystemMessageId.EARNED_S2_S1_S);
          sm.addItemName(crystals.getItemId());
          sm.addNumber(count);
          activeChar.sendPacket(sm);

          if(!Config.FORCE_INVENTORY_UPDATE)
          {
            InventoryUpdate iu = new InventoryUpdate();
            if(destroyItem.getCount() == 0)
            {
              iu.addRemovedItem(destroyItem);
            }
            else
            {
              iu.addModifiedItem(destroyItem);
            }
            iu.addItem(crystals);

            activeChar.sendPacket(iu);
          }
          else
          {
View Full Code Here

      if(controlItem != null)
      {
        controlItem.setCustomType2(1);
        controlItem.updateDatabase();
        InventoryUpdate iu = new InventoryUpdate();
        iu.addModifiedItem(controlItem);
        activeChar.sendPacket(iu);
      }
    }
  }
View Full Code Here

    // send ExVariationCancelResult
    activeChar.sendPacket(new ExVariationCancelResult(1));

    // send inventory update
    InventoryUpdate iu = new InventoryUpdate();
    iu.addModifiedItem(targetItem);
    activeChar.sendPacket(iu);

    // send system message
    SystemMessage sm = new SystemMessage(SystemMessageId.AUGMENTATION_HAS_BEEN_SUCCESSFULLY_REMOVED_FROM_YOUR_S1);
    sm.addString(targetItem.getItemName());
View Full Code Here

TOP

Related Classes of com.l2jfrozen.gameserver.network.serverpackets.InventoryUpdate

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.