424 lines
8.9 KiB
C++
424 lines
8.9 KiB
C++
#pragma once
|
|
#pragma pack(1)
|
|
|
|
#include "ShopDefine.h"
|
|
|
|
namespace ShopProtocol
|
|
{
|
|
|
|
struct STCashDetail
|
|
{
|
|
STCashDetail()
|
|
{
|
|
ZeroMemory(Name, MAX_TYPENAME_LENGTH * sizeof(WCHAR));
|
|
Value = 0;
|
|
Type = 0;
|
|
};
|
|
|
|
WCHAR Name[MAX_TYPENAME_LENGTH];
|
|
double Value;
|
|
char Type;
|
|
};
|
|
|
|
struct STPointDetail
|
|
{
|
|
STPointDetail()
|
|
{
|
|
ZeroMemory(PointTypeName, MAX_POINTNAME_LENGTH);
|
|
PointType = PointValue = 0;
|
|
};
|
|
|
|
char PointTypeName[MAX_POINTNAME_LENGTH];
|
|
long PointType;
|
|
long PointValue;
|
|
};
|
|
|
|
struct STItemProperty
|
|
{
|
|
STItemProperty()
|
|
{
|
|
PropertySeq = 0;
|
|
Value = 0;
|
|
};
|
|
|
|
long PropertySeq;
|
|
int Value;
|
|
};
|
|
|
|
struct STStorage
|
|
{
|
|
STStorage()
|
|
{
|
|
StorageSeq = PackageProductSeq = PriceSeq = 0;
|
|
};
|
|
|
|
long StorageSeq;
|
|
long PackageProductSeq;
|
|
long PriceSeq;
|
|
DWORD DeleteDate;
|
|
};
|
|
|
|
struct STStorageNoGiftMessage
|
|
{
|
|
STStorageNoGiftMessage()
|
|
{
|
|
Seq = ItemSeq = GroupCode = ShareFlag = ProductSeq = PriceSeq = ProductType = 0;
|
|
CashPoint = 0;
|
|
ItemType = 0;
|
|
RelationType = 0;
|
|
ZeroMemory(CashName, MAX_TYPENAME_LENGTH * sizeof(WCHAR));
|
|
ZeroMemory(SendAccountID, MAX_ACCOUNTID_LENGTH * sizeof(WCHAR));
|
|
};
|
|
|
|
long Seq;
|
|
long ItemSeq;
|
|
long GroupCode;
|
|
long ShareFlag;
|
|
long ProductSeq;
|
|
WCHAR CashName[MAX_TYPENAME_LENGTH];
|
|
double CashPoint;
|
|
WCHAR SendAccountID[MAX_ACCOUNTID_LENGTH];
|
|
char ItemType;
|
|
BYTE RelationType;
|
|
long PriceSeq;
|
|
long ProductType;
|
|
DWORD DeleteDate;
|
|
};
|
|
|
|
|
|
enum PaymentType
|
|
{
|
|
Inbound = 0,
|
|
Outbound_HanCoin = 1,
|
|
Outbound_Ijji = 2,
|
|
Outbound_GameOn = 3,
|
|
Outbound_GameChu = 4,
|
|
Outbound_Channeling = 5,
|
|
Outbound_FPTOnline = 6,
|
|
Outbound_WebzenTW = 7,
|
|
Outbound_WinneronlineTH = 8,
|
|
Outbound_SUN_JP = 9,
|
|
Outbound_BT_TH = 10,
|
|
Outbound_SUN_RU = 11,
|
|
Outbound_SUN_CN = 12,
|
|
};
|
|
|
|
|
|
template <class _subcls>
|
|
class MSG_REQUEST_BASE
|
|
{
|
|
public:
|
|
MSG_REQUEST_BASE() {}
|
|
MSG_REQUEST_BASE(DWORD dwID)
|
|
: dwProtocolID(dwID),
|
|
GameCode(0),
|
|
dwPacketSize(sizeof( _subcls ))
|
|
{}
|
|
|
|
long GetGameCode() { return GameCode; }
|
|
|
|
DWORD dwPacketSize;
|
|
DWORD dwProtocolID;
|
|
long GameCode;
|
|
};
|
|
|
|
template <class _subcls>
|
|
class MSG_RESPONSE_BASE : public MSG_REQUEST_BASE<_subcls>
|
|
{
|
|
public:
|
|
MSG_RESPONSE_BASE(DWORD dwProtocol)
|
|
: MSG_REQUEST_BASE<_subcls>(dwProtocol)
|
|
{
|
|
ResultCode = 0;
|
|
}
|
|
|
|
public:
|
|
long ResultCode;
|
|
};
|
|
|
|
|
|
class MSG_SERVER_GIFTPRODUCT : public MSG_RESPONSE_BASE<MSG_SERVER_GIFTPRODUCT>
|
|
{
|
|
public:
|
|
MSG_SERVER_GIFTPRODUCT(long nGameCode)
|
|
: MSG_RESPONSE_BASE<MSG_SERVER_GIFTPRODUCT>(PROTOCOL_SERVER_GIFTPRODUCT)
|
|
{
|
|
GameCode = nGameCode;
|
|
SenderSeq = ReceiverSeq = 0;
|
|
DeductCashSeq = 0;
|
|
ZeroMemory(SenderID, MAX_ACCOUNT_LENGTH);
|
|
ZeroMemory(ReceiverID, MAX_ACCOUNT_LENGTH);
|
|
}
|
|
|
|
public:
|
|
char SenderID[MAX_ACCOUNT_LENGTH];
|
|
char ReceiverID[MAX_ACCOUNT_LENGTH];
|
|
DWORD SenderSeq;
|
|
DWORD ReceiverSeq;
|
|
long DeductCashSeq;
|
|
};
|
|
|
|
|
|
class MSG_CLIENT_INQUIRE_CASH : public MSG_REQUEST_BASE<MSG_CLIENT_INQUIRE_CASH>
|
|
{
|
|
public:
|
|
MSG_CLIENT_INQUIRE_CASH(long nGameCode)
|
|
: MSG_REQUEST_BASE<MSG_CLIENT_INQUIRE_CASH>(PROTOCOL_CLIENT_INQUIRE_CASH)
|
|
{
|
|
GameCode = nGameCode;
|
|
AccountSeq = 0;
|
|
}
|
|
|
|
public:
|
|
DWORD AccountSeq;
|
|
};
|
|
|
|
class MSG_SERVER_INQUIRE_CASH : public MSG_RESPONSE_BASE<MSG_SERVER_INQUIRE_CASH>
|
|
{
|
|
public:
|
|
MSG_SERVER_INQUIRE_CASH(long nGameCode)
|
|
: MSG_RESPONSE_BASE<MSG_SERVER_INQUIRE_CASH>(PROTOCOL_SERVER_INQUIRE_CASH)
|
|
{
|
|
GameCode = nGameCode;
|
|
PackHeader = dwPacketSize;
|
|
AccountSeq = 0;
|
|
ListCount = 0;
|
|
CashPoint = 0;
|
|
PPCashPoint = 0;
|
|
MileagePoint = 0;
|
|
}
|
|
|
|
public:
|
|
DWORD AccountSeq;
|
|
long PackHeader;
|
|
int ListCount;
|
|
double CashPoint;
|
|
double PPCashPoint;
|
|
double MileagePoint;
|
|
};
|
|
|
|
|
|
|
|
class MSG_CLIENT_BUYPRODUCT : public MSG_REQUEST_BASE<MSG_CLIENT_BUYPRODUCT>
|
|
{
|
|
public:
|
|
MSG_CLIENT_BUYPRODUCT(long nGameCode)
|
|
: MSG_REQUEST_BASE<MSG_CLIENT_BUYPRODUCT>(PROTOCOL_CLIENT_BUYPRODUCT)
|
|
{
|
|
GameCode = nGameCode;
|
|
AccountSeq = 0;
|
|
PackageSeq = PriceSeq = 0;
|
|
ZeroMemory(CharName, MAX_CHARACTERID_LENGTH * sizeof(WCHAR));
|
|
}
|
|
|
|
public:
|
|
DWORD AccountSeq;
|
|
long PackageSeq;
|
|
long PriceSeq;
|
|
WCHAR CharName[MAX_CHARACTERID_LENGTH];
|
|
};
|
|
|
|
class MSG_SERVER_BUYPRODUCT : public MSG_RESPONSE_BASE<MSG_SERVER_BUYPRODUCT>
|
|
{
|
|
public:
|
|
MSG_SERVER_BUYPRODUCT(long nGameCode)
|
|
: MSG_RESPONSE_BASE<MSG_SERVER_BUYPRODUCT>(PROTOCOL_SERVER_BUYPRODUCT)
|
|
{
|
|
GameCode = nGameCode;
|
|
AccountSeq = 0;
|
|
}
|
|
|
|
public:
|
|
DWORD AccountSeq;
|
|
};
|
|
|
|
class MSG_CLIENT_GIFTPRODUCT : public MSG_REQUEST_BASE<MSG_CLIENT_GIFTPRODUCT>
|
|
{
|
|
public:
|
|
MSG_CLIENT_GIFTPRODUCT(long nGameCode)
|
|
: MSG_REQUEST_BASE<MSG_CLIENT_GIFTPRODUCT>(PROTOCOL_CLIENT_GIFTPRODUCT)
|
|
{
|
|
GameCode = nGameCode;
|
|
SenderSeq = ReceiverSeq = 0;
|
|
PackageSeq = PriceSeq = 0;
|
|
ZeroMemory(Message, MAX_MESSAGE_LENGTH * sizeof(WCHAR));
|
|
ZeroMemory(SenderCharName, MAX_CHARACTERID_LENGTH * sizeof(WCHAR));
|
|
ZeroMemory(ReceiverCharName, MAX_CHARACTERID_LENGTH * sizeof(WCHAR));
|
|
}
|
|
|
|
public:
|
|
DWORD SenderSeq;
|
|
WCHAR SenderCharName[MAX_CHARACTERID_LENGTH];
|
|
DWORD ReceiverSeq;
|
|
WCHAR ReceiverCharName[MAX_CHARACTERID_LENGTH];
|
|
WCHAR Message[MAX_MESSAGE_LENGTH];
|
|
long PackageSeq;
|
|
long PriceSeq;
|
|
};
|
|
|
|
|
|
|
|
class MSG_CLIENT_GIFTCASH : public MSG_REQUEST_BASE<MSG_CLIENT_GIFTCASH>
|
|
{
|
|
public:
|
|
MSG_CLIENT_GIFTCASH()
|
|
: MSG_REQUEST_BASE<MSG_CLIENT_GIFTCASH>(PROTOCOL_CLIENT_GIFTCASH)
|
|
{
|
|
SenderAccountSeq = ReceiverAccountSeq = 0;
|
|
SendServerIndex = ReceiverServerIndex = 0;
|
|
CashValue = 0;
|
|
ZeroMemory(Message, MAX_MESSAGE_LENGTH * sizeof(WCHAR));
|
|
ZeroMemory(SendCharName, MAX_CHARACTERID_LENGTH * sizeof(WCHAR));
|
|
ZeroMemory(ReceiverCharName, MAX_CHARACTERID_LENGTH * sizeof(WCHAR));
|
|
}
|
|
|
|
public:
|
|
DWORD SenderAccountSeq;
|
|
WCHAR SendCharName[MAX_CHARACTERID_LENGTH];
|
|
long SendServerIndex;
|
|
DWORD ReceiverAccountSeq;
|
|
WCHAR ReceiverCharName[MAX_CHARACTERID_LENGTH];
|
|
long ReceiverServerIndex;
|
|
WCHAR Message[MAX_MESSAGE_LENGTH];
|
|
double CashValue;
|
|
};
|
|
|
|
|
|
class MSG_SERVER_GIFTCASH : public MSG_RESPONSE_BASE<MSG_SERVER_GIFTCASH>
|
|
{
|
|
public:
|
|
MSG_SERVER_GIFTCASH()
|
|
: MSG_RESPONSE_BASE<MSG_SERVER_GIFTCASH>(PROTOCOL_SERVER_GIFTCASH)
|
|
{
|
|
SenderSeq = ReceiverSeq = 0;
|
|
GiftSendLimit = 0;
|
|
}
|
|
|
|
public:
|
|
DWORD SenderSeq;
|
|
DWORD ReceiverSeq;
|
|
double GiftSendLimit;
|
|
};
|
|
|
|
class MSG_CLIENT_STORAGELIST : public MSG_REQUEST_BASE<MSG_CLIENT_STORAGELIST>
|
|
{
|
|
public:
|
|
MSG_CLIENT_STORAGELIST()
|
|
: MSG_REQUEST_BASE<MSG_CLIENT_STORAGELIST>(PROTOCOL_CLIENT_STORAGELIST)
|
|
{
|
|
AccountSeq = 0;
|
|
}
|
|
|
|
public:
|
|
DWORD AccountSeq;
|
|
};
|
|
|
|
class MSG_SERVER_STORAGELIST : public MSG_RESPONSE_BASE<MSG_SERVER_STORAGELIST>
|
|
{
|
|
public:
|
|
MSG_SERVER_STORAGELIST()
|
|
: MSG_RESPONSE_BASE<MSG_SERVER_STORAGELIST>(PROTOCOL_SERVER_STORAGELIST)
|
|
{
|
|
PackHeader = dwPacketSize;
|
|
AccountSeq = 0;
|
|
ListCount = 0;
|
|
}
|
|
|
|
public:
|
|
long PackHeader;
|
|
DWORD AccountSeq;
|
|
int ListCount;
|
|
};
|
|
|
|
|
|
class MSG_CLIENT_STORAGEUSEROLLBACK:public MSG_REQUEST_BASE<MSG_CLIENT_STORAGEUSEROLLBACK>
|
|
{
|
|
public:
|
|
MSG_CLIENT_STORAGEUSEROLLBACK()
|
|
:MSG_REQUEST_BASE<MSG_CLIENT_STORAGEUSEROLLBACK>(PROTOCOL_CLINET_STORAGEUSE_ROLLBACK)
|
|
{
|
|
|
|
}
|
|
DWORD AccountSeq;
|
|
long StorageSeq;
|
|
};
|
|
class MSG_CLIENT_STORAGEUSE : public MSG_REQUEST_BASE<MSG_CLIENT_STORAGEUSE>
|
|
{
|
|
public:
|
|
MSG_CLIENT_STORAGEUSE()
|
|
: MSG_REQUEST_BASE<MSG_CLIENT_STORAGEUSE>(PROTOCOL_CLIENT_STORAGEUSE)
|
|
,EmptySlotNum(0),AccountSeq(0),IPAddress(0),StorageSeq(0)
|
|
{
|
|
ZeroMemory(CharName, MAX_CHARACTERID_LENGTH * sizeof(WCHAR));
|
|
}
|
|
|
|
public:
|
|
DWORD AccountSeq;
|
|
DWORD IPAddress;
|
|
long StorageSeq;
|
|
BYTE EmptySlotNum;
|
|
WCHAR CharName[MAX_CHARACTERID_LENGTH];
|
|
};
|
|
|
|
class MSG_SERVER_STORAGEUSE_ONE : public MSG_RESPONSE_BASE<MSG_SERVER_STORAGEUSE_ONE>
|
|
{
|
|
public:
|
|
MSG_SERVER_STORAGEUSE_ONE()
|
|
: MSG_RESPONSE_BASE<MSG_SERVER_STORAGEUSE_ONE>(PROTOCOL_SERVER_STORAGEUSE)
|
|
,PackHeader(dwPacketSize),AccountSeq(0),ProductSeq(0),StorageSeq(0)
|
|
,InGameProductID(0)
|
|
{
|
|
}
|
|
|
|
public:
|
|
DWORD AccountSeq;
|
|
long InGameProductID;
|
|
long PackHeader;
|
|
long ProductSeq;
|
|
long StorageSeq;
|
|
ShopProtocol::STItemProperty ItemProperty;
|
|
};
|
|
class MSG_SERVER_STORAGEUSE_MULIT:public MSG_RESPONSE_BASE<MSG_SERVER_STORAGEUSE_MULIT>
|
|
{
|
|
public:
|
|
MSG_SERVER_STORAGEUSE_MULIT()
|
|
:MSG_RESPONSE_BASE<MSG_SERVER_STORAGEUSE_MULIT>(PROTOCOL_SERVER_STORAGEUSE_ALL)
|
|
,iListCount(0),PackHeader(dwPacketSize)
|
|
{
|
|
|
|
}
|
|
public:
|
|
int iListCount;
|
|
long PackHeader;
|
|
};
|
|
|
|
class MSG_CLIENT_INQUIRE_SALESVERSION : public MSG_REQUEST_BASE<MSG_CLIENT_INQUIRE_SALESVERSION>
|
|
{
|
|
public:
|
|
MSG_CLIENT_INQUIRE_SALESVERSION()
|
|
: MSG_REQUEST_BASE<MSG_CLIENT_INQUIRE_SALESVERSION>(PROTOCOL_CLIENT_INQUIRE_SALESVERSION)
|
|
{
|
|
|
|
}
|
|
};
|
|
|
|
class MSG_SERVER_INQUIRE_SALESVERSION : public MSG_RESPONSE_BASE<MSG_SERVER_INQUIRE_SALESVERSION>
|
|
{
|
|
public:
|
|
MSG_SERVER_INQUIRE_SALESVERSION()
|
|
: MSG_RESPONSE_BASE<MSG_SERVER_INQUIRE_SALESVERSION>(PROTOCOL_SERVER_INQUIRE_SALESVERSION)
|
|
{
|
|
SalesZone = Year = YearIdentity = 0;
|
|
}
|
|
|
|
public:
|
|
unsigned short SalesZone;
|
|
unsigned short Year;
|
|
unsigned short YearIdentity;
|
|
};
|
|
|
|
}
|
|
|
|
#pragma pack()
|
|
|