common_msg.proto 11.2 KB
//syntax="proto3";
package common_msg;
import "share_msg.proto";

//////////////////////////////////////////////
//错误码
//////////////////////////////////////////////
enum E_ERROR_CODE
{
//通用错误
	DEF_UNUSE = 0;
	EEC_SERVER_ACCOUNT_FULL = 1;//帐号满
	EEC_MOUNT_USED = 16; //骑乘状态中

	EEC_MOUNT_UNUSED = 18; //不在骑乘状态
	EEC_NO_TASK = 19; //任务错误
	EEC_NO_TASK_FINISH = 20; //任务未完成
	EEC_NO_TASK_REWARD = 21; //任务未领取奖励
	EEC_CLI_EVENT_TYPE = 22; //客户端事件类型错误
	
	

	EEC_USER_NO_BTL = 27;//用户不在战斗状态

	EEC_GET_FORAGE_TIME_ERR = 30; //领取粮草不在规定的时间范围
	EEC_GET_FORAGE_EXISTENT = 31; //本时间段已领取粮草
	EEC_FORAGE_CNT = 32; //粮草不足
	EEC_EQUIPMENT_INEXISTENT = 33; //装备不存在
	EEC_EQUIPMENT_ON = 34; //装备已装备	
	EEC_HERO_INEXISTENT = 35; //英雄不存在
	EEC_HERO_EQUIPMENT_POS = 36; //英雄装备位置已有装备
	EEC_EQUIPMENT_OFF = 37; //装备没有装备	
	EEC_HERO_EQUIPMENT_POS_NO = 38; //英雄装备位置没有装备
	EEC_TASK_UNFINISH = 39;//任务未完成
	EEC_HERO_STAR_LEVEL_MAX = 40; //英雄星级等级最大
	EEC_ITEM_CNT = 41; //道具不足
	EEC_PEACH_CNT = 42; //蟠桃不足
	EEC_EQUIPMENT_LEVEL_UP = 43; //装备升级中
	EEC_GOLD_CNT = 44; //金币不足
	EEC_HERO_INEXISTENT_IN_HERO_SKILL = 45; //英雄技能表中不存在该英雄
	EEC_HERO_SKILL_INACTIVE = 46; //英雄技能未激活
	EEC_HERO_SKILL_UP = 47; //英雄技能升级消费表中未找到
	EEC_HERO_EXISTENT = 48; //英雄存在
	EEC_BUILDING_LEVEL_UP = 49; //建筑升级失败
	EEC_BUILDING_HALL_LEVEL = 50; //议事厅等级不足
	EEC_SOLDIER_CNT_MAX = 51; //士兵数量上限
	EEC_HERO_LEVEL = 52; //英雄等级不足
	EEC_MAP_TYPE= 53; //地图类型
	EEC_PRIVATE_MAP_RESOURCE_BEFORE_THE_PRODUCTION_TIME = 54; //私有地图资源未到产出时间
	EEC_PRIVATE_MAP_USER_IN = 55; //私有地图中有人
	EEC_INGOTS_CNT = 56; //元宝不足
	EEC_FRIEND_SELF_CNT = 57; //自己好友上限
	EEC_HAS_FRIEND = 58; //自己已有该好友
	EEC_FRIEND_APPLY_CNT = 59;//对方好友申请上限数量
	EEC_IN_FRIEND_APPLY_CNT = 60;//在对方好友申请表中
	EEC_IN_FRIEND = 61;//在对方好友表中
	EEC_FRIEND_CNT = 62;//对方好友上限
	EEC_NPC_SELL_ITEM_INEXISTENT = 63;//NPC商会道具不存在
	EEC_NPC_SELL_BUY_ITEM_CNT_MAX = 64;//NPC商会道具购买超出上限
	EEC_SILVER_CNT = 65; //银币不足
	EEC_USER_SELL_EQUIPMENT_EXP = 66; //摆摊装备exp必须为0
	EEC_USER_SELL_BUY_SELF = 67; //不能购买自己的东西
	EEC_USER_SELL_BUY_NULL = 68; //摆摊东西不存在
	EEC_LINEUP_CNT = 69; //阵形中上阵数量过多
	EEC_LINEUP_LEVEL = 70; //阵形等级失败
	EEC_LINEUP_ID = 71; //阵形id已使用
	EEC_EQUIPMENT_ELEMENT_TYPE = 72; //装备属性类型不匹配
//	EEC_NOT_IN_MAP_PRIVATE = 73;//不在私有地图
	EEC_SOLDIER_ALREADY_UNLOCK = 74;//道具对应的士兵已经激活(解锁)
//	EEC_HERO_EXP_ALREADY_FULL = 75;//英雄经验已满
//	EEC_ZHUJIDAN_FREE_CNT = 76;//筑基丹免费领取数量
//	EEC_ZHUJIDAN_FREE_TIME = 77;//筑基丹免费时间
//	EEC_ZAOHUADAN_FREE_TIME = 78;//造化丹免费时间
//	EEC_FORAGE_FULL = 79;//粮草已满
//	EEC_JADE_CNT = 80; //神玉不足
//	EEC_MOUNT_EXSIT = 82; //坐骑已经存在
	EEC_TASK_FINISH_MAX = 83;//悬赏任务到达上线
	EEC_TASK_FINISH = 84;//任务已领取
//	EEC_FRIEND_PEACH_GIVED = 85;//已赠送蟠桃
//	EEC_FRIEND_PEACH_RECEIVE_FIRST = 86;//需要先领取蟠桃
//	EEC_FRIEND_PEACH_HAVE_NOT_RECEIVE = 87;//未收到蟠桃
//	EEC_FENGYAO_TASK_NOT_EXIST = 88;//不存在封妖洞任务
//	EEC_FENGYAO_USED_HERO = 89;//已参战过的英雄
//	EEC_FENGYAO_HERO_COUNT = 90;//参战的任务数量错误

