Baby Mouse
Mr & Ms Pac-Man
- 2/5/06
- 197
- 0
- Thread starter
- #81
Nè hé, bạn có để ý cái vụ "độ dài bits" ko? Giá trị của 1 trường dữ liệu nào đó có độ dài bao nhiêu bit đó. Cái đó mới là vấn đề!Bạn hiểu sai ý mình rồi. Nếu mà thêm dòng bằng tool của bạn thì max sẽ là +31 skill. Nhưng mình đang edit bằng Udie thì max chỉ là +7. Có sự khác biệt giữa 2 cái này không?
VD: ID của thuộc tính có độ dài là 9bits, nghĩa soft đã sử dụng 9bits nhớ để nhớ (mã hóa) 1 ID nào đó cho thuộc tính. 9bits với hàm ý là 9 ký tự nhị phân, sẽ mã hóa (nhớ) d'c 1 con số từ 0 ==> 511, tức 512 giá trị, tức 2^9 (2 mũ 9) trong hệ thập phân mà ta thường xài. Do đó, +31 skill nghĩa là 2^5 (5bits, mã hóa d'c tổng cộng 32 giá trị 0..31, max số là 31); +7 skill nghĩa là 2^3, tức là phiên bản game của bạn đang chơi có thể chỉ sử dụng 3bits để lưu giá trị đó à.
Các bản Patch của D2 ko khác nhau về mặt cấu trúc file save, chỉ khác nhau ở chổ nhiều hơn hay ít hơn vài bits nhớ để nhớ d'c số nhỏ hay "bự" hơn thôi.
VD: Ngày xưa char máu 3k là khủng khiếp lắm rồi, còn ngày nay máu 30k "cũng bình thường thoai" là vậy đó. Mục đích cho việc nâng số cho "bự" lên theo mình để cho dễ "phân tầng" đó mà. Bạn cứ việc hiểu: Số lượng bits sử dụng để save 1 số vào file save với max của số đó là tỉ lệ thuận với nhau là d'c rồi, muốn tính giá trị max thì cứ việc (2^x - 1) là xong.

, chỉ cần chỉnh số max đó trừ 1 là ok. VD: Skill point bạn add vào là 256, thực chất, max số là 255 à, mình wên ktr và tự động sửa số lại cho hợp lý.
Bản update sắp tới của soft sẽ fix lại lỗi đó.