Package com.l2jfrozen.gameserver.network.serverpackets

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


    if(clan == null)
      return;

    if(clan.getDissolvingExpiryTime() > System.currentTimeMillis())
    {
      activeChar.sendPacket(new SystemMessage(SystemMessageId.CANNOT_SET_CREST_WHILE_DISSOLUTION_IN_PROGRESS));
      return;
    }

    if(_length < 0)
    {
      activeChar.sendMessage("File transfer error.");
      return;
    }

    if(_length > 256)
    {
      activeChar.sendMessage("The clan crest file size was too big (max 256 bytes).");
      return;
    }

    if(_length == 0 || _data.length == 0)
    {
      CrestCache.getInstance().removePledgeCrest(clan.getCrestId());

      clan.setHasCrest(false);
      activeChar.sendPacket(new SystemMessage(SystemMessageId.CLAN_CREST_HAS_BEEN_DELETED));

      for(L2PcInstance member : clan.getOnlineMembers(""))
      {
        member.broadcastUserInfo();
      }

      return;
    }

    if((activeChar.getClanPrivileges() & L2Clan.CP_CL_REGISTER_CREST) == L2Clan.CP_CL_REGISTER_CREST)
    {
      if(clan.getLevel() < 3)
      {
        activeChar.sendPacket(new SystemMessage(SystemMessageId.CLAN_LVL_3_NEEDED_TO_SET_CREST));
        return;
      }

      CrestCache crestCache = CrestCache.getInstance();
View Full Code Here


   
    int count = _count;
   
    if (activeChar.getPrivateStoreType() != 0)
    {
      activeChar.sendPacket(new SystemMessage(SystemMessageId.CANNOT_TRADE_DISCARD_DROP_ITEM_WHILE_IN_SHOPMODE));
      return;
    }
   
    L2ItemInstance itemToRemove = activeChar.getInventory().getItemByObjectId(_objectId);
   
    // if we cant find requested item, its actualy a cheat!
    if (itemToRemove == null)
      return;
    if (itemToRemove.fireEvent("DESTROY", (Object[]) null) != null)
    {
      activeChar.sendPacket(new SystemMessage(SystemMessageId.CANNOT_DISCARD_THIS_ITEM));
      return;
    }
   
    // Cannot discard item that the skill is consumming
    if (activeChar.isCastingNow())
    {
      if (activeChar.getCurrentSkill() != null && activeChar.getCurrentSkill().getSkill().getItemConsumeId() == itemToRemove.getItemId())
      {
        activeChar.sendPacket(new SystemMessage(SystemMessageId.CANNOT_DISCARD_THIS_ITEM));
        return;
      }
    }
   
    int itemId = itemToRemove.getItemId();
   
    if (itemToRemove.isWear() || !itemToRemove.isDestroyable() || CursedWeaponsManager.getInstance().isCursed(itemId))
    {
      activeChar.sendPacket(new SystemMessage(SystemMessageId.CANNOT_DISCARD_THIS_ITEM));
      return;
    }
   
    if (!itemToRemove.isStackable() && count > 1)
    {
View Full Code Here

    L2ItemInstance gemstoneItem = (L2ItemInstance) L2World.getInstance().findObject(_gemstoneItemObjId);
   
    if (targetItem == null || refinerItem == null || gemstoneItem == null || targetItem.getOwnerId() != activeChar.getObjectId() || refinerItem.getOwnerId() != activeChar.getObjectId() || gemstoneItem.getOwnerId() != activeChar.getObjectId() || activeChar.getLevel() < 46) // must be lvl 46
    {
      activeChar.sendPacket(new ExVariationResult(0, 0, 0));
      activeChar.sendPacket(new SystemMessage(SystemMessageId.AUGMENTATION_FAILED_DUE_TO_INAPPROPRIATE_CONDITIONS));
      return;
    }
   
    // unequip item
    if (targetItem.isEquipped())
    {
      activeChar.disarmWeapons();
    }
   
    if (TryAugmentItem(activeChar, targetItem, refinerItem, gemstoneItem))
    {
      int stat12 = 0x0000FFFF & targetItem.getAugmentation().getAugmentationId();
      int stat34 = targetItem.getAugmentation().getAugmentationId() >> 16;
      activeChar.sendPacket(new ExVariationResult(stat12, stat34, 1));
      activeChar.sendPacket(new SystemMessage(SystemMessageId.THE_ITEM_WAS_SUCCESSFULLY_AUGMENTED));
    }
    else
    {
      activeChar.sendPacket(new ExVariationResult(0, 0, 0));
      activeChar.sendPacket(new SystemMessage(SystemMessageId.AUGMENTATION_FAILED_DUE_TO_INAPPROPRIATE_CONDITIONS));
    }
  }
View Full Code Here

      return false;
    }
   
    if (player.isDead())
    {
      player.sendPacket(new SystemMessage(SystemMessageId.YOU_CANNOT_AUGMENT_ITEMS_WHILE_DEAD));
      return false;
    }
   
    if (player.isSitting())
    {
      player.sendPacket(new SystemMessage(SystemMessageId.YOU_CANNOT_AUGMENT_ITEMS_WHILE_SITTING_DOWN));
      return false;
    }
   
    if (player.isFishing())
    {
      player.sendPacket(new SystemMessage(SystemMessageId.YOU_CANNOT_AUGMENT_ITEMS_WHILE_FISHING));
      return false;
    }
   
    if (player.isParalyzed())
    {
      player.sendPacket(new SystemMessage(SystemMessageId.YOU_CANNOT_AUGMENT_ITEMS_WHILE_PARALYZED));
      return false;
    }
   
    if (player.getActiveTradeList() != null)
    {
      player.sendMessage("You cannot augment while trading");
      return false;
    }
   
    if (player.getPrivateStoreType() != L2PcInstance.STORE_PRIVATE_NONE)
    {
      player.sendPacket(new SystemMessage(SystemMessageId.YOU_CANNOT_AUGMENT_ITEMS_WHILE_A_PRIVATE_STORE_OR_PRIVATE_WORKSHOP_IS_IN_OPERATION));
      return false;
    }
   
    // check for the items to be in the inventory of the owner
    if (player.getInventory().getItemByObjectId(refinerItem.getObjectId()) == null)
