berkmenoo 1
berkmenoo
mavzermete 1
mavzermete
Mt2Hizmet 1
Mt2Hizmet
xranzei 1
xranzei
Hikaye Ekle

Cevaplanmadı Mt2009 Dil sorunu

  • Konuyu başlatan Konuyu başlatan algast5
  • Başlangıç tarihi Başlangıç tarihi
  • Cevaplar Cevaplar 12
  • Görüntüleme Görüntüleme 313
  • Etiketler Etiketler
    mt2009 dil sorunu

HERAKLES Otomatik Avlı kalıcı sunucu. 19 Haziran'da açılıyor. Atius & Wizard güvencesiyle hemen kayıt ol, ön kayıt ödülleri aktif. HEMEN TIKLA!

Merhaba arkadaşlar,

Üzerinde çalıştığım altyapıda (Mt2009 / Yabancı kaynaklı files) tam kapsamlı bir Türkçe çeviri işlemi yapıyorum. C++ tarafında Locale.cpp üzerinden dil yollarını başarılı bir şekilde locale/tr/ dizinine bağladım ve oyun arayüzünü tamamen Türkçe olarak okutabiliyorum.

Ancak mob_names.txt dosyasının okunmasıyla ilgili çok spesifik ve ilginç bir sorun yaşıyorum. Oyun, mob_names.txt dosyasını başarılı bir şekilde bulup okuyor fakat kısmen okuyor.

Sorunun Detayı:
Dosya içerisindeki bazı moblar oyuna sorunsuz bir şekilde Türkçe olarak yansıyor (Örneğin: 101 kodlu Yabani Köpek tam da mob_names.txt dosyamda yazdığım gibi Türkçe çıkıyor). Fakat listede ekli olmasına ve çevirisi bulunmasına rağmen, bazı moblar inatla mob_names.txt dosyasından değil, Client'taki mob_proto (binary) içerisindeki orijinal Lehçe/İngilizce isimleriyle ekrana basılıyor.
Gelebilecek standart cevapları engellemek adına yaptığım kontroller:

  1. VNUM Uyuşmazlığı Yok: Hatalı çıkan mobların oyun içindeki VNUM'ları ile mob_names.txt içerisindeki VNUM'larını tek tek karşılaştırdım, birebir aynılar.
  2. Karakter Kodlaması (Encoding) Doğru: Dosya kesinlikle UTF-8 değil, ANSI (Windows-1254) formatında kayıtlı. Türkçe karakterler (ş, ğ, ı vb.) sorunsuz çalışıyor.
  3. TAB ve Boşluk Hatası Yok: Notepad++ üzerinden "Tüm Karakterleri Göster" seçeneğiyle kontrol ettim. Kodlar ve isimler arasında kesinlikle Space (Boşluk) yok, sadece tek bir TAB karakteri mevcut.
  4. Pack Okuma Sorunu Yok: Oyun locale/tr/mob_names.txt dosyasını kesinlikle görüyor, görmese Yabani Köpek ve diğer Türkçe moblar da proto'dan çekilirdi.
  5. Syserr: İstemci tarafında (syserr.txt) bu dosyanın okunamadığına veya parse edilemediğine dair herhangi bir hata kaydı bulunmuyor.
 
.cpp inceledim ciddi bir sorunu yok, leadbyte biraz dikkat çekiyor, bu değeri false yaparsan (sanmıyorum ama) 0.01 ihtimal iş görebilir

Kod:
 BOOL LocaleService_IsLeadByte( const char chByte )
{
    if (LocaleService_GetCodePage() == 1254)
        return FALSE;

    return (((unsigned char) chByte) & 0x80) != 0;
}
 
.cpp inceledim ciddi bir sorunu yok, leadbyte biraz dikkat çekiyor, bu değeri false yaparsan (sanmıyorum ama) 0.01 ihtimal iş görebilir

Kod:
 BOOL LocaleService_IsLeadByte( const char chByte )
{
    if (LocaleService_GetCodePage() == 1254)
        return FALSE;

    return (((unsigned char) chByte) & 0x80) != 0;
}
yok hocam maalesef
 

Şu an konuyu görüntüleyenler (Toplam : 0, Üye: 0, Misafir: 0)

Geri
Üst