Pham_loi
Chức vụ: 08:30:56, 03-07-2015 |
Chú ý: Bài hướng dẫn này chỉ dành cho dân chuyên nghiệp, những bạn mới vào nghề tránh đọc kẻo tốn thời gian. Bạn có thể tìm đọc các tài liệu hướng dẫn việt hóa game ea, gameloft, handy games trên internet để hiểu rõ cách làm.
Công cụ gồm có Blueftp, classeditor, game, máy tính casio, ... Đầu tiên hãy download 1 game của hãng Joymeng về. Ở đây tôi lấy ví dụ game Vua hải tặc bản 128 của hãng này đã được việt hóa lời thoại. (Bản gốc Bản đã hoàn thiện)
Ở hầu hết game hãng Joymeng lời thoại bị mã hóa đều nằm trong thư mục .bin, các file chứa ngôn ngữ hầu hết có thể việt hóa theo kiểu file .lang của Handy Games (tức là một string có string counter ở đầu để quy định độ dài), do vậy ko có gì đáng nói. Điều đáng nói ở đây là một file tên là script.bin, nó ko chỉ mã hóa theo kiểu lang của Handy mà nó còn lằng nhằng hơn, trong file này chứa hội thoại của game. Đầu tiên giải nén game và dùng classeditor mở tệp script.bin đã nêu ở trên Đầu tiên ta phải xác định đâu là phần ngôn ngữ bị mã hóa. Kéo xuống dưới cùng ta sẽ thấy rất nhiều kí tự trông giống chữ Y, đó chính là ngôn ngữ tiếng trung. Nhưng vấn đề là làm sao để biết nó bắt đầu từ đâu và kết thúc chỗ nào??? Hãy chú ý 2 kí tự đầu tiên của tệp: 000 015
Hai kí tự này sẽ giúp ta giải đáp câu hỏi trên. Phần đầu này mã hóa nửa theo kiểu của Gameloft (4 kí tự quy định độ dài 1 string) nửa theo kiểu file .lng của handy (phần mã quy định độ dài mỗi string nằm ở hết ở đầu tệp, phần ngôn ngữ ở dưới nằm sát nhau). Do vậy từ số 15 ta sẽ suy ra đc 2 điều:
- Thứ nhất số lượng string được mã hóa bởi những kí tự mã hóa này là 15.
- Thứ 2 độ dài phần mã hóa này là 66. Giải thích: ở đây bốn kí tự số không ở sau 2 kí tự đầu giữ một vai trò đặc biệt, tuy nhiên trong trường hợp này ko liên quan đến vấn đề ta đang làm nên xin phép ko nói đến.
Do có 4 kí tự quy định độ dài mỗi string, mà có tất cả 15 string nên độ dài đoạn mã sẽ là 15x4=60 và còn phải cộng với 6 kí tự đầu nữa là 66 (2 kí tự 000 015 và 4 kí tự đặc biệt là số không 000 000 000 000). Tóm lại độ dài mã gồm 66 kí tự. Ta bôi đen từ kí tự thứ 6 đến 66. Hình
Ta chỉ quan tâm đến 2 kí tự cuối cùng 042 211
Nó cho biết sự kết thúc của phần không liên quan đến ngôn ngữ và tất cả sau nó là ngôn ngữ mà ta cần tìm. Từ 2 kí tự 042 211 ta tính được số kí tự là 10963. Nhấn * bôi đen từ vị trí 66 đến 11029 (=10963 kt), sau đó nhấn * 1 lần nữa để bỏ bôi đen. Copy hết từ vị trí 11029 đến cuối tệp và lưu lại thành 1 tệp mới.
Ta đã tách được phần ngôn ngữ.
To be continue...
Chỉnh sửa lúc 2017-01-16 14:53 bởi Pham_loi
: 0 ♥
Pham_loi
Chức vụ: 08:35:30, 03-07-2015 |
Mở tệp mới lưu vừa nãy lên. Lại chú ý 2 kí tự đầu 000 015, nó lại mã hóa theo kiểu trên. Như vậy phần mã sẽ có 66 kí tự.
Nếu bạn biết cách mã hóa theo kiểu ea hay .lng của handy thì sẽ hiểu cách mã hóa của tệp. Hãy để ý đến 4 kí tự đầu chỗ bôi đen 000 000 057 045, nó cho ta biết độ dài đoạn string đầu tiên và =14637 kí tự
Để dễ thao tác ta copy và lưu đoạn string này lại từ vị trí 66 đến 14703. Hình
Mở file vừa lưu lên và chú ý 4 kí tự đầu 000 179 000 000.
Đây là những kí tự phải nói rằng... chẳng cần quan tâm làm gì bởi chúng ko ảnh hưởng đến việc mã hóa của tệp. Và nó dùng làm gì thì mình cũng ...ko biết, có lẽ nó quy định màu cho từ ngữ??? Bởi trong game 1 số đoạn hội thoại được in màu. Sau 4 kí tự đó là string counter quy định độ dài 1 câu lời thoại, ta chỉ việc dịch thôi. Chú ý chỉ dịch những và sửa chỗ có dạng string với 2 mã ở đầu thôi nhé. Làm đến hết tệp sau đó add trở lại file chủ 2. Quay lại file chủ 2. Nhìn lại đoạn mã và chú ý 4 kí tự sau 000 000 057 045 là 000 000 057 047.
Đấy là độ dài string thứ 2 tính từ vị trí 66 (thực ra độ dài thực của nó chỉ là 2 bởi nó được tính bằng độ chênh lệch giữa 2 string, do vậy tất nhiên sẽ chẳng có gì cho ta dịch và ta bỏ qua nó). Chuyển sang string thứ 3, 4, 5,... làm tương tự như các bước làm hd ở trên. Khi dịch xong hết thì sửa lại mã ở đầu tệp cho phù hợp rồi add trở lại file script.bin
Xong!
Thực sự diễn đạt kiểu này rất khó hiểu, nhưng mình cũng vắt óc suy nghĩ để viết cho bài dễ hiểu nhất.
Nguồn: ohyeah - j2medit.wapka.mobi
: 0 ♥