- 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
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;
}