View Full Code Here

    // Noblesse can bestow a title to themselves
    if(activeChar.isNoble() && _target.matches(activeChar.getName()))
    {
      activeChar.setTitle(_title);
      SystemMessage sm = new SystemMessage(SystemMessageId.TITLE_CHANGED);
      activeChar.sendPacket(sm);
      activeChar.broadcastTitleInfo();
    }
    //Can the player change/give a title?
    else if((activeChar.getClanPrivileges() & L2Clan.CP_CL_GIVE_TITLE) == L2Clan.CP_CL_GIVE_TITLE)
    {
      if(activeChar.getClan().getLevel() < 3)
      {
        SystemMessage sm = new SystemMessage(SystemMessageId.CLAN_LVL_3_NEEDED_TO_ENDOWE_TITLE);
        activeChar.sendPacket(sm);
        sm = null;
        return;
      }

      L2ClanMember member1 = activeChar.getClan().getClanMember(_target);
      if(member1 != null)
      {
        L2PcInstance member = member1.getPlayerInstance();
        if(member != null)
        {
          //is target from the same clan?
          member.setTitle(_title);
          SystemMessage sm = new SystemMessage(SystemMessageId.TITLE_CHANGED);
          member.sendPacket(sm);
          member.broadcastTitleInfo();
          sm = null;
        }
        else
        {
          SystemMessage sm = new SystemMessage(SystemMessageId.S1_S2);
          sm.addString("Target needs to be online to get a title");
          activeChar.sendPacket(sm);
          sm = null;
        }
      }
      else
      {
        SystemMessage sm = new SystemMessage(SystemMessageId.S1_S2);
        sm.addString("Target does not belong to your clan");
        activeChar.sendPacket(sm);
        sm = null;
      }
    }
  }
View Full Code Here

    {
      ClanTable.getInstance().storeclanswars(requestor.getClanId(), activeChar.getClanId());
    }
    else
    {
      requestor.sendPacket(new SystemMessage(SystemMessageId.WAR_PROCLAMATION_HAS_BEEN_REFUSED));
    }

    activeChar.setActiveRequester(null);
    requestor.onTransactionResponse();
  }
