`SMSG_UPDATE_OBJECT` does not seem to be entirely accurate for 3.4.2 50172 (50129)

Đang mở
#826 2 bình luận 0 reaction 0 người được giao Xem trên GitHub

Chưa có ai nhận issue này.

Đánh giá

Độ khó
4/5
Thời gian dự kiến
3-5 ngày
Mức phù hợp với người mới
35/100
Loại issue
Lỗi
Độ rõ ràng
Cần làm rõ
Mức độ hoạt động
Đình trệ
Công nghệ
csharp
Lĩnh vực
reverse-engineering

Hướng nghiên cứu

Bắt đầu với gói SMSG_UPDATE_OBJECT đang bị lỗi và lần theo UpdateHandler.cs qua UpdateFieldsHandler342.cs dòng 1547 đến DynamicUpdateField.cs dòng 25 và 37. Tái hiện ngoại lệ đồng thời kiểm tra kích thước update-mask và dữ liệu trường của gói 3.4.2. Được xem là hoàn tất khi gói được phân tích mà không xuất hiện ArgumentOutOfRangeException đã nêu và các bản cập nhật creature của gói được xử lý chính xác.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

Trying to parse a packet from 50172 and there are quite a few creature GUIDs that show up and are being used, but the initial SMSG_UPDATE_OBJECT responsible for their appearance doesn't seem to be parsing fully. No idea if this is the particular packet for the specific creature I'm having issues with, but this was the nearest UPDATE_OBJECT with an explicit exception:

ServerToClient: SMSG_UPDATE_OBJECT (0x27D1) Length: 1959 ConnIdx: 1 Time: [] Number: []
NumObjUpdates: 4
MapID: 1 (1)
HasRemovedObjects: False
Data size: 1948
[0] UpdateType: Values
[0] Object Guid: Full: 0x[] Player/0 R[]/S[] Map: 0 Low: []
System.ArgumentOutOfRangeException
Non-negative number required. (Parameter 'index')
   at System.Collections.Generic.List`1.RemoveRange(Int32 index, Int32 count)
   at WowPacketParser.Misc.DynamicUpdateField`1.Resize(UInt32 newSize) in C:\Users\benjy\Documents\GitHub\WowPacketParser\WowPacketParser\Misc\DynamicUpdateField.cs:line 25
   at WowPacketParser.Misc.DynamicUpdateField`1.ReadUpdateMask(Packet packet, Int32 bitSizeCount) in C:\Users\benjy\Documents\GitHub\WowPacketParser\WowPacketParser\Misc\DynamicUpdateField.cs:line 37
   at WowPacketParserModule.V3_4_0_45166.UpdateFields.V3_4_2_50129.UpdateFieldHandler.ReadUpdatePlayerData(Packet packet, Object[] indexes) in C:\Users\benjy\Documents\GitHub\WowPacketParser\WowPacketParserModule.V3_4_0_45166\Parsers\UpdateFieldsHandler342.cs:line 1547
   at WowPacketParserModule.V2_5_1_38707.Parsers.UpdateHandler.HandleUpdateObject(Packet packet) in C:\Users\benjy\Documents\GitHub\WowPacketParser\WowPacketParserModule.V2_5_1_38707\Parsers\UpdateHandler.cs:line 103
   at WowPacketParser.Parsing.Handler.Parse(Packet packet, Boolean isMultiple) in C:\Users\benjy\Documents\GitHub\WowPacketParser\WowPacketParser\Parsing\Handler.cs:line 149
Ngôn ngữ chính
C#
Star
522
Fork
387
Merge trung bình
3 ngày 6 giờ
Pull request đã merge (30 ngày)
4

Hướng dẫn đóng góp

Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của TrinityCore/WowPacketParser

Tất cả issue của TrinityCore/WowPacketParser

Issue tương tự

Thêm issue về C#

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.