Çözüldü SetHPTargetBoard() takes exactly 5 arguments (4 given)

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

bckntr

Z I M B A
Geliştirici
Yardımsever Üye
Usta Üye
Mesaj
1.557
Çözümler
83
Beğeni
2.906
Puan
1.819
Ticaret Puanı
0
Selamun aleyküm, bu durum ws atarken ortaya çıkıyor hp görme sistemi ile alakalı ama ne yaptıysam bir türlü anlam veremedim deveden büyük fil vardır derler. Belki bana zor içinizden birine çok kolay gelecektir yorum atanlara şimdiden teşekkürler.

0716 12:45:20651 :: TypeError
0716 12:45:20651 :: :
0716 12:45:20651 :: SetHPTargetBoard() takes exactly 5 arguments (4 given)
0716 12:45:20651 ::
 
Çözüm
.cpp içindeki kod yanlış eklenmiş. Aşağıdaki gibi kullanmayı deneyebilirsin. Ancak python tarafında SetHPTargetBoard fonksiyonunda ENABLE_PENDANT_SYSTEM sistemine ait düzenlemeleri göremedim. Eğer bu düzenlemeler olmazsa(ve bu sistemi kullanıyorsan) aşağıda verdiğim kod da hata verecektir.
Argüman sıralamasını dikkate alarak ENABLE_PENDANT_SYSTEM eklemelerini de SetHPTargetBoard fonksiyonuna eklemen gerek.

C++:
Genişlet Daralt Kopyala
            #ifdef ENABLE_VIEW_TARGET_PLAYER_HP
            if (pInstTarget->IsBuilding())
            #else
            if (pInstTarget->IsPC() || pInstTarget->IsBuilding())
            #endif
                PyCallClassMemberFunc (m_apoPhaseWnd[PHASE_WINDOW_GAME], "CloseTargetBoardIfDifferent", Py_BuildValue ("(i)", TargetPacket.dwVID))...
game.py içindeki SetHPTargetBoard fonksiyonunu kontrol et.
 
game.py içindeki SetHPTargetBoard fonksiyonunu kontrol et.
Python:
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()
 
