public static void SendItemToTradePushedResponse(IRealmClient client, Asda2PushItemToTradeStatus status, Asda2ItemTradeRef item = null) { using (var packet = new RealmPacketOut(RealmServerOpCode.ItemToTradePushed)) //5289 { packet.WriteByte((byte)status); //{status}default value : 1 Len : 1 packet.WriteByte((byte)(item == null || item.Item == null ? 0 : item.Item.InventoryType)); //{inv}default value : 2 Len : 1 packet.WriteInt16(item == null || item.Item == null ? 0 : item.Item.Slot); //{cell}default value : 2 Len : 2 packet.WriteInt32(item == null || item.Item == null ? 0 : item.Amount); //{quanity}default value : 5 Len : 4 client.Send(packet, addEnd: false); } }
public static void SendItemToTradePushedResponse(IRealmClient client, Asda2PushItemToTradeStatus status, Asda2ItemTradeRef item = null) { using (RealmPacketOut packet = new RealmPacketOut(RealmServerOpCode.ItemToTradePushed)) { packet.WriteByte((byte)status); packet.WriteByte(item == null || item.Item == null ? (byte)0 : (byte)item.Item.InventoryType); packet.WriteInt16(item == null || item.Item == null ? 0 : item.Item.Slot); packet.WriteInt32(item == null || item.Item == null ? 0 : item.Amount); client.Send(packet, false); } }
public static void PushItemToTradeRequest(IRealmClient client, RealmPacketIn packet) { packet.Position += 5; byte invNum = packet.ReadByte(); short cellNum = packet.ReadInt16(); int quantity = packet.ReadInt32(); if (client.ActiveCharacter.Asda2TradeWindow == null) { client.ActiveCharacter.YouAreFuckingCheater("Trying to push items to trade while not trading", 0); } else { Asda2ItemTradeRef asda2ItemTradeRef = null; Asda2PushItemToTradeStatus trade = client.ActiveCharacter.Asda2TradeWindow.PushItemToTrade(client.ActiveCharacter, cellNum, quantity, invNum, ref asda2ItemTradeRef); SendItemToTradePushedResponse(client, trade, asda2ItemTradeRef); } }