Files
2026-02-13 14:34:15 +08:00

998 lines
30 KiB
C++

#ifndef DATA_BASE_PACKET_HEAD_FILE
#define DATA_BASE_PACKET_HEAD_FILE
//////////////////////////////////////////////////////////////////////////////////
//请求数据包
//用户事件
#define DBR_GR_LOGON_USERID 100 //I D 登录
#define DBR_GR_LOGON_MOBILE 101 //手机登录
#define DBR_GR_LOGON_ACCOUNTS 102 //帐号登录
//系统事件
#define DBR_GR_WRITE_GAME_SCORE 200 //游戏积分
#define DBR_GR_LEAVE_GAME_SERVER 201 //离开房间
#define DBR_GR_GAME_SCORE_RECORD 202 //积分记录
#define DBR_GR_MANAGE_USER_RIGHT 203 //权限管理
#define DBR_GR_LOAD_SYSTEM_MESSAGE 204 //系统消息
#define DBR_GR_LOAD_SENSITIVE_WORDS 205 //敏感词
#define DBR_GR_PRIVATE_GAME_RECORD 206 //私人场游戏记录
#define DBR_GR_UNLOCK_ANDROID_USER 207 //解锁机器人
#define DBR_GR_LOAD_CARD_LIBRARY 208 //加载牌库
#define DBR_GR_SINGLE_PRIVATE_RECORD 209 //单场游戏记录;
#define DBR_GR_PRIVATE_GAME_END 210 //私人场结束
#define DBR_GR_LOAD_CARD_LIB_CFG 211 //牌库全局配置;
#define DBR_GR_UNLOCK_ALL_USER 212 //清空所有锁定玩家;
#define DBR_GR_RESET_DATEBASE_INF 213 //重置数据库信息;
//配置事件
#define DBR_GR_LOAD_PARAMETER 300 //加载参数
#define DBR_GR_LOAD_GAME_COLUMN 301 //加载列表
#define DBR_GR_LOAD_ANDROID_PARAMETER 302 //加载参数
#define DBR_GR_LOAD_ANDROID_USER 303 //加载机器
#define DBR_GR_LOAD_GAME_PROPERTY 304 //加载道具
//银行事件
#define DBR_GR_USER_SAVE_SCORE 400 //存入游戏币
#define DBR_GR_USER_TAKE_SCORE 401 //提取游戏币
#define DBR_GR_USER_TRANSFER_SCORE 402 //转账游戏币
#define DBR_GR_QUERY_INSURE_INFO 403 //查询银行
#define DBR_GR_QUERY_TRANSFER_USER_INFO 404 //查询用户
//游戏事件
#define DBR_GR_PROPERTY_REQUEST 500 //购买礼物
#define DBR_GR_GAME_FRAME_REQUEST 502 //游戏请求
//比赛事件
#define DBR_GR_MATCH_SIGNUP 600 //比赛费用
#define DBR_GR_MATCH_UNSIGNUP 601 //退出比赛
#define DBR_GR_MATCH_START 602 //比赛开始
#define DBR_GR_MATCH_OVER 603 //比赛结束
#define DBR_GR_MATCH_REWARD 604 //比赛奖励
#define DBR_GR_MATCH_ENTER_FOR 605 //报名进入
#define DBR_GR_MATCH_ELIMINATE 606 //比赛淘汰
#define DBR_GR_MATCH_RECORD_GRADES 607 //记录成绩
#define DBR_GR_MATCH_LOADRANKDATA 608 //加载排行榜数据
//游戏事件
#define DBR_GR_BEGINNER_GAME_TIME 700
//私人场事件
#define DBR_GR_PRIVATE_INFO 800 //私人场信息
#define DBR_GR_CREATE_PRIVAT 801 //创建私人场
#define DBR_GR_CREATE_PRIVAT_COST 802 //返还私人场
#define DBR_GR_CREATE_UNION_ROOM 803 //创建公会房
#define DBR_GR_UNION_ROOM_USER 804 //记录工会房玩家
#define DBR_GR_DISMISS_UNION_ROOM 805 //解散工会房
#define DBR_GR_JOIN_UNION_ROOM 806 //加入工会房间
#define DBR_GR_UNION_ROOM_END 807 //工会房间结束
#define DBR_GR_WRITE_UNION_SCORE 808 //写工会玩家积分
#define DBR_GR_UNION_ROOM_INFO 809 //加载工会房间信息
#define DBR_GR_AUTO_UNION_ROOM 810 //自动开房
#define DBR_GR_ADD_AUTO_ROOM_INFO 811 //增加自动开房信息
#define DBR_GR_DEL_AUTO_ROOM_INFO 812 //删除自动开房信息
#define DBR_GR_WRITE_UNION_CHAIRID 813 //写工会房间椅子号
//////////////////////////////////////////////////////////////////////////////////
//输出信息
//逻辑事件
#define DBO_GR_LOGON_SUCCESS 100 //登录成功
#define DBO_GR_LOGON_FAILURE 101 //登录失败
//配置事件
#define DBO_GR_GAME_PARAMETER 200 //配置信息
#define DBO_GR_GAME_COLUMN_INFO 201 //列表信息
#define DBO_GR_GAME_ANDROID_PARAMETER 202 //参数信息
#define DBO_GR_GAME_ANDROID_INFO 203 //机器信息
#define DBO_GR_GAME_UNLOCK_ANDROID 204 //解锁机器
#define DBO_GR_GAME_PROPERTY_INFO 205 //道具信息
#define DBO_GR_GAME_CARD_LIBRARY 206 //加载牌库
#define DBO_GR_GAME_CARD_LIB_CFG 207 //牌库配置
//银行命令
#define DBO_GR_USER_INSURE_INFO 300 //银行资料
#define DBO_GR_USER_INSURE_SUCCESS 301 //银行成功
#define DBO_GR_USER_INSURE_FAILURE 302 //银行失败
#define DBO_GR_USER_INSURE_USER_INFO 303 //用户资料
//游戏事件
#define DBO_GR_PROPERTY_SUCCESS 400 //道具成功
#define DBO_GR_PROPERTY_FAILURE 401 //道具失败
#define DBO_GR_GAME_FRAME_RESULT 402 //游戏结果
//比赛事件
#define DBO_GR_MATCH_EVENT_START 500 //比赛标识
#define DBO_GR_MATCH_SIGNUP_RESULT 500 //报名结果
#define DBO_GR_MATCH_UNSIGNUP_RESULT 501 //退赛结果
#define DBO_GR_MATCH_RANK_LIST 502 //比赛排行
#define DBO_GR_MATCH_REWARD_RESULT 503 //奖励结果
#define DBO_GR_MATCH_RANKDATA_LIST 504 //比赛排行
#define DBO_GR_MATCH_EVENT_END 599 //比赛标识
//系统事件
#define DBO_GR_SYSTEM_MESSAGE_RESULT 600 //消息结果
#define DBO_GR_SENSITIVE_WORDS 601 //敏感词
//私人场事件
#define DBO_GR_PRIVATE_EVENT_START 700 //私人场开始标识
#define DBO_GR_PRIVATE_INFO 701 //私人场信息
#define DBO_GR_CREATE_PRIVATE 702 //私人场信息
#define DBO_GR_SINGLE_RECORD 703 //单场游戏记录;
#define DBO_GR_CREATE_UNION_ROOM 704 //返还私人场
#define DBO_GR_JOIN_UNION_ROOM 705 //加入结果
#define DBO_GR_UnionRoomInfo 706 //工会房间信息;
#define DBO_GR_AUTO_CREATE 707 //私人场信息
#define DBO_GR_ADD_AUTO_SUCC 708 //增加自动开房成功
#define DBO_GR_ADD_AUTO_ERR 709 //增加自动开房失败
#define DBO_GR_DEL_AUTO_RESULTE 710 //删除自动开房结果
#define DBO_GR_PRIVATE_EVENT_END 799 //私人场结束标识
//////////////////////////////////////////////////////////////////////////////////
//ID 登录
struct DBR_GR_LogonUserID
{
//登录信息
DWORD dwUserID; //用户 I D
TCHAR szPassword[LEN_MD5]; //登录密码
//附加信息
DWORD dwMatchID; //比赛标识
DWORD dwMatchNO; //比赛编号
DWORD dwClientAddr; //连接地址
TCHAR szMachineID[LEN_MACHINE_ID]; //机器标识
};
//ID 登录
struct DBR_GR_LogonMobile
{
//登录信息
DWORD dwUserID; //用户 I D
TCHAR szPassword[LEN_MD5]; //登录密码
BYTE cbDeviceType; //设备类型
WORD wBehaviorFlags; //行为标识
WORD wPageTableCount; //分页桌数
//附加信息
DWORD dwMatchID; //比赛标识
DWORD dwMatchNO; //比赛编号
DWORD dwClientAddr; //连接地址
TCHAR szMachineID[LEN_MACHINE_ID]; //机器标识
};
//帐号登录
struct DBR_GR_LogonAccounts
{
//登录信息
TCHAR szPassword[LEN_MD5]; //登录密码
TCHAR szAccounts[LEN_ACCOUNTS]; //登录帐号
//附加信息
DWORD dwClientAddr; //连接地址
TCHAR szMachineID[LEN_MACHINE_ID]; //机器标识
};
//加载机器
struct DBR_GR_LoadAndroidUser
{
DWORD dwBatchID; //批次标识
DWORD dwAndroidCount; //机器数目
};
//游戏积分
struct DBR_GR_WriteGameScore
{
//用户信息
DWORD dwUserID; //用户标识
DWORD dwClientAddr; //连接地址
//用户信息
DWORD dwDBQuestID; //请求标识
DWORD dwInoutIndex; //进出索引
//成绩变量
tagVariationInfo VariationInfo; //提取信息
//比赛信息
DWORD dwMatchID; //比赛标识
DWORD dwMatchNO; //比赛场次
};
//新手引导记录
struct DBR_GR_Beginner_InGame
{
//用户信息
DWORD dwUserID; //用户标识
};
//离开房间
struct DBR_GR_LeaveGameServer
{
//用户信息
DWORD dwUserID; //用户标识
DWORD dwInoutIndex; //记录索引
DWORD dwLeaveReason; //离开原因
DWORD dwOnLineTimeCount; //在线时长
//成绩变量
tagVariationInfo RecordInfo; //记录信息
tagVariationInfo VariationInfo; //提取信息
//系统信息
DWORD dwClientAddr; //连接地址
TCHAR szMachineID[LEN_MACHINE_ID]; //机器标识
};
struct DBR_GR_GameScoreRecord
{
DBR_GR_GameScoreRecord()
{
wTableID = 0;
wUserCount = 0;
wAndroidCount = 0;
dwPrivateID = 0;
lWasteCount = 0;
lRevenueCount = 0;
dwUserMemal = 0;
dwPlayTimeCount = 0;
wRecordCount = 0;
ZeroMemory(&SystemTimeStart, sizeof(SystemTimeStart));
ZeroMemory(&SystemTimeConclude, sizeof(SystemTimeConclude));
}
//桌子信息
WORD wTableID; //桌子号码
WORD wUserCount; //用户数目
WORD wAndroidCount; //机器数目
DWORD dwPrivateID; //私人房标识
//损耗税收
SCORE lWasteCount; //损耗数目
SCORE lRevenueCount; //税收数目
//统计信息
DWORD dwUserMemal; //奖牌数目
DWORD dwPlayTimeCount; //游戏时间
//积分记录
WORD wRecordCount; //记录数目
//时间信息
SYSTEMTIME SystemTimeStart; //开始时间
SYSTEMTIME SystemTimeConclude; //结束时间
DataStream dataGameDefine;
std::vector<tagGameScoreRecord> GameScoreRecord; //游戏记录
void StreamValue(DataStream& kData,bool bSend)
{
Stream_VALUE(wTableID);
Stream_VALUE(wUserCount);
Stream_VALUE(wAndroidCount);
Stream_VALUE(dwPrivateID);
Stream_VALUE(lWasteCount);
Stream_VALUE(lRevenueCount);
Stream_VALUE(dwUserMemal);
Stream_VALUE(dwPlayTimeCount);
Stream_VALUE(wRecordCount);
Stream_VALUE_SYSTEMTIME(SystemTimeStart);
Stream_VALUE_SYSTEMTIME(SystemTimeConclude);
Stream_VALUE(dataGameDefine);
StructVecotrMember(tagGameScoreRecord,GameScoreRecord);
}
};
//私人场记录
struct BR_GR_PrivateRandTotalRecord
{
DWORD dwPrivateID; //私人房标识
int iRoomNum;
std::vector<int> kUserID;
std::vector<std::string> kNickName;
std::vector<int> kToatlScore;
SYSTEMTIME kPlayTime;
void StreamValue(DataStream& kData,bool bSend)
{
Stream_VALUE(dwPrivateID);
Stream_VALUE(iRoomNum);
StructVecotr(int, kUserID);
Stream_VALUE(kNickName);
StructVecotr(int, kToatlScore);
Stream_VALUE_SYSTEMTIME(kPlayTime);
}
};
//存入游戏币
struct DBR_GR_UserSaveScore
{
BYTE cbActivityGame; //游戏动作
DWORD dwUserID; //用户 I D
SCORE lSaveScore; //存入游戏币
DWORD dwClientAddr; //连接地址
TCHAR szMachineID[LEN_MACHINE_ID]; //机器序列
};
//取出游戏币
struct DBR_GR_UserTakeScore
{
BYTE cbActivityGame; //游戏动作
DWORD dwUserID; //用户 I D
SCORE lTakeScore; //提取游戏币
DWORD dwClientAddr; //连接地址
TCHAR szPassword[LEN_PASSWORD]; //银行密码
TCHAR szMachineID[LEN_MACHINE_ID]; //机器序列
};
//转账游戏币
struct DBR_GR_UserTransferScore
{
BYTE cbActivityGame; //游戏动作
DWORD dwUserID; //用户 I D
DWORD dwClientAddr; //连接地址
BYTE cbByNickName; //昵称赠送
SCORE lTransferScore; //转账游戏币
TCHAR szNickName[LEN_NICKNAME]; //目标用户
TCHAR szPassword[LEN_PASSWORD]; //银行密码
TCHAR szMachineID[LEN_MACHINE_ID]; //机器序列
};
//查询银行
struct DBR_GR_QueryInsureInfo
{
BYTE cbActivityGame; //游戏动作
DWORD dwUserID; //用户 I D
DWORD dwClientAddr; //连接地址
};
//查询用户
struct DBR_GR_QueryTransferUserInfo
{
BYTE cbActivityGame; //游戏动作
BYTE cbByNickName; //昵称赠送
TCHAR szNickName[LEN_NICKNAME]; //目标用户
DWORD dwUserID; //用户 I D
};
//道具请求
struct DBR_GR_PropertyRequest
{
//购买信息
WORD wItemCount; //购买数目
WORD wPropertyIndex; //道具索引
DWORD dwSourceUserID; //购买对象
DWORD dwTargetUserID; //使用对象
//消费模式
BYTE cbRequestArea; //使用范围
BYTE cbConsumeScore; //积分消费
SCORE lFrozenedScore; //冻结积分
//用户权限
DWORD dwUserRight; //会员权限
//系统信息
WORD wTableID; //桌子号码
DWORD dwInoutIndex; //进入标识
DWORD dwClientAddr; //连接地址
TCHAR szMachineID[LEN_MACHINE_ID]; //机器序列
};
//////////////////////////////////////////////////////////////////////////////////
//登录成功
struct DBO_GR_LogonSuccess
{
//属性资料
WORD wFaceID; //头像标识
DWORD dwUserID; //用户 ID
DWORD dwGameID; //游戏 ID
DWORD dwGroupID; //社团 ID
DWORD dwCustomID; //自定头像
TCHAR szNickName[LEN_NICKNAME]; //帐号昵称
TCHAR szGroupName[LEN_GROUP_NAME]; //社团名字
//用户资料
BYTE cbGender; //用户性别
BYTE cbMemberOrder; //会员等级
BYTE cbMasterOrder; //管理等级
TCHAR szUnderWrite[LEN_UNDER_WRITE]; //个性签名
//积分信息
SCORE lScore; //用户分数
SCORE lGrade; //用户成绩
SCORE lInsure; //用户银行
//游戏信息
BYTE cbScoreMultiple; //积分倍数
DWORD dwWinCount; //胜利盘数
DWORD dwLostCount; //失败盘数
DWORD dwDrawCount; //和局盘数
DWORD dwFleeCount; //逃跑盘数
DWORD dwUserMedal; //用户奖牌
DWORD dwExperience; //用户经验
LONG lLoveLiness; //用户魅力
//用户权限
DWORD dwUserRight; //用户权限
DWORD dwMasterRight; //管理权限
//索引变量
DWORD dwInoutIndex; //记录索引
TCHAR szMachineID[LEN_MACHINE_ID]; //机器标识
//手机定义
BYTE cbDeviceType; //设备类型
WORD wBehaviorFlags; //行为标识
WORD wPageTableCount; //分页桌数
//牌库变量
DWORD dwCardLibIndex; //使用牌库索引
DWORD dwStartLibTime; //牌库开始使用时间
DWORD dwStopLibTime; //牌库结束使用时间
BYTE cbCardLibEnabled; //牌库有效标志
//辅助信息
TCHAR szPassword[LEN_MD5]; //登录密码
TCHAR szHeadHttp[LEN_USER_NOTE]; //登录IP
TCHAR szDescribeString[128]; //错误消息
};
//登录失败
struct DBO_GR_LogonFailure
{
LONG lResultCode; //错误代码
TCHAR szDescribeString[128]; //错误消息
};
//配置信息
struct DBO_GR_GameParameter
{
//汇率信息
WORD wMedalRate; //奖牌汇率
WORD wRevenueRate; //银行税收
//版本信息
DWORD dwClientVersion; //客户版本
DWORD dwServerVersion; //服务版本
};
//列表信息
struct DBO_GR_GameColumnInfo
{
LONG lResultCode; //结果代码
BYTE cbColumnCount; //列表数目
tagColumnItem ColumnItemInfo[MAX_COLUMN]; //列表信息
};
//机器信息
struct DBO_GR_GameAndroidParameter
{
LONG lResultCode; //结果代码
WORD wParameterCount; //参数数目
tagAndroidParameter AndroidParameter[MAX_BATCH]; //机器信息
};
//机器信息
struct DBO_GR_GameAndroidInfo
{
LONG lResultCode; //结果代码
DWORD dwBatchID; //批次标识
WORD wAndroidCount; //用户数目
tagAndroidAccountsInfo AndroidAccountsInfo[MAX_ANDROID]; //机器帐号
};
//道具信息
struct DBO_GR_GamePropertyInfo
{
LONG lResultCode; //结果代码
BYTE cbPropertyCount; //道具数目
tagPropertyInfo PropertyInfo[MAX_PROPERTY]; //道具信息
};
//银行资料
struct DBO_GR_UserInsureInfo
{
BYTE cbActivityGame; //游戏动作
WORD wRevenueTake; //税收比例
WORD wRevenueTransfer; //税收比例
WORD wServerID; //房间标识
SCORE lUserScore; //用户游戏币
SCORE lUserInsure; //银行游戏币
SCORE lTransferPrerequisite; //转账条件
};
//银行成功
struct DBO_GR_UserInsureSuccess
{
BYTE cbActivityGame; //游戏动作
DWORD dwUserID; //用户 I D
SCORE lSourceScore; //原来游戏币
SCORE lSourceInsure; //原来游戏币
SCORE lInsureRevenue; //银行税收
SCORE lFrozenedScore; //冻结积分
SCORE lVariationScore; //游戏币变化
SCORE lVariationInsure; //银行变化
TCHAR szDescribeString[128]; //描述消息
};
//银行失败
struct DBO_GR_UserInsureFailure
{
BYTE cbActivityGame; //游戏动作
LONG lResultCode; //操作代码
SCORE lFrozenedScore; //冻结积分
TCHAR szDescribeString[128]; //描述消息
};
//用户资料
struct DBO_GR_UserTransferUserInfo
{
BYTE cbActivityGame; //游戏动作
DWORD dwGameID; //用户 I D
TCHAR szNickName[LEN_NICKNAME]; //帐号昵称
};
//道具成功
struct DBO_GR_S_PropertySuccess
{
//道具信息
WORD wItemCount; //购买数目
WORD wPropertyIndex; //道具索引
DWORD dwSourceUserID; //购买对象
DWORD dwTargetUserID; //使用对象
//消费模式
BYTE cbRequestArea; //请求范围
BYTE cbConsumeScore; //积分消费
SCORE lFrozenedScore; //冻结积分
//会员权限
DWORD dwUserRight; //会员权限
//结果信息
SCORE lConsumeGold; //消费游戏币
LONG lSendLoveLiness; //赠送魅力
LONG lRecvLoveLiness; //接受魅力
//会员信息
BYTE cbMemberOrder; //会员等级
};
//道具失败
struct DBO_GR_PropertyFailure
{
BYTE cbRequestArea; //请求范围
LONG lResultCode; //操作代码
SCORE lFrozenedScore; //冻结积分
TCHAR szDescribeString[128]; //描述消息
};
//牌库;
struct DBO_GR_GameCardLibrary
{
WORD wKindID;
DWORD dwLibID;
DWORD dwCustomID;
BYTE cbCardCount;
TCHAR szCardData[128];
};
//牌库配置;
struct DBO_GR_GameCardLibraryCfg
{
BYTE cbEnable; //牌库是否有效;
DWORD dwCount; //牌库数量;
DWORD dwStartDateTime; //开始时间;
DWORD dwEndDateTime; //结算时间;
};
//报名结果
struct DBO_GR_MatchSingupResult
{
bool bResultCode; //结果代码
DWORD dwUserID; //用户标识
SCORE lCurrGold; //当前金币
SCORE lCurrIngot; //当前元宝
TCHAR szDescribeString[128]; //描述消息
};
//排行信息
struct tagMatchRankInfo
{
WORD wRankID; //比赛名次
DWORD dwUserID; //用户标识
SCORE lMatchScore; //比赛分数
SCORE lRewardGold; //奖励金币
DWORD dwRewardIngot; //奖励元宝
DWORD dwRewardExperience; //奖励经验
SCORE lInsureSocre; //房卡;
DWORD dwGoodsID; //物品ID;
DWORD dwGoodsNum; //物品Num;
};
//比赛排行
struct DBO_GR_MatchRankList
{
WORD wUserCount; //用户数目
DWORD dwMatchID; //比赛标识
DWORD dwMatchNO; //比赛场次
tagMatchRankInfo MatchRankInfo[128]; //奖励信息
};
struct tagMatchRankDataInfo
{
WORD wRankID;
DWORD dwUserID;
SCORE lFinishMaxScore; //用户完成局数最好的成绩;
SCORE lScore; //用户最好的成绩;
TCHAR szNickName[LEN_NICKNAME];
};
struct DBO_GR_MatchRankDataList
{
WORD wUserCount; //用户数目
DWORD dwMatchID; //比赛标识
DWORD dwMatchNO; //比赛场次
tagMatchRankDataInfo MatchRankInfo[64]; //奖励信息
};
//权限管理
struct DBR_GR_ManageUserRight
{
DWORD dwUserID; //目标用户
DWORD dwAddRight; //添加权限
DWORD dwRemoveRight; //删除权限
bool bGameRight; //游戏权限
};
//权限管理
struct DBR_GR_ManageMatchRight
{
DWORD dwUserID; //目标用户
DWORD dwAddRight; //添加权限
DWORD dwRemoveRight; //删除权限
DWORD dwMatchID; //比赛标识
DWORD dwMatchNO; //比赛场次
};
//比赛报名
struct DBR_GR_MatchSignup
{
//报名费用
DWORD dwUserID; //用户ID
SCORE lMatchFee; //报名费用
//系统信息
DWORD dwInoutIndex; //进入标识
DWORD dwClientAddr; //连接地址
DWORD dwMatchID; //比赛ID
DWORD dwMatchNO; //比赛场次
BYTE cbMatchType; //比赛类型
TCHAR szMachineID[LEN_MACHINE_ID]; //机器序列
};
//比赛开始
struct DBR_GR_MatchStart
{
WORD wServerID; //房间标识
BYTE cbMatchType; //比赛类型
DWORD dwMatchID; //比赛标识
DWORD dwMatchNO; //比赛场次
};
//比赛结束
struct DBR_GR_MatchOver
{
WORD wServerID; //房间标识
BYTE cbMatchType; //比赛类型
BOOL bMatchFinish; //比赛完成
WORD wPlayCount; //游戏局数
DWORD dwMatchID; //比赛标识
DWORD dwMatchNO; //比赛场次
SYSTEMTIME MatchStartTime; //开始时间
SYSTEMTIME MatchEndTime; //结束时间
};
//比赛淘汰
struct DBR_GR_MatchEliminate
{
DWORD dwUserID; //用户标识
WORD wServerID; //房间标识
BYTE cbMatchType; //比赛类型
DWORD dwMatchID; //比赛标识
DWORD dwMatchNO; //比赛场次
};
//比赛奖励
struct DBR_GR_MatchReward
{
DWORD dwUserID; //用户 I D
SCORE lRewardGold; //奖励金币
DWORD dwRewardIngot; //奖励元宝
DWORD dwRewardExperience; //用户经验
SCORE lInsureSocre; //房卡;
DWORD dwClientAddr; //连接地址
DWORD dwGoodsID; //物品ID;
DWORD dwGoodsNum; //物品Num;
};
//奖励结果
struct DBR_GR_MatchRewardResult
{
bool bResultCode; //结果代码
DWORD dwUserID; //用户标识
SCORE lCurrGold; //当前金币
SCORE lCurrIngot; //当前元宝
DWORD dwCurrExperience; //当前经验
SCORE lInsureSocre; //房卡;
};
//记录成绩
struct DBR_GR_MatchRecordGrades
{
//比赛信息
DWORD dwUserID; //用户标识
DWORD dwMatchID; //比赛标识
WORD wServerID; //房间标识
SCORE lMatchNo; //比赛场次
SCORE lInitScore; //初始分数
};
//系统消息
struct DBR_GR_SystemMessage
{
BYTE cbMessageID; //消息ID
BYTE cbMessageType; //消息类型
BYTE cbAllRoom; //全体房间
DWORD dwTimeRate; //时间频率
TCHAR szSystemMessage[LEN_USER_CHAT]; //系统消息
};
//比赛加载数据;
struct DBR_GR_MatchLoadRankData
{
DWORD dwMatchID; //比赛标识
DWORD dwMatchNO; //比赛场次
};
//////////////////////////////////////////////////////////////////////////////////
//私人场信息
struct DBR_GR_Private_Info
{
WORD wKindID;
};
//工会房信息
struct DBR_GR_UnionRoomInfo
{
WORD wServerID;
WORD wKindID;
};
//创建私人场
struct DBR_GR_Create_Private
{
WORD wKindID;
DWORD dwUserID;
DWORD dwDaikaiIndex; // 自动代开ID;
DWORD dwUnionCode; // 工会ID
BYTE cbUnionGoldOpen; // 1 欢乐场, 0普通;
DWORD dwCost;
DWORD dwCostType;
BYTE cbRoomType;
DWORD dwAgaginTable;
BYTE bPlayCoutIdex; //游戏局数
BYTE bGameTypeIdex; //游戏类型
DWORD bGameRuleIdex; //游戏规则
BYTE cbEnterRoomScoreType; //进房间时的分数类型;
SCORE lInitEnterRoomScore; //进入房间时的分数;
BYTE cbBaseScore; //低分;
};
//创建代开信息
struct DBR_GR_AutoRoomInfo
{
WORD wKindID; //服务器ID
WORD wServerID; //服务器ID
DWORD dwUserID; //会长ID;
BYTE cbGameType; //游戏类型(私人场)
BYTE bPlayCoutIdex; //游戏局数(0:8,1:16)
BYTE bPlayCout; //真实局数
BYTE bGameTypeIdex; //游戏类型
DWORD bGameRuleIdex; //游戏规则
BYTE cbEnterRoomScoreType; //进房间时的分数类型;
SCORE lInitEnterRoomScore; //进入房间时的分数;
BYTE cbBaseScore; //底分;
};
//登录失败
struct DBO_GR_AutoFailure
{
LONG lResultCode; //错误代码
TCHAR szDescribeString[128]; //错误消息
};
// 删除代开信息;
struct DBO_GR_DelAutoRoomInfo
{
DWORD dwUserID;
DWORD dwIndex; //用户 I D
WORD wServerID;
};
//创建私人场
struct DBR_GR_Create_Private_Cost
{
DWORD dwUserID;
WORD wKindID;
DWORD dwRoomID;
DWORD dwCost;
DWORD dwCostType;
DWORD dwGameRuleIdex; //游戏规则;
};
//创建工会房间
struct DBR_GR_Create_UnionRoom
{
WORD wServerID;
DWORD dwUnionCode; //工会码;
WORD wKindID; //游戏ID;
DWORD dwRoomID; //房间ID;
BYTE bPlayCoutIdex; //游戏局数
DWORD dwCost; //消耗数量;
DWORD dwCostType; //房间类型;
DWORD dwGameRuleIdex; //游戏规则;
DWORD dwCreaterUserID; //创建者;
BYTE cbBaseScore; //底分;
DWORD dwRecordID; //录像记录总表的索引ID;
};
//记录工会房游戏玩家
struct DBR_GR_UnionRoomUser
{
DWORD dwUnionConsumerID; //记录ID;
DBR_GR_Create_UnionRoom CreateUnionRoom; //房间信息;
BYTE cbUserCount; //参与者数量;
DWORD dwUserID[MAX_CHAIR]; //参与者;
};
//加入房间;
struct DBR_GR_WriteUnionRoomChairID
{
DWORD dwUnionConsumerID; //记录ID;
WORD wChairID;
DWORD dwUserID;
};
//工会房结束信息
struct DBR_GR_UnionRoomEnd
{
DWORD dwUnionConsumerID; //记录ID;
DWORD dwUnionCode; //工会码;
BYTE cbUserCount; //参与者数量;
DWORD dwUserID[MAX_CHAIR]; //参与者;
SCORE lUserScore[MAX_CHAIR]; //参与者积分;
SCORE lRevenue; //扣税点;
};
// 写每个玩家工会积分
struct DBR_GR_UnionScore
{
DWORD dwUserID;
DWORD dwUnoinCode;
SCORE lUserScore;
};
// 解散工会房间
struct DBR_GR_DismissUnionRoom
{
DWORD dwUnionCode; //工会码
DWORD dwUnionConsumerID; //记录ID;
DWORD dwCost; //消耗数量
};
// 加入工会房间;
struct DBR_GR_JoinUnionRoom
{
DWORD dwUnionCode; //工会码
DWORD dwUserID; //加入者
DWORD dwRoomID; //房间号
WORD wKindID; //游戏ID
BYTE cbUnionGoldOpen; //欢乐场
};
//创建工会房间成功
struct DBO_GR_CreateUnionRoomResult
{
DWORD dwRoomID; //房间ID
DWORD dwCreaterUserID; //创建者
DWORD dwUnionConsumerID; //记录ID
};
//私人场信息
struct DBO_GR_Private_Info
{
WORD wKindID;
SCORE lCostGold;
BYTE bPlayCout[4]; //玩家局数
SCORE lPlayCost[4]; //消耗点数
};
//创建私人场
struct DBO_GR_CreatePrivateResoult
{
BOOL bSucess;
DWORD dwDaikaiIndex; // 自动代开ID;
BYTE cbRoomType;
DWORD dwUnionCode; //工会ID
BYTE cbUnionGoldOpen; // 1 欢乐场, 0普通;
TCHAR szDescribeString[128]; //错误信息
SCORE lCurSocre; //当前剩余
DWORD dwAgaginTable; //重新加入桌子
BYTE bPlayCoutIdex; //玩家局数
BYTE bGameTypeIdex; //游戏类型
DWORD bGameRuleIdex; //游戏规则
BYTE cbEnterRoomScoreType; //进房间时的分数类型;
SCORE lInitEnterRoomScore; //进入房间时的分数;
BYTE cbBaseScore; //底分;
// 工会开房欢乐场;
SCORE lScoreMultiple; //倍数
SCORE lGameGold; //佣金
SCORE lUnionScore; //欢乐积分
DWORD dwRecordID; //录像记录总表的索引ID;
};
//加入工会房结果
struct DBO_GR_JoinUnionRoomResult
{
BOOL bSucess;
SCORE lUnionScore;
DWORD dwRoomID;
TCHAR szDescribeString[128]; //错误信息
};
//解锁机器人
struct DBR_GR_UnlockAndroidUser
{
WORD wServerID; //房间ID
WORD wBatchID; //批次ID
};
//单一游戏记录返回recordID;
struct DBO_GR_SingleGameRecord
{
DWORD dwCreaterUserID; //创建者;
DWORD dwRecordID; //游戏记录主表ID;
};
//私人场结束
struct DBO_GR_PrivateGameEnd
{
DWORD dwUserID;
SCORE lScore;
WORD wPlayCount;
DWORD dwCardLibIndex;
WORD wKindID;
WORD wServerID;
};
#endif