Files
wnmj-normal/Classes/Define/CMD_GameServer.h

670 lines
18 KiB
C
Raw Permalink Normal View History

2026-03-03 13:56:44 +08:00
#ifndef CMD_GAME_SERVER_HEAD_FILE
#define CMD_GAME_SERVER_HEAD_FILE
#include "DataStream.h"
#include "Define.h"
#include "Struct.h"
#include "Property.h"
//////////////////////////////////////////////////////////////////////////////////
//<2F><>¼<EFBFBD><C2BC><EFBFBD><EFBFBD>
#pragma pack(1)
//////////////////////////////////////////////////////////////////////////////////
#define MDM_CM_SYSTEM 1000 //ϵͳ<CFB5><CDB3><EFBFBD><EFBFBD>
#define SUB_CM_SYSTEM_MESSAGE 1 //ϵͳ<CFB5><CDB3>Ϣ
#define SUB_CM_ACTION_MESSAGE 2 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
#define SUB_CM_DOWN_LOAD_MODULE 3 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define SMT_CHAT 0x0001 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
#define SMT_EJECT 0x0002 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
#define SMT_GLOBAL 0x0004 //ȫ<><C8AB><EFBFBD><EFBFBD>Ϣ
#define SMT_PROMPT 0x0008 //<2F><>ʾ<EFBFBD><CABE>Ϣ
#define SMT_TABLE_ROLL 0x0010 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define SMT_CLOSE_ROOM 0x0100 //<2F>رշ<D8B1><D5B7><EFBFBD>
#define SMT_CLOSE_GAME 0x0200 //<2F>ر<EFBFBD><D8B1><EFBFBD>Ϸ
#define SMT_CLOSE_LINK 0x0400 //<2F>ж<EFBFBD><D0B6><EFBFBD><EFBFBD><EFBFBD>
//ϵͳ<CFB5><CDB3>Ϣ
struct CMD_CM_SystemMessage
{
uint16 wType; //<2F><>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>
uint16 wLength; //<2F><>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>
char szString[1024]; //<2F><>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>
};
//////////////////////////////////////////////////////////////////////////////////
#define MDM_GR_LOGON 1 //<2F><>¼<EFBFBD><C2BC>Ϣ
//<2F><>¼ģʽ
#define SUB_GR_LOGON_USERID 1 //I D <20><>¼
#define SUB_GR_LOGON_MOBILE 2 //<2F>ֻ<EFBFBD><D6BB><EFBFBD>¼
#define SUB_GR_LOGON_ACCOUNTS 3 //<2F>ʻ<EFBFBD><CABB><EFBFBD>¼
//<2F><>¼<EFBFBD><C2BC><EFBFBD><EFBFBD>
#define SUB_GR_LOGON_SUCCESS 100 //<2F><>¼<EFBFBD>ɹ<EFBFBD>
#define SUB_GR_LOGON_FAILURE 101 //<2F><>¼ʧ<C2BC><CAA7>
#define SUB_GR_LOGON_FINISH 102 //<2F><>¼<EFBFBD><C2BC><EFBFBD><EFBFBD>
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
#define SUB_GR_UPDATE_NOTIFY 200 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
//////////////////////////////////////////////////////////////////////////////////
//
//<2F><><EFBFBD><EFBFBD> ID <20><>¼
struct CMD_GR_LogonUserID
{
uint32 dwPlazaVersion; //<2F><EFBFBD>
uint32 dwFrameVersion; //<2F><><EFBFBD>ܰ汾
uint32 dwProcessVersion; //<2F><><EFBFBD>̰汾
//<2F><>¼<EFBFBD><C2BC>Ϣ
uint32 dwUserID; //<2F>û<EFBFBD> I D
char szPassword[LEN_MD5]; //<2F><>¼<EFBFBD><C2BC><EFBFBD><EFBFBD>
char szMachineID[LEN_MACHINE_ID]; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
uint16 wKindID; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
};
//<2F><>¼<EFBFBD>ɹ<EFBFBD><C9B9><EFBFBD>Ϣ
struct CMD_GR_LogonSuccess
{
// unsigned int dwUserID; //<2F>û<EFBFBD> I D
uint32 dwUserRight; //<2F>û<EFBFBD>Ȩ<EFBFBD><C8A8>
uint32 dwMasterRight; //<2F><><EFBFBD><EFBFBD>Ȩ<EFBFBD><C8A8>
};
//<2F><>¼ʧ<C2BC><CAA7>
struct CMD_GR_LogonError
{
unsigned int lErrorCode; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
char szErrorDescribe[128]; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
};
//////////////////////////////////////////////////////////////////////////////////
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define MDM_GR_CONFIG 2 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
#define SUB_GR_CONFIG_COLUMN 100 //<2F>б<EFBFBD><D0B1><EFBFBD><EFBFBD><EFBFBD>
#define SUB_GR_CONFIG_SERVER 101 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define SUB_GR_CONFIG_PROPERTY 102 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define SUB_GR_CONFIG_FINISH 103 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define SUB_GR_CONFIG_USER_RIGHT 104 //<2F><><EFBFBD><EFBFBD>Ȩ<EFBFBD><C8A8>
//////////////////////////////////////////////////////////////////////////////////
//<2F>б<EFBFBD><D0B1><EFBFBD><EFBFBD><EFBFBD>
struct CMD_GR_ConfigColumn
{
uint8 cbColumnCount; //<2F>б<EFBFBD><D0B1><EFBFBD>Ŀ
tagColumnItem ColumnItem[MAX_COLUMN]; //<2F>б<EFBFBD><D0B1><EFBFBD><EFBFBD><EFBFBD>
};
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
struct CMD_GR_ConfigServer
{
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
uint16 wTableCount; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ
uint16 wChairCount; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
uint16 wServerType; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
uint32 dwServerRule; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
};
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
struct CMD_GR_ConfigProperty
{
uint8 cbPropertyCount; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ
tagPropertyInfo PropertyInfo[MAX_PROPERTY]; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
};
//<2F><><EFBFBD><EFBFBD>Ȩ<EFBFBD><C8A8>
struct CMD_GR_ConfigUserRight
{
uint32 dwUserRight; //<2F><><EFBFBD><EFBFBD>Ȩ<EFBFBD><C8A8>
};
//////////////////////////////////////////////////////////////////////////////////
#define MDM_GR_USER 3 //<2F>û<EFBFBD><C3BB><EFBFBD>Ϣ
//<2F>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>
#define SUB_GR_USER_RULE 1 //<2F>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>
#define SUB_GR_USER_LOOKON 2 //<2F>Թ<EFBFBD><D4B9><EFBFBD><EFBFBD><EFBFBD>
#define SUB_GR_USER_SITDOWN 3 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define SUB_GR_USER_STANDUP 4 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define SUB_GR_USER_INVITE 5 //<2F>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>
#define SUB_GR_USER_INVITE_REQ 6 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define SUB_GR_USER_REPULSE_SIT 7 //<2F>ܾ<EFBFBD><DCBE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define SUB_GR_USER_KICK_USER 8 //<2F>߳<EFBFBD><DFB3>û<EFBFBD>
#define SUB_GR_USER_INFO_REQ 9 //<2F><><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><C3BB><EFBFBD>Ϣ
#define SUB_GR_USER_CHAIR_REQ 10 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><CEBB>
#define SUB_GR_USER_CHAIR_INFO_REQ 11 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><C3BB><EFBFBD>Ϣ
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
struct CMD_GR_UserStandUp
{
uint16 wTableID; //<2F><><EFBFBD><EFBFBD>λ<EFBFBD><CEBB>
uint16 wChairID; //<2F><><EFBFBD><EFBFBD>λ<EFBFBD><CEBB>
uint8 cbForceLeave; //ǿ<><C7BF><EFBFBD>
};
//<2F>û<EFBFBD>״̬
#define SUB_GR_USER_ENTER 100 //<2F>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>
#define SUB_GR_USER_SCORE 101 //<2F>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>
#define SUB_GR_USER_STATUS 102 //<2F>û<EFBFBD>״̬
#define SUB_GR_SIT_FAILED 103 //<2F><><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>
#define SUB_GR_USER_LOCATION 104 //ͬ<><CDAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><CEBB>
//<2F>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>
struct CMD_GR_UserScore
{
uint32 dwUserID; //<2F>û<EFBFBD><C3BB><EFBFBD>ʶ
tagUserScore UserScore; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
};
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define SUB_GR_USER_CHAT 201 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
#define SUB_GR_USER_EXPRESSION 202 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
#define SUB_GR_WISPER_CHAT 203 //˽<><CBBD><EFBFBD><EFBFBD>Ϣ
#define SUB_GR_WISPER_EXPRESSION 204 //˽<>ı<EFBFBD><C4B1><EFBFBD>
#define SUB_GR_COLLOQUY_CHAT 205 //<2F><EFBFBD><E1BBB0>Ϣ
#define SUB_GR_COLLOQUY_EXPRESSION 206 //<2F><EFBFBD><E1BBB0><EFBFBD><EFBFBD>
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define SUB_GR_PROPERTY_BUY 300 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define SUB_GR_PROPERTY_SUCCESS 301 //<2F><><EFBFBD>߳ɹ<DFB3>
#define SUB_GR_PROPERTY_FAILURE 302 //<2F><><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>
#define SUB_GR_PROPERTY_MESSAGE 303 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
#define SUB_GR_PROPERTY_EFFECT 304 //<2F><><EFBFBD><EFBFBD>ЧӦ
#define SUB_GR_PROPERTY_TRUMPET 305 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
#define SUB_GR_GLAD_MESSAGE 400 //ϲ<><CFB2><EFBFBD><EFBFBD>Ϣ
//<2F>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>
struct CMD_GF_C_UserChat
{
uint16 wChatLength; //<2F><>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>
uint32 dwChatColor; //<2F><>Ϣ<EFBFBD><CFA2>ɫ
uint32 dwTargetUserID; //Ŀ<><C4BF><EFBFBD>û<EFBFBD>
char szChatString[LEN_USER_CHAT]; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
};
//<2F>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>
struct CMD_GF_S_UserChat
{
uint16 wChatLength; //<2F><>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>
uint32 dwChatColor; //<2F><>Ϣ<EFBFBD><CFA2>ɫ
uint32 dwSendUserID; //<2F><><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD>
uint32 dwTargetUserID; //Ŀ<><C4BF><EFBFBD>û<EFBFBD>
char szChatString[LEN_USER_CHAT]; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
};
//<2F>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>
struct CMD_GF_C_UserExpression
{
bool isExpression; //<2F>Ƿ<EFBFBD><C7B7>DZ<EFBFBD><C7B1><EFBFBD> true <20><><EFBFBD><EFBFBD> false <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
uint16 wItemIndex; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
uint32 dwTargetUserID; //Ŀ<><C4BF><EFBFBD>û<EFBFBD>
};
//<2F>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>
struct CMD_GF_S_UserExpression
{
bool isExpression; //<2F>Ƿ<EFBFBD><C7B7>DZ<EFBFBD><C7B1><EFBFBD> true <20><><EFBFBD><EFBFBD> false <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
uint16 wItemIndex; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
uint32 dwSendUserID; //<2F><><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD>
uint32 dwTargetUserID; //Ŀ<><C4BF><EFBFBD>û<EFBFBD>
};
//<2F>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
struct CMD_GR_C_TableTalk
{
uint8 cbChairID; //<2F><>λ
DataStream kDataStream; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
void StreamValue(DataStream& kData, bool bSend)
{
Stream_VALUE(cbChairID);
Stream_VALUE(kDataStream);
}
};
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
struct CMD_GR_UserSitDown
{
uint16 wTableID; //<2F><><EFBFBD><EFBFBD>λ<EFBFBD><CEBB>
uint16 wChairID; //<2F><><EFBFBD><EFBFBD>λ<EFBFBD><CEBB>
char szTablePass[PASS_LEN]; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
};
//<2F>û<EFBFBD>״̬
struct CMD_GR_UserStatus
{
uint32 dwUserID; //<2F>û<EFBFBD><C3BB><EFBFBD>ʶ
tagUserStatus UserStatus; //<2F>û<EFBFBD>״̬
};
struct IPC_GF_UserInfo
{
uint8 cbCompanion; //<2F>û<EFBFBD><C3BB><EFBFBD>ϵ
tagUserInfoHead UserInfoHead; //<2F>û<EFBFBD><C3BB><EFBFBD>Ϣ
};
//<2F><><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>
struct CMD_GR_RequestFailure
{
unsigned int lErrorCode; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
char szDescribeString[256]; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
};
//////////////////////////////////////////////////////////////////////////////////
//״̬<D7B4><CCAC><EFBFBD><EFBFBD>
#define MDM_GR_STATUS 4 //״̬<D7B4><CCAC>Ϣ
#define SUB_GR_TABLE_INFO 100 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
#define SUB_GR_TABLE_STATUS 101 //<2F><><EFBFBD><EFBFBD>״̬
//////////////////////////////////////////////////////////////////////////////////
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
struct CMD_GR_TableInfo
{
uint16 wTableCount; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ
tagTableStatus TableStatusArray[512]; //<2F><><EFBFBD><EFBFBD>״̬
};
//<2F><><EFBFBD><EFBFBD>״̬
struct CMD_GR_TableStatus
{
uint16 wTableID; //<2F><><EFBFBD>Ӻ<EFBFBD><D3BA><EFBFBD>
tagTableStatus TableStatus; //<2F><><EFBFBD><EFBFBD>״̬
};
//////////////////////////////////////////////////////////////////////////////////
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define MDM_GR_MATCH 9 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define SUB_GR_MATCH_FEE 400 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define SUB_GR_MATCH_NUM 401 //<2F>ȴ<EFBFBD><C8B4><EFBFBD><EFBFBD><EFBFBD>
#define SUB_GR_LEAVE_MATCH 402 //<2F>˳<EFBFBD><CBB3><EFBFBD><EFBFBD><EFBFBD>
#define SUB_GR_MATCH_INFO 403 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
#define SUB_GR_MATCH_WAIT_TIP 404 //<2F>ȴ<EFBFBD><C8B4><EFBFBD>ʾ
#define SUB_GR_MATCH_RESULT 405 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define SUB_GR_MATCH_STATUS 406 //<2F><><EFBFBD><EFBFBD>״̬
#define SUB_GR_MATCH_GOLDUPDATE 409 //<2F><><EFBFBD>Ҹ<EFBFBD><D2B8><EFBFBD>
#define SUB_GR_MATCH_ELIMINATE 410 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̭
#define SUB_GR_MATCH_JOIN_RESOULT 411 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
struct CMD_GR_Match_Fee
{
SCORE lMatchFee; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
char szNotifyContent[128]; //<2F><>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
};
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
struct CMD_GR_Match_JoinResoult
{
uint16 wSucess;
};
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
struct CMD_GR_Match_Num
{
uint32 dwWaitting; //<2F>ȴ<EFBFBD><C8B4><EFBFBD><EFBFBD><EFBFBD>
uint32 dwTotal; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
};
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
struct CMD_GR_Match_Info
{
char szTitle[4][64]; //<2F><>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>
uint16 wGameCount; //<2F><>Ϸ<EFBFBD><CFB7><EFBFBD><EFBFBD>
uint16 wRank; //<2F><>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>
};
//<2F><>ʾ<EFBFBD><CABE>Ϣ
struct CMD_GR_Match_Wait_Tip
{
SCORE lScore; //<2F><>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>
uint16 wRank; //<2F><>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>
uint16 wCurTableRank; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
uint16 wUserCount; //<2F><>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>
uint16 wCurGameCount; //<2F><>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>
uint16 wGameCount; //<2F>ܹ<EFBFBD><DCB9><EFBFBD><EFBFBD><EFBFBD>
uint16 wPlayingTable; //<2F><>Ϸ<EFBFBD><CFB7><EFBFBD><EFBFBD>
char szMatchName[LEN_SERVER]; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
};
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
struct CMD_GR_MatchResult
{
SCORE lGold; //<2F><><EFBFBD>ҽ<EFBFBD><D2BD><EFBFBD>
uint32 dwIngot; //Ԫ<><D4AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
uint32 dwExperience; //<2F><><EFBFBD><EFBFBD><E9BDB1>
char szDescribe[256]; //<2F>ý<EFBFBD><C3BD><EFBFBD><EFBFBD><EFBFBD>
};
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//<2F><><EFBFBD>Ҹ<EFBFBD><D2B8><EFBFBD>
struct CMD_GR_MatchGoldUpdate
{
SCORE lCurrGold; //<2F><>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>
SCORE lCurrIngot; //<2F><>ǰԪ<C7B0><D4AA>
uint32 dwCurrExprience; //<2F><>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>
};
//////////////////////////////////////////////////////////////////////////////////
//˽<>˳<EFBFBD><CBB3><EFBFBD><EFBFBD><EFBFBD>
#define MDM_GR_PRIVATE 10 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define SUB_GR_PRIVATE_INFO 401 //˽<>˳<EFBFBD><CBB3><EFBFBD>Ϣ
#define SUB_GR_CREATE_PRIVATE 402 //<2F><><EFBFBD><EFBFBD>˽<EFBFBD>˳<EFBFBD>
#define SUB_GR_CREATE_PRIVATE_SUCESS 403 //<2F><><EFBFBD><EFBFBD>˽<EFBFBD>˳<EFBFBD><CBB3>ɹ<EFBFBD>
#define SUB_GR_JOIN_PRIVATE 404 //<2F><><EFBFBD><EFBFBD>˽<EFBFBD>˳<EFBFBD>
#define SUB_GF_PRIVATE_ROOM_INFO 405 //˽<>˳<EFBFBD><CBB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
#define SUB_GR_PRIVATE_DISMISS 406 //˽<>˳<EFBFBD><CBB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɢ
#define SUB_GF_GM_PRIVATE_END 407 //˽<>˳<EFBFBD><CBB3><EFBFBD><EFBFBD><EFBFBD>(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϸ<EFBFBD><CFB7>ͳ<EFBFBD><CDB3><EFBFBD><EFBFBD>Ϣ)
#define SUB_GR_RRIVATE_AGAIN 408 //<2F><><EFBFBD><EFBFBD>˽<EFBFBD>˳<EFBFBD>
#define SUB_GR_PRIVATE_DISMISS_RESULT 409 //˽<>˳<EFBFBD><CBB3><EFBFBD>ɢ<EFBFBD><C9A2><EFBFBD><EFBFBD>
#define SUB_GR_PRIVATE_HAS_CREATED 410 //˽<>˳<EFBFBD><CBB3>Ѵ<EFBFBD><D1B4><EFBFBD>
#define SUB_GR_CREATE_AUTO_ROOM 411 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
#define SUB_GR_CREATE_AUTO_RESULTE 412 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define SUB_GR_DEL_AUTO_ROOM_INFO 413 //ɾ<><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
#define SUB_GR_AUTO_USER_STATUS 414 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬;
#define SUB_GR_AUTO_USER_READY 415 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>׼<EFBFBD><D7BC>״̬;
#define SUB_GF_PRIVATE_SCORE_INFO 416 //˽<>˳<EFBFBD><CBB3><EFBFBD><EFBFBD><EFBFBD>
//˽<>˳<EFBFBD><CBB3><EFBFBD>Ϣ
struct CMD_GR_Private_Info
{
uint16 wKindID;
uint8 bPlayCout[4]; //<2F><><EFBFBD>Ҿ<EFBFBD><D2BE><EFBFBD>
SCORE lPlayCost[4]; //<2F><><EFBFBD>ĵ<EFBFBD><C4B5><EFBFBD>
char szGameType[4][32]; //<2F><>Ϸ<EFBFBD><CFB7><EFBFBD><EFBFBD>
char szGameRule[4][32]; //<2F><>Ϸ<EFBFBD><CFB7><EFBFBD><EFBFBD>
};
struct CMD_GR_Private_Ready
{
bool bStart; // <20>Dz<EFBFBD><C7B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʼ;
bool bReady; // <20>Ƿ<EFBFBD>ͬ<EFBFBD>ʼ;
};
struct CMD_GR_Private_ReadyInfo
{
uint16 wChairID; // <20><><EFBFBD>ʼ<EBBFAA><CABC>λ<EFBFBD><CEBB>;
uint8 cbReady[MAX_CHAIR]; // Ĭ<><C4AC>0<EFBFBD>ȴ<EFBFBD>ѡ<EFBFBD><D1A1><31><CDAC> 2<>ܾ<EFBFBD>
};
enum RoomType
{
Type_Private,
Type_Public,
};
enum ePrivateTableCommonRule
{
ePrivateTableCommonRule_CardAA = 1, //<2F><><EFBFBD><EFBFBD>AA;
ePrivateTableCommonRule_auto = 1 << 29, //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
ePrivateTableCommonRule_DaiKaiFang = 1 << 30, //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
ePrivateTableCommonRule_NOSameIPAddr = 1 << 31, //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͬIP<49><50>ַ;
};
enum ePrivateRoomScoreType
{
ePrivateRoomScoreType_Default = 1, //Ĭ<><C4AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
ePrivateRoomScoreType_SetOneTime = 1 << 1, //<2F><><EFBFBD>뷿<EFBFBD><EBB7BF>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>;
ePrivateRoomScoreType_EveryTime = 1 << 2, //ÿ<>ֿ<EFBFBD>ʼʱ<CABC><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>;
};
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
struct CMD_GR_Create_Private
{
uint32 dwUnionCode; //<2F><><EFBFBD><EFBFBD>ID;
uint8 cbUnionGoldOpen; //<2F><><EFBFBD>ֳ<EFBFBD>;
uint8 cbGameType; //<2F><>Ϸ<EFBFBD><CFB7><EFBFBD><EFBFBD><>˳<EFBFBD>)
uint8 bPlayCoutIdex; //<2F><>Ϸ<EFBFBD><CFB7><EFBFBD><EFBFBD>(0:8,1:16)
uint8 bGameTypeIdex; //<2F><>Ϸ<EFBFBD><CFB7><EFBFBD><EFBFBD>
uint32 bGameRuleIdex; //<2F><>Ϸ<EFBFBD><CFB7><EFBFBD><EFBFBD>
uint8 cbEnterRoomScoreType; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD>ķ<EFBFBD><C4B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
SCORE lInitEnterRoomScore; //<2F><><EFBFBD>뷿<EFBFBD><EBB7BF>ʱ<EFBFBD>ķ<EFBFBD><C4B7><EFBFBD>;
uint8 cbBaseScore; //<2F>׷<EFBFBD>;
};
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
struct tagCreatePrivate
{
uint16 wServerID; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ID
CMD_GR_Create_Private CMD_Private; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
};
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
struct CMD_GR_AutoRoomInfo
{
uint16 wKindID; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ID
uint32 dwUserID; //<2F>᳤ID;
uint8 cbGameType; //<2F><>Ϸ<EFBFBD><CFB7><EFBFBD><EFBFBD><>˳<EFBFBD>)
uint8 bPlayCoutIdex; //<2F><>Ϸ<EFBFBD><CFB7><EFBFBD><EFBFBD>(0:8,1:16)
uint8 bGameTypeIdex; //<2F><>Ϸ<EFBFBD><CFB7><EFBFBD><EFBFBD>
uint32 bGameRuleIdex; //<2F><>Ϸ<EFBFBD><CFB7><EFBFBD><EFBFBD>
uint8 cbEnterRoomScoreType; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD>ķ<EFBFBD><C4B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
SCORE lInitEnterRoomScore; //<2F><><EFBFBD>뷿<EFBFBD><EBB7BF>ʱ<EFBFBD>ķ<EFBFBD><C4B7><EFBFBD>;
uint8 cbBaseScore; //<2F>׷<EFBFBD>;
};
//<2F><><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>
struct CMD_GR_AutoResulte
{
SCORE lErrorCode; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
char szDescribeString[128]; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
};
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
struct CMD_GR_Create_Private_Sucess
{
SCORE lCurSocre; //<2F><>ǰʣ<C7B0><CAA3>
uint32 dwRoomNum; //<2F><><EFBFBD><EFBFBD>ID
};
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
struct CMD_GR_Join_Private
{
uint32 dwRoomNum; //<2F><><EFBFBD><EFBFBD>ID
};
//<2F><>ɢ<EFBFBD><C9A2><EFBFBD><EFBFBD>
struct CMD_GR_Dismiss_Private
{
uint8 bDismiss; //<2F><>ɢ
};
//<2F><><EFBFBD>¼<EFBFBD><C2BC><EFBFBD>
struct CMD_GR_Again_Private
{
char stHttpChannel[LEN_NICKNAME];
CMD_GR_Again_Private()
{
zeromemory(stHttpChannel,sizeof(stHttpChannel));
}
};
//˽<>˳<EFBFBD><CBB3><EFBFBD>ɢ<EFBFBD><C9A2>Ϣ
struct CMD_GF_Private_Dismiss_Info
{
CMD_GF_Private_Dismiss_Info()
{
zeromemory(this,sizeof(CMD_GF_Private_Dismiss_Info));
}
uint32 dwDissUserCout;
uint32 dwDissChairID[MAX_CHAIR];
uint32 dwNotAgreeUserCout;
uint32 dwNotAgreeChairID[MAX_CHAIR];
};
//˽<>˳<EFBFBD><CBB3><EFBFBD>ɢ<EFBFBD><C9A2><EFBFBD><EFBFBD>
struct CMD_GF_Private_Dismiss_Result
{
bool bSuccess;
};
#define MAX_PRIVATE_ACTION 8
//˽<>˳<EFBFBD><CBB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
struct CMD_GF_Private_End_Info
{
bool bNextJiang; //<2F>Ƿ<EFBFBD><C7B7><EFBFBD>ʼ<EFBFBD><CABC>һ<EFBFBD><D2BB>
std::vector<SCORE> lPlayerMaxScore;
std::vector<SCORE> lPlayerWinLose;
std::vector<uint8> lPlayerAction;
void StreamValue(DataStream& kData, bool bSend)
{
Stream_VALUE(bNextJiang);
Stream_VALUE(lPlayerMaxScore);
Stream_VALUE(lPlayerWinLose);
Stream_VALUE(lPlayerAction);
}
};
// <20><><EFBFBD>󹫻᷿<F3B9ABBB><E1B7BF>;
struct CMD_GR_GetUnionRoomInfo
{
uint32 dwUserID; //<2F><><EFBFBD><EFBFBD>ID;
uint32 dwUnionCode; //<2F><><EFBFBD><EFBFBD>ID;
};
//////////////////////////////////////////////////////////////////////////////////
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define MDM_GF_FRAME 100 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//////////////////////////////////////////////////////////////////////////////////
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//<2F>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>
#define SUB_GF_GAME_OPTION 1 //<2F><>Ϸ<EFBFBD><CFB7><EFBFBD><EFBFBD>
#define SUB_GF_USER_READY 2 //<2F>û<EFBFBD>׼<EFBFBD><D7BC>
#define SUB_GF_LOOKON_CONFIG 3 //<2F>Թ<EFBFBD><D4B9><EFBFBD><EFBFBD><EFBFBD>
#define SUB_GF_USER_LOCATION 4 //<2F><><EFBFBD><EFBFBD>λ<EFBFBD><CEBB>
#define SUB_GF_PING_TIME 5 //PINGʱ<47><CAB1><EFBFBD><EFBFBD>;
#define SUB_GF_CHANGE_TABLE 6 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
#define SUB_GF_USER_START_READY 7 //<2F>û<EFBFBD><C3BB><EFBFBD>ʼ<EFBFBD><CABC>Ϸ;
#define SUB_GF_USER_NO_READY 8 //<2F>û<EFBFBD><C3BB>ܾ<EFBFBD>
//PINGʱ<47><CAB1><EFBFBD><EFBFBD><EFBFBD>ṹ;
struct CMD_GF_C_PingTime
{
uint32 dwPingCount; //ping<6E><67><EFBFBD><EFBFBD>;
};
struct CMD_GF_S_PingTime
{
uint32 dwPingCount; //ping<6E><67><EFBFBD><EFBFBD>;
};
//#00FF00
//#FFFF00
//#FF0000
//<2F><>Ϸ<EFBFBD><CFB7><EFBFBD><EFBFBD>
struct CMD_GF_GameOption
{
uint8 cbAllowLookon; //<2F>Թ۱<D4B9>־
uint32 dwFrameVersion; //<2F><><EFBFBD>ܰ汾
uint32 dwClientVersion; //<2F><>Ϸ<EFBFBD>
};
//<2F>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD>Ϣ;
struct CMD_GF_C_UserLocation
{
SCORE lAccuracy; //<2F><><EFBFBD><EFBFBD>;
SCORE lLatitude; //<2F><><EFBFBD><EFBFBD>;
SCORE lLongitude; //γ<><CEB3>;
char szAddress[LEN_DWELLING_PLACE]; //<2F><><EFBFBD><EFBFBD>λ<EFBFBD><CEBB>;
};
struct CMD_GF_S_UserLocation
{
DWORD dwTargetUserID; //Ŀ<><C4BF><EFBFBD>û<EFBFBD>;
SCORE lAccuracy; //<2F><><EFBFBD><EFBFBD>;
SCORE lLatitude; //<2F><><EFBFBD><EFBFBD>;
SCORE lLongitude; //γ<><CEB3>;
char szAddress[LEN_DWELLING_PLACE]; //<2F><><EFBFBD><EFBFBD>λ<EFBFBD><CEBB>;
};
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define SUB_GF_USER_CHAT 10 //<2F>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>
#define SUB_GF_USER_EXPRESSION 11 //<2F>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>
#define SUB_GR_TABLE_TALK 12 //<2F>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>
//<2F><>Ϸ<EFBFBD><CFB7>Ϣ
#define SUB_GF_GAME_STATUS 100 //<2F><>Ϸ״̬
#define SUB_GF_GAME_SCENE 101 //<2F><>Ϸ<EFBFBD><CFB7><EFBFBD><EFBFBD>
#define SUB_GF_LOOKON_STATUS 102 //<2F>Թ<EFBFBD>״̬
//<2F><>Ϸ<EFBFBD><CFB7><EFBFBD><EFBFBD>
struct CMD_GF_GameStatus
{
uint8 cbGameStatus; //<2F><>Ϸ״̬
uint8 cbAllowLookon; //<2F>Թ۱<D4B9>־
};
//ϵͳ<CFB5><CDB3>Ϣ
#define SUB_GF_SYSTEM_MESSAGE 200 //ϵͳ<CFB5><CDB3>Ϣ
#define SUB_GF_ACTION_MESSAGE 201 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
//////////////////////////////////////////////////////////////////////////////////
//<2F><>Ϸ<EFBFBD><CFB7><EFBFBD><EFBFBD>
#define MDM_GF_GAME 200 //<2F><>Ϸ<EFBFBD><CFB7><EFBFBD><EFBFBD>
//////////////////////////////////////////////////////////////////////////////////
//Я<><D0AF><EFBFBD><EFBFBD>Ϣ
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
#define DTP_GR_TABLE_PASSWORD 1 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//<2F>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>
#define DTP_GR_NICK_NAME 10 //<2F>û<EFBFBD><C3BB>dz<EFBFBD>
#define DTP_GR_GROUP_NAME 11 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define DTP_GR_UNDER_WRITE 12 //<2F><><EFBFBD><EFBFBD>ǩ<EFBFBD><C7A9>
#define DTP_GR_HEAD_HTTP 13 //ͷ<><CDB7>HTTP
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
#define DTP_GR_USER_NOTE 20 //<2F>û<EFBFBD><C3BB><EFBFBD>ע
#define DTP_GR_CUSTOM_FACE 21 //<2F>Զ<EFBFBD>ͷ<EFBFBD><CDB7>
//////////////////////////////////////////////////////////////////////////////////
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define REQUEST_FAILURE_NORMAL 0 //<2F><><EFBFBD><EFBFBD>ԭ<EFBFBD><D4AD>
#define REQUEST_FAILURE_NOGOLD 1 //<2F><><EFBFBD>Ҳ<EFBFBD><D2B2><EFBFBD>
#define REQUEST_FAILURE_NOSCORE 2 //<2F><><EFBFBD>ֲ<EFBFBD><D6B2><EFBFBD>
#define REQUEST_FAILURE_PASSWORD 3 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////
#pragma pack()
#endif