/// <summary>
        /// Sets cursor to normal and sends target cancel packet to server.
        /// Has the same effect as pressing Esc.
        /// </summary>
        /// <param name="client">Target client.</param>
        public static void CancelTargetCursor(int client)
        {
            ClientInfo ci;

            if (ClientInfoCollection.GetClient(client, out ci))
            {
                Memory.Write(ci.Handle, ci.CursorAddress, dwordZero, true);
                MacroEx.SendPacketToServer(client, myCancelTargetPacket);
            }
        }
        /// <summary>
        /// Send item properties request for multiple serials.
        /// </summary>
        /// <param name="client">Target client.</param>
        /// <param name="serials">int array of target serials.</param>
        public static void RequestItemProperties(int client, int[] serials)
        {
            int size = (serials.Length * 4) + 3;

            byte[] packet = new byte[size];
            packet[0] = 0xD6;
            packet[1] = (byte)(size);
            packet[2] = (byte)(size >> 8);
            int i = 3;

            foreach (int serial in serials)
            {
                packet[i]     = (byte)(serial >> 24);
                packet[i + 1] = (byte)(serial >> 16);
                packet[i + 2] = (byte)(serial >> 8);
                packet[i + 3] = (byte)serial;
                i            += 4;
            }
            MacroEx.SendPacketToServer(client, packet);
        }