DragonNest/Server/ServerCommon/DNServerPacketCash.h

466 lines
9.8 KiB
C
Raw Normal View History

2024-12-19 09:48:26 +08:00
#pragma once
#pragma pack(push, 1)
//-------------------------------------------------
// Cash Packet (Nexon)
//-------------------------------------------------
struct TBillingHeader
{
BYTE cPacketID; // 0xAF <20><><EFBFBD><EFBFBD>
UINT nLength; //
};
#if (defined(_KR) || defined(_US)) && defined(_CASHSERVER)
struct TBonusProductInfo
{
UINT nProductNo; // <20><><EFBFBD>ʽ<EFBFBD> <20><>ǰ <20><>ȣ
char szExtend[10]; // <20><><EFBFBD>ʽ<EFBFBD><CABD><EFBFBD>
};
struct TProductInquiry
{
int nCommodityItemSN; // CashCommodity <20><>ǰ<EFBFBD><C7B0>ȣ
int nProductNo; // <20><>ǰ<EFBFBD><C7B0>ȣ
int nRelationProductNo; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ <20>ƴҰ<C6B4><D2B0><EFBFBD> 0 <20><>ǥ<EFBFBD><C7A5>ǰ<EFBFBD><C7B0> <20><><EFBFBD><EFBFBD> product no<6E><6F> <20><><EFBFBD><EFBFBD>
short wProductExpire; // <20><><EFBFBD><EFBFBD><EFBFBD>Ⱓ (<28><>)
short wProductPieces; // <20><><EFBFBD><EFBFBD> <20><>ǰ<EFBFBD><C7B0>
char szProductID[100]; // <20><><EFBFBD>Ӽ<EFBFBD><D3BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD> DBID
char szProductGUID[32]; // NISMS<4D><53><EFBFBD><EFBFBD> <20>ο<EFBFBD><CEBF>Ǵ<EFBFBD> <20><>ǰ GUID <20>׽<EFBFBD>Ʈ, <20><><EFBFBD><EFBFBD>ȯ<EFBFBD><C8AF> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>
int nPaymentType; // <20><><EFBFBD>Ҽ<EFBFBD><D2BC><EFBFBD>
char szProductType[2]; // <20><>ǰŸ<C7B0><C5B8>
int nSalePrice; // <20><>ǰ<EFBFBD>Ǹűݾ<C5B1>
int nCategoryNo; // <20><>ǰ<EFBFBD><C7B0> <20><><EFBFBD><EFBFBD> ī<>װ<EFBFBD><D7B0><EFBFBD> <20><>ȣ
short wProductStatus; // <20><>ǰ <20><><EFBFBD><EFBFBD> <20><>ȣ
char cBonusProductCount; // <20><><EFBFBD>ʽ<EFBFBD><CABD><EFBFBD>ǰ <20><> ī<><C4AB>Ʈ
std::vector<TBonusProductInfo> vBonusProduct;
};
struct TProductItem
{
int nProductNo; // <20><>ǰ<EFBFBD><C7B0>ȣ
short wOrderQuantity; // <20>ֹ<EFBFBD><D6B9><EFBFBD><EFBFBD><EFBFBD>
char szExtend[10]; // Ȯ<>
};
struct TPickupItemSub
{
UINT nProductNo; // <20><>ǰ<EFBFBD><C7B0>ȣ
char szProductName[100];// <20><>ǰ<EFBFBD≯<EFBFBD>
char szProductID[100]; // <20><><EFBFBD>Ӽ<EFBFBD><D3BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD> DBID
USHORT wProductExpire; // <20><><EFBFBD><EFBFBD><EFBFBD>Ⱓ (<28><>)
USHORT wProductPieces; // <20><><EFBFBD><EFBFBD> <20><>ǰ<EFBFBD><C7B0>
char szProductAttribute[64][5]; // <20><>ǰ <20>Ӽ<EFBFBD><D3BC><EFBFBD>
};
struct TPickupItemBonus
{
UINT nBonusProduct; // <20><><EFBFBD>ʽ<EFBFBD> <20><>ǰ<EFBFBD><C7B0>ȣ
UINT nBonusAmount; // <20><><EFBFBD>ʽ<EFBFBD> <20>ݾ<EFBFBD>
};
struct TInventoryInquiryProduct
{
int nOrderNo;
int nProductNo;
char cProductKind;
char szProductName[100];
char szProductID[100];
short wProductExpire;
short wProductPieces;
short wOrderQuantity;
short wRemainProductQuantity;
char cPresent;
char cRead;
char cSenderServerNo;
char szSenderGameID[64];
char szSenderPresentMessage[100];
char szProductAttribute[64][5];
char szExtend[10];
};
#endif
/*-------------------------------------------------
Cash Packet
AccountDBID<EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD>տ<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. <EFBFBD><EFBFBD><EFBFBD>ɷ<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> ã<EFBFBD><EFBFBD>
-------------------------------------------------*/
struct TCashHeader
{
UINT nAccountDBID;
};
// CASH_BALANCEINQUIRY
struct TQCashBalanceInquiry : public TCashHeader
{
char szAccountName[IDLENMAX];
bool bOpen;
bool bServer;
UINT nIp;
#if defined(_KR) || defined(_US)
UINT nNexonSN;
#endif // _KR _CH
};
struct TACashBalanceInquiry : public TCashHeader
{
int nResult;
int nCashBalance;
int nPetal;
bool bOpen;
bool bServer;
#if defined(_US)
int nNotRefundableBalance; //
#endif // _US
};
struct TCashItemBase
{
int nItemSN;
TItem CashItem;
DWORD dwPartsColor1; // <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
DWORD dwPartsColor2; // <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>2
TVehicleItem VehiclePart1;
TVehicleItem VehiclePart2;
int nPaidCashAmount;
};
struct TCashBuyItem: TCashItemBase
{
char cCartIndex;
bool bFail;
};
// CASH_BUY
struct TQCashBuyBase : public TCashHeader
{
INT64 biCharacterDBID;
char cWorldSetID;
char szCharacterName[NAMELENMAX];
char cAge;
bool bPCBang;
int nMapID;
int nChannelID;
#if defined(PRE_ADD_CASH_REFUND)
bool bMoveCashInven; // ij<><C4B3><EFBFBD>κ<EFBFBD><CEBA><EFBFBD><EFBFBD><EFBFBD> <20>ٷ<EFBFBD> <20>ű<EFBFBD><C5B1><EFBFBD> <20>÷<EFBFBD><C3B7><EFBFBD>
#endif
char cPaymentRules; // Cash::PaymentRules
};
struct TQCashBuy: TQCashBuyBase
{
char cCartType; // <20><><EFBFBD><EFBFBD> īƮ Ÿ<><C5B8> (3,7: PREVIEWCARTLISTMAX, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: CARTLISTMAX, 50 + eInstantCashShopBuyType: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
char cProductCount;
#if defined(PRE_ADD_SALE_COUPON)
INT64 biSaleCouponSerial; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
#endif
TCashBuyItem BuyList[PREVIEWCARTLISTMAX];
};
struct TACashBuy : public TCashHeader
{
int nResult;
char cPaymentRules; // Cash::PaymentRules
int nPetalBalance;
char cCartType; // <20><><EFBFBD><EFBFBD> īƮ Ÿ<><C5B8> (3,7: PREVIEWCARTLISTMAX, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: CARTLISTMAX, 50 + eInstantCashShopBuyType: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
#if defined(PRE_ADD_CASH_REFUND)
TPaymentItemInfoEx ItemList[PREVIEWCARTLISTMAX];
#endif
#if defined(PRE_ADD_SALE_COUPON)
INT64 biSaleCouponSerial;
#endif
#if defined( PRE_ADD_NEW_MONEY_SEED )
INT64 nSeedPoint;
#endif
char cProductCount;
TCashBuyItem BuyList[PREVIEWCARTLISTMAX];
};
// CASH_PACKAGEBUY
struct TQCashPackageBuy: TQCashBuyBase
{
int nPackageSN; // <20><>Ű<EFBFBD><C5B0> <20><>ǥ SN
#if defined(PRE_ADD_SALE_COUPON)
INT64 biSaleCouponSerial; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
#endif
char cPackageCount; // <20><>Ű<EFBFBD><C5B0><EFBFBD>ȿ<EFBFBD> <20><>ǰ<EFBFBD><C7B0>
TCashItemBase BuyList[PACKAGEITEMMAX];
};
struct TACashPackageBuy : public TCashHeader
{
int nResult;
char cPaymentRules; // Cash::PaymentRules
int nPetalBalance;
int nPackageSN; // <20><>Ű<EFBFBD><C5B0> <20><>ǥ SN
#if defined(PRE_ADD_CASH_REFUND)
TPaymentPackageItemInfoEx PaymentItem;
#endif
#if defined(PRE_ADD_SALE_COUPON)
INT64 biSaleCouponSerial;
#endif
#if defined( PRE_ADD_NEW_MONEY_SEED )
INT64 nSeedPoint;
#endif
char cPackageCount;
TCashItemBase BuyList[PACKAGEITEMMAX];
};
struct TCashGiftItem
{
char cCartIndex;
int nItemSN;
int nItemID;
char cItemOption;
bool bFail;
};
struct TCashPackageGiftItem
{
int nItemSN;
int nItemID;
char cItemOption;
};
struct TQCashGiftBase : public TCashHeader
{
INT64 biCharacterDBID;
char cWorldSetID;
char szCharacterName[NAMELENMAX];
char cAge;
bool bPCBang;
int nMapID;
int nChannelID;
WCHAR wszReceiverCharacterName[NAMELENMAX];
WCHAR wszMessage[GIFTMESSAGEMAX];
#if defined(PRE_ADD_CADGE_CASH)
int nMailDBID;
#endif // #if defined(PRE_ADD_CADGE_CASH)
};
// CASH_GIFT
struct TQCashGift: TQCashGiftBase
{
char cCartType; // <20><><EFBFBD><EFBFBD> īƮ Ÿ<><C5B8> (3,7: PREVIEWCARTLISTMAX, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: CARTLISTMAX, 50 + eInstantCashShopBuyType: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
char cProductCount;
TCashGiftItem GiftList[PREVIEWCARTLISTMAX];
};
struct TACashGift : public TCashHeader
{
UINT nReceiverAccountDBID;
INT64 biReceiverCharacterDBID;
int nReceiverGiftCount;
int nResult;
int nPetalBalance;
char cCartType; // <20><><EFBFBD><EFBFBD> īƮ Ÿ<><C5B8> (3,7: PREVIEWCARTLISTMAX, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: CARTLISTMAX, 50 + eInstantCashShopBuyType: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
#if defined(PRE_ADD_CADGE_CASH)
int nMailDBID;
#endif // #if defined(PRE_ADD_CADGE_CASH)
#if defined( PRE_ADD_NEW_MONEY_SEED )
INT64 nSeedPoint;
#endif
char cGiftCount;
TCashGiftItem GiftList[PREVIEWCARTLISTMAX];
};
// CASH_PACKAGEGIFT
struct TQCashPackageGift: TQCashGiftBase
{
int nPackageSN; // <20><>Ű<EFBFBD><C5B0> <20><>ǥ SN
char cPackageCount; // <20><>Ű<EFBFBD><C5B0><EFBFBD>ȿ<EFBFBD> <20><>ǰ<EFBFBD><C7B0>
TCashPackageGiftItem GiftList[PACKAGEITEMMAX];
};
struct TACashPackageGift : public TCashHeader
{
UINT nReceiverAccountDBID;
INT64 biReceiverCharacterDBID;
int nReceiverGiftCount;
int nResult;
int nPetalBalance;
int nPackageSN; // <20><>Ű<EFBFBD><C5B0> <20><>ǥ SN
#if defined(PRE_ADD_CADGE_CASH)
int nMailDBID;
#endif // #if defined(PRE_ADD_CADGE_CASH)
#if defined( PRE_ADD_NEW_MONEY_SEED )
INT64 nSeedPoint;
#endif
char cPackageCount;
TCashPackageGiftItem GiftList[PACKAGEITEMMAX];
};
// CASH_COUPON
struct TQCashCoupon : public TCashHeader
{
INT64 biCharacterDBID;
char cWorldSetID;
char szCharacterName[NAMELENMAX];
WCHAR wszCoupon[COUPONMAX];
bool bPCBang;
};
struct TACashCoupon : public TCashHeader
{
int nResult;
};
// CASH_DELUSER
struct TQCashDelUser : public TCashHeader
{
};
// CASH_VIPBUY,
struct TQCashVIPBuy : public TCashHeader
{
INT64 biCharacterDBID;
int nItemSN;
char cWorldSetID;
bool bPCBang;
int nMapID;
int nChannelID;
bool bAutoPay; // 0=<3D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, 1=<3D>ڵ<EFBFBD><DAB5><EFBFBD><EFBFBD><EFBFBD>
bool bServer; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
};
struct TACashVIPBuy : public TCashHeader
{
int nResult;
int nPetal;
int nCash;
int nItemSN;
int nVIPTotalPoint;
__time64_t tVIPEndDate;
bool bAutoPay; // 0=<3D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, 1=<3D>ڵ<EFBFBD><DAB5><EFBFBD><EFBFBD><EFBFBD>
bool bServer; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#if defined( PRE_ADD_NEW_MONEY_SEED )
INT64 nSeedPoint;
#endif
};
// CASH_VIPGIFT,
struct TQCashVIPGift : public TCashHeader
{
INT64 biCharacterDBID;
int nItemSN;
char cWorldSetID;
bool bPCBang;
int nMapID;
int nChannelID;
WCHAR wszReceiverCharacterName[NAMELENMAX];
WCHAR wszMessage[GIFTMESSAGEMAX];
};
struct TACashVIPGift : public TCashHeader
{
int nResult;
int nPetal;
int nCash;
int nItemSN;
UINT nReceiverAccountDBID;
INT64 biReceiverCharacterDBID;
int nReceiverGiftCount;
#if defined( PRE_ADD_NEW_MONEY_SEED )
INT64 nSeedPoint;
#endif
};
#ifdef PRE_ADD_LIMITED_CASHITEM
struct TQGetLimitedItemList
{
};
struct TAGetLimitedItemList
{
BYTE cIsLast;
BYTE cCount;
LimitedCashItem::TLimitedQuantityCashItem Limited[LimitedCashItem::Common::DefaultPacketCount];
};
struct TAGetChangedLimitedItemList
{
BYTE cCount;
LimitedCashItem::TChangedLimitedQuantity Limited[LimitedCashItem::Common::DefaultPacketCount];
};
struct TQChangeLimitMax
{
int nSN;
int nLimitMax;
};
#endif //#ifdef PRE_ADD_LIMITED_CASHITEM
// CASH_SALEABORTLIST
struct TASaleAbortList
{
BYTE cCount;
int nAbortList[SALEABORTLISTMAX];
};
// CASH_MOVE_CASHINVEN
struct TQCashMoveCashInven : public TCashHeader
{
INT64 biCharacterDBID;
char cWorldSetID;
int nMapID;
int nChannelID;
TCashItemBase CashItem;
TPaymentItemInfoEx PaymentItemInfo;
};
struct TACashMoveCashInven : public TCashHeader
{
int nResult;
int nTotalPetal; // <20><>Ż<EFBFBD><C5BB> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20>ִ<EFBFBD>.(<28><>Ż <20><>Ż)
#if defined( PRE_ADD_NEW_MONEY_SEED )
int nTotalSeed; // <20>õ<EFBFBD> <20><><EFBFBD><EFBFBD>
#endif
TCashItemBase CashItem;
INT64 biPurchaseOrderDetailID;
};
// CASH_PACKAGE_MOVE_CASHINVEN
struct TQCashPackageMoveCashInven : public TCashHeader
{
INT64 biCharacterDBID;
char cWorldSetID;
int nMapID;
int nChannelID;
TCashItemBase CashItemList[PACKAGEITEMMAX];
TPaymentPackageItemInfoEx PaymentPackageItemInfo;
};
struct TACashPackageMoveCashInven : public TCashHeader
{
int nResult;
int nTotalPetal; // <20><>Ż<EFBFBD><C5BB> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20>ִ<EFBFBD>.(<28><>Ż <20><>Ż)
#if defined( PRE_ADD_NEW_MONEY_SEED )
int nTotalSeed; // <20>õ<EFBFBD> <20><><EFBFBD><EFBFBD>
#endif
TCashItemBase CashItemList[PACKAGEITEMMAX];
INT64 biPurchaseOrderDetailID;
};
// CASH_REFUNDCASH
struct TQCashRefund : public TCashHeader
{
char cItemType; // 1..<2E>Ϲ<EFBFBD>, 2..Package
char cWorldSetID;
int nItemSN;
UINT uiOrderNo; // Nexon
INT64 biPurchaseOrderDetailID; // <20><EFBFBD><ECB8AE>
};
struct TACashRefund : public TCashHeader
{
int nResult;
char cItemType;
INT64 biPurchaseOrderDetailID; // <20><EFBFBD><ECB8AE>
};
#pragma pack(pop)