|
- #include "stdafx.h"
- #include "Commend.h"
- #include <strsafe.h>
- #include <shlwapi.h>
- #include "AttemperEngineSink.h"
- #include <locale>//头文件
- #include "ShowTime.h"
- #include "..\..\..\Games\Normal\松滋晃晃血流\消息定义\CMD_Sparrow.h"
-
- #ifdef _DEBUG
- int Commend::m_iLogLevel = Commend::ENUM_LOG_LEVEL_DEBUG;
- #else
- int Commend::m_iLogLevel = Commend::ENUM_LOG_LEVEL_RUN;
- #endif
-
- CString Commend::m_Patch;
- HANDLE Commend::m_hThread = NULL;
- unsigned Commend::m_uiThreadID = 0;
- bool Commend::m_bRun = true;// 关闭日志写入
-
- Commend::enLogStatus Commend::m_enStatus = Commend::ENUM_LOG_INIT;
-
- std::unordered_map<DWORD, CString> Commend::Log;
-
- Commend::Commend(void)
- {
- //程序目录
- TCHAR szPath[MAX_PATH];
-
- HMODULE hModule = NULL;
- GetModuleHandleEx(GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS,
- (TCHAR*)&LogRuns,//可以是任何函数,全局变量等的地址
- &hModule);
-
- if (!GetModuleFileName(hModule, szPath, MAX_PATH))
- {
- //OutputDebugString(_T("【进程】GetModuleFileName失败"));
- return;
- }
-
- CString strDir = szPath;
- CString strLog;
- int nPos = strDir.ReverseFind(_T('\\'));
- if (nPos == -1)
- {
- //OutputDebugString(_T("【进程】GetModuleFileName取得信息异常。"));
- return;
- }
- strDir = strDir.Mid(0, nPos);
-
- m_Patch.Format(_T("%s\\%s"), strDir, _T("log\\"));
-
- if (m_hThread != NULL) return;
- m_hThread = (HANDLE)_beginthreadex(NULL, 0, &Commend::LogRuns, NULL, 0, &m_uiThreadID);
-
- }
-
- Commend::~Commend(void)
- {
- m_bRun = false;
- m_enStatus = ENUM_LOG_EXITING;
-
- for (int i = 0; i < 50; i++)
- {
- Sleep(3000);
- if (m_enStatus == ENUM_LOG_EXITED)
- {
- return;
- }
- }
- }
- CCriticalSection Commend::m_CriticalSection;
-
- //添加日志
- void Commend::AddLog(DWORD dPriateTable, CString LogText)
- {
- CWHDataLocker lock(m_CriticalSection);//
- if (Log.find(dPriateTable) == Log.end())
- {
- Log[dPriateTable] = LogText;
- }
- else
- {
- CString csTest = Log[dPriateTable];
- Log[dPriateTable] = csTest + LogText;
- }
- }
-
- //获取日志
- std::unordered_map<DWORD, CString> Commend::GetLog()
- {
- CWHDataLocker lock(m_CriticalSection);//
- std::unordered_map<DWORD, CString> Ret = Log;
- Log.clear();
- return Ret;
- }
-
- //参数转成字符串
- CString Commend::ToString(WORD wMainCmdID, WORD wCmdTable, const void* pBuffer)
- {
- CString csRet = _T("");
-
- csRet = ToName(wMainCmdID, wCmdTable);
- if (csRet == _T("")) return csRet;
-
- switch (wMainCmdID)
- {
- case MDM_GR_USER: //用户命令
- {
- switch (wCmdTable)
- {
- case SUB_GR_USER_GET_BANGDING: //绑定代理
- {
- return CString(_TEXT("绑定代理"));
- }
- case SUB_GR_USER_GET_DINGDAN: //请求订单
- {
- return CString(_TEXT("请求订单"));
- }
- case SUB_GR_USER_GET_DINGDAN_NEW: //请求订单
- {
- return CString(_TEXT("新方式请求订单"));
- }
- case SUB_GR_USER_GET_DINGDANLIST: //获取购买记录
- {
- return CString(_TEXT("获取购买记录"));
- }
- case SUB_GR_USER_GETADD_INFO: //获取加入房间的信息
- {
- return CString(_TEXT("获取加入房间的信息"));
- }
- case SUB_GR_USER_RULE: //用户规则
- {
- return CString(_TEXT(""));
- }
- case SUB_GR_USER_STATUS: //用户状态
- {
- TCHAR szTemp[BUFFERLEN];
- ZeroMemory(szTemp, BUFFERLEN*sizeof(TCHAR));
- ((CMD_GR_LogonMobile*)pBuffer)->ToString(szTemp, BUFFERLEN, 0);
- return CString(szTemp);
- }
- case SUB_GR_USER_LOOKON: //用户旁观
- {
- return CString(_TEXT("用户命令->用户旁观"));
- }
- case SUB_GR_USER_SEAT_ACK:
- {
- TCHAR szTemp[BUFFERLEN];
- ZeroMemory(szTemp, BUFFERLEN*sizeof(TCHAR));
- if (pBuffer) ((CMD_GR_UserSitAck*)pBuffer)->ToString(szTemp, BUFFERLEN, 0);
- return CString(szTemp);
- }
- case SUB_GR_USER_SITDOWN: //用户坐下
- {
- TCHAR szTemp[BUFFERLEN];
- ZeroMemory(szTemp, BUFFERLEN*sizeof(TCHAR));
- ((CMD_GR_UserSitDown*)pBuffer)->ToString(szTemp, BUFFERLEN, 0);
- return CString(szTemp);
- }
- case SUB_GR_USER_STANDUP: //用户起立
- {
- TCHAR szTemp[BUFFERLEN];
- ZeroMemory(szTemp, BUFFERLEN*sizeof(TCHAR));
- ((CMD_GR_UserStandUp*)pBuffer)->ToString(szTemp, BUFFERLEN, 0);
- return CString(szTemp);
- }
- case SUB_GR_USER_CHAT: //用户聊天
- {
- return CString(_TEXT("用户命令->用户聊天"));
- }
- case SUB_GR_USER_EXPRESSION: //用户表情
- {
- TCHAR szTemp[BUFFERLEN];
- ZeroMemory(szTemp, BUFFERLEN*sizeof(TCHAR));
- ((CMD_GR_C_UserExpression*)pBuffer)->ToString(szTemp, BUFFERLEN, 0);
- return CString(szTemp);
- }
- case SUB_GR_WISPER_CHAT: //用户私聊
- {
- return CString(_TEXT("用户命令->用户私聊"));
- }
- case SUB_GR_WISPER_EXPRESSION: //私聊表情
- {
- TCHAR szTemp[BUFFERLEN];
- ZeroMemory(szTemp, BUFFERLEN*sizeof(TCHAR));
- ((CMD_GR_C_WisperExpression*)pBuffer)->ToString(szTemp, BUFFERLEN, 0);
- return CString(szTemp);
- }
- //case SUB_GR_PROPERTY_BUY: //购买道具
- //{
- // return CString(_TEXT("用户命令->购买道具"));
- //}
- case SUB_GR_PROPERTY_TRUMPET: //喇叭道具
- {
- return CString(_TEXT("用户命令->喇叭道具"));
- }
- //case SUB_GR_USER_INVITE_REQ: //邀请用户
- //{
- // return CString(_TEXT("用户命令->邀请用户"));
- //}
- //case SUB_GR_USER_REPULSE_SIT: //拒绝厌友
- //{
- // return CString(_TEXT("用户命令->拒绝厌友"));
- //}
- //case SUB_GR_USER_KICK_USER: //踢出用户
- //{
- // return CString(_TEXT("用户命令->踢出用户"));
- //}
- case SUB_GR_USER_INFO_REQ: //请求用户信息
- {
- TCHAR szTemp[BUFFERLEN];
- ZeroMemory(szTemp, BUFFERLEN*sizeof(TCHAR));
- ((CMD_GR_UserInfoReq*)pBuffer)->ToString(szTemp, BUFFERLEN, 0);
- return CString(szTemp);
- }
- case SUB_GR_USER_CHAIR_REQ: //请求更换位置
- {
- return CString(_TEXT("用户命令->请求更换位置"));
- }
- case SUB_GR_USER_CHAIR_INFO_REQ: //请求椅子用户信息
- {
- return CString(_TEXT("用户命令->请求椅子用户信息"));
- }
- case SUB_GR_USER_GET_GAME_SCORE_RECORD_LIST:
- {
- //OnTCPSocketGetUserGameTempScoreRankList(pData, wDataSize, dwSocketID);
- return CString(_TEXT("用户命令->获取战绩列表"));
- }
- case SUB_GR_USER_GET_GAME_SCORE_RECORD_DETAIL_INFO:
- {
- return CString(_TEXT("用户命令->SUB_GR_USER_GET_GAME_SCORE_RECORD_DETAIL_INFO"));
- }
- case SUB_GR_USER_GET_GAME_SCORE_RECORD_REPLAY:
- {
- return CString(_TEXT("用户命令->获取回放记录"));
- }
- case SUB_GR_USER_GET_GAME_TEMP_SCORE_RANKLIST:
- {
- return CString(_TEXT("用户命令->获取临时积分排行榜"));
- }
- case SUB_GR_USER_CHECK_NAME:
- {
- return CString(_TEXT("用户命令->实名认证"));
- }
- case SUB_GR_USER_CHECK_NAME_QUERY:
- {
- return CString(_TEXT("用户命令->实名认证查询"));
- }
- case SUB_GR_USER_CREATE://创建房间
- {
- TCHAR szTemp[BUFFERLEN];
- ZeroMemory(szTemp, BUFFERLEN*sizeof(TCHAR));
- ((CMD_GR_UserSitDown*)pBuffer)->ToString(szTemp, BUFFERLEN, 0);
- return CString(szTemp); }
- case SUB_GR_USER_ADD: //加入房间
- {
- TCHAR szTemp[BUFFERLEN];
- ZeroMemory(szTemp, BUFFERLEN*sizeof(TCHAR));
- ((CMD_GR_UserJoin*)pBuffer)->ToString(szTemp, BUFFERLEN, 0);
- return CString(szTemp);
- }
- case SUB_GR_USER_SEAT: //玩家坐下请求
- {
- TCHAR szTemp[BUFFERLEN];
- ZeroMemory(szTemp, BUFFERLEN*sizeof(TCHAR));
- ((CMD_GR_UserSeat*)pBuffer)->ToString(szTemp, BUFFERLEN, 0);
- return CString(szTemp);
- }
- case SUB_GR_USER_ENTER://用户进入
- {
- TCHAR szTemp[BUFFERLEN * 3];
- ZeroMemory(szTemp, BUFFERLEN * 3 * sizeof(TCHAR));
- if (pBuffer) ((tagMobileUserInfoHead*)pBuffer)->ToString(szTemp, BUFFERLEN * 3, 0);
- return CString(szTemp);
- }
- case SUB_GR_USER_MYROOM_UPDATA:
- {
- //TCHAR szTemp[BUFFERLEN];
- //ZeroMemory(szTemp, BUFFERLEN*sizeof(TCHAR));
- //if (pBuffer) ((JN_GR_RoomListEx*)pBuffer)->ToString(szTemp, BUFFERLEN, 0);
- //return CString(szTemp);
- }
- case SUB_GR_USER_ADDCREATE_TABLE_ALL:
- {
- TCHAR szTemp[BUFFERLEN];
- ZeroMemory(szTemp, BUFFERLEN*sizeof(TCHAR));
- if (pBuffer) ((JN_GR_RoomListGroupEx*)pBuffer)->ToString(szTemp, BUFFERLEN, 0);
- return CString(szTemp);
- }
- case SUB_GR_USER_ADDCREATE_TABLE_ID:
- {
- TCHAR szTemp[BUFFERLEN];
- ZeroMemory(szTemp, BUFFERLEN*sizeof(TCHAR));
- if (pBuffer) ((CMD_GR_UserSitDownAckEx*)pBuffer)->ToString(szTemp, BUFFERLEN, 0);
- return CString(szTemp);
- }
- case SUB_GR_USER_BEAN:
- {
- TCHAR szTemp[BUFFERLEN];
- ZeroMemory(szTemp, BUFFERLEN*sizeof(TCHAR));
- if (pBuffer) ((CMD_GR_UserBean*)pBuffer)->ToString(szTemp, BUFFERLEN, 0);
- return CString(szTemp);
- }
- default:
- {
- TCHAR szBuffer[BUFFERLEN];
- ZeroMemory(szBuffer, BUFFERLEN * sizeof(TCHAR));
- //StringCchCopy(szBuffer, BUFFERLEN, _T("用户命令->未知协议"));
- _snwprintf(szBuffer, BUFFERLEN, _T("[%d:%d]"), wMainCmdID, wCmdTable);
- mylog::ToSet(szBuffer, BUFFERLEN, 0);
- return CString(szBuffer);
- }
- }
- }
- case MDM_GR_LOGON: //登录命令
- {
- switch (wCmdTable)
- {
- case SUB_GR_LOGON_USERID: //I D 登录
- {
- return CString(_TEXT("登录命令->I D 登录"));
- }
- case SUB_GR_LOGON_MOBILE: //手机登录
- {
- TCHAR szTemp[BUFFERLEN];
- ZeroMemory(szTemp, BUFFERLEN*sizeof(TCHAR));
- if (pBuffer) ((CMD_GR_LogonMobile*)pBuffer)->ToString(szTemp, BUFFERLEN, 0);
- return CString(szTemp);
- }
- case SUB_GR_LOGON_ACCOUNTS: //帐号登录
- {
- TCHAR szTemp[BUFFERLEN];
- ZeroMemory(szTemp, BUFFERLEN*sizeof(TCHAR));
- if (pBuffer) ((CMD_GR_LogonAccounts*)pBuffer)->ToString(szTemp, BUFFERLEN, 0);
- return CString(szTemp);
- }
- case SUB_GR_LOGON_FINISH://登陆完成
- {
- TCHAR szTemp[BUFFERLEN];
- ZeroMemory(szTemp, BUFFERLEN*sizeof(TCHAR));
- if (pBuffer) ((CMD_GR_LogonFinish*)pBuffer)->ToString(szTemp, BUFFERLEN, 0);
- return CString(szTemp);
- }
- default:
- {
- TCHAR szBuffer[BUFFERLEN];
- ZeroMemory(szBuffer, BUFFERLEN * sizeof(TCHAR));
- //StringCchCopy(szBuffer, BUFFERLEN, _T("登陆命令->未知协议"));
- _snwprintf(szBuffer, BUFFERLEN, _T("[%d:%d]"), wMainCmdID, wCmdTable);
- mylog::ToSet(szBuffer, BUFFERLEN, 0);
- return CString(szBuffer);
- }
- }
- }
- case MDM_GF_GAME: //游戏命令
- {
- //return CString(_T("游戏内部指令"));
-
- TCHAR szBuffer[BUFFERLEN];
- ZeroMemory(szBuffer, BUFFERLEN * sizeof(TCHAR));
- _snwprintf(szBuffer, BUFFERLEN, _T("[%d:%d]"), wMainCmdID, wCmdTable);
- mylog::ToSet(szBuffer, BUFFERLEN, 0);
- return CString(szBuffer);
- }
- case MDM_GF_FRAME: //框架命令
- {
- switch (wCmdTable)
- {
- case SUB_GF_GAME_OPTION: //游戏配置
- {
- TCHAR szTemp[BUFFERLEN];
- ZeroMemory(szTemp, BUFFERLEN*sizeof(TCHAR));
- if (pBuffer) ((CMD_GF_GameOption*)pBuffer)->ToString(szTemp, BUFFERLEN, 0);
- return CString(szTemp);
- }
- case SUB_GF_USER_READY: //用户准备
- {
- return CString(_TEXT("框架命令->用户准备"));
- }
- case SUB_GF_USER_CHAT: //用户聊天
- {
- return CString(_TEXT("框架命令->用户聊天"));
- }
- case SUB_GF_USER_EXPRESSION: //用户表情
- {
- TCHAR szTemp[BUFFERLEN];
- ZeroMemory(szTemp, BUFFERLEN*sizeof(TCHAR));
- if (pBuffer) ((CMD_GR_S_UserExpression*)pBuffer)->ToString(szTemp, BUFFERLEN, 0);
- return CString(szTemp);
- }
- case SUB_GF_LOOKON_CONFIG: //旁观配置
- {
- return CString(_TEXT("框架命令->旁观配置"));
- }
- default:
- {
- TCHAR szBuffer[BUFFERLEN];
- ZeroMemory(szBuffer, BUFFERLEN * sizeof(TCHAR));
- _snwprintf(szBuffer, BUFFERLEN, _T("[%d:%d]"), wMainCmdID, wCmdTable);
- mylog::ToSet(szBuffer, BUFFERLEN, 0);
- return CString(szBuffer);
- }
- }
- }
- //case MDM_GR_INSURE: //银行命令
- //case MDM_GR_TASK: //任务命令
- //case MDM_GR_EXCHANGE: //兑换命令
- case MDM_GR_MANAGE: //管理命令
- {
- switch (wCmdTable)
- {
- case SUB_GR_QUERY_OPTION: //查询设置
- {
- return CString(_TEXT("管理命令->查询设置"));
- }
- case SUB_GR_OPTION_SERVER: //房间设置
- {
- return CString(_TEXT("管理命令->房间设置"));
- }
- case SUB_GR_KILL_USER: //踢出用户
- {
- return CString(_TEXT("管理命令->踢出用户"));;// OnTCPNetworkSubManagerKickUser(pData, wDataSize, dwSocketID);
- }
- case SUB_GR_LIMIT_USER_CHAT: //限制聊天
- {
- return CString(_TEXT("管理命令->限制聊天"));;//OnTCPNetworkSubLimitUserChat(pData, wDataSize, dwSocketID);
- }
- case SUB_GR_KICK_ALL_USER: //踢出用户
- {
- return CString(_TEXT("管理命令->踢出用户"));;//OnTCPNetworkSubKickAllUser(pData, wDataSize, dwSocketID);
- }
- case SUB_GR_SEND_MESSAGE: //发布消息
- {
- return CString(_TEXT("管理命令->发布消息"));
- }
- case SUB_GR_DISMISSGAME: //管理员强制解散游戏
- {
- return CString(_TEXT("管理命令->管理员强制解散游戏"));
- }
- case SUB_GR_DELETE_PRIVATE_TABLE_REQ: //请求删除私有房间
- {
- TCHAR szTemp[BUFFERLEN];
- ZeroMemory(szTemp, BUFFERLEN*sizeof(TCHAR));
- if (pBuffer) ((CMD_GR_DELETE_PRIVATE_ROOM_REQ*)pBuffer)->ToString(szTemp, BUFFERLEN, 0);
- return CString(szTemp);
- }
- case SUB_GR_DELETE_PRIVATE_TABLE_RESP://请求删除私有房间响应消息
- {
- TCHAR szTemp[BUFFERLEN];
- ZeroMemory(szTemp, BUFFERLEN*sizeof(TCHAR));
- if (pBuffer) ((CMD_GR_DELETE_PRIVATE_ROOM_RESP*)pBuffer)->ToString(szTemp, BUFFERLEN, 0);
- return CString(szTemp);
- }
- case SUB_GR_SEND_WARNING: //警告用户
- {
- TCHAR szTemp[BUFFERLEN];
- ZeroMemory(szTemp, BUFFERLEN*sizeof(TCHAR));
- if (pBuffer) ((CMD_GR_SendWarning*)pBuffer)->ToString(szTemp, BUFFERLEN, 0);
- return CString(szTemp);
- }
- default:
- {
- TCHAR szBuffer[BUFFERLEN];
- ZeroMemory(szBuffer, BUFFERLEN * sizeof(TCHAR));
- _snwprintf(szBuffer, BUFFERLEN, _T("[%d:%d]"), wMainCmdID, wCmdTable);
- mylog::ToSet(szBuffer, BUFFERLEN, 0);
- return CString(szBuffer);
- }
- }
- }
- case MDM_GR_MATCH: //比赛命令
- {
-
- }
- default:
- {
- TCHAR szBuffer[BUFFERLEN];
- ZeroMemory(szBuffer, BUFFERLEN * sizeof(TCHAR));
- _snwprintf(szBuffer, BUFFERLEN, _T("[%d:%d]"), wMainCmdID, wCmdTable);
- mylog::ToSet(szBuffer, BUFFERLEN, 0);
- return CString(szBuffer);
- }
- }
-
- return csRet;
- }
-
- //名字
- CString Commend::ToName(WORD wMainCmdID, WORD wCmdTable, void* pGetGameString)
- {
- CString csRet = _T("");
- switch (wMainCmdID)
- {
- case MDM_GR_USER: //用户命令
- {
- switch (wCmdTable)
- {
- case SUB_GR_USER_GET_BANGDING: //绑定代理
- {
- return CString(_TEXT("绑定代理"));
- }
- case SUB_GR_USER_QINGQIUJIESAN:
- {
- return CString(_TEXT("用户命令->房主请求解散"));
- }
- case SUB_GR_USER_GET_BEAN:
- {
- return CString(_TEXT("用户命令->请求元宝"));
- }
- case SUB_GR_USER_RULE: //用户规则
- {
- return CString(_TEXT("用户命令->用户规则"));
- }
- case SUB_GR_USER_SEAT_ACK:
- {
- return CString(_TEXT("用户命令->玩家坐下请求应答"));
- }
- case SUB_GR_USER_STATUS: //用户状态
- {
- return CString(_TEXT("用户命令->用户状态"));
- }
- case SUB_GR_USER_LOOKON: //用户旁观
- {
- return CString(_TEXT("用户命令->用户旁观"));
- }
- case SUB_GR_USER_SITDOWN: //用户坐下
- {
- return CString(_TEXT("用户命令->用户坐下"));
- }
- case SUB_GR_USER_STANDUP: //用户起立
- {
- return CString(_TEXT("用户命令->用户起立"));
- }
- case SUB_GR_USER_CHAT: //用户聊天
- {
- return CString(_TEXT("用户命令->用户聊天"));
- }
- case SUB_GR_USER_EXPRESSION: //用户表情
- {
- return CString(_TEXT("用户命令->用户表情"));
- }
- case SUB_GR_WISPER_CHAT: //用户私聊
- {
- return CString(_TEXT("用户命令->用户私聊"));
- }
- case SUB_GR_WISPER_EXPRESSION: //私聊表情
- {
- return CString(_TEXT("用户命令->私聊表情"));
- }
- //case SUB_GR_PROPERTY_BUY: //购买道具
- //{
- // return CString(_TEXT("用户命令->购买道具"));
- //}
- case SUB_GR_PROPERTY_TRUMPET: //喇叭道具
- {
- return CString(_TEXT("用户命令->喇叭道具"));
- }
- //case SUB_GR_USER_INVITE_REQ: //邀请用户
- //{
- // return CString(_TEXT("用户命令->邀请用户"));
- //}
- //case SUB_GR_USER_REPULSE_SIT: //拒绝厌友
- //{
- // return CString(_TEXT("用户命令->拒绝厌友"));
- //}
- //case SUB_GR_USER_KICK_USER: //踢出用户
- //{
- // return CString(_TEXT("用户命令->踢出用户"));
- //}
- case SUB_GR_USER_INFO_REQ: //请求用户信息
- {
- return CString(_TEXT("用户命令->请求用户信息"));
- }
- case SUB_GR_USER_CHAIR_REQ: //请求更换位置
- {
- return CString(_TEXT("用户命令->请求更换位置"));
- }
- case SUB_GR_USER_CHAIR_INFO_REQ: //请求椅子用户信息
- {
- return CString(_TEXT("用户命令->请求椅子用户信息"));
- }
- case SUB_GR_USER_GET_GAME_SCORE_RECORD_LIST:
- {
- //OnTCPSocketGetUserGameTempScoreRankList(pData, wDataSize, dwSocketID);
- return CString(_TEXT("用户命令->SUB_GR_USER_GET_GAME_SCORE_RECORD_LIST"));
- }
- case SUB_GR_USER_GET_GAME_SCORE_RECORD_DETAIL_INFO:
- {
- return CString(_TEXT("用户命令->SUB_GR_USER_GET_GAME_SCORE_RECORD_DETAIL_INFO"));
- }
- case SUB_GR_USER_GET_GAME_SCORE_RECORD_REPLAY:
- {
- return CString(_TEXT("用户命令->SUB_GR_USER_GET_GAME_SCORE_RECORD_REPLAY"));
- }
- case SUB_GR_USER_GET_GAME_TEMP_SCORE_RANKLIST:
- {
- return CString(_TEXT("用户命令->SUB_GR_USER_GET_GAME_TEMP_SCORE_RANKLIST"));
- }
- case SUB_GR_USER_CREATE://创建房间
- {
- return CString(_TEXT("用户命令->创建房间"));
- }
- case SUB_GR_USER_ADD: //加入房间
- {
- return CString(_TEXT("用户命令->加入房间"));
- }
- case SUB_GR_USER_SEAT: //玩家坐下请求
- {
- return CString(_TEXT("用户命令->玩家坐下请求"));
- }
- case SUB_GR_USER_MYROOM_UPDATA: //玩家坐下请求
- {
- return CString(_TEXT("用户命令->玩家拥有的房间状态更新"));
- }
- case SUB_GR_USER_ADDCREATE_TABLE_ALL:
- {
- return CString(_TEXT("用户命令->通知创建的所有房间列表"));
- }
- case SUB_GR_USER_ADDCREATE_TABLE_ID:
- {
- return CString(_TEXT("用户命令->创建加入房间应答"));
- }
- case SUB_GR_USER_BEAN:
- {
- return CString(_TEXT("用户命令->元宝信息"));
- }
- //default:
- // return CString(_TEXT("用户命令->未知协议"));
- default:
- {
- TCHAR szBuffer[BUFFERLEN];
- ZeroMemory(szBuffer, BUFFERLEN * sizeof(TCHAR));
- _snwprintf(szBuffer, BUFFERLEN, _T("[%d:%d]"), wMainCmdID, wCmdTable);
- mylog::ToSet(szBuffer, BUFFERLEN, 0);
- return CString(szBuffer);
- }
- }
- }
- case MDM_GR_CONFIG : //配置信息
- {
- switch (wCmdTable)
- {
- case SUB_GR_CONFIG_COLUMN: //列表配置
- {
- return CString(_TEXT("配置信息->列表配置"));
- }
- case SUB_GR_CONFIG_SERVER: //房间配置
- {
- return CString(_TEXT("配置信息->房间配置"));
- }
- case SUB_GR_CONFIG_PROPERTY: //道具配置
- {
- return CString(_TEXT("配置信息->道具配置"));
- }
- case SUB_GR_CONFIG_FINISH://配置完成
- {
- return CString(_TEXT("配置信息->配置完成"));
- }
- //default:
- // return CString(_TEXT("配置信息->未知协议"));
- default:
- {
- TCHAR szBuffer[BUFFERLEN];
- ZeroMemory(szBuffer, BUFFERLEN * sizeof(TCHAR));
- _snwprintf(szBuffer, BUFFERLEN, _T("[%d:%d]"), wMainCmdID, wCmdTable);
- mylog::ToSet(szBuffer, BUFFERLEN, 0);
- return CString(szBuffer);
- }
- }
- }
- case MDM_GR_LOGON: //登录命令
- {
- switch (wCmdTable)
- {
- case SUB_GR_LOGON_USERID: //I D 登录
- {
- return CString(_TEXT("登录命令->I D 登录"));
- }
- case SUB_GR_LOGON_MOBILE: //手机登录
- {
- return CString(_TEXT("登录命令->手机登录"));
- }
- case SUB_GR_LOGON_ACCOUNTS: //帐号登录
- {
- return CString(_TEXT("登录命令->帐号登录"));
- }
- case SUB_GR_LOGON_FINISH://登陆完成
- {
- return CString(_TEXT("登录命令->登陆完成"));
- }
- case SUB_GR_USER_ENTER://用户进入
- {
- return CString(_TEXT("登录命令->用户进入"));
- }
- //default:
- // return CString(_TEXT("登录命令->未知协议"));
- default:
- {
- TCHAR szBuffer[BUFFERLEN];
- ZeroMemory(szBuffer, BUFFERLEN * sizeof(TCHAR));
- _snwprintf(szBuffer, BUFFERLEN, _T("[%d:%d]"), wMainCmdID, wCmdTable);
- mylog::ToSet(szBuffer, BUFFERLEN, 0);
- return CString(szBuffer);
- }
- }
- }
- case MDM_GF_GAME: //游戏命令
- {
- TCHAR szBuffer[BUFFERLEN * 3];
- ZeroMemory(szBuffer, BUFFERLEN * 3 * sizeof(TCHAR));
-
- typedef bool(__stdcall*SubGetStringType)(WORD, const void*, int, void*, int);
- if (pGetGameString)
- {
- SubGetStringType pFuntion = (SubGetStringType)pGetGameString;
- pFuntion(wCmdTable, 0, 0, szBuffer, BUFFERLEN * 3 * sizeof(TCHAR));
- }
- else
- {
- StringCchCopy(szBuffer, BUFFERLEN, _T("游戏内部指令"));
- }
- return CString(szBuffer);
- }
- case MDM_GF_FRAME: //框架命令
- {
- switch (wCmdTable)
- {
- case SUB_GF_GAME_OPTION: //游戏配置
- {
- return CString(_TEXT("框架命令->游戏配置"));
- }
- case SUB_GF_USER_READY: //用户准备
- {
- return CString(_TEXT("框架命令->用户准备"));
- }
- case SUB_GF_USER_CHAT: //用户聊天
- {
- return CString(_TEXT("框架命令->用户聊天"));
- }
- case SUB_GF_USER_EXPRESSION: //用户表情
- {
- return CString(_TEXT("框架命令->用户表情"));
- }
- case SUB_GF_LOOKON_CONFIG: //旁观配置
- {
- return CString(_TEXT("框架命令->旁观配置"));
- }
- //default:
- // return CString(_TEXT("框架命令->未知协议"));
- default:
- {
- TCHAR szBuffer[BUFFERLEN];
- ZeroMemory(szBuffer, BUFFERLEN * sizeof(TCHAR));
- _snwprintf(szBuffer, BUFFERLEN, _T("[%d:%d]"), wMainCmdID, wCmdTable);
- mylog::ToSet(szBuffer, BUFFERLEN, 0);
- return CString(szBuffer);
- }
- }
- }
- //case MDM_GR_INSURE: //银行命令
- //case MDM_GR_TASK: //任务命令
- //case MDM_GR_EXCHANGE: //兑换命令
- case MDM_GR_MANAGE: //管理命令
- {
- switch (wCmdTable)
- {
- case SUB_GR_QUERY_OPTION: //查询设置
- {
- return CString(_TEXT("管理命令->查询设置"));
- }
- case SUB_GR_OPTION_SERVER: //房间设置
- {
- return CString(_TEXT("管理命令->房间设置"));
- }
- case SUB_GR_KILL_USER: //踢出用户
- {
- return CString(_TEXT("管理命令->踢出用户"));;// OnTCPNetworkSubManagerKickUser(pData, wDataSize, dwSocketID);
- }
- case SUB_GR_LIMIT_USER_CHAT: //限制聊天
- {
- return CString(_TEXT("管理命令->限制聊天"));;//OnTCPNetworkSubLimitUserChat(pData, wDataSize, dwSocketID);
- }
- case SUB_GR_KICK_ALL_USER: //踢出用户
- {
- return CString(_TEXT("管理命令->踢出用户"));;//OnTCPNetworkSubKickAllUser(pData, wDataSize, dwSocketID);
- }
- case SUB_GR_SEND_MESSAGE: //发布消息
- {
- return CString(_TEXT("管理命令->发布消息"));
- }
- case SUB_GR_DISMISSGAME: //管理员强制解散游戏
- {
- return CString(_TEXT("管理命令->管理员强制解散游戏"));
- }
- case SUB_GR_DELETE_PRIVATE_TABLE_REQ: //请求删除私有房间
- {
- return CString(_TEXT("管理命令->请求删除私有房间"));
- }
- case SUB_GR_DELETE_PRIVATE_TABLE_RESP://请求删除私有房间响应消息
- {
- return CString(_TEXT("管理命令->请求删除私有房间响应消息"));
- }
- case SUB_GR_SEND_WARNING: //警告用户
- {
- return CString(_TEXT("管理命令->警告用户"));
- }
- //default:
- // return CString(_TEXT("管理命令->未知协议"));
- default:
- {
- TCHAR szBuffer[BUFFERLEN];
- ZeroMemory(szBuffer, BUFFERLEN * sizeof(TCHAR));
- _snwprintf(szBuffer, BUFFERLEN, _T("[%d:%d]"), wMainCmdID, wCmdTable);
- mylog::ToSet(szBuffer, BUFFERLEN, 0);
- return CString(szBuffer);
- }
- }
- }
- case MDM_GR_MATCH: //比赛命令
- {
-
- }
- default:
- {
- TCHAR szBuffer[BUFFERLEN];
- ZeroMemory(szBuffer, BUFFERLEN * sizeof(TCHAR));
- _snwprintf(szBuffer, BUFFERLEN, _T("[%d:%d]"), wMainCmdID, wCmdTable);
- mylog::ToSet(szBuffer, BUFFERLEN, 0);
- return CString(szBuffer);
- }
- }
-
- return csRet;
- }
-
- CString Commend::ToNameEx(WORD wMainCmdID, WORD wCmdTable, const void* pBuffer, int iLen, void* pGetGameString)
- {
- CString csRet = _T("");
- switch (wMainCmdID)
- {
- case MDM_GR_USER: //用户命令
- {
- switch (wCmdTable)
- {
- case SUB_GR_USER_GET_BANGDING://用户进入
- {
- return CString(_TEXT("用户命令->绑定代理"));
- }
- case SUB_GR_USER_GET_BANGDINGACK://用户进入
- {
- return CString(_TEXT("用户命令->绑定代理应答"));
- }
- case SUB_GR_USER_ENTER://用户进入
- {
- return CString(_TEXT("登录命令->用户进入"));
- }
- case SUB_GR_USER_GET_DINGDAN:
- {
- return CString(_TEXT("用户命令->获取微信订单"));
- }
- case SUB_GR_USER_GET_DINGDAN_NEW:
- {
- return CString(_TEXT("用户命令->其他通道获取微信订单"));
- }
- case SUB_GR_USER_GET_DINGDANACK:
- {
- return CString(_TEXT("用户命令->获取微信订单应答"));
- }
- case SUB_GR_USER_QINGQIUJIESAN:
- {
- return CString(_TEXT("用户命令->房主请求解散"));
- }
- case SUB_GR_USER_GET_BEAN:
- {
- return CString(_TEXT("用户命令->请求元宝"));
- }
- case SUB_GR_USER_RULE: //用户规则
- {
- return CString(_TEXT("用户命令->用户规则"));
- }
- case SUB_GR_USER_SEAT_ACK:
- {
- return CString(_TEXT("用户命令->玩家坐下请求应答"));
- }
- case SUB_GR_USER_STATUS: //用户状态
- {
- return CString(_TEXT("用户命令->用户状态"));
- }
- case SUB_GR_USER_LOOKON: //用户旁观
- {
- return CString(_TEXT("用户命令->用户旁观"));
- }
- case SUB_GR_USER_SITDOWN: //用户坐下
- {
- return CString(_TEXT("用户命令->用户坐下"));
- }
- case SUB_GR_USER_STANDUP: //用户起立
- {
- return CString(_TEXT("用户命令->用户起立"));
- }
- case SUB_GR_USER_CHAT: //用户聊天
- {
- return CString(_TEXT("用户命令->用户聊天"));
- }
- case SUB_GR_USER_EXPRESSION: //用户表情
- {
- return CString(_TEXT("用户命令->用户表情"));
- }
- case SUB_GR_WISPER_CHAT: //用户私聊
- {
- return CString(_TEXT("用户命令->用户私聊"));
- }
- case SUB_GR_WISPER_EXPRESSION: //私聊表情
- {
- return CString(_TEXT("用户命令->私聊表情"));
- }
- //case SUB_GR_PROPERTY_BUY: //购买道具
- //{
- // return CString(_TEXT("用户命令->购买道具"));
- //}
- case SUB_GR_PROPERTY_TRUMPET: //喇叭道具
- {
- return CString(_TEXT("用户命令->喇叭道具"));
- }
- //case SUB_GR_USER_INVITE_REQ: //邀请用户
- //{
- // return CString(_TEXT("用户命令->邀请用户"));
- //}
- //case SUB_GR_USER_REPULSE_SIT: //拒绝厌友
- //{
- // return CString(_TEXT("用户命令->拒绝厌友"));
- //}
- //case SUB_GR_USER_KICK_USER: //踢出用户
- //{
- // return CString(_TEXT("用户命令->踢出用户"));
- //}
- case SUB_GR_USER_INFO_REQ: //请求用户信息
- {
- return CString(_TEXT("用户命令->请求用户信息"));
- }
- case SUB_GR_USER_CHAIR_REQ: //请求更换位置
- {
- return CString(_TEXT("用户命令->请求更换位置"));
- }
- case SUB_GR_USER_CHAIR_INFO_REQ: //请求椅子用户信息
- {
- return CString(_TEXT("用户命令->请求椅子用户信息"));
- }
- case SUB_GR_USER_GET_GAME_SCORE_RECORD_LIST:
- {
- //OnTCPSocketGetUserGameTempScoreRankList(pData, wDataSize, dwSocketID);
- return CString(_TEXT("用户命令->SUB_GR_USER_GET_GAME_SCORE_RECORD_LIST"));
- }
- case SUB_GR_USER_GET_GAME_SCORE_RECORD_DETAIL_INFO:
- {
- return CString(_TEXT("用户命令->SUB_GR_USER_GET_GAME_SCORE_RECORD_DETAIL_INFO"));
- }
- case SUB_GR_USER_GET_GAME_SCORE_RECORD_REPLAY:
- {
- return CString(_TEXT("用户命令->SUB_GR_USER_GET_GAME_SCORE_RECORD_REPLAY"));
- }
- case SUB_GR_USER_GET_GAME_TEMP_SCORE_RANKLIST:
- {
- return CString(_TEXT("用户命令->SUB_GR_USER_GET_GAME_TEMP_SCORE_RANKLIST"));
- }
- case SUB_GR_USER_CREATE://创建房间
- {
- return CString(_TEXT("用户命令->创建房间"));
- }
- case SUB_GR_USER_ADD: //加入房间
- {
- return CString(_TEXT("用户命令->加入房间"));
- }
- case SUB_GR_USER_SEAT: //玩家坐下请求
- {
- return CString(_TEXT("用户命令->玩家坐下请求"));
- }
- case SUB_GR_USER_MYROOM_UPDATA: //玩家坐下请求
- {
- return CString(_TEXT("用户命令->玩家拥有的房间状态更新"));
- }
- case SUB_GR_USER_ADDCREATE_TABLE_ALL:
- {
- return CString(_TEXT("用户命令->通知创建的所有房间列表"));
- }
- case SUB_GR_USER_ADDCREATE_TABLE_ID:
- {
- return CString(_TEXT("用户命令->创建加入房间应答"));
- }
- case SUB_GR_USER_BEAN:
- {
- return CString(_TEXT("用户命令->元宝信息"));
- }
- case SUB_GR_USER_CHECK_NAME:
- {
- return CString(_TEXT("用户命令->实名认证"));
- }
- case SUB_GR_USER_CHECK_NAME_QUERY:
- {
- return CString(_TEXT("用户命令->实名认证查询"));
- }
-
- //default:
- //{
- // CString csTest;
- // csTest.Format(L"用户命令->未知协议%d", wCmdTable);
- // return CString(csTest);
- //}
- default:
- {
- TCHAR szBuffer[BUFFERLEN];
- ZeroMemory(szBuffer, BUFFERLEN * sizeof(TCHAR));
- _snwprintf(szBuffer, BUFFERLEN, _T("[%d:%d]"), wMainCmdID, wCmdTable);
- mylog::ToSet(szBuffer, BUFFERLEN, 0);
- return CString(szBuffer);
- }
- }
- }
- case MDM_GR_CONFIG: //配置信息
- {
- switch (wCmdTable)
- {
- case SUB_GR_CONFIG_COLUMN: //列表配置
- {
- return CString(_TEXT("配置信息->列表配置"));
- }
- case SUB_GR_CONFIG_SERVER: //房间配置
- {
- return CString(_TEXT("配置信息->房间配置"));
- }
- case SUB_GR_CONFIG_PROPERTY: //道具配置
- {
- return CString(_TEXT("配置信息->道具配置"));
- }
- case SUB_GR_CONFIG_FINISH://配置完成
- {
- return CString(_TEXT("配置信息->配置完成"));
- }
- //default:
- //{
- // CString csTest;
- // csTest.Format(L"配置信息->未知协议%d", wCmdTable);
- // return CString(csTest);
- //}
- default:
- {
- TCHAR szBuffer[BUFFERLEN];
- ZeroMemory(szBuffer, BUFFERLEN * sizeof(TCHAR));
- _snwprintf(szBuffer, BUFFERLEN, _T("[%d:%d]"), wMainCmdID, wCmdTable);
- mylog::ToSet(szBuffer, BUFFERLEN, 0);
- return CString(szBuffer);
- }
- }
- }
- case MDM_GR_LOGON: //登录命令
- {
- switch (wCmdTable)
- {
- case SUB_GR_LOGON_USERID: //I D 登录
- {
- return CString(_TEXT("登录命令->I D 登录"));
- }
- case SUB_GR_LOGON_MOBILE: //手机登录
- {
- return CString(_TEXT("登录命令->手机登录"));
- }
- case SUB_GR_LOGON_ACCOUNTS: //帐号登录
- {
- return CString(_TEXT("登录命令->帐号登录"));
- }
- case SUB_GR_LOGON_FINISH://登陆完成
- {
- return CString(_TEXT("登录命令->游戏登陆完成"));
- }
- //default:
- //{
- // CString csTest;
- // csTest.Format(L"登录命令->未知协议%d", wCmdTable);
- // return CString(csTest);
- //}
- default:
- {
- TCHAR szBuffer[BUFFERLEN];
- ZeroMemory(szBuffer, BUFFERLEN * sizeof(TCHAR));
- _snwprintf(szBuffer, BUFFERLEN, _T("[%d:%d]"), wMainCmdID, wCmdTable);
- mylog::ToSet(szBuffer, BUFFERLEN, 0);
- return CString(szBuffer);
- }
- }
- }
- case MDM_GF_GAME: //游戏命令
- {
- TCHAR szBuffer[BUFFERLEN * 3];
- ZeroMemory(szBuffer, BUFFERLEN * 3 * sizeof(TCHAR));
-
- typedef bool(__stdcall*SubGetStringType)(WORD, const void*, int, void*, int);
- if (pGetGameString)
- {
- SubGetStringType pFuntion = (SubGetStringType)pGetGameString;
- pFuntion(wCmdTable, pBuffer, iLen, szBuffer, BUFFERLEN * 3 * sizeof(TCHAR));
- }
- else
- {
- StringCchCopy(szBuffer, BUFFERLEN, _T("游戏内部指令"));
- }
- return CString(szBuffer);
- }
- case MDM_GF_FRAME: //框架命令
- {
- switch (wCmdTable)
- {
- case SUB_GF_SYSTEM_MESSAGE: //游戏配置
- {
- return CString(_TEXT("框架命令->系统消息"));
- }
- case SUB_GF_GAME_OPTION: //游戏配置
- {
- return CString(_TEXT("框架命令->游戏配置"));
- }
- case SUB_GF_USER_READY: //用户准备
- {
- return CString(_TEXT("框架命令->用户准备"));
- }
- case SUB_GF_USER_CHAT: //用户聊天
- {
- return CString(_TEXT("框架命令->用户聊天"));
- }
- case SUB_GF_USER_EXPRESSION: //用户表情
- {
- return CString(_TEXT("框架命令->用户表情"));
- }
- case SUB_GF_LOOKON_CONFIG: //旁观配置
- {
- return CString(_TEXT("框架命令->旁观配置"));
- }
- //default:
- //{
- // CString csTest;
- // csTest.Format(L"框架命令->未知协议%d", wCmdTable);
- // return CString(csTest);
- //}
- default:
- {
- TCHAR szBuffer[BUFFERLEN];
- ZeroMemory(szBuffer, BUFFERLEN * sizeof(TCHAR));
- _snwprintf(szBuffer, BUFFERLEN, _T("[%d:%d]"), wMainCmdID, wCmdTable);
- mylog::ToSet(szBuffer, BUFFERLEN, 0);
- return CString(szBuffer);
- }
- }
- }
- //case MDM_GR_INSURE: //银行命令
- //case MDM_GR_TASK: //任务命令
- //case MDM_GR_EXCHANGE: //兑换命令
- case MDM_GR_MANAGE: //管理命令
- {
- switch (wCmdTable)
- {
- case SUB_GR_QUERY_OPTION: //查询设置
- {
- return CString(_TEXT("管理命令->查询设置"));
- }
- case SUB_GR_OPTION_SERVER: //房间设置
- {
- return CString(_TEXT("管理命令->房间设置"));
- }
- case SUB_GR_KILL_USER: //踢出用户
- {
- return CString(_TEXT("管理命令->踢出用户"));;// OnTCPNetworkSubManagerKickUser(pData, wDataSize, dwSocketID);
- }
- case SUB_GR_LIMIT_USER_CHAT: //限制聊天
- {
- return CString(_TEXT("管理命令->限制聊天"));;//OnTCPNetworkSubLimitUserChat(pData, wDataSize, dwSocketID);
- }
- case SUB_GR_KICK_ALL_USER: //踢出用户
- {
- return CString(_TEXT("管理命令->踢出用户"));;//OnTCPNetworkSubKickAllUser(pData, wDataSize, dwSocketID);
- }
- case SUB_GR_SEND_MESSAGE: //发布消息
- {
- return CString(_TEXT("管理命令->发布消息"));
- }
- case SUB_GR_DISMISSGAME: //管理员强制解散游戏
- {
- return CString(_TEXT("管理命令->管理员强制解散游戏"));
- }
- case SUB_GR_DELETE_PRIVATE_TABLE_REQ: //请求删除私有房间
- {
- return CString(_TEXT("管理命令->请求删除私有房间"));
- }
- case SUB_GR_DELETE_PRIVATE_TABLE_RESP://请求删除私有房间响应消息
- {
- return CString(_TEXT("管理命令->请求删除私有房间响应消息"));
- }
- case SUB_GR_SEND_WARNING: //警告用户
- {
- return CString(_TEXT("管理命令->警告用户"));
- }
- //default:
- //{
- // CString csTest;
- // csTest.Format(L"管理命令->未知协议%d", wCmdTable);
- // return CString(csTest);
- //}
- default:
- {
- TCHAR szBuffer[BUFFERLEN];
- ZeroMemory(szBuffer, BUFFERLEN * sizeof(TCHAR));
- _snwprintf(szBuffer, BUFFERLEN, _T("[%d:%d]"), wMainCmdID, wCmdTable);
- mylog::ToSet(szBuffer, BUFFERLEN, 0);
- return CString(szBuffer);
- }
- }
- }
- case MDM_GR_MATCH: //比赛命令
- {
-
- }
- default:
- {
- TCHAR szBuffer[BUFFERLEN];
- ZeroMemory(szBuffer, BUFFERLEN * sizeof(TCHAR));
- _snwprintf(szBuffer, BUFFERLEN, _T("[%d:%d]"), wMainCmdID, wCmdTable);
- mylog::ToSet(szBuffer, BUFFERLEN, 0);
- return CString(szBuffer);
- }
- }
-
- return csRet;
- }
-
- //打印通讯日志
- void Commend::ToShow(VOID* Frame, WORD wMainCmdID, WORD wCmdTable, const void* pBuffer, int iLen, DWORD dTablePrivate, DWORD dUserID, PVOID pGetGameString, bool bSend)
- {
- CAttemperEngineSink* pCAttemperEngineSink = (CAttemperEngineSink*)Frame;
- if (dUserID != 0 && pCAttemperEngineSink->IsJC(dUserID))
- {
- CString csFunName = ToNameEx(wMainCmdID, wCmdTable, pBuffer, iLen, pGetGameString);
- CShowTime Show(csFunName, bSend, wMainCmdID, wCmdTable);
- }
-
- switch (wMainCmdID)
- {
- case MDM_GR_CONFIG: //配置信息
- {
- switch (wCmdTable)
- {
- case SUB_GR_CONFIG_COLUMN: //列表配置
- {
- TCHAR szBuffer[BUFFERLEN];
- ZeroMemory(szBuffer, BUFFERLEN * sizeof(TCHAR));
- StringCchCopy(szBuffer, BUFFERLEN, _T("列表配置"));
- mylog::ToSet(szBuffer, BUFFERLEN, dUserID);
- mylog::OutputString(szBuffer, dTablePrivate);
- return;
- }
- case SUB_GR_CONFIG_SERVER: //房间配置
- {
- if (pBuffer) ((CMD_GR_ConfigServer*)pBuffer)->ToShow(dTablePrivate, dUserID);
- else
- {
- TCHAR szBuffer[BUFFERLEN];
- ZeroMemory(szBuffer, BUFFERLEN * sizeof(TCHAR));
- StringCchCopy(szBuffer, BUFFERLEN, _T("房间配置"));
- mylog::ToSet(szBuffer, BUFFERLEN, dUserID);
- mylog::OutputString(szBuffer, dTablePrivate);
- }
- return;
- }
- case SUB_GR_CONFIG_PROPERTY: //道具配置
- {
- TCHAR szBuffer[BUFFERLEN];
- ZeroMemory(szBuffer, BUFFERLEN * sizeof(TCHAR));
- StringCchCopy(szBuffer, BUFFERLEN, _T("道具配置"));
- mylog::ToSet(szBuffer, BUFFERLEN, dUserID);
- mylog::OutputString(szBuffer, dTablePrivate);
- return;
- }
- case SUB_GR_CONFIG_FINISH://配置完成
- {
- TCHAR szBuffer[BUFFERLEN];
- ZeroMemory(szBuffer, BUFFERLEN * sizeof(TCHAR));
- StringCchCopy(szBuffer, BUFFERLEN, _T("配置完成"));
- mylog::ToSet(szBuffer, BUFFERLEN, dUserID);
- mylog::OutputString(szBuffer, dTablePrivate);
- return;
- }
- default:
- TCHAR szBuffer[BUFFERLEN];
- ZeroMemory(szBuffer, BUFFERLEN * sizeof(TCHAR));
- //StringCchCopy(szBuffer, BUFFERLEN, _T("配置信息->未知协议"));
- _snwprintf(szBuffer, BUFFERLEN, _T("[%d:%d]"), wMainCmdID, wCmdTable);
- mylog::ToSet(szBuffer, BUFFERLEN, dUserID);
- mylog::OutputString(szBuffer, dTablePrivate);
- return;
- }
- }
- case MDM_GR_USER: //用户命令
- {
- switch (wCmdTable)
- {
- case SUB_GR_USER_RULE: //用户规则
- {
- TCHAR szBuffer[BUFFERLEN];
- ZeroMemory(szBuffer, BUFFERLEN * sizeof(TCHAR));
- StringCchCopy(szBuffer, BUFFERLEN, _T("用户规则"));
- mylog::ToSet(szBuffer, BUFFERLEN, dUserID);
- mylog::OutputString(szBuffer, dTablePrivate);
- return;
- }
- case SUB_GR_USER_STATUS: //用户状态
- {
- if (pBuffer) ((CMD_GR_UserStatus*)pBuffer)->ToShow(dTablePrivate, dUserID);
- else
- {
- TCHAR szBuffer[BUFFERLEN];
- ZeroMemory(szBuffer, BUFFERLEN * sizeof(TCHAR));
- StringCchCopy(szBuffer, BUFFERLEN, _T("用户状态"));
- mylog::ToSet(szBuffer, BUFFERLEN, dUserID);
- mylog::OutputString(szBuffer, dTablePrivate);
- }
- return;
- }
- case SUB_GR_USER_LOOKON: //用户旁观
- {
- TCHAR szBuffer[BUFFERLEN];
- ZeroMemory(szBuffer, BUFFERLEN * sizeof(TCHAR));
- StringCchCopy(szBuffer, BUFFERLEN, _T("用户旁观"));
- mylog::ToSet(szBuffer, BUFFERLEN, dUserID);
- mylog::OutputString(szBuffer, dTablePrivate);
- return;
- }
- case SUB_GR_USER_SITDOWN: //用户坐下
- {
- if (pBuffer) ((CMD_GR_UserSitDown*)pBuffer)->ToShow(dTablePrivate, dUserID);
- else
- {
- TCHAR szBuffer[BUFFERLEN];
- ZeroMemory(szBuffer, BUFFERLEN * sizeof(TCHAR));
- StringCchCopy(szBuffer, BUFFERLEN, _T("用户坐下"));
- mylog::ToSet(szBuffer, BUFFERLEN, dUserID);
- mylog::OutputString(szBuffer, dTablePrivate);
- }
- return;
- }
- case SUB_GR_USER_STANDUP: //用户起立
- {
- if (pBuffer) ((CMD_GR_UserStandUp*)pBuffer)->ToShow(dTablePrivate, dUserID);
- else
- {
- TCHAR szBuffer[BUFFERLEN];
- ZeroMemory(szBuffer, BUFFERLEN * sizeof(TCHAR));
- StringCchCopy(szBuffer, BUFFERLEN, _T("用户起立"));
- mylog::ToSet(szBuffer, BUFFERLEN, dUserID);
- mylog::OutputString(szBuffer, dTablePrivate);
- }
- return;
- }
- case SUB_GR_USER_CHAT: //用户聊天
- {
- TCHAR szBuffer[BUFFERLEN];
- ZeroMemory(szBuffer, BUFFERLEN * sizeof(TCHAR));
- StringCchCopy(szBuffer, BUFFERLEN, _T("用户聊天"));
- mylog::ToSet(szBuffer, BUFFERLEN, dUserID);
- mylog::OutputString(szBuffer, dTablePrivate);
- return;
- }
- case SUB_GR_USER_EXPRESSION: //用户表情
- {
- if (pBuffer) ((CMD_GR_C_UserExpression*)pBuffer)->ToShow(dTablePrivate, dUserID);
- return;
- }
- case SUB_GR_WISPER_CHAT: //用户私聊
- {
- TCHAR szBuffer[BUFFERLEN];
- ZeroMemory(szBuffer, BUFFERLEN * sizeof(TCHAR));
- StringCchCopy(szBuffer, BUFFERLEN, _T("用户私聊"));
- mylog::ToSet(szBuffer, BUFFERLEN, dUserID);
- mylog::OutputString(szBuffer, dTablePrivate);
- return;
- }
- case SUB_GR_WISPER_EXPRESSION: //私聊表情
- {
- if (pBuffer) ((CMD_GR_C_WisperExpression*)pBuffer)->ToShow(dTablePrivate, dUserID);
- else
- {
- TCHAR szBuffer[BUFFERLEN];
- ZeroMemory(szBuffer, BUFFERLEN * sizeof(TCHAR));
- StringCchCopy(szBuffer, BUFFERLEN, _T("私聊表情"));
- mylog::ToSet(szBuffer, BUFFERLEN, dUserID);
- mylog::OutputString(szBuffer, dTablePrivate);
- }
- return;
- }
- //case SUB_GR_PROPERTY_BUY: //购买道具
- //{
- // TCHAR szBuffer[BUFFERLEN];
- // ZeroMemory(szBuffer, BUFFERLEN * sizeof(TCHAR));
- // StringCchCopy(szBuffer, BUFFERLEN, _T("购买道具"));
- // mylog::ToSet(szBuffer, BUFFERLEN, dUserID);
- // mylog::OutputString(szBuffer, dTablePrivate);
- // return;
- //}
- case SUB_GR_PROPERTY_TRUMPET: //喇叭道具
- {
- TCHAR szBuffer[BUFFERLEN];
- ZeroMemory(szBuffer, BUFFERLEN * sizeof(TCHAR));
- StringCchCopy(szBuffer, BUFFERLEN, _T("喇叭道具"));
- mylog::ToSet(szBuffer, BUFFERLEN, dUserID);
- mylog::OutputString(szBuffer, dTablePrivate);
- return;
- }
- //case SUB_GR_USER_INVITE_REQ: //邀请用户
- //{
- // TCHAR szBuffer[BUFFERLEN];
- // ZeroMemory(szBuffer, BUFFERLEN * sizeof(TCHAR));
- // StringCchCopy(szBuffer, BUFFERLEN, _T("邀请用户"));
- // mylog::ToSet(szBuffer, BUFFERLEN, dUserID);
- // mylog::OutputString(szBuffer, dTablePrivate);
- // return;
- //}
- //case SUB_GR_USER_REPULSE_SIT: //拒绝厌友
- //{
- // TCHAR szBuffer[BUFFERLEN];
- // ZeroMemory(szBuffer, BUFFERLEN * sizeof(TCHAR));
- // StringCchCopy(szBuffer, BUFFERLEN, _T("拒绝厌友"));
- // mylog::ToSet(szBuffer, BUFFERLEN, dUserID);
- // mylog::OutputString(szBuffer, dTablePrivate);
- // return;
- //}
- //case SUB_GR_USER_KICK_USER: //踢出用户
- //{
- // TCHAR szBuffer[BUFFERLEN];
- // ZeroMemory(szBuffer, BUFFERLEN * sizeof(TCHAR));
- // StringCchCopy(szBuffer, BUFFERLEN, _T("踢出用户"));
- // mylog::ToSet(szBuffer, BUFFERLEN, dUserID);
- // mylog::OutputString(szBuffer, dTablePrivate);
- // return;
- //}
- case SUB_GR_USER_INFO_REQ: //请求用户信息
- {
- if (pBuffer) ((CMD_GR_UserInfoReq*)pBuffer)->ToShow(dTablePrivate, dUserID);
- else
- {
- TCHAR szBuffer[BUFFERLEN];
- ZeroMemory(szBuffer, BUFFERLEN * sizeof(TCHAR));
- StringCchCopy(szBuffer, BUFFERLEN, _T("请求用户信息"));
- mylog::ToSet(szBuffer, BUFFERLEN, dUserID);
- mylog::OutputString(szBuffer, dTablePrivate);
- }
- return;
- }
- case SUB_GR_USER_CHAIR_REQ: //请求更换位置
- {
- TCHAR szBuffer[BUFFERLEN];
- ZeroMemory(szBuffer, BUFFERLEN * sizeof(TCHAR));
- StringCchCopy(szBuffer, BUFFERLEN, _T("请求更换位置"));
- mylog::ToSet(szBuffer, BUFFERLEN, dUserID);
- mylog::OutputString(szBuffer, dTablePrivate);
- return;
- }
- case SUB_GR_USER_CHAIR_INFO_REQ: //请求椅子用户信息
- {
- TCHAR szBuffer[BUFFERLEN];
- ZeroMemory(szBuffer, BUFFERLEN * sizeof(TCHAR));
- StringCchCopy(szBuffer, BUFFERLEN, _T("请求椅子用户信息"));
- mylog::ToSet(szBuffer, BUFFERLEN, dUserID);
- mylog::OutputString(szBuffer, dTablePrivate);
- return;
- }
- case SUB_GR_USER_GET_GAME_SCORE_RECORD_LIST:
- {
- TCHAR szBuffer[BUFFERLEN];
- ZeroMemory(szBuffer, BUFFERLEN * sizeof(TCHAR));
- StringCchCopy(szBuffer, BUFFERLEN, _T("获取牌桌游戏数据简要列表"));
- mylog::ToSet(szBuffer, BUFFERLEN, dUserID);
- mylog::OutputString(szBuffer, dTablePrivate);
- return;
- }
- case SUB_GR_USER_GET_GAME_SCORE_RECORD_DETAIL_INFO:
- {
- return;
- }
- case SUB_GR_USER_GET_GAME_SCORE_RECORD_REPLAY:
- {
- TCHAR szBuffer[BUFFERLEN];
- ZeroMemory(szBuffer, BUFFERLEN * sizeof(TCHAR));
- StringCchCopy(szBuffer, BUFFERLEN, _T("获取回放记录"));
- mylog::ToSet(szBuffer, BUFFERLEN, dUserID);
- mylog::OutputString(szBuffer, dTablePrivate);
- return;
- }
- case SUB_GR_USER_GET_GAME_TEMP_SCORE_RANKLIST:
- {
- TCHAR szBuffer[BUFFERLEN];
- ZeroMemory(szBuffer, BUFFERLEN * sizeof(TCHAR));
- StringCchCopy(szBuffer, BUFFERLEN, _T("获取临时积分排行榜"));
- mylog::ToSet(szBuffer, BUFFERLEN, dUserID);
- mylog::OutputString(szBuffer, dTablePrivate);
- return;
- }
- case SUB_GR_USER_CREATE://创建房间
- {
- if (pBuffer) ((CMD_GR_UserSitDown*)pBuffer)->ToShow(dTablePrivate, dUserID);
- else
- {
- TCHAR szBuffer[BUFFERLEN];
- ZeroMemory(szBuffer, BUFFERLEN * sizeof(TCHAR));
- StringCchCopy(szBuffer, BUFFERLEN, _T("创建房间"));
- mylog::ToSet(szBuffer, BUFFERLEN, dUserID);
- mylog::OutputString(szBuffer, dTablePrivate);
- }
- return;
- }
- case SUB_GR_USER_ADD: //加入房间
- {
- if (pBuffer) ((CMD_GR_UserJoin*)pBuffer)->ToShow(dTablePrivate, dUserID);
- else
- {
- TCHAR szBuffer[BUFFERLEN];
- ZeroMemory(szBuffer, BUFFERLEN * sizeof(TCHAR));
- StringCchCopy(szBuffer, BUFFERLEN, _T("加入房间"));
- mylog::ToSet(szBuffer, BUFFERLEN, dUserID);
- mylog::OutputString(szBuffer, dTablePrivate);
- }
- return;
- }
- case SUB_GR_USER_SEAT: //玩家坐下请求
- {
- if (pBuffer) ((CMD_GR_UserSeat*)pBuffer)->ToShow(dTablePrivate, dUserID);
- else
- {
- TCHAR szBuffer[BUFFERLEN];
- ZeroMemory(szBuffer, BUFFERLEN * sizeof(TCHAR));
- StringCchCopy(szBuffer, BUFFERLEN, _T("玩家坐下请求"));
- mylog::ToSet(szBuffer, BUFFERLEN, dUserID);
- mylog::OutputString(szBuffer, dTablePrivate);
- }
- return;
- }
- case SUB_GR_USER_SEAT_ACK:
- {
- if (pBuffer) ((CMD_GR_UserSitAck*)pBuffer)->ToShow(dTablePrivate, dUserID);
- else
- {
- TCHAR szBuffer[BUFFERLEN];
- ZeroMemory(szBuffer, BUFFERLEN * sizeof(TCHAR));
- StringCchCopy(szBuffer, BUFFERLEN, _T("玩家坐下请求应答"));
- mylog::ToSet(szBuffer, BUFFERLEN, dUserID);
- mylog::OutputString(szBuffer, dTablePrivate);
- }
- return;
- }
- case SUB_GR_USER_ENTER://登陆完成
- {
- if (pBuffer) ((tagMobileUserInfoHead*)pBuffer)->ToShow(dTablePrivate, dUserID);
- else
- {
- TCHAR szBuffer[BUFFERLEN];
- ZeroMemory(szBuffer, BUFFERLEN * sizeof(TCHAR));
- StringCchCopy(szBuffer, BUFFERLEN, _T("用户进入"));
- mylog::ToSet(szBuffer, BUFFERLEN, dUserID);
- mylog::OutputString(szBuffer, dTablePrivate);
- }
- return;
- }
- case SUB_GR_USER_MYROOM_UPDATA:
- {
- if (pBuffer) ((JN_GR_RoomListEx*)pBuffer)->ToShow(dTablePrivate, dUserID);
- else
- {
- TCHAR szBuffer[BUFFERLEN];
- ZeroMemory(szBuffer, BUFFERLEN * sizeof(TCHAR));
- StringCchCopy(szBuffer, BUFFERLEN, _T("玩家拥有的房间状态更新"));
- mylog::ToSet(szBuffer, BUFFERLEN, dUserID);
- mylog::OutputString(szBuffer, dTablePrivate);
- }
- return;
- }
- case SUB_GR_USER_ADDCREATE_TABLE_ALL:
- {
- if (pBuffer) ((JN_GR_RoomListGroupEx*)pBuffer)->ToShow(dTablePrivate, dUserID);
- else
- {
- TCHAR szBuffer[BUFFERLEN];
- ZeroMemory(szBuffer, BUFFERLEN * sizeof(TCHAR));
- StringCchCopy(szBuffer, BUFFERLEN, _T("通知创建的所有房间列表"));
- mylog::ToSet(szBuffer, BUFFERLEN, dUserID);
- mylog::OutputString(szBuffer, dTablePrivate);
- }
- return;
- }
- case SUB_GR_USER_ADDCREATE_TABLE_ID:
- {
- if (pBuffer) ((CMD_GR_UserSitDownAckEx*)pBuffer)->ToShow(dTablePrivate, dUserID);
- else
- {
- TCHAR szBuffer[BUFFERLEN];
- ZeroMemory(szBuffer, BUFFERLEN * sizeof(TCHAR));
- StringCchCopy(szBuffer, BUFFERLEN, _T("创建加入房间应答"));
- mylog::ToSet(szBuffer, BUFFERLEN, dUserID);
- mylog::OutputString(szBuffer, dTablePrivate);
- }
- return;
- }
- case SUB_GR_USER_GET_BANGDING://绑定代理
- {
- if (pBuffer) ((CMD_GR_BangDing*)pBuffer)->ToShow(dTablePrivate, dUserID);
- else
- {
- TCHAR szBuffer[BUFFERLEN];
- ZeroMemory(szBuffer, BUFFERLEN * sizeof(TCHAR));
- StringCchCopy(szBuffer, BUFFERLEN, _T("用户命令->绑定代理"));
- mylog::ToSet(szBuffer, BUFFERLEN, dUserID);
- mylog::OutputString(szBuffer, dTablePrivate);
- }
- return;
- }
- case SUB_GR_USER_GET_BANGDINGACK://绑定代理应答
- {
- if (pBuffer) ((CMD_GR_BangDingACK*)pBuffer)->ToShow(dTablePrivate, dUserID);
- else
- {
- TCHAR szBuffer[BUFFERLEN];
- ZeroMemory(szBuffer, BUFFERLEN * sizeof(TCHAR));
- StringCchCopy(szBuffer, BUFFERLEN, _T("用户命令->绑定代理应答"));
- mylog::ToSet(szBuffer, BUFFERLEN, dUserID);
- mylog::OutputString(szBuffer, dTablePrivate);
- }
- return;
- }
- case SUB_GR_USER_GET_DINGDAN: //获取微信订单
- {
- if (pBuffer) ((CMD_GR_GetDingDan*)pBuffer)->ToShow(dTablePrivate, dUserID);
- else
- {
- TCHAR szBuffer[BUFFERLEN];
- ZeroMemory(szBuffer, BUFFERLEN * sizeof(TCHAR));
- StringCchCopy(szBuffer, BUFFERLEN, _T("用户命令->获取微信订单"));
- mylog::ToSet(szBuffer, BUFFERLEN, dUserID);
- mylog::OutputString(szBuffer, dTablePrivate);
- }
- return;
- }
- case SUB_GR_USER_GET_DINGDAN_NEW: //新方式获取微信订单
- {
- if (pBuffer) ((CMD_GR_GetDingDanNEW*)pBuffer)->ToShow(dTablePrivate, dUserID);
- else
- {
- TCHAR szBuffer[BUFFERLEN];
- ZeroMemory(szBuffer, BUFFERLEN * sizeof(TCHAR));
- StringCchCopy(szBuffer, BUFFERLEN, _T("用户命令->获取微信订单"));
- mylog::ToSet(szBuffer, BUFFERLEN, dUserID);
- mylog::OutputString(szBuffer, dTablePrivate);
- }
- return;
- }
- case SUB_GR_USER_CHECK_NAME: //实名认证
- {
- if (pBuffer) ((CMD_GR_CheckName*)pBuffer)->ToShow(dTablePrivate, dUserID);
- else
- {
- TCHAR szBuffer[BUFFERLEN];
- ZeroMemory(szBuffer, BUFFERLEN * sizeof(TCHAR));
- StringCchCopy(szBuffer, BUFFERLEN, _T("用户命令->实名认证"));
- mylog::ToSet(szBuffer, BUFFERLEN, dUserID);
- mylog::OutputString(szBuffer, dTablePrivate);
- }
- return;
- }
- case SUB_GR_USER_CHECK_NAME_QUERY: //实名认证
- {
- if (pBuffer) ((CMD_GR_CheckName*)pBuffer)->ToShow(dTablePrivate, dUserID);
- else
- {
- TCHAR szBuffer[BUFFERLEN];
- ZeroMemory(szBuffer, BUFFERLEN * sizeof(TCHAR));
- StringCchCopy(szBuffer, BUFFERLEN, _T("用户命令->实名认证查询"));
- mylog::ToSet(szBuffer, BUFFERLEN, dUserID);
- mylog::OutputString(szBuffer, dTablePrivate);
- }
- return;
- }
- case SUB_GR_USER_GET_DINGDANACK: //获取微信订单应答
- {
- if (pBuffer) ((CMD_GR_ZFXC*)pBuffer)->ToShow(dTablePrivate, dUserID);
- else
- {
- TCHAR szBuffer[BUFFERLEN];
- ZeroMemory(szBuffer, BUFFERLEN * sizeof(TCHAR));
- StringCchCopy(szBuffer, BUFFERLEN, _T("用户命令->获取微信订单应答"));
- mylog::ToSet(szBuffer, BUFFERLEN, dUserID);
- mylog::OutputString(szBuffer, dTablePrivate);
- }
- }
- case SUB_GR_USER_BEAN:
- {
- if (pBuffer) ((CMD_GR_UserBean*)pBuffer)->ToShow(dTablePrivate, dUserID);
- else
- {
- TCHAR szBuffer[BUFFERLEN];
- ZeroMemory(szBuffer, BUFFERLEN * sizeof(TCHAR));
- StringCchCopy(szBuffer, BUFFERLEN, _T("用户游戏豆"));
- mylog::ToSet(szBuffer, BUFFERLEN, dUserID);
- mylog::OutputString(szBuffer, dTablePrivate);
- }
- return;
- }
- default:
- {
- TCHAR szBuffer[BUFFERLEN];
- ZeroMemory(szBuffer, BUFFERLEN * sizeof(TCHAR));
- //StringCchCopy(szBuffer, BUFFERLEN, _T("用户命令->未知协议"));
- _snwprintf(szBuffer, BUFFERLEN, _T("[%d:%d]"), wMainCmdID, wCmdTable);
- mylog::ToSet(szBuffer, BUFFERLEN, dUserID);
- mylog::OutputString(szBuffer, dTablePrivate);
- return;
- }
- }
- }
- case MDM_GR_LOGON: //登录命令
- {
- switch (wCmdTable)
- {
- case SUB_GR_LOGON_USERID: //I D 登录
- {
- TCHAR szBuffer[BUFFERLEN];
- ZeroMemory(szBuffer, BUFFERLEN * sizeof(TCHAR));
- StringCchCopy(szBuffer, BUFFERLEN, _T("I D 登录"));
- mylog::ToSet(szBuffer, BUFFERLEN, dUserID);
- mylog::OutputString(szBuffer, dTablePrivate);
- return;
- }
- case SUB_GR_LOGON_MOBILE: //手机登录
- {
- if (pBuffer)
- {
- CMD_GR_LogonMobile * pLogonMobile = (CMD_GR_LogonMobile *)pBuffer;
- ((CMD_GR_LogonMobile*)pBuffer)->ToShow(dTablePrivate, pLogonMobile->dwUserID);
- }
- else
- {
- CMD_GR_LogonMobile * pLogonMobile = (CMD_GR_LogonMobile *)pBuffer;
- TCHAR szBuffer[BUFFERLEN];
- ZeroMemory(szBuffer, BUFFERLEN * sizeof(TCHAR));
- StringCchCopy(szBuffer, BUFFERLEN, _T("手机登录"));
- mylog::ToSet(szBuffer, BUFFERLEN, pLogonMobile->dwUserID);
- mylog::OutputString(szBuffer, dTablePrivate);
- }
- return;
- }
- case SUB_GR_LOGON_ACCOUNTS: //帐号登录
- {
- if (pBuffer) ((CMD_GR_LogonAccounts*)pBuffer)->ToShow(dTablePrivate, dUserID);
- else
- {
- TCHAR szBuffer[BUFFERLEN];
- ZeroMemory(szBuffer, BUFFERLEN * sizeof(TCHAR));
- StringCchCopy(szBuffer, BUFFERLEN, _T("帐号登录"));
- mylog::ToSet(szBuffer, BUFFERLEN, dUserID);
- mylog::OutputString(szBuffer, dTablePrivate);
- }
- return;
- }
- case SUB_GR_LOGON_FINISH://登陆完成
- {
- if (pBuffer) ((CMD_GR_LogonFinish*)pBuffer)->ToShow(dTablePrivate, dUserID);
- else
- {
- TCHAR szBuffer[BUFFERLEN];
- ZeroMemory(szBuffer, BUFFERLEN * sizeof(TCHAR));
- StringCchCopy(szBuffer, BUFFERLEN, _T("登陆完成"));
- mylog::ToSet(szBuffer, BUFFERLEN, dUserID);
- mylog::OutputString(szBuffer, dTablePrivate);
- }
- return;
- }
- default:
- {
- TCHAR szBuffer[BUFFERLEN];
- ZeroMemory(szBuffer, BUFFERLEN * sizeof(TCHAR));
- //StringCchCopy(szBuffer, BUFFERLEN, _T("登陆命令->未知协议"));
- _snwprintf(szBuffer, BUFFERLEN, _T("[%d:%d]"), wMainCmdID, wCmdTable);
- mylog::ToSet(szBuffer, BUFFERLEN, dUserID);
- mylog::OutputString(szBuffer, dTablePrivate);
- return;
- }
- }
- }
- case MDM_GF_GAME: //游戏命令
- {
- TCHAR szBuffer[BUFFERLEN*3];
- ZeroMemory(szBuffer, BUFFERLEN * 3 * sizeof(TCHAR));
-
- typedef bool(__stdcall*SubGetStringType)(WORD, const void*, int, void*, int);
- if (pGetGameString)
- {
- SubGetStringType pFuntion = (SubGetStringType)pGetGameString;
- pFuntion(wCmdTable, pBuffer, iLen, szBuffer, BUFFERLEN * 3 * sizeof(TCHAR));
- }
- mylog::ToSet(szBuffer, BUFFERLEN * 3, dUserID);
- mylog::OutputString(szBuffer, dTablePrivate);
- return;
- }
- case MDM_GF_FRAME: //框架命令
- {
- switch (wCmdTable)
- {
- case SUB_GF_GAME_SCENE: //游戏中等待场景
- {
- TCHAR szBuffer[BUFFERLEN];
- ZeroMemory(szBuffer, BUFFERLEN * sizeof(TCHAR));
- StringCchCopy(szBuffer, BUFFERLEN, _T("游戏中等待场景"));
- mylog::ToSet(szBuffer, BUFFERLEN, dUserID);
- mylog::OutputString(szBuffer, dTablePrivate);
- return;
- }
- case SUB_GF_GAME_SCENEING: //游戏中场景
- {
- TCHAR szBuffer[BUFFERLEN * 3];
- ZeroMemory(szBuffer, BUFFERLEN * 3 * sizeof(TCHAR));
-
- typedef bool(__stdcall*SubGetStringType)(WORD, const void*, int, void*, int);
- if (pGetGameString)
- {
- SubGetStringType pFuntion = (SubGetStringType)pGetGameString;
- if (pFuntion(wCmdTable, pBuffer, iLen, szBuffer, BUFFERLEN * 3 * sizeof(TCHAR)))
- {
- mylog::ToSet(szBuffer, BUFFERLEN * 3, dUserID);
- mylog::OutputString(szBuffer, dTablePrivate);
- }
- else
- {
- StringCchCopy(szBuffer, BUFFERLEN, _T("游戏场景"));
- mylog::ToSet(szBuffer, BUFFERLEN, dUserID);
- mylog::OutputString(szBuffer, dTablePrivate);
- }
- }
- return;
- }
- case SUB_GF_GAME_USER_DISTANCE: //玩家距离 @yuajing
- {
- TCHAR szBuffer[BUFFERLEN];
- ZeroMemory(szBuffer, BUFFERLEN * sizeof(TCHAR));
- StringCchCopy(szBuffer, BUFFERLEN, _T("玩家距离"));
- mylog::ToSet(szBuffer, BUFFERLEN, dUserID);
- mylog::OutputString(szBuffer, dTablePrivate);
- return;
- }
- case SUB_GF_GAME_OPTION: //游戏配置
- {
- if (pBuffer) ((CMD_GF_GameOption*)pBuffer)->ToShow(dTablePrivate, dUserID);
- return;
- }
- case SUB_GF_USER_READY: //用户准备
- {
- TCHAR szBuffer[BUFFERLEN];
- ZeroMemory(szBuffer, BUFFERLEN * sizeof(TCHAR));
- StringCchCopy(szBuffer, BUFFERLEN, _T("用户准备"));
- mylog::ToSet(szBuffer, BUFFERLEN, dUserID);
- mylog::OutputString(szBuffer, dTablePrivate);
- return;
- }
- case SUB_GF_USER_CHAT: //用户聊天
- {
- TCHAR szBuffer[BUFFERLEN];
- ZeroMemory(szBuffer, BUFFERLEN * sizeof(TCHAR));
- StringCchCopy(szBuffer, BUFFERLEN, _T("用户聊天"));
- mylog::ToSet(szBuffer, BUFFERLEN, dUserID);
- mylog::OutputString(szBuffer, dTablePrivate);
- return;
- }
- case SUB_GF_USER_EXPRESSION: //用户表情
- {
- if (pBuffer) ((CMD_GR_S_UserExpression*)pBuffer)->ToShow(dTablePrivate, dUserID);
- return;
- }
- case SUB_GF_LOOKON_CONFIG: //旁观配置
- {
- TCHAR szBuffer[BUFFERLEN];
- ZeroMemory(szBuffer, BUFFERLEN * sizeof(TCHAR));
- StringCchCopy(szBuffer, BUFFERLEN, _T("旁观配置"));
- mylog::ToSet(szBuffer, BUFFERLEN, dUserID);
- mylog::OutputString(szBuffer, dTablePrivate);
- return;
- }
- default:
- {
- TCHAR szBuffer[BUFFERLEN];
- ZeroMemory(szBuffer, BUFFERLEN * sizeof(TCHAR));
- _snwprintf(szBuffer, BUFFERLEN, _T("[%d:%d]"), wMainCmdID, wCmdTable);
- mylog::ToSet(szBuffer, BUFFERLEN, dUserID);
- mylog::OutputString(szBuffer, dTablePrivate);
- return;
- }
-
- }
- }
- case MDM_GR_CLUB:
- {
- switch (wCmdTable)
- {
- case SUB_GR_USER_DISSOLVE_ROOM:
- {
- if (pBuffer)
- {
- ((CMD_GR_ClubDissolveRoom*)pBuffer)->ToShow(dTablePrivate, dUserID);
- return;
- }
- else
- {
- TCHAR szBuffer[BUFFERLEN];
- ZeroMemory(szBuffer, BUFFERLEN * sizeof(TCHAR));
- StringCchCopy(szBuffer, BUFFERLEN, _T("群主管理员强制解散游戏"));
- mylog::ToSet(szBuffer, BUFFERLEN, dUserID);
- mylog::OutputString(szBuffer, dTablePrivate);
- return;
- }
- }
- case SUB_GR_USER_GET_SAVE_MORE_WANFA:
- case SUB_GR_USER_GET_MORE_WANFA:
- {
- if (pBuffer)
- {
- ((CMD_S_ClubAutoAddInfo*)pBuffer)->ToShow(dTablePrivate, dUserID);
- return;
- }
- else
- {
- TCHAR szBuffer[BUFFERLEN];
- ZeroMemory(szBuffer, BUFFERLEN * sizeof(TCHAR));
- StringCchCopy(szBuffer, BUFFERLEN, _T("俱乐部额外玩法自动开房请求"));
- mylog::ToSet(szBuffer, BUFFERLEN, dUserID);
- mylog::OutputString(szBuffer, dTablePrivate);
- return;
- }
- }
- case SUB_GR_USER_GET_MORE_WANFA_ACK:
- {
- if (pBuffer)
- {
- ((CMD_GR_Club_Action_Ack1Add*)pBuffer)->ToShow(dTablePrivate, dUserID);
- return;
- }
- else
- {
- TCHAR szBuffer[BUFFERLEN];
- ZeroMemory(szBuffer, BUFFERLEN * sizeof(TCHAR));
- StringCchCopy(szBuffer, BUFFERLEN, _T("俱乐部额外玩法自动开房响应"));
- mylog::ToSet(szBuffer, BUFFERLEN, dUserID);
- mylog::OutputString(szBuffer, dTablePrivate);
- return;
- }
- }
- default:
- return;
- }
- }
- //case MDM_GR_INSURE: //银行命令
- //case MDM_GR_TASK: //任务命令
- //case MDM_GR_EXCHANGE: //兑换命令
- case MDM_GR_MANAGE: //管理命令
- {
- switch (wCmdTable)
- {
- case SUB_GR_QUERY_OPTION: //查询设置
- {
- TCHAR szBuffer[BUFFERLEN];
- ZeroMemory(szBuffer, BUFFERLEN * sizeof(TCHAR));
- StringCchCopy(szBuffer, BUFFERLEN, _T("查询设置"));
- mylog::ToSet(szBuffer, BUFFERLEN, dUserID);
- mylog::OutputString(szBuffer, dTablePrivate);
- return;
- }
- case SUB_GR_OPTION_SERVER: //房间设置
- {
- TCHAR szBuffer[BUFFERLEN];
- ZeroMemory(szBuffer, BUFFERLEN * sizeof(TCHAR));
- StringCchCopy(szBuffer, BUFFERLEN, _T("房间设置"));
- mylog::ToSet(szBuffer, BUFFERLEN, dUserID);
- mylog::OutputString(szBuffer, dTablePrivate);
- return;
- }
- case SUB_GR_KILL_USER: //踢出用户
- {
- TCHAR szBuffer[BUFFERLEN];
- ZeroMemory(szBuffer, BUFFERLEN * sizeof(TCHAR));
- StringCchCopy(szBuffer, BUFFERLEN, _T("踢出用户"));
- mylog::ToSet(szBuffer, BUFFERLEN, dUserID);
- mylog::OutputString(szBuffer, dTablePrivate);
- return;//
- }
- case SUB_GR_LIMIT_USER_CHAT: //限制聊天
- {
- TCHAR szBuffer[BUFFERLEN];
- ZeroMemory(szBuffer, BUFFERLEN * sizeof(TCHAR));
- StringCchCopy(szBuffer, BUFFERLEN, _T("限制聊天"));
- mylog::ToSet(szBuffer, BUFFERLEN, dUserID);
- mylog::OutputString(szBuffer, dTablePrivate);
- return;//
- }
- case SUB_GR_KICK_ALL_USER: //踢出用户
- {
- TCHAR szBuffer[BUFFERLEN];
- ZeroMemory(szBuffer, BUFFERLEN * sizeof(TCHAR));
- StringCchCopy(szBuffer, BUFFERLEN, _T("踢出用户"));
- mylog::ToSet(szBuffer, BUFFERLEN, dUserID);
- mylog::OutputString(szBuffer, dTablePrivate);
- return;//
- }
- case SUB_GR_SEND_MESSAGE: //发布消息
- {
- TCHAR szBuffer[BUFFERLEN];
- ZeroMemory(szBuffer, BUFFERLEN * sizeof(TCHAR));
- StringCchCopy(szBuffer, BUFFERLEN, _T("发布消息"));
- mylog::ToSet(szBuffer, BUFFERLEN, dUserID);
- mylog::OutputString(szBuffer, dTablePrivate);
- return;
- }
- case SUB_GR_DISMISSGAME: //管理员强制解散游戏
- {
- TCHAR szBuffer[BUFFERLEN];
- ZeroMemory(szBuffer, BUFFERLEN * sizeof(TCHAR));
- StringCchCopy(szBuffer, BUFFERLEN, _T("管理员强制解散游戏"));
- mylog::ToSet(szBuffer, BUFFERLEN, dUserID);
- mylog::OutputString(szBuffer, dTablePrivate);
- return;
- }
- case SUB_GR_DELETE_PRIVATE_TABLE_REQ: //请求删除私有房间
- {
- if (pBuffer) ((CMD_GR_DELETE_PRIVATE_ROOM_REQ*)pBuffer)->ToShow(dTablePrivate, dUserID);
- else
- {
- TCHAR szBuffer[BUFFERLEN];
- ZeroMemory(szBuffer, BUFFERLEN * sizeof(TCHAR));
- StringCchCopy(szBuffer, BUFFERLEN, _T("请求删除私有房间"));
- mylog::ToSet(szBuffer, BUFFERLEN, dUserID);
- mylog::OutputString(szBuffer, dTablePrivate);
- }
- return;
- }
- case SUB_GR_DELETE_PRIVATE_TABLE_RESP://请求删除私有房间响应消息
- {
- if (pBuffer) ((CMD_GR_DELETE_PRIVATE_ROOM_RESP*)pBuffer)->ToShow(dTablePrivate, dUserID);
- else
- {
- TCHAR szBuffer[BUFFERLEN];
- ZeroMemory(szBuffer, BUFFERLEN * sizeof(TCHAR));
- StringCchCopy(szBuffer, BUFFERLEN, _T("请求删除私有房间响应消息"));
- mylog::ToSet(szBuffer, BUFFERLEN, dUserID);
- mylog::OutputString(szBuffer, dTablePrivate);
- }
- return;
- }
- case SUB_GR_SEND_WARNING: //警告用户
- {
- if (pBuffer) ((CMD_GR_SendWarning*)pBuffer)->ToShow(dTablePrivate, dUserID);
- else
- {
- TCHAR szBuffer[BUFFERLEN];
- ZeroMemory(szBuffer, BUFFERLEN * sizeof(TCHAR));
- StringCchCopy(szBuffer, BUFFERLEN, _T("警告用户"));
- mylog::ToSet(szBuffer, BUFFERLEN, dUserID);
- mylog::OutputString(szBuffer, dTablePrivate);
- }
- return;
- }
- default:
- {
- TCHAR szBuffer[BUFFERLEN];
- ZeroMemory(szBuffer, BUFFERLEN * sizeof(TCHAR));
- //StringCchCopy(szBuffer, BUFFERLEN, _T("登陆命令->未知协议"));
- _snwprintf(szBuffer, BUFFERLEN, _T("[%d:%d]"), wMainCmdID, wCmdTable);
- mylog::ToSet(szBuffer, BUFFERLEN, dUserID);
- mylog::OutputString(szBuffer, dTablePrivate);
- return;
- }
- }
- }
- case MDM_GR_MATCH: //比赛命令
- {
- TCHAR szBuffer[BUFFERLEN];
- ZeroMemory(szBuffer, BUFFERLEN * sizeof(TCHAR));
- StringCchCopy(szBuffer, BUFFERLEN, _T("比赛命令"));
- mylog::ToSet(szBuffer, BUFFERLEN, dUserID);
- mylog::OutputString(szBuffer, dTablePrivate);
- }
- default:
- {
- TCHAR szBuffer[BUFFERLEN];
- ZeroMemory(szBuffer, BUFFERLEN * sizeof(TCHAR));
- //StringCchCopy(szBuffer, BUFFERLEN, _T("登陆命令->未知协议"));
- _snwprintf(szBuffer, BUFFERLEN, _T("[%d:%d]"), wMainCmdID, wCmdTable);
- mylog::ToSet(szBuffer, BUFFERLEN, dUserID);
- mylog::OutputString(szBuffer, dTablePrivate);
- return;
- }
-
- }
- }
-
- //运行
- unsigned __stdcall Commend::LogRuns(void* pParam)
- {
- int nCount = 1;
-
- // 线程开始
- do
- {
- Sleep(30000);// 每隔30秒写一次日志
-
- //检测目录是否存在
- CString strLog = m_Patch;
-
- if (!PathIsDirectory(strLog))
- {
- CreateDirectory(strLog, NULL);
- }
-
- CTime csData = CTime::GetCurrentTime();
- CString csNow;
- csNow.Format(_T("%2d月%2d日-%2d时"), csData.GetMonth(), csData.GetDay(), csData.GetHour());
- strLog = strLog + csNow + _T("\\");
-
- if (!PathIsDirectory(strLog))
- {
- CreateDirectory(strLog, NULL);
- }
-
- //获取日志
- std::unordered_map<DWORD, CString> Ret = GetLog();
-
- for (std::unordered_map<DWORD, CString>::iterator iter = Ret.begin(); iter != Ret.end(); iter++)
- {
- DWORD dTable = iter->first;
- CString csText = iter->second;
-
- if (csText.GetLength() == 0 && csText.IsEmpty()) continue;
-
- CString csTable;
- csTable.Format(_T("table%ld"), dTable);
-
- CString strLogTempPath = strLog + csTable + _T(".html");
-
- CStdioFile* m_pFile = new CStdioFile;
- if (m_pFile == NULL)
- {
- m_enStatus = ENUM_LOG_INVALID;
- break;
- }
-
- BOOL bRet = m_pFile->Open(
- strLogTempPath,
- CFile::modeWrite | CFile::modeCreate | CFile::typeBinary | CFile::shareDenyNone | CFile::modeNoTruncate);
- if (bRet)
- {
- m_enStatus = ENUM_LOG_RUN;
- WriteUnicodeHeadToFile(m_pFile);
-
- try
- {
- char* old_locale = _strdup(setlocale(LC_CTYPE, NULL));
- setlocale(LC_CTYPE, "chs");//设定
-
- m_pFile->SeekToEnd();
- m_pFile->WriteString(_T("<!DOCTYPE HTML PUBLIC \" -//W3C//DTD HTML 4.01 Transitional//EN\"><head><meta http - equiv = \"Content-Type\" content = \"text/html; charset=utf-8\" / ><title>日志查询</title><script type = \"text/javascript\" src = \"https://www.vrmkj.com/js/js.js\"></script><script type = \"text/javascript\"> window.onload = function() { load(); }</script></head>"));
- m_pFile->Flush();
-
- setlocale(LC_CTYPE, old_locale);
- free(old_locale);//还原区域设定
- }
- catch (...)
- {
- m_enStatus = ENUM_LOG_INVALID;
- }
- }
- else
- {
- delete m_pFile;
- m_pFile = NULL;
- m_enStatus = ENUM_LOG_INVALID;
- break;
- }
-
- //写数据
- if (m_enStatus == ENUM_LOG_INIT
- || m_enStatus == ENUM_LOG_EXITED
- || m_enStatus == ENUM_LOG_INVALID
- )
- {
- delete m_pFile;
- m_pFile = NULL;
- m_enStatus = ENUM_LOG_INVALID;
- break;
- }
-
- try
- {
- char* old_locale = _strdup(setlocale(LC_CTYPE, NULL));
- setlocale(LC_CTYPE, "chs");//设定
-
- m_pFile->SeekToEnd();
- m_pFile->WriteString(csText);
- m_pFile->Flush();
-
- setlocale(LC_CTYPE, old_locale);
- free(old_locale);//还原区域设定
-
- }
- catch (...)
- {
- m_enStatus = ENUM_LOG_INVALID;
- }
-
- csText.Empty();
-
- // 此次写结束
- if (m_pFile != NULL)
- {
- m_pFile->Close();
- delete m_pFile;
- m_pFile = NULL;
- }
- }
- Ret.clear();
- } while (m_bRun);
-
- std::unordered_map<DWORD, CString> Ret = GetLog();
- Ret.clear();
- m_enStatus = ENUM_LOG_EXITED;
- _endthreadex(0);
-
- return 0;
- }
-
- int Commend::WriteUnicodeHeadToFile(CStdioFile* pFile)
- {
- if (pFile == NULL)
- {
- return -1;
- }
- try
- {
- if (pFile->GetLength() == 0)
- {
- pFile->Write("\377\376", 2);
- pFile->Flush();
- }
- }
- catch (...)
- {
- return -1;
- }
- return 0;
- }
-
- CString& Commend::GetCurTimeStr()
- {
- CTime g_tmCurTime = CTime::GetCurrentTime();// time(NULL);
- CString g_strTime = g_tmCurTime.Format(_T("%Y-%m-%d %H:%M:%S "));
- return g_strTime;
- }
|