Hikayeler

Reklam vermek için turkmmo@gmail.com

DÜELLO SİSTEMİ ENVANTER SAFRA SORUNU

  • Konuyu başlatan R&K
  • Başlangıç tarihi
  • Cevaplar 1
  • Görüntüleme 207

R&K

Level 5
Fahri Üye
Katılım
4 May 2020
Konular
120
Mesajlar
908
Online süresi
4ay 29g
Reaksiyon Skoru
182
Altın Konu
0
Başarım Puanı
133
TM Yaşı
5 Yıl 11 Ay 21 Gün
MmoLira
6,546
DevLira
60

Metin2 EP, Valorant VP dahil tüm oyun ürünlerini en uygun fiyatlarla bulabilir, Item ve Karakterlerinizi hızlıca satabilirsiniz. HEMEN TIKLA!

Sorun Resimde göründüğü gibi sysr ise şu şekilde

0501 15:38:21576 :: Unknown packet header: 198, last: 4 99
packet.h client ve game:
typedef struct pakcet_view_equip
{
    BYTE    header;
    DWORD    vid;
#ifdef [HASH=2]#ifdef[/HASH]ENABLE_VIEW_SASH
    TEquipmentItemSet equips[17];
#else
 [HASH=2311]#else[/HASH]quipmentItemSet equips[16];
#endif
[HASH=3]#endif[/HASH]ketViewEquip;


client

typedef struct pakcet_view_equip
{
    BYTE header;
    DWORD dwVID;
#ifdef [HASH=2]#ifdef[/HASH]ENABLE_VIEW_SASH
    TEquipmentItemSet equips[17];
#else  [HASH=2311]#else[/HASH] TEquipmentItemSet equips[16];   
#endif
[HASH=3]#endif[/HASH]ketGCViewEquip;


char.cpp:
void CHARACTER::SendEquipment(LPCHARACTER ch)
{
    TPacketViewEquip p;
    p.header = HEADER_GC_VIEW_EQUIP;
    p.vid    = GetVID();

#ifdef [HASH=2]#ifdef[/HASH]ENABLE_VIEW_SASH
    int pos[17] = {    WEAR_BODY, WEAR_HEAD, WEAR_FOOTS, WEAR_WRIST, WEAR_WEAPON, WEAR_NECK, WEAR_EAR,    WEAR_UNIQUE1,
                    WEAR_UNIQUE2, WEAR_ARROW, WEAR_SHIELD, WEAR_COSTUME_BODY, WEAR_COSTUME_HAIR, WEAR_RING1, WEAR_RING2, WEAR_BELT, WEAR_COSTUME_ACCE};
    for (int i = 0; i < 17; i++)
#else
 [HASH=2311]#else[/HASH]t pos[16] = {    WEAR_BODY, WEAR_HEAD, WEAR_FOOTS, WEAR_WRIST, WEAR_WEAPON, WEAR_NECK, WEAR_EAR, WEAR_UNIQUE1,
                    WEAR_UNIQUE2, WEAR_ARROW, WEAR_SHIELD, WEAR_COSTUME_BODY, WEAR_COSTUME_HAIR, WEAR_RING1, WEAR_RING2, WEAR_BELT};
    for (int i = 0; i < 16; i++)   
#endif
[HASH=3]#endif[/HASH]        LPITEM item = GetWear(pos[i]);
        if (item) {
            p.equips[i].vnum = item->GetVnum();
            p.equips[i].count = item->GetCount();

            thecore_memcpy(p.equips[i].alSockets, item->GetSockets(), sizeof(p.equips[i].alSockets));
            thecore_memcpy(p.equips[i].aAttr, item->GetAttributes(), sizeof(p.equips[i].aAttr));
        }
        else {
            p.equips[i].vnum = 0;
        }
    }
    ch->GetDesc()->Packet(&p, sizeof(p));
}

PythonNetworkStreamPhaseGame.cpp:
bool CPythonNetworkStream::RecvViewEquipPacket()
{
    TPacketGCViewEquip kViewEquipPacket;
    if (!Recv(sizeof(kViewEquipPacket), &kViewEquipPacket))
        return false;

    PyCallClassMemberFunc(m_apoPhaseWnd[PHASE_WINDOW_GAME], "OpenEquipmentDialog", Py_BuildValue("(i)", kViewEquipPacket.dwVID));

#ifdef [HASH=2]#ifdef[/HASH]ENABLE_VIEW_SASH
    for (int i = 0; i < 17; ++i)
#else
 [HASH=2311]#else[/HASH]r (int i = 0; i < 16; ++i)
#endif
[HASH=3]#endif[/HASH]        TEquipmentItemSet & rItemSet = kViewEquipPacket.equips[i];
        PyCallClassMemberFunc(m_apoPhaseWnd[PHASE_WINDOW_GAME], "SetEquipmentDialogItem", Py_BuildValue("(iiii)", kViewEquipPacket.dwVID, i, rItemSet.vnum, rItemSet.count));

        for (int j = 0; j < ITEM_SOCKET_SLOT_MAX_NUM; ++j)
            PyCallClassMemberFunc(m_apoPhaseWnd[PHASE_WINDOW_GAME], "SetEquipmentDialogSocket", Py_BuildValue("(iiii)", kViewEquipPacket.dwVID, i, j, rItemSet.alSockets[j]));

        for (int k = 0; k < ITEM_ATTRIBUTE_SLOT_MAX_NUM; ++k)
            PyCallClassMemberFunc(m_apoPhaseWnd[PHASE_WINDOW_GAME], "SetEquipmentDialogAttr", Py_BuildValue("(iiiii)", kViewEquipPacket.dwVID, i, k, rItemSet.aAttr[k].bType, rItemSet.aAttr[k].sValue));
    }
    return true;
}
Screenshot_1.png
 

Ekli dosyalar

  • Screenshot_1.png
    Screenshot_1.png
    374.5 KB · Görüntüleme: 0

Şu an konuyu görüntüleyenler (Toplam : 1, Üye: 0, Misafir: 1)

Geri
Üst