private static void WriteLuaString(PacketBuilder builder, LuaValue value) { if (value.StringValue != null) { if (value.StringValue.Length < ushort.MaxValue) { builder.WriteCapped((byte)LuaType.String, 4); builder.WriteCompressed((ushort)value.StringValue.Length); builder.WriteStringWithoutLength(value.StringValue); } else { builder.WriteCapped((byte)LuaType.LongString, 4); builder.WriteCompressed((uint)value.StringValue.Length); builder.AlignToByteBoundary(); builder.WriteStringWithoutLength(value.StringValue); } } }