bool stopSending = false; var outProperties = Out.GetType().GetProperties(); var unknownPacketIds = new List(); for (short i = 3070 ; i <= 4000; i++) { try { Header header = null; bool isMapped = Messages.TryGetHeaderByValue(Destination.Server, Client, i, out header); if (isMapped) { string headerName = null; foreach (var prop in outProperties) { try { if (prop.PropertyType.Name.Contains("Header")) { var outHeader = prop.GetValue(Out); if (outHeader != null) { var flashProp = outHeader.GetType().GetProperty("Flash"); if (flashProp != null) { var flash = flashProp.GetValue(outHeader); if (flash != null) { var valueProp = flash.GetType().GetProperty("Value"); if (valueProp != null) { var value = valueProp.GetValue(flash); if (value != null && value.ToString() == i.ToString()) { headerName = prop.Name; break; } } } } } } } catch { } } if (headerName == null) { unknownPacketIds.Add(i); } } } catch { } } foreach (var i in unknownPacketIds) { try { var customHeader = new Header(Destination.Server, i); var packet = new Packet(customHeader, Client); Send(packet); Log($"Sent packet with ID: {i} as Unknown"); } catch (Exception ex) { Log($"Error sending packet {i}: {ex.Message}"); } try { Delay(500); } catch (Exception ex) { if (ex.Message.Contains("canceled")) { break; } } }