	EEC_WECHAT_LOGIN = 99;//微信登录错误

	EEC_BUILDING_LEVEL = 105;//建筑等级不足

	EEC_NOT_IN_MAP = 111;//不再地图中

	EEC_VIP_LEVEL = 117;//vip等级不足

	
	EEC_USER_EXP_LEVEL = 125;//等级不足


	EEC_ALI		= 130;//ALI错误
	EEC_ALI_10 	= 131;//ALI请求参数错误(请求内容格式有误、gameID 有误、签名校验失败等)
	EEC_ALI_11 	= 132;//ALI用户未登录(sid 不存在,请求地址有误等)
	EEC_ALI_99 	= 133;//ALI服务器内部错误(接口名有误、请求地址有误等)
	
	EEC_SYS_T = 134;//被系统T掉
	EEC_CHAT_BAN = 135;//禁言
	
//	EEC_EXCHANGE_CODE_INEXIST = 136;//激活码不存在
//	EEC_EXCHANGE_CODE_USED = 137;//激活码已被使用
//	EEC_EXCHANGE_CODE_TYPE_USED = 138;//激活码类型已用过


	ECC_WRONG_NO_ENOUGH_ITEM = 150;  //没有足够的道具

	EEC_ERROR_MYSQL = 6000;//数据库错误
	EEC_MAX = 10000;//错误最大值
}

enum USER_EVENT_TYPE
{
	USER_EVENT_TYPE_DEF = 0;
	//---------------------------------------------------------------------------- 
	//每日事件 DAILY_EVENT_XX[10000000,19999999]
	DAILY_EVENT_BEGIN					= 10000000;  

 	DAILY_EVENT_TASK					= 10000001;//每日任务,id:share_msg.E_GAME_ID * 100000 + 任务ID #share_msg.E_TASK_DAILY_TYPE,data:数据, str_data:领取到的节点(step_id)


	DAILY_EVENT_RANK					= 10000002;//每日排行,id:排行类型#share_msg.E_RANK_TYPE,data:数据

