xabbo-scripts/Scripts/SendHeaderUnkownPackets.csx
Administrator 7a548130a3 Move all scripts into Scripts/ subfolder
Keeps the repo root clean - only README.md visible on landing page.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-16 09:49:37 +01:00

56 lines
2.1 KiB
C#

bool stopSending = false;
var outProperties = Out.GetType().GetProperties();
var unknownPacketIds = new List<short>();
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;
}
}
}