Code:
//packet length = 96
PacketBuilder.AppendHeader(ptr, buffer.Length, 1009);
*((uint*) (ptr + 4)) = player.uid;
*((uint*) (ptr + 8)) = 0;
*((ItemAction*) (ptr + 12)) = 46;
*((uint*) (ptr + 16)) = (uint)Environment.TickCount;
*((uint*)(ptr + 20)) = 0;
*((byte*)(ptr + 20)) = 0;
*((uint*)(ptr + 24)) = 0;
*((uint*)(ptr + 32)) = packet.Gear1;
*((uint*)(ptr + 36)) = packet.Gear2;
*((uint*)(ptr + 40)) = packet.Gear3;
*((uint*)(ptr + 44)) = packet.Gear4;
*((uint*)(ptr + 48)) = packet.Gear5;
*((uint*)(ptr + 52)) = packet.Gear6;
*((uint*)(ptr + 56)) = packet.Gear7;
*((uint*)(ptr + 60)) = packet.Gear8;
*((uint*)(ptr + 64)) = packet.Gear9;
*((uint*)(ptr + 68)) = packet.Gear15;
*((uint*)(ptr + 72)) = packet.Gear16;
*((uint*)(ptr + 76)) = packet.Gear17;
*((uint*)(ptr + 80)) = packet.Gear18;
*((uint*)(ptr + 84)) = packet.Gear19;
& don't forget, send iteminfo packet [1008] for each item. before send this.
, i hope it work