Package net.sf.l2j.gameserver.model

Examples of net.sf.l2j.gameserver.model.TradeList


    if (object == null || !(object instanceof L2PcInstance)) return;

    L2PcInstance storePlayer = (L2PcInstance)object;
    if (!(storePlayer.getPrivateStoreType() == L2PcInstance.STORE_PRIVATE_SELL || storePlayer.getPrivateStoreType() == L2PcInstance.STORE_PRIVATE_PACKAGE_SELL)) return;

    TradeList storeList = storePlayer.getSellList();
    if (storeList == null) return;

        if (Config.GM_DISABLE_TRANSACTION && player.getAccessLevel() >= Config.GM_TRANSACTION_MIN && player.getAccessLevel() <= Config.GM_TRANSACTION_MAX)
        {
          player.sendMessage("Transactions are disable for your Access Level");
            sendPacket(new ActionFailed());
            return;
        }

        // FIXME: this check should be (and most probabliy is) done in the TradeList mechanics
    long priceTotal = 0;
        for(ItemRequest ir : _items)
        {
      if (ir.getCount() > Integer.MAX_VALUE || ir.getCount() < 0)
      {
              String msgErr = "[RequestPrivateStoreBuy] player "+getClient().getActiveChar().getName()+" tried an overflow exploit, ban this player!";
              Util.handleIllegalPlayerAction(getClient().getActiveChar(),msgErr,Config.DEFAULT_PUNISH);
          return;
      }
      TradeItem sellersItem = storeList.getItem(ir.getObjectId());
      if(sellersItem == null)
      {
              String msgErr = "[RequestPrivateStoreBuy] player "+getClient().getActiveChar().getName()+" tried to buy an item not sold in a private store (buy), ban this player!";
              Util.handleIllegalPlayerAction(getClient().getActiveChar(),msgErr,Config.DEFAULT_PUNISH);
          return;
      }
      if(ir.getPrice() != sellersItem.getPrice())
      {
              String msgErr = "[RequestPrivateStoreBuy] player "+getClient().getActiveChar().getName()+" tried to change the seller's price in a private store (buy), ban this player!";
              Util.handleIllegalPlayerAction(getClient().getActiveChar(),msgErr,Config.DEFAULT_PUNISH);
          return;
      }
      priceTotal += ir.getPrice() * ir.getCount();
        }

        // FIXME: this check should be (and most probabliy is) done in the TradeList mechanics
    if(priceTotal < 0 || priceTotal > Integer.MAX_VALUE)
        {
            String msgErr = "[RequestPrivateStoreBuy] player "+getClient().getActiveChar().getName()+" tried an overflow exploit, ban this player!";
            Util.handleIllegalPlayerAction(getClient().getActiveChar(),msgErr,Config.DEFAULT_PUNISH);
            return;
        }

        if (player.getAdena() < priceTotal)
    {
      sendPacket(new SystemMessage(SystemMessageId.YOU_NOT_ENOUGH_ADENA));
      sendPacket(new ActionFailed());
      return;
    }

        if (storePlayer.getPrivateStoreType() == L2PcInstance.STORE_PRIVATE_PACKAGE_SELL)
        {
          if (storeList.getItemCount() > _count)
          {
            String msgErr = "[RequestPrivateStoreBuy] player "+getClient().getActiveChar().getName()+" tried to buy less items then sold by package-sell, ban this player for bot-usage!";
            Util.handleIllegalPlayerAction(getClient().getActiveChar(),msgErr,Config.DEFAULT_PUNISH);
            return;
          }
        }

        if (!storeList.PrivateStoreBuy(player, _items, (int) priceTotal))
        {
            sendPacket(new ActionFailed());
            _log.warning("PrivateStore buy has failed due to invalid list or request. Player: " + player.getName() + ", Private store of: " + storePlayer.getName());
            return;
        }

    if (storeList.getItemCount() == 0)
    {
      storePlayer.setPrivateStoreType(L2PcInstance.STORE_PRIVATE_NONE);
      storePlayer.broadcastUserInfo();
    }

View Full Code Here


    if (player == null) return;
    L2Object object = L2World.getInstance().findObject(_storePlayerId);
    if (object == null || !(object instanceof L2PcInstance)) return;
    L2PcInstance storePlayer = (L2PcInstance)object;
    if (storePlayer.getPrivateStoreType() != L2PcInstance.STORE_PRIVATE_BUY) return;
    TradeList storeList = storePlayer.getBuyList();
    if (storeList == null) return;

        if (Config.GM_DISABLE_TRANSACTION && player.getAccessLevel() >= Config.GM_TRANSACTION_MIN && player.getAccessLevel() <= Config.GM_TRANSACTION_MAX)
        {
          player.sendMessage("Transactions are disable for your Access Level");
            sendPacket(new ActionFailed());
            return;
        }

        if (storePlayer.getAdena() < _price)
    {
      sendPacket(new ActionFailed());
          storePlayer.sendMessage("You have not enough adena, canceling PrivateBuy.");
      storePlayer.setPrivateStoreType(L2PcInstance.STORE_PRIVATE_NONE);
      storePlayer.broadcastUserInfo();
      return;
    }

        if (!storeList.PrivateStoreSell(player, _items, _price))
        {
            sendPacket(new ActionFailed());
            _log.warning("PrivateStore sell has failed due to invalid list or request. Player: " + player.getName() + ", Private store of: " + storePlayer.getName());
            return;
        }

        if (storeList.getItemCount() == 0)
    {
      storePlayer.setPrivateStoreType(L2PcInstance.STORE_PRIVATE_NONE);
      storePlayer.broadcastUserInfo();
    }
  }