	DAILY_EVENT_ONLINE_REWARD			= 10000003;//每日在线礼包,id:0,data:领取过礼包的id.
	DAILY_EVENT_ONLINE_REWARD_TIME_SEC	= 10000004;//每日在线礼包,积累的时间,id:0,data:积累的时间
	
	DAILY_EVENT_BTL_CNT					= 10000005;//每日牌局数量,id:share_msg.E_GAME_ID, data:局数
	
	DAILY_EVENT_TURNTABLE_CNT			= 10000006;//每日转盘数量,id:0, data:数量
	
	DAILY_EVENT_RELIEF_CNT				= 10000007;//每日救济数量,id:0, data:数量
	
	DAILY_EVENT_TASK_CHANGE_CNT			= 10000008;//每日任务,id:0,data:更换过的次数
		
	DAILY_EVENT_END						= 19999999;
	//---------------------------------------------------------------------------- 

	//---------------------------------------------------------------------------- 
	//每周事件 WEEKLY_EVENT_XX[20000000,29999999]
	WEEKLY_EVENT_BEGIN                  = 20000000;
	WEEKLY_EVENT_RECORD 				= 20000001;   //交易记录
	WEEKLY_EVENT_END                    = 29999999;
	
	//---------------------------------------------------------------------------- 

	//---------------------------------------------------------------------------- 
	//每月事件 MONTHLY_EVENT_XX[30000000,39999999]
	MONTHLY_EVENT_BEGIN	= 30000000;
	 
	MONTHLY_EVENT_SIGN			= 30000001;//签到,time:更新的时间, str_data:签到日期,1,3,4,5...
	MONTHLY_EVENT_SIGN_REWARD	= 30000002;//签到领取奖励,time:更新的时间, str_data:已领取的,5,15,20,0...

	
	MONTHLY_EVENT_LOGIN			= 30000003;//登录,time:更新的时间, str_data:登录日期,1,3,4,5...
	MONTHLY_EVENT_LOGIN_REWARD	= 30000004;//登录领取奖励,time:更新的时间, str_data:已领取的,5,15,20,0...
	
	
	MONTHLY_EVENT_END                   = 39999999;
	//---------------------------------------------------------------------------- 


	//---------------------------------------------------------------------------- 
	//永久事件 FOREVER_EVENT_XX [40000000,49999999]
	FOREVER_EVENT_BEGIN                 = 40000000;
 	FOREVER_EVENT_GAME_SCORE			= 40000001;//用户积分,id:1,data:积分1000000000为0#share_msg.E_COMMON_GD_SCORE_BEGIN
 	
 	FOREVER_EVENT_GAME_WIN				= 40000002;//用户胜利,id:游戏ID#share_msg.E_GAME_ID,data:胜利次数
 	FOREVER_EVENT_GAME_LOST				= 40000003;//用户失败,id:游戏ID#share_msg.E_GAME_ID,data:失败次数

 	FOREVER_EVENT_ROLE_REWARD			= 40000005;//新手礼包,data:role_reward id, time:领取的时间
	FOREVER_EVENT_CREATE_REWARD			= 40000006;//[废除]创建礼包,data:是否领取[0:未领取,1:领取过]
	
	FOREVER_EVENT_FIRST_PAY				= 40000007;//首充,id:pay.xml中的id
	
	FOREVER_EVENT_BTL_CNT_REWARD		= 40000008;//新手对局福利,id:yyyymmdd(记录的天数), time:抽奖的时间

	FOREVER_EVENT_IDX					= 40000014;//用户xx的唯一序号id:0,data:xx序号
	
	FOREVER_EVENT_STATISITCS_FIRST_PAY	= 40001001;//统计,第一次充值.id:0,data:0

	//////////////////////////////////////////////////////////////////////////////
	//系统使用事件
 	FOREVER_EVENT_SYS_UID								= 48000001;//系统使用(UID == 0), data存现在分配到的玩家uid
	FOREVER_EVENT_SYS_SERVER_OPEN_DAY					= 48000002;//系统使用(UID == 0), data存服务器开服的日期序号(从1970-01-01开始,yyyymmdd), time:sec

