Çözüldü HIZLI MENÜ SİSTEM EKLEME YARDIM

Bu konu çözüme ulaştırılmıştır. Çözüm için konuya yazılan tüm yorumları okumayı unutmayın. Eğer konudaki yorumlar sorununuzu çözmediyse yeni bir konu açabilirsiniz.
Durum
İçerik kilitlendiği için mesaj gönderimine kapatıldı.

ramazankisabey

Üye
Üye
Mesaj
8
Beğeni
1
Puan
405
Ticaret Puanı
0
Herkese merhaba arkadaşlar
hızlı menüye sistem ekleyemiyorum
Dungeon İnfo Sistemi yüklü F5 tuşu ile açılıyor fakat hızlı açılır kapanır menüde butona sabitleyemedim

ne yaparsam yapayım olmadı

uiinventory.py




Butona eklenmek istenen kod
onPressKeyDict[app.DIK_F5] = lambda : self.interface.ShowDungeonInfoInterface()

Arkadaşlar bilgisi olan lütfen yardımcı olabilir mi kaç gündür uğraşıyorum yapamadım iyi forumlar
 
Çözüm
uidungeoninfo.py dosyasını direkt uiinventory.py ye bağlayarak sorunu çözdük. Ek olarak constInfo üzerinden de 0-1 kontrolüyle üst üste açılma sorununu düzelttik. Şu an için bir sorun kalmadığı için konuyu kilitliyorum, iyi çalışmalar.
uiinventory.py arat:

Python:
self.mallButton = self.GetChild2("MallButton")

Altına ekle:
Kod:
self.zindanbilgi = self.GetChild2("zindanbilgi")

Arat:
Python:
        if self.mallButton:
            self.mallButton.SetEvent(ui.__mem_func__(self.ClickMallButton))

Altına ekle:
Kod:
        if self.zindanbilgi:
            self.zindanbilgi.SetEvent(ui.__mem_func__(self.ZindanBilgisiAc))

uiInventory.py en alta ekle:


Kod:
    def ZindanBilgisiAc(self):
        zindan bilgi kodlarını buraya yapıştır

locale/inventorywindow.py:

Burda da hangi butona eklemek istiyorsan o butonun "name" özelliğini zindanbilgi olarak değiştir.
Eğer buton hiç yoksa, bir tane kopyala yapıştır ile ekleyebilirsin.

Temelde mantık budur, ancak bazı durumlarda import veya ek tanımlamalar gerekebilir.
 
Hocam dediklerinizi harfiyen uyguladım fakat şöyle bir syserr aldım
0605 13:59:28310 :: File "uiInventory.py", line 144, in ZindanBilgi

0605 13:59:28311 :: AttributeError
0605 13:59:28311 :: :
0605 13:59:28311 :: 'SystemsWindow' object has no attribute 'interface'
0605 13:59:28311 ::

sistem f5 tuşuna bindli ordaki işlevi direk yapıştırdım bloğa

def ZindanBilgi(self):
self.interface.ShowDungeonInfoInterface()

Bahsettiğiniz tanımlamaları dediğiniz şekilde ekledim:
nerede hata yaptım anlayabilmiş değilim importlarda ekli
import interfaceModule
import uiDungeonInfo

Yardımcı olabilirseniz gerçekten çok sevinirim hocam

buda uiinventory dosyası
 
Hocam dediklerinizi harfiyen uyguladım fakat şöyle bir syserr aldım
0605 13:59:28310 :: File "uiInventory.py", line 144, in ZindanBilgi

0605 13:59:28311 :: AttributeError
0605 13:59:28311 :: :
0605 13:59:28311 :: 'SystemsWindow' object has no attribute 'interface'
0605 13:59:28311 ::

sistem f5 tuşuna bindli ordaki işlevi direk yapıştırdım bloğa

def ZindanBilgi(self):
self.interface.ShowDungeonInfoInterface()

Bahsettiğiniz tanımlamaları dediğiniz şekilde ekledim:
nerede hata yaptım anlayabilmiş değilim importlarda ekli
import interfaceModule
import uiDungeonInfo

Yardımcı olabilirseniz gerçekten çok sevinirim hocam

buda uiinventory dosyası

interfacemodule.py içindeki ShowDungeonInfoInterface isimli fonksiyonu komple kopyalayın ve uiinventory.py dosyasının en altına eklediğiniz fonksiyon ile değiştirin. İsmini de ZindanBilgisiAc olarak değiştirin.

Bkz: self.zindanbilgi.SetEvent(ui.__mem_func__(self.ZindanBilgisiAc)) sondaki isimle aynı olacak.
 
Hocam dediğiniz gibi yaptım bu seferde şöyle bi syserr verdi

0605 14:10:27689 :: File "uiInventory.py", line 145, in ZindanBilgi

0605 14:10:27689 :: AttributeError
0605 14:10:27689 :: :
0605 14:10:27689 :: 'SystemsWindow' object has no attribute 'wndDungeonInfo'

ilgili sistemin interface.py


ilgili sistemi game.py


interfacedeki tüm tanımlamaları yapmak mı gerekiyor anlayamadım.
Sizi de uğraştırıyorum ilgilinize teşekkür ederim
 
Hocam dediğiniz gibi yaptım bu seferde şöyle bi syserr verdi

0605 14:10:27689 :: File "uiInventory.py", line 145, in ZindanBilgi

0605 14:10:27689 :: AttributeError
0605 14:10:27689 :: :
0605 14:10:27689 :: 'SystemsWindow' object has no attribute 'wndDungeonInfo'

ilgili sistemin interface.py


ilgili sistemi game.py


interfacedeki tüm tanımlamaları yapmak mı gerekiyor anlayamadım.
Sizi de uğraştırıyorum ilgilinize teşekkür ederim

Özelden anydesk verebilirseniz beraber bakalım
 
uidungeoninfo.py dosyasını direkt uiinventory.py ye bağlayarak sorunu çözdük. Ek olarak constInfo üzerinden de 0-1 kontrolüyle üst üste açılma sorununu düzelttik. Şu an için bir sorun kalmadığı için konuyu kilitliyorum, iyi çalışmalar.
 
Çözüm
Durum
İçerik kilitlendiği için mesaj gönderimine kapatıldı.
Geri
Üst