Çözüldü RefreshInventory() takes exactly 1 argument (2 given)

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

hasanmacit

discord: hasanmacit
Süper Moderatör
Geliştirici
Yardımsever Üye
Mesaj
4.328
Çözümler
180
Beğeni
3.848
Puan
1.850
Ticaret Puanı
3
src tarafından gelen veri tek argümanlı. pythondaki veri tek argümanlı. nerede 2 argümanlı verilmiş onu çözemedim. genel olarak eşyaları k envanterde hareket ettirince yaşıyorum bu sıkıntıyı.

root içerisinde argüman bulunan refreshinventory koşulu yok. ayrıca debug modda da bir syserr ya da log kaydı yok onu da belirteyim.

Kod:
Genişlet Daralt Kopyala
0716 11:32:08003 :: TypeError
0716 11:32:08003 :: :
0716 11:32:08003 :: RefreshInventory() takes exactly 1 argument (2 given)
0716 11:32:08003 ::

C++:
Genişlet Daralt Kopyala
#ifdef ENABLE_ADDITIONAL_INVENTORY
PyObject* netSendSpecialMovePacket(PyObject* poSelf, PyObject* poArgs)
{
    int sourceCell, targetCell, type;
    BYTE count;
    if (!PyTuple_GetInteger(poArgs, 0, &type))
        return Py_BuildException();
    if (!PyTuple_GetInteger(poArgs, 1, &sourceCell))
        return Py_BuildException();
    if (!PyTuple_GetInteger(poArgs, 2, &targetCell))
        return Py_BuildException();
    if (!PyTuple_GetInteger(poArgs, 3, &count))
        return Py_BuildException();
    CPythonNetworkStream& rkNetStream = CPythonNetworkStream::Instance();
    rkNetStream.SendItemMovePacket(TItemPos(type, sourceCell), TItemPos(INVENTORY, targetCell), (BYTE)count);
    return Py_BuildNone();
}
#endif

Python:
Genişlet Daralt Kopyala
    def RefreshInventory(self):
        self.wndTaskBar.RefreshQuickSlot()
        self.wndInventory.RefreshItemSlot()
        if app.ENABLE_DRAGON_SOUL_SYSTEM:
            self.wndDragonSoul.RefreshItemSlot()
        if app.ENABLE_ADDITIONAL_INVENTORY:
            self.wndSpecialStorage.RefreshItemSlot()
        if app.ENABLE_ADDITIONAL_EQUIPMENT_PAGE:
            self.wndEquip.RefreshItemSlot()
        if app.ENABLE_AURA_SYSTEM:
            if player.IsAuraRefineWindowOpen():
                if self.wndAura and self.wndAura.IsShow():
                    self.wndAura.RefreshAuraWindow()
        if app.BL_TRANSMUTATION_SYSTEM:
            if player.GetChangeLookWindowOpen() == 1:
                self.wndChangeLook.RefreshChangeLookWindow()

C++:
Genişlet Daralt Kopyala
    if (m_isRefreshInventoryWnd)
    {
        m_isRefreshInventoryWnd=false;
        PyCallClassMemberFunc(m_apoPhaseWnd[PHASE_WINDOW_GAME], "RefreshInventory", Py_BuildValue("()"));
        s_nextRefreshTime = curTime + 300;
    }

#ifdef ENABLE_ADDITIONAL_INVENTORY
    if (m_isRefreshAdditionalInventoryWnd)
    {
        m_isRefreshAdditionalInventoryWnd = false;
        PyCallClassMemberFunc(m_apoPhaseWnd[PHASE_WINDOW_GAME], "RefreshInventory", Py_BuildValue("()"));
        s_nextRefreshTime = curTime + 300;
    }
#endif
 
Çözüm
Anydeskten bağlanıp sorunu çözdük.
Src içinde pythona yapılan "RefreshInventory" çağrısı için çift argüman kullanan bazı yerler vardı. Bu kısımları düzeltince halloldu.
Anydeskten bağlanıp sorunu çözdük.
Src içinde pythona yapılan "RefreshInventory" çağrısı için çift argüman kullanan bazı yerler vardı. Bu kısımları düzeltince halloldu.
 
Çözüm
Durum
İçerik kilitlendiği için mesaj gönderimine kapatıldı.
Üst