Python:
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()
PythonNetworkStreamPhaseGame.cpp içinde:
C++:
Genişlet Daralt Kopyala
PyCallClassMemberFunc(m_apoPhaseWnd[PHASE_WINDOW_GAME], "SetHPTargetBoard"

Bu kısmı gösterir misin?
 
PythonNetworkStreamPhaseGame.cpp içinde:
C++:
Genişlet Daralt Kopyala
PyCallClassMemberFunc(m_apoPhaseWnd[PHASE_WINDOW_GAME], "SetHPTargetBoard"

Bu kısmı gösterir misin?
C++:
Genişlet Daralt Kopyala
            #ifdef ENABLE_PENDANT_SYSTEM
            PyCallClassMemberFunc (m_apoPhaseWnd[PHASE_WINDOW_GAME], "SetHPTargetBoard", Py_BuildValue ("(iii)", TargetPacket.dwVID, TargetPacket.bHPPercent, TargetPacket.bElement));
            #endif
            #ifdef ENABLE_VIEW_TARGET_PLAYER_HP
            if (pInstTarget->IsBuilding())
            #else
            if (pInstTarget->IsPC() || pInstTarget->IsBuilding())
            #endif
                PyCallClassMemberFunc (m_apoPhaseWnd[PHASE_WINDOW_GAME], "CloseTargetBoardIfDifferent", Py_BuildValue ("(i)", TargetPacket.dwVID));
            else if (pInstPlayer->CanViewTargetHP (*pInstTarget))
            #ifdef ENABLE_VIEW_TARGET_DECIMAL_HP
                PyCallClassMemberFunc (m_apoPhaseWnd[PHASE_WINDOW_GAME], "SetHPTargetBoard", Py_BuildValue ("(iiii)", TargetPacket.dwVID, TargetPacket.bHPPercent, TargetPacket.iMinHP, TargetPacket.iMaxHP));
            #else
                PyCallClassMemberFunc (m_apoPhaseWnd[PHASE_WINDOW_GAME], "SetHPTargetBoard", Py_BuildValue ("(ii)", TargetPacket.dwVID, TargetPacket.bHPPercent));
            #endif
 
.cpp içindeki kod yanlış eklenmiş. Aşağıdaki gibi kullanmayı deneyebilirsin. Ancak python tarafında SetHPTargetBoard fonksiyonunda ENABLE_PENDANT_SYSTEM sistemine ait düzenlemeleri göremedim. Eğer bu düzenlemeler olmazsa(ve bu sistemi kullanıyorsan) aşağıda verdiğim kod da hata verecektir.
Argüman sıralamasını dikkate alarak ENABLE_PENDANT_SYSTEM eklemelerini de SetHPTargetBoard fonksiyonuna eklemen gerek.

C++:
Genişlet Daralt Kopyala
            #ifdef ENABLE_VIEW_TARGET_PLAYER_HP
            if (pInstTarget->IsBuilding())
            #else
            if (pInstTarget->IsPC() || pInstTarget->IsBuilding())
            #endif
                PyCallClassMemberFunc (m_apoPhaseWnd[PHASE_WINDOW_GAME], "CloseTargetBoardIfDifferent", Py_BuildValue ("(i)", TargetPacket.dwVID));
            else if (pInstPlayer->CanViewTargetHP (*pInstTarget))
            #ifdef ENABLE_VIEW_TARGET_DECIMAL_HP
            #ifdef ENABLE_PENDANT_SYSTEM
                PyCallClassMemberFunc (m_apoPhaseWnd[PHASE_WINDOW_GAME], "SetHPTargetBoard", Py_BuildValue ("(iiiii)", TargetPacket.dwVID, TargetPacket.bHPPercent, TargetPacket.bElement, TargetPacket.iMinHP, TargetPacket.iMaxHP));
            #else
                PyCallClassMemberFunc (m_apoPhaseWnd[PHASE_WINDOW_GAME], "SetHPTargetBoard", Py_BuildValue ("(iiii)", TargetPacket.dwVID, TargetPacket.bHPPercent, TargetPacket.iMinHP, TargetPacket.iMaxHP));
            #endif // ENABLE_PENDANT_SYSTEM
            #else // ENABLE_VIEW_TARGET_DECIMAL_HP
                PyCallClassMemberFunc (m_apoPhaseWnd[PHASE_WINDOW_GAME], "SetHPTargetBoard", Py_BuildValue ("(ii)", TargetPacket.dwVID, TargetPacket.bHPPercent));
            #endif
 
Çözüm
.cpp içindeki kod yanlış eklenmiş. Aşağıdaki gibi kullanmayı deneyebilirsin. Ancak python tarafında SetHPTargetBoard fonksiyonunda ENABLE_PENDANT_SYSTEM sistemine ait düzenlemeleri göremedim. Eğer bu düzenlemeler olmazsa(ve bu sistemi kullanıyorsan) aşağıda verdiğim kod da hata verecektir.
Argüman sıralamasını dikkate alarak ENABLE_PENDANT_SYSTEM eklemelerini de SetHPTargetBoard fonksiyonuna eklemen gerek.

C++:
Genişlet Daralt Kopyala
            #ifdef ENABLE_VIEW_TARGET_PLAYER_HP
            if (pInstTarget->IsBuilding())
            #else
            if (pInstTarget->IsPC() || pInstTarget->IsBuilding())
            #endif
                PyCallClassMemberFunc (m_apoPhaseWnd[PHASE_WINDOW_GAME], "CloseTargetBoardIfDifferent", Py_BuildValue ("(i)", TargetPacket.dwVID));
            else if (pInstPlayer->CanViewTargetHP (*pInstTarget))
            #ifdef ENABLE_VIEW_TARGET_DECIMAL_HP
            #ifdef ENABLE_PENDANT_SYSTEM
                PyCallClassMemberFunc (m_apoPhaseWnd[PHASE_WINDOW_GAME], "SetHPTargetBoard", Py_BuildValue ("(iiiii)", TargetPacket.dwVID, TargetPacket.bHPPercent, TargetPacket.bElement, TargetPacket.iMinHP, TargetPacket.iMaxHP));
            #else
                PyCallClassMemberFunc (m_apoPhaseWnd[PHASE_WINDOW_GAME], "SetHPTargetBoard", Py_BuildValue ("(iiii)", TargetPacket.dwVID, TargetPacket.bHPPercent, TargetPacket.iMinHP, TargetPacket.iMaxHP));
            #endif // ENABLE_PENDANT_SYSTEM
            #else // ENABLE_VIEW_TARGET_DECIMAL_HP
                PyCallClassMemberFunc (m_apoPhaseWnd[PHASE_WINDOW_GAME], "SetHPTargetBoard", Py_BuildValue ("(ii)", TargetPacket.dwVID, TargetPacket.bHPPercent));
            #endif
PyCallClassMemberFunc (m_apoPhaseWnd[PHASE_WINDOW_GAME], "SetHPTargetBoard", Py_BuildValue ("(iii)", TargetPacket.dwVID, TargetPacket.bHPPercent, TargetPacket.bElement));


(iii) şu kısımda bir eksik vardı tam konuya dönüş yapacaktım sen yazmışsın fikrin ve yardımın için teşekkür ederim kaiser :love:
 
Durum
İçerik kilitlendiği için mesaj gönderimine kapatıldı.
Geri
Üst