Yardım Hızlı menü buton syserr

  • Konuyu açan Konuyu açan therasmus
  • Açılış Tarihi Açılış Tarihi
  • Yanıt Yanıt 12
  • Gösterim Gösterim 990
Konu sahibi bu konuda soru soruyor. Sorusu ile ilgili bilgisi olanların yanıtlamasını bekliyor.

therasmus

Üye
Üye
Mesaj
119
Çözümler
10
Beğeni
68
Puan
729
Ticaret Puanı
0
Merhaba, normalde kullandığım sıkıntısız bi sistemdi. geliştirmeler yaparken başka bi taraf bozmuş sanırım. üzerinden de baya zaman geçti başka sistemler ekledim vs. Şimdi sorunun kaynadığını bulamadım. syserr şu şekilde herhangi bi fikri olan var mı acaba?

syserr:
Genişlet Daralt Kopyala
1109 23:16:22664 :: Traceback (most recent call last):

1109 23:16:22664 ::   File "game.py", line 1953, in OnUpdate

1109 23:16:22664 ::   File "game.py", line 3517, in __BiyologOpen

1109 23:16:22664 ::   File "interfaceModule.py", line 2336, in OpenBiyologDialog

1109 23:16:22664 ::   File "uiBiyolog.py", line 332, in Open

1109 23:16:22664 ::   File "uiBiyolog.py", line 382, in SetMission

1109 23:16:22664 :: KeyError
1109 23:16:22664 :: :
1109 23:16:22664 :: 0
1109 23:16:22664 ::
 
uiBiyolog, 382. satırdaki kodları ekler misiniz? Hatta fonksiyonun tamamını ekleyin :)
 
uiBiyolog, 382. satırdaki kodları ekler misiniz? Hatta fonksiyonun tamamını ekleyin :)
Python:
Genişlet Daralt Kopyala
    def SetMission(self, mission, missionState, givenCount, needCount, remainingTime):
        self.Mission = int(mission)
        if self.Mission > 10:
            self.Close()
            return

        self.MissionState = int(missionState)
        
        if self.MissionState > 1:
            self.GivenCount.SetText(str(needCount))
        else:
            self.GivenCount.SetText(str(givenCount))
            
        self.NeedCount.SetText(str(needCount))
        self.remainingTime = app.GetGlobalTimeStamp()+int(remainingTime)


        self.ItemData["grid"][4].Show()
        self.ItemData["grid"][5].Show()
        self.boardElement["element"]["image01"].Show()
        self.boardElement["element"]["image02"].Show()

        if self.MissionState == 3 or self.MissionState == 2:
            self.boardElement["element"]["giveButton"].Hide()
            self.boardElement["element"]["giveAllButton"].Hide()
            self.boardElement["element"]["giftButton"].Show()

            if self.MissionState == 2:
                self.boardElement["element"]["giftButton"].SetText(uiScriptLocale.BIYOLOG_BUTTON_03)
                self.boardElement["element"]["giftButton"].SetEvent(ui.__mem_func__(self.GiftButton))
            elif self.MissionState == 3 and self.Mission in [9, 10]:
                self.boardElement["element"]["giftButton"].SetText("Bonus Seç")
                self.boardElement["element"]["giftButton"].SetEvent(ui.__mem_func__(self.__BonusSelectDialog))
            else:
                self.boardElement["element"]["giftButton"].SetText(uiScriptLocale.BIYOLOG_BUTTON_04)
                self.boardElement["element"]["giftButton"].SetEvent(ui.__mem_func__(self.GiftButton))
        else:
            self.boardElement["element"]["giveButton"].Show()
            self.boardElement["element"]["giveAllButton"].Show()
            self.boardElement["element"]["giftButton"].Hide()
            self.boardElement["element"]["giftButton"].SetText(uiScriptLocale.BIYOLOG_BUTTON_04)

        self.SetItems(ITEM_DATA[self.Mission]) #382. SATIR
        
        if self.Mission in [9, 10]:
            self.bonus.SetText("Seçilebilir Bonuslar")
        else:
            self.bonus.SetText("Bonuslar")

        if not self.Mission in [21, 22]:
            self.SetBonuses(BONUSES_LIST[self.Mission])
        else:
            if self.text[0]:
                del self.text[0]
                self.text[0] = None

            #self.RefreshSize()

        for i in xrange(len(TEXT_LIST)):
            if self.text[1].has_key(i):
                del self.text[1][i]

            if not self.text[1].has_key(i):
                text = MultiLineText()
                text.SetParent(self)
                text.SetText(TEXT_LIST[i], "Tahoma:12")
                text.SetPosition(self.GetWidth()/2-20, self.GetHeight()-140+(i*45))
                text.Show()
                self.text[1][i] = text


382. satırı yorum satırı olarak belirttim. dediğim gibi çok önce eklediğim bi sistemdi bu herhangi bi oynama vs yapmadım. en son akiranın event sistemini eklemiştim ama alakasını pek çözemedim.
 
