Buff bar sisteminizin şebnemleri göstermemesi, sistemin Python script'indeki ikon listesinin eksik olmasından kaynaklanır. Script, şebnemlerin affect türünü tanımadığı için onlara ait bir ikon gösteremiyor.
Çözüm için aşağıdaki adımları izleyin:
Adım 1: Doğru Python Dosyasını Bulunİstemcinizin (client) root klasörünü açın. İçinde uibuffbar.py, ui_affect_shower.py veya bu sistemi yöneten benzer isimde bir Python dosyası olmalı.
Adım 2: İkon Listesini (Dictionary) BulunBu Python dosyasını bir metin editörüyle açtığınızda, içinde şuna benzer bir "dictionary" (sözlük) yapısı arayın. Bu yapı, affect türlerini ikon dosyalarına eşler.
[CODE title="Python"]self.affect_image_list = {
affect.AFFECT_ATT_SPEED_POTION : "d:/ymir work/ui/skill/att_speed.dds",
affect.AFFECT_MOV_SPEED_POTION : "d:/ymir work/ui/skill/mov_speed.dds",
# ... burada diğer etkiler ve ikonları listelenir
}[/CODE]
Adım 3: Eksik Şebnemleri Ekleyin (Çözüm)Sorun, bu listenin içinde Şebnemlere ait affect türlerinin olmamasıdır. Yapmanız gereken, bu listenin içine Şebnemlerin etki numaralarını (affect type) ve onlara ait ikonların dosya yollarını eklemektir.
Aşağıdaki satırları, yukarıda bulduğunuz affect_image_list sözlüğünün içine ekleyin:
[CODE title="Python"]# ... listenin mevcut içeriği ...
# ŞEBNEMLER İÇİN EKLENECEK SATIRLAR (ÖRNEK)
affect.AFFECT_ATT_GRADE_BONUS : "d:/ymir work/ui/affect/saldırı.tga",
affect.AFFECT_DEF_GRADE_BONUS : "d:/ymir work/ui/affect/savunma.tga",
affect.AFFECT_MAX_HP_BONUS : "d:/ymir work/ui/affect/hp.tga",
affect.AFFECT_MAX_SP_BONUS : "d:/ymir work/ui/affect/sp.tga",
# ... diğer şebnemler için de benzer satırlar eklenebilir. Örneğin kritik, delici vb.[/CODE]
Önemli :
- İkon Dosya Yolları: Yukarıdaki "d:/ymir work/..." ile başlayan dosya yolları bir örnektir. Kendi client'ınızdaki şebnem ikonlarının doğru yolunu yazmalısınız.
- affect Modülü: Eğer uibuffbar.py dosyanızın başında import affect gibi bir satır varsa, yukarıdaki kod olduğu gibi çalışacaktır. Eğer böyle bir satır yoksa, affect.AFFECT_XXX yerine, bu etkilerin sayısal değerlerini doğrudan yazmanız gerekir. Bu sayısal değerler, sunucu kaynak kodlarındaki common/affect.h dosyasında bulunur. (Örn: AFFECT_ATT_GRADE_BONUS'ın değeri 119 olabilir).
Bu eklemeleri yaptıktan sonra dosyayı kaydedin. Oyuna girdiğinizde şebnemleri kullandığınızda ikonlarının artık buff barda göründüğünü göreceksiniz.