510 lines
12 KiB
C
510 lines
12 KiB
C
#ifndef STRUCT_HEAD_FILE
|
|
#define STRUCT_HEAD_FILE
|
|
|
|
#include "Types.h"
|
|
#include "Define.h"
|
|
//////////////////////////////////////////////////////////////////////////////////
|
|
//游戏列表
|
|
#pragma pack(1)
|
|
|
|
|
|
struct systemtime {
|
|
uint16 wYear;
|
|
uint16 wMonth;
|
|
uint16 wDayOfWeek;
|
|
uint16 wDay;
|
|
uint16 wHour;
|
|
uint16 wMinute;
|
|
uint16 wSecond;
|
|
uint16 wMilliseconds;
|
|
};
|
|
|
|
//////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
//道具索引
|
|
#define PROP_DOUBLE 0 //双倍积分卡
|
|
#define PROP_FOURDOLD 1 //四倍积分卡
|
|
#define PROP_NEGAGIVE 2 //负分清零
|
|
#define PROP_FLEE 3 //清逃跑率
|
|
#define PROP_BUGLE 4 //小喇叭
|
|
#define PROP_KICK 5 //防踢卡
|
|
#define PROP_SHIELD 6 //护身符
|
|
#define PROP_MEMBER_1 7 //会员道具
|
|
#define PROP_MEMBER_2 8 //会员道具
|
|
#define PROP_MEMBER_3 9 //会员道具
|
|
#define PROP_MEMBER_4 10 //会员道具
|
|
#define PROP_MEMBER_5 11 //会员道具
|
|
#define PROP_MEMBER_6 12 //会员道具
|
|
#define PROP_MEMBER_7 13 //会员道具
|
|
#define PROP_MEMBER_8 14 //会员道具
|
|
|
|
uint8 const g_PropTypeList[]=
|
|
{
|
|
PROP_DOUBLE ,
|
|
PROP_FOURDOLD,
|
|
PROP_NEGAGIVE,
|
|
PROP_FLEE ,
|
|
PROP_BUGLE ,
|
|
PROP_KICK ,
|
|
PROP_SHIELD ,
|
|
PROP_MEMBER_1,
|
|
PROP_MEMBER_2,
|
|
PROP_MEMBER_3,
|
|
PROP_MEMBER_4,
|
|
PROP_MEMBER_5,
|
|
PROP_MEMBER_6,
|
|
PROP_MEMBER_7,
|
|
PROP_MEMBER_8,
|
|
};
|
|
#define PROPERTY_COUNT (sizeof(g_PropTypeList)/sizeof(g_PropTypeList[0]))//道具数目
|
|
|
|
|
|
//游戏类型结构
|
|
struct tagGameType
|
|
{
|
|
uint16 wJoinID; //挂接索引
|
|
uint16 wSortID; //排序索引
|
|
uint16 wTypeID; //类型索引
|
|
char szTypeName[LEN_TYPE]; //种类名字
|
|
};
|
|
|
|
//游戏名称结构
|
|
struct tagGameKind
|
|
{
|
|
uint16 wTypeID; //类型号码
|
|
uint16 wJoinID; //挂接索引
|
|
uint16 wSortID; //排序号码
|
|
uint16 wKindID; //名称号码
|
|
uint16 wGameID; //模块索引
|
|
uint32 dwOnLineCount; //在线人数
|
|
uint32 dwFullCount; //满员人数
|
|
char szKindName[LEN_KIND]; //游戏名字
|
|
char szProcessName[LEN_MODULE]; //进程名字
|
|
};
|
|
|
|
|
|
//游戏房间列表结构
|
|
struct tagGameServer
|
|
{
|
|
uint16 wKindID; //名称索引
|
|
uint16 wNodeID; //节点索引
|
|
uint16 wSortID; //排序索引
|
|
uint16 wServerID; //房间索引
|
|
//WORD wServerKind; //房间类型
|
|
uint16 wServerType; //房间类型
|
|
uint16 wServerPort; //房间端口
|
|
SCORE lCellScore; //单元积分
|
|
SCORE lEnterScore; //进入积分
|
|
uint32 dwServerRule; //房间规则
|
|
uint32 dwOnLineCount; //在线人数
|
|
uint32 dwAndroidCount; //机器人数
|
|
uint32 dwFullCount; //满员人数
|
|
char szServerAddr[32]; //房间名称
|
|
char szServerName[LEN_SERVER]; //房间名称
|
|
};
|
|
|
|
//比赛报名
|
|
struct tagSignupMatchInfo
|
|
{
|
|
uint16 wServerID; //房间标识
|
|
uint32 dwMatchID; //比赛标识
|
|
uint32 dwMatchNO; //比赛场次
|
|
};
|
|
|
|
//比赛信息
|
|
struct tagGameMatch
|
|
{
|
|
//基本信息
|
|
uint16 wServerID; //房间标识
|
|
uint32 dwMatchID; //比赛标识
|
|
uint32 dwMatchNO; //比赛场次
|
|
uint8 cbMatchType; //比赛类型
|
|
char szMatchName[32]; //比赛名称
|
|
|
|
//比赛信息
|
|
uint8 cbMemberOrder; //会员等级
|
|
uint8 cbMatchFeeType; //扣费类型
|
|
SCORE lMatchFee; //比赛费用
|
|
SCORE lMatchEnterScore; //准入金币
|
|
|
|
//比赛信息
|
|
uint16 wStartUserCount; //开赛人数
|
|
uint16 wMatchPlayCount; //比赛局数
|
|
|
|
//比赛奖励
|
|
uint16 wRewardCount; //奖励人数
|
|
|
|
//比赛时间
|
|
systemtime MatchStartTime; //开始时间
|
|
systemtime MatchEndTime; //结束时间
|
|
};
|
|
|
|
//在线信息
|
|
struct tagOnLineInfoKind
|
|
{
|
|
uint16 wKindID; //类型标识
|
|
uint32 dwOnLineCount; //在线人数
|
|
};
|
|
|
|
//在线信息
|
|
struct tagOnLineInfoServer
|
|
{
|
|
uint16 wServerID; //房间标识
|
|
uint32 dwOnLineCount; //在线人数
|
|
};
|
|
|
|
//////////////////////////////////////////////////////////////////////////////////
|
|
//用户信息
|
|
|
|
//桌子状态
|
|
struct tagTableStatus
|
|
{
|
|
uint8 cbTableLock; //锁定标志
|
|
uint8 cbPlayStatus; //游戏标志
|
|
};
|
|
|
|
//用户状态
|
|
struct tagUserStatus
|
|
{
|
|
uint16 wTableID; //桌子索引
|
|
uint16 wChairID; //椅子位置
|
|
uint8 cbUserStatus; //用户状态
|
|
};
|
|
|
|
//用户属性
|
|
struct tagUserAttrib
|
|
{
|
|
uint8 cbCompanion; //用户关系
|
|
};
|
|
|
|
//用户积分
|
|
struct tagUserScore
|
|
{
|
|
//积分信息
|
|
SCORE lScore; //用户分数
|
|
SCORE lGrade; //用户成绩
|
|
SCORE lInsure; //用户银行
|
|
|
|
//输赢信息
|
|
uint32 dwWinCount; //胜利盘数
|
|
uint32 dwLostCount; //失败盘数
|
|
uint32 dwDrawCount; //和局盘数
|
|
uint32 dwFleeCount; //逃跑盘数
|
|
|
|
//全局信息
|
|
uint32 dwUserMedal; //用户奖牌
|
|
uint32 dwExperience; //用户经验
|
|
unsigned int lLoveLiness; //用户魅力
|
|
};
|
|
|
|
//用户积分
|
|
struct tagMobileUserScore
|
|
{
|
|
//积分信息
|
|
SCORE lScore; //用户分数
|
|
|
|
//输赢信息
|
|
uint32 dwWinCount; //胜利盘数
|
|
uint32 dwLostCount; //失败盘数
|
|
uint32 dwDrawCount; //和局盘数
|
|
uint32 dwFleeCount; //逃跑盘数
|
|
|
|
//全局信息
|
|
uint32 dwExperience; //用户经验
|
|
};
|
|
|
|
|
|
//道具使用
|
|
struct tagUsePropertyInfo
|
|
{
|
|
uint16 wPropertyCount; //道具数目
|
|
uint16 dwValidNum; //有效数字
|
|
uint32 dwEffectTime; //生效时间
|
|
};
|
|
|
|
|
|
//用户道具
|
|
struct tagUserProperty
|
|
{
|
|
uint16 wPropertyUseMark; //道具标示
|
|
tagUsePropertyInfo PropertyInfo[MAX_PT_MARK]; //使用信息
|
|
};
|
|
|
|
//道具包裹
|
|
struct tagPropertyPackage
|
|
{
|
|
uint16 wTrumpetCount; //小喇叭数
|
|
uint16 wTyphonCount; //大喇叭数
|
|
};
|
|
|
|
//时间信息
|
|
struct tagTimeInfo
|
|
{
|
|
uint32 dwEnterTableTimer; //进出桌子时间
|
|
uint32 dwLeaveTableTimer; //离开桌子时间
|
|
uint32 dwStartGameTimer; //开始游戏时间
|
|
uint32 dwEndGameTimer; //离开游戏时间
|
|
};
|
|
|
|
//用户信息
|
|
struct tagUserInfo
|
|
{
|
|
//基本属性
|
|
uint32 dwUserID; //用户 I D
|
|
uint32 dwGameID; //游戏 I D
|
|
uint32 dwGroupID; //社团 I D
|
|
char szNickName[LEN_NICKNAME]; //用户昵称
|
|
char szGroupName[LEN_GROUP_NAME]; //社团名字
|
|
char szUnderWrite[LEN_UNDER_WRITE]; //个性签名
|
|
char szLogonIP[LEN_ACCOUNTS]; //登录IP
|
|
char szHeadHttp[LEN_USER_NOTE]; //登录IP
|
|
|
|
//头像信息
|
|
uint16 wFaceID; //头像索引
|
|
uint32 dwCustomID; //自定标识
|
|
|
|
//用户资料
|
|
uint8 cbGender; //用户性别
|
|
uint8 cbMemberOrder; //会员等级
|
|
uint8 cbMasterOrder; //管理等级
|
|
|
|
//用户状态
|
|
uint16 wTableID; //桌子索引
|
|
uint16 wLastTableID; //游戏桌子
|
|
uint16 wChairID; //椅子索引
|
|
uint8 cbUserStatus; //用户状态
|
|
|
|
//积分信息
|
|
SCORE lScore; //用户分数
|
|
SCORE lGrade; //用户成绩
|
|
SCORE lInsureScore; //用户银行
|
|
SCORE lGameGold; //用户元宝
|
|
|
|
//游戏信息
|
|
uint32 lWinCount; //胜利盘数
|
|
uint32 lLostCount; //失败盘数
|
|
uint32 lDrawCount; //和局盘数
|
|
uint32 lFleeCount; //逃跑盘数
|
|
uint32 lExperience; //用户经验
|
|
uint32 lLoveLiness; //用户魅力
|
|
|
|
//时间信息
|
|
tagTimeInfo TimerInfo;
|
|
};
|
|
|
|
//用户基本信息结构
|
|
struct tagUserInfoHead
|
|
{
|
|
//用户属性
|
|
uint32 dwGameID; //游戏 I D
|
|
uint32 dwUserID; //用户 I D
|
|
uint32 dwLogonIp; //登录IP
|
|
|
|
//头像信息
|
|
uint16 wFaceID; //头像索引
|
|
uint32 dwCustomID; //自定标识
|
|
|
|
//用户属性
|
|
uint8 cbGender; //用户性别
|
|
uint8 cbMemberOrder; //会员等级
|
|
uint8 cbMasterOrder; //管理等级
|
|
|
|
//用户状态
|
|
uint16 wTableID; //桌子索引
|
|
uint16 wChairID; //椅子索引
|
|
uint8 cbUserStatus; //用户状态
|
|
|
|
//积分信息
|
|
SCORE lScore; //用户分数
|
|
SCORE lGrade; //用户成绩
|
|
SCORE lInsure; //用户银行
|
|
|
|
//游戏信息
|
|
uint32 dwWinCount; //胜利盘数
|
|
uint32 dwLostCount; //失败盘数
|
|
uint32 dwDrawCount; //和局盘数
|
|
uint32 dwFleeCount; //逃跑盘数
|
|
uint32 dwUserMedal; //用户奖牌
|
|
uint32 dwExperience; //用户经验
|
|
uint32 lLoveLiness; //用户魅力
|
|
};
|
|
|
|
//头像信息
|
|
struct tagCustomFaceInfo
|
|
{
|
|
uint32 dwDataSize; //数据大小
|
|
uint32 dwCustomFace[FACE_CX*FACE_CY]; //图片信息
|
|
};
|
|
|
|
//用户信息
|
|
struct tagUserRemoteInfo
|
|
{
|
|
//用户信息
|
|
uint32 dwUserID; //用户标识
|
|
uint32 dwGameID; //游戏标识
|
|
char szNickName[LEN_NICKNAME]; //用户昵称
|
|
|
|
//等级信息
|
|
uint8 cbGender; //用户性别
|
|
uint8 cbMemberOrder; //会员等级
|
|
uint8 cbMasterOrder; //管理等级
|
|
|
|
//位置信息
|
|
uint16 wKindID; //类型标识
|
|
uint16 wServerID; //房间标识
|
|
char szGameServer[LEN_SERVER]; //房间位置
|
|
};
|
|
|
|
|
|
//等级配置
|
|
struct tagGrowLevelConfig
|
|
{
|
|
uint16 wLevelID; //等级 I D
|
|
uint32 dwExperience; //相应经验
|
|
};
|
|
|
|
//等级参数
|
|
struct tagGrowLevelParameter
|
|
{
|
|
uint16 wCurrLevelID; //当前等级
|
|
uint32 dwExperience; //当前经验
|
|
uint32 dwUpgradeExperience; //下级经验
|
|
SCORE lUpgradeRewardGold; //升级奖励
|
|
SCORE lUpgradeRewardIngot; //升级奖励
|
|
};
|
|
|
|
|
|
//////////////////////////////////////////////////////////////////////////////////
|
|
|
|
//广场子项
|
|
struct tagGamePlaza
|
|
{
|
|
uint16 wPlazaID; //广场标识
|
|
char szServerAddr[32]; //服务地址
|
|
char szServerName[32]; //服务器名
|
|
};
|
|
|
|
//级别子项
|
|
struct tagLevelItem
|
|
{
|
|
uint32 lLevelScore; //级别积分
|
|
char szLevelName[16]; //级别描述
|
|
};
|
|
|
|
//会员子项
|
|
struct tagMemberItem
|
|
{
|
|
uint8 cbMemberOrder; //等级标识
|
|
char szMemberName[16]; //等级名字
|
|
};
|
|
|
|
//管理子项
|
|
struct tagMasterItem
|
|
{
|
|
uint8 cbMasterOrder; //等级标识
|
|
char szMasterName[16]; //等级名字
|
|
};
|
|
|
|
//列表子项
|
|
struct tagColumnItem
|
|
{
|
|
uint8 cbColumnWidth; //列表宽度
|
|
uint8 cbDataDescribe; //字段类型
|
|
char szColumnName[16]; //列表名字
|
|
};
|
|
|
|
//地址信息
|
|
struct tagAddressInfo
|
|
{
|
|
char szAddress[32]; //服务地址
|
|
};
|
|
|
|
//数据信息
|
|
struct tagDataBaseParameter
|
|
{
|
|
uint16 wDataBasePort; //数据库端口
|
|
char szDataBaseAddr[32]; //数据库地址
|
|
char szDataBaseUser[32]; //数据库用户
|
|
char szDataBasePass[32]; //数据库密码
|
|
char szDataBaseName[32]; //数据库名字
|
|
};
|
|
|
|
//房间配置
|
|
struct tagServerOptionInfo
|
|
{
|
|
//挂接属性
|
|
uint16 wKindID; //挂接类型
|
|
uint16 wNodeID; //挂接节点
|
|
uint16 wSortID; //排列标识
|
|
|
|
//税收配置
|
|
uint16 wRevenueRatio; //税收比例
|
|
SCORE lServiceScore; //服务费用
|
|
|
|
//房间配置
|
|
SCORE lRestrictScore; //限制积分
|
|
SCORE lMinTableScore; //最低积分
|
|
SCORE lMinEnterScore; //最低积分
|
|
SCORE lMaxEnterScore; //最高积分
|
|
|
|
//会员限制
|
|
uint8 cbMinEnterMember; //最低会员
|
|
uint8 cbMaxEnterMember; //最高会员
|
|
|
|
//房间属性
|
|
uint32 dwServerRule; //房间规则
|
|
char szServerName[LEN_SERVER]; //房间名称
|
|
};
|
|
|
|
|
|
//////////////////////////////////////////////////////////////////////////////////
|
|
//比赛信息
|
|
|
|
//赛事信息
|
|
struct tagMatchInfo
|
|
{
|
|
char szTitle[4][64]; //信息标题
|
|
uint16 wGameCount; //游戏局数
|
|
};
|
|
|
|
//提示信息
|
|
struct tagMatchWaitTip
|
|
{
|
|
SCORE lScore; //当前积分
|
|
uint16 wRank; //当前名次
|
|
uint16 wCurTableRank; //本桌名次
|
|
uint16 wUserCount; //当前人数
|
|
uint16 wPlayingTable; //游戏桌数
|
|
char szMatchName[LEN_SERVER]; //比赛名称
|
|
};
|
|
|
|
//比赛结果
|
|
struct tagMatchResult
|
|
{
|
|
char szDescribe[256]; //得奖描述
|
|
uint32 dwGold; //金币奖励
|
|
uint32 dwMedal; //奖牌奖励
|
|
uint32 dwExperience; //经验奖励
|
|
};
|
|
|
|
//比赛描述
|
|
struct tagMatchDesc
|
|
{
|
|
char szTitle[4][16]; //信息标题
|
|
char szDescribe[4][64]; //描述内容
|
|
uint32 crTitleColor; //标题颜色
|
|
uint32 crDescribeColor; //描述颜色
|
|
};
|
|
|
|
//////////////////////////////////////////////////////////////////////////////////
|
|
//排行榜
|
|
//排行榜项
|
|
//struct tagRankItem
|
|
//{
|
|
// uint32 dwUserID; //用户ID
|
|
// SCORE lScore; //用户积分
|
|
// unsigned short szNickname[LEN_NICKNAME]; //用户昵称
|
|
//};
|
|
|
|
#pragma pack()
|
|
|
|
#endif |