O halde RefreshSize fonksiyonu çalışırken bu hatayı veriyor. Kesin emin olmak için self.RefreshSize() fonksiyonu da yorum olarak verebilir misiniz? :)
 
O halde RefreshSize fonksiyonu çalışırken bu hatayı veriyor. Kesin emin olmak için self.RefreshSize() fonksiyonu da yorum olarak verebilir misiniz? :)
#self.RefreshSize()
umarım bu satırı 382. satır sanmadınız. baştan işimi garantiye alayım yanlış yönlenmeyelim. :)

self.SetItems(ITEM_DATA[self.Mission]) #382. SATIR

382. satır burası

ama yine de istediğiniz fonksiyonu atıyorum;


Python:
Genişlet Daralt Kopyala
    def RefreshSize(self, len_=0):
        if len_ == 0:
            len_ = 304
            self.boardElement["element"]["tab01"].Hide()
        else:
            self.boardElement["element"]["tab01"].Show()

        self.SetSize(self.GetWidth(), len_+10)
        Height = self.GetHeight() - 10
        
        self.boardElement["board"][0].SetSize(self.GetWidth()-2, Height+25)
        self.boardElement["board"][1].SetSize(self.GetWidth()-28, Height-48)

        self.boardElement["element"]["line01"].SetPosition(40, Height-139)

        self.ItemData["grid"][1].SetPosition(210, Height-132)
        self.ItemData["grid"][2].SetPosition(210, Height-132)
        self.ItemData["grid"][3].SetPosition(210, Height-86)

        self.boardElement["element"]["giveButton"].SetPosition(46, Height-10)
        self.boardElement["element"]["giveAllButton"].SetPosition(146, Height-10)
        self.boardElement["element"]["giftButton"].SetPosition(52, Height-13)
 
Hee ben orayı görünce o kısımı bahsettiniz sandım. Normalde editörde satır vurgulama mevcut. Sorunun kaynağı dizide olmayan bir değeri almaya çalışması.

Python:
Genişlet Daralt Kopyala
self.SetItems(ITEM_DATA[self.Mission])

self.Mission değişkenine tanımlı olan değeri ITEM_DATA’ya gönderiyor. self.Mission’un hafızada değer tuttuğundan emin olun ya da self.SetItems’e veriyi göndermeden önce if not ile kontrol edebilirsiniz.
 
Hee ben orayı görünce o kısımı bahsettiniz sandım. Normalde editörde satır vurgulama mevcut. Sorunun kaynağı dizide olmayan bir değeri almaya çalışması.

Python:
Genişlet Daralt Kopyala
self.SetItems(ITEM_DATA[self.Mission])

self.Mission değişkenine tanımlı olan değeri ITEM_DATA’ya gönderiyor. self.Mission’un hafızada değer tuttuğundan emin olun ya da self.SetItems’e veriyi göndermeden önce if not ile kontrol edebilirsiniz.
benim anlamadığım bu dosya en son haziran ayında değiştirilmiş. bayadır da test ediyorum zaten bu sistemde hiçbi sıkıntı yoktu. nasıl böyle olmuş olabilir ki. yani demek istediğim bu dosyanın sağlam olduğunu düşünüyorum.
 
Dediğim şekilde kontrol edin. Eğer self.Mission verileri düzgün alıyorsa sorun yok. Dizide olmayan eleman hatasını çözmek için ise ya if koşulu ile kontrol edin ya da try, catch kullanın
 
Şuan aynı hatayı bende yaşadım sorunun sebebi şu.
İlk biyolog görevi 30 levelde geldiği için, karakterin leveli 30 levelden düşük ise butona basarsa syserr bırakıyor.
Bütün olay bu.
 
Bi anda gm hesabıyla kendinize level verip 99 yapınca butona basınca çalışmıyor.
Sebebi sistem direk algılamıyor. Karakter atıp girdiğinde problem düzeliyor.
Diceksin ee normal hesaplar kasarken tıklayınca ne olcak sorgu olmucak mı?

Honeycam_2020-11-11_23-00-33.gif
 
Sistemi ilk kodlayan kişiyi biliyorsanız bu sorunu iletin. Diğer türlü kodları inceleyip hatanın yerini tespit etmeniz gerekecek. Genelde bu tarz şey algoritmanın yanlış kurulmasından kaynaklanıyor. :(
 
Bi anda gm hesabıyla kendinize level verip 99 yapınca butona basınca çalışmıyor.
Sebebi sistem direk algılamıyor. Karakter atıp girdiğinde problem düzeliyor.
Diceksin ee normal hesaplar kasarken tıklayınca ne olcak sorgu olmucak mı?

Honeycam_2020-11-11_23-00-33.gif
evet dün gece ben de tesadüfen fark ettim bunu. karakter atınca geliyor sayfa. update fonksiyonunda gerekli kontroller yapılmadığı için böyle şeyler oluyor sanırım. şimdilik es geçiyorum zaman bulup çözersem paylaşacağım. ilginize teşekkürler
 
Üst