Çözüldü Mob Can Sorunu

  • Konuyu açan Konuyu açan cosion
  • Açılış Tarihi Açılış Tarihi
  • Yanıt Yanıt 3
  • Gösterim Gösterim 295
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ı.

cosion

Üye
Üye
Mesaj
140
Çözümler
12
Beğeni
25
Puan
474
Ticaret Puanı
0
Selam arkadaşlar, mobların canlarını yükseltmek için veri tiplerini değiştirdim. Fakat değiştirdikten sonra
asdd.png

Resimdeki gibi metin canı / 0 görünüyor. Sorun neyden kaynaklanıyor olabilir, bir fikri olan varmı acaba ? Sadece metin değil tüm mobların canlarında bu problemi yaşıyorum. İyi forumlar herkese
 
Son düzenleme:
Çözüm
Biraz dikkatsizliğime gözümün önündeki şeyi görememişim :D

Baktığım fileste ekstra bir değer daha varmış, Py_BuildValue("(iiLLi) o yüzden en sonda fazladan i var, bende Py_BuildValue("(iiLL)", yapınca sorun düzeldi.
uitarget.py içerisinde


Python:
Genişlet Daralt Kopyala
            if app.ENABLE_VIEW_TARGET_DECIMAL_HP:
                iMinHPText = '.'.join([i - 3 < 0 and str(iMinHP)[:i] or str(iMinHP)[i-3:i] for i in range(len(str(iMinHP)) % 3, len(str(iMinHP))+1, 3) if i])
                iMaxHPText = '.'.join([i - 3 < 0 and str(iMaxHP)[:i] or str(iMaxHP)[i-3:i] for i in range(len(str(iMaxHP)) % 3, len(str(iMaxHP))+1, 3) if i])
                self.hpDecimal.SetText(str(iMinHPText) + "/" + str(iMaxHPText))
                (textWidth, textHeight)=self.hpDecimal.GetTextSize()
                if localeInfo.IsARABIC():
                    self.hpDecimal.SetPosition(120 / 2 + textWidth / 2, -13)
                else:
                    self.hpDecimal.SetPosition(130 / 2 - textWidth / 2, -13)

Bu kısımda iMaxHPText değer almıyor sanırım. Client tam olarak buraya nereden değer gönderiliyor, sorun buradan kaynaklı sanırım
 
Client srcde, SetHPTargetBoard kısmında ( bu kod mob hpleri yükseltilmiş bir files)
Kod:
Genişlet Daralt Kopyala
PyCallClassMemberFunc(m_apoPhaseWnd[PHASE_WINDOW_GAME], "SetHPTargetBoard", Py_BuildValue("(iiLLi)", TargetPacket.dwVID, TargetPacket.bHPPercent, TargetPacket.iMinHP, TargetPacket.iMaxHP));
burada Py_BuildValue("(iiLLi)" olarak eklenmiş,

Bu kodda benim SetHPTargetBoard ,


Kod:
Genişlet Daralt Kopyala
PyCallClassMemberFunc(m_apoPhaseWnd[PHASE_WINDOW_GAME], "SetHPTargetBoard", Py_BuildValue("(iiii)", TargetPacket.dwVID, TargetPacket.bHPPercent, TargetPacket.iMinHP, TargetPacket.iMaxHP));

Py_BuildValue("(iiii)" ben bu kısmı yukarıdaki gibi iiLLi yapınca bu syserri alıyorum.


Kod:
Genişlet Daralt Kopyala
1206 22:57:27338 :: TypeError
1206 22:57:27338 :: :
1206 22:57:27338 :: SetHPTargetBoard() takes exactly 5 arguments (6 given)
1206 22:57:27338 ::

SetHPTargetBoard kısmıda bu şekilde,

Kod:
Genişlet Daralt Kopyala
    if app.ENABLE_VIEW_TARGET_DECIMAL_HP:
        def SetHPTargetBoard(self, vid, hpPercentage, iMinHP, iMaxHP):
            if vid != self.targetBoard.GetTargetVID():
                self.targetBoard.ResetTargetBoard()
                self.targetBoard.SetEnemyVID(vid)
            
            self.targetBoard.SetHP(hpPercentage, iMinHP, iMaxHP)
            self.targetBoard.Show()
    else:
        def SetHPTargetBoard(self, vid, hpPercentage):
            if vid != self.targetBoard.GetTargetVID():
                self.targetBoard.ResetTargetBoard()
                self.targetBoard.SetEnemyVID(vid)
            
            self.targetBoard.SetHP(hpPercentage)
            self.targetBoard.Show()

Sorun buralarda bir yerlerde gibi, fikri olan var mı acaba :D
 
Biraz dikkatsizliğime gözümün önündeki şeyi görememişim :D

Baktığım fileste ekstra bir değer daha varmış, Py_BuildValue("(iiLLi) o yüzden en sonda fazladan i var, bende Py_BuildValue("(iiLL)", yapınca sorun düzeldi.
 
Çözüm
Durum
İçerik kilitlendiği için mesaj gönderimine kapatıldı.
Geri
Üst