Выдача итема у менеджера витамин

  • Автор темы Автор темы Gigi
  • Дата начала Дата начала

Gigi

Прославленный
Проверенный
Сообщения
323
Розыгрыши
0
Решения
2
Репутация
163
Реакции
94
Баллы
1 403
Хроники
  1. Shadow of the Kamael
Исходники
Присутствуют
Сборка
MasterClass ch3
В таблицу character_premium_items сделал новую запись итема. Иконка что предмет есть, в игре появилась, но при выдаче предмета с витаминки пишет такое:

Все методы в итоге ведут сюда - RequestWithDrawPremiumItem.java
Java:
package org.l2jmobius.gameserver.network.clientpackets;

import org.l2jmobius.Config;
import org.l2jmobius.commons.network.ReadablePacket;
import org.l2jmobius.gameserver.model.PremiumItem;
import org.l2jmobius.gameserver.model.actor.Player;
import org.l2jmobius.gameserver.network.GameClient;
import org.l2jmobius.gameserver.network.SystemMessageId;
import org.l2jmobius.gameserver.network.serverpackets.ExGetPremiumItemList;
import org.l2jmobius.gameserver.util.Util;

/**
 * @author Gnacik
 */
public class RequestWithDrawPremiumItem implements ClientPacket
{
    private int _itemNum;
    private int _charId;
    private long _itemCount;
    
    @Override
    public void read(ReadablePacket packet)
    {
        _itemNum = packet.readInt();
        _charId = packet.readInt();
        _itemCount = packet.readLong();
    }
    
    @Override
    public void run(GameClient client)
    {
        final Player player = client.getPlayer();
        if (player == null)
        {
            return;
        }
        else if (_itemCount <= 0)
        {
            return;
        }
        else if (player.getObjectId() != _charId)
        {
            Util.handleIllegalPlayerAction(player, "[RequestWithDrawPremiumItem] Incorrect owner, Player: " + player.getName(), Config.DEFAULT_PUNISH);
            return;
        }
        else if (player.getPremiumItemList().isEmpty())
        {
            Util.handleIllegalPlayerAction(player, "[RequestWithDrawPremiumItem] Player: " + player.getName() + " try to get item with empty list!", Config.DEFAULT_PUNISH);
            return;
        }
        else if ((player.getWeightPenalty() >= 3) || !player.isInventoryUnder90(false))
        {
            player.sendPacket(SystemMessageId.YOU_CANNOT_RECEIVE_THE_DIMENSIONAL_ITEM_BECAUSE_YOU_HAVE_EXCEED_YOUR_INVENTORY_WEIGHT_QUANTITY_LIMIT);
            return;
        }
        else if (player.isProcessingTransaction())
        {
            player.sendPacket(SystemMessageId.ITEMS_FROM_GAME_ASSISTANTS_CANNOT_BE_EXCHANGED);
            return;
        }
        
        final PremiumItem item = player.getPremiumItemList().get(_itemNum);
        if (item == null)
        {
            return;
        }
        else if (item.getCount() < _itemCount)
        {
            return;
        }
        
        final long itemsLeft = (item.getCount() - _itemCount);
        player.addItem("PremiumItem", item.getItemId(), _itemCount, player.getTarget(), true);
        if (itemsLeft > 0)
        {
            item.updateCount(itemsLeft);
            player.updatePremiumItem(_itemNum, itemsLeft);
        }
        else
        {
            player.getPremiumItemList().remove(_itemNum);
            player.deletePremiumItem(_itemNum);
        }
        
        if (player.getPremiumItemList().isEmpty())
        {
            player.sendPacket(SystemMessageId.THERE_ARE_NO_MORE_DIMENSIONAL_ITEMS_TO_BE_FOUND);
        }
        else
        {
            player.sendPacket(new ExGetPremiumItemList(player));
        }
    }
}

Все провеки где Config.DEFAULT_PUNISH - что выдеёт этот месидж верные, и остальные проверки тоже, кароче не смог найти проверку которая запрещает выдачу предмета.

Может кто сталкивался с этой проблемой, какую сторону копать подскажет?

За ранее спасибо.
 
Подскажи какой файл колупать?
 
Данный сайт использует cookie. Вы должны принять их для продолжения использования. Узнать больше…