public string parse(TeraPacketWithData packet) { StringBuilder sb = new StringBuilder(); sb.Append("Offset 00 01 02 03 04 05 06 07 | 08 09 0A 0B 0C 0D 0E 0F 0123456789ABCDEF\n"); for (int i = 0; i < packet.data.Length; i += 16) { sb.AppendFormat(" {0:X4}: {1,-24}| {2,-24} {3,-16}\n", i, packet.toHex(i, i + 8, " "), packet.toHex(i + 8, i + 16, " "), packet.toSingleString(i, i + 16)); } sb.Append("\n"); //тут начало луа this.packet = packet; elements.Clear(); //Console.WriteLine(lua.DoString("return 1+1")); try { lua.DoString(script); } catch (Exception e) { MessageBox.Show(e.Message); } this.packet = null; //тут конец foreach (var el in elements) { sb.AppendFormat("{0:X4} - {1} : {2} : {3}\n", el.start, el.name, el.value, el.type); } return(sb.ToString()); }
public DataPacket(int num, TeraPacketWithData packet) { this.packet = packet; this.num = num; this.type = packet.type; this.size = packet.size; this.time = packet.time; this.opCode = PacketCreator.getOpCode(packet.opCode); }
private void textBoxValue_TextChanged(object sender, TextChangedEventArgs e) { if (_preventTextBoxEvents) { return; } _preventTextBoxEvents = true; try { try { switch (comboBoxType.SelectedItem.ToString()) { case "byte": textBoxHex.Text = byte.Parse(textBoxValue.Text).ToString("X2"); break; case "sbyte": textBoxHex.Text = sbyte.Parse(textBoxValue.Text).ToString("X2"); break; case "ushort": textBoxHex.Text = TeraPacketWithData.toHex(BitConverter.GetBytes(ushort.Parse(textBoxValue.Text))); break; case "short": textBoxHex.Text = TeraPacketWithData.toHex(BitConverter.GetBytes(short.Parse(textBoxValue.Text))); break; case "uint": textBoxHex.Text = TeraPacketWithData.toHex(BitConverter.GetBytes(uint.Parse(textBoxValue.Text))); break; case "int": textBoxHex.Text = TeraPacketWithData.toHex(BitConverter.GetBytes(int.Parse(textBoxValue.Text))); break; case "ulong": textBoxHex.Text = TeraPacketWithData.toHex(BitConverter.GetBytes(ulong.Parse(textBoxValue.Text))); break; case "long": textBoxHex.Text = TeraPacketWithData.toHex(BitConverter.GetBytes(long.Parse(textBoxValue.Text))); break; case "float": textBoxHex.Text = TeraPacketWithData.toHex(BitConverter.GetBytes(float.Parse(textBoxValue.Text))); break; case "double": textBoxHex.Text = TeraPacketWithData.toHex(BitConverter.GetBytes(double.Parse(textBoxValue.Text))); break; case "singleChar": textBoxHex.Text = TeraPacketWithData.toHex(BitConverter.GetBytes(char.Parse(textBoxValue.Text))); break; case "doubleChar": textBoxHex.Text = TeraPacketWithData.toHex(BitConverter.GetBytes(char.Parse(textBoxValue.Text))); break; case "singleString": textBoxHex.Text = TeraPacketWithData.toHex(TeraPacketWithData.fromSingleString(textBoxValue.Text)); break; case "doubleString": textBoxHex.Text = TeraPacketWithData.toHex(TeraPacketWithData.fromDoubleString(textBoxValue.Text)); break; case "bool": textBoxHex.Text = TeraPacketWithData.toHex(BitConverter.GetBytes(bool.Parse(textBoxValue.Text))); break; case "hex": textBoxHex.Text = TeraPacketWithData.toHex(TeraPacketWithData.fromHex(textBoxValue.Text)); break; } } catch { textBoxHex.Text = "ERROR"; } } catch { } _preventTextBoxEvents = false; }
private void textBoxHex_TextChanged(object sender, TextChangedEventArgs e) { if (_preventTextBoxEvents) { return; } _preventTextBoxEvents = true; try { try { switch (comboBoxType.SelectedItem.ToString()) { case "byte": textBoxValue.Text = TeraPacketWithData.toByte(TeraPacketWithData.fromHex(textBoxHex.Text), 0).ToString(); break; case "sbyte": textBoxValue.Text = TeraPacketWithData.toSByte(TeraPacketWithData.fromHex(textBoxHex.Text), 0).ToString(); break; case "ushort": textBoxValue.Text = TeraPacketWithData.toUInt16(TeraPacketWithData.fromHex(textBoxHex.Text), 0).ToString(); break; case "short": textBoxValue.Text = TeraPacketWithData.toInt16(TeraPacketWithData.fromHex(textBoxHex.Text), 0).ToString(); break; case "uint": textBoxValue.Text = TeraPacketWithData.toUInt32(TeraPacketWithData.fromHex(textBoxHex.Text), 0).ToString(); break; case "int": textBoxValue.Text = TeraPacketWithData.toInt32(TeraPacketWithData.fromHex(textBoxHex.Text), 0).ToString(); break; case "ulong": textBoxValue.Text = TeraPacketWithData.toUInt64(TeraPacketWithData.fromHex(textBoxHex.Text), 0).ToString(); break; case "long": textBoxValue.Text = TeraPacketWithData.toInt64(TeraPacketWithData.fromHex(textBoxHex.Text), 0).ToString(); break; case "float": textBoxValue.Text = TeraPacketWithData.toSingle(TeraPacketWithData.fromHex(textBoxHex.Text), 0).ToString(); break; case "double": textBoxValue.Text = TeraPacketWithData.toDouble(TeraPacketWithData.fromHex(textBoxHex.Text), 0).ToString(); break; case "singleChar": textBoxValue.Text = TeraPacketWithData.toSingleChar(TeraPacketWithData.fromHex(textBoxHex.Text), 0).ToString(); break; case "doubleChar": textBoxValue.Text = TeraPacketWithData.toDoubleChar(TeraPacketWithData.fromHex(textBoxHex.Text), 0).ToString(); break; case "singleString": textBoxValue.Text = TeraPacketWithData.toSingleString(TeraPacketWithData.fromHex(textBoxHex.Text), 0, 10000); break; case "doubleString": textBoxValue.Text = TeraPacketWithData.toDoubleString(TeraPacketWithData.fromHex(textBoxHex.Text), 0, 10000); break; case "bool": textBoxValue.Text = TeraPacketWithData.toBoolean(TeraPacketWithData.fromHex(textBoxHex.Text), 0).ToString(); break; case "hex": textBoxValue.Text = TeraPacketWithData.toHex(TeraPacketWithData.fromHex(textBoxHex.Text)); break; } } catch { textBoxValue.Text = "ERROR"; } } catch { } _preventTextBoxEvents = false; }