L2JMobius

Ertheia Exchange bug with no item or icons

fengshui · 3 · 6557

Offline fengshui

  • Heir
  • **
    • Posts: 32
it's weird there's no errors or warnings in logs.
Ertheia branch free. Game client and system patch from readme

*** I got the message with "Your trade was successful" other player is getting my items from exchange but when we do the trade both of us can see nothing in exchange window.












Online Mobius

  • Distinguished King
  • *****
    • Posts: 16149
Try this.
Code: [Select]
Index: java/org/l2jmobius/gameserver/network/serverpackets/AbstractItemPacket.java
===================================================================
--- java/org/l2jmobius/gameserver/network/serverpackets/AbstractItemPacket.java (revision 7463)
+++ java/org/l2jmobius/gameserver/network/serverpackets/AbstractItemPacket.java (working copy)
@@ -62,6 +62,21 @@
  writeItem(packet, new ItemInfo(item));
  }
 
+ protected void writeTradeItem(PacketWriter packet, TradeItem item)
+ {
+ packet.writeH(item.getItem().getType1());
+ packet.writeD(item.getObjectId()); // ObjectId
+ packet.writeD(item.getItem().getDisplayId()); // ItemId
+ packet.writeQ(item.getCount()); // Quantity
+ packet.writeC(item.getItem().getType2()); // Item Type 2 : 00-weapon, 01-shield/armor, 02-ring/earring/necklace, 03-questitem, 04-adena, 05-item
+ packet.writeC(item.getCustomType1()); // Filler (always 0)
+ packet.writeQ(item.getItem().getBodyPart()); // Slot : 0006-lr.ear, 0008-neck, 0030-lr.finger, 0040-head, 0100-l.hand, 0200-gloves, 0400-chest, 0800-pants, 1000-feet, 4000-r.hand, 8000-r.hand
+ packet.writeH(item.getEnchant()); // Enchant level (pet level shown in control item)
+ packet.writeH(0x00); // Equipped : 00-No, 01-yes
+ packet.writeH(item.getCustomType2());
+ writeItemElementalAndEnchant(packet, new ItemInfo(item));
+ }
+
  protected void writeItem(PacketWriter packet, ItemInfo item)
  {
  final int mask = calculateMask(item);
Index: java/org/l2jmobius/gameserver/network/serverpackets/TradeOtherAdd.java
===================================================================
--- java/org/l2jmobius/gameserver/network/serverpackets/TradeOtherAdd.java (revision 7463)
+++ java/org/l2jmobius/gameserver/network/serverpackets/TradeOtherAdd.java (working copy)
@@ -37,7 +37,7 @@
  {
  OutgoingPackets.TRADE_OTHER_ADD.writeId(packet);
  packet.writeH(1); // item count
- writeItem(packet, _item);
+ writeTradeItem(packet, _item);
  return true;
  }
 }
Index: java/org/l2jmobius/gameserver/network/serverpackets/TradeOwnAdd.java
===================================================================
--- java/org/l2jmobius/gameserver/network/serverpackets/TradeOwnAdd.java (revision 7463)
+++ java/org/l2jmobius/gameserver/network/serverpackets/TradeOwnAdd.java (working copy)
@@ -37,7 +37,7 @@
  {
  OutgoingPackets.TRADE_OWN_ADD.writeId(packet);
  packet.writeH(1); // items added count
- writeItem(packet, _item);
+ writeTradeItem(packet, _item);
  return true;
  }
 }
Index: java/org/l2jmobius/gameserver/network/serverpackets/TradeUpdate.java
===================================================================
--- java/org/l2jmobius/gameserver/network/serverpackets/TradeUpdate.java (revision 7463)
+++ java/org/l2jmobius/gameserver/network/serverpackets/TradeUpdate.java (working copy)
@@ -42,7 +42,7 @@
 
  packet.writeH(1);
  packet.writeH((_newCount > 0) && _item.getItem().isStackable() ? 3 : 2);
- writeItem(packet, _item);
+ writeTradeItem(packet, _item);
  return true;
  }
 }