[C++/Python] Profil Görüntüleme Sistemi

  • Konuyu açan Konuyu açan okan4141
  • Açılış Tarihi Açılış Tarihi
  • Yanıt Yanıt 22
  • Gösterim Gösterim 981

okan4141

D E L I
Geliştirici
MT Üye
Mesaj
876
Çözümler
26
Beğeni
2.081
Puan
1.529
Ticaret Puanı
0
Paylaşım için teşekkürler.

kostüm kısmı gözüküyormu? link herkezin erişimine açık değil.
 
Paylaşım için teşekkürler.

kostüm kısmı gözüküyormu? link herkezin erişimine açık değil.


Download ederken ayarlamayı unutmuşum driverda bunu da yedek link olarak eklemiştim Allahtan işe gidiyorum şimdi. :)

Kostüm kısmını roottan yaparsın zaten srcde WEAR_MAX a kadar ki olanları alıyor Python’dan orayı yaparsan olur gibi. Orjinal şeyini ellemedim sadece görüntüleme iznini yaptım.
 
En son bir moderatör tarafından düzenlenmiş:
Teşekkürler, Kostüm kısmıda olsaydı tadından yenmezdi :)
Kostüm kısmını da yaptım bitirdim

acc5603d-af72-44ec-886c-012b4ded4b68.webp


sabah işten çıktım bi kaç sistem ekledim ve bunu yaptım daha hiç uyumadım. Müsaitlikte bırakırım buraya. :)
 
1767111345551.webp


bu sistemde kostüm penceresi nasıl ayarlanacak itemler gözükmüyor. root dizindeki uiequipmentdialog.py dosyası, uiscript dizindeki costumeequipmentdialog.py dosyası ve common dizindeki legth.h dosyasını paylaşıyorum.
 

Dosya Eklentileri

buyrun hocam başka dosya ya da dosyalar lazımsa server taraflı ya da client taraflı illetebilirim
Tamamdır.

