Việt Hóa Java Trên S40 Toàn Tập ( Tất Nhiên Vẫn Thiếu Vài Chỗ )
[HDVH GAME JAVA TRÊN S40] BÀI I: NHẬP MÔN VIỆT HÓA
[/center]
Sau khi tải game xong ta thoát UC và bắt đầu làm việc với game vừa tải về.Bây giờ ta bắt đầu sử dụng Blue FTP. Các bạn khởi động ứng dụng Blue FTP lên sẽ thấy 2 ổ đĩa C: và E:
[center]
[/center]
Sau đó di chuyển tới thư mục vừa tải game về. Xem hình:
[center]
[/center]
Sau đó bạn ấn phím * . Sẽ có 3 trường hợp xảy ra:
* .Trường hợp thứ nhất: file class không chứa ngôn ngữ thì khi bạn bám * thì đứng im. Không hiện tượng gì!
[center]
[/center]
Đối với file class này thì ta thoát ra vì không có gì để việt hóa.
Sau đó ta chọn file class khác.
* . Trường hợp thứ hai: khi ta bấm * Bycode có lượt cho ta những string ký tự lạ để thao tác.
[center]
[/center]
Đối với file class này ta tuyệt ko chỉnh sửa gì vì những ký tự lạ đó là mã lệnh game. Ta cũng bỏ qua file class dạng này và tìm file class khác.
* . Trường hợp thứ ba:
Sau khi ta ấn phím * Bycode sẽ lượt ra các string có chứa ngôn ngữ và ký tự lạ nằm xen kẽ.
[center]
[/center]
Lúc này đây ta bắt đầu việt hóa. Đối với ngôn ngữ tiếng Tàu hay tiếng Nga, tiếng Anh. Ta chỉ VH đúng ngôn ngữ tiếng đó thôi, ngoài ra không động vào bất kỳ ký tự lạ nào hết.
Bây giờ, ta muốn VH string nào thì đặt tick string đó.
[center]
[center] [HDVH GAME JAVA TRÊN S40] BÀI III: XÁC ĐỊNH NGÔN NGỮ TRONG GAME [/center]
Trước khi bước chân vào ngưỡng cửa VH nâng cao hay gọi là Việt Hóa Hex, Dex. Ta phải biết cách xác định ngôn ngữ game để VH.
Ngôn ngữ game chia làm nhiều loaị tùy theo độ nặng nhẹ của game.
Thứ nhất: Ngôn ngữ game chỉ gói gọn trong mấy cái ảnh.
Đối với ngôn ngữ game dạng này là chua nhất. Chúng ta phải biết ý nghĩa ngôn ngữ của ảnh rồi dùng phần mềm sửa ảnh để VH (vấn đề này sẽ nói sau).
Thứ hai: Ngôn ngữ game nằm trong các file.class , một ít ngôn ngữ trong ảnh .
Thứ ba: Ngôn ngữ game nằm trong.class, ảnh và các file lạ khác dạng: .bin, .dat, .txt, .i, .p, .pak, .xse v.v... Có khi là file ảnh mã hóa .png nữa.
Đây mới chính là vấn đề. Thường thì ngôn ngữ nằm trong các file lạ này đa số là lời thoại của game (đối với game China).
Có nhiều phần mềm có thể xem được các file này để chúng ta xác định ngôn ngữ game.
Chúng ta có thể dùng BlueFTP để tìm ngôn ng̗ 9; trong các file: .txt, .bin (ko mã hóa), .dat (ko mã hóa). File mã hóa thì BlueFTP chỉ thể hiện một chuỗi các kí tự có dạng sau: åäæàü và nhiều ký tự không xác định khác!
Phần mềm để chúng ta xác định ngôn ngữ game dễ nhất là Class Editor (CE).
Đây là cách xác định ngôn ngữ của 3 game: Trung Quốc, Nga và English.
Chúng ta chạy phần mềm CE vào các file lạ tìm ngôn ngữ.
Đối với game Trung Quốc ngôn ngữ có dạng:
...[][][]¥[][]¥[]¥...
Xem hình sẽ rõ.
[center]
[/center]
Theo hình ta thấy đoạn ngôn ngữ đầu là: " Age Of Empires III Mobile " có 25 ký tự. Ở đầu chúng có 2 byte 000 025 . Đây chính là string couter của đoạn ngôn ngữ này.
[center]
[/center]
Tiếp theo đoạn ngôn ngữ " Main Menu " có 9 ký tự. Có string couter là 000 009 ở đầu đoạn ngôn ngữ.
[center]
[/center]
Bây giờ các bạn đã biết xác định string couter rồi chứ!
Tiếp theo chúng ta xem thử 1 ngôn ngữ game Trung Quốc nào!
[center]
[/center]
Ta thấy đoạn ngôn ngữ có 7 ký tự. String couter là 000 007
Đoạn ngôn ngữ kế tiếp có 52 ký tự. String couter là 000 052
[center]
[/center]
Chúng ta chú ý string couter luôn là 2byte đứng trước đoạn ngôn ngữ.
Đây là điều cốt yếu để LE có thể dịch được.Lang Editor chỉ dịch được đoạn ngôn ngữ dạng sau:
[String couter] đoạn ngôn ngữ 1 [String couter] đoạn ngôn ngữ 2 [String couter] đoạn ngôn ngữ 3...
Các đoạn ngôn ngữ có string couter phải liên tục nằm kề nhau không được tách nhau.
Như vậy, ta có thể copy đoạn ngôn ngữ tiếng Eng như sau:
[center]
[/center]
Là LE có thể dịch được. Sau khi VH Lang sẽ tự động chỉnh sửa string couter cho chúng ta. Xem hình:
[center]
[/center]
Tới đây các bạn có thể hiểu sơ được cách thức làm việc của LE rồi đấy.
Bây giờ chúng ta sẽ tìm hiểu cao hơn đối vơí những ngôn ngữ dài và phức tạp.
Các bạn down file này về để xem.
Test file ltp.wxt
Đối vởi file ltp.wxt ta thấy đoạn ngôn ngữ dài tơí 452 ký tự. 2byte string couter là 001 196 chứ không phải là 000 452.
[center]
[/center] Đoạn ngôn ngữ 255 ký tự thì SC là 000 255.Như trên, ngôn ngữ dài 4000 ký tự thì ta tính:
Vì sao? Như lúc đầu mình đã nói 1 byte chỉ thể hiện 255 ký tự thôi. Nếu vượt quá 255 ký tự thì nó sẽ chuyên thành 1 ở byte trước. Thì byte phía sau phải giảm 1 .
Cụ thể như sau:
Vì vậy theo đoạn ngôn ngữ ở file ltp.wxt có 452 ký tự thì nó chuyển 255 từ byte sau thành 1 ở byte trước và trừ đi 1thì sẽ còn: 452-255-1=196.
Đoạn ngôn ngữ dài 256 ký tự thì SC là 001 000
Tương tự, 257 ký tự là 001 001 Vì thế string couter của đoạn ngôn ngữ thể hiện là: 001 196.
Các bạn chú ý: nếu chuyển 1 lần 255 thì trừ 1, chuyển 2 lần thì trừ 2...
Cụ thế, với đoạn ngôn ngữ dài 4000 ký tự thì string couter là: 015 160.
Ta chuyển 15 lần 255 lên byte trước thì phải trừ đi 15.
Đây là công thức đổỉ cho nhanh từ ký tự sang string couter và ngược lại.
Ngược lại, string couter là 015 160 thì ta tính 273;oạn ngôn ngữ này dài bao nhiêu?
Ta lấy: 255x15+(160+15)=4000. Vậy đoạn ngôn ngữ đó dài 4000 ký tự.
Rẩt dễ phải không? Nếu các bạn hiểu rõ về Hex, Dex trong CE thì VH game EA va ảnh mã hóa sẽ trở nên dễ dàng.
Bài này khá khó hiểu. cần đầu tư thực hành nhiều hơn!
4000 : 255 = 15 dư 175. Lấy 175-15=160. Vậy string couter cua 4000 ký tự là 015 160.
Các bạn chú ý như thế nàysẽ dễ VH. Đa số game 1 string ngôn ngữ thường là hiếm khi nào vượt qua 255 ký tự nên string couter của nó luôn có dạng: 000 xxx (x: là con số)
Như file trên, các bạn thấy đoạn Dex 000 đầu tiên với ngôn ngữ thì ta bắt đầu tìm hiểu.
Ta xem, thấy string couter đoạn ngôn ngữ đầu là: 000 080 . Ta kiểm tra thử đoạn ngôn ngữ có đúng 80 ký tự hay ko. 1 đoạn ngôn ngữ kết thúc trước Dex: 000 của string kế tiếp (với điều kiện l& #224; đoạn ngôn ngữ ko vượt qua 255 ký tự).
Ta thấy, đúng 80 ký tự trước Dex: 000 219 .
Cứ vậy, ta xem vài đoạn ngôn ngữ sau đó phù hợp với String Couter là ok. Bây giờ chúng ta cắt ta LE dịch.
Như mình đã nói ở bài viết về " String couter ", LE chỉ dịch được file có string couter và ngôn ngữ nằm kề nhau. Ngoài ra nếu có đoạn mã thừa khác thì LE sẽ ko dịch được.
Như vậy file: SCRIPT_0.lang ta thấy quy luật sau:
- Mã: Chọn tất cả
[color=#FF0000][000 080(SC)]đoạn ngôn ngữ[000 219 (SC)]đoạn ngôn ngữ...[000 076(SC)]đoạn ngôn ngữ.[/color]
Các String counter (SC) và đoạn ngôn ngữ nằm liền nhau và liên tục. Ko có các đoạn mã thừa khác xen vào ( cách VH file có mã thừa xen vào sẽ ở bài sau )
Vì vậy chúng ta có thể copy 1 mạch chúng ra LE dịch.
Ta làm như sau:
Đặt trỏ tại Dex: 000 080 ấn phím *
Nhìn xuống phía dưới màn hình (thanh màu đỏ) ta thấy:
From:8735 Here:8735=0
Sau đó, ta tô đậm đến đoạn string cuối cùng 000 076.
Ta thấy:
From:8735 Here:17161=8426
( nhớ cái này để sau đó dán )
Ấn phím OK/Giữa . Menu ẩn của CE hiện ra. ( Nếu các bạn ấn phím OK/giữa mà ko thấy Menu ẩn của CE hiện ra thì cứ ấn phím di chuyển qua lại là nó hiện ra .) Ta chọn copy:
[center] VIỆT HÓA HÌNH ẢNH [/center]
Việt hóa game không chỉ bao gồm những file chứa ngôn ngữ (.class chúng tôi .lng v..v) mà nó còn thể hiện ở ảnhgame có đuôi thường là .png. Ảnh game được design đẹp sẽ thu hút phần nào người chơi vì thế mình sẽ hướng dẫn ae việt hóa ảnh .png bằng Pro Paint v2.2
Trong game lúc nào cũng thường có những ảnh định dạng.png , Ví dụ là menu game chẳng hạn, ở các phiên bản trước khi bôi đen và chỉnh sửa thì sau khi lưu ảnh sẽ không giống như cũ sẽ bị ảnh hư̖ 3;ng ít nhiều không đc đẹp lắm! Thì giờđây với Pro Paint v2.2 tạo và sửa ảnh trong suốt là chuyện nhỏ. Mình sẽ hướng dẫn cho những ai chưa biết, những ai biết rồi thì thôi nhá ^^
A. CÁCH TẠO THIẾT LẬP CHẾ ĐỘ TRONG SUỐT:
Bước 1. Lúc mở phần mềm lên, đừng tìm đến ảnh để chỉnh sữa ngay mà hãy chọn phần"Tạo mới" và tick vào ô "chức năng trong suốt" rồi nhấn OK như hình sau:
[center]
[/center]
Bước 2. Tiếp đến bấm phím * thìbảng màu hiện lên như sau:
[center]
[/center]
Bước 3. Bấm tiếp phím # thì phần màu sẽ chia thành nữa đen, nữa trắng như hình và nhấn ok:
[center]
[/center]
Xong rồi đấy, phần thiết lập ảnhtrong suốt đã đc tạo lập ^^
Lưu ý: bạn nên nhớ là chức trong suốt chỉ có tác dụng khi phần màu đc chia thành 2 mãng đen và trắng như hình trên nhá,vì thế khi vẽ chèn chữ gì thì nên thay phần màu khác phần màu trong suốt để khỏi hỏi "ủa tại sao mình có ghi chữ mà sao éo thấy nhỉ" thì mệt
B. VÍ DỤ ĐIỂN HÌNH:
Ta lấy 1 ảnh bất kì, ở đây mình dùng ảnh này:
[center]
[/center]
Sau khi đã thiết lập trong suốt rồi thì ta tiến hành. Ở đây mình dùng chức năng bôi đen 1 phần ảnh để tạo trong suốt như hình sau:
[center]
[/center]
bạn thấy đấy phần đc chọn đã đc làm trong suốt rồi, bây giờ muốn chèn chữ hay gì vào cũng đc, tùy bạn thôi! Làm xong và lưu lại ở chế độ "Png" nhá, tận hưởng thành quả thôi nào....
Pro Paint v2.2 mod bản việt full
Phần mềm còn khá nhiều chức năng khác nữa, ae tự tìm hiểu và khám phá nhá^^ Chúc ae thành công !!!