诸暨麻将添加redis
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

1089 lines
30 KiB

  1. #ifndef STRUCT_HEAD_FILE
  2. #define STRUCT_HEAD_FILE
  3. #pragma pack(1)
  4. //////////////////////////////////////////////////////////////////////////////////
  5. //游戏列表
  6. //游戏类型
  7. struct tagGameType
  8. {
  9. WORD wJoinID; //挂接索引
  10. WORD wSortID; //排序索引
  11. WORD wTypeID; //类型索引
  12. TCHAR szTypeName[LEN_TYPE]; //种类名字
  13. };
  14. //游戏种类
  15. struct tagGameKind
  16. {
  17. WORD wTypeID; //类型索引
  18. WORD wJoinID; //挂接索引
  19. WORD wSortID; //排序索引
  20. WORD wKindID; //类型索引
  21. WORD wGameID; //模块索引
  22. DWORD dwOnLineCount; //在线人数
  23. WORD wTableCount; //在线桌子
  24. WORD wFullTableCount; //满员桌子
  25. DWORD dwFullCount; //满员人数
  26. TCHAR szKindName[LEN_KIND]; //游戏名字
  27. TCHAR szProcessName[LEN_PROCESS]; //进程名字
  28. };
  29. //游戏节点
  30. struct tagGameNode
  31. {
  32. WORD wKindID; //名称索引
  33. WORD wJoinID; //挂接索引
  34. WORD wSortID; //排序索引
  35. WORD wNodeID; //节点索引
  36. TCHAR szNodeName[LEN_NODE]; //节点名称
  37. };
  38. //定制类型
  39. struct tagGamePage
  40. {
  41. WORD wPageID; //页面索引
  42. WORD wKindID; //名称索引
  43. WORD wNodeID; //节点索引
  44. WORD wSortID; //排序索引
  45. WORD wOperateType; //控制类型
  46. TCHAR szDisplayName[LEN_PAGE]; //显示名称
  47. };
  48. //游戏房间
  49. struct tagGameServer
  50. {
  51. WORD wKindID; //名称索引
  52. WORD wNodeID; //节点索引
  53. WORD wSortID; //排序索引
  54. WORD wServerID; //房间索引
  55. WORD wServerKind; //房间类型
  56. WORD wServerType; //房间类型
  57. WORD wServerPort; //房间端口
  58. SCORE lCellScore; //单元积分
  59. SCORE lEnterScore; //进入积分
  60. DWORD dwServerRule; //房间规则
  61. DWORD dwOnLineCount; //在线人数
  62. WORD wTableFullCount; //满员桌子数
  63. WORD wTableOnlineCount; //在线桌子数
  64. DWORD dwFullCount; //满员人数
  65. TCHAR szServerAddr[32]; //房间地址
  66. TCHAR szServerName[LEN_SERVER]; //房间名称
  67. DWORD dwLiveTime; //最近活动时间
  68. WORD wServerLevel; //服务级别 12345678 8为最高
  69. int bService; //是否提供服务 1提供服务 0 主动不提供服务 <0 被攻击被动不提供服务
  70. };
  71. ///好友房服务器
  72. struct tagPrivateGameServer
  73. {
  74. WORD wKindID; //名称索引
  75. WORD wNodeID; //节点索引
  76. WORD wSortID; //排序索引
  77. WORD wServerID; //房间索引
  78. WORD wServerKind; //房间类型
  79. WORD wServerType; //房间类型
  80. WORD wServerPort; //房间端口
  81. TCHAR szServerAddr[32]; //房间地址
  82. tagPrivateGameServer()
  83. {
  84. memset(this, 0, sizeof(this));
  85. }
  86. };
  87. //比赛报名
  88. struct tagSignupMatchInfo
  89. {
  90. WORD wServerID; //房间标识
  91. DWORD dwMatchID; //比赛标识
  92. DWORD dwMatchNO; //比赛场次
  93. };
  94. //比赛信息
  95. struct tagGameMatch
  96. {
  97. //基本信息
  98. WORD wServerID; //房间标识
  99. DWORD dwMatchID; //比赛标识
  100. DWORD dwMatchNO; //比赛场次
  101. BYTE cbMatchType; //比赛类型
  102. TCHAR szMatchName[32]; //比赛名称
  103. //比赛信息
  104. BYTE cbMemberOrder; //会员等级
  105. BYTE cbMatchFeeType; //扣费类型
  106. SCORE lMatchFee; //比赛费用
  107. //比赛信息
  108. WORD wStartUserCount; //开赛人数
  109. WORD wMatchPlayCount; //比赛局数
  110. //比赛奖励
  111. WORD wRewardCount; //奖励人数
  112. //比赛时间
  113. SYSTEMTIME MatchStartTime; //开始时间
  114. SYSTEMTIME MatchEndTime; //结束时间
  115. };
  116. //视频配置
  117. struct tagAVServerOption
  118. {
  119. WORD wAVServerPort; //视频端口
  120. DWORD dwAVServerAddr; //视频地址
  121. };
  122. //在线信息
  123. struct tagOnLineInfoKind
  124. {
  125. WORD wKindID; //类型标识
  126. DWORD dwOnLineCount; //在线人数
  127. };
  128. //在线统计
  129. struct tagOnLineInfoKindEx
  130. {
  131. WORD wKindID; //类型标识
  132. DWORD dwOnLineCount; //在线人数
  133. WORD wTableCount; //在线桌子
  134. WORD wFullTableCount; //满员桌子
  135. };
  136. //在线信息
  137. struct tagOnLineInfoServer
  138. {
  139. WORD wServerID; //房间标识
  140. DWORD dwOnLineCount; //在线人数
  141. };
  142. //////////////////////////////////////////////////////////////////////////////////
  143. //机器参数
  144. struct tagAndroidParameter
  145. {
  146. //属性变量
  147. DWORD dwBatchID; //批次标识
  148. DWORD dwServiceMode; //服务模式
  149. DWORD dwAndroidCount; //机器数目
  150. DWORD dwEnterTime; //进入时间
  151. DWORD dwLeaveTime; //离开时间
  152. SCORE lTakeMinScore; //携带分数
  153. SCORE lTakeMaxScore; //携带分数
  154. DWORD dwEnterMinInterval; //进入间隔
  155. DWORD dwEnterMaxInterval; //进入间隔
  156. DWORD dwLeaveMinInterval; //离开间隔
  157. DWORD dwLeaveMaxInterval; //离开间隔
  158. DWORD dwSwitchMinInnings; //换桌局数
  159. DWORD dwSwitchMaxInnings; //换桌局数
  160. };
  161. //////////////////////////////////////////////////////////////////////////////////
  162. //用户信息
  163. //用户属性
  164. struct tagUserAttrib
  165. {
  166. BYTE cbCompanion; //用户关系
  167. };
  168. //道具使用
  169. struct tagUsePropertyInfo
  170. {
  171. WORD wPropertyCount; //道具数目
  172. WORD dwValidNum; //有效数字
  173. DWORD dwEffectTime; //生效时间
  174. };
  175. //用户道具
  176. struct tagUserProperty
  177. {
  178. WORD wPropertyUseMark; //道具标示
  179. tagUsePropertyInfo PropertyInfo[MAX_PT_MARK]; //使用信息
  180. };
  181. //道具包裹
  182. struct tagPropertyPackage
  183. {
  184. WORD wTrumpetCount; //小喇叭数
  185. WORD wTyphonCount; //大喇叭数
  186. };
  187. //时间信息
  188. struct tagTimeInfo
  189. {
  190. DWORD dwEnterTableTimer; //进出桌子时间
  191. DWORD dwLeaveTableTimer; //离开桌子时间
  192. DWORD dwStartGameTimer; //开始游戏时间
  193. DWORD dwEndGameTimer; //离开游戏时间
  194. };
  195. //用户信息
  196. struct tagUserInfo
  197. {
  198. //基本属性
  199. DWORD dwUserID; //用户 I D
  200. DWORD dwGameID; //游戏 I D
  201. DWORD dwGroupID; //社团 I D
  202. TCHAR szNickName[LEN_NICKNAME]; //用户昵称
  203. TCHAR szGroupName[LEN_GROUP_NAME]; //社团名字
  204. LONGLONG llJuLi; //距离
  205. TCHAR szUnderWrite[LEN_UNDER_WRITE]; //个性签名
  206. //头像信息
  207. WORD wFaceID; //头像索引
  208. DWORD dwCustomID; //自定标识
  209. //用户资料
  210. BYTE cbGender; //用户性别
  211. BYTE cbMemberOrder; //会员等级
  212. BYTE cbMasterOrder; //管理等级
  213. //用户状态
  214. TCHAR szPrivateTableID[LEN_PRIVATE_TABLE_ID]; //个性签名
  215. WORD wTableID; //桌子索引 //当前所在桌子
  216. WORD wLastTableID; //游戏桌子 //最近游戏中的桌子
  217. WORD wChairID; //椅子索引
  218. BYTE cbUserStatus; //用户状态
  219. //积分信息
  220. SCORE lScore; //用户分数
  221. SCORE lGrade; //用户成绩
  222. SCORE lInsure; //用户银行
  223. //SCORE lIngot; //用户元宝
  224. //游戏信息
  225. DWORD dwWinCount; //胜利盘数
  226. DWORD dwLostCount; //失败盘数
  227. DWORD dwDrawCount; //和局盘数
  228. DWORD dwFleeCount; //逃跑盘数
  229. DWORD dwExperience; //用户经验
  230. LONG lLoveLiness; //用户魅力
  231. //时间信息
  232. tagTimeInfo TimerInfo; //时间信息
  233. TCHAR szHeadUrl[LEN_HEAD_URL]; //三方头像地址
  234. DWORD dwBean; //拥有的元宝
  235. TCHAR szUnionID[33]; //第三方登录账号
  236. DWORD dDaiLi; //绑定代理值
  237. //加入信息
  238. LONGLONG dDingWeiX; //该玩家定位数据
  239. LONGLONG dDingWeiY; //该玩家定位数据
  240. LONGLONG llJiePing; //反作弊房,截屏次数。
  241. int iXinYong; //该用户信用值
  242. TCHAR RegisterDate[28]; //注册时间
  243. int LeiJiZuanShi;
  244. int GouMaiZuanShi;
  245. TCHAR szChengShi[20]; //地理位置
  246. TCHAR szName[50]; //代理
  247. TCHAR szWx[50]; //代理微信
  248. TCHAR szQQ[50]; //代理QQ
  249. ///+++剩余救济信息 201-11-10
  250. DWORD dwUpdateReliefLeftCount; //救济次数更新的时间
  251. WORD wReliefLeftCount; //救济次数
  252. DWORD dwClubID[20]; //俱乐部信息
  253. };
  254. //用户信息
  255. struct tagUserInfoHead
  256. {
  257. //用户属性
  258. DWORD dwGameID; //游戏 I D
  259. DWORD dwUserID; //用户 I D
  260. DWORD dwGroupID; //社团 I D
  261. //头像信息
  262. WORD wFaceID; //头像索引
  263. DWORD dwCustomID; //自定标识
  264. //用户属性
  265. bool bIsAndroid; //机器标识
  266. BYTE cbGender; //用户性别
  267. BYTE cbMemberOrder; //会员等级
  268. BYTE cbMasterOrder; //管理等级
  269. //用户状态
  270. WORD wTableID; //桌子索引
  271. WORD wChairID; //椅子索引
  272. BYTE cbUserStatus; //用户状态
  273. //积分信息
  274. SCORE lScore; //用户分数
  275. SCORE lGrade; //用户成绩
  276. SCORE lInsure; //用户银行
  277. SCORE lIngot; //用户元宝
  278. //游戏信息
  279. DWORD dwWinCount; //胜利盘数
  280. DWORD dwLostCount; //失败盘数
  281. DWORD dwDrawCount; //和局盘数
  282. DWORD dwFleeCount; //逃跑盘数
  283. DWORD dwExperience; //用户经验
  284. LONG lLoveLiness; //用户魅力
  285. };
  286. //头像信息
  287. struct tagCustomFaceInfo
  288. {
  289. DWORD dwDataSize; //数据大小
  290. DWORD dwCustomFace[FACE_CX*FACE_CY]; //图片信息
  291. };
  292. //用户信息
  293. struct tagUserRemoteInfo
  294. {
  295. //用户信息
  296. DWORD dwUserID; //用户标识
  297. DWORD dwGameID; //游戏标识
  298. TCHAR szNickName[LEN_NICKNAME]; //用户昵称
  299. //等级信息
  300. BYTE cbGender; //用户性别
  301. BYTE cbMemberOrder; //会员等级
  302. BYTE cbMasterOrder; //管理等级
  303. //位置信息
  304. WORD wKindID; //类型标识
  305. WORD wServerID; //房间标识
  306. TCHAR szGameServer[LEN_SERVER]; //房间位置
  307. };
  308. //////////////////////////////////////////////////////////////////////////////////
  309. //任务参数
  310. struct tagTaskParameter
  311. {
  312. //基本信息
  313. WORD wTaskID; //任务标识
  314. WORD wTaskType; //任务类型
  315. WORD wTaskObject; //任务目标
  316. BYTE cbPlayerType; //玩家类型
  317. WORD wKindID; //类型标识
  318. DWORD dwTimeLimit; //时间限制
  319. //奖励信息
  320. SCORE lStandardAwardGold; //奖励金币
  321. SCORE lStandardAwardMedal; //奖励奖牌
  322. SCORE lMemberAwardGold; //奖励金币
  323. SCORE lMemberAwardMedal; //奖励奖牌
  324. //描述信息
  325. TCHAR szTaskName[LEN_TASK_NAME]; //任务名称
  326. TCHAR szTaskDescribe[320]; //任务描述
  327. };
  328. //任务状态
  329. struct tagTaskStatus
  330. {
  331. WORD wTaskID; //任务标识
  332. WORD wTaskProgress; //任务进度
  333. BYTE cbTaskStatus; //任务状态
  334. };
  335. //低保参数
  336. struct tagBaseEnsureParameter
  337. {
  338. SCORE lScoreCondition; //游戏币条件
  339. SCORE lScoreAmount; //游戏币数量
  340. BYTE cbTakeTimes; //领取次数
  341. };
  342. //推广信息
  343. struct tagUserSpreadInfo
  344. {
  345. DWORD dwSpreadCount; //推广人数
  346. SCORE lSpreadReward; //推广奖励
  347. };
  348. //等级配置
  349. struct tagGrowLevelConfig
  350. {
  351. WORD wLevelID; //等级 I D
  352. DWORD dwExperience; //相应经验
  353. };
  354. //等级参数
  355. struct tagGrowLevelParameter
  356. {
  357. WORD wCurrLevelID; //当前等级
  358. DWORD dwExperience; //当前经验
  359. DWORD dwUpgradeExperience; //下级经验
  360. SCORE lUpgradeRewardGold; //升级奖励
  361. SCORE lUpgradeRewardIngot; //升级奖励
  362. };
  363. //会员参数
  364. struct tagMemberParameter
  365. {
  366. BYTE cbMemberOrder; //会员标识
  367. TCHAR szMemberName[16]; //会员名称
  368. SCORE lMemberPrice; //会员价格
  369. SCORE lPresentScore; //赠送游戏币
  370. };
  371. //////////////////////////////////////////////////////////////////////////////////
  372. //广场子项
  373. struct tagGamePlaza
  374. {
  375. WORD wPlazaID; //广场标识
  376. TCHAR szServerAddr[32]; //服务地址
  377. TCHAR szServerName[32]; //服务器名
  378. ///---add by yd
  379. DWORD dwLiveTime; //最近活动时间
  380. WORD wServerID; //登录服务器ID
  381. };
  382. //级别子项
  383. struct tagLevelItem
  384. {
  385. LONG lLevelScore; //级别积分
  386. TCHAR szLevelName[16]; //级别描述
  387. };
  388. //会员子项
  389. struct tagMemberItem
  390. {
  391. BYTE cbMemberOrder; //等级标识
  392. TCHAR szMemberName[16]; //等级名字
  393. };
  394. //管理子项
  395. struct tagMasterItem
  396. {
  397. BYTE cbMasterOrder; //等级标识
  398. TCHAR szMasterName[16]; //等级名字
  399. };
  400. //地址信息
  401. struct tagAddressInfo
  402. {
  403. TCHAR szAddress[33]; //服务地址
  404. };
  405. //数据信息
  406. struct tagDataBaseParameter
  407. {
  408. WORD wDataBasePort; //数据库端口
  409. TCHAR szDataBaseAddr[32]; //数据库地址
  410. TCHAR szDataBaseUser[32]; //数据库用户
  411. TCHAR szDataBasePass[32]; //数据库密码
  412. TCHAR szDataBaseName[32]; //数据库名字
  413. };
  414. //房间配置
  415. struct tagServerOptionInfo
  416. {
  417. //挂接属性
  418. WORD wKindID; //挂接类型
  419. WORD wNodeID; //挂接节点
  420. WORD wSortID; //排列标识
  421. //税收配置
  422. WORD wRevenueRatio; //税收比例
  423. SCORE lServiceScore; //服务费用
  424. //房间配置
  425. SCORE lRestrictScore; //限制积分
  426. SCORE lMinTableScore; //最低积分
  427. SCORE lMinEnterScore; //最低积分
  428. SCORE lMaxEnterScore; //最高积分
  429. //会员限制
  430. BYTE cbMinEnterMember; //最低会员
  431. BYTE cbMaxEnterMember; //最高会员
  432. //房间属性
  433. DWORD dwServerRule; //房间规则
  434. TCHAR szServerName[LEN_SERVER]; //房间名称
  435. };
  436. //更新信息
  437. struct tagUpdateInfo
  438. {
  439. WORD wStructSize; //结构大小
  440. WORD wUpdateCount; //更新数目
  441. char szDownLoadAddress[MAX_PATH]; //下载地址
  442. };
  443. //更新子项
  444. struct tagUpdateItem
  445. {
  446. WORD wStructSize; //结构大小
  447. char szFileCheckSum[33]; //文件校验和
  448. char szFileName[128]; //文件名称
  449. };
  450. enum enUserLogonMode
  451. {
  452. //登陆方式
  453. ULMByAccount,
  454. ULMByGameID,
  455. ULMByVisitor,
  456. ULMBySina,
  457. ULMByTencent,
  458. ULMByRenRen,
  459. };
  460. ///---场信息
  461. struct tagVenueInfo
  462. {
  463. WORD wVenueID; //场馆ID
  464. TCHAR szVenuName[256]; //场馆名称
  465. SCORE sBaseScore; //底分
  466. SCORE sMinScore; //下限
  467. SCORE sMaxScore; //上限
  468. WORD wKindID; //游戏类型ID
  469. TCHAR szKindName[256]; //游戏类型名称
  470. DWORD dwOnlineCount; //在线人数
  471. BYTE btOpenFlag; //开放标志(0:关闭 1:开放)
  472. SCORE lRestrictScore; //限制积分
  473. WORD wRevenueRatio; //税收比例
  474. SCORE sServiceScore; //服务费用
  475. TCHAR szExtConfig[256]; //游戏扩展配置(用来设置各玩法的配置,协议格式定义为#分隔的字符中)
  476. tagVenueInfo()
  477. {
  478. memset(this, 0, sizeof(tagVenueInfo));
  479. }
  480. //拷贝构造  
  481. tagVenueInfo(const tagVenueInfo& r)
  482. {
  483. wVenueID = r.wVenueID;
  484. lstrcpyn(szVenuName, r.szVenuName, CountArray(r.szVenuName));
  485. sBaseScore = r.sBaseScore;
  486. sMinScore = r.sMinScore;
  487. sMaxScore = r.sMaxScore;
  488. wKindID = r.wKindID;
  489. lstrcpyn(szKindName, r.szKindName, CountArray(r.szKindName));
  490. dwOnlineCount = r.dwOnlineCount;
  491. btOpenFlag = r.btOpenFlag;
  492. lRestrictScore = r.lRestrictScore;
  493. wRevenueRatio = r.wRevenueRatio;
  494. sServiceScore = r.sServiceScore;
  495. lstrcpyn(szExtConfig, r.szExtConfig, CountArray(r.szExtConfig));
  496. }
  497. };
  498. ///---金币场游戏房间
  499. struct tagVenueServer
  500. {
  501. WORD wKindID; //名称索引
  502. WORD wVenueID; //节点索引 ///---金币场作为场ID
  503. WORD wServerID; //房间索引 ///---GameServerID
  504. WORD wServerKind; //房间类型
  505. TCHAR szServerAddr[32]; //房间IP
  506. WORD wServerPort; //房间PORT
  507. SCORE lCellScore; //底分
  508. SCORE lMinScore; //积分下限
  509. SCORE lMaxScore; //积分上限
  510. tagVenueServer()
  511. {
  512. memset(this, 0, sizeof(tagVenueServer));
  513. }
  514. };
  515. ///---场信息
  516. struct CMD_VenueInfo
  517. {
  518. WORD wVenueID; //场馆ID
  519. TCHAR szVenuName[256]; //场馆名称
  520. SCORE sBaseScore; //底分
  521. SCORE sMinScore; //下限
  522. SCORE sMaxScore; //上限
  523. WORD wKindID; //游戏类型ID
  524. TCHAR szKindName[256]; //游戏类型名称
  525. DWORD dwOnlineCount; //在线人数
  526. BYTE btOpenFlag; //开放标志(0:关闭 1:开放)
  527. CMD_VenueInfo()
  528. {
  529. memset(this, 0, sizeof(CMD_VenueInfo));
  530. }
  531. //拷贝构造  
  532. CMD_VenueInfo(const CMD_VenueInfo& r)
  533. {
  534. wVenueID = r.wVenueID;
  535. lstrcpyn(szVenuName, r.szVenuName, CountArray(r.szVenuName));
  536. sBaseScore = r.sBaseScore;
  537. sMinScore = r.sMinScore;
  538. sMaxScore = r.sMaxScore;
  539. wKindID = r.wKindID;
  540. lstrcpyn(szKindName, r.szKindName, CountArray(r.szKindName));
  541. dwOnlineCount = r.dwOnlineCount;
  542. btOpenFlag = r.btOpenFlag;
  543. }
  544. //拷贝构造  
  545. CMD_VenueInfo(const tagVenueInfo& r)
  546. {
  547. wVenueID = r.wVenueID;
  548. lstrcpyn(szVenuName, r.szVenuName, CountArray(r.szVenuName));
  549. sBaseScore = r.sBaseScore;
  550. sMinScore = r.sMinScore;
  551. sMaxScore = r.sMaxScore;
  552. wKindID = r.wKindID;
  553. lstrcpyn(szKindName, r.szKindName, CountArray(r.szKindName));
  554. dwOnlineCount = r.dwOnlineCount;
  555. btOpenFlag = r.btOpenFlag;
  556. }
  557. };
  558. ///---胜局榜
  559. struct tagTopWinInfo
  560. {
  561. //用户信息
  562. DWORD dwUserID; //用户标识
  563. TCHAR szNickname[LEN_NICKNAME]; //用户昵称
  564. TCHAR szHeadUrl[LEN_HEAD_URL]; //三方头像地址
  565. int iBingID; //++邀请码(绑定ID)
  566. //成绩信息
  567. //SCORE lScore; //用户分数
  568. DWORD dwWinCount; //胜利盘数
  569. DWORD dwTotalCount; //总共盘数
  570. //DWORD dwLostCount; //失败盘数
  571. //DWORD dwDrawCount; //和局盘数
  572. //DWORD dwFleeCount; //逃跑盘数
  573. tagTopWinInfo()
  574. {
  575. memset(this, 0, sizeof(tagTopWinInfo));
  576. }
  577. //拷贝构造  
  578. tagTopWinInfo(const tagTopWinInfo& r)
  579. {
  580. dwUserID = r.dwUserID;
  581. lstrcpyn(szNickname, r.szNickname, CountArray(r.szNickname));
  582. lstrcpyn(szHeadUrl, r.szHeadUrl, CountArray(r.szHeadUrl));
  583. iBingID = r.iBingID;
  584. //lScore = r.lScore;
  585. dwWinCount = r.dwWinCount;
  586. //dwLostCount = r.dwLostCount;
  587. //dwDrawCount = r.dwDrawCount;
  588. //dwFleeCount = r.dwFleeCount;
  589. dwTotalCount = r.dwTotalCount;
  590. }
  591. };
  592. ///---救助信息
  593. struct tagReliefInfo
  594. {
  595. WORD wTotalCount; ///总次数
  596. WORD wGetCount; ///领取次数
  597. DWORD dwReliefScore; ///救济金额
  598. tagReliefInfo()
  599. {
  600. memset(this, 0, sizeof(tagReliefInfo));
  601. }
  602. };
  603. //DB领取救济
  604. struct DBR_GR_GetRelief
  605. {
  606. //报名费用
  607. DWORD dwUserID; //用户ID
  608. //系统信息
  609. DWORD dwClientAddr; //连接地址
  610. TCHAR szMachineID[LEN_MACHINE_ID]; //机器序列
  611. DBR_GR_GetRelief()
  612. {
  613. memset(this, 0, sizeof(DBR_GR_GetRelief));
  614. }
  615. };
  616. ///---救助领取
  617. struct tagReliefScore
  618. {
  619. DWORD dwReliefScore; ///救济金额
  620. SCORE lCurrScore; ///最新金币
  621. tagReliefScore()
  622. {
  623. memset(this, 0, sizeof(tagReliefScore));
  624. }
  625. };
  626. ///---钻石兑换金币配置
  627. struct tagExchangeConfig
  628. {
  629. WORD wID; //ID
  630. DWORD dwIngot; //钻石
  631. DWORD dwSCORE; //金币
  632. tagExchangeConfig()
  633. {
  634. memset(this, 0, sizeof(tagExchangeConfig));
  635. }
  636. //拷贝构造  
  637. tagExchangeConfig(const tagExchangeConfig& r)
  638. {
  639. wID = r.wID; //ID
  640. dwIngot = r.dwIngot; //钻石
  641. dwSCORE = r.dwSCORE; //金币
  642. }
  643. };
  644. //////////////////////////////////////////////////////////////////////////////////
  645. ///+++福利信息
  646. struct tagWelfareInfo
  647. {
  648. BYTE btWelfareType; //福利类型 (1:幸运转盘 2:救济福利 3:签到福利)
  649. BYTE btTakedNum; //领取的次数(一般指今日领取的次数)
  650. BYTE btTotalNum; //总的次数
  651. BYTE btValidFlag; //有效标识(0:无效)
  652. tagWelfareInfo()
  653. {
  654. memset(this, 0, sizeof(tagWelfareInfo));
  655. }
  656. };
  657. ///--转盘奖品
  658. struct tagRouletteConfig
  659. {
  660. WORD wID; //--奖品ID
  661. TCHAR szName[256]; //--奖品名称
  662. TCHAR szICON[256]; //--奖品图像
  663. WORD wProperty; //--奖励值
  664. WORD wType; //--类型 1:金币 2:钻石 3:话费 4:实物1 5:实物2 ...
  665. WORD wOdds; //--概率值
  666. int iQuantity; //--奖品数量
  667. tagRouletteConfig()
  668. {
  669. memset(this, 0, sizeof(tagRouletteConfig));
  670. }
  671. //拷贝构造  
  672. tagRouletteConfig(const tagRouletteConfig& r)
  673. {
  674. wID = r.wID;
  675. lstrcpyn(szName, r.szName, CountArray(r.szName));
  676. lstrcpyn(szICON, r.szICON, CountArray(r.szICON));
  677. wProperty = r.wProperty;
  678. wType = r.wType;
  679. wOdds = r.wOdds;
  680. iQuantity = r.iQuantity;
  681. }
  682. };
  683. struct tagRouletteConfig2
  684. {
  685. WORD wResult; //结果(0:成功,其它:失败)
  686. TCHAR szDesc[128]; //描述信息
  687. WORD wID; //奖品ID
  688. TCHAR szICON[256]; //奖品图像(备注:一张转盘整图)
  689. WORD wHadLotteryCount; //“我”已抽奖次数
  690. WORD wLotteryCountPara; //抽奖总次数
  691. //新转盘功能
  692. WORD wLotteryLimit; //抽奖限制
  693. WORD wInningValue; //局数标准
  694. WORD wRechargeValue; //充值标准
  695. WORD wInningInfo[3]; //局数详情 前天、昨天、今天
  696. BYTE cbRechargeInfo; //充值详情
  697. TCHAR szLotteryRule[128]; //抽奖规则
  698. tagRouletteConfig2()
  699. {
  700. memset(this, 0, sizeof(tagRouletteConfig2));
  701. }
  702. };
  703. //转盘抽奖
  704. struct DBR_GR_RouletteLottery
  705. {
  706. DWORD dwUserID; //用户ID
  707. WORD wLotteryType; //抽奖类型(0: 轮盘抽奖 1: 玩牌抽奖) add 2017-12-29
  708. DWORD dwClientAddr; //连接地址
  709. TCHAR szMachineID[LEN_MACHINE_ID]; //机器序列
  710. WORD wRouletteLotteryID; //奖品ID
  711. TCHAR szLotteryName[200]; //奖品名称
  712. DBR_GR_RouletteLottery()
  713. {
  714. memset(this, 0, sizeof(DBR_GR_RouletteLottery));
  715. }
  716. };
  717. //转盘抽奖
  718. struct tagRouletteLottery
  719. {
  720. DWORD dwUserID; //用户ID
  721. DWORD dwClientAddr; //连接地址
  722. TCHAR szMachineID[LEN_MACHINE_ID]; //机器序列
  723. WORD wRouletteLotteryID; //奖品ID
  724. TCHAR szLotteryName[200]; //奖品名称
  725. tagRouletteLottery()
  726. {
  727. memset(this, 0, sizeof(tagRouletteLottery));
  728. }
  729. };
  730. //转盘抽奖结果
  731. struct tagLotteryResult
  732. {
  733. WORD wResult; //抽奖结果(0:成功,其它:失败)
  734. //=1时:表示不能抽奖,比如当天已抽过奖,不能再抽奖等
  735. TCHAR szDesc[128]; //描述信息
  736. WORD wLotteryType; //++抽奖类型 0:轮盘抽奖;1:玩牌抽奖
  737. WORD wRouletteLotterID; //奖品ID
  738. WORD wHadLotteryCount; //++“我”已抽奖次数
  739. WORD wLotteryCountPara; //++抽奖总次数
  740. SCORE lScore; //当前金币
  741. DWORD dwBean; //当前钻石
  742. TCHAR szResultDesc[128]; //抽奖结果描述信息
  743. tagLotteryResult()
  744. {
  745. memset(this, 0, sizeof(tagLotteryResult));
  746. }
  747. };
  748. struct tagLotteryResultEx
  749. {
  750. tagLotteryResult LotteryResult;
  751. TCHAR szPhoneNum[11]; //手机号码
  752. WORD wAwardType; //奖品类型
  753. DWORD dwRecordID; //记录ID
  754. tagLotteryResultEx()
  755. {
  756. memset(this, 0, sizeof(tagLotteryResultEx));
  757. }
  758. };
  759. //转盘抽奖
  760. struct DBR_GR_LotteryInfo
  761. {
  762. DWORD dwUserID; //用户ID
  763. WORD wLotteryType; //抽奖类型(0: 轮盘抽奖 1: 玩牌抽奖) add 2017-12-29
  764. DBR_GR_LotteryInfo()
  765. {
  766. memset(this, 0, sizeof(DBR_GR_LotteryInfo));
  767. }
  768. };
  769. //转盘抽奖历史记录
  770. struct DBR_GR_LotteryHis
  771. {
  772. DWORD dwUserID; //用户ID
  773. BYTE btQueryFlag; //查询标志 0:只查自己的;1:查最近中奖记录
  774. DBR_GR_LotteryHis()
  775. {
  776. memset(this, 0, sizeof(DBR_GR_LotteryHis));
  777. }
  778. };
  779. //更新奖品发放标志
  780. struct DBR_GR_LotteryFlag
  781. {
  782. DWORD dwUserID; //用户ID
  783. WORD wLotteryID;
  784. DBR_GR_LotteryFlag()
  785. {
  786. memset(this, 0, sizeof(DBR_GR_LotteryFlag));
  787. }
  788. };
  789. //注册收件信息
  790. struct DBR_GR_LotteryAddr
  791. {
  792. DWORD dwUserID; //用户ID
  793. TCHAR szAddressName[20]; //收件人姓名
  794. TCHAR szAddress[128]; //收件人地址
  795. TCHAR szAddrPhoneNum[11]; //收件人手机号码
  796. DBR_GR_LotteryAddr()
  797. {
  798. memset(this, 0, sizeof(this));
  799. }
  800. };
  801. //手动领奖
  802. struct DBR_GR_LotteryAward
  803. {
  804. DWORD dwUserID; //用户ID
  805. DWORD dwRecordID; //记录ID
  806. TCHAR szAddressee[16]; //收件人姓名
  807. TCHAR szAddress[128]; //收件人地址
  808. TCHAR szAddrPhoneNum[11]; //收件人手机号码
  809. BYTE cbCheckResult; //领奖校验结果(0:成功,1:已领奖,2:发放失败)
  810. DBR_GR_LotteryAward()
  811. {
  812. memset(this, 0, sizeof(this));
  813. }
  814. };
  815. //轮盘抽奖信息
  816. struct tagLotteryInfo
  817. {
  818. WORD wResult; //抽奖结果(0:成功,其它:失败 原因szDesc)
  819. WORD wLotteryType; //++抽奖类型 0:轮盘抽奖;1:玩牌抽奖(当为0时,不需要后面的玩牌信息)
  820. WORD wHadLotteryCount; //已抽奖次数
  821. WORD wLotteryCountPara; //抽奖次数配置参数
  822. WORD wCurrentDrawCount; //当前玩牌局数
  823. WORD wDrawLotteryCountPara; //玩牌抽奖的次数条件
  824. TCHAR szDesc[32]; //描述信息
  825. tagLotteryInfo()
  826. {
  827. memset(this, 0, sizeof(tagLotteryInfo));
  828. }
  829. };
  830. //轮盘抽奖记录信息
  831. struct tagLotteryHis
  832. {
  833. DWORD dwUserID; //玩家ID
  834. TCHAR szUserName[32]; //玩家名称
  835. WORD wLotteryType; //抽奖类型 0:轮盘抽奖;1:玩牌抽奖
  836. WORD wRouletteID; //奖品ID
  837. TCHAR szLotteryName[32]; //奖品名称
  838. TCHAR szInputeDate[32]; //中奖时间
  839. TCHAR szGetLotteryDate[32]; //领奖奖时间
  840. BYTE btGetLotteryFlag; //领奖标志 0:未领取 1:领取
  841. tagLotteryHis()
  842. {
  843. memset(this, 0, sizeof(tagLotteryHis));
  844. }
  845. };
  846. struct tagLotteryHisACK
  847. {
  848. tagLotteryHis LotteryHis[30];
  849. };
  850. struct tagLotteryHisEx
  851. {
  852. DWORD dwRecordID; //记录ID
  853. WORD wRouletteID; //奖品ID
  854. TCHAR szLotteryName[32]; //奖品名称
  855. TCHAR szInputeDate[32]; //中奖时间
  856. BYTE btGetLotteryFlag; //领奖标志 0:未领取 1:领取,2异常未知
  857. tagLotteryHisEx()
  858. {
  859. memset(this, 0, sizeof(tagLotteryHisEx));
  860. }
  861. };
  862. struct tagLotteryHisExACK
  863. {
  864. tagLotteryHisEx LotteryHis[6];
  865. };
  866. //签到信息
  867. struct tagCheckInInfo
  868. {
  869. bool bSuccessed; //成功标识
  870. WORD wSeriesDate; //连续日期
  871. bool bTodayChecked; //签到标识
  872. TCHAR szNotifyContent[128]; //提示内容
  873. };
  874. //签到结果
  875. struct tagCheckInResult
  876. {
  877. ///===bool bSuccessed; //成功标识(客户端不会解)
  878. BYTE btSuccessed; //成功标识
  879. SCORE lScore; //当前分数
  880. DWORD dwBean; //当前游戏豆
  881. TCHAR szNotifyContent[128]; //提示内容
  882. };
  883. //执行签到
  884. struct tagCheckInDone
  885. {
  886. //用户信息
  887. DWORD dwUserID; //用户标识
  888. //附加信息
  889. DWORD dwClientAddr; //连接地址
  890. TCHAR szMachineID[LEN_MACHINE_ID]; //机器序列
  891. };
  892. ///+++签到奖励
  893. struct tagCheckinReward
  894. {
  895. SCORE lRewardGold; ///---金币
  896. int iRewardCurrency; ///---钻石
  897. tagCheckinReward()
  898. {
  899. memset(this, 0, sizeof(tagCheckinReward));
  900. }
  901. };
  902. ///+++用户签到信息
  903. struct UserCheckinInfo
  904. {
  905. BYTE btTodayChecked; //今天签到标识
  906. WORD wSeriesDay; //连续签到的天数
  907. tagCheckinReward checkinReward[LEN_WEEK];
  908. UserCheckinInfo()
  909. {
  910. memset(this, 0, sizeof(UserCheckinInfo));
  911. }
  912. };
  913. //用户获得代理解绑相关信息
  914. struct DBR_GR_GetUntieAgentInfo
  915. {
  916. BYTE cbCost; ///操作成本 消耗钻石数目
  917. BYTE cbDays; ///操作周期 天数
  918. DWORD dwCurrency; ///当前钻石数目
  919. DWORD dwDaiLiID; //用户已绑定的优惠码
  920. };
  921. struct DBR_GR_UntieAgentInfo
  922. {
  923. BYTE IRet; ///是否成功 0成功
  924. TCHAR szErrorDsc[128]; //结果描述
  925. };
  926. //////////////////////////////////////////////////////////////////////////////////
  927. #pragma pack()
  928. #endif