Root dosyana baktım. Şimdi onun içinde 2 adet makro var. Eğer sende if app.ENABLE_REFINE_ELEMENT: bu yoksa else kısmı çalışır (BL_TRANSMUTATION_SYSTEM'da yoksa tabii zaten bunların içinde kostüm slotlarını refresh eden fonk. yok) ve bu makro içinde dahil olan

if self.wndCostumeEquipment:
self.wndCostumeEquipment.RefreshSlot()

RefreshSlot çalışmaz. Kostüm sınıfı bir makroya dahil olmadığı için sen bunu sorunsuz açıyorsun fakat Refine Element içinde dahil olan


if self.wndCostumeEquipment:
self.wndCostumeEquipment.RefreshSlot()


fonksiyon çalışmadığı için SetItemSlot çalışmaz ve böylelikle itemler set edilmez. Lütfen bunu kontrol et ve tekrar bana yaz.
 
Tamamdır.

Root dosyana baktım. Şimdi onun içinde 2 adet makro var. Eğer sende if app.ENABLE_REFINE_ELEMENT: bu yoksa else kısmı çalışır (BL_TRANSMUTATION_SYSTEM'da yoksa tabii zaten bunların içinde kostüm slotlarını refresh eden fonk. yok) ve bu makro içinde dahil olan

if self.wndCostumeEquipment:
self.wndCostumeEquipment.RefreshSlot()

RefreshSlot çalışmaz. Kostüm sınıfı bir makroya dahil olmadığı için sen bunu sorunsuz açıyorsun fakat Refine Element içinde dahil olan


if self.wndCostumeEquipment:
self.wndCostumeEquipment.RefreshSlot()


fonksiyon çalışmadığı için SetItemSlot çalışmaz ve böylelikle itemler set edilmez. Lütfen bunu kontrol et ve tekrar bana yaz.
bende bu iki makroda yok hocam zaten marty sama 5.8 kullanıyorum. sadece client userinterface dizindeki pythonaplicationmodule.cpp içerisinde şöyle bir ekleme yapmıştım daha önce siz sistem eklerken iletmiştiniz diye galiba eklemiştim başka hiçbir yerde bu makrolar yok geçmiyor hiç bir yerde

pythonaplicationmodule.cpp
#ifdef ENABLE_REFINE_ELEMENT
PyModule_AddIntConstant(poModule, "ENABLE_REFINE_ELEMENT", 1);
#else
PyModule_AddIntConstant(poModule, "ENABLE_REFINE_ELEMENT", 0);
#endif
#if defined(__BL_TRANSMUTATION__)
PyModule_AddIntConstant(poModule, "BL_TRANSMUTATION_SYSTEM", true);
#else
PyModule_AddIntConstant(poModule, "BL_TRANSMUTATION_SYSTEM", false);
#endif
 
bende bu iki makroda yok hocam zaten marty sama 5.8 kullanıyorum. sadece client userinterface dizindeki pythonaplicationmodule.cpp içerisinde şöyle bir ekleme yapmıştım daha önce siz sistem eklerken iletmiştiniz diye galiba eklemiştim başka hiçbir yerde bu makrolar yok geçmiyor hiç bir yerde

pythonaplicationmodule.cpp
#ifdef ENABLE_REFINE_ELEMENT
PyModule_AddIntConstant(poModule, "ENABLE_REFINE_ELEMENT", 1);
#else
PyModule_AddIntConstant(poModule, "ENABLE_REFINE_ELEMENT", 0);
#endif
#if defined(__BL_TRANSMUTATION__)
PyModule_AddIntConstant(poModule, "BL_TRANSMUTATION_SYSTEM", true);
#else
PyModule_AddIntConstant(poModule, "BL_TRANSMUTATION_SYSTEM", false);
#endif
Eğer bu sistemi kullanmayacaksan temize çekmeni ve öylece kullanmanı öneririm. InterfaceModule.py'de var mı Game.py'de var mı eğer buralarda yoksa o zaman refine element altındaki

if self.wndCostumeEquipment:
self.wndCostumeEquipment.RefreshSlot()

else:

altındaki fonksiyon içine ekle. Ama dediğim gibi o makroları komple kaldır else altındaki fonksiyonu kullan
 
bende bu iki makroda yok hocam zaten marty sama 5.8 kullanıyorum. sadece client userinterface dizindeki pythonaplicationmodule.cpp içerisinde şöyle bir ekleme yapmıştım daha önce siz sistem eklerken iletmiştiniz diye galiba eklemiştim başka hiçbir yerde bu makrolar yok geçmiyor hiç bir yerde

pythonaplicationmodule.cpp
#ifdef ENABLE_REFINE_ELEMENT
PyModule_AddIntConstant(poModule, "ENABLE_REFINE_ELEMENT", 1);
#else
PyModule_AddIntConstant(poModule, "ENABLE_REFINE_ELEMENT", 0);
#endif
#if defined(__BL_TRANSMUTATION__)
PyModule_AddIntConstant(poModule, "BL_TRANSMUTATION_SYSTEM", true);
#else
PyModule_AddIntConstant(poModule, "BL_TRANSMUTATION_SYSTEM", false);
#endif
yada direk buradan al dene bakalım.


Python:
Genişlet Daralt Kopyala
    def SetEquipmentDialogItem(self, slotIndex, vnum, count):
        if count <= 1:
            count = 0
        self.slotWindow.SetItemSlot(slotIndex, vnum, count)

        emptySocketList = []
        emptyAttrList = []
        for i in xrange(player.METIN_SOCKET_MAX_NUM):
            emptySocketList.append(0)
        for i in xrange(player.ATTRIBUTE_SLOT_MAX_NUM):
            emptyAttrList.append((0, 0))
        self.itemDataDict[slotIndex] = (vnum, count, emptySocketList, emptyAttrList)

        if self.wndCostumeEquipment:
            self.wndCostumeEquipment.RefreshSlot()

1.webp
 
Eğer bu sistemi kullanmayacaksan temize çekmeni ve öylece kullanmanı öneririm. InterfaceModule.py'de var mı Game.py'de var mı eğer buralarda yoksa o zaman refine element altındaki

if self.wndCostumeEquipment:
self.wndCostumeEquipment.RefreshSlot()

else:

altındaki fonksiyon içine ekle. Ama dediğim gibi o makroları komple kaldır else altındaki fonksiyonu kullan
makrolar game.py ve ınterfacemodule.py da da yok hocam baktım şimdi
 
Eğer bu sistemi kullanmayacaksan temize çekmeni ve öylece kullanmanı öneririm. InterfaceModule.py'de var mı Game.py'de var mı eğer buralarda yoksa o zaman refine element altındaki

if self.wndCostumeEquipment:
self.wndCostumeEquipment.RefreshSlot()

else:

altındaki fonksiyon içine ekle. Ama dediğim gibi o makroları komple kaldır else altındaki fonksiyonu kullan
else deki SetEquipmentDialogItem fonksiyonunu kullanıp aşağıdaki kısmı en altına ekledim ayrıca o iki makro kısmını komple kod bloklarını siliyorum o zaman hocam dogru mudur ?
if self.wndCostumeEquipment:
self.wndCostumeEquipment.RefreshSlot()
 
Geri
Üst