- Mesaj
- 435
- Çözümler
- 41
- Beğeni
- 211
- Puan
- 844
- Ticaret Puanı
- 0
Pazarda won değeri doğru gözüküyor ancak satın al dediğimde won fiyatı yazmıyor ve satın almaya evet dediğim zaman satın alma işlemini tamamlamıyor aşağıdaki syserr veriyor. Bilgisi olan var mı?
Kod:
1129 23:51:25311 :: CPythonNetworkStream::RecvShopPacket: Unknown subheader
PythonNetworkStreamPhaseGame.cpp:
bool CPythonNetworkStream::RecvShopPacket()
{
std::vector<char> vecBuffer;
vecBuffer.clear();
TPacketGCShop packet_shop;
if (!Recv(sizeof(packet_shop), &packet_shop))
return false;
int iSize = packet_shop.size - sizeof(packet_shop);
if (iSize > 0)
{
vecBuffer.resize(iSize);
if (!Recv(iSize, &vecBuffer[0]))
return false;
}
switch (packet_shop.subheader)
{
case SHOP_SUBHEADER_GC_START:
{
CPythonShop::Instance().Clear();
DWORD dwVID = *(DWORD *)&vecBuffer[0];
TPacketGCShopStart* pShopStartPacket = (TPacketGCShopStart*)vecBuffer.data();
for (BYTE iItemIndex = 0; iItemIndex < SHOP_HOST_ITEM_MAX_NUM; ++iItemIndex)
{
CPythonShop::Instance().SetItemData(iItemIndex, pShopStartPacket->items[iItemIndex]);
}
#ifdef ENABLE_2TH_SHOPEX_SYSTEM
CPythonShop::Instance().SetShopName(pShopStartPacket->shop_name);
CPythonShop::Instance().SetPriceType(pShopStartPacket->price_type);
#endif
PyCallClassMemberFunc(m_apoPhaseWnd[PHASE_WINDOW_GAME], "StartShop", Py_BuildValue("(i)", dwVID));
}
break;
case SHOP_SUBHEADER_GC_START_EX:
{
CPythonShop::Instance().Clear();
TPacketGCShopStartEx * pShopStartPacket = (TPacketGCShopStartEx *)&vecBuffer[0];
size_t read_point = sizeof(TPacketGCShopStartEx);
DWORD dwVID = pShopStartPacket->owner_vid;
BYTE shop_tab_count = pShopStartPacket->shop_tab_count;
CPythonShop::instance().SetTabCount(shop_tab_count);
for (size_t i = 0; i < shop_tab_count; i++)
{
TPacketGCShopStartEx::TSubPacketShopTab* pPackTab = (TPacketGCShopStartEx::TSubPacketShopTab*)&vecBuffer[read_point];
read_point += sizeof(TPacketGCShopStartEx::TSubPacketShopTab);
CPythonShop::instance().SetTabCoinType(i, pPackTab->coin_type);
CPythonShop::instance().SetTabName(i, pPackTab->name);
struct packet_shop_item* item = &pPackTab->items[0];
for (BYTE j = 0; j < SHOP_HOST_ITEM_MAX_NUM; j++)
{
TShopItemData* itemData = (item + j);
CPythonShop::Instance().SetItemData(i, j, *itemData);
}
}
PyCallClassMemberFunc(m_apoPhaseWnd[PHASE_WINDOW_GAME], "StartShop", Py_BuildValue("(i)", dwVID));
}
break;
case SHOP_SUBHEADER_GC_END:
PyCallClassMemberFunc(m_apoPhaseWnd[PHASE_WINDOW_GAME], "EndShop", Py_BuildValue("()"));
break;
case SHOP_SUBHEADER_GC_UPDATE_ITEM:
{
TPacketGCShopUpdateItem * pShopUpdateItemPacket = (TPacketGCShopUpdateItem *)&vecBuffer[0];
CPythonShop::Instance().SetItemData(pShopUpdateItemPacket->pos, pShopUpdateItemPacket->item);
PyCallClassMemberFunc(m_apoPhaseWnd[PHASE_WINDOW_GAME], "RefreshShop", Py_BuildValue("()"));
}
break;
case SHOP_SUBHEADER_GC_UPDATE_PRICE:
PyCallClassMemberFunc(m_apoPhaseWnd[PHASE_WINDOW_GAME], "SetShopSellingPrice", Py_BuildValue("(i)", *(int *)&vecBuffer[0]));
break;
case SHOP_SUBHEADER_GC_NOT_ENOUGH_MONEY:
PyCallClassMemberFunc(m_apoPhaseWnd[PHASE_WINDOW_GAME], "OnShopError", Py_BuildValue("(s)", "NOT_ENOUGH_MONEY"));
break;
case SHOP_SUBHEADER_GC_NOT_ENOUGH_MONEY_EX:
PyCallClassMemberFunc(m_apoPhaseWnd[PHASE_WINDOW_GAME], "OnShopError", Py_BuildValue("(s)", "NOT_ENOUGH_MONEY_EX"));
break;
#ifdef ENABLE_2TH_SHOPEX_SYSTEM
case SHOP_SUBHEADER_GC_NOT_ENOUGH_DRAGON_COIN:
PyCallClassMemberFunc(m_apoPhaseWnd[PHASE_WINDOW_GAME], "OnShopError", Py_BuildValue("(s)", "NOT_ENOUGH_DRAGON_COIN"));
break;
case SHOP_SUBHEADER_GC_NOT_ENOUGH_DRAGON_MARK:
PyCallClassMemberFunc(m_apoPhaseWnd[PHASE_WINDOW_GAME], "OnShopError", Py_BuildValue("(s)", "NOT_ENOUGH_DRAGON_MARK"));
break;
case SHOP_SUBHEADER_GC_NOT_ENOUGH_ALIGNMENT:
PyCallClassMemberFunc(m_apoPhaseWnd[PHASE_WINDOW_GAME], "OnShopError", Py_BuildValue("(s)", "NOT_ENOUGH_ALIGNMENT"));
break;
case SHOP_SUBHEADER_GC_NOT_ENOUGH_WARPOINT:
PyCallClassMemberFunc(m_apoPhaseWnd[PHASE_WINDOW_GAME], "OnShopError", Py_BuildValue("(s)", "NOT_ENOUGH_WARPOINT"));
break;
case SHOP_SUBHEADER_GC_NOT_ENOUGH_10TH_GOLD:
PyCallClassMemberFunc(m_apoPhaseWnd[PHASE_WINDOW_GAME], "OnShopError", Py_BuildValue("(s)", "NOT_ENOUGH_10THGOLD"));
break;
#endif
case SHOP_SUBHEADER_GC_SOLDOUT:
PyCallClassMemberFunc(m_apoPhaseWnd[PHASE_WINDOW_GAME], "OnShopError", Py_BuildValue("(s)", "SOLDOUT"));
break;
case SHOP_SUBHEADER_GC_INVENTORY_FULL:
PyCallClassMemberFunc(m_apoPhaseWnd[PHASE_WINDOW_GAME], "OnShopError", Py_BuildValue("(s)", "INVENTORY_FULL"));
break;
case SHOP_SUBHEADER_GC_INVALID_POS:
PyCallClassMemberFunc(m_apoPhaseWnd[PHASE_WINDOW_GAME], "OnShopError", Py_BuildValue("(s)", "INVALID_POS"));
break;
default:
TraceError("CPythonNetworkStream::RecvShopPacket: Unknown subheader\n");
break;
}
return true;
}