GameType.h
typedef struct packet_shop_item
{
DWORD vnum;
DWORD price;
BYTE count;
#ifdef ENABLE_MULTISHOP
DWORD wPriceVnum;
DWORD wPrice;
#endif
BYTE display_pos;
long alSockets[ITEM_SOCKET_SLOT_MAX_NUM];
TPlayerItemAttribute aAttr[ITEM_ATTRIBUTE_SLOT_MAX_NUM];
} TShopItemData;
Packet.h
typedef struct SShopItemTable
{
DWORD vnum;
BYTE count;
TItemPos pos; // PC 상점에만 이용
DWORD price; // PC 상점에만 이용
#ifdef ENABLE_MULTISHOP
DWORD wPriceVnum;
DWORD wPrice;
#endif
BYTE display_pos; // PC 상점에만 이용, 보일 위치.
} TShopItemTable;
Packet.h
enum EPacketShopSubHeaders
{
SHOP_SUBHEADER_GC_START,
SHOP_SUBHEADER_GC_END,
SHOP_SUBHEADER_GC_UPDATE_ITEM,
SHOP_SUBHEADER_GC_UPDATE_PRICE,
#ifdef ENABLE_MULTISHOP
SHOP_SUBHEADER_GC_NOT_ENOUGH_ITEM,
#endif
SHOP_SUBHEADER_GC_OK,
SHOP_SUBHEADER_GC_NOT_ENOUGH_MONEY,
SHOP_SUBHEADER_GC_SOLDOUT,
SHOP_SUBHEADER_GC_INVENTORY_FULL,
SHOP_SUBHEADER_GC_INVALID_POS,
SHOP_SUBHEADER_GC_SOLD_OUT,
SHOP_SUBHEADER_GC_START_EX,
SHOP_SUBHEADER_GC_NOT_ENOUGH_MONEY_EX,
};
PythonApplicationModule.cpp
Asta il adaugati undeva mai jos printre alte #ifdef nu fix sub
PyModule_AddIntConstant(poModule, "CAMERA_STOP", CPythonApplication::CAMERA_STOP);
La mine arata asa
PyModule_AddIntConstant(poModule, "CAMERA_STOP", CPythonApplication::CAMERA_STOP);
#ifdef ENABLE_COSTUME_SYSTEM
PyModule_AddIntConstant(poModule, "ENABLE_COSTUME_SYSTEM", 1);
#else
PyModule_AddIntConstant(poModule, "ENABLE_COSTUME_SYSTEM", 0);
#endif
#ifdef ENABLE_AGGREGATE_MONSTER_EFFECT
PyModule_AddIntConstant(poModule, "ENABLE_AGGREGATE_MONSTER_EFFECT", 1);
#else
PyModule_AddIntConstant(poModule, "ENABLE_AGGREGATE_MONSTER_EFFECT", 0);
#endif
#ifdef ENABLE_ENERGY_SYSTEM
PyModule_AddIntConstant(poModule, "ENABLE_ENERGY_SYSTEM", 1);
#else
PyModule_AddIntConstant(poModule, "ENABLE_ENERGY_SYSTEM", 0);
#endif
#ifdef ENABLE_MULTISHOP
PyModule_AddIntConstant(poModule, "ENABLE_MULTISHOP", 1);
#else
PyModule_AddIntConstant(poModule, "ENABLE_MULTISHOP", 0);
#endif
#ifdef ENABLE_DRAGON_SOUL_SYSTEM
PyModule_AddIntConstant(poModule, "ENABLE_DRAGON_SOUL_SYSTEM", 1);
#else
PyModule_AddIntConstant(poModule, "ENABLE_DRAGON_SOUL_SYSTEM", 0);
#endif
PythonNetworkStreamPhaseGame.cpp
case SHOP_SUBHEADER_GC_NOT_ENOUGH_MONEY:
PyCallClassMemberFunc(m_apoPhaseWnd[PHASE_WINDOW_GAME], "OnShopError", Py_BuildValue("(s)", "NOT_ENOUGH_MONEY"));
break;
#ifdef ENABLE_MULTISHOP
case SHOP_SUBHEADER_GC_NOT_ENOUGH_ITEM:
PyCallClassMemberFunc(m_apoPhaseWnd[PHASE_WINDOW_GAME], "OnShopError", Py_BuildValue("(s)", "NOT_ENOUGH_ITEM"));
break;
#endif
PythonShop.cpp
PyObject * shopGetItemMetinSocket(PyObject * poSelf, PyObject * poArgs)
{
[...]
}
#ifdef ENABLE_MULTISHOP
PyObject * shopGetBuyWithItem(PyObject * poSelf, PyObject * poArgs)
{
[...]
}
#endif
{ "GetItemPrice", shopGetItemPrice, METH_VARARGS },
#ifdef ENABLE_MULTISHOP
{ "GetBuyWithItem", shopGetBuyWithItem, METH_VARARGS },
{ "GetBuyWithItemCount", shopGetBuyWithItemCount, METH_VARARGS },
#endif
PythonItemModule.cpp
PyObject * itemSelectItem(PyObject * poSelf, PyObject * poArgs)
{
[...]
}
PyObject * itemGetCurrentItemVnum(PyObject * poSelf, PyObject * poArgs)
{
CItemData * pItemData = CItemManager::Instance().GetSelectedItemDataPointer();
if (!pItemData)
return Py_BuildException("no selected item data");
return Py_BuildValue("i", pItemData->GetIndex());
}
Si
{ "GetISellItemPrice", itemGetISellItemPrice, METH_VARARGS },
{ "GetVnum", itemGetCurrentItemVnum, METH_VARARGS },