View Full Code Here

  @Override
  protected void runImpl()
  {
        L2PcInstance player = getClient().getActiveChar();
        if (player == null) return;
        TradeList trade = player.getActiveTradeList();
        if (trade == null)
          {
            _log.warning("player.getTradeList == null in "+getType()+" for player "+player.getName());
          return;
          }
        if (trade.isLocked()) return;

    if (_response == 1)
    {
          if (trade.getPartner() == null || L2World.getInstance().findObject(trade.getPartner().getObjectId()) == null)
          {
              // Trade partner not found, cancel trade
              player.cancelActiveTrade();
              SystemMessage msg = new SystemMessage(SystemMessageId.TARGET_IS_NOT_FOUND_IN_THE_GAME);
              player.sendPacket(msg);
              msg = null;
              return;
          }

          if (Config.GM_DISABLE_TRANSACTION && player.getAccessLevel() >= Config.GM_TRANSACTION_MIN
              && player.getAccessLevel() <= Config.GM_TRANSACTION_MAX)
          {
              player.cancelActiveTrade();
              player.sendMessage("Transactions are disable for your Access Level");
              return;
          }
          trade.confirm();
    }
    else player.cancelActiveTrade();
  }
View Full Code Here

  protected void runImpl()
    {
        L2PcInstance player = getClient().getActiveChar();
        if (player == null) return;

        TradeList trade = player.getActiveTradeList();
        if (trade == null)
          {
            _log.warning("Character: " + player.getName() + " requested item:" + _objectId + " add without active tradelist:" + _tradeId);
          return;
          }

        if (trade.getPartner() == null || L2World.getInstance().findObject(trade.getPartner().getObjectId()) == null)
        {
            // Trade partner not found, cancel trade
            if (trade.getPartner() != null)
              _log.warning("Character:" + player.getName() + " requested invalid trade object: " + _objectId);
            SystemMessage msg = new SystemMessage(SystemMessageId.TARGET_IS_NOT_FOUND_IN_THE_GAME);
            player.sendPacket(msg);
            player.cancelActiveTrade();
            return;
        }

        if (Config.GM_DISABLE_TRANSACTION && player.getAccessLevel() >= Config.GM_TRANSACTION_MIN
            && player.getAccessLevel() <= Config.GM_TRANSACTION_MAX)
        {
            player.sendMessage("Transactions are disable for your Access Level");
            player.cancelActiveTrade();
            return;
        }

        if (!player.validateItemManipulation(_objectId, "trade"))
    {
      player.sendPacket(new SystemMessage(SystemMessageId.NOTHING_HAPPENED));
      return;
    }

        TradeList.TradeItem item = trade.addItem(_objectId, _count);
        if (item != null)
        {
        player.sendPacket(new TradeOwnAdd(item));
        trade.getPartner().sendPacket(new TradeOtherAdd(item));
        }
    }
View Full Code Here

                      for(L2PcInstance player : L2World.getInstance().getAllPlayers())
                      {
                        if(player.getPrivateStoreType() == 0)
                          continue;

                        TradeList list = null;
                        String content = "";

                        if(player.getPrivateStoreType() == 1) // sell
                        {
                          list = player.getSellList();
                          for(TradeItem item : list.getItems())
                          {
                            content += item.getItem().getItemId()+":"+item.getEnchant()+":"+item.getPrice()+":";
                          }
                          content = player.getName()+";"+"sell;"+player.getX()+";"+player.getY()+";"+content;
                          _print.println(content);
                          continue;
                        }
                        else if(player.getPrivateStoreType() == 3) // buy
                        {
                          list = player.getBuyList();
                          for(TradeItem item : list.getItems())
                          {
                            content += item.getItem().getItemId()+":"+item.getEnchant()+":"+item.getPrice()+":";
                          }
                          content = player.getName()+";"+"buy;"+player.getX()+";"+player.getY()+";"+content;
                          _print.println(content);
View Full Code Here

        {
            player.sendMessage("Transactions are disable for your Access Level");
            return;
        }

        TradeList tradeList = player.getSellList();
        tradeList.clear();
        tradeList.setPackaged(_packageSale);

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

            tradeList.addItem(objectId, count, price);
        }

        if (_count <= 0)
        {
            player.setPrivateStoreType(L2PcInstance.STORE_PRIVATE_NONE);
View Full Code Here

        {
            player.sendMessage("Transactions are disable for your Access Level");
            return;
        }

        TradeList tradeList = player.getBuyList();
        tradeList.clear();

        int cost = 0;
        for (int i = 0; i < _count; i++)
        {
            int itemId = _items[i * 3 + 0];
            int count    = _items[i * 3 + 1];
            int price    = _items[i * 3 + 2];

            tradeList.addItemByItemId(itemId, count, price);
            cost += count * price;
        }

        if (_count <= 0)
        {
View Full Code Here

   * On trade start.
   * @param partner the partner
   */
  public void onTradeStart(L2PcInstance partner)
  {
    _activeTradeList = new TradeList(this);
    _activeTradeList.setPartner(partner);
   
    SystemMessage msg = new SystemMessage(SystemMessageId.BEGIN_TRADE_WITH_S1);
    msg.addString(partner.getName());
    sendPacket(msg);
View Full Code Here

   */
  public TradeList getSellList()
  {
    if (_sellList == null)
    {
      _sellList = new TradeList(this);
    }
    return _sellList;
  }
View Full Code Here

   */
  public TradeList getBuyList()
  {
    if (_buyList == null)
    {
      _buyList = new TradeList(this);
    }
    return _buyList;
  }
View Full Code Here

TOP

Related Classes of net.sf.l2j.gameserver.model.TradeList

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.