Показать сообщение отдельно
Непрочитано 23.05.2011, 18:54   #71
Аватар для Bacek

По умолчанию Re: Работа над Godess of Destruction (part 2)

Долгожданная покупка/продажа/возврат

BuyList

PHP код:
    protected final void writeImpl()
    {
        
writeC(0xFE);
        
writeH(0xB7);
        
writeD(0x00);
        
writeQ(_money);        // current money
        
writeD(_listId);
        
writeD(0x00); // 0 = 250 количество слотов
        
        
writeH(_list.size());
        
        for (
L2TradeItem item _list)
        {
            if (
item.getCurrentCount() > || !item.hasLimitedStock())
            {
                
writeD(item.getItemId());
                
writeD(item.getItemId());
                
writeD(0);
                
writeQ(item.getCurrentCount() < item.getCurrentCount());
                
writeH(item.getTemplate().getType2());
                
writeH(item.getTemplate().getType1());    // Custom Type 1
                
writeH(0x00);    // isEquipped
                
writeD(item.getTemplate().getBodyPart());    // Body Part
                
writeH(0x00);    // Enchant
                
writeH(0x00);    // Custom Type
                
writeD(0x00);    // Augment
                
writeD(-1);        // Mana
                
writeD(-9999);    // Time
                
writeH(1);         // при 0 итем красный
                
writeH(0x00);    // Element Type
                
writeH(0x00);    // Element Power
                
for (byte i 06i++)
                {
                    
writeH(0x00);
                }
                
// Enchant Effects
                
writeH(0x00);
                
writeH(0x00);
                
writeH(0x00);
                
                if (
item.getItemId() >= 3960 && item.getItemId() <= 4026)// Config.RATE_SIEGE_GUARDS_PRICE-//'
                    
writeQ((long) (item.getPrice() * Config.RATE_SIEGE_GUARDS_PRICE * (_taxRate)));
                else
                    
writeQ((long) (item.getPrice() * (_taxRate)));
            }
        }
    } 

ExBuySellListPacket

PHP код:

    
protected final void writeImpl()
    {
        
writeC(0xFE);
        
writeH(0xB7);
        
writeD(0x01);
        
writeD(0x00); // 0 = 250 количество слотов
        
        
if (_sellList != null && _sellList.length 0)
        {
            
writeH(_sellList.length);
            for (
L2ItemInstance item _sellList)
            {
                
writeD(item.getObjectId());
                
writeD(item.getItemId());
                
writeD(item.getLocationSlot());
                
writeQ(item.getCount());
                
writeH(item.getItem().getType2());
                
writeH(item.getCustomType1());
                
writeH(0x00);
                
writeD(item.getItem().getBodyPart());
                
writeH(item.getEnchantLevel());
                
writeH(item.getCustomType2());
                
// Augment, Mana, Time - hardcode for now
                
writeD(0x00);
                
writeD(-1);
                
writeD(-9999);
                
writeH(1); // при 0 итем красный
                
writeH(item.getAttackElementType());
                
writeH(item.getAttackElementPower());
                for (
byte i 06i++)
                {
                    
writeH(item.getElementDefAttr(i));
                }
                
// Enchant Effects
                
writeH(0x00);
                
writeH(0x00);
                
writeH(0x00);
                
                
writeQ(item.getItem().getReferencePrice() / 2);
            }
        }
        else
            
writeH(0x00);
        
        if (
_refundList != null && _refundList.length 0)
        {
            
writeH(_refundList.length);
            
int idx 0;
            for (
L2ItemInstance item _refundList)
            {
                
writeD(item.getObjectId());
                
writeD(item.getItemId());
                
writeD(0x00);
                
writeQ(item.getCount());
                
writeH(item.getItem().getType2());
                
writeH(item.getCustomType1());
                
writeH(0x00);
                
writeD(item.getItem().getBodyPart());
                
writeH(item.getEnchantLevel());
                
writeH(item.getCustomType2());
                
// Augment, Mana, Time - hardcode for now
                
writeD(0x00);
                
writeD(-1);
                
writeD(-9999);
                
writeH(1);
                
writeH(item.getAttackElementType());
                
writeH(item.getAttackElementPower());
                for (
byte i 06i++)
                {
                    
writeH(item.getElementDefAttr(i));
                }
                
// Enchant Effects
                
writeH(0x00);
                
writeH(0x00);
                
writeH(0x00);
                
writeD(idx++);
                
writeQ(item.getItem().getReferencePrice() / item.getCount());
            }
        }
        else
            
writeH(0x00);
        
        
writeC(_done 0x01 0x00);
        
        
_buyList.clear();
    } 







Добавлено через 34 минуты
WareHouseDepositList ( положить на склад )
Код:
	protected final void writeImpl()
	{
		writeC(0x41);
		/* 0x01-Private Warehouse
		 * 0x02-Clan Warehouse
		 * 0x03-Castle Warehouse
		 * 0x04-Warehouse */
		writeH(_whType);
		writeQ(_playerAdena);
		writeD(0x00); // 0 = 100 количество слотов
		final int count = _items.size();
		if (Config.DEBUG)
			_log.fine("count:" + count);
		writeH(count);
		
		for (L2ItemInstance item : _items)
		{
			writeD(item.getObjectId());
			writeD(item.getItemId());
			writeD(item.getLocationSlot());
			writeQ(item.getCount());
			writeH(item.getItem().getType2());
			writeH(item.getCustomType1());
			writeH(item.isEquipped() ? 0x01 : 0x00);
			writeD(item.getItem().getBodyPart());
			writeH(item.getEnchantLevel());
			writeH(item.getCustomType2());
			if (item.isAugmented())
				writeD(item.getAugmentation().getAugmentationId());
			else
				writeD(0x00);
			writeD(item.getMana());
			writeD(item.isTimeLimitedItem() ? (int) (item.getRemainingTime() / 1000) : -9999);
			writeH(1); // при 0 итем красный(заблокирован)
			writeH(item.getAttackElementType());
			writeH(item.getAttackElementPower());
			for (byte i = 0; i < 6; i++)
			{
				writeH(item.getElementDefAttr(i));
			}
			// Enchant Effects
			writeH(0x00);
			writeH(0x00);
			writeH(0x00);
			writeD(item.getObjectId());
		}
		_items.clear();
	}
__________________
Человек просто обязан ошибаться, раз другие учатся на его ошибках .......

Последний раз редактировалось Bacek; 23.05.2011 в 19:28. Причина: Добавлено сообщение
Bacek вне форума Отправить сообщение для Bacek с помощью ICQ
Сказали спасибо: