UI nedir? UIF dosyaları nedir ve nasıl çalışır?

Tengri

Moderatör
Yeni başlayanlar ve bilmeyenler için bilgilendirme olarak tek tek UIF nedir ve mantığı nasıldır olarak inceleyeceğiz.

Eğer atladığım veya kafanıza takılan herhangi bir soru olursa konu altında düşüncelerinizi belirtmeyi unutmayınız.

  • 1) UI nedir?İlk öncelikle UI açılımı nedir ondan bahsedelim; UI açılımı User Interface demektir. Bizim dilimizde Kullanıcı Arayüzü anlamına gelmektedir. Yani oyun içerisindeki pencereler olsun yada sizin bir program yazarken bir site oluştururken karşıda ki kişiye tasarım olarak sunduğunuz bölümdür.
  • 2) UIF nedir?
  • Bu sefer de UIF açılımı nedir ondan bahsedelim; UIF açılımı User Interface File demektir. Bizim dilimizde Kullanıcı Arayüzü Dosyası anlamına gelmektedir. Knight OnLine Client içerisinde UI klasöründe UIF dosyalarını barındırır. Knight OnLine oyununda gördüğünüz tüm pencereler UIF dosyaları aracılılığıyla oluşmaktadır. Örnek verelim;
    Oyuna girerken ID PW yazdığınız pencere, Server Listesi, Inventory penceresi, Chat penceresi, Premium bar vb. bunların hepsi kullanıcı arayüzü olarak geçmektedir.

    3) NoahKnights UIF Editör nedir?
    rJpvZP.png
  • Knight OnLine Client içerisindeki UIF uzantılı dosyaları değiştirmenize(edit) yarayan programdır. Oyun içerisinde kullanıcı arayüzü nasılsa aynı şekil açabilirsiniz. Aşağıdaki resimde programın şeklini görebilirsiniz. Konu altında ise bu programın indirme linkine ulaşabilirsiniz.

  • UIF Editör nasıl çalışır?Bildiğiniz tüm programlar gibi aynı mantıkla çalışmaktadır. İsterseniz programı açtıktan sonra File -> Open diyerek herhangi bir UIF dosyasını açabilirsiniz yada TBL editör tarzı Birlikte Aç mantığıyla direk UIF editörü gösterebilirsiniz.Programın üst menu penceresinde bulunan "Client Path" bölümüne UIF dosyasını açtığınız clientin klasör yolunu göstermeniz gerekmektedir. Eğer ki burayı göstermezseniz DXT dosyalarını okuyamayacaktır. "Browse" buttonuna tıklayarak bunu gerçekleştirebilirsiniz. Aşağıdaki resimde örneği görebilirsiniz.
  • d7DEPr.png
  • Açtığınız UIF dosyasının içerisindeki nesnelerin sıralamasını program içerisinde sol taraftaki pencerede görebilirsiniz.
  • 1GB3Yp.png
  • Image : İsminden anlaşılacağı üzere 2 boyutlu olarak resim eklemenizi sağlar. Animasyon olarakta yapabilirsiniz gif tarzı.
  • Static : İçerisinde Image ve Text nesnelerini barındırır.
    Edit : Oyun içerisinde yazı yazabileceğiniz yani girilen değeri alabileceğiniz bölüm. Örnek ; ID ve PW girdiğiniz nesneler.
    Progress : Oyun içerisinde loading yada HP, MP, EXP değerlerinin bulunduğu nesnedir.
    Area : Inventory slotları buna bir örnektir yada skill bar bölümü diyebiliriz.
    ScrollBar : Chat penceresinde kullanılan yukarı aşağıya kaydırma yapacağınız nesnedir.
    Group : Group oluşturmanıza yarar. İçerisine nesneleri ekleyip group yapabilirsiniz.Text : String değerleri oluşturmanıza yarar yani gireceğiniz yazıları felan bu nesne ile oluşturursunuz. Örnek ; Inventory yada Bankadaki para.
LONXpG.png
  • ID string : KO.exe içerisinde bu nesneye erişebilmek için kullandığı isimdir. KO.exe içerisinde olmayan yani okumadığı herhangi bir ismi buraya girdiğiniz de bir işlevi olmayacaktır.

    Region (yön) : Seçilen nesnenin bulunduğu base içerisindeki konumunudur.

    MoveRect (yön) : Seçilen nesnenin oyun içerisinde belirtilen konumlar üzerinden fareyle sürüklenmesini sağlar.

    Tooltip text : Oyun içerisinde fareyle nesnenin üstüne geldiğinizde çıkan açıklama bölümüdür.

    Open sound : Nesne ekrana geldiğin an oluşacak ses dosyasıdır.

    Close sound : Nesne ekrandan gittiğinde kapatıldığında oluşacak ses dosyasıdır.

    Delete sound : Nesne oyun içerisinde silindiğinde oluşacak ses dosyasıdır.

    Visible : Oyun içerisinde herhangi bir işlevi yoktur. Editör üzerinde seçilen nesnenin görünebilirliğini kapatıp açmaya yarar.

    Herhangi bir nesne eklemek istiyorsanız programın menülerinden Insert tıklayarak istediğiniz nesneyi seçip ekleyebilirsiniz.

    5) UIF editlemenin mantığı nasıldır?

    x)
    Şimdi bu durumu söyle açıklayayım size, herhangi bir UIF dosyasını açtığınızda karşınıza gelen isimlendirilmiş nesneleri silerseniz çoğu zaman yani büyük olasılıkla hata alırsınız.
    Sebebi ise şudur KO.exe bu değerleri yüklemeye çalıştığında okuyamıyor ve null değeri döndüğünde patlıyor.

    x) Bir başka husus aynı şekil KO.exe belirli nesneleri okumaktadır. Örnek vererek açıklayayım, 1298 versionunda ekranın en altında Town buttonu eklerseniz çalışmaz.
    Sebebi ise şudur KO.exe içerisinde böyle bir nesne tanımlı olmadığından işlevi de yoktur ve siz sadece ekledikten sonra basar durursunuz.

    x) Devam edelim; UIF editör ile nesne eklediğinizde yukarıdan aşağıya doğru sıralaması mevcuttur.
    Yukarıda kalanlar oyun içerisinde ön plana çıkmaktadır. Örnek vererek açıklayayım;

    İki tane image eklediğinizde yani resim eklediğinizde alt alta Image olarak gelecektir. Img_Background ve Img_Front olarak 2 tane isim koyalım. Şimdi siz Img_Front oyunda ön tarafta gözükmesini istiyorsanız,
    Img_Front nesnesini Img_Background nesnesine göre yukarıda tutup kaydetmeniz gerekmektedir. Eğer ki tam tersini yaparsanız Img_Front arka planda kalacağı için oyun içerisinde göremeyeceksiniz.

    x) Sırada group yani base sistemi var. UIF editör ile açtığınız herhangi bir UIF dosyasında en yukarıdaki yani en dışarıda kalan Group (Base) sizin nesneleri ekleyeceğiniz bölümdür. Eğer ki eklediğiniz herhangi bir nesne Group(Base) koordinatları dışında kalıyorsa oyun içerisinde seçilebilir bir hal almayacaktır. Button eklediğinizde basamayacaksınız.
    Bunun için Group(Base) olaylarına dikkat edin. En dış Group(Base) oyun içerisindeki UI penceresinin koordinatlarını da belirleyecektir.

    Örnek; Inventory Penceresi oyun içerisinde ekranın sağ tarafına denk gelmektedir. Bunun için en dış Group(Base) region değerlerine göre genişlik ve yükseklik değerleri hesaplanır.
Kod:
int Width = Inventory->Region.right - Inventory->Region.left;
int Height = Inventory->Region.bottom - Inventory->Region.top;

// Width : Inventory penceresinin genişliğidir.
// Height : Inventory penceresinin yüksekliğidir.

// Sizin oyun çözünürlüğünüze göre hesaplamaları yapıp ona göre
// Inventory penceresini ekranın sağ tarafına yerleştirir.
 

Ekli dosyalar

  • 1GB3Yp.png
    1GB3Yp.png
    3.9 KB · Görüntüleme: 0
T.C.K 20.ci Madde ve 5651 Sayılı Kanun'un 4.cü maddesinin (2).ci fıkrasına göre TÜM ÜYELERİMİZ Yaptıkları paylaşımlardan kendileri sorumludur!
Geri
Üst Alt