View Full Code Here

   
    L2ItemInstance item = activeChar.getInventory().getItemByObjectId(_objectId);
   
    if(item == null || _count == 0 || !activeChar.validateItemManipulation(_objectId, "drop") || !Config.ALLOW_DISCARDITEM && !activeChar.isGM() || (!item.isDropable() && !(activeChar.isGM() && Config.GM_TRADE_RESTRICTED_ITEMS)))
    {
      activeChar.sendPacket(new SystemMessage(SystemMessageId.CANNOT_DISCARD_THIS_ITEM));
      return;
    }
   
    if (item.isAugmented())
    {
      activeChar.sendPacket(new SystemMessage(SystemMessageId.AUGMENTED_ITEM_CANNOT_BE_DISCARDED));
      return;
    }
   

    if(item.getItemType() == L2EtcItemType.QUEST && !(activeChar.isGM() && Config.GM_TRADE_RESTRICTED_ITEMS))
      return;

    int itemId = item.getItemId();

    // Cursed Weapons cannot be dropped
    if(CursedWeaponsManager.getInstance().isCursed(itemId))
      return;

    if(_count > item.getCount())
    {
      activeChar.sendPacket(new SystemMessage(SystemMessageId.CANNOT_DISCARD_THIS_ITEM));
      return;
    }

    if(Config.PLAYER_SPAWN_PROTECTION > 0 && activeChar.isInvul() && !activeChar.isGM())
    {
      activeChar.sendPacket(new SystemMessage(SystemMessageId.CANNOT_DISCARD_THIS_ITEM));
      return;
    }

    if(_count <= 0)
    {
      activeChar.setAccessLevel(-1); //ban
      Util.handleIllegalPlayerAction(activeChar, "[RequestDropItem] count <= 0! ban! oid: " + _objectId + " owner: " + activeChar.getName(), IllegalPlayerAction.PUNISH_KICK);
      return;
    }

    if(!item.isStackable() && _count > 1)
    {
      Util.handleIllegalPlayerAction(activeChar, "[RequestDropItem] count > 1 but item is not stackable! ban! oid: " + _objectId + " owner: " + activeChar.getName(), IllegalPlayerAction.PUNISH_KICK);
      return;
    }

    if(!activeChar.getAccessLevel().allowTransaction())
    {
      activeChar.sendMessage("Unsufficient privileges.");
      activeChar.sendPacket(ActionFailed.STATIC_PACKET);
      return;
    }

    if(activeChar.isProcessingTransaction() || activeChar.getPrivateStoreType() != 0)
    {
      activeChar.sendPacket(new SystemMessage(SystemMessageId.CANNOT_TRADE_DISCARD_DROP_ITEM_WHILE_IN_SHOPMODE));
      return;
    }

    if(activeChar.isFishing())
    {
      //You can't mount, dismount, break and drop items while fishing
      activeChar.sendPacket(new SystemMessage(SystemMessageId.CANNOT_DO_WHILE_FISHING_2));
      return;
    }

    // Cannot discard item that the skill is consumming
    if(activeChar.isCastingNow())
    {
      if(activeChar.getCurrentSkill() != null && activeChar.getCurrentSkill().getSkill().getItemConsumeId() == item.getItemId())
      {
        activeChar.sendPacket(new SystemMessage(SystemMessageId.CANNOT_DISCARD_THIS_ITEM));
        return;
      }
    }

    if(L2Item.TYPE2_QUEST == item.getItem().getType2() && !activeChar.isGM())
    {
      if(Config.DEBUG)
      {
        _log.finest(activeChar.getObjectId() + ":player tried to drop quest item");
      }
      activeChar.sendPacket(new SystemMessage(SystemMessageId.CANNOT_DISCARD_EXCHANGE_ITEM));
      return;
    }

    if(!activeChar.isInsideRadius(_x, _y, 150, false) || Math.abs(_z - activeChar.getZ()) > 50)
    {
      if(Config.DEBUG)
      {
        _log.finest(activeChar.getObjectId() + ": trying to drop too far away");
      }
      activeChar.sendPacket(new SystemMessage(SystemMessageId.CANNOT_DISCARD_DISTANCE_TOO_FAR));
      return;
    }

    if(Config.DEBUG)
    {
View Full Code Here

        newCc = true;
        }
                 
        requestor.getParty().getCommandChannel().addParty(player.getParty());
        if (!newCc)
        player.sendPacket(new SystemMessage(SystemMessageId.JOINED_COMMAND_CHANNEL));
        }
        else
        requestor.sendPacket(new SystemMessage(SystemMessageId.S1_DECLINED_CHANNEL_INVITATION).addString(player.getName()));
    
     player.setActiveRequester(null);
     requestor.onTransactionResponse();
  }
