|
- #ifndef CMD_GAME_SERVER_HEAD_FILE
- #define CMD_GAME_SERVER_HEAD_FILE
- //#include "Stdafx.h"
- #include <strsafe.h>
- #include "../GlobalDef/Define.h"
- #include "../GlobalDef/Struct.h"
- #include "../GlobalDef/Property.h"
-
- #ifndef BUFFERLEN
- #define BUFFERLEN 3000
- #endif
-
- #pragma pack(1)
-
- //////////////////////////////////////////////////////////////////////////////////
- //登录命令
-
- #define MDM_GR_LOGON 1 //登录信息
-
- //登录模式
- #define SUB_GR_LOGON_USERID 1 //I D 登录
- #define SUB_GR_LOGON_MOBILE 2 //手机登录
- #define SUB_GR_LOGON_ACCOUNTS 3 //帐户登录
-
- //登录结果
- //#define SUB_GR_LOGON_SUCCESS 100 //登录成功
- #define SUB_M_LOGON_FAILURE 101 //登录失败
- #define SUB_GR_LOGON_FINISH 102 //登录完成
-
- //升级提示
- #define SUB_GR_UPDATE_NOTIFY 200 //升级提示
-
- //////////////////////////////////////////////////////////////////////////////////
-
- #ifdef _UNICODE
- #define TSTRINGLEN(pBuffer) wcslen(pBuffer)
- #else
- #define TSTRINGLEN(pBuffer) strlen(pBuffer)
- #endif
-
- class mylog
- {
- public:
- //格式
- //static bool ToSet(TCHAR* pBuffer, int iLen, DWORD dUserID);
-
- static void OutputString(TCHAR* pBuffer, int iTableID);
- };
-
- struct TagUpData
- {
- DWORD iTableCount;//桌子总数
- DWORD iPlayingTableCount;//游戏中桌子
- DWORD iFreeTableCount;//空闲桌子
- DWORD iDownTableCount;//集体掉线桌子
- DWORD iLoginBody;//登录总人数
- DWORD iDownBody;//掉线人数
- DWORD iDaTingBody;//在大厅人数
- DWORD iLinkBody;//连接人数
-
- DWORD iSocketNum;//Socket总数
- DWORD iErrQ;//协议非法请求拒绝数
- DWORD iLJErrQ;//逻辑非法请求数
- DWORD iFreeCon;//空连接
- DWORD iQNum;//正常业务请求数
-
- DWORD dLoginQ;//登录请求数
- DWORD dLoginQOK;//完整登录请求成功数
- DWORD dLoginDuanXianOK;//断线重连请求成功数
- DWORD dChongZhi;//充值请求数
- DWORD dChongZhiOK;//充值请求成功数
- DWORD dCreateTable;//创建桌子失败数
- DWORD dAddRoom;//加入房间成功数
- DWORD dAddRoomChange;//加入房间切换节点数
- int iTableNum;//私有房间数量
- int PrivteTable[500];//本服务器上的私有房间号
- };
-
-
- //用户积分
- struct tagUserScore
- {
- //积分信息
- DWORD lScore; //用户分数
-
-
- bool ToString(TCHAR* pBuffer, int iLen, DWORD dUserID)
- {
- if (sizeof(tagUserScore) * 16 > iLen) return false;
-
- #ifdef _UNICODE
- _snwprintf(pBuffer, iLen, TEXT("<br>【子项积分信息】用户分数:%d.")
- , lScore);
- #else
- _snprintf(pBuffer, iLen, TEXT("<br>【子项积分信息】用户分数:%d.")
- , lScore);
- #endif
- ////mylog::ToSet(pBuffer, iLen, dUserID);
- return true;
- }
- //名字
- bool ToName(TCHAR* pBuffer, int iLen)
- {
- TCHAR szTemp[] = _T("积分信息");
-
- if (TSTRINGLEN(szTemp) > iLen) return false;
-
- StringCchCopy(pBuffer, iLen, szTemp);
-
- return true;
- }
- //打印通讯日志
- void ToShow(int dTablePrivate, DWORD dUserID)
- {
- TCHAR szBuffer[BUFFERLEN];
- ZeroMemory(szBuffer, BUFFERLEN * sizeof(TCHAR));
- if (ToString(szBuffer, BUFFERLEN, dUserID))
- {
- mylog::OutputString(szBuffer, dTablePrivate);
- }
- }
- };
-
- //I D 登录
- struct CMD_GR_LogonUserID
- {
- //版本信息
- DWORD dwPlazaVersion; //广场版本
- DWORD dwFrameVersion; //框架版本
- DWORD dwProcessVersion; //进程版本
-
- //登录信息
- DWORD dwUserID; //用户 I D
- TCHAR szPassword[LEN_MD5]; //登录密码
- TCHAR szServerPasswd[LEN_PASSWORD]; //房间密码
- TCHAR szMachineID[LEN_MACHINE_ID]; //机器序列
- WORD wKindID; //类型索引
-
- public:
- //参数转成字符串
- bool ToString(TCHAR* pBuffer, int iLen)
- {
- return false;
- }
- bool ToName(TCHAR* pBuffer, int iLen)
- {
- TCHAR szTemp[] = _T("I D 登录");
-
- if (TSTRINGLEN(szTemp)>iLen) return false;
-
- StringCchCopy(pBuffer, iLen, szTemp);
-
- return true;
- }
- };
-
- //手机登录
- struct CMD_GR_LogonMobile
- {
- //版本信息
- WORD wGameID; //游戏标识
- DWORD dwProcessVersion; //进程版本
-
- //桌子区域
- BYTE cbDeviceType; //设备类型
- WORD wBehaviorFlags; //行为标识
- WORD wPageTableCount; //分页桌数
-
- //登录信息
- DWORD dwUserID; //用户 I D
- TCHAR szPassword[LEN_MD5]; //登录密码
- TCHAR szMachineID[LEN_MACHINE_ID]; //机器标识
- DWORD dX; //精度
- DWORD dY; //维度
- TCHAR szChengShi[20]; //城市
-
- //参数转成字符串
- bool ToString(TCHAR* pBuffer, int iLen, DWORD dUserID)
- {
-
- #ifdef _UNICODE
- _snwprintf(pBuffer, iLen, TEXT("手机登录->游戏标识:%d,进程版本:%d,设备类型:%d,行为标识:%d,分页桌数:%d,用户 I D:%d,登录密码:%s,版本号:%s,经度%d,维度%d,所在城市%s.")
- , wGameID, dwProcessVersion, cbDeviceType, wBehaviorFlags, wPageTableCount, dwUserID, szPassword, szMachineID,dX, dY, szChengShi);
- #else
- _snprintf(pBuffer, iLen, TEXT("手机登录->游戏标识:%d,进程版本:%d,设备类型:%d,行为标识:%d,分页桌数:%d,用户 I D:%d,登录密码:%s,机器标识:%s.")
- , wGameID, dwProcessVersion, cbDeviceType, wBehaviorFlags, wPageTableCount, dwUserID, szPassword, szMachineID);
- #endif
- //mylog::ToSet(pBuffer, iLen, dUserID);
- return true;
- }
- //名字
- bool ToName(TCHAR* pBuffer, int iLen)
- {
- TCHAR szTemp[] = _T("手机登录");
-
- if (TSTRINGLEN(szTemp) > iLen) return false;
-
- StringCchCopy(pBuffer, iLen, szTemp);
-
- return true;
- }
- //打印通讯日志
- void ToShow(int dTablePrivate, DWORD dUserID)
- {
- TCHAR szBuffer[BUFFERLEN];
- ZeroMemory(szBuffer, BUFFERLEN * sizeof(TCHAR));
- if (ToString(szBuffer, BUFFERLEN, dUserID))
- {
- mylog::OutputString(szBuffer, dTablePrivate);
- }
- }
- };
-
- //帐号登录
- struct CMD_GR_LogonAccounts
- {
- //版本信息
- DWORD dwPlazaVersion; //广场版本
- DWORD dwFrameVersion; //框架版本
- DWORD dwProcessVersion; //进程版本
-
- //登录信息
- TCHAR szPassword[LEN_MD5]; //登录密码
- TCHAR szAccounts[LEN_ACCOUNTS]; //登录帐号
- TCHAR szMachineID[LEN_MACHINE_ID]; //机器序列
-
- //参数转成字符串
- bool ToString(TCHAR* pBuffer, int iLen, DWORD dUserID)
- {
- if (sizeof(CMD_GR_LogonAccounts) * 16 > iLen) return false;
-
- #ifdef _UNICODE
- _snwprintf(pBuffer, iLen, TEXT("帐号登录->广场版本:%d,框架版本:%d,进程版本:%d,登录密码:%s,登录帐号:%s,机器序列:%s.")
- , dwProcessVersion, dwFrameVersion, dwProcessVersion, szPassword, szAccounts, szMachineID);
- #else
- _snprintf(pBuffer, iLen, TEXT("帐号登录->广场版本:%d,框架版本:%d,进程版本:%d,登录密码:%s,登录帐号:%s,机器序列:%s.")
- , dwProcessVersion, dwFrameVersion, dwProcessVersion, szPassword, szAccounts, szMachineID);
- #endif
- //mylog::ToSet(pBuffer, iLen, dUserID);
- return true;
- }
- //名字
- bool ToName(TCHAR* pBuffer, int iLen)
- {
- TCHAR szTemp[] = _T("帐号登录");
-
- if (TSTRINGLEN(szTemp) > iLen) return false;
-
- StringCchCopy(pBuffer, iLen, szTemp);
-
- return true;
- }
- //打印通讯日志
- void ToShow(int dTablePrivate, DWORD dUserID)
- {
- TCHAR szBuffer[BUFFERLEN];
- ZeroMemory(szBuffer, BUFFERLEN * sizeof(TCHAR));
- if (ToString(szBuffer, BUFFERLEN, dUserID))
- {
- mylog::OutputString(szBuffer, dTablePrivate);
- }
- }
-
- };
-
- //登录成功
- struct CMD_GR_LogonSuccess
- {
- DWORD dwUserRight; //用户权限
- DWORD dwMasterRight; //管理权限
-
- //参数转成字符串
- bool ToString(TCHAR* pBuffer, int iLen, DWORD dUserID)
- {
- if (sizeof(CMD_GR_LogonSuccess) * 16 > iLen) return false;
-
- #ifdef _UNICODE
- _snwprintf(pBuffer, iLen, TEXT("登录成功->用户权限:%d,管理权限:%d.")
- , dwUserRight, dwMasterRight);
- #else
- _snprintf(pBuffer, iLen, TEXT("登录成功->用户权限:%d,管理权限:%d.")
- , dwUserRight, dwMasterRight);
- #endif
- //mylog::ToSet(pBuffer, iLen, dUserID);
- return true;
- }
- //名字
- bool ToName(TCHAR* pBuffer, int iLen)
- {
- TCHAR szTemp[] = _T("登录成功");
-
- if (TSTRINGLEN(szTemp) > iLen) return false;
-
- StringCchCopy(pBuffer, iLen, szTemp);
-
- return true;
- }
- //打印通讯日志
- void ToShow(int dTablePrivate, DWORD dUserID)
- {
- TCHAR szBuffer[BUFFERLEN];
- ZeroMemory(szBuffer, BUFFERLEN * sizeof(TCHAR));
- if (ToString(szBuffer, BUFFERLEN, dUserID))
- {
- mylog::OutputString(szBuffer, dTablePrivate);
- }
- }
-
- };
-
- //登录失败
- struct CMD_GR_LogonFailure
- {
- LONG lErrorCode; //错误代码
- TCHAR szDescribeString[128]; //描述消息
-
- //参数转成字符串
- bool ToString(TCHAR* pBuffer, int iLen, DWORD dUserID)
- {
- if (sizeof(CMD_GR_LogonSuccess) * 16 > iLen) return false;
-
- #ifdef _UNICODE
- _snwprintf(pBuffer, iLen, TEXT("登录失败->错误代码:%d,描述消息:%s.")
- , lErrorCode, szDescribeString);
- #else
- _snprintf(pBuffer, iLen, TEXT("登录失败->错误代码:%d,描述消息:%s.")
- , lErrorCode, szDescribeString);
- #endif
- //mylog::ToSet(pBuffer, iLen, dUserID);
- return true;
- }
- //名字
- bool ToName(TCHAR* pBuffer, int iLen)
- {
- TCHAR szTemp[] = _T("登录失败");
-
- if (TSTRINGLEN(szTemp) > iLen) return false;
-
- StringCchCopy(pBuffer, iLen, szTemp);
-
- return true;
- }
- //打印通讯日志
- void ToShow(int dTablePrivate, DWORD dUserID)
- {
- TCHAR szBuffer[BUFFERLEN];
- ZeroMemory(szBuffer, BUFFERLEN * sizeof(TCHAR));
- if (ToString(szBuffer, BUFFERLEN, dUserID))
- {
- mylog::OutputString(szBuffer, dTablePrivate);
- }
- }
- };
-
- //登录完成
- struct CMD_GR_LogonFinish
- {
- bool bGuideTask; //引领任务
-
- //参数转成字符串
- bool ToString(TCHAR* pBuffer, int iLen, DWORD dUserID)
- {
- if (sizeof(CMD_GR_LogonFinish) * 16 > iLen) return false;
-
- #ifdef _UNICODE
- _snwprintf(pBuffer, iLen, TEXT("登录完成->引领任务:%s.")
- , bGuideTask ? _T("是") : _T("否"));
- #else
- _snprintf(pBuffer, iLen, TEXT("登录完成->引领任务:%s.")
- , bGuideTask ? _T("是") : _T("否"));
- #endif
- //mylog::ToSet(pBuffer, iLen, dUserID);
- return true;
- }
- //名字
- bool ToName(TCHAR* pBuffer, int iLen)
- {
- TCHAR szTemp[] = _T("登录完成");
-
- if (TSTRINGLEN(szTemp) > iLen) return false;
-
- StringCchCopy(pBuffer, iLen, szTemp);
-
- return true;
- }
- //打印通讯日志
- void ToShow(int dTablePrivate, DWORD dUserID)
- {
- TCHAR szBuffer[BUFFERLEN];
- ZeroMemory(szBuffer, BUFFERLEN * sizeof(TCHAR));
- if (ToString(szBuffer, BUFFERLEN, dUserID))
- {
- mylog::OutputString(szBuffer, dTablePrivate);
- }
- }
- };
-
- //升级提示
- struct CMD_GR_UpdateNotify
- {
- //升级标志
- BYTE cbMustUpdatePlaza; //强行升级
- BYTE cbMustUpdateClient; //强行升级
- BYTE cbAdviceUpdateClient; //建议升级
-
- //当前版本
- DWORD dwCurrentPlazaVersion; //当前版本
- DWORD dwCurrentFrameVersion; //当前版本
- DWORD dwCurrentClientVersion; //当前版本
-
- //参数转成字符串
- bool ToString(TCHAR* pBuffer, int iLen, DWORD dUserID)
- {
- if (sizeof(CMD_GR_UpdateNotify) * 16 > iLen) return false;
-
- #ifdef _UNICODE
- _snwprintf(pBuffer, iLen, TEXT("升级提示->强行升级:%d,强行升级:%d,建议升级:%d,当前版本:%d,当前版本:%d,当前版本:%d.")
- , cbMustUpdatePlaza, cbMustUpdateClient, cbAdviceUpdateClient, dwCurrentPlazaVersion, dwCurrentFrameVersion, dwCurrentClientVersion);
- #else
- _snprintf(pBuffer, iLen, TEXT("升级提示->强行升级:%d,强行升级:%d,建议升级:%d,当前版本:%d,当前版本:%d,当前版本:%d.")
- , cbMustUpdatePlaza, cbMustUpdateClient, cbAdviceUpdateClient, dwCurrentPlazaVersion, dwCurrentFrameVersion, dwCurrentClientVersion);
- #endif
- //mylog::ToSet(pBuffer, iLen, dUserID);
- return true;
- }
- //名字
- bool ToName(TCHAR* pBuffer, int iLen)
- {
- TCHAR szTemp[] = _T("升级提示");
-
- if (TSTRINGLEN(szTemp) > iLen) return false;
-
- StringCchCopy(pBuffer, iLen, szTemp);
-
- return true;
- }
- //打印通讯日志
- void ToShow(int dTablePrivate, DWORD dUserID)
- {
- TCHAR szBuffer[BUFFERLEN];
- ZeroMemory(szBuffer, BUFFERLEN * sizeof(TCHAR));
- if (ToString(szBuffer, BUFFERLEN, dUserID))
- {
- mylog::OutputString(szBuffer, dTablePrivate);
- }
- }
- };
-
- //////////////////////////////////////////////////////////////////////////////////
- //配置命令
-
- #define MDM_GR_CONFIG 2 //配置信息
-
- #define SUB_GR_CONFIG_COLUMN 100 //列表配置
- #define SUB_GR_CONFIG_SERVER 101 //房间配置
- #define SUB_GR_CONFIG_PROPERTY 102 //道具配置
- #define SUB_GR_CONFIG_FINISH 103 //配置完成
- #define SUB_GR_CONFIG_USER_RIGHT 104 //玩家权限
-
- //////////////////////////////////////////////////////////////////////////////////
- //列表子项
- struct tagColumnItem
- {
- BYTE cbColumnWidth; //列表宽度
- BYTE cbDataDescribe; //字段类型
- TCHAR szColumnName[16]; //列表名字
- };
- //列表配置
- struct CMD_GR_ConfigColumn
- {
- BYTE cbColumnCount; //列表数目
- tagColumnItem ColumnItem[MAX_COLUMN]; //列表描述
- };
-
- //房间配置
- struct CMD_GR_ConfigServer
- {
- //房间属性
- WORD wTableCount; //桌子数目
- WORD wChairCount; //椅子数目
-
- //房间配置
- WORD wServerType; //房间类型
- DWORD dwServerRule; //房间规则
-
- //参数转成字符串
- bool ToString(TCHAR* pBuffer, int iLen, DWORD dUserID)
- {
- if (sizeof(CMD_GR_ConfigServer) * 16 > iLen) return false;
-
- #ifdef _UNICODE
- _snwprintf(pBuffer, iLen, TEXT("房间配置->桌子数目:%d,椅子数目:%d,房间类型:%d,房间规则:%d.")
- , wTableCount, wChairCount, wServerType, dwServerRule);
- #else
- _snprintf(pBuffer, iLen, TEXT("房间配置->桌子数目:%d,椅子数目:%d,房间类型:%d,房间规则:%d.")
- , wTableCount, wChairCount, wServerType, dwServerRule);
- #endif
- //mylog::ToSet(pBuffer, iLen, dUserID);
- return true;
- }
- //名字
- bool ToName(TCHAR* pBuffer, int iLen)
- {
- TCHAR szTemp[] = _T("房间配置");
-
- if (TSTRINGLEN(szTemp) > iLen) return false;
-
- StringCchCopy(pBuffer, iLen, szTemp);
-
- return true;
- }
- //打印通讯日志
- void ToShow(int iTalbeID, DWORD dUserID)
- {
- TCHAR szBuffer[BUFFERLEN];
- ZeroMemory(szBuffer, BUFFERLEN * sizeof(TCHAR));
- if (ToString(szBuffer, BUFFERLEN, dUserID))
- {
- mylog::OutputString(szBuffer, iTalbeID);
- }
- }
- };
-
- //道具配置
- struct CMD_GR_ConfigProperty
- {
- BYTE cbPropertyCount; //道具数目
- tagPropertyInfo PropertyInfo[MAX_PROPERTY]; //道具描述
- };
-
- //玩家权限
- struct CMD_GR_ConfigUserRight
- {
- DWORD dwUserRight; //玩家权限
- };
- //////////////////////////////////////////////////////////////////////////////////
- //用户命令
-
- #define MDM_GR_USER 3 //用户信息
-
- //用户动作
- #define SUB_GR_USER_RULE 1 //用户规则
- #define SUB_GR_USER_LOOKON 2 //旁观请求
- #define SUB_GR_USER_SITDOWN 3 //坐下请求
- #define SUB_GR_USER_STANDUP 4 //起立请求
- //#define SUB_GR_USER_INVITE 5 //用户邀请
- //#define SUB_GR_USER_INVITE_REQ 6 //邀请请求
- //#define SUB_GR_USER_REPULSE_SIT 7 //拒绝玩家坐下
- //#define SUB_GR_USER_KICK_USER 8 //踢出用户
- #define SUB_GR_USER_INFO_REQ 9 //请求用户信息
- #define SUB_GR_USER_CHAIR_REQ 10 //请求更换位置
- #define SUB_GR_USER_CHAIR_INFO_REQ 11 //请求椅子用户信息
- #define SUB_GR_USER_WAIT_DISTRIBUTE 12 //等待分配
- #define SUB_GR_USER_GET_GAME_SCORE_RECORD_LIST 13 //获取牌桌游戏数据简要列表
- #define SUB_GR_USER_GET_GAME_SCORE_RECORD_DETAIL_INFO 14
- #define SUB_GR_USER_GET_GAME_SCORE_RECORD_REPLAY 15 //获取回放记录
- #define SUB_GR_USER_GET_GAME_TEMP_SCORE_RANKLIST 16 //获取临时积分排行榜
- #define SUB_GR_USER_GET_GAME_TEMP_SCORE_RANKLIST_RESULT 17 //获取临时积分排行榜返回
-
- #define SUB_GR_USER_CREATE 19 //创建房间
- #define SUB_GR_USER_ADD 20 //加入房间
- #define SUB_GR_USER_SEAT 21 //玩家坐下请求
- #define SUB_GR_USER_SEAT_ACK 22 //玩家坐下请求应答
- #define SUB_GR_USER_MYROOM_UPDATA 23 //玩家拥有的房间状态更新
- #define SUB_GR_USER_GET_DINGDAN_NEW 37 //请求订单新方式
- #define SUB_GR_USER_GET_DINGDAN 24 //请求订单
- #define SUB_GR_USER_GET_DINGDANACK 25 //请求订单
- #define SUB_GR_USER_GET_DINGDANLIST 26 //获取已支付订单列表
- #define SUB_GR_USER_GET_DINGDANLISTACK 27 //获取已支付订单列表
- #define SUB_GR_USER_GET_BANGDING 28 //绑定代理
- #define SUB_GR_USER_GET_BANGDINGACK 29 //绑定代理返回
- #define SUB_GR_USER_GET_BEAN 30 //请求更新元宝
- #define SUB_GR_USER_GET_BEAN_RESULT 31 //请求更新元宝 数据库应答
- #define SUB_GR_USER_GETADD_INFO 32 //获取加入房间信息
- #define SUB_GR_USER_GETADD_INFO_ACK 33 //获取加入房间信息应答
- #define SUB_GR_USER_DAILI_INFO 34 //获取绑定代理信息
- #define SUB_GR_USER_DAILI_INFO_ACK 35 //获取绑定代理信息
-
- #define SUB_GR_USER_GET_VERIF_CODE 36 //获取手机验证码
- #define SUB_GR_USER_CHECK_IPHONE 38 //绑定手机号写入
- #define SUB_GR_USER_CHECK_IPHONE_QUERY 39 //绑定手机号查询
- #define SUB_GR_USER_CHECK_NAME 40 //实名认证写入
- #define SUB_GR_USER_CHECK_NAME_QUERY 41 //实名认证查询
-
- #define SUB_GR_USER_SHRAE_AWARD_BEAN 42 //分享奖励钻石请求
- #define SUB_GR_USER_SHRAE_AWARD_BEAN_RESULT 43 //分享奖励钻石结果
-
- #define SUB_GR_USER_SHRAE_INFO 44 //用户当天分享奖励信息请求
- #define SUB_GR_USER_SHRAE_INFO_RESULT 45 //用户当天分享奖励信息结果
-
- #define SUB_GR_USER_TOP_WIN_LIST 46 ///+++胜局榜
- #define SUB_GR_USER_TOP_WIN_LIST_ACK 47 ///+++胜局榜应答
-
- #define SUB_GR_USER_RELIEF_NOTIFY 48 ///+++破产补助通知信息
-
- #define SUB_GR_USER_GET_RELIEF 49 ///+++领取破产补助
- #define SUB_GR_USER_GET_RELIEF_ACK 50 ///+++领取破产补助应答
-
- #define SUB_GR_USER_PRIVATE_GAME_SVR 51 ///+++拉取好友房服务器
- #define SUB_GR_USER_PRIVATE_GAME_SVR_ACK 52 ///+++拉取好友房服务器应答
-
- #define SUB_GR_USER_GET_AGENT_YELLOW_CARD 53 ///+++获取代理“黄牌”信息(只作透传)
- #define SUB_GR_USER_GET_AGENT_YELLOW_CARD_ACK 54
-
- #define SUB_GR_USER_UNBIND_YELLOW_CARD_AGENT 55 ///+++解绑黄牌代理(只作透传)
- #define SUB_GR_USER_UNBIND_YELLOW_CARD_AGENT_ACK 56
-
- #define SUB_GR_USER_APPLY_UNTIE_AGENT 57 ///+++自主申请解绑(只作透传)
- #define SUB_GR_USER_APPLY_UNTIE_AGENT_ACK 58 //解绑应答
-
- #define SUB_GR_USER_GET_UNTIE_AGENT_INFO 59 ///用户获得代理解绑相关信息
- #define SUB_GR_USER_GET_UNTIE_AGENT_INFO_ACK 60 //用户获得代理解绑相关信息应答
-
- #define SUB_GR_USER_CHECK_XIANLIAO 61 //闲聊
-
- //用户状态
- #define SUB_GR_USER_ENTER 100 //用户进入
- #define SUB_GR_USER_SCORE 101 //用户分数
- #define SUB_GR_USER_STATUS 102 //用户状态
- #define SUB_GR_REQUEST_FAILURE 103 //请求失败
- #define SUB_GR_USER_BEAN 104 //用户游戏豆
- #define SUB_GR_USER_PRIVATE_TABLE_ID 105 //通知私有房间ID
- #define SUB_GR_LOCK_BEAN 106 //元宝锁定
- #define SUB_GR_UNLOCK_BEAN 107 //元宝解锁
- #define SUB_GR_USER_ADDCREATE_TABLE_ID 108 //创建加入房间应答
- #define SUB_GR_USER_ADDCREATE_TABLE_ALL 109 //通知创建的所有房间列表
- #define SUB_GR_DELETE_PRIVATE_TABLE_REQ 110 //请求删除私有房间
- #define SUB_GR_DELETE_PRIVATE_TABLE_RESP 111 //请求删除私有房间响应消息(同意?不同意?)
- #define SUB_GR_DELETE_PRIVATE_TABLE_RESULT 112 //请求删除私有房间de结果消息(成功?失败?)
- #define SUB_GR_USER_QINGQIUJIESAN 113 //游戏未开始前,房主请求解散。
-
- ///+++福利信息
- #define SUB_GP_WELFARE_INFO 186 //福利信息
- #define SUB_GP_WELFARE_INFO_ACK 187 //福利信息结果
-
- #define SUB_GP_WENLIN_SHUFFLE 189 //洗牌动画 获取砖石数据 传空值给服务器
- #define SUB_GP_WENLIN_SHUFFLE_ACK 190 //洗牌动画 获取砖石数据应答
-
- //聊天命令
- #define SUB_GR_USER_CHAT 201 //聊天消息
- #define SUB_GR_USER_EXPRESSION 202 //表情消息
- #define SUB_GR_WISPER_CHAT 203 //私聊消息
- #define SUB_GR_WISPER_EXPRESSION 204 //私聊表情
- #define SUB_GR_COLLOQUY_CHAT 205 //会话消息
- #define SUB_GR_COLLOQUY_EXPRESSION 206 //会话表情
-
- ///+++签到服务
- #define SUB_GP_CHECKIN_REWARD2 180 //签到奖品
- #define SUB_GP_CHECKIN_REWARD2_ACK 181 //签到奖品结果
-
- #define SUB_GP_CHECKIN_INFO2 182 //签到信息
- #define SUB_GP_CHECKIN_INFO2_ACK 183 //签到信息结果
-
- #define SUB_GP_CHECKIN_DONE2 184 //执行签到
- #define SUB_GP_CHECKIN_DONE2_ACK 185 //签到结果
-
-
- //道具命令
- //#define SUB_GR_PROPERTY_BUY 300 //购买道具
- //#define SUB_GR_PROPERTY_SUCCESS 301 //道具成功
- //#define SUB_GR_PROPERTY_FAILURE 302 //道具失败
- #define SUB_GR_PROPERTY_MESSAGE 303 //道具消息
- #define SUB_GR_PROPERTY_EFFECT 304 //道具效应
- #define SUB_GR_PROPERTY_TRUMPET 305 //喇叭消息
-
-
- //proto新加协议
- #define SUB_GR_USER_GET_GAME_SCORE_RECORD_LISTACK 400 //获取牌桌游戏数据简要列表返回
- #define SUB_GR_USER_GET_GAME_SCORE_RECORD_REPLAYACK 401 //获取回放记录回复
-
- //玩家已开房房间信息
- struct JN_GR_RoomListEx
- {
- DWORD dwUserID; //拥有人
- DWORD dwServerID; //服务器ID
- DWORD dwRoomNumber; //私有房间号
- DWORD dwInsert_UpData_Del; //添加更新删除 0 , 1, 2
- DWORD dwDiFen; //底分
- DWORD dwJuShu; //局数
- DWORD dwReadyBody; //已有人数
- DWORD dwBody; //总人数
- BYTE bWanFa; //玩法
- TCHAR szIp[20]; //IP
- byte bDuoLai; //多癞子可平胡,0可以 1不可以
- WORD wFengDing; //封顶值
- byte tmp1; //备用字段
- byte tmp2; //备用字段
- byte tmp3; //备用字段
- byte tmp4; //备用字段
- byte tmp5; //备用字段
- int tmp6[4]; //备用
- WORD wPort; //端口
-
- //参数转成字符串
- bool ToString(TCHAR* pBuffer, int iLen, DWORD dUserID)
- {
- if (sizeof(JN_GR_RoomListEx) * 16 > iLen) return false;
-
- TCHAR szTemp[16];
- ZeroMemory(szTemp, 16 * sizeof(TCHAR));
-
- switch (dwInsert_UpData_Del)
- {
- case 0:
- StringCchCat(szTemp, 32, _TEXT("添加"));
- break;
- case 1:
- StringCchCat(szTemp, 32, _TEXT("更新"));
- break;
- case 2:
- StringCchCat(szTemp, 32, _TEXT("删除"));
- break;
- default:
- break;
- }
-
- #ifdef _UNICODE
- _snwprintf(pBuffer, iLen, TEXT("玩家已开房房间信息->拥有人:%d,服务器ID:%d,私有房间号:%d,添加更新删除:%s,底分:%d,局数:%d,已有人数:%d,总人数:%d,玩法:%d,bDuoLai=%d,wFengDing=%d")
- , dwUserID, dwServerID, dwRoomNumber, szTemp, dwDiFen, dwJuShu, dwReadyBody, dwBody, bWanFa, bDuoLai, wFengDing);
- #else
- _snwprintf(pBuffer, iLen, TEXT("玩家已开房房间信息->拥有人:%d,服务器ID:%d,私有房间号:%d,添加更新删除:%s,底分:%d,局数:%d,已有人数:%d,总人数:%d,玩法:%d,bDuoLai=%d,wFengDing=%d")
- , dwUserID, dwServerID, dwRoomNumber, szTemp, dwDiFen, dwJuShu, dwReadyBody, dwBody, bWanFa, bDuoLai, wFengDing);
- #endif
- //mylog::ToSet(pBuffer, iLen, dUserID);
- return true;
- }
- //名字
- bool ToName(TCHAR* pBuffer, int iLen)
- {
- TCHAR szTemp[] = _T("玩家已开房房间信息");
-
- if (TSTRINGLEN(szTemp) > iLen) return false;
-
- StringCchCopy(pBuffer, iLen, szTemp);
-
- return true;
- }
- //打印通讯日志
- void ToShow(int dTablePrivate, DWORD dUserID)
- {
- TCHAR szBuffer[BUFFERLEN];
- ZeroMemory(szBuffer, BUFFERLEN * sizeof(TCHAR));
- if (ToString(szBuffer, BUFFERLEN, dUserID))
- {
- mylog::OutputString(szBuffer, dTablePrivate);
- }
- }
- };
- //玩家已开房房间信息
- struct JN_GR_RoomListExGig
- {
- DWORD dwUserID; //拥有人
- DWORD dwServerID; //服务器ID
- DWORD dwRoomNumber; //私有房间号
- DWORD dwInsert_UpData_Del; //添加更新删除 0 , 1, 2
- DWORD dwDiFen; //底分
- DWORD dwJuShu; //局数
- DWORD dwReadyBody; //已有人数
- DWORD dwBody; //总人数
- BYTE bWanFa; //玩法
- TCHAR szIp[32]; //IP
- WORD wPort; //端口
- BYTE bRoomCreatePay; //是否为房主支付
- BYTE bFanGua; //是否反作弊 1 是 0 否
- TCHAR szName[12]; //昵称
-
- //参数转成字符串
- bool ToString(TCHAR* pBuffer, int iLen, DWORD dUserID)
- {
- if (sizeof(JN_GR_RoomListEx) * 16 > iLen) return false;
-
- TCHAR szTemp[16];
- ZeroMemory(szTemp, 16 * sizeof(TCHAR));
-
- switch (dwInsert_UpData_Del)
- {
- case 0:
- StringCchCat(szTemp, 32, _TEXT("添加"));
- break;
- case 1:
- StringCchCat(szTemp, 32, _TEXT("更新"));
- break;
- case 2:
- StringCchCat(szTemp, 32, _TEXT("删除"));
- break;
- default:
- break;
- }
-
- #ifdef _UNICODE
- _snwprintf(pBuffer, iLen, TEXT("玩家已开房房间信息->拥有人:%d,服务器ID:%d,私有房间号:%d,添加更新删除:%s,底分:%d,局数:%d,已有人数:%d,总人数:%d,玩法:%d.")
- , dwUserID, dwServerID, dwRoomNumber, szTemp, dwDiFen, dwJuShu, dwReadyBody, dwBody, bWanFa);
- #else
- _snprintf(pBuffer, iLen, TEXT("玩家已开房房间信息->拥有人:%d,服务器ID:%d,私有房间号:%d,添加更新删除:%s,底分:%d,局数:%d,已有人数:%d,总人数:%d,玩法:%d.")
- , dwUserID, dwServerID, dwRoomNumber, szTemp, dwDiFen, dwJuShu, dwReadyBody, dwBody, bWanFa);
- #endif
- //mylog::ToSet(pBuffer, iLen, dUserID);
- return true;
- }
- //名字
- bool ToName(TCHAR* pBuffer, int iLen)
- {
- TCHAR szTemp[] = _T("玩家已开房房间信息");
-
- if (TSTRINGLEN(szTemp) > iLen) return false;
-
- StringCchCopy(pBuffer, iLen, szTemp);
-
- return true;
- }
- //打印通讯日志
- void ToShow(int dTablePrivate, DWORD dUserID)
- {
- TCHAR szBuffer[BUFFERLEN];
- ZeroMemory(szBuffer, BUFFERLEN * sizeof(TCHAR));
- if (ToString(szBuffer, BUFFERLEN, dUserID))
- {
- mylog::OutputString(szBuffer, dTablePrivate);
- }
- }
- };
- //////////////////////////////////////////////////////////////////////////////////
- //玩家已开房房间列表
- struct JN_GR_RoomListGroupEx
- {
- JN_GR_RoomListExGig jgrDate[10];
- DWORD Num;//总共开房数
-
- //参数转成字符串
- bool ToString(TCHAR* pBuffer, int iLen, DWORD dUserID)
- {
- if (sizeof(JN_GR_RoomListGroupEx) * 16 > iLen) return false;
-
- TCHAR szBuffer2[BUFFERLEN];
- ZeroMemory(szBuffer2, BUFFERLEN * sizeof(TCHAR));
-
- int iA = Num >10 ? 10: Num;
- for (INT i = 0; i < iA; i++)
- {
- TCHAR szBuffer[BUFFERLEN];
- ZeroMemory(szBuffer, BUFFERLEN * sizeof(TCHAR));
- jgrDate[i].ToString(szBuffer, BUFFERLEN, dUserID);
- StringCchCat(szBuffer2, BUFFERLEN, szBuffer);
- }
- #ifdef _UNICODE
- _snwprintf(pBuffer, iLen, TEXT("玩家已开房房间列表->总共开房数:%d,具体房间信息:\r\n[%s].")
- , Num, szBuffer2);
- #else
- _snprintf(pBuffer, iLen, TEXT("玩家已开房房间列表->总共开房数:%d,具体房间信息:\r\n[%s].")
- , Num, szBuffer2);
- #endif
- //mylog::ToSet(pBuffer, iLen, dUserID);
- return true;
- }
- //名字
- bool ToName(TCHAR* pBuffer, int iLen)
- {
- TCHAR szTemp[] = _T("玩家已开房房间列表");
-
- if (TSTRINGLEN(szTemp) > iLen) return false;
-
- StringCchCopy(pBuffer, iLen, szTemp);
-
- return true;
- }
- //打印通讯日志
- void ToShow(int dTablePrivate, DWORD dUserID)
- {
- TCHAR szBuffer[BUFFERLEN];
- ZeroMemory(szBuffer, BUFFERLEN * sizeof(TCHAR));
- if (ToString(szBuffer, BUFFERLEN, dUserID))
- {
- mylog::OutputString(szBuffer, dTablePrivate);
- }
- }
- };
- //用户信息
- struct tagMobileUserInfoHead
- {
- //用户属性
- DWORD dwGameID; //游戏 I D
- DWORD dwUserID; //用户 I D
- //头像信息
- WORD wFaceID; //头像索引
- DWORD dwCustomID; //自定标识
- //用户属性
- BYTE cbGender; //用户性别
- BYTE cbMemberOrder; //会员等级
- //用户状态
- WORD wTableID; //桌子索引
- WORD wChairID; //椅子索引
- BYTE cbUserStatus; //用户状态
- //积分信息
- SCORE lScore; //用户分数
- //游戏信息
- DWORD dwWinCount; //胜利盘数
- DWORD dwLostCount; //失败盘数
- DWORD dwDrawCount; //和局盘数
- DWORD dwFleeCount; //逃跑盘数
- DWORD dwExperience; //用户经验
- TCHAR szNickname[LEN_NICKNAME]; //三方头像地址
- TCHAR szHeadUrl[LEN_HEAD_URL]; //三方头像地址
- DWORD dwClientAddr; //IP地址
-
- int iXinYong; //该用户信用值
- TCHAR RetTime[11]; //注册时间
- TCHAR ChengShi[20]; //城市
- LONGLONG llDingWeiX; //该玩家定位数据
- LONGLONG llDingWeiY; //该玩家定位数据
- int iJiePing; //反作场弊房,截屏次数。
-
- //参数转成字符串
- bool ToString(TCHAR* pBuffer, int iLen, DWORD dUserID)
- {
- //if (sizeof(tagMobileUserInfoHead) * 10 > iLen) return false;
-
- TCHAR szTemp[32];
- ZeroMemory(szTemp, 32 * sizeof(TCHAR));
-
- switch (cbUserStatus)
- {
- case US_NULL:
- StringCchCat(szTemp, 32, _TEXT("没有状态"));
- break;
- case US_FREE:
- StringCchCat(szTemp, 32, _TEXT("大厅状态"));
- break;
- case US_SIT:
- StringCchCat(szTemp, 32, _TEXT("坐下状态"));
- break;
- case US_READY:
- StringCchCat(szTemp, 32, _TEXT("准备状态"));
- break;
- case US_LOOKON:
- StringCchCat(szTemp, 32, _TEXT("旁观状态"));
- break;
- case US_PLAYING:
- StringCchCat(szTemp, 32, _TEXT("游戏状态"));
- break;
- case US_OFFLINE:
- StringCchCat(szTemp, 32, _TEXT("断线状态"));
- break;
- default:
- break;
- }
-
- /*TCHAR strIP[64];
- ZeroMemory(strIP, 64*sizeof(TCHAR));
- WORD add1, add2, add3, add4;
-
- add1 = (WORD)(dwClientAddr & 255);
- add2 = (WORD)((dwClientAddr >> 8) & 255);
- add3 = (WORD)((dwClientAddr >> 16) & 255);
- add4 = (WORD)((dwClientAddr >> 24) & 255);*/
-
- #ifdef _UNICODE
- /*_snwprintf(strIP, 64, _T("%d.%d.%d.%d"), add1, add2, add3, add4);*/
-
-
- _snwprintf(pBuffer, iLen, TEXT("<br>【用户信息】游戏ID:%d,用户ID:%d,头像索引:%d,自定标识:%d,用户性别:%d,会员等级:%d,桌子索引:%d\
- ,椅子索引:%d,用户状态:%s,用户分数:%lld,胜利盘数:%d,失败盘数:%d,和局盘数:%d,逃跑盘数:%d,用户经验:%d,三方昵称:%s")
- , dwGameID, dwUserID, wFaceID, dwCustomID, cbGender, cbMemberOrder, wTableID
- , wChairID, szTemp, lScore, dwWinCount, dwLostCount, dwDrawCount, dwFleeCount, dwExperience
- , szNickname);
- #else
- /*_snprintf(strIP, 64, _T("%d.%d.%d.%d"), add1, add2, add3, add4);*/
- _snprintf(pBuffer, iLen, TEXT("<br>【用户信息】游戏ID:%d,用户ID:%d,头像索引:%d,自定标识:%d,用户性别:%d,会员等级:%d,桌子索引:%d\
- ,椅子索引:%d,用户状态:%s,用户分数:%lld,胜利盘数:%d,失败盘数:%d,和局盘数:%d,逃跑盘数:%d,用户经验:%d,三方昵称:%s,三方头像:%s,IP地址:%s.")
- , dwGameID, dwUserID, wFaceID, dwCustomID, cbGender, cbMemberOrder, wTableID, wChairID, szTemp, lScore, dwWinCount
- , dwLostCount, dwDrawCount, dwFleeCount, dwExperience, szNickname, szHeadUrl, strIP);
- #endif
- ////mylog::ToSet(pBuffer, iLen, dUserID);
- return true;
- }
-
- //参数转成字符串
- bool ToStringEx(TCHAR* pBuffer, int iLen, DWORD dUserID)
- {
- //if (sizeof(tagMobileUserInfoHead) * 10 > iLen) return false;
-
- TCHAR szTemp[32];
- ZeroMemory(szTemp, 32 * sizeof(TCHAR));
-
- switch (cbUserStatus)
- {
- case US_NULL:
- StringCchCat(szTemp, 32, _TEXT("没有状态"));
- break;
- case US_FREE:
- StringCchCat(szTemp, 32, _TEXT("大厅状态"));
- break;
- case US_SIT:
- StringCchCat(szTemp, 32, _TEXT("坐下状态"));
- break;
- case US_READY:
- StringCchCat(szTemp, 32, _TEXT("准备状态"));
- break;
- case US_LOOKON:
- StringCchCat(szTemp, 32, _TEXT("旁观状态"));
- break;
- case US_PLAYING:
- StringCchCat(szTemp, 32, _TEXT("游戏状态"));
- break;
- case US_OFFLINE:
- StringCchCat(szTemp, 32, _TEXT("断线状态"));
- break;
- default:
- break;
- }
-
- /*TCHAR strIP[64];
- ZeroMemory(strIP, 64 * sizeof(TCHAR));
- WORD add1, add2, add3, add4;
-
- add1 = (WORD)(dwClientAddr & 255);
- add2 = (WORD)((dwClientAddr >> 8) & 255);
- add3 = (WORD)((dwClientAddr >> 16) & 255);
- add4 = (WORD)((dwClientAddr >> 24) & 255);*/
-
- #ifdef _UNICODE
- /*_snwprintf(strIP, 64, _T("%d.%d.%d.%d"), add1, add2, add3, add4);*/
-
- _snwprintf(pBuffer, iLen, TEXT("<br>【用户进入】游戏ID:%d,用户ID:%d,头像索引:%d,自定标识:%d,用户性别:%d,会员等级:%d,桌子索引:%d,椅子索引:%d,用户状态:%s,用户分数:%lld,胜利盘数:%d,失败盘数:%d,和局盘数:%d,逃跑盘数:%d,用户经验:%d")
- , dwGameID, dwUserID, wFaceID, dwCustomID, cbGender, cbMemberOrder, wTableID, wChairID, szTemp, lScore, dwWinCount, dwLostCount, dwDrawCount, dwFleeCount, dwExperience);
-
- //_snwprintf(pBuffer, iLen, TEXT("<br>【用户进入】游戏ID:%d,用户ID:%d,头像索引:%d,自定标识:%d,用户性别:%d,会员等级:%d,桌子索引:%d\
- // ,椅子索引:%d,用户状态:%s,用户分数:%ld,胜利盘数:%d,失败盘数:%d,和局盘数:%d,逃跑盘数:%d,用户经验:%d,三方昵称:%s")
- // , dwGameID, dwUserID, wFaceID, dwCustomID, cbGender, cbMemberOrder, wTableID
- // , wChairID, szTemp, lScore, dwWinCount, dwLostCount, dwDrawCount, dwFleeCount, dwExperience
- // , szNickname);
- #else
- /*_snprintf(strIP, 64, _T("%d.%d.%d.%d"), add1, add2, add3, add4);*/
- _snprintf(pBuffer, iLen, TEXT("<br>【用户进入】游戏ID:%d,用户ID:%d,头像索引:%d,自定标识:%d,用户性别:%d,会员等级:%d,桌子索引:%d\
- ,椅子索引:%d,用户状态:%s,用户分数:%d,胜利盘数:%d,失败盘数:%d,和局盘数:%d,逃跑盘数:%d,用户经验:%d,三方昵称:%s,三方头像:%s,IP地址:%s.")
- , dwGameID, dwUserID, wFaceID, dwCustomID, cbGender, cbMemberOrder, wTableID, wChairID, szTemp, lScore, dwWinCount
- , dwLostCount, dwDrawCount, dwFleeCount, dwExperience, szNickname, szHeadUrl, strIP);
- #endif
- //mylog::ToSet(pBuffer, iLen, dUserID);
- return true;
- }
- //名字
- bool ToName(TCHAR* pBuffer, int iLen)
- {
- TCHAR szTemp[] = _T("用户进入");
-
- if (TSTRINGLEN(szTemp) > iLen) return false;
-
- StringCchCopy(pBuffer, iLen, szTemp);
-
- return true;
- }
- //打印通讯日志
- void ToShow(int dTablePrivate, DWORD dUserID)
- {
- TCHAR szBuffer[BUFFERLEN*3];
- ZeroMemory(szBuffer, BUFFERLEN *3 * sizeof(TCHAR));
- if (ToStringEx(szBuffer, BUFFERLEN * 3, dUserID))
- {
- mylog::OutputString(szBuffer, dTablePrivate);
- }
- }
- };
- //////////////////////////////////////////////////////////////////////////////////
-
- struct tagUserRankListInfo
- {
- DWORD dwUserID;
- TCHAR szNickName[LEN_NICKNAME];
- int lScore;
- WORD wWinCount; //胜利场数
- WORD wLostCount; //失败场数
- TCHAR szHeadUrl[LEN_HEAD_URL];
- };
- //获取临时积分排行榜返回
- struct CMD_GR_USER_GET_GAME_TEMP_SCORE_RANKLIST_RESULT
- {
- WORD wRankListCount; //排行榜数[]
- char ranklist[0]; //排行榜数据
- //tagUserRankListInfo ranklist; //私有房间号
- };
-
- //通知私有房间ID
- struct CMD_GR_USER_PRIVATE_TABLE_ID
- {
- TCHAR szPrivateTableID[LEN_PRIVATE_TABLE_ID]; //私有房间号
- };
-
- //旁观请求
- struct CMD_GR_UserLookon
- {
- WORD wTableID; //桌子位置
- TCHAR szPrivteTableID[11]; //私人桌子号码
- };
-
- struct tagGameConfig
- {
- WORD wSubGameID; //子游戏类型(0一脚赖油,1无赖到底,2半赖,3血流)
- DWORD wPlayRule; //底分
- WORD wMaxFanRule; //房费(0房间创建者,1打牌者平摊)
- WORD wMaxScore; //IP限制(0限制,1不限制)
- WORD wPlayCountRule; //一次玩的局数(8局?16局?)
- WORD wHadPlayCount; //桌子号
- WORD zmExtraRule; //是否是房主
- WORD dghRule; //
- TCHAR sPrivateTableID[7];
- byte bDuoLai; //多癞子可平胡,1 不能放冲 0 能放冲胡吧----推倒胡 用这个值标示 是否可以放冲胡
- WORD wFengDing; //封顶值
- byte tmp1; //备用字段
- byte tmp2; //备用字段
- byte tmp3; //备用字段
- byte tmp4; //备用字段
- byte tmp5; //备用字段
-
- };
-
- //创建进入房间
- struct CMD_GR_UserSitDown
- {
- WORD WXianZhi; //限制元宝
- WORD Wsocket; //椅子位置
- TCHAR szPassword[LEN_PASSWORD]; //
-
- byte cbCreateTable; //是否新建一个桌子
- TCHAR szPrivateTableID[7]; //私有桌子号
- byte bDuoLai; //多癞子可平胡,0可以 1不可以
- WORD wFengDing; //封顶值
- byte tableType; //备用字段 1表示俱乐部房间
- int clubID; //备用字段
- tagGameConfig TableConfig[20]; //创建私有桌子时的配置信息
-
- //参数转成字符串
- bool ToString(TCHAR* pBuffer, int iLen, DWORD dUserID)
- {
- if (sizeof(CMD_GR_UserSitDown) * 16 > iLen) return false;
-
- #ifdef _UNICODE
- _snwprintf(pBuffer, iLen, TEXT("创建进入房间->限制元宝:%d,椅子位置:%d,是否新建一个桌子:%d,私有桌子号:%s.")
- , WXianZhi, Wsocket, cbCreateTable, szPrivateTableID);
- #else
- _snprintf(pBuffer, iLen, TEXT("创建进入房间->限制元宝:%d,椅子位置:%d,是否新建一个桌子:%d,私有桌子号:%s.")
- , WXianZhi, Wsocket, cbCreateTable, szPrivateTableID);
- #endif
- //mylog::ToSet(pBuffer, iLen, dUserID);
- return true;
- }
- //名字
- bool ToName(TCHAR* pBuffer, int iLen)
- {
- TCHAR szTemp[] = _T("创建进入房间");
-
- if (TSTRINGLEN(szTemp) > iLen) return false;
-
- StringCchCopy(pBuffer, iLen, szTemp);
-
- return true;
- }
- //打印通讯日志
- void ToShow(int dTablePrivate, DWORD dUserID)
- {
- TCHAR szBuffer[BUFFERLEN];
- ZeroMemory(szBuffer, BUFFERLEN * sizeof(TCHAR));
- if (ToString(szBuffer, BUFFERLEN, dUserID))
- {
- mylog::OutputString(szBuffer, dTablePrivate);
- }
- }
- };
-
- //创建进入房间
- struct CMD_GR_UserSitDownEx
- {
- DWORD dwUserID; //当前用户id
- BYTE cbAuto; //是否自动开房
- CMD_GR_UserInfo hostInfo; //自动开房群主信息
- BYTE cbWanFa; //用来表示俱乐部自动开房玩法0,1,2
- DWORD RoomID; //私有随机房间号
- CMD_GR_UserSitDown data;
- };
-
- struct CMD_GR_Club_Notify_ACKEX
- {
- WORD newsFalg;
- WORD Temp;
- TCHAR Message[255];
- DWORD dwClubID;
- DWORD dwUserCount;
- };
-
- //创建进入房间2
- struct CMD_GR_UserSitDownEx2
- {
- DWORD dwUesrID; //触发自动创房的当前用户
- BYTE cbAuto; //是否自动开房
- CMD_GR_UserInfo hostInfo; //自动开房群主信息
- DWORD ReduceBeans; //减去的砖石
- BYTE cbWanFa; //用来表示俱乐部自动开房玩法0,1,2
- DWORD RoomID; //私有随机房间号
- CMD_GR_UserSitDown data;
- };
-
- //获取私人房间号信息
- struct CMD_GR_GetPrivateRoomInfo
- {
- DWORD RoomID; //私有随机房间号
- };
-
- //创建进入房间
- struct CMD_GR_UserJoin
- {
- WORD wTableID; //桌子位置
- WORD wChairID; //椅子位置
- TCHAR szPassword[LEN_PASSWORD]; //
-
- byte cbCreateTable; //是否新建一个桌子
- TCHAR szPrivateTableID[7]; //私有桌子号
- byte bDuoLai; //多癞子可平胡,0可以 1不可以
- WORD wFengDing; //封顶值
- byte tmp1; //备用字段
- int tmp2; //备用字段
- char TableConfig[0]; //创建私有桌子时的配置信息
-
- //参数转成字符串
- bool ToString(TCHAR* pBuffer, int iLen, DWORD dUserID)
- {
- if (sizeof(CMD_GR_UserJoin) * 16 > iLen) return false;
-
- #ifdef _UNICODE
- _snwprintf(pBuffer, iLen, TEXT("加入房间->桌子位置:%d,椅子位置:%d,是否新建一个桌子:%d,私有桌子号:%s.")
- , wTableID, wChairID, cbCreateTable, szPrivateTableID);
- #else
- _snprintf(pBuffer, iLen, TEXT("加入房间->桌子位置:%d,椅子位置:%d,是否新建一个桌子:%d,私有桌子号:%s.")
- , wTableID, wChairID, cbCreateTable, szPrivateTableID);
- #endif
- //mylog::ToSet(pBuffer, iLen, dUserID);
- return true;
- }
- //名字
- bool ToName(TCHAR* pBuffer, int iLen)
- {
- TCHAR szTemp[] = _T("加入进入房间");
-
- if (TSTRINGLEN(szTemp) > iLen) return false;
-
- StringCchCopy(pBuffer, iLen, szTemp);
-
- return true;
- }
- //打印通讯日志
- void ToShow(int dTablePrivate, DWORD dUserID)
- {
- TCHAR szBuffer[BUFFERLEN];
- ZeroMemory(szBuffer, BUFFERLEN * sizeof(TCHAR));
- if (ToString(szBuffer, BUFFERLEN, dUserID))
- {
- mylog::OutputString(szBuffer, dTablePrivate);
- }
- }
- };
-
-
- //获取订单编号应答
- struct CMD_GR_GetDingDanACK
- {
- TCHAR szClientAddr[16]; //客户端IP地址
- DWORD dwGameID;
- DWORD dUserID;
- DWORD dDaiLi; //代理ID
- BYTE bLen; //结果长度
- TCHAR szRet[2048]; //请求的结果
- //参数转成字符串
- bool ToString(TCHAR* pBuffer, int iLen, DWORD dUserID)
- {
- //if (sizeof(CMD_GR_GetDingDanACK) * 16 > iLen) return false;
-
- #ifdef _UNICODE
- _snwprintf(pBuffer, iLen, TEXT("获取订单编号应答->结果长度:%d,请求的结果:%s."), bLen, szRet);
- #else
- _snprintf(pBuffer, iLen, TEXT("获取订单编号应答->结果长度:%d,请求的结果:%s."), bLen, szRet);
- #endif
- //mylog::ToSet(pBuffer, iLen, dUserID);
- return true;
- }
- //名字
- bool ToName(TCHAR* pBuffer, int iLen)
- {
- TCHAR szTemp[] = _T("获取订单编号应答");
-
- if (TSTRINGLEN(szTemp) > iLen) return false;
-
- StringCchCopy(pBuffer, iLen, szTemp);
-
- return true;
- }
- //打印通讯日志
- void ToShow(int dTablePrivate, DWORD dUserID)
- {
- TCHAR szBuffer[BUFFERLEN];
- ZeroMemory(szBuffer, BUFFERLEN * sizeof(TCHAR));
- if (ToString(szBuffer, BUFFERLEN, dUserID))
- {
- mylog::OutputString(szBuffer, dTablePrivate);
- }
- }
- };
-
- //人物信息
- struct CMD_GR_Info
- {
- TCHAR szName[32];
- TCHAR szImgHead[256];
- };
- //传输闲聊所需信息
- struct CDM_GR_XIANL_Info
- {
- int userID;
- int gScore;
- TCHAR szName[32];
- TCHAR szImgHead[256];
- };
- //绑定代理信息
- struct CMD_GR_DaiLiInfo
- {
- TCHAR szName[32]; //代理
- TCHAR szWx[32]; //代理微信
- TCHAR szQQ[32]; //代理QQ
-
- //参数转成字符串
- bool ToString(TCHAR* pBuffer, int iLen, DWORD dUserID)
- {
- //if (sizeof(CMD_GR_BangDing) * 16 > iLen) return false;
-
- #ifdef _UNICODE
- _snwprintf(pBuffer, iLen, TEXT("获取代理信息->代理姓名:%s,代理微信:%s,代理QQ:%s"), szName, szWx, szQQ);
- #else
- _snprintf(pBuffer, iLen, TEXT("获取代理信息->代理姓名:%s,代理微信:%s,代理QQ:%s"), szName, szWx, szQQ);
- #endif
- //mylog::ToSet(pBuffer, iLen, dUserID);
- return true;
- }
-
- //名字
- bool ToName(TCHAR* pBuffer, int iLen)
- {
- TCHAR szTemp[] = _T("获取代理信息");
-
- if (TSTRINGLEN(szTemp) > iLen) return false;
-
- StringCchCopy(pBuffer, iLen, szTemp);
-
- return true;
- }
- //打印通讯日志
- void ToShow(int dTablePrivate, DWORD dUserID)
- {
- TCHAR szBuffer[BUFFERLEN];
- ZeroMemory(szBuffer, BUFFERLEN * sizeof(TCHAR));
- if (ToString(szBuffer, BUFFERLEN, dUserID))
- {
- mylog::OutputString(szBuffer, dTablePrivate);
- }
- }
- };
- //绑定代理
- struct CMD_GR_BangDing
- {
- DWORD dDaiLi; //代理ID
-
- //参数转成字符串
- bool ToString(TCHAR* pBuffer, int iLen, DWORD dUserID)
- {
- //if (sizeof(CMD_GR_BangDing) * 16 > iLen) return false;
-
- #ifdef _UNICODE
- _snwprintf(pBuffer, iLen, TEXT("绑定代理->代理ID:%d"), dDaiLi);
- #else
- _snprintf(pBuffer, iLen, TEXT("绑定代理->代理ID:%d"), dDaiLi);
- #endif
- //mylog::ToSet(pBuffer, iLen, dUserID);
- return true;
- }
- //名字
- bool ToName(TCHAR* pBuffer, int iLen)
- {
- TCHAR szTemp[] = _T("绑定代理");
-
- if (TSTRINGLEN(szTemp) > iLen) return false;
-
- StringCchCopy(pBuffer, iLen, szTemp);
-
- return true;
- }
- //打印通讯日志
- void ToShow(int dTablePrivate, DWORD dUserID)
- {
- TCHAR szBuffer[BUFFERLEN];
- ZeroMemory(szBuffer, BUFFERLEN * sizeof(TCHAR));
- if (ToString(szBuffer, BUFFERLEN, dUserID))
- {
- mylog::OutputString(szBuffer, dTablePrivate);
- }
- }
- };
-
- //绑定代理应答
- struct CMD_GR_BangDingACK
- {
- byte bRet; //结果
- byte bLen; //长度
- TCHAR szText[1024]; //XML描述 也可能返回执行失败
- //参数转成字符串
- bool ToString(TCHAR* pBuffer, int iLen, DWORD dUserID)
- {
- #ifdef _UNICODE
- _snwprintf(pBuffer, iLen, TEXT("绑定代理应答->结果:%s,数据长度%d,XML描述%s"), bRet == 1 ? _T("初步执行成功") : _T("初步执行失败"), bLen, szText);
- #else
- _snprintf(pBuffer, iLen, TEXT("绑定代理应答->结果:%s,数据长度%d,XML描述%s"), bRet == 1 ? _T("初步执行成功") : _T("初步执行失败"), bLen, szText);
- #endif
- //mylog::ToSet(pBuffer, iLen, dUserID);
- return true;
- }
- //名字
- bool ToName(TCHAR* pBuffer, int iLen)
- {
- TCHAR szTemp[] = _T("绑定代理应答");
-
- if (TSTRINGLEN(szTemp) > iLen) return false;
-
- StringCchCopy(pBuffer, iLen, szTemp);
-
- return true;
- }
- //打印通讯日志
- void ToShow(int dTablePrivate, DWORD dUserID)
- {
- TCHAR szBuffer[BUFFERLEN];
- ZeroMemory(szBuffer, BUFFERLEN * sizeof(TCHAR));
- if (ToString(szBuffer, BUFFERLEN, dUserID))
- {
- mylog::OutputString(szBuffer, dTablePrivate);
- }
- }
- };
-
- //获取订单编号
- struct CMD_GR_GetDingDan
- {
- BYTE dProductId; //产品ID
- TCHAR ProductName[20]; //产品名称
- DWORD jiage; //价格,以分为单位
-
- //参数转成字符串
- bool ToString(TCHAR* pBuffer, int iLen, DWORD dUserID)
- {
- #ifdef _UNICODE
- _snwprintf(pBuffer, iLen, TEXT("获取订单编号->产品ID:%d,产品名称:%s,价格:%d分."), dProductId, ProductName, jiage);
- #else
- _snprintf(pBuffer, iLen, TEXT("获取订单编号->产品ID:%d,产品名称:%s,价格:%d分."), dProductId, ProductName, jiage);
- #endif
- //mylog::ToSet(pBuffer, iLen, dUserID);
- return true;
- }
- //名字
- bool ToName(TCHAR* pBuffer, int iLen)
- {
- TCHAR szTemp[] = _T("获取订单编号");
-
- if (TSTRINGLEN(szTemp) > iLen) return false;
-
- StringCchCopy(pBuffer, iLen, szTemp);
-
- return true;
- }
- //打印通讯日志
- void ToShow(int dTablePrivate, DWORD dUserID)
- {
- TCHAR szBuffer[BUFFERLEN];
- ZeroMemory(szBuffer, BUFFERLEN * sizeof(TCHAR));
- if (ToString(szBuffer, BUFFERLEN, dUserID))
- {
- mylog::OutputString(szBuffer, dTablePrivate);
- }
- }
- };
- //俱乐部战绩分享闲聊群
- struct DBR_GR_ClubRecordXianLiao
- {
- DWORD WanFa;
- DWORD dwClubID;
- DWORD dwTableID;
- DWORD Jushu;
- DWORD DiFen;
- DWORD dwUserCount;
- CDM_GR_XIANL_Info Player[4];
- };
-
- struct CMD_GR_GetDingDanNEW
- {
- BYTE dProductId; //产品ID
- TCHAR ProductName[20]; //产品名称
- //TCHAR ProductName[18]; //产品名称
- //BYTE sdkflag; //sdk标志
- //BYTE tmpflag; //备用标志
- DWORD jiage; //价格,以分为单位
- BYTE payflag; //支付标志
-
- //参数转成字符串
- bool ToString(TCHAR* pBuffer, int iLen, DWORD dUserID)
- {
- #ifdef _UNICODE
- _snwprintf(pBuffer, iLen, TEXT("获取订单编号->产品ID:%d,产品名称:%s,价格:%d分."), dProductId, ProductName, jiage);
- #else
- _snprintf(pBuffer, iLen, TEXT("获取订单编号->产品ID:%d,产品名称:%s,价格:%d分."), dProductId, ProductName, jiage);
- #endif
- //mylog::ToSet(pBuffer, iLen, dUserID);
- return true;
- }
- //名字
- bool ToName(TCHAR* pBuffer, int iLen)
- {
- TCHAR szTemp[] = _T("获取订单编号");
-
- if (TSTRINGLEN(szTemp) > iLen) return false;
-
- StringCchCopy(pBuffer, iLen, szTemp);
-
- return true;
- }
- //打印通讯日志
- void ToShow(int dTablePrivate, DWORD dUserID)
- {
- TCHAR szBuffer[BUFFERLEN];
- ZeroMemory(szBuffer, BUFFERLEN * sizeof(TCHAR));
- if (ToString(szBuffer, BUFFERLEN, dUserID))
- {
- mylog::OutputString(szBuffer, dTablePrivate);
- }
- }
- };
-
- //实名验证
- struct CMD_GR_CheckName
- {
- TCHAR Name[20]; //姓名
- TCHAR IDCard[18]; //身份证
- TCHAR PhoneNum[12]; //电话号码
-
- //参数转成字符串
- bool ToString(TCHAR* pBuffer, int iLen, DWORD dUserID)
- {
- #ifdef _UNICODE
- _snwprintf(pBuffer, iLen, TEXT("实名认证->姓名:%s,身份证:%s,电话:%s."), Name, IDCard, PhoneNum);
- #else
- _snprintf(pBuffer, iLen, TEXT("实名认证->姓名:%s,身份证:%s,电话:%s."), Name, IDCard, PhoneNum);
- #endif
- //mylog::ToSet(pBuffer, iLen, dUserID);
- return true;
- }
- //名字
- bool ToName(TCHAR* pBuffer, int iLen)
- {
- TCHAR szTemp[] = _T("实名认证");
-
- if (TSTRINGLEN(szTemp) > iLen) return false;
-
- StringCchCopy(pBuffer, iLen, szTemp);
-
- return true;
- }
- //打印通讯日志
- void ToShow(int dTablePrivate, DWORD dUserID)
- {
- TCHAR szBuffer[BUFFERLEN];
- ZeroMemory(szBuffer, BUFFERLEN * sizeof(TCHAR));
- if (ToString(szBuffer, BUFFERLEN, dUserID))
- {
- mylog::OutputString(szBuffer, dTablePrivate);
- }
- }
- };
-
- //实名查询应答或者领奖地址查询应答,新加
- struct CMD_GR_CheckNameEx
- {
- TCHAR Name[20]; //姓名
- TCHAR IDCard[18]; //身份证
- TCHAR PhoneNum[12]; //电话号码
- TCHAR Addr[128]; //联系地址
-
- };
- //手机号码查重
- struct CMD_GR_GetVerifCode
- {
- DWORD dUserID;
- TCHAR PhoneNum[12]; //电话号码
- BYTE IsRepeat; //是否重复
- TCHAR szDescribeString[127];
- };
- //手机验证码
- struct CMD_GR_CheckVerifCode
- {
- TCHAR PhoneNum[12]; //电话号码
- //DWORD VerfCode; //验证码
- TCHAR VerfCode[7]; //验证码
-
- //参数转成字符串
- bool ToString(TCHAR* pBuffer, int iLen, DWORD dUserID)
- {
- #ifdef _UNICODE
- _snwprintf(pBuffer, iLen, TEXT("手机绑定->验证码id:%s,电话:%s"), VerfCode, PhoneNum);
- #else
- _snwprintf(pBuffer, iLen, TEXT("手机绑定->验证码id:%s,电话:%s"), VerfCode, PhoneNum);
- #endif
- //mylog::ToSet(pBuffer, iLen, dUserID);
- return true;
- }
- //打印通讯日志
- void ToShow(int dTablePrivate, DWORD dUserID)
- {
- TCHAR szBuffer[BUFFERLEN];
- ZeroMemory(szBuffer, BUFFERLEN * sizeof(TCHAR));
- if (ToString(szBuffer, BUFFERLEN, dUserID))
- {
- mylog::OutputString(szBuffer, dTablePrivate);
- }
- }
- };
- //手机绑定查询
- struct CMD_GR_CheckIphone_Query
- {
- BYTE IsBingNum; //是否绑定号码0,没有,1绑定了
- DWORD dwCurrency; //钻石数
- TCHAR PhoneNum[12]; //电话号码
- BYTE IsBingXianLiao; //1表示绑定闲聊
-
- //参数转成字符串
- bool ToString(TCHAR* pBuffer, int iLen, DWORD dUserID)
- {
- #ifdef _UNICODE
- _snwprintf(pBuffer, iLen, TEXT("手机绑定查询->是否绑手机号:%d,钻石数:%d,电话:%s."), IsBingNum, dwCurrency, PhoneNum);
- #else
- _snwprintf(pBuffer, iLen, TEXT("手机绑定查询->是否绑手机号:%d,钻石数:%d,电话:%s."), IsBingNum, dwCurrency, PhoneNum);
- #endif
- //mylog::ToSet(pBuffer, iLen, dUserID);
- return true;
- }
- //打印通讯日志
- void ToShow(int dTablePrivate, DWORD dUserID)
- {
- TCHAR szBuffer[BUFFERLEN];
- ZeroMemory(szBuffer, BUFFERLEN * sizeof(TCHAR));
- if (ToString(szBuffer, BUFFERLEN, dUserID))
- {
- mylog::OutputString(szBuffer, dTablePrivate);
- }
- }
- };
- //绑定闲聊
- struct CMD_GR_CheckXiaoLiao
- {
- TCHAR OpenID[32]; //闲聊账号
- };
- //手机绑定
- struct CMD_GR_CheckIphone
- {
- BYTE IsBingNum; //是否绑定成功
- DWORD dwCurrency; //钻石数
- TCHAR PhoneNum[12]; //电话号码
-
- //参数转成字符串
- bool ToString(TCHAR* pBuffer, int iLen, DWORD dUserID)
- {
- #ifdef _UNICODE
- _snwprintf(pBuffer, iLen, TEXT("手机绑定->是否成功:%d,钻石数:%d,电话:%s"), IsBingNum, dwCurrency, PhoneNum);
- #else
- _snwprintf(pBuffer, iLen, TEXT("手机绑定->是否成功:%d,钻石数:%d,电话:%s"), IsBingNum, dwCurrency, PhoneNum);
- #endif
- //mylog::ToSet(pBuffer, iLen, dUserID);
- return true;
- }
- //打印通讯日志
- void ToShow(int dTablePrivate, DWORD dUserID)
- {
- TCHAR szBuffer[BUFFERLEN];
- ZeroMemory(szBuffer, BUFFERLEN * sizeof(TCHAR));
- if (ToString(szBuffer, BUFFERLEN, dUserID))
- {
- mylog::OutputString(szBuffer, dTablePrivate);
- }
- }
- };
-
- //实名验证
- struct CHECKNAMEINFO
- {
- CMD_GR_CheckName nameInfo;
- DWORD dUserID;
- };
-
- //GET队列
- struct GETDUILIEBASE
- {
- int CommendID; //命令值
- CMD_GR_Info bb; //人物信息
- TCHAR szUnionID[33]; //用户UNIONID
- DWORD dwSocketID; //请求的SOCKETID
- char szBuffer[6096]; //数据缓冲区
- DWORD dUserID;
- };
-
- //GET队列
- struct GETDUILIE
- {
- //CMD_GR_GetDingDan dd; //订单请求数据
- CMD_GR_GetDingDanNEW dd;
- CMD_GR_GetDingDanACK ack;//应答
- };
-
-
- //GET队列
- struct GETDUILIELIST
- {
- GETDUILIEBASE dDataList[10];//命令节点
- };
-
- //选则座位请求
- struct CMD_GR_UserSeat
- {
- WORD seatId; //桌子位置
-
- //参数转成字符串
- bool ToString(TCHAR* pBuffer, int iLen, DWORD dUserID)
- {
- if (sizeof(CMD_GR_UserSeat) * 16 > iLen) return false;
-
- #ifdef _UNICODE
- _snwprintf(pBuffer, iLen, TEXT("选则座位请求->桌子位置:%d.")
- , seatId);
- #else
- _snprintf(pBuffer, iLen, TEXT("选则座位请求->桌子位置:%d.")
- , seatId);
- #endif
- //mylog::ToSet(pBuffer, iLen, dUserID);
- return true;
- }
- //名字
- bool ToName(TCHAR* pBuffer, int iLen)
- {
- TCHAR szTemp[] = _T("选则座位请求");
-
- if (TSTRINGLEN(szTemp) > iLen) return false;
-
- StringCchCopy(pBuffer, iLen, szTemp);
-
- return true;
- }
- //打印通讯日志
- void ToShow(int dTablePrivate, DWORD dUserID)
- {
- TCHAR szBuffer[BUFFERLEN];
- ZeroMemory(szBuffer, BUFFERLEN * sizeof(TCHAR));
- if (ToString(szBuffer, BUFFERLEN, dUserID))
- {
- mylog::OutputString(szBuffer, dTablePrivate);
- }
- }
- };
-
-
- //选则座位请求
- struct CMD_GR_UserSeatEx
- {
- WORD seatId; //桌子位置
- DWORD x; //经纬度
- DWORD y; //经纬度
- //参数转成字符串
- bool ToString(TCHAR* pBuffer, int iLen, DWORD dUserID)
- {
- if (sizeof(CMD_GR_UserSeat) * 16 > iLen) return false;
-
- #ifdef _UNICODE
- _snwprintf(pBuffer, iLen, TEXT("选则座位请求->桌子位置:%d.")
- , seatId);
- #else
- _snprintf(pBuffer, iLen, TEXT("选则座位请求->桌子位置:%d.")
- , seatId);
- #endif
- //mylog::ToSet(pBuffer, iLen, dUserID);
- return true;
- }
- //名字
- bool ToName(TCHAR* pBuffer, int iLen)
- {
- TCHAR szTemp[] = _T("选则座位请求");
-
- if (TSTRINGLEN(szTemp) > iLen) return false;
-
- StringCchCopy(pBuffer, iLen, szTemp);
-
- return true;
- }
- //打印通讯日志
- void ToShow(int dTablePrivate, DWORD dUserID)
- {
- TCHAR szBuffer[BUFFERLEN];
- ZeroMemory(szBuffer, BUFFERLEN * sizeof(TCHAR));
- if (ToString(szBuffer, BUFFERLEN, dUserID))
- {
- mylog::OutputString(szBuffer, dTablePrivate);
- }
- }
- };
-
- //选则座位请求应答
- struct CMD_GR_UserSitAck
- {
- byte ret; //0 成功 非0 错误码
-
- //参数转成字符串
- bool ToString(TCHAR* pBuffer, int iLen, DWORD dUserID)
- {
- if (sizeof(CMD_GR_UserSitAck) * 16 > iLen) return false;
-
- #ifdef _UNICODE
- _snwprintf(pBuffer, iLen, TEXT("选则座位请求应答->成功:%d.")
- , ret);
- #else
- _snprintf(pBuffer, iLen, TEXT("选则座位请求应答->成功:%d.")
- , ret);
- #endif
- //mylog::ToSet(pBuffer, iLen, dUserID);
- return true;
- }
- //名字
- bool ToName(TCHAR* pBuffer, int iLen)
- {
- TCHAR szTemp[] = _T("选则座位请求");
-
- if (TSTRINGLEN(szTemp) > iLen) return false;
-
- StringCchCopy(pBuffer, iLen, szTemp);
-
- return true;
- }
- //打印通讯日志
- void ToShow(int dTablePrivate, DWORD dUserID)
- {
- TCHAR szBuffer[BUFFERLEN];
- ZeroMemory(szBuffer, BUFFERLEN * sizeof(TCHAR));
- if (ToString(szBuffer, BUFFERLEN, dUserID))
- {
- mylog::OutputString(szBuffer, dTablePrivate);
- }
- }
- };
-
- //支付线程
- struct CMD_GR_ZFXC
- {
- WORD Num;
- TCHAR Data[10];
-
- //参数转成字符串
- bool ToString(TCHAR* pBuffer, int iLen, DWORD dUserID)
- {
- if (Num < iLen)
- {
- #ifdef _UNICODE
- _snwprintf(pBuffer, iLen, TEXT("支付线程应答->%s.") , Data);
- #else
- _snprintf(pBuffer, iLen, TEXT("支付线程应答->%s."), Data);
- #endif
- }
- //mylog::ToSet(pBuffer, iLen, dUserID);
- return true;
- }
- //名字
- bool ToName(TCHAR* pBuffer, int iLen)
- {
- TCHAR szTemp[] = _T("支付线程应答");
-
- if (TSTRINGLEN(szTemp) > iLen) return false;
-
- StringCchCopy(pBuffer, iLen, szTemp);
-
- return true;
- }
- //打印通讯日志
- void ToShow(int dTablePrivate, DWORD dUserID)
- {
- TCHAR szBuffer[BUFFERLEN];
- ZeroMemory(szBuffer, BUFFERLEN * sizeof(TCHAR));
- if (ToString(szBuffer, BUFFERLEN, dUserID))
- {
- mylog::OutputString(szBuffer, dTablePrivate);
- }
- }
- };
-
- //推荐房间
- struct CMD_GR_TJROOM
- {
- byte cbRet; //创建或进入结果 0成功 1为失败 >1为失败 推荐的服务器端口
- TCHAR szIp[30]; //推荐IP
- WORD wPort; //推荐端口
- };
-
- //创建进入房间 回复
- struct CMD_GR_UserSitDownAck
- {
- byte cbRet; //创建或进入结果 0成功 1为失败 >1为失败 推荐的服务器端口
- TCHAR szText[32]; //错误信息
- TCHAR szPrivateTableID[7]; //私有桌子号
- byte bDuoLai; //多癞子可平胡,0可以 1不可以
- WORD wFengDing; //封顶值
- byte tmp1; //备用字段
- byte tmp2; //备用字段
- byte tmp3; //备用字段
- byte tmp4; //备用字段
- byte tmp5; //备用字段
- int dijin; //底分
- byte paytype; //支付方式
- byte desktype; //桌子类型
- byte playtype; //玩法类型
- byte totalplay; //总局数
- byte isowner; //是否房主
- DWORD roomId; //房间id
- CMD_GR_UserSitDownAck(){ ZeroMemory(this, sizeof(CMD_GR_UserSitDownAck)); }
- //参数转成字符串
- bool ToString(TCHAR* pBuffer, int iLen, DWORD dUserID)
- {
- if (sizeof(CMD_GR_UserSitDownAck) * 16 > iLen) return false;
-
- #ifdef _UNICODE
- _snwprintf(pBuffer, iLen, TEXT("创建进入房间应答->创建或进入结果:%d,错误信息:%s.")
- , cbRet, szText);
- #else
- _snprintf(pBuffer, iLen, TEXT("创建进入房间应答->创建或进入结果:%d,错误信息:%s.")
- , cbRet, szText);
- #endif
- //mylog::ToSet(pBuffer, iLen, dUserID);
- return true;
- }
- //名字
- bool ToName(TCHAR* pBuffer, int iLen)
- {
- TCHAR szTemp[] = _T("创建进入房间应答");
-
- if (TSTRINGLEN(szTemp) > iLen) return false;
-
- StringCchCopy(pBuffer, iLen, szTemp);
-
- return true;
- }
- //打印通讯日志
- void ToShow(int dTablePrivate, DWORD dUserID)
- {
- TCHAR szBuffer[BUFFERLEN];
- ZeroMemory(szBuffer, BUFFERLEN * sizeof(TCHAR));
- if (ToString(szBuffer, BUFFERLEN, dUserID))
- {
- mylog::OutputString(szBuffer, dTablePrivate);
- }
- }
- };
- struct CMD_GR_UserSitDownAckEx
- {
- byte cbRet; //创建或进入结果 0成功
- TCHAR szPrivateTableID[7]; //私有桌子号
- byte bDuoLai; //多癞子可平胡,0可以 1不可以
- WORD wFengDing; //封顶值
- byte ipLimit; //表示ip限制
- byte playnum; //表示人数
- byte tmp3; //备用字段
- byte tmp4; //备用字段
- byte tmp5; //备用字段
- int dijin; //底分
- byte paytype; //支付方式
- byte desktype; //桌子类型 比赛房 或是好友房
- byte playtype; //玩法类型
- byte totalplay; //总局数
- byte isowner; //是否房主
- DWORD roomId; //房间id
-
- //参数转成字符串
- bool ToString(TCHAR* pBuffer, int iLen, DWORD dUserID)
- {
- if (sizeof(CMD_GR_UserSitDownAckEx) * 16 > iLen) return false;
-
- #ifdef _UNICODE
- _snwprintf(pBuffer, iLen, TEXT("进入房间应答->进入结果:%d,底分:%d,支付方式:%d,桌子类型:%d,玩法类型:%d,是否油上油:%d,是否二人玩法:%d,总局数:%d,是否房主:%d,房间id:%d,私有桌子号:%s")
- , cbRet, dijin, paytype, desktype, playtype, bDuoLai, wFengDing, totalplay, isowner, roomId, szPrivateTableID);
- #else
- _snwprintf(pBuffer, iLen, TEXT("进入房间应答->进入结果:%d,底分:%d,支付方式:%d,桌子类型:%d,玩法类型:%d,是否油上油:%d,是否二人玩法:%d,总局数:%d,是否房主:%d,房间id:%d,私有桌子号:%s")
- , cbRet, dijin, paytype, desktype, playtype, bDuoLai, wFengDing, totalplay, isowner, roomId, szPrivateTableID);
- #endif
- //mylog::ToSet(pBuffer, iLen, dUserID);
- return true;
- }
- //名字
- bool ToName(TCHAR* pBuffer, int iLen)
- {
- TCHAR szTemp[] = _T("创建进入房间应答");
-
- if (TSTRINGLEN(szTemp) > iLen) return false;
-
- StringCchCopy(pBuffer, iLen, szTemp);
-
- return true;
- }
- //打印通讯日志
- void ToShow(int dTablePrivate, DWORD dUserID)
- {
- TCHAR szBuffer[BUFFERLEN];
- ZeroMemory(szBuffer, BUFFERLEN * sizeof(TCHAR));
- if (ToString(szBuffer, BUFFERLEN, dUserID))
- {
- mylog::OutputString(szBuffer, dTablePrivate);
- }
- }
- };
- //起立请求
- struct CMD_GR_UserStandUp
- {
- WORD wTableID; //桌子位置
- WORD wChairID; //椅子位置
- BYTE cbForceLeave; //强行离开
-
- //参数转成字符串
- bool ToString(TCHAR* pBuffer, int iLen, DWORD dUserID)
- {
- if (sizeof(CMD_GR_UserStandUp) * 16 > iLen) return false;
-
- #ifdef _UNICODE
- _snwprintf(pBuffer, iLen, TEXT("起立请求->桌子位置:%d,椅子位置:%d,强行离开:%d.")
- , wTableID, wChairID, cbForceLeave);
- #else
- _snprintf(pBuffer, iLen, TEXT("起立请求->桌子位置:%d,椅子位置:%d,强行离开:%d.")
- , wTableID, wChairID, cbForceLeave);
- #endif
- //mylog::ToSet(pBuffer, iLen, dUserID);
- return true;
- }
- //名字
- bool ToName(TCHAR* pBuffer, int iLen)
- {
- TCHAR szTemp[] = _T("起立请求");
-
- if (TSTRINGLEN(szTemp) > iLen) return false;
-
- StringCchCopy(pBuffer, iLen, szTemp);
-
- return true;
- }
- //打印通讯日志
- void ToShow(int dTablePrivate, DWORD dUserID)
- {
- TCHAR szBuffer[BUFFERLEN];
- ZeroMemory(szBuffer, BUFFERLEN * sizeof(TCHAR));
- if (ToString(szBuffer, BUFFERLEN, dUserID))
- {
- mylog::OutputString(szBuffer, dTablePrivate);
- }
- }
- };
-
- struct CMD_GR_GetUserRecordListReq
- {
- DWORD dwUserID; //用户类型
- DWORD dwKingID; //游戏类型
- WORD wParentID; //父节点ID
- WORD wLimitIndex; //开始索引
- WORD wLimitCount; //条数
- };
-
- struct CMD_GR_GetUserRecordListReqNew
- {
- DWORD dwUserID; //用户类型
- DWORD dwKingID; //游戏类型
- DWORD wParentID; //父节点ID
- WORD wLimitIndex; //开始索引
- WORD wLimitCount; //条数
- DWORD dwParentID; //父节点ID
- };
-
- struct CMD_GR_GetUserRecordDetailInfoReq
- {
- WORD wKindID;
- WORD wRecordID; //条数
- };
- //统计俱乐部对局数排名
- struct tagClubPlaygames
- {
- DWORD dwUserID;
- DWORD mCount; //局数
- TCHAR szUserName[LEN_NICKNAME]; //用户名
- TCHAR szHeadImg[256];
- };
-
- //统计俱乐部对局数排名
- struct tagClubPlaygames2
- {
- WORD wDateCount;
- BYTE temp;
- tagClubPlaygames Playgames[10];
- };
-
- //统计俱乐部积分数排名
- struct tagClubIntegral
- {
- DWORD dwUserID;
- DWORD mCount; //局数
- LONGLONG mJiFen; //积分
- TCHAR szUserName[LEN_NICKNAME]; //用户名
- TCHAR szHeadImg[256];
- };
-
- //统计俱乐部积分数排名
- struct tagClubIntegral2
- {
- WORD wDateCount;
- BYTE temp;
- tagClubIntegral Integral[10];
- };
-
- //节点
- struct tagGameRecordDrawScore
- {
- DWORD dwDrawID;
- DWORD dwUserID;
- WORD wChairID; //椅子号
- LONGLONG lScore; //积分
- LONGLONG lGrade; //成绩
- DWORD dwUserMedal; //奖牌数目
- DWORD dwPlayTimeCount; //游戏时长
- TCHAR szUserName[LEN_NICKNAME]; //用户名
- TCHAR szHeadImg[256]; //头像
- //参数转成字符串
- bool ToString(TCHAR* pBuffer, int iLen, DWORD dUserID)
- {
- if (sizeof(tagGameRecordDrawScore) * 16 > iLen) return false;
-
- #ifdef _UNICODE
- _snwprintf(pBuffer, iLen, TEXT("dwDrawID:%d,dwUserID:%d,椅子号:%d,积分:%lld,成绩:%lld,奖牌数目:%d,游戏时长:%d,用户名:%s.")
- , dwDrawID, dwUserID, wChairID, lScore, lGrade, dwUserMedal, dwPlayTimeCount, szUserName);
- #else
- _snprintf(pBuffer, iLen, TEXT("dwDrawID:%d,dwUserID:%d,椅子号:%d,积分:%lld,成绩:%lld,奖牌数目:%d,游戏时长:%d,用户名:%s.")
- , dwDrawID, dwUserID, wChairID, lScore, lGrade, dwUserMedal, dwPlayTimeCount, szUserName);
- #endif
- ////mylog::ToSet(pBuffer, iLen, dUserID);
- return true;
- }
- //名字
- bool ToName(TCHAR* pBuffer, int iLen)
- {
- TCHAR szTemp[] = _T("游戏结果积分");
-
- if (TSTRINGLEN(szTemp) > iLen) return false;
-
- StringCchCopy(pBuffer, iLen, szTemp);
-
- return true;
- }
- //打印通讯日志
- void ToShow(int dTablePrivate, DWORD dUserID)
- {
- TCHAR szBuffer[BUFFERLEN];
- ZeroMemory(szBuffer, BUFFERLEN * sizeof(TCHAR));
- if (ToString(szBuffer, BUFFERLEN, dUserID))
- {
- mylog::OutputString(szBuffer, dTablePrivate);
- }
- }
- };
-
- //详情
- struct tagGameRecordDrawScoreEx
- {
- DWORD dwDrawID;
- DWORD dwUserID;
- WORD wChairID; //椅子号
- LONGLONG lScore; //积分
- LONGLONG lGrade; //成绩
- DWORD dwUserMedal; //奖牌数目
- DWORD dwPlayTimeCount; //游戏时长
- TCHAR szUserName[LEN_NICKNAME]; //用户名
- TCHAR szHeadImg[256]; //头像
- //参数转成字符串
- bool ToString(TCHAR* pBuffer, int iLen, DWORD dUserID)
- {
- if (sizeof(tagGameRecordDrawScore) * 16 > iLen) return false;
-
- #ifdef _UNICODE
- _snwprintf(pBuffer, iLen, TEXT("dwDrawID:%d,dwUserID:%d,椅子号:%d,积分:%lld,成绩:%lld,奖牌数目:%d,游戏时长:%d,用户名:%s.")
- , dwDrawID, dwUserID, wChairID, lScore, lGrade, dwUserMedal, dwPlayTimeCount, szUserName);
- #else
- _snprintf(pBuffer, iLen, TEXT("dwDrawID:%d,dwUserID:%d,椅子号:%d,积分:%lld,成绩:%lld,奖牌数目:%d,游戏时长:%d,用户名:%s.")
- , dwDrawID, dwUserID, wChairID, lScore, lGrade, dwUserMedal, dwPlayTimeCount, szUserName);
- #endif
- ////mylog::ToSet(pBuffer, iLen, dUserID);
- return true;
- }
- //名字
- bool ToName(TCHAR* pBuffer, int iLen)
- {
- TCHAR szTemp[] = _T("游戏结果积分");
-
- if (TSTRINGLEN(szTemp) > iLen) return false;
-
- StringCchCopy(pBuffer, iLen, szTemp);
-
- return true;
- }
- //打印通讯日志
- void ToShow(int dTablePrivate, DWORD dUserID)
- {
- TCHAR szBuffer[BUFFERLEN];
- ZeroMemory(szBuffer, BUFFERLEN * sizeof(TCHAR));
- if (ToString(szBuffer, BUFFERLEN, dUserID))
- {
- mylog::OutputString(szBuffer, dTablePrivate);
- }
- }
- };
-
- //节点
- struct tagGameRecordDrawInfo
- {
- DWORD dwDrawID;
- WORD wTableID;
- WORD wUserMedal;
- WORD wUserCount;
- WORD wParentID;
- TCHAR szPrivateTableID[LEN_PRIVATE_TABLE_ID];
-
- //时间信息
- DWORD SystemTimeStart; //开始时间
- DWORD SystemTimeConclude; //结束时间
-
- WORD wWanFa; //玩法ID
- tagGameRecordDrawScore GameChairScore[4]; //
- };
-
- //详情
- struct tagGameRecordDrawInfoEx
- {
- DWORD dwDrawID;
- WORD wTableID;
- WORD wUserMedal;
- WORD wUserCount;
- WORD wParentID;
- TCHAR szPrivateTableID[LEN_PRIVATE_TABLE_ID];
- //时间信息
- DWORD SystemTimeStart; //开始时间
- DWORD SystemTimeConclude; //结束时间
-
- WORD wWanFa; //玩法ID
- tagGameRecordDrawScoreEx GameChairScore[4]; //
- };
-
- struct CMD_GR_GetUserScoreRecordListResp
- {
- WORD wParentRecordID; //父节点ID
- WORD wRecordCount;
- tagGameRecordDrawInfo GameScoreRecord[20]; //tagGameRecordDrawInfo的数组;
- };
-
- struct CMD_GR_GetUserScoreRecordDetail
- {
- WORD wRecordCount;
- tagGameRecordDrawScore sGameScoreRecord[10];
-
- bool ToString(TCHAR* pBuffer, int iLen, DWORD dUserID)
- {
- if (sizeof(CMD_GR_GetUserScoreRecordDetail) * 16 > iLen) return false;
-
- TCHAR szBuffer[BUFFERLEN];
- ZeroMemory(szBuffer, BUFFERLEN * sizeof(TCHAR));
-
- for (int i = 0; i < (wRecordCount>10?10:wRecordCount); i++)
- {
- TCHAR szTemp[BUFFERLEN];
- if (sGameScoreRecord[i].ToString(szTemp, BUFFERLEN, dUserID))
- {
- StringCchCat(szBuffer, BUFFERLEN, szTemp);
- }
- }
-
- #ifdef _UNICODE
- _snwprintf(pBuffer, iLen, TEXT("获取游戏积分记录详情->wRecordCount:%d,dwUserID:%s.")
- , wRecordCount, szBuffer);
- #else
- _snprintf(pBuffer, iLen, TEXT("获取游戏积分记录详情->wRecordCount:%d,dwUserID:%s.")
- , wRecordCount, szBuffer);
- #endif
- //mylog::ToSet(pBuffer, iLen, dUserID);
- return true;
- }
- //名字
- bool ToName(TCHAR* pBuffer, int iLen)
- {
- TCHAR szTemp[] = _T("获取游戏积分记录详情");
-
- if (TSTRINGLEN(szTemp) > iLen) return false;
-
- StringCchCopy(pBuffer, iLen, szTemp);
-
- return true;
- }
- //打印通讯日志
- void ToShow(int dTablePrivate, DWORD dUserID)
- {
- TCHAR szBuffer[BUFFERLEN];
- ZeroMemory(szBuffer, BUFFERLEN * sizeof(TCHAR));
- if (ToString(szBuffer, BUFFERLEN, dUserID))
- {
- mylog::OutputString(szBuffer, dTablePrivate);
- }
- }
- };
-
- struct CMD_S_GameConfig2
- {
- WORD wSubGameID; //子游戏类型(0血战到底,1血流成河,2两牌房, 3倒到胡,)
- BYTE wPlayRule; //玩法选项(1带幺九、将对,2换三张,3门清中张)
- WORD wMaxFanRule; //最大藩数
- WORD wMaxScore; //最大分数
- WORD wPlayCountRule; //一次玩的局数(4局?8局?)
- WORD wHadPlayCount; //已玩局数
- WORD zmExtraRule; //0自摸加底 or 1自摸加番?
- WORD dghRule; //点杠花类型?放炮 or自摸?(点杠花后自摸算自摸还是放炮?)
- TCHAR sPrivateTableID[LEN_PRIVATE_TABLE_ID];
- };
-
- //游戏回放回放
- struct GameRecordPacket2
- {
- WORD wChairID;
- WORD wMainCmdID;
- WORD wSubCmdID;
- WORD wSize;
- void* pData;
- };
-
- struct ChairRecord2
- {
- WORD wChairId; //椅子号
- UINT32 dwUserId; //用户id
- TCHAR userName[LEN_NICKNAME];//用户名
- UINT32 userHeadIcon;
- };
- struct CMD_GR_ReplayRecordResp2
- {
- UINT32 m_UUID; //回放唯一ID
- UINT32 m_tableID; //公开桌子号
- UINT32 m_startTime; //游戏开始时间
- UINT32 m_endTime; //游戏结束时间
- UINT32 m_UserId; //用户ID
-
- CMD_S_GameConfig2 m_gameconfig; //游戏基本配置
- ChairRecord2 m_chairList[4]; //游戏椅子玩家信息
- UINT16 m_recordCount; //回放数据记录数
- char pData[0]; //回放记录列表(尾拖数据)
- };
-
-
- //用户积分
- struct tagMobileUserScore
- {
- //积分信息
- DWORD lScore; //用户分数
-
- bool ToString(TCHAR* pBuffer, int iLen, DWORD dUserID)
- {
- if (sizeof(tagMobileUserScore) * 16 > iLen) return false;
-
- #ifdef _UNICODE
- _snwprintf(pBuffer, iLen, TEXT("<br>【用户积分】用户分数:%d.")
- , lScore);
- #else
- _snprintf(pBuffer, iLen, TEXT("<br>【用户积分】用户分数:%d,胜利盘数:%d,失败盘数:%d,和局盘数:%d,逃跑盘数:%d,用户经验:%d.")
- , lScore, dwWinCount, dwLostCount, dwDrawCount, dwFleeCount, dwExperience);
- #endif
- ////mylog::ToSet(pBuffer, iLen, dUserID);
-
- return true;
- }
- //名字
- bool ToName(TCHAR* pBuffer, int iLen)
- {
- TCHAR szTemp[] = _T("用户积分");
-
- if (TSTRINGLEN(szTemp) > iLen) return false;
-
- StringCchCopy(pBuffer, iLen, szTemp);
-
- return true;
- }
- //打印通讯日志
- void ToShow(int dTablePrivate, DWORD dUserID)
- {
- TCHAR szBuffer[BUFFERLEN];
- ZeroMemory(szBuffer, BUFFERLEN * sizeof(TCHAR));
- if (ToString(szBuffer, BUFFERLEN, dUserID))
- {
- mylog::OutputString(szBuffer, dTablePrivate);
- }
- }
- };
- struct CMD_GR_ReplayRecordReq
- {
- DWORD dwRecordID;
- };
-
- //邀请用户
- struct CMD_GR_UserInvite
- {
- WORD wTableID; //桌子号码
- DWORD dwUserID; //用户 I D
- };
-
- //邀请用户请求
- struct CMD_GR_UserInviteReq
- {
- WORD wTableID; //桌子号码
- DWORD dwUserID; //用户 I D
- };
-
- //用户分数
- struct CMD_GR_UserScore
- {
- DWORD dwUserID; //用户标识
- tagUserScore UserScore; //积分信息
-
- //参数转成字符串
- bool ToString(TCHAR* pBuffer, int iLen, DWORD dUserID)
- {
- if (sizeof(CMD_GR_UserScore) * 16 > iLen) return false;
-
- TCHAR szBuffer[BUFFERLEN];
- ZeroMemory(szBuffer, BUFFERLEN * sizeof(TCHAR));
-
- UserScore.ToString(szBuffer, BUFFERLEN, dUserID);
-
- #ifdef _UNICODE
- _snwprintf(pBuffer, iLen, TEXT("用户分数->用户标识:%d,积分信息:%s.")
- , dwUserID, szBuffer);
- #else
- _snprintf(pBuffer, iLen, TEXT("用户分数->用户标识:%d,积分信息:%s.")
- , dwUserID, szBuffer);
- #endif
- //mylog::ToSet(pBuffer, iLen, dUserID);
- return true;
- }
- //名字
- bool ToName(TCHAR* pBuffer, int iLen)
- {
- TCHAR szTemp[] = _T("用户分数");
-
- if (TSTRINGLEN(szTemp) > iLen) return false;
-
- StringCchCopy(pBuffer, iLen, szTemp);
-
- return true;
- }
- //打印通讯日志
- void ToShow(int dTablePrivate, DWORD dUserID)
- {
- TCHAR szBuffer[BUFFERLEN];
- ZeroMemory(szBuffer, BUFFERLEN * sizeof(TCHAR));
- if (ToString(szBuffer, BUFFERLEN, dUserID))
- {
- mylog::OutputString(szBuffer, dTablePrivate);
- }
- }
- };
-
- //用户分数
- struct CMD_GR_MobileUserScore
- {
- DWORD dwUserID; //用户标识
- tagMobileUserScore UserScore; //积分信息
-
-
- //参数转成字符串
- bool ToString(TCHAR* pBuffer, int iLen, DWORD dUserID)
- {
- if (sizeof(CMD_GR_MobileUserScore) * 16 > iLen) return false;
-
- TCHAR szBuffer[BUFFERLEN];
- ZeroMemory(szBuffer, BUFFERLEN * sizeof(TCHAR));
-
- UserScore.ToString(szBuffer, BUFFERLEN, dUserID);
-
- #ifdef _UNICODE
- _snwprintf(pBuffer, iLen, TEXT("用户分数->用户标识:%d,积分信息:%s.")
- , dwUserID, szBuffer);
- #else
- _snprintf(pBuffer, iLen, TEXT("用户分数->用户标识:%d,积分信息:%s.")
- , dwUserID, szBuffer);
- #endif
- //mylog::ToSet(pBuffer, iLen, dUserID);
- return true;
- }
- //名字
- bool ToName(TCHAR* pBuffer, int iLen)
- {
- TCHAR szTemp[] = _T("用户分数");
-
- if (TSTRINGLEN(szTemp) > iLen) return false;
-
- StringCchCopy(pBuffer, iLen, szTemp);
-
- return true;
- }
- //打印通讯日志
- void ToShow(int dTablePrivate, DWORD dUserID)
- {
- TCHAR szBuffer[BUFFERLEN];
- ZeroMemory(szBuffer, BUFFERLEN * sizeof(TCHAR));
- if (ToString(szBuffer, BUFFERLEN, dUserID))
- {
- mylog::OutputString(szBuffer, dTablePrivate);
- }
- }
- };
-
- //用户状态
- struct tagUserStatus
- {
- WORD wTableID; //桌子索引
- WORD wChairID; //椅子位置
- BYTE cbUserStatus; //用户状态
-
- bool ToString(TCHAR* pBuffer, int iLen, DWORD dUserID)
- {
- if (sizeof(tagUserStatus) * 16 > iLen) return false;
-
- TCHAR szTemp[32];
- ZeroMemory(szTemp, 32 * sizeof(TCHAR));
-
- switch (cbUserStatus)
- {
- case US_NULL:
- StringCchCat(szTemp, 32, _TEXT("没有状态"));
- break;
- case US_FREE:
- StringCchCat(szTemp, 32, _TEXT("大厅状态"));
- break;
- case US_SIT:
- StringCchCat(szTemp, 32, _TEXT("坐下状态"));
- break;
- case US_READY:
- StringCchCat(szTemp, 32, _TEXT("准备状态"));
- break;
- case US_LOOKON:
- StringCchCat(szTemp, 32, _TEXT("旁观状态"));
- break;
- case US_PLAYING:
- StringCchCat(szTemp, 32, _TEXT("游戏状态"));
- break;
- case US_OFFLINE:
- StringCchCat(szTemp, 32, _TEXT("断线状态"));
- break;
- default:
- break;
- }
- #ifdef _UNICODE
- _snwprintf(pBuffer, iLen, TEXT("<br>【子项用户状态】桌子索引:%d,椅子位置:%d,用户状态:%s")
- , wTableID, wChairID, szTemp);
- #else
- _snprintf(pBuffer, iLen, TEXT("<br>【子项用户状态】桌子索引:%d,椅子位置:%d,用户状态:%s")
- , wTableID, wChairID, szTemp);
- #endif
- ////mylog::ToSet(pBuffer, iLen, dUserID);
-
- return true;
- }
- //名字
- bool ToName(TCHAR* pBuffer, int iLen)
- {
- TCHAR szTemp[] = _T("用户状态");
-
- if (TSTRINGLEN(szTemp) > iLen) return false;
-
- StringCchCopy(pBuffer, iLen, szTemp);
-
- return true;
- }
- //打印通讯日志
- void ToShow(int dTablePrivate, DWORD dUserID)
- {
- TCHAR szBuffer[BUFFERLEN];
- ZeroMemory(szBuffer, BUFFERLEN * sizeof(TCHAR));
- if (ToString(szBuffer, BUFFERLEN, dUserID))
- {
- mylog::OutputString(szBuffer, dTablePrivate);
- }
- }
- };
-
- //用户状态
- struct CMD_GR_UserStatus
- {
- DWORD dwUserID; //用户标识
- tagUserStatus UserStatus; //用户状态
-
- //参数转成字符串
- bool ToString(TCHAR* pBuffer, int iLen, DWORD dUserID)
- {
- if (sizeof(CMD_GR_UserStatus) * 16 > iLen) return false;
-
- TCHAR szBuffer[BUFFERLEN];
- ZeroMemory(szBuffer, BUFFERLEN * sizeof(TCHAR));
- UserStatus.ToString(szBuffer, BUFFERLEN, dUserID);
-
- #ifdef _UNICODE
- _snwprintf(pBuffer, iLen, TEXT("用户分数->用户标识:%d,用户状态:%s")
- , dwUserID, szBuffer);
- #else
- _snprintf(pBuffer, iLen, TEXT("用户分数->用户标识:%d,用户状态:%s")
- , dwUserID, szBuffer);
- #endif
- //mylog::ToSet(pBuffer, iLen, dUserID);
- return true;
- }
- //名字
- bool ToName(TCHAR* pBuffer, int iLen)
- {
- TCHAR szTemp[] = _T("用户状态");
-
- if (TSTRINGLEN(szTemp) > iLen) return false;
-
- StringCchCopy(pBuffer, iLen, szTemp);
-
- return true;
- }
- //打印通讯日志
- void ToShow(int dTablePrivate, DWORD dUserID)
- {
- TCHAR szBuffer[BUFFERLEN];
- ZeroMemory(szBuffer, BUFFERLEN * sizeof(TCHAR));
- if (ToString(szBuffer, BUFFERLEN, dUserID))
- {
- mylog::OutputString(szBuffer, dTablePrivate);
- }
- }
- };
-
- //请求失败
- struct CMD_GR_RequestFailure
- {
- LONG lErrorCode; //错误代码
- TCHAR szDescribeString[128]; //描述信息
-
- //参数转成字符串
- bool ToString(TCHAR* pBuffer, int iLen, DWORD dUserID)
- {
- if (sizeof(CMD_GR_RequestFailure) * 16 > iLen) return false;
-
- #ifdef _UNICODE
- _snwprintf(pBuffer, iLen, TEXT("请求失败->错误代码:%d,描述信息:%s.")
- , lErrorCode, szDescribeString);
- #else
- _snprintf(pBuffer, iLen, TEXT("请求失败->错误代码:%d,描述信息:%s.")
- , lErrorCode, szDescribeString);
- #endif
- //mylog::ToSet(pBuffer, iLen, dUserID);
- return true;
- }
- //名字
- bool ToName(TCHAR* pBuffer, int iLen)
- {
- TCHAR szTemp[] = _T("请求失败");
-
- if (TSTRINGLEN(szTemp) > iLen) return false;
-
- StringCchCopy(pBuffer, iLen, szTemp);
-
- return true;
- }
- //打印通讯日志
- void ToShow(int dTablePrivate, DWORD dUserID)
- {
- TCHAR szBuffer[BUFFERLEN];
- ZeroMemory(szBuffer, BUFFERLEN * sizeof(TCHAR));
- if (ToString(szBuffer, BUFFERLEN, dUserID))
- {
- mylog::OutputString(szBuffer, dTablePrivate);
- }
- }
- };
-
- //领奖失败错误码
- struct CMD_GR_RequestFailureAward
- {
- BYTE lErrorCode; //错误代码
- TCHAR szDescribeString[128]; //描述信息
-
- };
-
- //用户聊天
- struct CMD_GR_C_UserChat
- {
- WORD wChatLength; //信息长度
- DWORD dwChatColor; //信息颜色
- DWORD dwSendUserID; //发送用户
- DWORD dwTargetUserID; //目标用户
- TCHAR szChatString[LEN_USER_CHAT]; //聊天信息
- };
-
- //用户聊天
- struct CMD_GR_S_UserChat
- {
- WORD wChatLength; //信息长度
- DWORD dwChatColor; //信息颜色
- DWORD dwSendUserID; //发送用户
- DWORD dwTargetUserID; //目标用户
- TCHAR szChatString[LEN_USER_CHAT]; //聊天信息
- };
-
- //用户表情
- struct CMD_GR_C_UserExpression
- {
- WORD wItemIndex; //表情索引
- DWORD dwSendUserID; //发送用户
- DWORD dwTargetUserID; //目标用户
-
- //参数转成字符串
- bool ToString(TCHAR* pBuffer, int iLen, DWORD dUserID)
- {
- if (sizeof(CMD_GR_C_UserExpression) * 16 > iLen) return false;
-
- #ifdef _UNICODE
- _snwprintf(pBuffer, iLen, TEXT("用户表情->表情索引:%d,发送用户:%d,目标用户:%d.")
- , wItemIndex, dwSendUserID, dwTargetUserID);
- #else
- _snprintf(pBuffer, iLen, TEXT("用户表情->表情索引:%d,发送用户:%d,目标用户:%d.")
- , wItemIndex, dwSendUserID, dwTargetUserID);
- #endif
- //mylog::ToSet(pBuffer, iLen, dUserID);
- return true;
- }
- //名字
- bool ToName(TCHAR* pBuffer, int iLen)
- {
- TCHAR szTemp[] = _T("用户表情");
-
- if (TSTRINGLEN(szTemp) > iLen) return false;
-
- StringCchCopy(pBuffer, iLen, szTemp);
-
- return true;
- }
- //打印通讯日志
- void ToShow(int dTablePrivate, DWORD dUserID)
- {
- TCHAR szBuffer[BUFFERLEN];
- ZeroMemory(szBuffer, BUFFERLEN * sizeof(TCHAR));
- if (ToString(szBuffer, BUFFERLEN, dUserID))
- {
- mylog::OutputString(szBuffer, dTablePrivate);
- }
- }
- };
-
- //用户表情
- struct CMD_GR_S_UserExpression
- {
- WORD wItemIndex; //表情索引
- DWORD dwSendUserID; //发送用户
- DWORD dwTargetUserID; //目标用户
-
- //参数转成字符串
- bool ToString(TCHAR* pBuffer, int iLen, DWORD dUserID)
- {
- if (sizeof(CMD_GR_C_UserExpression) * 16 > iLen) return false;
-
- #ifdef _UNICODE
- _snwprintf(pBuffer, iLen, TEXT("用户表情->表情索引:%d,发送用户:%d,目标用户:%d.")
- , wItemIndex, dwSendUserID, dwTargetUserID);
- #else
- _snprintf(pBuffer, iLen, TEXT("用户表情->表情索引:%d,发送用户:%d,目标用户:%d.")
- , wItemIndex, dwSendUserID, dwTargetUserID);
- #endif
- //mylog::ToSet(pBuffer, iLen, dUserID);
- return true;
- }
- //名字
- bool ToName(TCHAR* pBuffer, int iLen)
- {
- TCHAR szTemp[] = _T("用户表情");
-
- if (TSTRINGLEN(szTemp) > iLen) return false;
-
- StringCchCopy(pBuffer, iLen, szTemp);
-
- return true;
- }
- //打印通讯日志
- void ToShow(int dTablePrivate, DWORD dUserID)
- {
- TCHAR szBuffer[BUFFERLEN];
- ZeroMemory(szBuffer, BUFFERLEN * sizeof(TCHAR));
- if (ToString(szBuffer, BUFFERLEN, dUserID))
- {
- mylog::OutputString(szBuffer, dTablePrivate);
- }
- }
- };
-
- //用户私聊
- struct CMD_GR_C_WisperChat
- {
- WORD wChatLength; //信息长度
- DWORD dwChatColor; //信息颜色
- DWORD dwSendUserID; //发送用户
- DWORD dwTargetUserID; //目标用户
- TCHAR szChatString[LEN_USER_CHAT]; //聊天信息
- };
-
- //用户私聊
- struct CMD_GR_S_WisperChat
- {
- WORD wChatLength; //信息长度
- DWORD dwChatColor; //信息颜色
- DWORD dwSendUserID; //发送用户
- DWORD dwTargetUserID; //目标用户
- TCHAR szChatString[LEN_USER_CHAT]; //聊天信息
- };
-
- //私聊表情
- struct CMD_GR_C_WisperExpression
- {
- WORD wItemIndex; //表情索引
- DWORD dwSendUserID; //发送用户
- DWORD dwTargetUserID; //目标用户
-
- //参数转成字符串
- bool ToString(TCHAR* pBuffer, int iLen, DWORD dUserID)
- {
- if (sizeof(CMD_GR_C_UserExpression) * 16 > iLen) return false;
-
- #ifdef _UNICODE
- _snwprintf(pBuffer, iLen, TEXT("用户表情->表情索引:%d,发送用户:%d,目标用户:%d.")
- , wItemIndex, dwSendUserID, dwTargetUserID);
- #else
- _snprintf(pBuffer, iLen, TEXT("用户表情->表情索引:%d,发送用户:%d,目标用户:%d.")
- , wItemIndex, dwSendUserID, dwTargetUserID);
- #endif
- //mylog::ToSet(pBuffer, iLen, dUserID);
- return true;
- }
- //名字
- bool ToName(TCHAR* pBuffer, int iLen)
- {
- TCHAR szTemp[] = _T("用户表情");
-
- if (TSTRINGLEN(szTemp) > iLen) return false;
-
- StringCchCopy(pBuffer, iLen, szTemp);
-
- return true;
- }
- //打印通讯日志
- void ToShow(int dTablePrivate, DWORD dUserID)
- {
- TCHAR szBuffer[BUFFERLEN];
- ZeroMemory(szBuffer, BUFFERLEN * sizeof(TCHAR));
- if (ToString(szBuffer, BUFFERLEN, dUserID))
- {
- mylog::OutputString(szBuffer, dTablePrivate);
- }
- }
- };
-
- //私聊表情
- struct CMD_GR_S_WisperExpression
- {
- WORD wItemIndex; //表情索引
- DWORD dwSendUserID; //发送用户
- DWORD dwTargetUserID; //目标用户
-
- //参数转成字符串
- bool ToString(TCHAR* pBuffer, int iLen, DWORD dUserID)
- {
- if (sizeof(CMD_GR_C_UserExpression) * 16 > iLen) return false;
-
- #ifdef _UNICODE
- _snwprintf(pBuffer, iLen, TEXT("用户表情->表情索引:%d,发送用户:%d,目标用户:%d.")
- , wItemIndex, dwSendUserID, dwTargetUserID);
- #else
- _snprintf(pBuffer, iLen, TEXT("用户表情->表情索引:%d,发送用户:%d,目标用户:%d.")
- , wItemIndex, dwSendUserID, dwTargetUserID);
- #endif
- //mylog::ToSet(pBuffer, iLen, dUserID);
- return true;
- }
- //名字
- bool ToName(TCHAR* pBuffer, int iLen)
- {
- TCHAR szTemp[] = _T("用户表情");
-
- if (TSTRINGLEN(szTemp) > iLen) return false;
-
- StringCchCopy(pBuffer, iLen, szTemp);
-
- return true;
- }
- //打印通讯日志
- void ToShow(int dTablePrivate, DWORD dUserID)
- {
- TCHAR szBuffer[BUFFERLEN];
- ZeroMemory(szBuffer, BUFFERLEN * sizeof(TCHAR));
- if (ToString(szBuffer, BUFFERLEN, dUserID))
- {
- mylog::OutputString(szBuffer, dTablePrivate);
- }
- }
-
- };
-
- //用户会话
- struct CMD_GR_ColloquyChat
- {
- WORD wChatLength; //信息长度
- DWORD dwChatColor; //信息颜色
- DWORD dwSendUserID; //发送用户
- DWORD dwConversationID; //会话标识
- DWORD dwTargetUserID[16]; //目标用户
- TCHAR szChatString[LEN_USER_CHAT]; //聊天信息
- };
-
- //邀请用户
- struct CMD_GR_C_InviteUser
- {
- WORD wTableID; //桌子号码
- DWORD dwSendUserID; //发送用户
- };
-
- //邀请用户
- struct CMD_GR_S_InviteUser
- {
- DWORD dwTargetUserID; //目标用户
- };
-
- //购买道具
- struct CMD_GR_C_PropertyBuy
- {
- BYTE cbRequestArea; //请求范围
- BYTE cbConsumeScore; //积分消费
- WORD wItemCount; //购买数目
- WORD wPropertyIndex; //道具索引
- DWORD dwTargetUserID; //使用对象
- };
-
- //道具成功
- struct CMD_GR_S_PropertySuccess
- {
- BYTE cbRequestArea; //使用环境
- WORD wItemCount; //购买数目
- WORD wPropertyIndex; //道具索引
- DWORD dwSourceUserID; //目标对象
- DWORD dwTargetUserID; //使用对象
- };
-
- //道具失败
- struct CMD_GR_PropertyFailure
- {
- WORD wRequestArea; //请求区域
- LONG lErrorCode; //错误代码
- TCHAR szDescribeString[256]; //描述信息
- };
-
- //道具消息
- struct CMD_GR_S_PropertyMessage
- {
- //道具信息
- WORD wPropertyIndex; //道具索引
- WORD wPropertyCount; //道具数目
- DWORD dwSourceUserID; //目标对象
- DWORD dwTargerUserID; //使用对象
- };
-
-
- //道具效应
- struct CMD_GR_S_PropertyEffect
- {
- DWORD wUserID; //用 户I D
- BYTE cbMemberOrder; //会员等级
- };
-
- //发送喇叭
- struct CMD_GR_C_SendTrumpet
- {
- BYTE cbRequestArea; //请求范围
- WORD wPropertyIndex; //道具索引
- DWORD TrumpetColor; //喇叭颜色
- TCHAR szTrumpetContent[TRUMPET_MAX_CHAR]; //喇叭内容
- };
-
- //发送喇叭
- struct CMD_GR_S_SendTrumpet
- {
- WORD wPropertyIndex; //道具索引
- DWORD dwSendUserID; //用户 I D
- DWORD TrumpetColor; //喇叭颜色
- TCHAR szSendNickName[32]; //玩家昵称
- TCHAR szTrumpetContent[TRUMPET_MAX_CHAR]; //喇叭内容
- };
-
- //用户拒绝黑名单坐下
- struct CMD_GR_UserRepulseSit
- {
- WORD wTableID; //桌子号码
- WORD wChairID; //椅子位置
- DWORD dwUserID; //用户 I D
- DWORD dwRepulseUserID; //用户 I D
- };
-
- //////////////////////////////////////////////////////////////////////////////////
-
- //规则标志
- #define UR_LIMIT_SAME_IP 0x01 //限制地址
- #define UR_LIMIT_WIN_RATE 0x02 //限制胜率
- #define UR_LIMIT_FLEE_RATE 0x04 //限制逃率
- #define UR_LIMIT_GAME_SCORE 0x08 //限制积分
-
- //用户规则
- struct CMD_GR_UserRule
- {
- BYTE cbRuleMask; //规则掩码
- WORD wMinWinRate; //最低胜率
- WORD wMaxFleeRate; //最高逃率
- LONG lMaxGameScore; //最高分数
- LONG lMinGameScore; //最低分数
- };
-
- //请求用户信息
- struct CMD_GR_UserInfoReq
- {
- DWORD dwUserIDReq; //请求用户 此字段 为0xFFFF 表示请求所有用户 除了自己
- WORD wTablePos; //桌子位置
-
- //参数转成字符串
- bool ToString(TCHAR* pBuffer, int iLen, DWORD dUserID)
- {
- if (sizeof(CMD_GR_UserInfoReq) * 16 > iLen) return false;
-
- #ifdef _UNICODE
- _snwprintf(pBuffer, iLen, TEXT("请求用户信息->请求用户:%d,桌子位置:%d.")
- , dwUserIDReq, wTablePos);
- #else
- _snprintf(pBuffer, iLen, TEXT("请求用户信息->请求用户:%d,桌子位置:%d.")
- , dwUserIDReq, wTablePos);
- #endif
- //mylog::ToSet(pBuffer, iLen, dUserID);
- return true;
- }
- //名字
- bool ToName(TCHAR* pBuffer, int iLen)
- {
- TCHAR szTemp[] = _T("请求用户信息");
-
- if (TSTRINGLEN(szTemp) > iLen) return false;
-
- StringCchCopy(pBuffer, iLen, szTemp);
-
- return true;
- }
- //打印通讯日志
- void ToShow(int dTablePrivate, DWORD dUserID)
- {
- TCHAR szBuffer[BUFFERLEN];
- ZeroMemory(szBuffer, BUFFERLEN * sizeof(TCHAR));
- if (ToString(szBuffer, BUFFERLEN, dUserID))
- {
- mylog::OutputString(szBuffer, dTablePrivate);
- }
- }
- };
-
- //请求用户信息
- struct CMD_GR_ChairUserInfoReq
- {
- WORD wTableID; //桌子号码
- WORD wChairID; //椅子位置
- };
-
- //通知当前豆子
- struct CMD_GR_UserBean
- {
- DWORD dwCurrBeans; //当前豆子
- //参数转成字符串
- bool ToString(TCHAR* pBuffer, int iLen, DWORD dUserID)
- {
- if (sizeof(CMD_GR_UserInfoReq) * 16 > iLen) return false;
-
- #ifdef _UNICODE
- _snwprintf(pBuffer, iLen, TEXT("通知当前元宝->元宝:%d.")
- , dwCurrBeans);
- #else
- _snprintf(pBuffer, iLen, TEXT("通知当前元宝->元宝:%d.")
- , dwCurrBeans);
- #endif
- //mylog::ToSet(pBuffer, iLen, dUserID);
- return true;
- }
- //名字
- bool ToName(TCHAR* pBuffer, int iLen)
- {
- TCHAR szTemp[] = _T("通知当前元宝");
-
- if (TSTRINGLEN(szTemp) > iLen) return false;
-
- StringCchCopy(pBuffer, iLen, szTemp);
-
- return true;
- }
- //打印通讯日志
- void ToShow(int dTablePrivate, DWORD dUserID)
- {
- TCHAR szBuffer[BUFFERLEN];
- ZeroMemory(szBuffer, BUFFERLEN * sizeof(TCHAR));
- if (ToString(szBuffer, BUFFERLEN, dUserID))
- {
- mylog::OutputString(szBuffer, dTablePrivate);
- }
- }
- };
-
- //////////////////////////////////////////////////////////////////////////////////
- //状态命令
-
- #define MDM_GR_STATUS 4 //状态信息
-
- #define SUB_GR_TABLE_INFO 100 //桌子信息
- #define SUB_GR_TABLE_STATUS 101 //桌子状态
-
- //////////////////////////////////////////////////////////////////////////////////
-
- //桌子状态
- struct tagTableStatus
- {
- BYTE cbTableLock; //锁定标志
- BYTE cbPlayStatus; //游戏标志
- LONG lCellScore; //单元积分
-
- bool ToString(TCHAR* pBuffer, int iLen, DWORD dUserID)
- {
- if (sizeof(tagUserScore) * 16 > iLen) return false;
-
- #ifdef _UNICODE
- _snwprintf(pBuffer, iLen, TEXT("<br>【桌子状态】锁定标志:%d,游戏标志:%d,单元积分:%d.")
- , cbTableLock, cbPlayStatus, lCellScore);
- #else
- _snprintf(pBuffer, iLen, TEXT("<br>【桌子状态】锁定标志:%d,游戏标志:%d,单元积分:%d.")
- , cbTableLock, cbPlayStatus, lCellScore);
- #endif
- ////mylog::ToSet(pBuffer, iLen, dUserID);
- return true;
- }
- //名字
- bool ToName(TCHAR* pBuffer, int iLen)
- {
- TCHAR szTemp[] = _T("桌子状态");
-
- if (TSTRINGLEN(szTemp) > iLen) return false;
-
- StringCchCopy(pBuffer, iLen, szTemp);
-
- return true;
- }
- //打印通讯日志
- void ToShow(int dTablePrivate, DWORD dUserID)
- {
- TCHAR szBuffer[BUFFERLEN];
- ZeroMemory(szBuffer, BUFFERLEN * sizeof(TCHAR));
- if (ToString(szBuffer, BUFFERLEN, dUserID))
- {
- mylog::OutputString(szBuffer, dTablePrivate);
- }
- }
-
- };
-
-
- //桌子信息
- struct CMD_GR_TableInfo
- {
- WORD wTableCount; //桌子数目
- tagTableStatus TableStatusArray[512]; //桌子状态
- };
-
-
- //桌子状态
- struct CMD_GR_TableStatus
- {
- WORD wTableID; //桌子号码
- tagTableStatus TableStatus; //桌子状态
-
- //参数转成字符串
- bool ToString(TCHAR* pBuffer, int iLen, DWORD dUserID)
- {
- if (sizeof(CMD_GR_TableStatus) * 16 > iLen) return false;
-
- TCHAR szBuffer[BUFFERLEN];
- ZeroMemory(szBuffer, BUFFERLEN * sizeof(TCHAR));
- TableStatus.ToString(szBuffer, BUFFERLEN, dUserID);
-
- #ifdef _UNICODE
- _snwprintf(pBuffer, iLen, TEXT("桌子状态->桌子号码:%d,桌子状态:%s.")
- , wTableID, szBuffer);
- #else
- _snprintf(pBuffer, iLen, TEXT("桌子状态->桌子号码:%d,桌子状态:%s.")
- , wTableID, szBuffer);
- #endif
- //mylog::ToSet(pBuffer, iLen, dUserID);
- return true;
- }
- //名字
- bool ToName(TCHAR* pBuffer, int iLen)
- {
- TCHAR szTemp[] = _T("桌子状态");
-
- if (TSTRINGLEN(szTemp) > iLen) return false;
-
- StringCchCopy(pBuffer, iLen, szTemp);
-
- return true;
- }
- //打印通讯日志
- void ToShow(int dTablePrivate, DWORD dUserID)
- {
- TCHAR szBuffer[BUFFERLEN];
- ZeroMemory(szBuffer, BUFFERLEN * sizeof(TCHAR));
- if (ToString(szBuffer, BUFFERLEN, dUserID))
- {
- mylog::OutputString(szBuffer, dTablePrivate);
- }
- }
-
- };
-
- //////////////////////////////////////////////////////////////////////////////////
- //银行命令
-
- //#define MDM_GR_INSURE 5 //用户信息
-
- ////银行命令
- //#define SUB_GR_ENABLE_INSURE_REQUEST 1 //开通银行
- //#define SUB_GR_QUERY_INSURE_INFO 2 //查询银行
- //#define SUB_GR_SAVE_SCORE_REQUEST 3 //存款操作
- //#define SUB_GR_TAKE_SCORE_REQUEST 4 //取款操作
- //#define SUB_GR_TRANSFER_SCORE_REQUEST 5 //取款操作
- //#define SUB_GR_QUERY_USER_INFO_REQUEST 6 //查询用户
- //
- //#define SUB_GR_USER_INSURE_INFO 100 //银行资料
- //#define SUB_GR_USER_INSURE_SUCCESS 101 //银行成功
- //#define SUB_GR_USER_INSURE_FAILURE 102 //银行失败
- //#define SUB_GR_USER_TRANSFER_USER_INFO 103 //用户资料
- //#define SUB_GR_USER_INSURE_ENABLE_RESULT 104 //开通结果
-
- //////////////////////////////////////////////////////////////////////////////////
-
- //开通银行
- struct CMD_GR_C_EnableInsureRequest
- {
- BYTE cbActivityGame; //游戏动作
- DWORD dwUserID; //用户I D
- TCHAR szLogonPass[LEN_PASSWORD]; //登录密码
- TCHAR szInsurePass[LEN_PASSWORD]; //银行密码
- TCHAR szMachineID[LEN_MACHINE_ID]; //机器序列
- };
-
- //查询银行
- struct CMD_GR_C_QueryInsureInfoRequest
- {
- BYTE cbActivityGame; //游戏动作
- TCHAR szInsurePass[LEN_PASSWORD]; //银行密码
- };
-
- //存款请求
- struct CMD_GR_C_SaveScoreRequest
- {
- BYTE cbActivityGame; //游戏动作
- SCORE lSaveScore; //存款数目
- };
-
- //取款请求
- struct CMD_GR_C_TakeScoreRequest
- {
- BYTE cbActivityGame; //游戏动作
- SCORE lTakeScore; //取款数目
- TCHAR szInsurePass[LEN_PASSWORD]; //银行密码
- };
-
- //转账金币
- struct CMD_GP_C_TransferScoreRequest
- {
- BYTE cbActivityGame; //游戏动作
- SCORE lTransferScore; //转账金币
- TCHAR szAccounts[LEN_ACCOUNTS]; //目标用户
- TCHAR szInsurePass[LEN_PASSWORD]; //银行密码
- TCHAR szTransRemark[LEN_TRANS_REMARK]; //转账备注
- };
-
- //查询用户
- struct CMD_GR_C_QueryUserInfoRequest
- {
- BYTE cbActivityGame; //游戏动作
- BYTE cbByNickName; //昵称赠送
- TCHAR szAccounts[LEN_ACCOUNTS]; //目标用户
- };
-
- //银行资料
- struct CMD_GR_S_UserInsureInfo
- {
- BYTE cbActivityGame; //游戏动作
- BYTE cbEnjoinTransfer; //转账开关
- WORD wRevenueTake; //税收比例
- WORD wRevenueTransfer; //税收比例
- WORD wRevenueTransferMember; //税收比例
- WORD wServerID; //房间标识
- SCORE lUserScore; //用户金币
- SCORE lUserInsure; //银行金币
- SCORE lTransferPrerequisite; //转账条件
- };
-
- //银行成功
- struct CMD_GR_S_UserInsureSuccess
- {
- BYTE cbActivityGame; //游戏动作
- SCORE lUserScore; //身上金币
- SCORE lUserInsure; //银行金币
- TCHAR szDescribeString[128]; //描述消息
- };
-
- //银行失败
- struct CMD_GR_S_UserInsureFailure
- {
- BYTE cbActivityGame; //游戏动作
- LONG lErrorCode; //错误代码
- TCHAR szDescribeString[128]; //描述消息
- };
-
- //用户信息
- struct CMD_GR_S_UserTransferUserInfo
- {
- BYTE cbActivityGame; //游戏动作
- DWORD dwTargetGameID; //目标用户
- TCHAR szAccounts[LEN_ACCOUNTS]; //目标用户
- };
-
- //开通结果
- struct CMD_GR_S_UserInsureEnableResult
- {
- BYTE cbActivityGame; //游戏动作
- BYTE cbInsureEnabled; //使能标识
- TCHAR szDescribeString[128]; //描述消息
- };
-
- //////////////////////////////////////////////////////////////////////////////////
- //任务命令
- #define MDM_GR_TASK 6 //任务命令
-
- //#define SUB_GR_TASK_LOAD_INFO 1 //加载任务
- //#define SUB_GR_TASK_TAKE 2 //领取任务
- //#define SUB_GR_TASK_REWARD 3 //任务奖励
- //
- //#define SUB_GR_TASK_INFO 4 //任务信息
- //#define SUB_GR_TASK_FINISH 5 //任务完成
- //#define SUB_GR_TASK_LIST 6 //任务列表
- //#define SUB_GR_TASK_RESULT 7 //任务结果
-
- //////////////////////////////////////////////////////////////////////////////////
- ////加载任务
- //struct CMD_GR_C_LoadTaskInfo
- //{
- // DWORD dwUserID; //用户标识
- // TCHAR szPassword[LEN_PASSWORD]; //用户密码
- //};
- //
- ////领取任务
- //struct CMD_GR_C_TakeTask
- //{
- // WORD wTaskID; //任务标识
- // DWORD dwUserID; //用户标识
- // TCHAR szPassword[LEN_PASSWORD]; //登录密码
- // TCHAR szMachineID[LEN_MACHINE_ID]; //机器序列
- //};
- //
- ////领取奖励
- //struct CMD_GR_C_TaskReward
- //{
- // WORD wTaskID; //任务标识
- // DWORD dwUserID; //用户标识
- // TCHAR szPassword[LEN_PASSWORD]; //登录密码
- // TCHAR szMachineID[LEN_MACHINE_ID]; //机器序列
- //};
- //
- ////任务信息
- //struct CMD_GR_S_TaskInfo
- //{
- // WORD wTaskCount; //任务数量
- // tagTaskStatus TaskStatus[TASK_MAX_COUNT]; //任务状态
- //};
- //
- ////任务完成
- //struct CMD_GR_S_TaskFinish
- //{
- // WORD wFinishTaskID; //任务标识
- // TCHAR szTaskName[LEN_TASK_NAME]; //任务名称
- //};
- //
- ////任务结果
- //struct CMD_GR_S_TaskResult
- //{
- // //结果信息
- // bool bSuccessed; //成功标识
- // WORD wCommandID; //命令标识
- //
- // //财富信息
- // SCORE lCurrScore; //当前金币
- // SCORE lCurrIngot; //当前元宝
- //
- // //提示信息
- // TCHAR szNotifyContent[128]; //提示内容
- //};
- //
-
- //////////////////////////////////////////////////////////////////////////////////
- //兑换命令
-
- #define MDM_GR_EXCHANGE 7 //兑换命令
-
- #define SUB_GR_EXCHANGE_LOAD_INFO 400 //加载信息
- #define SUB_GR_EXCHANGE_PARAM_INFO 401 //兑换参数
- #define SUB_GR_PURCHASE_MEMBER 402 //购买会员
- #define SUB_GR_PURCHASE_RESULT 403 //购买结果
- #define SUB_GR_EXCHANGE_SCORE 404 //兑换游戏币
- #define SUB_GR_EXCHANGE_RESULT 405 //兑换结果
-
- //////////////////////////////////////////////////////////////////////////////////
-
- //查询参数
- struct CMD_GR_ExchangeParameter
- {
- WORD wExchangeRate; //兑换比率
- };
-
- //购买会员
- struct CMD_GR_PurchaseMember
- {
- DWORD dwUserID; //用户标识
- BYTE cbMemberOrder; //会员标识
- WORD wPurchaseTime; //购买时间
- TCHAR szMachineID[LEN_MACHINE_ID]; //机器标识
- };
-
- //购买结果
- struct CMD_GR_PurchaseResult
- {
- bool bSuccessed; //成功标识
- BYTE cbMemberOrder; //会员系列
- DWORD lCurrScore; //当前游戏币
- TCHAR szNotifyContent[128]; //提示内容
- };
-
- //兑换游戏币
- struct CMD_GR_ExchangeScore
- {
- DWORD dwUserID; //用户标识
- //DWORD lExchangeIngot; //兑换钻石
- DWORD dwExchangeID; //+++兑换ID
- TCHAR szMachineID[LEN_MACHINE_ID]; //机器标识
- };
-
- //兑换结果
- struct CMD_GR_ExchangeResult
- {
- bool bSuccessed; //成功标识
- DWORD lCurrScore; //当前游戏币
- DWORD lCurrIngot; //当前元宝
- TCHAR szNotifyContent[128]; //提示内容
- };
-
-
-
-
-
- //////////////////////////////////////////////////////////////////////////////////
- //管理命令
-
- #define MDM_GR_MANAGE 8 //管理命令
-
- #define SUB_GR_SEND_WARNING 1 //发送警告
- #define SUB_GR_SEND_MESSAGE 2 //发送消息
- #define SUB_GR_LOOK_USER_IP 3 //查看地址
- #define SUB_GR_KILL_USER 4 //踢出用户
- #define SUB_GR_LIMIT_ACCOUNS 5 //禁用帐户
- #define SUB_GR_SET_USER_RIGHT 6 //权限设置
-
- //房间设置
- #define SUB_GR_QUERY_OPTION 7 //查询设置
- #define SUB_GR_OPTION_SERVER 8 //房间设置
- #define SUB_GR_OPTION_CURRENT 9 //当前设置
- #define SUB_GR_LIMIT_USER_CHAT 10 //限制聊天
- #define SUB_GR_KICK_ALL_USER 11 //踢出用户
- #define SUB_GR_DISMISSGAME 12 //解散游戏
- //////////////////////////////////////////////////////////////////////////////////
-
- //申请解散私有房间
- struct CMD_GR_DELETE_PRIVATE_ROOM_REQ
- {
- WORD wTableID;
- WORD wChairID;
- BYTE leftTime;
-
- //参数转成字符串
- bool ToString(TCHAR* pBuffer, int iLen, DWORD dUserID)
- {
- if (sizeof(CMD_GR_DELETE_PRIVATE_ROOM_REQ) * 16 > iLen) return false;
-
- #ifdef _UNICODE
- _snwprintf(pBuffer, iLen, TEXT("申请解散私有房间->桌子:%d,椅子:%d,定时剩余时间:%d.")
- , wTableID, wChairID, leftTime);
- #else
- _snprintf(pBuffer, iLen, TEXT("申请解散私有房间->桌子:%d,椅子:%d,定时剩余时间:%d.")
- , wTableID, wChairID, leftTime);
- #endif
- //mylog::ToSet(pBuffer, iLen, dUserID);
- return true;
- }
- //名字
- bool ToName(TCHAR* pBuffer, int iLen)
- {
- TCHAR szTemp[] = _T("申请解散私有房间");
-
- if (TSTRINGLEN(szTemp) > iLen) return false;
-
- StringCchCopy(pBuffer, iLen, szTemp);
-
- return true;
- }
- //打印通讯日志
- void ToShow(int dTablePrivate, DWORD dUserID)
- {
- TCHAR szBuffer[BUFFERLEN];
- ZeroMemory(szBuffer, BUFFERLEN * sizeof(TCHAR));
- if (ToString(szBuffer, BUFFERLEN, dUserID))
- {
- mylog::OutputString(szBuffer, dTablePrivate);
- }
- }
- };
- //申请解散私有房间的应答
- struct CMD_GR_DELETE_PRIVATE_ROOM_RESP
- {
- WORD wTableID;
- WORD wChairID;
- BYTE bAgree; //是否同意。1同意,0不同意 2 为拒绝
-
- //参数转成字符串
- bool ToString(TCHAR* pBuffer, int iLen, DWORD dUserID)
- {
- if (sizeof(CMD_GR_DELETE_PRIVATE_ROOM_RESP) * 16 > iLen) return false;
-
- #ifdef _UNICODE
- _snwprintf(pBuffer, iLen, TEXT("申请解散私有房间的应答->桌子:%d,椅子:%d,选择:%s.")
- , wTableID, wChairID, bAgree == 1 ? _T("同意") : _T("不同意"));
- #else
- _snprintf(pBuffer, iLen, TEXT("申请解散私有房间的应答->桌子:%d,椅子:%d,选择:%s.")
- , wTableID, wChairID, bAgree == 1 ? _T("同意") : _T("不同意"));
- #endif
- //mylog::ToSet(pBuffer, iLen, dUserID);
- return true;
- }
- //名字
- bool ToName(TCHAR* pBuffer, int iLen)
- {
- TCHAR szTemp[] = _T("申请解散私有房间的应答");
-
- if (TSTRINGLEN(szTemp) > iLen) return false;
-
- StringCchCopy(pBuffer, iLen, szTemp);
-
- return true;
- }
- //打印通讯日志
- void ToShow(int dTablePrivate, DWORD dUserID)
- {
- TCHAR szBuffer[BUFFERLEN];
- ZeroMemory(szBuffer, BUFFERLEN * sizeof(TCHAR));
- if (ToString(szBuffer, BUFFERLEN, dUserID))
- {
- mylog::OutputString(szBuffer, dTablePrivate);
- }
- }
- };
-
- struct CMD_GR_DELETE_PRIVATE_ROOM_RESULT
- {
- WORD wTableID;
- USHORT bState; //0失败,1成功,2超时(也算失败)
- TCHAR szDescription[128]; //描述信息
-
- //参数转成字符串
- bool ToString(TCHAR* pBuffer, int iLen, DWORD dUserID)
- {
- if (sizeof(CMD_GR_DELETE_PRIVATE_ROOM_RESULT) * 16 > iLen) return false;
-
- #ifdef _UNICODE
- _snwprintf(pBuffer, iLen, TEXT("申请解散私有房间的结果->桌子:%d,状态:%s,描述信息:%s.")
- , wTableID, bState == 1 ? _T("成功") : _T("失败"), szDescription);
- #else
- _snprintf(pBuffer, iLen, TEXT("申请解散私有房间的结果->桌子:%d,状态:%s,描述信息:%s.")
- , wTableID, bState == 1 ? _T("成功") : _T("失败"), szDescription);
- #endif
- //mylog::ToSet(pBuffer, iLen, dUserID);
- return true;
- }
- //名字
- bool ToName(TCHAR* pBuffer, int iLen)
- {
- TCHAR szTemp[] = _T("申请解散私有房间的结果");
-
- if (TSTRINGLEN(szTemp) > iLen) return false;
-
- StringCchCopy(pBuffer, iLen, szTemp);
-
- return true;
- }
- //打印通讯日志
- void ToShow(int dTablePrivate, DWORD dUserID)
- {
- TCHAR szBuffer[BUFFERLEN*2];
- ZeroMemory(szBuffer, (BUFFERLEN * 2) * sizeof(TCHAR));
- if (ToString(szBuffer, (BUFFERLEN * 2), dUserID))
- {
- mylog::OutputString(szBuffer, dTablePrivate);
- }
- }
-
- };
- //发送警告
- struct CMD_GR_SendWarning
- {
- WORD wChatLength; //信息长度
- DWORD dwTargetUserID; //目标用户
- TCHAR szWarningMessage[LEN_USER_CHAT]; //警告消息
-
- //参数转成字符串
- bool ToString(TCHAR* pBuffer, int iLen, DWORD dUserID)
- {
- if (sizeof(CMD_GR_SendWarning) * 16 > iLen) return false;
-
- #ifdef _UNICODE
- _snwprintf(pBuffer, iLen, TEXT("发送警告->信息长度:%d,目标用户:%d,警告消息:%s.")
- , wChatLength, dwTargetUserID, szWarningMessage);
- #else
- _snprintf(pBuffer, iLen, TEXT("发送警告->信息长度:%d,目标用户:%d,警告消息:%s.")
- , wChatLength, dwTargetUserID, szWarningMessage);
- #endif
- //mylog::ToSet(pBuffer, iLen, dUserID);
- return true;
- }
- //名字
- bool ToName(TCHAR* pBuffer, int iLen)
- {
- TCHAR szTemp[] = _T("发送警告");
-
- if (TSTRINGLEN(szTemp) > iLen) return false;
-
- StringCchCopy(pBuffer, iLen, szTemp);
-
- return true;
- }
- //打印通讯日志
- void ToShow(int dTablePrivate, DWORD dUserID)
- {
- TCHAR szBuffer[BUFFERLEN];
- ZeroMemory(szBuffer, BUFFERLEN * sizeof(TCHAR));
- if (ToString(szBuffer, BUFFERLEN, dUserID))
- {
- mylog::OutputString(szBuffer, dTablePrivate);
- }
- }
- };
-
- //系统消息
- struct CMD_GR_SendMessage
- {
- BYTE cbGame; //游戏消息
- BYTE cbRoom; //游戏消息
- BYTE cbAllRoom; //游戏消息
- BYTE cbLoop; //循环标志
- DWORD dwTimeRate; //循环间隔
- __time64_t tConcludeTime; //结束时间
- WORD wChatLength; //信息长度
- TCHAR szSystemMessage[LEN_USER_CHAT]; //系统消息
- };
-
- //查看地址
- struct CMD_GR_LookUserIP
- {
- DWORD dwTargetUserID; //目标用户
- //参数转成字符串
- bool ToString(TCHAR* pBuffer, int iLen, DWORD dUserID)
- {
- if (sizeof(CMD_GR_LookUserIP) * 16 > iLen) return false;
-
- #ifdef _UNICODE
- _snwprintf(pBuffer, iLen, TEXT("查看地址->目标用户:%d.")
- , dwTargetUserID);
- #else
- _snprintf(pBuffer, iLen, TEXT("查看地址->目标用户:%d.")
- , dwTargetUserID);
- #endif
- //mylog::ToSet(pBuffer, iLen, dUserID);
- return true;
- }
- //名字
- bool ToName(TCHAR* pBuffer, int iLen)
- {
- TCHAR szTemp[] = _T("查看地址");
-
- if (TSTRINGLEN(szTemp) > iLen) return false;
-
- StringCchCopy(pBuffer, iLen, szTemp);
-
- return true;
- }
- //打印通讯日志
- void ToShow(int dTablePrivate, DWORD dUserID)
- {
- TCHAR szBuffer[BUFFERLEN];
- ZeroMemory(szBuffer, BUFFERLEN * sizeof(TCHAR));
- if (ToString(szBuffer, BUFFERLEN, dUserID))
- {
- mylog::OutputString(szBuffer, dTablePrivate);
- }
- }
- };
-
- //踢出用户
- struct CMD_GR_KickUser
- {
- DWORD dwTargetUserID; //目标用户
- //参数转成字符串
- bool ToString(TCHAR* pBuffer, int iLen, DWORD dUserID)
- {
- if (sizeof(CMD_GR_KickUser) * 16 > iLen) return false;
-
- #ifdef _UNICODE
- _snwprintf(pBuffer, iLen, TEXT("踢出用户->目标用户:%d.")
- , dwTargetUserID);
- #else
- _snprintf(pBuffer, iLen, TEXT("踢出用户->目标用户:%d.")
- , dwTargetUserID);
- #endif
- //mylog::ToSet(pBuffer, iLen, dUserID);
- return true;
- }
- //名字
- bool ToName(TCHAR* pBuffer, int iLen)
- {
- TCHAR szTemp[] = _T("踢出用户");
-
- if (TSTRINGLEN(szTemp) > iLen) return false;
-
- StringCchCopy(pBuffer, iLen, szTemp);
-
- return true;
- }
- //打印通讯日志
- void ToShow(int dTablePrivate, DWORD dUserID)
- {
- TCHAR szBuffer[BUFFERLEN];
- ZeroMemory(szBuffer, BUFFERLEN * sizeof(TCHAR));
- if (ToString(szBuffer, BUFFERLEN, dUserID))
- {
- mylog::OutputString(szBuffer, dTablePrivate);
- }
- }
- };
-
- //禁用帐户
- struct CMD_GR_LimitAccounts
- {
- DWORD dwTargetUserID; //目标用户
- //参数转成字符串
- bool ToString(TCHAR* pBuffer, int iLen, DWORD dUserID)
- {
- if (sizeof(CMD_GR_LimitAccounts) * 16 > iLen) return false;
-
- #ifdef _UNICODE
- _snwprintf(pBuffer, iLen, TEXT("禁用帐户->目标用户:%d.")
- , dwTargetUserID);
- #else
- _snprintf(pBuffer, iLen, TEXT("禁用帐户->目标用户:%d.")
- , dwTargetUserID);
- #endif
- //mylog::ToSet(pBuffer, iLen, dUserID);
- return true;
- }
- //名字
- bool ToName(TCHAR* pBuffer, int iLen)
- {
- TCHAR szTemp[] = _T("禁用帐户");
-
- if (TSTRINGLEN(szTemp) > iLen) return false;
-
- StringCchCopy(pBuffer, iLen, szTemp);
-
- return true;
- }
- //打印通讯日志
- void ToShow(int dTablePrivate, DWORD dUserID)
- {
- TCHAR szBuffer[BUFFERLEN];
- ZeroMemory(szBuffer, BUFFERLEN * sizeof(TCHAR));
- if (ToString(szBuffer, BUFFERLEN, dUserID))
- {
- mylog::OutputString(szBuffer, dTablePrivate);
- }
- }
-
- };
-
- //权限设置
- struct CMD_GR_SetUserRight
- {
- //目标用户
- DWORD dwTargetUserID; //目标用户
-
- //绑定变量
- BYTE cbGameRight; //帐号权限
- BYTE cbAccountsRight; //帐号权限
-
- //权限变化
- BYTE cbLimitRoomChat; //大厅聊天
- BYTE cbLimitGameChat; //游戏聊天
- BYTE cbLimitPlayGame; //游戏权限
- BYTE cbLimitSendWisper; //发送消息
- BYTE cbLimitLookonGame; //旁观权限
- };
-
- //房间设置
- struct CMD_GR_OptionCurrent
- {
- DWORD dwRuleMask; //规则掩码
- tagServerOptionInfo ServerOptionInfo; //房间配置
- };
-
- //房间设置
- struct CMD_GR_ServerOption
- {
- tagServerOptionInfo ServerOptionInfo; //房间配置
- };
-
- //踢出所有用户
- struct CMD_GR_KickAllUser
- {
- TCHAR szKickMessage[LEN_USER_CHAT]; //踢出提示
- };
-
- //解散游戏
- struct CMD_GR_DismissGame
- {
- WORD wDismissTableNum; //解散桌号
- WORD wChairID; //自己椅号
- };
- //////////////////////////////////////////////////////////////////////////////////
-
- //设置标志
- #define OSF_ROOM_CHAT 1 //大厅聊天
- #define OSF_GAME_CHAT 2 //游戏聊天
- #define OSF_ROOM_WISPER 3 //大厅私聊
- #define OSF_ENTER_TABLE 4 //进入游戏
- #define OSF_ENTER_SERVER 5 //进入房间
- #define OSF_SEND_BUGLE 12 //发送喇叭
-
- //房间设置
- struct CMD_GR_OptionServer
- {
- BYTE cbOptionFlags; //设置标志
- BYTE cbOptionValue; //设置标志
- };
-
- //限制聊天
- struct CMD_GR_LimitUserChat
- {
- DWORD dwTargetUserID; //目标用户
- BYTE cbLimitFlags; //限制标志
- BYTE cbLimitValue; //限制与否
- };
- //////////////////////////////////////////////////////////////////////////////////
- //比赛命令
-
- #define MDM_GR_MATCH 9 //比赛命令
-
- #define SUB_GR_MATCH_FEE 400 //报名费用
- #define SUB_GR_MATCH_NUM 401 //等待人数
- #define SUB_GR_LEAVE_MATCH 402 //退出比赛
- #define SUB_GR_MATCH_INFO 403 //比赛信息
- #define SUB_GR_MATCH_WAIT_TIP 404 //等待提示
- #define SUB_GR_MATCH_RESULT 405 //比赛结果
- #define SUB_GR_MATCH_STATUS 406 //比赛状态
- #define SUB_GR_MATCH_DESC 408 //比赛描述
- #define SUB_GR_MATCH_GOLDUPDATE 409 //金币更新
- #define SUB_GR_MATCH_ELIMINATE 410 //比赛淘汰
-
- ////////////////改动以下时 请将游戏里面CMD_GAME.H的同时改动////////////////////////////
- //#define SUB_GR_MATCH_INFO_ER_SPARROWS 410 //比赛信息(2人麻将)
-
- //费用提醒
- struct CMD_GR_Match_Fee
- {
- SCORE lMatchFee; //报名费用
- TCHAR szNotifyContent[128]; //提示内容
- };
-
- //比赛人数
- struct CMD_GR_Match_Num
- {
- DWORD dwWaitting; //等待人数
- DWORD dwTotal; //开赛人数
- };
-
- //赛事信息
- struct CMD_GR_Match_Info
- {
- TCHAR szTitle[4][64]; //信息标题
- WORD wGameCount; //游戏局数
- };
-
- //提示信息
- struct CMD_GR_Match_Wait_Tip
- {
- SCORE lScore; //当前积分
- WORD wRank; //当前名次
- WORD wCurTableRank; //本桌名次
- WORD wUserCount; //当前人数
- WORD wCurGameCount; //当前局数
- WORD wGameCount; //总共局数
- WORD wPlayingTable; //游戏桌数
- TCHAR szMatchName[LEN_SERVER]; //比赛名称
- };
-
- //比赛结果
- struct CMD_GR_MatchResult
- {
- SCORE lGold; //金币奖励
- DWORD dwIngot; //元宝奖励
- DWORD dwExperience; //经验奖励
- TCHAR szDescribe[256]; //得奖描述
- };
-
- #define MAX_MATCH_DESC 4 //最多描述
-
- //比赛描述
- struct CMD_GR_MatchDesc
- {
- TCHAR szTitle[MAX_MATCH_DESC][16]; //信息标题
- TCHAR szDescribe[MAX_MATCH_DESC][64]; //描述内容
- COLORREF crTitleColor; //标题颜色
- COLORREF crDescribeColor; //描述颜色
- };
-
- //金币更新
- struct CMD_GR_MatchGoldUpdate
- {
- SCORE lCurrGold; //当前金币
- SCORE lCurrIngot; //当前元宝
- DWORD dwCurrExprience; //当前经验
- };
-
- //////////////////////////////////////////////////////////////////////////////////
- //俱乐部命令
-
- #define MDM_GR_CLUB 10 //俱乐部命令
-
- //////////////////////////////////////////////////////////////////////////////////
- //俱乐部命令
- #define SUB_GR_USER_GET_CLUBLIST 401 //获取俱乐部列表
- #define SUB_GR_USER_GET_CLUBLIST_ACK 402 //获取俱乐部列表应答
- #define SUB_GR_USER_GET_CLUBUSER 403 //获取俱乐部会员
- #define SUB_GR_USER_GET_CLUBUSER_ACK 404 //获取俱乐部会员应答
- #define SUB_GR_USER_GET_CLUBMESSAGE 405 //获取俱乐部消息
- #define SUB_GR_USER_GET_CLUBMESSAGE_ACK 406 //获取俱乐部消息应答
- #define SUB_GR_USER_GET_CLUBRECORD 407 //获取俱乐部记录
- #define SUB_GR_USER_GET_CLUBRECORD_ACK 408 //获取俱乐部记录应答
- #define SUB_GR_USER_CREATE_CLUB 409 //创建俱乐部
- #define SUB_GR_USER_CREATE_CLUB_ACK 410 //创建俱乐部应答
- #define SUB_GR_USER_UPDATE_CLUB 411 //修改俱乐部
- #define SUB_GR_USER_UPDATE_CLUB_ACK 412 //修改俱乐部应答
- #define SUB_GR_USER_DELETE_CLUB 413 //删除俱乐部
- #define SUB_GR_USER_DELETE_CLUB_ACK 414 //删除俱乐部应答
- #define SUB_GR_USER_GET_CLUB 415 //查看俱乐部
- #define SUB_GR_USER_GET_CLUB_ACK 416 //查看俱乐部应答
- #define SUB_GR_USER_JOIN_CLUB 417 //加入俱乐部
- #define SUB_GR_USER_JOIN_CLUB_ACK 418 //加入俱乐部应答
- #define SUB_GR_USER_QUIT_CLUB 419 //退出俱乐部
- #define SUB_GR_USER_QUIT_CLUB_ACK 420 //退出俱乐部应答
- #define SUB_GR_USER_ISAGREE_CLUB 421 //同意俱乐部
- #define SUB_GR_USER_ISAGREE_CLUB_ACK 422 //同意俱乐部应答
- //#define SUB_GR_USER_GET_CLUBONLINE 423 //获取俱乐部在线信息(刷新桌子)
- //#define SUB_GR_USER_GET_CLUBONLINE_ACK 424 //获取俱乐部在线信息应答
- #define SUB_GR_USER_NOTIFY_ACK 425 //通知标志
- #define SUB_GR_USER_GET_CLUBBLACKUSER 426 //获取黑名单
- #define SUB_GR_USER_GET_PROTOLCOL 427 //获取协议
- #define SUB_GR_USER_GET_PROTOLCOL_ACK 428 //获取协议应答
- #define SUB_GR_USER_GET_PROTOLCOLAGREE 429 //同意协议
- #define SUB_GR_USER_GET_PROTOLCOLAGREE_ACK 430 //同意应答
- #define SUB_GR_USER_GET_CLUBBLACKUSER_ACK 431 //获取黑名单应答
- #define SUB_GR_USER_GET_NOTICE 432 //获取公告
- #define SUB_GR_USER_GET_NOTICE_ACK 433 //获取公告应答
- #define SUB_GR_USER_GET_CLUBRECORD_ACK_EX 434 //获取俱乐部记录应答
- #define SUB_GR_USER_GET_CLUBUSE_EX 435 //获取俱乐部会员(在线)
- #define SUB_GR_USER_GET_CLUBONLINE_EX 436 //获取俱乐部在线信息(协议变化)(刷新桌子)
- #define SUB_GR_USER_GET_CLUBONLINE_ACK_EX 437 //获取俱乐部在线信息应答(协议变化)
- #define SUB_GR_USER_GET_CLUBONLINE_TABLE 438 //获取俱乐部房间信息
- #define SUB_GR_USER_GET_CLUBONLINE_TABLE_ACK 439 //获取俱乐部房间信息应答
- #define SUB_GR_USER_GET_CLUBONLINE_TABLEUSER_ACK 440 //获取俱乐部房间用户信息应答
- #define SUB_GR_USER_CLUBTABLE_NOTIFY_ACK 441 //房间更新推送
- #define SUB_GR_USER_CLUBCHANGE_NOTIFY_ACK 442 //俱乐部其他信息推送
- #define SUB_GR_USER_DISSOLVE_ROOM 443 //群主解散俱乐部房间
- #define SUB_GR_USER_GET_MORE_WANFA 444 //获取额外玩法请求
- #define SUB_GR_USER_GET_MORE_WANFA_ACK 445 //获取更多玩法响应 所有额外玩法请求统一一个协议回复
- #define SUB_GR_USER_GET_SAVE_MORE_WANFA 446 //保存or修改额外玩法请求
-
- #define SUB_GR_CLUB_GET_COUNT_EXPLOITS 450 //俱乐部房间战绩查询
- //#define SUB_GR_CLUB_GET_COUNT_EXPLOITS_ACK 451 //俱乐部统计回应
- #define SUB_GR_CLUB_GET_COUNT_PLAYGAEMS 452 //俱乐部统计对局数
- #define SUB_GR_CLUB_GET_COUNT_PLAYGAEMS_ACK 453 //俱乐部统计对局数回应
- #define SUB_GR_CLUB_GET_COUNT_INTEGRAL 454 //俱乐部统计积分数
- #define SUB_GR_CLUB_GET_COUNT_INTEGRAL_ACK 455 //俱乐部统计积分数回应
-
- #define SUB_GR_CLUB_GET_MAKEA_SAMPLE 456 //俱乐部打样
- #define SUB_GR_CLUB_GET_MAKEA_SAMPLE_ACK 457 //俱乐部打样回应
- //俱乐部房间配置
- struct tagTableConfig
- {
- WORD wSubGameID; //子游戏类型(0一脚赖油,1无赖到底,2半赖,3血流)
- DWORD wPlayRule; //底分
- WORD wMaxFanRule; //房费(0房间创建者,1打牌者平摊)
- WORD wMaxScore; //IP限制(0限制,1不限制)
- WORD wPlayCountRule; //一次玩的局数(8局?16局?)
- WORD wHadPlayCount; //桌子号
- WORD zmExtraRule; //是否是房主
- WORD dghRule; //
- TCHAR sPrivateTableID[7];
- byte bDuoLai; //多癞子可平胡,0可以 1不可以
- WORD wFengDing; //封顶值
- byte tmp1; //备用字段
- byte tmp2; //备用字段
- byte tmp3; //备用字段
- byte tmp4; //备用字段
- byte tmp5; //备用字段
-
- };
-
- //俱乐部列表
- struct CMD_GR_ClubList
- {
- WORD wStartIndex;
- WORD wCount;
- };
-
- struct ClubList
- {
- DWORD dwUserID;
- WORD dwStartIndex;
- WORD wCount;
- };
-
- struct CMD_S_ClubInfo
- {
- DWORD dwClubID;
- TCHAR szClubName[32];
- BYTE cbIsOwner;
- WORD wTotalNum;
- WORD wWaitTableNum;
- WORD wOnLineNum;
- WORD wWaitUserNum;
- DWORD dwOwnerID;
- TCHAR szHostName[32];
- TCHAR szHeadUrl[256];
- BYTE temp1; //2表示自动开房
- BYTE temp2;
- BYTE temp3;
- BYTE temp4; //用来表示自动开房时多玩法的0,1,2玩法
- tagTableConfig csGameConfig;
-
- };
-
- struct CMD_GR_ClubList_Ack
- {
- WORD wNewsCount;
- WORD wClubCount;
- CMD_S_ClubInfo csGameClubInfo[20];
-
- };
-
- struct CMD_S_ClubAutoAddInfo
- {
- DWORD dwClubID; //俱乐部id
- BYTE cbWanfaId; //1 ,2 额外玩法id序号
- BYTE cbStatus; //0 不存在(该值也表示是否為查询获取额外玩法信息) 1 启用 2 禁用
- tagTableConfig gameconfig; //玩法配置
-
- //参数转成字符串
- bool ToString(TCHAR* pBuffer, int iLen, DWORD dUserID)
- {
- if (sizeof(CMD_S_ClubAutoAddInfo) * 16 > iLen) return false;
-
- #ifdef _UNICODE
- _snwprintf(pBuffer, iLen, TEXT("俱乐部额外玩法自动开房请求->俱乐部:%d,额外玩法id序号:%d,状态:%d."), dwClubID, cbWanfaId, cbStatus);
- #else
- _snprintf(pBuffer, iLen, TEXT("俱乐部额外玩法自动开房请求->俱乐部:%d,额外玩法id序号:%d,状态:%d."), dwClubID, cbWanfaId, cbStatus);
- #endif
- //mylog::ToSet(pBuffer, iLen, dUserID);
- return true;
- }
- //打印通讯日志
- void ToShow(int dTablePrivate, DWORD dUserID)
- {
- TCHAR szBuffer[BUFFERLEN];
- ZeroMemory(szBuffer, BUFFERLEN * sizeof(TCHAR));
- if (ToString(szBuffer, BUFFERLEN, dUserID))
- {
- mylog::OutputString(szBuffer, dTablePrivate);
- }
- }
-
- };
-
-
- //俱乐部会员
- struct CMD_GR_ClubUser
- {
- DWORD dwClubID;
- WORD wStartIndex;
- WORD wCount;
- };
-
- //俱乐部会员
- struct CMD_GR_ClubUser2
- {
- DWORD dwClubID;
- WORD wStartIndex;
- WORD wCount;
- BYTE cbKind;
- DWORD dwTemp;
- };
-
-
- //俱乐部协议
- struct CMD_GR_ClubProtocol
- {
- DWORD dwClubID;
- DWORD dwTemp;
- };
-
-
- //俱乐部协议
- struct CMD_GR_ClubProtocolAgree
- {
- DWORD dwClubID;
- BYTE cbAgree;
- DWORD dwTemp;
- };
-
- //俱乐部公告
- struct CMD_GR_ClubNotice
- {
- DWORD dwClubID;
- BYTE cbType;
- DWORD dwTemp;
- TCHAR Message[255];
- };
-
- //俱乐部公告
- struct CMD_GR_ClubNoticeACK
- {
- DWORD dwClubID;
- BYTE cbType;
- DWORD dwTemp;
- BYTE cbResult;
- TCHAR Message[255];
- };
-
- //俱乐部在线
- struct CMD_GR_ClubOnLine
- {
- DWORD dwClubID;
- WORD wStartIndex;
- WORD wCount;
- };
-
- //群主解散俱乐部房间
- struct CMD_GR_ClubDissolveRoom
- {
- DWORD dwClubID; //俱乐部id
- DWORD dwRoomID; //房间号
-
- //参数转成字符串
- bool ToString(TCHAR* pBuffer, int iLen, DWORD dUserID ,int& RoomID)
- {
- if (sizeof(CMD_GR_ClubDissolveRoom) * 16 > iLen) return false;
-
- #ifdef _UNICODE
- _snwprintf(pBuffer, iLen, TEXT("群主解散房间->俱乐部:%d,房间号:%d."), dwClubID, dwRoomID);
- #else
- _snwprintf(pBuffer, iLen, TEXT("群主解散房间->俱乐部:%d,房间号:%d."), dwClubID, dwRoomID);
- #endif
- //mylog::ToSet(pBuffer, iLen, dUserID);
- RoomID = dwRoomID;
- return true;
- }
- //打印通讯日志
- void ToShow(int dTablePrivate, DWORD dUserID)
- {
- TCHAR szBuffer[BUFFERLEN];
- ZeroMemory(szBuffer, BUFFERLEN * sizeof(TCHAR));
- int tempdTablePrivate = 0;
- if (ToString(szBuffer, BUFFERLEN, dUserID, tempdTablePrivate))
- {
- mylog::OutputString(szBuffer, tempdTablePrivate);
- }
- }
-
- };
- //俱乐部在线
- struct CMD_GR_ClubOnLineEx
- {
- DWORD dwClubID;
- WORD wStartIndex;
- WORD wCount;
- BYTE cbType; //全部 1,缺一人,2等待中,3游戏中
- };
-
- struct CMD_GR_ClubOnLineTable
- {
- BYTE cbType; // 0桌子配置,1玩家信息
- DWORD dwClubID;
- DWORD dwTableID;
- };
-
- struct CMD_GR_ClubOnLineTableCfAck
- {
- DWORD dwTableID;
- JN_GR_RoomListInfo Room;
- };
-
- struct CMD_GR_ClubOnLineTableAck
- {
- DWORD dwTableID;
- WORD wJushu; //当前局数
- WORD wTableState;//桌子状态
- PlayerInfo Userinfo[5]; //第5个为群主
- };
-
- struct CMD_S_MemberInfo
- {
- DWORD BangMaID;
- BYTE cbStaus;
- BYTE isHost;
- BYTE isOnline;
- DWORD dwUserID;
- TCHAR szName[32];
- TCHAR szHeadUrl[256];
- };
-
- struct CMD_S_MemberInfoEx
- {
- BYTE isHost;
- BYTE Agree;
- BYTE isOnline;
- DWORD dwUserID;
- };
-
- struct CMD_GR_ClubUser_Ack
- {
- BYTE cbHost;
- DWORD dwClubID;
- WORD wCount;
- CMD_S_MemberInfo csMemberInfo[20];
- };
-
- struct CMD_GR_ClubUser_Ack_Ex
- {
- WORD wStartIndex;
- WORD wCount;
- BYTE cbHost;
- DWORD dwClubID;
- WORD wMemCount;
- CMD_S_MemberInfoEx csMemberInfo[1000];
- };
-
-
- struct CMD_GR_ClubUser2_Ack
- {
- BYTE cbKind;
- DWORD tmp;
- BYTE cbHost;
- DWORD dwClubID;
- WORD wCount;
- CMD_S_MemberInfo csMemberInfo[20];
- };
-
- //俱乐部通知
- struct CMD_GR_ClubMessage
- {
- WORD wStartIndex;
- WORD wCount;
- };
-
- struct CMD_S_MessageInfo
- {
- WORD dType;
- TCHAR szContent[256];
- DWORD dtActionTime;
- };
-
- struct CMD_GR_ClubMessage_Ack
- {
- WORD wCount;
- CMD_S_MessageInfo CMD_S_MessageInfo[20];
- };
-
- //俱乐部记录
- struct CMD_GR_ClubRecord
- {
- DWORD dwClubID;
- WORD wStartIndex;
- WORD wCount;
- DWORD dtStartTime;
- DWORD dwPrivatetable;//把dtEndTime改成privatetable
- };
-
- struct CMD_S_RecordInfo
- {
- DWORD dwTableID;
- BYTE cbJuShu;
- BYTE cbPayWay;
- DWORD dwTableOwnerID;
- DWORD dtCreateTime;
- DWORD PlayerID[4];
- TCHAR PlayerName[4][32];
- };
-
- struct CMD_S_RecordInfoEX
- {
- CMD_S_RecordInfo Record;
- INT Score[4];
- DWORD Tmp[4];
- };
-
- struct CMD_GR_ClubRecord_Ack
- {
- WORD wCount;
- DWORD dwTableCount;
- DWORD dwZunShi;
- DWORD dwClubID;
- CMD_S_RecordInfo csRecordInfo[10];
- };
-
- struct CMD_GR_ClubRecord_Ack_EX
- {
- WORD wCount;
- DWORD dwTableCount;
- DWORD dwZunShi;
- DWORD dwClubID;
- CMD_S_RecordInfoEX csRecordInfo[10];
- };
-
- //俱乐部在线信息
- struct CMD_S_Table_Info
- {
- DWORD dwUserID;
- BYTE cbNum;
- TCHAR szHeadUrl[256];
- JN_GR_RoomListInfo room;
- };
-
- struct CMD_GR_ClubOnLine_Ack
- {
- DWORD dwClubID;
- WORD wOnLineUserNum;
- WORD wTableNum;
- WORD wUserMessageCount;
- WORD wTotalUserCount;
- WORD wNewUserCount;
- WORD wTableInfoCount;
- CMD_S_Table_Info csTableInfo[20];
- };
-
-
- //俱乐部在线信息
- struct CMD_S_Table_InfoEx
- {
- BYTE cbJushu;
- BYTE tableStatus;
- BYTE cbNum;
- BYTE tmp2;
- BYTE tmp3;
- BYTE tmp4;
- PlayerInfo player[5];
- JN_GR_RoomListInfo room;
- };
-
- struct CMD_GR_ClubOnLine_AckEx
- {
- DWORD dwClubID;
- WORD wQueTableNum; //缺一人桌数
- WORD wWaitTableNum; //等待中桌数
- WORD wPlayTableNmu; //游戏中桌数
- DWORD temp; //备用
- WORD wtotalTableNum; //桌子总数
- DWORD tableID[200]; //桌子ID数组;
- };
-
-
-
- //创建俱乐部
- //删除俱乐部
- //加入俱乐部
- //退出俱乐部
- struct CMD_GR_Club_Action_Ack1
- {
- BYTE Result;
- TCHAR Message[255];
- };
-
- //修改俱乐部
- //查看俱乐部
- struct CMD_GR_Club_Action_Ack2
- {
- BYTE Result;
- CMD_S_ClubInfo ClubInfo;
- TCHAR Message[255];
- };
-
- //俱乐部打样
- struct CMD_GR_Club_Make_A_Sample
- {
- DWORD dwClubID; //俱乐部id
- BYTE IsSample; //0没打样 1打样
- };
-
- struct CMD_GR_Club_Action_Ack1Add
- {
- BYTE Result; //1表示成功 0失败
- CMD_S_ClubAutoAddInfo AutoAddInfo; //额外玩法信息
- TCHAR Message[255]; //错误信息
-
- //参数转成字符串
- bool ToString(TCHAR* pBuffer, int iLen, DWORD dUserID)
- {
- if (sizeof(CMD_GR_Club_Action_Ack1Add) * 16 > iLen) return false;
-
- #ifdef _UNICODE
- _snwprintf(pBuffer, iLen, TEXT("俱乐部额外玩法自动开房响应->结果:%d,俱乐部:%d,额外玩法id序号:%d,状态:%d,错误信息:%s."), Result, AutoAddInfo.dwClubID, AutoAddInfo.cbWanfaId, AutoAddInfo.cbStatus, Message);
- #else
- _snprintf(pBuffer, iLen, TEXT("俱乐部额外玩法自动开房响应->结果:%d,俱乐部:%d,额外玩法id序号:%d,状态:%d,错误信息:%s."), Result, AutoAddInfo.dwClubID, AutoAddInfo.cbWanfaId, AutoAddInfo.cbStatus,Message);
- #endif
- //mylog::ToSet(pBuffer, iLen, dUserID);
- return true;
- }
- //打印通讯日志
- void ToShow(int dTablePrivate, DWORD dUserID)
- {
- TCHAR szBuffer[BUFFERLEN];
- ZeroMemory(szBuffer, BUFFERLEN * sizeof(TCHAR));
- if (ToString(szBuffer, BUFFERLEN, dUserID))
- {
- mylog::OutputString(szBuffer, dTablePrivate);
- }
- }
- };
-
- struct CMD_GR_Club_Action_Ack2Ex
- {
- BYTE TableChoiceChange;
- CMD_GR_Club_Action_Ack2 Ack2;
- };
-
- struct CMD_GR_Club_Action_Ack2Ex2
- {
- DWORD dwUserID;
- CMD_GR_Club_Action_Ack2 Ack2;
- };
-
- //同意
- //拒绝
- //强退
- struct CMD_GR_Club_Action_Ack3
- {
- DWORD dwClubID;
- BYTE Result;
- TCHAR Message[255];
- BYTE cbAgree;
- };
-
-
- //删除
- //查看
- //加入
- //退出
- struct CMD_GR_Club_Action1
- {
- DWORD dwClubID;
- };
-
-
- //同意
- //拒绝
- //强退
- struct CMD_GR_Club_Action2
- {
- DWORD dwClubID;
- DWORD dwUserID;
- BYTE cbIsAgree;
- };
-
- struct CMD_GR_UserData
- {
- BYTE newsFlag;
- DWORD dwUserId; //特定用户
- DWORD dwClubID;
- TCHAR Message[255];
- };
-
- struct CMD_GR_Table_Notify
- {
- BYTE type; //0,1,2更新修改删除
- DWORD tableID;
- DWORD clubID;
- };
-
-
- struct CMD_GR_TableOtherInfo_Notify
- {
- DWORD ClubID;
- DWORD Type;
- WORD totalUserNum; //俱乐部总人数 1
- WORD onlineUserNum; //在线人数 2
- WORD totalTableNum; //总桌子数 4
- WORD newMsgNum; //新消息数 8
- WORD newUserNum; //会员申请数 16
- WORD waitTableNum; //桌子等待中数 32
- WORD playTableNum; //桌子游戏中数
- };
- //俱乐部战绩查询
- struct CMD_GR_ClubExploits
- {
- DWORD dwClubID;
- DWORD PrivateTableID; //桌子号
- };
- //俱乐部对局数查询
- struct CMD_GR_ClubPlaygames
- {
- DWORD dwClubID; //俱乐部
- BYTE wType; //0顺序,1倒序
- WORD StartIndex; //开始索引
- BYTE mCount; //查询数据长度
- WORD wDateCount; //统计天数 1,3,7
- };
-
- //俱乐部对局数查询
- struct CMD_GR_ClubPlaygamesUser
- {
- DWORD dwClubID; //俱乐部
- BYTE wType; //0顺序,1倒序
- WORD StartIndex; //开始索引
- BYTE mCount; //查询数据长度
- WORD wDateCount; //统计天数 1,3,7
- DWORD UserID;
- };
-
- //俱乐部积分排序查询
- struct CMD_GR_ClubIntegral
- {
- DWORD dwClubID;//俱乐部
- WORD wType; //统计前10名或者后十名,0,1表示
- WORD wDateCount;//统计天数 1,3,7
- };
-
- //俱乐部积分排序查询
- struct CMD_GR_ClubIntegralUser
- {
- DWORD dwClubID;//俱乐部
- WORD wType; //统计前10名或者后十名,0,1表示
- WORD wDateCount;//统计天数 1,3,7
- DWORD UserID;
- };
-
-
- //////////////////////////////////////////////////////////////////////////////////
- //框架命令
-
- #define MDM_GF_FRAME 100 //框架命令
-
- //////////////////////////////////////////////////////////////////////////////////
- //框架命令
-
- //用户命令
- #define SUB_GF_GAME_OPTION 1 //游戏配置
- #define SUB_GF_USER_READY 2 //用户准备
- #define SUB_GF_LOOKON_CONFIG 3 //旁观配置
- #define SUB_GF_USER_SHUFFLE 4 //用户下一局洗牌
- #define SUB_GF_USER_SHUFFLE_ALL_ACK 5 //用户下一局洗牌 全部选择完回应
-
- //聊天命令
- #define SUB_GF_USER_CHAT 10 //语音广播
- #define SUB_GF_USER_EXPRESSION 11 //用户表情
-
- //游戏信息
- #define SUB_GF_GAME_STATUS 100 //游戏状态
- #define SUB_GF_GAME_SCENE 101 //游戏场景
- #define SUB_GF_LOOKON_STATUS 102 //旁观状态
- #define SUB_GF_GAME_SCENEING 103 //游戏中场景
- #define SUB_GF_GAME_USER_DISTANCE 104 //玩家距离
-
- //系统消息
- #define SUB_GF_SYSTEM_MESSAGE 200 //系统消息
- #define SUB_GF_ACTION_MESSAGE 201 //动作消息
-
- //////////////////////////////////////////////////////////////////////////////////
-
- //游戏配置
- struct CMD_GF_GameOption
- {
- BYTE cbAllowLookon; //旁观标志
- DWORD dwFrameVersion; //框架版本
- DWORD dwClientVersion; //游戏版本
-
- //参数转成字符串
- bool ToString(TCHAR* pBuffer, int iLen, DWORD dUserID)
- {
- if (sizeof(CMD_GF_GameOption) * 16 > iLen) return false;
-
- #ifdef _UNICODE
- _snwprintf(pBuffer, iLen, TEXT("游戏配置->旁观标志:%d,框架版本:%d,游戏版本:%d.")
- , cbAllowLookon, dwFrameVersion, dwClientVersion);
- #else
- _snprintf(pBuffer, iLen, TEXT("游戏配置->旁观标志:%d,框架版本:%d,游戏版本:%d.")
- , cbAllowLookon, dwFrameVersion, dwClientVersion);
- #endif
- //mylog::ToSet(pBuffer, iLen, dUserID);
- return true;
- }
- //名字
- bool ToName(TCHAR* pBuffer, int iLen)
- {
- TCHAR szTemp[] = _T("游戏配置");
-
- if (TSTRINGLEN(szTemp) > iLen) return false;
-
- StringCchCopy(pBuffer, iLen, szTemp);
-
- return true;
- }
- //打印通讯日志
- void ToShow(int dTablePrivate, DWORD dUserID)
- {
- TCHAR szBuffer[BUFFERLEN];
- ZeroMemory(szBuffer, BUFFERLEN * sizeof(TCHAR));
- if (ToString(szBuffer, BUFFERLEN, dUserID))
- {
- mylog::OutputString(szBuffer, dTablePrivate);
- }
- }
- };
-
- //旁观配置
- struct CMD_GF_LookonConfig
- {
- DWORD dwUserID; //用户标识
- BYTE cbAllowLookon; //允许旁观
- };
-
- //旁观状态
- struct CMD_GF_LookonStatus
- {
- BYTE cbAllowLookon; //允许旁观
- };
-
- //游戏环境
- struct CMD_GF_GameStatus
- {
- BYTE cbGameStatus; //游戏状态
- BYTE cbAllowLookon; //旁观标志
- //参数转成字符串
- bool ToString(TCHAR* pBuffer, int iLen, DWORD dUserID)
- {
- if (sizeof(CMD_GF_GameStatus) * 16 > iLen) return false;
-
- #ifdef _UNICODE
- _snwprintf(pBuffer, iLen, TEXT("游戏环境->游戏状态:%d,旁观标志:%d.")
- // ReSharper disable CppPrintfExtraArg
- ,cbGameStatus, cbAllowLookon);
- // ReSharper restore CppPrintfExtraArg
- #else
- _snprintf(pBuffer, iLen, TEXT("游戏环境->游戏状态:%d,旁观标志:%d.")
- , cbGameStatus, cbAllowLookon);
- #endif
- //mylog::ToSet(pBuffer, iLen, dUserID);
- return true;
- }
- //名字
- bool ToName(TCHAR* pBuffer, int iLen)
- {
- TCHAR szTemp[] = _T("游戏环境");
-
- if (TSTRINGLEN(szTemp) > iLen) return false;
-
- StringCchCopy(pBuffer, iLen, szTemp);
-
- return true;
- }
- //打印通讯日志
- void ToShow(int dTablePrivate, DWORD dUserID)
- {
- TCHAR szBuffer[BUFFERLEN];
- ZeroMemory(szBuffer, BUFFERLEN * sizeof(TCHAR));
- if (ToString(szBuffer, BUFFERLEN, dUserID))
- {
- mylog::OutputString(szBuffer, dTablePrivate);
- }
- }
-
- };
- //s->c 用户下一局洗牌 全部选择完回应
- struct USER_SHUFFLE_ALL_ACK
- {
- BYTE cbCount;// 人数
- TCHAR dwUserName[4][32];//昵称
- };
- //用户聊天
- struct CMD_GF_C_UserChat
- {
- WORD wChatLength; //信息长度
- DWORD dwChatColor; //信息颜色
- DWORD dwTargetUserID; //目标用户
- TCHAR szChatString[LEN_USER_CHAT]; //聊天信息
- };
-
- //用户聊天
- struct CMD_GF_S_UserChat
- {
- WORD wChatLength; //信息长度
- DWORD dwChatColor; //信息颜色
- DWORD dwSendUserID; //发送用户
- DWORD dwTargetUserID; //目标用户
- TCHAR szChatString[LEN_USER_CHAT]; //聊天信息
- };
-
- //用户表情
- struct CMD_GF_C_UserExpression
- {
- WORD wItemIndex; //表情索引
- DWORD dwTargetUserID; //目标用户
- };
-
- //用户道具
- struct CMD_GF_S_UserExpression
- {
- WORD wItemIndex; //表情索引
- DWORD dwSendUserID; //发送用户
- DWORD dwTargetUserID; //目标用户
- };
-
- //用户距离
- struct CMD_GF_UserDistance
- {
- BYTE cbOperLocation[4]; //是否开启定位 0未开启 1开启
- int dwUserDistance[6]; //玩家距离
- };
-
- //////////////////////////////////////////////////////////////////////////////////
- //游戏命令
-
- #define MDM_GF_GAME 200 //游戏命令
-
-
-
-
-
- //笛卡尔坐标系
- typedef struct tagCRDCARTESIAN{
-
- double x;
-
- double y;
-
- double z;
-
- }CRDCARTESIAN;
- typedef CRDCARTESIAN *PCRDCARTESIAN;
-
- //大地坐标系
- typedef struct tagCRDGEODETIC{
-
- double longitude;
-
- double latitude;
-
- double height;
-
- }CRDGEODETIC;
- typedef CRDGEODETIC *PCRDGEODETIC;
- //////////////////////////////////////////////////////////////////////////////////
- //携带信息
-
- //其他信息
- #define DTP_GR_TABLE_PASSWORD 1 //桌子密码
-
- //用户属性
- #define DTP_GR_NICK_NAME 10 //用户昵称
- #define DTP_GR_GROUP_NAME 11 //社团名字
- #define DTP_GR_UNDER_WRITE 12 //个性签名
-
- //附加信息
- #define DTP_GR_USER_NOTE 20 //用户备注
- #define DTP_GR_CUSTOM_FACE 21 //自定头像
-
- //////////////////////////////////////////////////////////////////////////////////
-
- //请求错误
- #define REQUEST_FAILURE_NORMAL 0 //常规原因
- #define REQUEST_FAILURE_NOGOLD 1 //金币不足
- #define REQUEST_FAILURE_NOSCORE 2 //积分不足
- #define REQUEST_FAILURE_PASSWORD 3 //密码错误
-
- //////////////////////////////////////////////////////////////////////////////////
-
- //通道检测
- #define MDM_GR_CHECK 999 //通道检测
-
- ///+++新版本场馆列表 2018-3-21
- #define SUB_GR_VENUE_C_INFO_LIST2 5 ///---请求 拉取场馆信息列表
- #define SUB_GR_VENUE_S_INFO_LIST2 6 ///---应答 (登录成功,主动下行金币场馆列表信息)
-
- #define SUB_GR_VENUE_C_GAME_SERVER2 7 ///---请求 拉取场馆游戏服务器(返回最优的那个)
- #define SUB_GR_VENUE_S_GAME_SERVER2 8 ///---应答
-
- ///+++场馆命令
- #define MDM_GR_VENUE 333
-
- #define SUB_GR_VENUE_C_GAME_SERVER 1 ///---请求 拉取场馆游戏服务器(返回最优的那个)
- #define SUB_GR_VENUE_S_GAME_SERVER 2 ///---应答
- #define SUB_GR_VENUE_C_INFO_LIST 3 ///---请求 拉取场馆信息列表
- #define SUB_GR_VENUE_S_INFO_LIST 4 ///---应答 (登录成功,主动下行金币场馆列表信息)
-
- ///+++大转盘命令
- #define MDM_GF_ROULETEE 400
-
- #define SUB_GF_ROULETEE_CONFIG 1 ///---轮盘奖品配置请求
- #define SUB_GF_ROULETEE_CONFIG_ACK 2 ///---轮盘奖品配置结果
-
- #define SUB_GF_ROULETEE_LOTTERY 3 ///---轮盘抽奖请求
- #define SUB_GF_ROULETEE_LOTTERY_ACK 4 ///---轮盘抽奖结果
-
- #define SUB_GF_LOTTERY_INFO 5 ///---查询抽奖信息
- #define SUB_GF_LOTTERY_INFO_ACK 6 ///---查询抽奖信息的结果
-
- #define SUB_GF_LOTTERY_HIS 7 ///---查询抽奖历史记录
- #define SUB_GF_LOTTERY_HIS_ACK 8 ///---查询抽奖历史记录的结果
- #define SUB_GF_LOTTERY_HIS_ACKEX 9 ///---查询抽奖历史记录的结果(个人)
- #define SUB_GF_LOTTERY_AWARD 10 //手动领奖
- #define SUB_GF_LOTTERY_ADDRESS 11 //注册收件信息
-
- //注册收件信息
- struct CMD_GR_LotteryAddr
- {
- TCHAR szAddressName[20]; //收件人姓名
- TCHAR szAddress[128]; //收件人地址IP
- TCHAR szAddrPhoneNum[11]; //收件人手机号码
-
- CMD_GR_LotteryAddr()
- {
- memset(this, 0, sizeof(this));
- }
-
- };
-
- //客户端发送 我原封不动回复
- struct CHECK
- {
- DWORD connkey;
- DWORD dCheckID; //检测编号
- DWORD dTime[4]; //时间戳 16字节
- };
-
- //分享奖励钻石
- struct CMD_GR_ShareAwardBean
- {
- DWORD dwUserID; //用户ID
- TCHAR szClientIp[32]; //客户端的IP
-
- CMD_GR_ShareAwardBean()
- {
- memset(this, 0, sizeof(this));
- }
-
- };
-
- //领取胜局抽奖
- struct CMD_GR_GetWinDrawAward
- {
- DWORD dwUserID; //用户ID
- WORD wWinDrawAwardConfigID; // 领取的 胜局奖励配置ID
- TCHAR szClientIp[32]; //客户端的IP
-
- CMD_GR_GetWinDrawAward()
- {
- memset(this, 0, sizeof(this));
- }
-
- };
- //根据微信unionId获取会员绑定代理 处理结果
- struct CMD_GR_GetDaiLiSaoMaResult {
- DWORD dwUserID; //用户ID
- DWORD dwBingID; //BingID
- };
- //s->c 3-190
- struct USER_SHUFFLE_ZUANSHI
- {
- DWORD dwUserZuanShi; //请求用户钻石
- DWORD dwNeedZuanshi; //洗牌所需钻石
- };
- #pragma pack()
-
- #endif
|