tonl cậu biết mấy cái kí hiệu này là cái gì không? #<Bank=00000001>#Size=0000016C, Offset=00000030 #<0x58=01><0x22><0x5C=01> #<faceadd=01F2># Chắc cái faceadd là pointer nhỉ vì mỗi offset đều có một cái riêng mà?
Cái đó theo mình là : Đoạn hội toại số 00001 . Kích thước đoạn hội thoại là 16C Byte. bắt đầu từ offset 0000030 #<0x58=01><0x22><0x5C=01> Cái này không biết, nhưng trước mỗi đoạn hội toại đều có nó Faceadd=01f2: Tạo avatar của Runan hiện lên Ngoài Faceadd còn có Facedel nữa là để chỉ việc xóa Avatar của 1 nv
"0x58" cái này tớ nhớ lúc trước có sử dụng Lemasm hoặc là IDA gì đấy(không nhớ rõ lắm vì đang dò cái hàm lưu độ rộng của font trong system font) thực tế cái đó là chỉ mấy cái địa chỉ trong game Ví dụ thay vì trong trình HEX nó biểu diễn địa chỉ đầu tiên là offset 01 thì trong lemasm và IDA nó biểu diễn là 0x01 :) Cậu thử mò xem
À 0x58 thực chất là chỉ biểu thị 1 số hex thôi trong file MB0.mes nó biểu thị là "00 00 58 01 01" = '0x58=01" Hôm nọ khi đọc cái tài liệu gì đó nó bảo là cái đó là để vẽ cái khung để chuẩn bị hiển thị chữ vào
tonl cậu gặp hiện tượng này chưa.Tớ mò trong cái file mb0.mes và thay đổi một đoạn hex 3 byte và kết quả như cậu đã thấy đoạn hội thoại nó thụt xuống cả khúc luôn
Làm thế nào vậy Rish? @fox: trong cái file đó nó tự động cách ở một số đoạn, không phải lỗi của Rish.. (thực ra cũng có 1 phần trách nhiệm ) Set background . tức là đặt khung cảnh đằng sau đaọn hội thoại
Khung "tiệc mừng công" bạn Rish cho dòng chữ vô giữa khung sẽ đẹp hơn Vừa làm vừa mò khó nhỉ :( ủng hộ bạn Rish hết mình
chắc đang test thử chứ chưa xong mà :) đến h đã mò ra hết đc đâu,chưa đụng gì đến phần thoại cả ,chắc phải chờ lâu đây
Như vậy là tớ đã chắc chắn tìm ra pointer của câu nói đầu tiên trong file mb0.mes.Như cậu thấy đó câu đầu tiên nó chỉ có 2 hàng nhưng tớ đã chỉnh thành 4 hàng rồi này Cụ thể là ở offset 0003 có đoạn hex 58 01 01 trong đó:_ 58 là chỉ avarta của runan _ 01 01 chính là pointer Nếu cậu chỉnh thì chỉnh ở chỗ 01 01 trước rồi sau đó import mà thấy không có hình của runan thì mới chỉnh ở chổ 58 :)
Vậy là cậu sai đứt đuôi con nòng nọc rôi, không đơn giản như thế đâu: Avartar của Runan là 01F2 cơ (cái số sau faceadd ấy) COn đoạn hex 0058 01 01 là cái khác. Sau 00 xx (xx bất kì, thường là 5x) sẽ có 1 byte để chỉ giá trị đọ dài đaọn hex tiếp theo, đaọn hex tiếp theo đó là giá trị change hạn với 00 52 02 F2 01 Tức là giá trị gán cho cái 00 52 đó sẽ dài 2 byte và là =01F2. Cái 01F2 kia sẽ không bị ảnh hưởng vào đoạn hội thoại Cậu có hiểu không? P/S: đó không phải là pointer nhưng ta cẫn có thể lợi dụng nó để mở rộng đoạn hội thoại đó
Vẫn biết là avarta của runan là 01F2.Nhưng mà đoạn hex 58 cũng có tác dụng làm hiện avarta của runan chứ
Không, no không có tác dụng như vậy. tác dụng của nó theo tonl biết thì là tạo cái khung để cho chữ vào thì phải. Lần trước tonl cũng hỏi lckhoa cái này 1 lần rồi Tuy nhiên cũng có thể coi cái này là pointer 1 byte vì chỉ có cái 01 đằng trước là có tác dụng con trỏ thôi. Hic Mà pointer 1 byte có phmj vi 255 byte thôi Mò một lúc thì tìm ra cách chỉnh màu cho chữ, thật vl
Quên quên!Lúc trước quên kiểm tra là pointer 1 byte hay 2 byte.Nhưng mà dù là 1 byte thì bọn mình vẫn có hy vọng phải không dù chỉ là 1 byte.Còn về chỉnh độ sáng cho chữ cũng chỗ đoạn hex đó phải không?Như vậy theo tớ nghĩ có lẽ pointer nó nằm trước mỗi câu nói thôi :)