View Full Code Here

      }

      if(count > Integer.MAX_VALUE)
      {
        Util.handleIllegalPlayerAction(player, "Warning!! Character " + player.getName() + " of account " + player.getAccountName() + " tried to purchase over " + Integer.MAX_VALUE + " items at the same time.", Config.DEFAULT_PUNISH);
        SystemMessage sm = new SystemMessage(SystemMessageId.YOU_HAVE_EXCEEDED_QUANTITY_THAT_CAN_BE_INPUTTED);
        sendPacket(sm);
        return;
      }

      try
      {
        CropProcure crop = CastleManager.getInstance().getCastleById(manorId).getCrop(itemId, CastleManorManager.PERIOD_CURRENT);
        int rewardItemId = L2Manor.getInstance().getRewardItem(itemId, crop.getReward());
        L2Item template = ItemTable.getInstance().getTemplate(rewardItemId);
        weight += count * template.getWeight();

        if(!template.isStackable())
        {
          slots += count;
        }
        else if(player.getInventory().getItemByItemId(itemId) == null)
        {
          slots++;
        }
      }
      catch(NullPointerException e)
      {
        if(Config.ENABLE_ALL_EXCEPTIONS)
          e.printStackTrace();
       
        continue;
      }
    }

    if(!player.getInventory().validateWeight(weight))
    {
      sendPacket(new SystemMessage(SystemMessageId.WEIGHT_LIMIT_EXCEEDED));
      return;
    }

    if(!player.getInventory().validateCapacity(slots))
    {
      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);
      sm.addNumber(count);
      player.sendPacket(sm);

      if(fee > 0)
      {
        sm = new SystemMessage(SystemMessageId.S1_ADENA_HAS_BEEN_WITHDRAWN_TO_PAY_FOR_PURCHASING_FEES);
        sm.addNumber(fee);
        player.sendPacket(sm);
      }

      sm = new SystemMessage(SystemMessageId.DISSAPEARED_ITEM);
      sm.addItemName(cropId);
      sm.addNumber(count);
      player.sendPacket(sm);

      if(fee > 0)
      {
        sm = new SystemMessage(SystemMessageId.DISSAPEARED_ADENA);
        sm.addNumber(fee);
        player.sendPacket(sm);
      }

      sm = new SystemMessage(SystemMessageId.EARNED_S2_S1_S);
      sm.addItemName(rewardItem);
      sm.addNumber(rewardItemCount);
      player.sendPacket(sm);
    }

    // Send update packets
    player.sendPacket(playerIU);
View Full Code Here

    else
    {
      if(warehouse instanceof ClanWarehouse && !player.isClanLeader())
      {
        // this msg is for depositing but maybe good to send some msg?
        player.sendPacket(new SystemMessage(SystemMessageId.ONLY_CLAN_LEADER_CAN_RETRIEVE_ITEMS_FROM_CLAN_WAREHOUSE));
        return;
      }
    }

    int weight = 0;
    int slots = 0;

    for(int i = 0; i < _count; i++)
    {
      int objectId = _items[i * 2 + 0];
      int count = _items[i * 2 + 1];

      // Calculate needed slots
      L2ItemInstance item = warehouse.getItemByObjectId(objectId);
      if(item == null)
      {
        continue;
      }
      weight += count * item.getItem().getWeight();
      if(!item.isStackable())
      {
        slots += count;
      }
      else if(player.getInventory().getItemByItemId(item.getItemId()) == null)
      {
        slots++;
      }
    }

    // Item Max Limit Check
    if(!player.getInventory().validateCapacity(slots))
    {
      sendPacket(new SystemMessage(SystemMessageId.SLOTS_FULL));
      return;
    }

    // Like L2OFF enchant window must close
    if(player.getActiveEnchantItem() != null)
    {
      sendPacket(new SystemMessage(SystemMessageId.ENCHANT_SCROLL_CANCELLED));
      player.sendPacket(new EnchantResult(0));
      player.sendPacket(ActionFailed.STATIC_PACKET);
      return;
    }

    // Weight limit Check
    if(!player.getInventory().validateWeight(weight))
    {
      sendPacket(new SystemMessage(SystemMessageId.WEIGHT_LIMIT_EXCEEDED));
      return;
    }

    // Proceed to the transfer
    InventoryUpdate playerIU = Config.FORCE_INVENTORY_UPDATE ? null : new InventoryUpdate();
View Full Code Here

TOP

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

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.