	/////////////////////////////////////////////////////////////////////////////////
	//客户端事件
	//不关心,只占位.具体由客户端自行查询和存储...
 	FOREVER_EVENT_CLI_START				= 49000000;//客户端使用的事件开始
	FOREVER_EVENT_CLI_EXP				= 49000001;//用户经验,id:游戏ID#share_msg.E_GAME_ID,data:exp
 	FOREVER_EVENT_CLI_END				= 49999998;//客户端使用的事件结束	
	////////////////////////////////////////////////////////////////////////////////
	
	FOREVER_EVENT_END                   		= 49999999;
	//---------------------------------------------------------------------------- 

	
	//----------------------------------------------------------------------------
	//过期事件 EXPRIE_EVENT_XX [90000000-99999999]
	EXPRIE_EVENT_BEGIN						= 90000000;
		
	EXPRIE_EVENT_ACCOUNT_BAN				= 90000005;   //封号id:0,time:到期时间
	EXPRIE_EVENT_TALK_BAN					= 90000006;   //禁言id:0,time:到期时间
	EXPRIE_EVENT_PAY_DAY					= 90000007;   //按天计算时长卡,id:pay.xml中的id,data:上一次领取时间,time:过期时间
	EXPRIE_EVENT_END						= 99999999;
	
	//---------------------------------------------------------------------------- 

}

//统计类型
enum E_STATISTICS_TYPE
{
	//参数:(平台ID,UID,TIME_SEC)
	E_STATISTICS_TYPE_1 = 1;//登录
	E_STATISTICS_TYPE_2 = 2;//付费(RMB)
	E_STATISTICS_TYPE_3 = 3;//输金币流水(game_id,房间分数,钱的变化量)
	E_STATISTICS_TYPE_4 = 4;//赢金币流水(game_id,房间分数,钱的变化量)
	E_STATISTICS_TYPE_5 = 5;//牌局(game_id,房间分数)
	
	E_STATISTICS_TYPE_6 = 6;//注册
	E_STATISTICS_TYPE_7 = 7;//第一次付费
}

//聊天类型ok
enum E_CHAT_TYPE
{
	E_CHAT_TYPE_PRIVATE = 0;//私聊
	E_CHAT_TYPE_MAP = 1;//本地图聊天
	E_CHAT_TYPE_ALL = 2;//全服聊天
	E_CHAT_TYPE_NOTICE = 3;//通知
}

//room 服务的穿透消息 范围
enum E_PENETRATE_ROOM_MSG{
	E_PENETRATE_ROOM_MSG_DEF = 0;
	E_PENETRATE_ROOM_MSG_BEGIN = 0x20000;
	E_PENETRATE_ROOM_MSG_END = 0x2ffff;
}

////////////////////////////////////////////////////
//结构体
////////////////////////////////////////////////////



//好友
message friend_t
{
	optional uint64 id = 1;//好友ID
	optional string nick = 2;//好友昵称
	optional uint32 state = 4;//好友状态 E_FRIEND_STATE 0:离线,1:在线,2:申请
	optional uint32 exp = 5;//经验
}

message event_t
{
	optional uint32 type = 1;//类型 49000001
	optional uint64 id = 2;//ID
	optional uint64 data = 3;//数据
	optional uint32 time = 4;//时间
	optional string str_data = 5;//字符串数据
	optional string bin_data = 6;//字符串二进制数据
}

//奖励
message reward_t
{
	repeated share_msg.item_t item = 1;//道具
}

message rank_role_t
{
	optional uint64 uid = 1;//用户ID
	optional string name = 3;//名字
	optional uint32 value = 4;//数值
}


//随机昵称
message rand_nick
{
	optional string nick = 1;//昵称
	optional uint32 flag = 2;//使用标记,默认0,使用1
}


////////////////////////////////////////////////////
//道具方面
////////////////////////////////////////////////////
message item_cfg_t
{
	optional uint32  	  id 		= 2;  //道具id
}