Trích dẫn Gửi bởi BladeKnight109 [Only registered and activated users can see links. ]
1D 23 6D E4 DA 7A 00 3F 00 B8 00 00 00 00 00 00

mình không chỉ full cho bạn, mà chỉ cho bạn các làm thế nào để phân biệt được các offset nào chứa các option nào.
Bây giờ bạn kiếm 1 source GS season 6 (zTeam chẳng hạn). Bạn xem function DbItemSetInByte hoặc DGGetWarehouseList.
với SS6 thì Size của 1 item luôn luôn = 16, còn các version nhỏ hơn thì có thể khác.
và mình có 1 đoạn thế này:

Code:
if(ItemDbByte == 16)
		{
			itype |= (lpMsg->dbInventory[n*ItemDbByte+9] & 0xF0) * 32;
			itype |= (lpMsg->dbInventory[n*ItemDbByte+7] & 0x80) * 2;
			_type = itype;
		}
_type ItemID. ItemID được tính theo công thứ ItemID = ItemType*512+ItemIndex. khi bạn đã lấy được _type thì bạn có thể dùng công thức trên để tính type và index là bao nhiêu. tất nhiên có cách nhanh hơn nhưng mình sẽ không nói ở đây.
lpMsg->dbInventory[n*ItemDbByte+9] ở đây chính là offset thứ 9 trong dãy hex DB item ở trên.

tiếp theo mình cũng có 1 đoạn
Code:
item.m_Level = DBI_GET_LEVEL(lpMsg->dbInventory[n*ItemDbByte+1]);
đoạn này lấy ra Level của item. Level item nằm ở offset 1.
Code:
#define DBI_GET_LEVEL(x) ( ((x)>>3) & 0xF)
hay viết cách khác Level = (Offset[1]>>3) & 0xF)

cứ như thế, bạn chỉ cần xem GS viết thế nào, từ đó bạn suy ra. Tất nhiên đây là ngôn ngữ C++, khi qua ngôn ngữ khác như C#, VB.NET hoặc PHP chẳng hạn, thì bạn phải biết các toán tử &, |, >> của các ngôn ngữ kia là gì, có hỗ trợ hay ko .
Bên dưới mình liệt kê các các offset chứa những option nào.
Bạn cũng có thể download code NBB web về xem cách làm của họ cũng được . Cách nào miễn khi mình sử dụng mà GS load đúng theo ý của mình là ok .

[0] 1D: Item Index
[1] 23: Level, Skill, Luck, 28 option
[2] 6D: Durability
[3,4,5,6] E4 DA 7A 00: Serial Item
[7] 3F: Option Data (các option excellent)
[8] 00: Set option
[9] B8: Type item, 380 option, Period Option.
[10] 00: Yellow option (luu ý, nếu là socket item, thì sẽ ko có yellow op, mà thay vào đó là socket + thêm)
[11,12,13,14,15] 00 00 00 00 00 00: Socket item

--- Chế độ gộp bài viết ---



version cũ chỉ khác nhau về kích thước DB thôi. nhưng cách tính cũng na ná nhau
Thật sự cảm ơn bạn. Đọc bài mình cũng hiểu được cơ bản nhưng vẫn chưa thể làm được. Chắc mình phải nghiên cứ thêm nhiều nữa rồi. Rất mong nhận được sự giúp đỡ thêm từ phía bạn

Thanks