// Protocol Buffers - Google's data interchange format // Copyright 2008 Google Inc. All rights reserved. // https://developers.google.com/protocol-buffers/ // syntax = "proto3"; package google.protobuf; option csharp_namespace = "Google.Protobuf.WellKnownTypes"; option go_package = "github.com/golang/protobuf/ptypes/struct;structpb"; option java_package = "com.google.protobuf"; option java_outer_classname = "StructProto"; option java_multiple_files = true; option java_generate_equals_and_hash = true; option objc_class_prefix = "GPB"; //Lobby的消息ID从1~1000 enum CSMsgID { CS_MSGID_NONE = 0; CS_MSGID_ACCOUNT_REQ = 11; CS_MSGID_ACCOUNT_RES = 12; CS_MSGID_GAME_LIST_REQ = 13; CS_MSGID_GAME_LIST_RES = 14; CS_MSGID_PING = 15; CS_MSGID_VERSION_REQ = 17; CS_MSGID_VERSION_RES = 18; CS_MSGID_QUERY_LOGINSYSNOTICE_REQ = 19; //登录界面的公告数据 请求 CS_MSGID_QUERY_LOGINSYSNOTICE_RES = 20; //登录界面的公告数据 回应 CS_MSGID_BIG_MSG_TEST = 21; // 超大消息, 用于测试消息拆分逻辑 CS_MSGID_GAMEAREA_SERVERIP_REQ = 101;//获取各大区游戏服务器ip CS_MSGID_GAMEAREA_SERVERIP_RES = 102;//获取各大区游戏服务器ip CS_MSGID_ACCOUNT_SVR_CHG_NOTIFY = 103; // account服务器切换通知 CS_MSGID_BIND_GUEST_FACEBOOK_REQ = 201; CS_MSGID_BIND_GUEST_FACEBOOK_RES = 202; CS_MSGID_UNBIND_GUEST_FACEBOOK_REQ = 203; CS_MSGID_UNBIND_GUEST_FACEBOOK_RES = 204; CS_MSGID_UPDATE_ACCOUNT_GRADE_REQ = 210; // 玩家评价通知 CS_MSGID_UPDATE_ACCOUNT_GRADE_RES = 211; } //CS_MSGID_UPDATE_ACCOUNT_GRADE_REQ message CSUpdateAccountGradeReq{ int64 uid = 1; string accountID = 2 [stringlength=256]; int32 grade = 3; } //CS_MSGID_UPDATE_ACCOUNT_GRADE_RES message CSUpdateAccountGradeRes{ int32 ret = 1; // 修改结果返回 1:错误,0 :成功 } message AccountInfo { int32 accountType = 1; //0 游客 1 facebook 2 google 10 qq 11 weixin string accountID = 2 [stringlength=256]; string accountToken = 3 [stringlength=8192]; int32 platformType = 4; // 1 android 2 ios 3 windows int32 compensation =5 ; // 补偿金 } message QQPayInfo{ string payToken = 1 [stringlength=256]; string pf = 2 [stringlength=128]; string pfkey = 3 [stringlength=128]; } message VersionInfo { // en,comm string language = 1 [stringlength=32]; //en ,tk,comm //ios,android,win string os = 2 [stringlength=128]; //1.2.1.34 string appVersion = 3 [stringlength=32]; string osLanguage = 4 [stringlength=32]; //操作系统语言 string apkChannel = 5 [stringlength=32]; //包的渠道信息,比如华为包(huawei),缺省不填表示google包 string osVersion = 6 [stringlength=128]; string packageName = 7 [stringlength=128]; //包名 int32 packageType = 8; // 包类型 string productId = 9 [stringlength=16]; } // 游戏服务器上报给lobby服务器信息,包括名字,在线人数,连接服务器的ip地址,端口 // 客户端拉取游戏列表信息 message CSRealmInfo { int32 realmId = 1; string name = 2 [stringlength=16]; int32 onlinePlayer = 3; int32 svrStatus = 4; int32 configStatus = 5; string gateUrl = 6 [stringlength=64]; //url|ip:port string chatGateUrl = 7 [stringlength=64]; //url|ip:port int32 openTime = 8; // 开服时间 string realmBdcName = 9 [stringlength=32]; int32 showSeq = 10; // 开服顺序 } message CSAreaServerIPInfo { string areaName = 1 [stringlength=16]; string areaIP = 2[stringlength=16]; int32 timezone = 3; int32 minRealmId = 4; int32 maxRealmId = 5; } // 游戏的id要从1000开始 enum CSGameMsgID { CS_GAMEMSGID_NONE = 0; CS_GAMEMSGID_LOGIN_REQ = 1001; CS_GAMEMSGID_LOGIN_RES = 1002; CS_GAMEMSGID_QUERY_ROLE_REQ = 1003; CS_GAMEMSGID_QUERY_ROLE_RES = 1004; CS_GAMEMSGID_PAY_GOOGLE_REQ = 1005; //支付开始 CS_GAMEMSGID_PAY_GOOGLE_RES = 1006; CS_GAMEMSGID_PAY_GOOGLE_SUCCESS_REQ = 1007;//支付成功,加钻石,返回后客户端才能执行消耗操作(参考googleapi) CS_GAMEMSGID_PAY_GOOGLE_SUCCESS_RES = 1008; CS_GAMEMSGID_PAY_DIAMOND_HOLDER_QUERY_REQ = 1009; //查询托管钻石数量开始 CS_GAMEMSGID_PAY_DIAMOND_HOLDER_QUERY_RES = 1010; CS_GAMEMSGID_PAY_GET_FREE_ITEM_REQ = 1011; // 领取免费礼包 CS_GAMEMSGID_PAY_GET_FREE_ITEM_RES = 1012; CS_GAMEMSGID_PAY_NEW_ITEM_NOTIFY = 1013; // 商城新物品上架通知 CS_GAMEMSGID_KICK_OFF = 1015; CS_GAMEMSGID_CHATLOGIN_REQ = 1017; // 聊天登录请求 CS_GAMEMSGID_CHATLOGIN_RES = 1018; // 聊天登录回应 CS_GAMEMSGID_GM_CMD_REQ = 1019; //gm指令列表 CS_GAMEMSGID_GM_CMD_RES = 1020; CS_GAMEMSGID_QUERY_FRIEND_LIST_REQ = 1021; // 完整的好友列表信息 CS_GAMEMSGID_QUERY_FRIEND_LIST_RES = 1022; CS_GAMEMSGID_FRIEND_SELF_CHG_NOTIFY = 1025;//通知我的好友数据(自己部分)变化,全量 CS_GAMEMSGID_FRIEND_LIST_CHG_NOTIFY = 1026;//通知我的好友数据(列表部分)变化,增量 CS_GAMEMSGID_KICK_MULTILOGIN = 1030;//被顶下线 CS_GAMEMSGID_QUERY_MAIL_REQ = 1041; //查询邮件列表 CS_GAMEMSGID_QUERY_MAIL_RES = 1042; //查询邮件列表 CS_GAMEMSGID_MAIL_OP_REQ = 1043; //操作邮件 CS_GAMEMSGID_MAIL_OP_RES = 1044; //操作邮件 CS_GAMEMSGID_MAIL_CHG_NOTIFY = 1981; //邮件变化通知,现在只有delete CS_GAMEMSGID_RENAME_REQ = 1045; //改名 CS_GAMEMSGID_RENAME_RES = 1046; //改名 CS_GAMEMSGID_CHANGE_ICON_REQ = 1047; //换头像 CS_GAMEMSGID_CHANGE_ICON_RES = 1048; //换头像 CS_GAMEMSGID_ICON_DATA_NOTIFY = 1049; //头像数据通知 CS_GAMEMSGID_STATISTICS_CHG = 1050; //角色统计数据变更通知 CS_GAMEMSGID_PING = 1051; //ping,keepalive, CS_GAMEMSGID_CHATPING = 1052; CS_GAMEMSGID_CHAT_REQ = 1053; // 聊天请求 CS_GAMEMSGID_CHAT_RES = 1054; // 聊天回应 CS_GAMEMSGID_SYSNOTICE_LAMP = 1055; //走马灯 CS_GAMEMSGID_SYSNOTICE = 1056; //公告 CS_GAMEMSGID_GMCMD = 1057; CS_GAMEMSGID_QUERY_CHAT_DATA_REQ = 1059; //客户端请求离线消息 CS_GAMEMSGID_QUERY_CHAT_DATA_RES = 1060; CS_GAMEMSGID_RECV_PRIVATE_CHAT_NOTIFY = 1061; //收到私聊 CS_GAMEMSGID_CHANNEL_CACHE_DATA_REQ = 1062; //请求频道缓存聊天信息 CS_GAMEMSGID_CHANNEL_CACHE_DATA_RES = 1063; //请求频道缓存聊天信息 CS_GAMEMSGID_QUERY_SYSNOTICE_REQ = 1064; //公告 CS_GAMEMSGID_QUERY_SYSNOTICE_RES = 1065; //公告 CS_GAMEMSGID_QUERY_SURVEY_REQ = 1066; // 问卷调查 CS_GAMEMSGID_QUERY_SURVEY_RES = 1067; // 问卷调查 CS_GAMEMSGID_SYNC_POWER_INFO = 1068; // 同步体力数据 CS_GAMEMSGID_CHANGE_ICON_FRAME_REQ = 1069; //换头像框 CS_GAMEMSGID_CHANGE_ICON_FRAME_RES = 1070; //换头像框 CS_GAMEMSGID_BUY_POWER_REQ = 1071; // 购买体力数据 CS_GAMEMSGID_BUY_POWER_RES = 1072; // 购买体力数据 CS_GAMEMSGID_SYSPAYCHANEL_REQ = 1073; //付费通道 CS_GAMEMSGID_SYSPAYCHANEL_RES = 1074; //付费通道 CS_GAMEMSGID_MOP_UP_REQ = 1075; // 扫荡请求 CS_GAMEMSGID_MOP_UP_RES = 1076; // 扫荡返回 CS_GAMEMSGID_COMMON_DYNAMIC_REQ = 1097; //通用协议 CS_GAMEMSGID_COMMON_DYNAMIC_RES = 1098; //通用协议 CS_GAMEMSGID_GAIN_POWER_REQ = 1077; // 领取体力数据 CS_GAMEMSGID_GAIN_POWER_RES = 1078; // 领取体力数据 CS_GAMEMSGID_USE_ITEM_REQ = 1110; //使用物品 CS_GAMEMSGID_USE_ITEM_RES = 1111; //使用物品 CS_GAMEMSGID_TALENT_ACTIVE_REQ = 1112; // CS_GAMEMSGID_TALENT_ACTIVE_RES = 1113; // CS_GAMEMSGID_TALENT_OPTIONS_REQ = 1114; // CS_GAMEMSGID_TALENT_OPTIONS_RES = 1115; // CS_GAMEMSGID_SET_ITEM_NEWGET_REQ = 1116; CS_GAMEMSGID_SET_ITEM_NEWGET_RES = 1117; CS_GAMEMSGID_TALENT_DATA_SYNC = 1118; CS_GAMEMSGID_QUERY_FRIEND_STATUS_REQ = 1129; //查询好友状态 CS_GAMEMSGID_QUERY_FRIEND_STATUS_RES = 1130; CS_GAMEMSGID_QUERY_RANK_LIST_REQ = 1131;//查询排行榜列表 CS_GAMEMSGID_QUERY_RANK_LIST_RES = 1132;//查询排行榜列表 CS_GAMEMSGID_QUERY_RANK_SELF_REQ = 1133;//查询排行榜自己信息 CS_GAMEMSGID_QUERY_RANK_SELF_RES = 1134;//查询排行榜自己信息 CS_GAMEMSGID_QUERY_RANK_DETAIL_REQ = 1135;//查询排行榜某个人的详细信息 CS_GAMEMSGID_QUERY_RANK_DETAIL_RES = 1136;//查询排行榜某个人的详细信息 CS_GAMEMSGID_QUERY_RANK_TOP_REQ = 1137;//查询排行榜第一名信息 CS_GAMEMSGID_QUERY_RANK_TOP_RES = 1138;//查询排行榜第一名信息 CS_GAMEMSGID_NOTICE_RANK_CHANGE = 1139;//通知排行榜发生了变化 CS_GAMEMSGID_UPDATE_SELF_RANKSCORE = 1140; //更新自己的排行榜分数 CS_GAMEMSGID_CLI_REPORT_BILL_REQ = 1141;//客户端上报信息,记录一下统计日志 CS_GAMEMSGID_REPORT_CHEAT_REQ = 1142; CS_GAMEMSGID_REPORT_CHEAT_RES = 1143; CS_GAMEMSGID_UPDATE_WXRANK = 1144; CS_GAMEMSGID_ADID_REPORT_REQ = 1149; //上报google adid, ios idfa,广告id CS_GAMEMSGID_FIREBASE_ID_REPORT_REQ = 1151; //上报firebase id CS_GAMEMSGID_FIREBASE_SUBSCRIBE_TOPIC = 1152;//s-c 订阅主题 CS_GAMEMSGID_SAVE_CLIENT_DATA_REQ = 1155; //客户端数据 CS_GAMEMSGID_SAVE_CLIENT_DATA_RES = 1156; //客户端数据 CS_GAMEMSGID_QUERY_OTHER_DETAIL_REQ = 1159; //查询玩家详细信息 CS_GAMEMSGID_QUERY_OTHER_DETAIL_RES = 1160; //查询玩家详细信息 CS_GAMEMSGID_TIP_OFF_PLAYER_REQ = 1161; //举报玩家 CS_GAMEMSGID_GAG_CHAT_NOTIFY = 1162;//禁言通知 CS_GAMEMSGID_HIDE_MY_INFO_REQ = 1163; //隐藏自己的个人信息,不让其他人查询 CS_GAMEMSGID_HIDE_MY_INFO_RES = 1164; //隐藏自己的个人信息,不让其他人查询 CS_GAMEMSGID_PAY_PLAYER_PAYINFO_CHG_NOTIFY = 1165; //玩家支付数据变化通知 CS_GAMEMSGID_POWER_CHANGE_NOTIFY = 1168; //总战力变化通知 CS_GAMEMSGID_POWER_CLI_REQ = 1169; //总战力变化通知 CS_GAMEMSGID_FREE_REWARD_REQ = 1170; CS_GAMEMSGID_FREE_REWARD_RES = 1171; CS_GAMEMSGID_FREE_REWARD_SYNC = 1172; CS_GAMEMSGID_SET_LANGUAGE_REQ = 1189; //设置语言 CS_GAMEMSGID_SET_LANGUAGE_RES = 1190; //设置语言 CS_GAMEMSGID_CLIENT_HOT_PATCH_FILE_PUSH = 1191; //客户端热补丁推送 CS_GAMEMSGID_REPORT_INVITE_ME_FBUSERID = 1193;//客户端向服务器上报是谁邀请我的 CS_GAMEMSGID_REPORT_INVITE_ME_FBUSERID_RES = 1194;//服务器回应,客户端收到消息可以向fb删除 CS_GAMEMSGID_SAVE_CLIENT_BIT_FLAG_REQ = 1197; //客户端位数据 CS_GAMEMSGID_SAVE_CLIENT_BIT_FLAG_RES = 1198; //客户端位数据 CS_GAMEMSGID_QUERY_UPSYSNOTICE = 1199; //chat主动下发单条公告 CS_GAMEMSGID_QUESTIONNAIRE_REWARD_REQ = 1120; //调查问卷发送奖励 CS_GAMEMSGID_QUESTIONNAIRE_REWARD_RES = 1121;//调查问卷发送奖励 CS_GAMEMSGID_QUESTIONNAIRE_REWARD_SYN = 1122;//同步信息 CS_GAMEMSGID_QUERY_BAG_CHANGE_HISTORY_LIST_REQ = 1231 ; //查询背包变化列表 CS_GAMEMSGID_QUERY_BAG_CHANGE_HISTORY_LIST_RES = 1232 ; //查询背包变化列表 CS_GAMEMSGID_SYNC_LEVEL_INFO = 1237; // 经验同步 CS_GAMEMSGID_MAIL_SEND_TO_PLAYER_REQ = 1241; //发送邮件 CS_GAMEMSGID_MAIL_SEND_TO_PLAYER_RES = 1242; //发送邮件 // TaskEX CS_GAMEMSGID_TASKEX_ACCEPT_TASK_REQ = 1260; // 接取任务 请求 CS_GAMEMSGID_TASKEX_ACCEPT_TASK_RES = 1261; // 接取任务 回应 CS_GAMEMSGID_TASKEX_HANDOVER_TASK_REQ = 1266; // 交付任务领取奖励 请求 CS_GAMEMSGID_TASKEX_HANDOVER_TASK_RES = 1267; // 交付任务领取奖励 回应 CS_GAMEMSGID_TASKEX_CHANGE_NOTIFY = 1268; // 通知 任务数据发生改变 CS_GAMEMSGID_TASKEX_DELETE_NOTIFY = 1269; // 通知 有任务需要被清除 CS_GAMEMSGID_TASKEX_UPEXINFO_REQ = 1270; // 更新指定任务的指定index扩展信息 CS_GAMEMSGID_TASKEX_UPEXINFO_RES = 1271; // 更新指定任务的指定index扩展信息 CS_GAMEMSGID_TASKEX_BATCH_UPEXINFO_REQ = 1272; // 批量更新指定任务的扩展信息 CS_GAMEMSGID_TASKEX_BATCH_UPEXINFO_RES = 1273; // 批量更新指定任务的扩展信息 CS_GAMEMSGID_BATCH_TASKEX_HANDOVER_TASK_REQ = 1274; // 交付任务领取奖励 请求 CS_GAMEMSGID_BATCH_TASKEX_HANDOVER_TASK_RES = 1275; // 交付任务领取奖励 回应 // friend CS_GAMEMSGID_FRIEND_OP_REQ = 1301; //好友操作请求(邀请,同意,拒绝,删除等) CS_GAMEMSGID_FRIEND_OP_RES = 1302; //好友操作回应 CS_GAMEMSGID_FRIEND_OP_LIST_CHG_NOTIFY = 1303; //好友操作列表变化通知 CS_GAMEMSGID_QUERY_FRIEND_OP_REQ = 1305;//查询好友op信息,全量 CS_GAMEMSGID_QUERY_FRIEND_OP_RES = 1306;//查询好友op信息,全量 CS_GAMEMSGID_FRIEND_STRANGER_LIST_CHG_NOTIFY = 1313; //陌生人列表更新 CS_GAMEMSGID_FRIEND_STRANGER_LIST_DELETE_NOTIFY = 1314; //陌生人列表删除 CS_GAMEMSGID_FRIEND_QUERY_INFO_BY_UID_REQ = 1315; //根据uid查询信息 CS_GAMEMSGID_FRIEND_QUERY_INFO_BY_UID_RES = 1316; //根据uid查询信息 CS_GAMEMSGID_FRIEND_GET_RECOMMENDER_REQ = 1317; //推荐好友 CS_GAMEMSGID_FRIEND_GET_RECOMMENDER_RES = 1318; //推荐好友 CS_GAMEMSGID_FRIEND_QUERY_STRANGER_REQ = 1319; //客户端拉取陌生人列表 CS_GAMEMSGID_FRIEND_QUERY_STRANGER_RES = 1320; //客户端拉取陌生人列表 CS_GAMEMSGID_FRIEND_SET_SETTING_REQ = 1321; //设置 CS_GAMEMSGID_FRIEND_SET_SETTING_RES = 1322; //设置 CS_GAMEMSGID_FRIEND_GIFT_OP_REQ = 1323; //好友礼物操作 CS_GAMEMSGID_FRIEND_GIFT_OP_RES = 1324; //好友礼物操作 CS_GAMEMSGID_FRIEND_GIFT_AUTO_OP_REQ = 1325; //好友礼物自动赠送领取 CS_GAMEMSGID_FRIEND_GIFT_AUTO_OP_RES = 1326; //好友礼物自动赠送领取 CS_GAMEMSGID_FRIEND_SEND_GIFT_NOTIFY = 1327; // 好友赠送自己礼物的通知 CS_GAMEMSGID_GET_FRIEND_GIFT_DATA_REQ = 1328; // 拉取好友礼物的完整数据 CS_GAMEMSGID_GET_FRIEND_GIFT_DATA_RES = 1329; // 拉取好友礼物的完整数据 CS_GAMEMSGID_FRIEND_QUERY_BLACKLIST_REQ = 1330; // 好友 查询黑名单详细 CS_GAMEMSGID_FRIEND_QUERY_BLACKLIST_RES = 1331; // 好友 查询黑名单详细 CS_GAMEMSGID_ROLEBASE_CHG_REQ = 1379; CS_GAMEMSGID_ROLEBASE_CHG_RES = 1380; CS_GAMEMSGID_SET_PERSONALIZED_SIGNATURE_REQ = 1400; CS_GAMEMSGID_SET_PERSONALIZED_SIGNATURE_RES= 1401; //MarketShop begin CS_GAMEMSGID_MARKET_SHOP_BUY_GOODS_REQ = 1638; //玩家请求购买商店物品 请求 CS_GAMEMSGID_MARKET_SHOP_BUY_GOODS_RES = 1639; //玩家请求购买商店物品 应答 CS_GAMEMSGID_MARKET_SHOP_REFRESH_REQ = 1640; //玩家获取某个商店数据或刷新某个商店数据请求 CS_GAMEMSGID_MARKET_SHOP_REFRESH_RES = 1641; //玩家获取某个商店数据或刷新某个商店数据应答 //MarketShop end CS_GAMEMSGID_WAITPLAYER_REMAINTIME_NOTIFY = 1700; //通知game服务器通知客户端等待连接还剩多长时间 CS_GAMEMSGID_WRAP_GAME_LIST_REQ = 1710; // CSGameListReq封装 CS_GAMEMSGID_WRAP_GAME_LIST_RES = 1711; //--------------------chapter battle------------- CS_GAMEMSGID_BATTLE_BEGIN_REQ = 1800; // 开始战斗 CS_GAMEMSGID_BATTLE_BEGIN_RES = 1801; CS_GAMEMSGID_BATTLE_OPTION_REQ = 1802; // 战斗中的操作 CS_GAMEMSGID_BATTLE_OPTION_RES = 1803; CS_GAMEMSGID_KILLED_MONSTER_REQ = 1804; // 战斗中的奖励 CS_GAMEMSGID_KILLED_MONSTER_RES = 1805; CS_GAMEMSGID_BATTLE_ACTIVE_ALTAR_REQ = 1806; // 激活祭坛 CS_GAMEMSGID_BATTLE_ACTIVE_ALTAR_RES = 1807; CS_GAMEMSGID_BATTLE_SYNC_DATA = 1808; CS_GAMEMSGID_ON_PICKUP_MONSTER_REWARD_REQ = 1809; // 章节战斗捡奖励 CS_GAMEMSGID_ON_PICKUP_MONSTER_REWARD_RES = 1810; CS_GAMEMSGID_ONTICK_BATTLE_ENTITY_REQ = 1811; CS_GAMEMSGID_ONTICK_BATTLE_ENTITY_RES = 1812; CS_GAMEMSGID_ON_SYNC_EXT_DROP_REWARD_DATA = 1813; CS_GAMEMSGID_ON_SYNC_CHAPTER_BATTLE_WIN = 1814; CS_GAMEMSGID_ON_BATTLE_PUSH_PROP_DATA_REQ = 1815; CS_GAMEMSGID_ON_BATTLE_PUSH_PROP_DATA_RES = 1816; CS_GAMEMSGID_ON_GAIN_BATTLE_REWARD_REQ = 1817; CS_GAMEMSGID_ON_GAIN_BATTLE_REWARD_RES = 1818; CS_GAMEMSGID_ON_GAIN_ALL_BATTLE_REWARD_REQ = 1819; CS_GAMEMSGID_ON_GAIN_ALL_BATTLE_REWARD_RES = 1820; CS_GAMEMSGID_ON_BATTLE_DEFEAT_REQ= 1821; CS_GAMEMSGID_ON_BATTLE_DEFEAT_RES= 1822; //--------------------chapter battle------------- CS_GAMEMSGID_PLAYER_GOODS_CHG_NOTIFY = 1900; //玩家物品变化通知 CS_GAMEMSGID_GOODS_GET_PUSH = 1901; //name begin CS_GAMEMSGID_NAME_QUERY_USED_REQ = 2301; CS_GAMEMSGID_NAME_QUERY_USED_RES = 2302; //name end CS_GAMEMSGID_CLIENT_TRIGGER_ITEM_ARRIVE_REQ = 2313; // 客户端触发物品上架请求 CS_GAMEMSGID_PAY_ITEM_STOCK_INFO_REQ = 2315; // 商品库存信息 CS_GAMEMSGID_PAY_ITEM_STOCK_INFO_RES = 2316; // 商品库存信息 CS_GAMEMSGID_PLAYER_QUERY_OTHER_ROLE_INFO_REQ = 3000; //查询一个玩家数据 请求 CS_GAMEMSGID_PLAYER_QUERY_OTHER_ROLE_INFO_RES = 3001; //查询一个玩家数据 应答 CS_GAMEMSGID_PLAYER_SEARCH_ROLE_BYNAME_REQ = 3002; //通过玩家名称搜索玩家 请求 CS_GAMEMSGID_PLAYER_SEARCH_ROLE_BYNAME_RES = 3003; //通过玩家名称搜索玩家 应答 CS_GAMEMSGID_LOG_CLIENT_BDC_REQ = 3201; // 客户端bdc日志备份 CS_GAMEMSGID_LOG_CLIENT_BDC_RES = 3202; // 客户端bdc日志备份 CS_GAMEMSGID_LOG_CLIENT_TA_REQ = 3203; // 客户端ta日志备份 CS_GAMEMSGID_LOG_CLIENT_TA_RES = 3204; // 客户端ta日志备份 CS_GAMEMSGID_LOG_CLIENT_BDC_INFO_REQ = 3205; // 客户端bdc serverbean CS_GAMEMSGID_LOG_CLIENT_BDC_INFO_RES = 3206; // serverbean //---------------------------------------ExchangeCode START-------------------------------------- CS_GAMEMSGID_EXCHANGE_CODE_TAKE_REQ = 4171; //兑换码兑换 CS_GAMEMSGID_EXCHANGE_CODE_TAKE_RES = 4172;//兑换码兑换 //---------------------------------------ExchangeCode END -------------------------------------- CS_GAMEMSGID_GM_GET_ONLINEPLAYER_NOTIFY = 4180; // GM通知在线人数 CS_GAMEMSGID_QUERY_SYSNOTICE_IMG_REQ = 4185; //公告背景图片 CS_GAMEMSGID_QUERY_SYSNOTICE_IMG_RES = 4186; //公告背景图片 //--------------------------------------- DownLoad Resource START -------------------------------------- CS_GAMEMSGID_DOWNLOAD_RESOURCE_REQ = 4190; //下载资源相关 CS_GAMEMSGID_DOWNLOAD_RESOURCE_RES = 4191; //--------------------------------------- DownLoad Resource END -------------------------------------- CS_GAMEMSGID_WORLDGLOBALDATA_NOTIFY = 4360;//全局数据通知 CS_GAMEMSGID_EQUIP_COMBAT_PREVIEW = 4997; CS_GAMEMSGID_EQUIP_COMBAT_PREVIEW_RES = 4998; CS_GAMEMSGID_EQUIP_BATCHSELL = 4999; CS_GAMEMSGID_EQUIP_BATCHSELL_RES = 5000; // 潘多拉新消息 CS_GAMEMSGID_EQUIP_PUT_DEPOT = 5001; //装备放入或者去除仓库 CS_GAMEMSGID_EQUIP_PUT_DEPOT_RES = 5002; CS_GAMEMSGID_EQUIP_OP_REQ = 5003; // 装备操作 CS_GAMEMSGID_EQUIP_OP_RES = 5004; CS_GAMEMSGID_EQUIP_BUY_DEPOT = 5005; //装备仓库购买 CS_GAMEMSGID_EQUIP_BUY_DEPOT_RES = 5006; CS_GAMEMSGID_HERO_PROP_CHG_NOTIFY = 5007; // 属性变更通知 CS_GAMEMSGID_BAG_SYNC = 5008; //背包同步 CS_GAMEMSGID_HERO_SYNC = 5009; //属性装备同步 CS_GAMEMSGID_EQUIP_SET_NEWGET = 5010; //装备设置新获得标签已读 CS_GAMEMSGID_EQUIP_SET_NEWGET_RES = 5011; CS_GAMEMSGID_EQUIP_SYNC = 5012; //装备信息同步 CS_GAMEMSGID_EQUIP_DEL_SYNC = 5013; CS_GAMEMSGID_SKIN_SYNC = 5015; //时装皮肤同步 CS_GAMEMSGID_SKIN_PUTON = 5016; CS_GAMEMSGID_SKIN_PUTON_RES = 5017; CS_GAMEMSGID_SKIN_SET_NEWGET = 5018; CS_GAMEMSGID_SKIN_SET_NEWGET_RES = 5019; CS_GAMEMSGID_GEM_SYNC = 5020; //宝石 CS_GAMEMSGID_GEM_WEAR = 5021; CS_GAMEMSGID_GEM_WEAR_RES = 5022; CS_GAMEMSGID_GEM_COMPOSE = 5023; CS_GAMEMSGID_GEM_COMPOSE_RES = 5024; CS_GAMEMSGID_GEM_COMPOSE_ONE = 5025; CS_GAMEMSGID_GEM_COMPOSE_ONE_RES = 5026; CS_GAMEMSGID_GEM_COMPOSE_ONE_SAVE = 5027; CS_GAMEMSGID_GEM_COMPOSE_ONE_SAVE_RES = 5028; CS_GAMEMSGID_GEM_LOCK = 5029; CS_GAMEMSGID_GEM_LOCK_RES = 5030; CS_GAMEMSGID_GEM_SETNEWGET = 5031; CS_GAMEMSGID_GEM_SETNEWGET_RES = 5032; CS_GAMEMSGID_GEM_CHANGE_SYNC = 5033; CS_GAMEMSGID_EQUIPLIST_SYNC = 5040; CS_GAMEMSGID_EQUIPDEPOT_SYNC = 5041; CS_GAMEMSGID_ITEMLIST_SYNC = 5042; CS_GAMEMSGID_GEMLIST_SYNC = 5043; CS_GAMEMSGID_GET_ACTIVITY_INFO_REQ = 5098; //活动信息 CS_GAMEMSGID_GET_ACTIVITY_INFO_RES = 5099; // CS_GAMEMSGID_SIGN_GET_AWARD_REQ = 5100; //领取签到活动奖励 CS_GAMEMSGID_SIGN_GET_AWARD_RES = 5101; CS_GAMEMSGID_SIGN_RE_SING_REQ = 5102;//补签 CS_GAMEMSGID_SIGN_RE_SING_RES = 5103; CS_GAMEMSGID_SIGN_INFO_SYNC = 5104; //同步签到数据 CS_GAMEMSGID_FIST_PAYMENT_AWARD_REQ = 5105; //首充奖励 CS_GAMEMSGID_FIST_PAYMENT_AWARD_RES = 5106; CS_GAMEMSGID_FIST_PAYMENT_INFO_SYNC = 5107; //同步首充数据 CS_GAMEMSGID_PUSH_POP_PACKAGE = 5108; //推送 CS_GAMEMSGID_SYNC_POP_PACKAGE = 5109; //同步 CS_GAMEMSGID_HANDBOOK_GET_AWARD_REQ = 5110; //领取手册奖励 CS_GAMEMSGID_HANDBOOK_GET_AWARD_RES = 5111; CS_GAMEMSGID_HANDBOOK_INFO_SYNC = 5112; //同步签到数据 CS_GAMEMSGID_RECRUIT_REQ = 5120; //抽奖 CS_GAMEMSGID_RECRUIT_RES = 5121; CS_GAMEMSGID_RECRUIT_INFO_SYNC = 5122; //抽奖数据 CS_GAMEMSGID_RECRUIT_CHOOSE_REWARD_REQ = 5123; CS_GAMEMSGID_RECRUIT_CHOOSE_REWARD_RES = 5124; CS_GAMEMSGID_ON_CHANGE_STAR_WEAR_REQ = 5200; CS_GAMEMSGID_ON_CHANGE_STAR_WEAR_RES = 5201; CS_GAMEMSGID_ON_CHANGE_WING_SKIN_REQ = 5202; CS_GAMEMSGID_ON_CHANGE_WING_SKIN_RES = 5203; CS_GAMEMSGID_ON_UPGRADE_MAIN_WING_REQ = 5204; CS_GAMEMSGID_ON_UPGRADE_MAIN_WING_RES = 5205; CS_GAMEMSGID_ON_UPGRADE_WING_SKIN_REQ = 5206; CS_GAMEMSGID_ON_UPGRADE_WING_SKIN_RES = 5207; CS_GAMEMSGID_ON_SYNC_WING_DATA = 5208; CS_GAMEMSGID_ON_MARK_WING_NEW_GET_REQ = 5209; CS_GAMEMSGID_ON_MARK_WING_NEW_GET_RES = 5210; CS_GAMEMSGID_SYSTEM_UNLOCK_INFO_LOAD_SYN = 5311;//推送已经解锁的系统 CS_GAMEMSGID_SYSTEM_UNLOCK_INFO_CHANGE_SYN = 5312; CS_GAMEMSGID_PASS_CARD_LOAD_SYN = 5313;//通行证 CS_GAMEMSGID_PASS_CARD_GET_AWARD_REQ = 5314; CS_GAMEMSGID_PASS_CARD_GET_AWARD_RES = 5315; CS_GAMEMSGID_HOMEAD_AD_LOAD_SYN = 5316;//首页广告 CS_GAMEMSGID_HOMEAD_AD_GET_AWARD_REQ = 5317;//首页广告 CS_GAMEMSGID_HOMEAD_AD_GET_AWARD_RES = 5318;//首页广告 CS_GAMEMSGID_EQUIP_SHOW_CHANGE_REQ = 5319; // 幻化修改 CS_GAMEMSGID_EQUIP_SHOW_CHANGE_RES = 5320; // 幻化修改 CS_GAMEMSGID_BEGINNER_GUIDE_CHANGE_REQ = 5322; CS_GAMEMSGID_BEGINNER_GUIDE_CHANGE_RES = 5323; CS_GAMEMSGID_BEGINNER_GUIDE_AWARD_REQ = 5327; CS_GAMEMSGID_BEGINNER_GUIDE_AWARD_RES = 5328; CS_GAMEMSGID_EQUIP_SHOW_INFO_SYN = 5324; //幻化获取更新 CS_GAMEMSGID_HOMEAD_AD_START_SYN = 5325;//首页广告出现 CS_GAMEMSGID_HOMEAD_AD_PASS_REQ = 5329;//花费钻石跳过广告 CS_GAMEMSGID_HOMEAD_AD_PASS_RES = 5330;//花费钻石跳过广告 CS_GAMEMSGID_CARD_GET_DAILY_AWARD_REQ = 5331;//月卡领取每日奖励 CS_GAMEMSGID_CARD_GET_DAILY_AWARD_RES = 5332;// CS_GAMEMSGID_MONTHLY_CARD_INFO_SYN = 5336;// CS_GAMEMSGID_BATTLE_PASS_AWARD_REQ = 5337;// 领取battlepass 奖励 CS_GAMEMSGID_BATTLE_PASS_AWARD_RES = 5338;// CS_GAMEMSGID_BATTLE_PASS_INFO_SYN = 5339;// CS_GAMEMSGID_EXTRA_EQUIP_SYN = 5501; // 额外装备同步信息 //给客户端上报的事件 CS_GAMEMSGID_BUTRYING_POINT_SYN = 5506;// //广告相关 CS_GAMEMSGID_AD_START_REQ = 5507;//广告开始播放 CS_GAMEMSGID_AD_START_RES = 5508; CS_GAMEMSGID_AD_END_REQ = 5509;//广告播放结束 CS_GAMEMSGID_AD_END_RES = 5510; CS_GAMEMSGID_HOMEAD_AD_GIVE_MONEY_SYN = 5511;//首页广告给钻石 CS_GAMEMSGID_AD_GET_INFO_REQ = 5512;//广告冷却,剩余次数等信息拉取 CS_GAMEMSGID_AD_GET_INFO_RES = 5513; //聊天屏蔽 CS_GAMEMSGID_GET_CHAT_BLACKLIST_REQ = 5801; //请求获取聊天屏蔽黑名单 CS_GAMEMSGID_GET_CHAT_BLACKLIST_RES = 5802; CS_GAMEMSGID_ADD_CHAT_BLACKLIST_REQ = 5803; //增加聊天屏蔽黑名单 CS_GAMEMSGID_ADD_CHAT_BLACKLIST_RES = 5804; CS_GAMEMSGID_DEL_CHAT_BLACKLIST_REQ = 5805; //解除聊天屏蔽黑名单 CS_GAMEMSGID_DEL_CHAT_BLACKLIST_RES = 5806; //活动排行 CS_GAMEMSGID_QUERY_ACT_RANK_LIST_REQ = 6200;//查询排行榜列表 CS_GAMEMSGID_QUERY_ACT_RANK_LIST_RES = 6201;//查询排行榜列表 CS_GAMEMSGID_QUERY_ACT_RANK_ACTIVITY_LIST_REQ = 6202;//查询排行榜活动 CS_GAMEMSGID_QUERY_ACT_RANK_ACTIVITY_LIST_RES = 6203;//查询排行榜活动 CS_GAMEMSGID_ACTIVITY_SNC_INFO=6213;//活动同步信息 CS_GAMEMSGID_PEAKLEVEL_ADDPOINT = 7001; //巅峰加点 CS_GAMEMSGID_PEAKLEVEL_ADDPOINT_RES = 7002; CS_GAMEMSGID_PEAKLEVEL_RESETPOINT = 7003; //巅峰点重置 CS_GAMEMSGID_PEAKLEVEL_RESETPOINT_RES = 7004; CS_GAMEMSGID_PEAKLEVEL_SYNC = 7005; CS_GAMEMSGID_CB_START_REQ = 7100; CS_GAMEMSGID_CB_START_RES = 7101; CS_GAMEMSGID_CB_FINISH_REQ = 7102; CS_GAMEMSGID_CB_FINISH_RES = 7103; CS_GAMEMSGID_CB_LEAVE_REQ = 7104; CS_GAMEMSGID_CB_LEAVE_RES = 7105; CS_GAMEMSGID_CB_GETLAYERREWARD_REQ = 7106; CS_GAMEMSGID_CB_GETLAYERREWARD_RES = 7107; CS_GAMEMSGID_RANK_PLAYER_BYLEVEL_REQ = 7108; CS_GAMEMSGID_RANK_PLAYER_BYLEVEL_RES = 7109; CS_GAMEMSGID_CBC_PLAYER_SYNC = 7111; CS_GAMEMSGID_PAY_WSJSAPI_REQ = 7201; CS_GAMEMSGID_PAY_WSJSAPI_RES = 7202; CS_GAMEMSGID_PresetSaveReq = 7301; CS_GAMEMSGID_PresetSaveRes = 7302; CS_GAMEMSGID_PresetBuyOneReq = 7303; CS_GAMEMSGID_PresetBuyOneRes = 7304; CS_GAMEMSGID_PresetRenameReq = 7305; CS_GAMEMSGID_PresetRenameRes = 7306; CS_GAMEMSGID_PresetApplyReq = 7307; CS_GAMEMSGID_PresetApplyRes = 7308; CS_GAMEMSGID_PlayerOpInfoReq = 7402; CS_GAMEMSGID_FrapBootInfoSYNC = 7403; CS_MULT_FRAP_BOOT_INFO_SYNC = 7405; CS_GAMEMSGID_BATTLEPING =7407; CS_GAMEMSGID_JOIN_ROOM_REQ = 7408; CS_GAMEMSGID_JOIN_ROOM_RES = 7409; CS_GAMEMSGID_ROOM_INFO_SYNC = 7410; CS_GAMEMSGID_BATTLE_MODE_SYNC = 7411; } // CS_GAMEMSGID_ACTIVITY_SNC_INFO message CSActivityInfoSync{ repeated DBActInfo activityInfo = 1 [repeatedcount=32];//活动相关信息 } // CS_GAMEMSGID_TREASURE_INFO_SYNC=6210; message CSTreasureInfoSync{ repeated TreasureActData treasureActData = 1 [repeatedcount = 4]; //宝藏数据 } // CS_GAMEMSGID_TREASURE_AWARD_REQ=6211;//领取奖励请求 message CSTreasureAwardReq{ int32 actId=1; int32 taskId=2; } //CS_GAMEMSGID_TREASURE_AWARD_RES=6212;//领取奖励返回 message CSTreasureAwardRes{ int32 ret=1; repeated TypeIDValue32 rewards = 2 [repeatedcount = 30]; //领取得到的奖励 int32 taskId=3; } //CS_GAMEMSGID_AD_GET_INFO_REQ message CSAdGetInfoReq{ int32 id =1;//如果id是0,就全发,否则只发一条 } //CS_GAMEMSGID_AD_GET_INFO_RES message CSAdGetInfoRes{ repeated DBADInfo infos = 1 [repeatedcount = 16]; } message DBADInfo { int32 id = 1; int32 getCount = 2;//今日已经看了多少次 int64 coldTime = 3;//冷却时间剩余xx秒 } //CS_GAMEMSGID_AD_START_REQ message CSAdStartReq{ int32 adInternalId = 1; string advCode = 2 [stringlength=64]; } //CS_GAMEMSGID_AD_START_RES message CSAdStartRes{ } //CS_GAMEMSGID_AD_END_REQ message CSAdEndReq{ } //CS_GAMEMSGID_AD_END_RES message CSAdEndRes{ } //CS_GAMEMSGID_BUTRYING_POINT_SYN message CSButryingPointSyn{ string type = 1 [stringlength=64]; //埋点代码 } //CS_GAMEMSGID_EQUIP_COMBAT_PREVIEW message CSEquipCombatPreview { int32 equipId = 1; } //CS_GAMEMSGID_EQUIP_COMBAT_PREVIEW_RES message CSEquipCombatPreviewRes { int32 equipId = 1; int32 combatChange = 2; } // CS_GAMEMSGID_EQUIP_OP_REQ message CSEquipOpReq { int32 opType = 1; // 1,分解 2,装备,3替换,4锁定,5解锁 int32 index = 2; int32 pos = 3; //穿戴需要,位置 } // CS_GAMEMSGID_EQUIP_BATCHSELL message CSEquipBatchSell { //一键分解 repeated int32 index = 1[repeatedcount = 256]; } // CS_GAMEMSGID_EQUIP_BATCHSELL_RES message CSEquipBatchSellRes { CSErrCode ret = 2; repeated int32 index = 1[repeatedcount = 256]; repeated TypeIDValueString getItems = 3 [repeatedcount = 12]; } // CS_GAMEMSGID_EQUIP_OP_RES message CSEquipOpRes { CSErrCode ret = 1; int32 opType = 2; // 1,分解 2,装备,3替换,4锁定,5解锁 repeated TypeIDValueString getItems = 3 [repeatedcount = 12]; int32 index = 4; } // CS_GAMEMSGID_EQUIP_SET_NEWGET //设置新获得标签已读 message CSEquipSetNewGet { int32 equipId = 1;//0表示全部 } // CS_GAMEMSGID_EQUIP_SET_NEWGET_RES message CSEquipSetNewGetRes { int32 equipId = 1;//0表示全部 } // CS_GAMEMSGID_EQUIP_BUY_DEPOT //购买装备仓库 message CSEquipBuyDepot { int32 index = 1; //1,2,3,4 表示第几个仓库 } // CS_GAMEMSGID_EQUIP_BUY_DEPOT_RES message CSEquipBuyDepotRes { int32 index = 1; CSErrCode ret = 2; } // CS_GAMEMSGID_EQUIP_PUT_DEPOT message CSEquipPutDepot { int32 depotId = 1; int32 index = 2; int32 putType = 3; //1放入,2取出 } // CS_GAMEMSGID_EQUIP_PUT_DEPOT_RES message CSEquipPutDepotRes { int32 depotId = 1; int32 index = 2; int32 putType = 3; //1放入,2取出 CSErrCode ret = 4; } // CS_GAMEMSGID_EXTRA_EQUIP_OP_REQ message CSExtraEquipOpReq { int32 opType = 1; // 0,卖出 1,分解 2,装备 int32 idx = 2; // 下标 } // CS_GAMEMSGID_EXTRA_EQUIP_OP_RES message CSExtraEquipOpRes { int32 ret = 1; int32 opType = 2; // 0,卖出 1,分解 2,装备 repeated TypeIDValue32 getItems = 3 [repeatedcount = 6]; repeated DBEquipment payEquipment = 4 [repeatedcount = 8]; // 充值定制装备 } // CS_GAMEMSGID_EXTRA_EQUIP_SYN message CSExtraEquipSyn { repeated DBEquipment payEquipment = 1 [repeatedcount = 8]; // 充值定制装备 } // CS_GAMEMSGID_SKIN_PUTON message CSSkinPuton { int32 skinId = 1; } // CS_GAMEMSGID_SKIN_PUTON_RES message CSSkinPutonRes { int32 skinId = 1; CSErrCode ret = 4; DBSkinData skinData = 2; } // CS_GAMEMSGID_SKIN_SET_NEWGET //设置新获得标签已读 message CSSkinSetNewGet { } // CS_GAMEMSGID_SKIN_SET_NEWGET_RES message CSSkinSetNewGetRes { } message DBKnight { DBHero dbHero = 1; // 骑士 pdl HeroPropView propView = 2; //最终属性值,登录后会重新计算 } // CS_GAMEMSGID_HERO_PROP_CHG_NOTIFY message CSHeroPropChgNotify { int32 descId = 1; repeated ID32Value64 chgProp = 2 [repeatedcount = 512]; } message DBPandoraBag { repeated DBBagItem itemList = 1 [repeatedcount = 512];//暂时定这么大 repeated DBEquipment equipList = 2 [repeatedcount = 256]; //装备背包 repeated DBEquipment equipDepot = 3 [repeatedcount = 400]; //装备仓库 int32 euqipDepotCount = 4; //仓库已经解锁个数,最多4个 int32 equipIdSeq = 5; repeated DBGem gemList = 6 [repeatedcount = 1300];//暂时定这么大 DBGem composeTempOld = 7;//合成临时的 DBGem composeTempNew = 8;//合成临时的 } message DBBagItem{ int32 Id = 1 ; int64 Count = 2; bool newGet = 3; } //CS_GAMEMSGID_QUERY_SYSNOTICE_IMG_REQ = 1066; //公告背景图片 message CSQuerySysNoticeImgReq { string lang = 1 [stringlength=16]; //语言 } //CS_GAMEMSGID_QUERY_SYSNOTICE_IMG_RES = 1067; //公告背景图片 message CSQuerySysNoticeImgRes { string lang = 1 [stringlength=16]; //语言 string pic = 2 [stringlength=256];//图片 } // CS_GAMEMSGID_GM_GET_ONLINEPLAYER_NOTIFY = 4180; // GM通知在线人数 message CSGmGetOnlinePlayerNotify { int32 onlinePlayer = 1; } //CS_MSGID_BIG_MSG_TEST = 21; // 超大消息, 用于测试消息拆分逻辑 message CSBigMsgTest { repeated int32 data = 1 [repeatedcount=81920]; // 320k } message IDValue32 { int32 id = 1; int32 value = 2; } message ID32Value64 { int32 id = 1; int64 value = 2; } message PropValue { int32 id = 1; int64 value = 2; bool max = 3; } message IDValue32Up { int32 Id = 1; int32 Value = 2; } message IDValue64 { int64 id = 1; int64 value = 2; } message IDValue64Up { int64 Id = 1; int64 Value = 2; } message IDStringValue{ string id = 1 [stringlength = 64]; int64 value = 2; } message TypeIDValue32{ int32 type = 1; //类型 int32 id = 2; //ID int32 value = 3; //值 } message TypeIDValueString{ int32 type = 1; //类型 string id = 2 [stringlength=64]; //ID int32 value = 3; //值 } //玩家货币类型(其实数值类型也行,比如体力,精力), enum CurrencyType { CurrencyType_None = 0; CurrencyType_Chip = 1; //之前的筹码(金币) CurrencyType_Diamond = 2; //钻石 CurrencyType_Max = 3; } enum PandoraItemUseType{ PandoraItemUseType_None=0; PandoraItemUseType_Level=2;//玩家等级条件 } enum MarketShopType { MarketShopType_None = 0; MarketShopType_Common = 1; //普通 } //物品类型(所有物品) enum GoodsType { GoodsType_None = 0; GoodsType_Equipment = 1; //装备 GoodsType_Items = 2;//消耗普通物品 GoodsType_Exp = 3; //经验 GoodsType_EquipSkin = 4; //时装 GoodsType_Gem = 5; //宝石 GoodsType_BattleReward = 6; //奖励关卡 GoodsType_Props = 7; //属性 GoodsType_Wing = 8; //翅膀 GoodsType_Link = 9; //无实际用处 GoodsType_ContBattle = 10; //boss连战 GoodsType_Size = 11; // 实际使用 } enum DropType { DropType_None = 0; DropType_CommDrop = 2000; //普通掉落 DropType_OtherDrop = 2001; //世界掉落 } enum RoomMode{ RoomMode_None = 0; RoomMode_Mode1v1 = 1;//聊天入口 RoomMode_Mode5v5 = 2;//聊天入口 } enum FeatureSwitch{ FeatureSwitch_None = 0; FeatureSwitch_Chat_Import = 1;//聊天入口 FeatureSwitch_CDK_Import = 2;//cdk入口 } // 客户端显示的错误码(统一) enum CSErrCode { CSErrCode_None = 0; CSErrCode_Fail = 1; //操作失败 CSErrCode_ServerMaintenance = 8000; //服务器维护中 CSErrCode_SysFailure = 9999; // 系统错误 // 从10000开始,避免和已有错误码冲突 CSErrCode_FunctionClose = 10000; // 功能已关闭 CSErrCode_IncludeIllegalWord = 10003; //含敏感词汇 CSErrCode_NameRepeat = 10004; //名字重复 CSErrCode_FreezePlayer = 10016; // 冻结玩家 CSErrCode_AlreadyReward = 10017; // 任务奖励已领取 CSErrCode_TaskNotExist = 10018; // 任务不存在 CSErrCode_TaskNotFinish = 10019; // 任务未完成 CSErrCode_GetRewardCondition_Error = 10020; // 领取奖励条件不满足 CSErrCode_TaskAlreadyExist = 10021; // 任务已经存在 CSErrCode_ThisTaskTypeCannotGiveUp = 10023; // 该类型任务无法放弃 CSErrCode_TaskAlreadyHandover = 10024; // 任务已经交付了(完成了) CSErrCode_ServerIsStopping = 10030; // 正在停服 CSErrCode_NotEnoughItem = 10031; // 物品不够 CSErrCode_LvLimit_Sys = 10038; //等级已达上限 CSErrCode_CostChip_NotEnough = 10044; //金币不足 CSErrCode_CostDiamond_NotEnough = 10045; //钻石不足 CSErrCode_Level_NotEnough = 10046; //等级不足 CSErrCode_LoginRepeat = 10047; //账号已经在其他设备登录 CSErrCode_LoginGameDie = 10048; //你所在的服务目前正在维护中,暂时无法登录 CSErrCode_BuyTimes_NotEnough = 10051; //可购买次数不足 CSErrCode_NotEnoughEquipSpace = 10059; //装备空间不足 CSErrCode_InvalidToken = 10075; //无效token CSErrCode_InvalidAccount = 10076; //无效账号(重启导致) CSErrCode_ResetGame = 10077; //重新启动游戏 CSErrCode_NotEnoughOtherCoin = 10078; //其他代币不足 CSErrCode_PlayerMail_NotSpace = 11002; //邮件箱空间不足 CSErrCode_MarketShop_NotExist = 11003; //商店不存在 CSErrCode_MarketShop_MaxRefreshTimes = 11004; //达到最大刷新次数 CSErrCode_Target_NotExist = 11007; //目标不存在 CSErrCode_MaxLimit_Sys = 11013; //数量已经达到上限 // 好友错误码 CSErrCode_NotFriend = 11020; //不是好友关系 CSErrCode_RefuseAllFriend = 11021; //对方拒绝添加好友 CSErrCode_TargetFriendListIsFull = 11022; //对方好友列表满了 CSErrCode_InsertFriendOpList = 11023; //已提交好友申请 CSErrCode_FriendOpListIsFull = 11024; //好友申请表满了 CSErrCode_SelfFriendListIsFull = 11025; //自己好友列表满了 CSErrCode_AlreadySendGift = 11026; //今天已经送过好友礼物了 CSErrCode_SendLimit = 11027; // 赠送超过上限 CSErrCode_RecvLimit = 11028; // 领取超过上限 CSErrCode_NoGift = 11029; // 没有礼物 CSErrCode_TryGetFriendOpLater = 11030; // 稍后再次尝试 CSErrCode_In_Target_Blacklist = 11031; // 在对方黑名单 CSErrCode_In_Self_Blacklist = 11032; // 在自己黑名单 CSErrCode_Not_Blacklist = 11033; // 不在黑名单 CSErrCode_NotSameLogicWorld = 11034; // 不是同一个逻辑world CSErrCode_Chat_BlackList_Max = 11035; // 屏蔽列表已达上限 // 战斗校验错误码 CSErrCode_BattleVersionError = 11057; //战斗版本号对不上 CSErrCode_LowBattleVersion = 11058; //低版本战斗 CSErrCode_PlayerWaitLogin = 100202; //服务器已经满了,等待登录中 CSErrCode_Function_NotOpen = 100203; //功能还未开放 CSErrCode_Pay_NoStock = 100600; // 商品库存不足 CSErrCode_Pay_InvalidTime = 100601; // 商品不在有效期内 CSErrCode_Pay_BuyCountLimit = 100602; // 购买次数限制 CSErrCode_Pay_ConsumeItemLimit = 100603; // 消耗道具不够 CSErrCode_Pay_VipLimit = 100604; // vip等级限制 CSErrCode_Pay_ItemNotValid = 100605; // 通用, 商品目前无法购买 CSErrCode_Pay_MoneyNotEqual = 100609; // 支付金额不等于商品金额 CSErrCode_Pay_ItemIdNotEqual = 100610; // 购买商品id不等于请求商品id CSErrCode_Pay_ItemOrderNotFinish = 100611; // 交易未完成 CSErrCode_MailNotExist = 104401; // 邮件不存在 CSErrCode_MailAlreadyGot = 104402; // 已经领取了 CSErrCode_MailOpNotFinish = 104403; // 正在领取,请等待 CSErrCode_MailConditionNotFinish = 104404; // 邮件领取条件为达到 CSErrCode_Task_PreviousQuestNotFinish = 130502; // 前置任务还未完成 CSErrCode_Task_InvaildTaskID = 130505; // 无效的任务ID CSErrCode_Chat_TargetOffLine = 130901; //对方离线 CSErrCode_Chat_WorldChatCd = 130902; //世界聊天cd CSErrCode_Chat_EnableMsg = 130903; //聊天禁言了 CSErrCode_Rank_StopUpdate = 131001; //排行榜已经停止更新了 CSErrCode_Rank_ScoreLimit = 131002; //上榜分数不够 CSErrCode_Rank_TypeError = 131003; //类型错误 CSErrCode_Sys_Unlocked = 131411; //系统 已经解锁 CSErrCode_Sys_Can_Not_Unlock = 131412; //系统 不能解锁 CSErrCode_Sys_Not_Unlock = 131413; //系统 未解锁 CSErrCode_ExchangeCode_Err = 131471; // 兑换码不存在或者已经过期 CSErrCode_ExchangeCode_NotStart = 131472; // 兑换码开始兑换时间未到 CSErrCode_ExchangeCode_Expire = 131473; // 兑换码已过期 CSErrCode_ExchangeCode_BeOver = 131474; // 兑换码领完了 CSErrCode_ExchangeCode_Received = 131475; // 兑换码领过了 CSErrCode_Desc_NotFound = 133001; // 找不到配置 CSErrCode_ActRank_End_Err = 133200; //排行榜结束 CSErrCode_EquipDepotBuyFail = 134001; //装备仓库购买失败 CSErrCode_EquipDecomposeFail = 134002; //装备分解失败 CSErrCode_CanJoinBattleFail = 134003; //进入战斗失败 CSErrCode_BattleDefeatFail = 134004; //战斗不可以失败 } enum HttpErrorStatusCode{ HttpErrorStatusCode_None = 0; HttpErrorStatusCode_Success = 200; HttpErrorStatusCode_Error = 400; HttpErrorStatusCode_SignError = 601; //签名校验失败 HttpErrorStatusCode_OtherError = 602; //其他 HttpErrorStatusCode_MiniPayError = 603; //minipay报错 } message DBItemInfo { int32 id = 1; int32 count = 2; int64 uniqueID = 3;//唯一id,每个物品有唯一id int64 expireTime = 4;//过期时间,为0表示没有过期时间 } //玩家账号额外数据 message DBAccountExData{ repeated int32 downloadResource = 1 [repeatedcount=32];//已经下载完成的资源 string channel = 2 [stringlength=32]; // 账号渠道 int32 channelId = 3; // 渠道id int32 compensation = 4; //老玩家服补偿金 } //玩家信息基础,数据库要用,对应数据库表独立字段 message DBRoleBase { int64 uid = 1; string nick = 2 [stringlength=32]; int32 gender = 3;// 性别 string icon = 4 [stringlength=32]; int32 exp = 5; int32 level = 6; int32 vipLevel = 7; int64 chip = 8; int64 diamond = 9; int64 lastLoginTime = 10; int64 createTime = 11; int64 onlineTime = 12; int32 vipExp = 13; // vip经验 string lang = 14 [stringlength=16]; //语言 int32 heroExpPool = 15; //统一英雄经验池 int32 roleCreateComplete = 16; // 是否已经创建完角色了。 目前的规则是在序章时,时没有创建角色的 int64 power = 17; //战力 } message DBRolePayCooldown{ int32 groupID = 1;//CD组id int64 startTime = 2; //CD开始时间 int64 buyTime = 3; //购买时间 int32 buyCount = 4; //CD里购买次数 } message DBRolePayItemRecord{ int32 itemId = 1; //gp_30 int32 paySuccessCount = 4; // 充值成功次数 int32 payCountToday = 7; // 今天成功支付次数 int32 versionCode = 8; // 商品有可能复用,加上版本号,变了可以清除 int32 payCountWeek = 9; // 本周成功支付次数 int32 payCountMonth = 10; // 本月成功支付次数 int32 endTime = 12; // 商品可支付时间, 超出时间则商品不可购买 int32 lastUpdateRecordTime = 13; // 上次更新时间 } message DBRoleDiamondHolderData{ } // 支付成功等待添加到玩家身上的数据 message DBPaySuccWaitAddRole{ int32 itemID = 1; string orderId = 2 [stringlength=128]; //游戏里的订单号 bool isPlayerFirstPay = 4; // 是否玩家首次支付 uint32 money = 5; int32 lastSendDBTime = 6; int32 dbResFailCount = 7; string orderId3rd = 8 [stringlength=64]; //第三方平台的订单号 int32 payType = 9; //支付类型, google/iap/hero int32 isTestPay = 11; // 是否测试支付 int64 payTime3rd = 13; // 第三方通知的交易时间 uint32 amount = 14; string currency = 15 [stringlength=16]; int32 addItemSuccTime = 16; // 添加物品成功时间 string purchaseToken = 17 [stringlength=128]; // 目前华为支付使用 uint32 amountExchange = 18; // 兑换的金额 uint32 diamondExchange = 19; // 兑换的钻石 bool isReplaceItem = 20; // 是否替换了购买商品 int32 sandbox = 21; // 沙盒支付 } // 月卡种类 enum VipCardType { VipCardType_None = 0; // 无 VipCardType_MonthlyCardLimit = 1; // 月卡 VipCardType_MonthlyCardLong = 2; // 终身卡 } enum Currency { Currency_None = 0; Currency_Doller = 1; // 美元 Currency_yen = 2; // 日元 Currency_KRW = 3; //韩元 Currency_CNY = 4; //人名币元 } // 这是CS通信用的事件, 由于要兼容老的excel表格和代码, 故拆成了两个枚举 enum PayLimitEvent { PayLimitEvent_None = 0; PayLimitEvent_PopGift = 1;//弹窗后触发的礼包 PayLimitEvent_ActivityGift = 2;//伴随活动开启的礼包 } // 月卡 message MonthlyCardData { int32 cardId = 1; int32 cardType = 2; // 月卡类型 int32 expireTime = 3; // 过期时间 int64 lastRewardTime = 4; // 上一次奖励时间 bool isTimeOutCard = 5;//是否是已过期的月卡 } message PaySuccLock { int32 itemID = 1; string orderId = 2 [stringlength=128]; string orderId3rd = 3 [stringlength=128]; int64 cltSuccTime = 4; int64 svrSuccTime = 5; } //支付信息 message DBRolePayData { repeated DBRolePayItemRecord payItemRecord = 1 [repeatedcount=512]; //记录支付Item记录(成功次数>0才是支付成功)+限时+特殊条件 repeated DBPaySuccWaitAddRole paySuccWaitAddRole = 5 [repeatedcount=64]; int32 lastSendDBAddDiamondTime = 6; int64 totalPayMoney = 7; // 总付费金额, 当地货币 int64 totalPayMoneyUSD = 8; // 总付费金额, 美金 repeated MonthlyCardData monthlyCard = 9 [repeatedcount=16]; // 月卡/周卡 int64 lastMonthlyCardFreeAward = 10;//月卡界面的免费奖励领取时间 repeated FistPaymentGift fistPaymentGift = 11 [repeatedcount = 8];//首充礼包数据 int32 lastVipRewardWeek = 14; // 上一次vip周奖励是第几周 int32 startVipWeeklyRewardTime = 16; // 开始发放vip周奖励的时间 repeated PaySuccLock paySuccLock = 18 [repeatedcount=32]; // 支付订单锁 repeated int32 maxPayMoneyLast7Days = 19 [repeatedcount=8]; // 最近7天每天的最大支付金额 int32 lastUpdateMaxPayMoneyTime = 20; // 最近7天的支付金额的更新时间 int32 lastPaySuccFirstPayItemVersion = 22; // 最近成功支付时的首冲礼包版本号 int64 gmTotalPayMoneyUSD = 23; // GM总付费金额, 美金 int64 todayPayDiamond = 24;//今日充值的钻石数量 } //--------------------------------------DBPayinfoShowData begin----------------------------------------- message PayInfoOne{ int32 payType = 1; int32 itemID = 2; string icon = 3 [stringlength = 32]; int32 moneyType = 4; int32 money = 5; int32 diamond = 6; int32 vipExp = 7; int32 firstPayRate = 8; //首次充值奖励倍率,千分比 string packBg = 9 [stringlength = 32]; //背景框 repeated TypeIDValue32 getItem = 10 [repeatedcount = 8]; repeated TypeIDValue32 giveItem = 11 [repeatedcount = 8]; int32 showVipLevel = 12; string itemName = 13 [stringlength = 32]; string itemDesc = 14 [stringlength = 32]; int32 isShow = 15; int32 chip = 16; int32 heroExpPool = 17; int32 heroId = 18; int32 vipCardType = 19; int32 buyCountLimit = 20; int32 dailyLimit = 21; int32 weeklyLimit = 22; int32 monthlyLimit = 23; int32 timeLimitType = 24; int32 validTimeSecond = 25; int32 overtimeFreeItemId = 26; int32 hideMainlandId = 27; int32 timeLimitGroupID = 28; int32 consumeItemId = 29; int32 consumeItemCount = 30; int32 discountId = 31; int32 give = 32; int32 reductionRate = 33; int32 vipLevelLimit = 34; int32 playerLevelLimit = 35; int32 mainlandIdLimit = 36; int32 sysFuncId = 37; string startTime = 38 [stringlength = 32]; string endTime = 39 [stringlength = 32]; } message TypeIDCount32{ int32 type = 1; int32 id = 2; int32 count = 3; } //--------------------------------------DBPayinfoShowData end ----------------------------------------- //对应DBIDValue中的id enum CSRoleStatisticsID { CSRoleStatisticsID_None = 0; CSRoleStatisticsID_Beginner_Reward = 1; //引导奖励 CSRoleStatisticsID_Login_Day = 2; //登陆天数 CSRoleStatisticsID_GetGod_Equip = 8; //抽取神器 CSRoleStatisticsID_Decompose_Equip = 12; //分解装备次数 CSRoleStatisticsID_RefreshOwnlandSnatch = 22; CSRoleStatisticsID_AddPayGold = 23; // 付费钻石获得 CSRoleStatisticsID_PayMoney = 27; //充值 CSRoleStatisticsID_Max_ID = 45; //记得修改最大值,不要多也不要少了 } //id,value 对 message DBIDValue { int32 id = 1; int64 value = 2; } //这个结构体加字段记得在后台TickDailyReset函数里加上重置代码,不要忘记!!! message DBStatWeekly{ int64 lastWeeklyTime = 1; //每周的时间 int64 WinChip = 2; //赢取筹码 int32 shareFBSignAddDiamond = 3;//签到附加钻石 int32 receiveFriendGift = 4; //收到好友礼物的次数 } message DBStatisticsData { int64 lastDailyTime = 1; //每日的时间 repeated DBIDValue Daily = 2 [repeatedcount=64]; //每日统计 repeated DBIDValue Total = 3 [repeatedcount=64]; //总的统计 DBStatWeekly Weekly = 4; } // message SnsFriendInfoAccount { int32 accountType = 1; // string accountID = 2 [stringlength=256]; string nick = 3 [stringlength=32]; int32 gender = 4; string icon = 5 [stringlength=32]; int64 uid = 6; int32 dbQueryResult = 7; //1表示db里查询成功,-1表示失败,0表示未查询 } message DBFriendHeroOne { int32 descId = 1; int32 level = 2; int32 star = 3; int64 power = 4; int32 skin = 5; } //好友数据里的自己的数据 message DBFriendSelf { int64 uid = 1; string icon = 2 [stringlength=32]; string nick = 3 [stringlength=32]; int32 level = 4; int64 lastLoginTime = 5; //上次登录时间 int32 vipLevel = 6; int32 vipExp = 7; int32 hideMyInfo = 8;//是不是私密 int64 chip = 11; int64 diamond = 12; int32 exp = 13; int32 gender = 15; string PersonalizedSignature = 16 [stringlength=32]; int32 lostPushTimes = 17; //流失推送次数,这个限制一个角色3次,3次后不再推送 int64 vipCardExpireTime = 18; //最近一次的vip卡的到期时间 int32 autoAccept = 19; //是否自动同意添加好友 int32 refuseAll = 20; //拒绝所有人,不能让其他人添加我为好友 int64 lastLogoutTime = 21; //上次登出时间 int32 todaySelfSendGift = 22; // 今日已送出礼物数量 int32 todaySelfRecvGift = 23; // 今日已领取礼物数量 int32 lastResetGiftDataTime = 24; //上次赠送礼物数据重置的时间 int32 maxPassMainlandId = 25; // 最大通关副本id repeated int64 blackList = 26 [repeatedcount=128]; //黑名单 repeated int64 todaySendGiftUid = 27 [repeatedcount=32]; //今天已经赠送过的礼物的好友 string realmName = 28 [stringlength=32]; //区服名称 int64 mainlineFightPower = 29; // 主线战斗力 repeated DBFriendHeroOne mainlineHeros = 30 [repeatedcount=8]; // 主线阵容 bool isOnline = 31; // 是否在线 int32 iconFrameId = 33; int32 realmId = 34; } //一个好友数据 message DBFriendOne { int32 friendType = 1; //0,游戏好友,1,sns好友 int64 uid = 2; string icon = 3 [stringlength=32]; string nick = 4 [stringlength=32]; int32 level = 5; int32 gender = 6; int64 lastLoginTime = 7; // 上次登录时间 int32 vipLevel = 8; int32 vipExp = 9; int64 chip = 10; int32 lastSendGiftTime = 11; // 赠送好友礼物的时间,需要重置 int32 recvGiftNum = 12; // 收到好友礼物数量 bool isOnline = 13; // 是否在线, 方便friendsvr间同步 int32 lastGetGiftTime = 14; // 领取好友礼物的时间 int32 maxPassMainlandId = 15; // 章节ID int64 mainlineFightPower = 16; // 战斗力 string realmName = 17 [stringlength=32]; //区服名称 int32 lastLogoutTime = 18; // 上次登出时间 int32 iconFrameId = 20; int32 realmId = 21; } //数据库的op类型 enum DBFriendOpType { DBFriendOpType_None = 0; DBFriendOpType_Invite = 1; //邀请,这个会保存到op列表里 DBFriendOpType_AgreeAdd = 2; //同意邀请,这个不会保存到op列表,内存里就处理完了 DBFriendOpType_Refuse = 3; //拒绝邀请,这个不会保存到op列表,内存里就处理完了 DBFriendOpType_Delete = 4; //删除这个不会保存到op列表,内存里就处理完了 DBFriendOpType_Add_Blacklist = 5; //添加黑名单这个不会保存到op列表,内存里就处理完了 DBFriendOpType_Del_Blacklist = 6; //删除黑名单这个不会保存到op列表,内存里就处理完了 DBFriendOpType_Max = 7; //最大值 } //好友数据里的好友列表 message DBFriendList { repeated DBFriendOne allFriends = 1 [repeatedcount=128]; } message DBFriendOneOp{ int32 opType = 1; int32 opSeq = 2; //序列号,唯一,自增 DBFriendOne friend = 3; } message DBFriendChatOne{ int64 senderUid = 1; string senderNick = 2 [stringlength=32]; //昵称 string senderIcon = 3 [stringlength=32]; //头像 int32 senderGender = 4; //性别 int64 sendTime = 5; string message = 6 [stringlength=256]; int32 chatSeq = 7; int64 targetUid = 8; int32 iconFrameId = 9; } //一个好友数据 message DBFriendStrangerOne { int32 playTogetherCount = 1;//一起玩牌次数 int64 lastUpdateTime = 2; //最后更新时间,比如最后一起玩牌时间 DBFriendOne data = 3; } //好友操作表 message DBFriendOpData{ int32 lastOpSeq = 1; repeated DBFriendOneOp opList = 2 [repeatedcount=32]; int32 lastChatSeq = 3; repeated DBFriendChatOne chatList = 4 [repeatedcount=64]; repeated DBFriendStrangerOne strangerList = 5 [repeatedcount=32]; //陌生人列表,比如一起玩过牌的 } //邮件操作的校验数据,防止重复领取邮件 message DBRoleMailOp{ int64 getItemMailID = 1; int64 FacebookLoginFirstMailTime = 2; //Facebook登录第一次发邮件奖励 int64 NewPlayerGiftMailTime = 3; // 新用户奖励邮件时间 } //以后的新增货币类型都放这把,统一点 message DBOtherCurrency{ int64 commanderLowExp = 1; //指挥官低级经验 int64 commanderMidExp = 2; //指挥官中级经验 int64 commanderHighExp = 3; //指挥官高级经验 int64 freeDrawTimes = 4; //免费抽卡次数 } //其他信息 message DBRoleOtherData { uint32 lastVersionUpdateCompensate = 1;//停服补偿最后的版本号 int64 lastLoginDayTime = 4;//上一天登录的时间,计算连续登录使用 int32 hideMyInfo = 11; //设置自己的个人信息为隐藏,不让其他玩家查询 int64 inviteMeUid = 12; //邀请我的玩家的uid,通过fb邀请的,记录这个表示发过奖了 string adid = 13 [stringlength=128]; //google,ios 广告id string installChannel = 14 [stringlength=32]; //install 渠道 string accountEmail = 16 [stringlength=32]; //如果是sns登录的,则在这里是邮箱 string newNick = 17 [stringlength=32]; //修改过的名字 int32 newGender = 18; //修改过的性别 string newIcon = 19 [stringlength=32]; //修改过的头像 int32 playerInitItemVer = 21; //出生物品版本号 int32 renameTimes = 25; //玩家改名次数 int32 gmLevel = 29; int64 onlineExpStartTime = 30; //上一个onlinetime总和 int64 onlineExpAllTime = 31; //当前总的时间 string lastDeviceId = 33 [stringlength=64]; // 上次登录设备id int32 totalLoginDays = 37; // 登录天数 int32 closePayChanel = 45; //是否关闭支付通道 DBOtherCurrency otherCurrency = 46; } //一个黑名单数据 message DBBlackListPlayer { int64 uid = 1; } message DBSysData { //repeated DBBlackListPlayer blackList = 1 [repeatedcount=128]; //黑名单 repeated int32 unlockSys = 2 [repeatedcount = 64]; int32 allChips = 3; int32 allHeros = 4; int64 dungeonPower = 5; int32 plotTask = 6; int32 noviceGuidance = 7; //新手引导进程 repeated int32 secondNoviceGuidance = 8 [repeatedcount = 128]; //第二引导 int32 allDungeonBattle = 9; repeated int32 dungeonLayerTimes = 10 [repeatedcount = 16]; int32 dungeonEnegy = 11; //聚能宝箱能量 int32 allCampainBattle = 12; int32 plotGuide = 13; //剧情引导 int32 iconFrameId = 14; //当前穿戴头像框 待废弃 repeated uint32 iconFrameBitMap = 15 [repeatedcount = 20]; //头像框索引,640个应该够了? 待废弃 repeated uint32 tutorialRewardsBitMap = 16 [repeatedcount = 4]; //教程奖励 } //额外数据 message DBExtData { repeated RoleBaseInfo chatBlackList = 1 [repeatedcount=128]; //聊天屏蔽黑名单 int64 chatBlackVer = 2; //聊天屏蔽黑名单版本号 int32 patch = 4;//patch 号 repeated DBJobData job =5 [repeatedcount = 16]; bool isSendCompensation =6; repeated IDValue32 popCostItemRecord = 7 [repeatedcount = 16]; } message DBJobData { int64 Id = 1; int64 startTime = 2;//结束时间 int64 endTime = 3;//开始时间 int32 type = 4;//类型 int32 tryRet = 5;//重试次数 repeated IDValue64 args = 6 [repeatedcount=128]; //参数 } enum DropFromType { DropFromType_None = 0; DropFromType_Vip = 1; //vip额外加成 DropFromType_Institute = 2; //研究院额外加成 DropFromType_OpenActivity = 3; //活动开放 DropFromType_BossRecommend = 4; //boss战推荐加成 DropFromType_PassGrade1 = 5; //boss战评级1奖励 DropFromType_PassGrade2 = 6; //boss战评级2奖励 DropFromType_PassGrade3 = 7; //boss战评级3奖励 } //掉落数据 message DropDataOne { TypeIDValueString reward=1; int32 param = 2; DropFromType fromType = 3; //掉落来源,特殊掉落要标记 } enum TaskEXCfg{ TaskEXCfg_Task_status_processing = 0; TaskEXCfg_Task_status_complete = 1;//完成未领取 TaskEXCfg_Task_status_done = 2;//完成并已领取 } enum PopConditionType{ PopConditionType_None = 0; PopConditionType_Item_Reduce_And_Insufficient = 1; //物品减少且不足或者等于y PopConditionType_Draw_Mount_Quailty = 2; //玩家普通/高级刷新中,第X次抽到品质为Y的坐骑 PopConditionType_Reduce_Item_Not_Enough = 3; //道具X进行消耗时,拥有的数量不足 PopConditionType_PvpOrPveLose = 4; //道具X进行消耗时,拥有的数量不足 PopConditionType_PlayerLevel = 5; //道具X进行消耗时,拥有的数量不足 PopConditionType_Total_Recharge = 6; //道具X进行消耗时,拥有的数量不足 PopConditionType_Size = 7; } message DBTaskEXOneNode{ int32 currVal = 1; // 当前值 bool done = 2; // 是否已达到要求 // 0, 没有 // 1, 达到 } message DBTaskEXOne{ int32 taskId = 1; // 任务编号ID repeated DBTaskEXOneNode condition = 2 [repeatedcount = 4]; // 任务要求达标的条件列表 int32 pickupTime = 3; // 接取任务的时间 // 预留,用于将来处理有时限型(如日常、活动、按时重置、重复进行型等等)的任务时方便处理 int32 status = 4; // 任务当前的进度状态以及任务是否可交付 // 当 status 的值(默认值为0): // 0为未提交 // 1是已完成 // 目前只有 0 1两种状态 是否可领取看具体进度 // 预留,为将来处理任务分不同状态步骤进行时方便处理 //repeated DBPositionDir exposInfo = 5 [repeatedcount = 2]; // 根据任务情况不同扩展的可能会用到的位置信息 } message DBTaskEXData{ repeated DBTaskEXOne taskList = 1 [repeatedcount = 300]; // 当前正在进行中的任务列表 repeated int32 finishTaskList = 2 [repeatedcount = 200]; // 已经完成了的任务ID列表 int32 taskDailyLiveness = 3 ; //日常活跃度 int32 livenessDailyAward = 4; //活跃度奖励领取(按位记录,第一位为1表示第一个奖励已经领取) int32 taskWeeklyLiveness = 5; //周常活跃度 int32 livenessWeeklyAward = 6; //活跃度奖励领取(按位记录,第一位为1表示第一个奖励已经领取) int64 nextDailyRefreshTime = 7; int64 nextWeeklyRefreshTime = 8; int32 mainlandChapter = 9; //新主线任务完成章节 } /* 新版任务的数据结构 end */ message DBInviteeRoleInfo{ int64 uid = 1; string nick = 2 [stringlength=32]; //名字 string icon = 3 [stringlength=32]; //头像 } message DBInviteeFriendData{ int32 inviteeLvupRewardGetCount = 1; //已经领取奖励的数量 repeated DBInviteeRoleInfo inviteeRewardRole = 2 [repeatedcount=32]; //邀请的玩家成功升级后的列表 } message DBBindAccount{ int32 accountType = 1; string accountId = 2 [stringlength=256]; string email = 3 [stringlength=32]; string nick = 4 [stringlength=32]; } message DBBindAccountData{ repeated DBBindAccount accoutList = 1 [repeatedcount=32]; } //***************MarketShopData begin******************** message OneGridGoods{ int32 goodsId = 1; //物品索引 int32 curBuyTimes = 4; //当前购买这个格子物品的次数 } //商店数据 message OneShopData{ int32 shopId = 1 ; //市场下的商店ID repeated OneGridGoods gridGoods = 3 [repeatedcount = 24] ; int64 nextAutoRefreshTime = 4; //下一次自动刷新时间 int32 handRefreshTimes = 5; //当前手动刷新次数 int64 lastHandRefreshTime = 6; } message DBMarketShopData{ repeated OneShopData shopData = 1 [repeatedcount = 20]; } //***************MarketShopData end ******************** //英雄信息(最新的)(attrTypeValue 改变后,记得修改HeroInfo的attrTypeValue 长度) message DBHero{ int32 serialNum = 1; // pdl int32 descId = 2; // pdl int32 level = 3; // pdl int32 exp = 5; // pdl DBPeakLevelData levelData = 4; //巅峰加点 repeated DBEquipment wearEquip = 41 [repeatedcount = 12]; // 装备 pdl repeated DBGem wearGem = 6 [repeatedcount = 32]; int32 skin = 7; int32 weapon1 =8; repeated TypeIDValue32 suits = 9[repeatedcount = 4]; //套装 } //CS_GAMEMSGID_SYSTEM_UNLOCK_INFO_LOAD_SYN message CSSystemUnlockInfoLoadSyn{ repeated int32 idList = 1 [repeatedcount = 128]; //已经解锁的系统ID } //CS_GAMEMSGID_SYSTEM_UNLOCK_INFO_CHANGE_SYN message CSSystemUnlockInfoChangeSyn{ repeated int32 idList = 1 [repeatedcount = 128]; //已经解锁的系统ID } //CS_GAMEMSGID_PASS_CARD_LOAD_SYN message CSPassCardLoadSyn{ repeated DBOPassCard freeAwardList = 1 [repeatedcount = 64];//已经领取过的免费奖励 repeated DBOPassCard payAwardList = 2 [repeatedcount = 64];//已经领取过的付费奖励 int32 monthCardIsGet = 3;//月卡是否领取 0未领取,1已领取 int32 allCardIsGet = 4;//终身卡是否领取 0未领取,1已领取 repeated int32 allItem = 5[repeatedcount = 8];//该活动会展示的内容 int32 monthCardLastDay = 6;//月卡剩余天数 } //CS_GAMEMSGID_PASS_CARD_GET_AWARD_REQ message CSPassCardGetAwardReq{ int32 cardIndex = 1; int32 seq = 2; } //CS_GAMEMSGID_PASS_CARD_GET_AWARD_RES message CSPassCardGetAwardRes{ CSErrCode ret = 1; repeated TypeIDValue32 rewards = 2 [repeatedcount = 16]; } //CS_GAMEMSGID_HOMEAD_AD_LOAD_SYN message CSHomeAdLoadSyn{ string adToken = 1[stringlength=64];//ca-app-pub-ad_network/ad_unit } //CS_GAMEMSGID_HOMEAD_AD_GIVE_MONEY_SYN message CSHomeAdGiveMoneySyn{ repeated CSItemChgInfo rewards = 1 [repeatedcount = 16]; int32 advId = 2; } //CS_GAMEMSGID_HOMEAD_AD_GET_AWARD_REQ message CSHomeAdGetAwardReq{ } //CS_GAMEMSGID_HOMEAD_AD_GET_AWARD_RES message CSHomeAdGetAwardRes{ } //CS_GAMEMSGID_HOMEAD_AD_START_SYN message CSHomeAdStartSyn{ } //CS_GAMEMSGID_HOMEAD_AD_PASS_REQ message CSHomeAdPassReq{ int32 type = 1;//1:获取钻石,2增加寻宝次数,3 领地 ,4 加速宝箱 ,5 赛马 } //CS_GAMEMSGID_HOMEAD_AD_PASS_RES message CSHomeAdPassRes{ CSErrCode ret = 1; int32 type = 2; } //CS_GAMEMSGID_CARD_GET_DAILY_AWARD_REQ //领取月卡每日奖励 message CSCardGetDailyAwardReq{ int32 cardId = 1; bool isFree = 2; //当free 为true表示领取每日免费奖励,cardid=0 } //CS_GAMEMSGID_CARD_GET_DAILY_AWARD_RES //领取月卡每日奖励 message CSCardGetDailyAwardRes{ CSErrCode ret = 1; } //CS_GAMEMSGID_MONTHLY_CARD_INFO_SYN //同步月卡数据 message CSMonthlyCardInfoSync{ repeated MonthlyCardData MonthlyCard =1 [repeatedcount = 16]; } // CS_GAMEMSGID_BATTLE_PASS_AWARD_REQ = 5337;// 领取battlepass 奖励 message CSBattlePassGetAwardReq{ int32 actId = 1; int32 freeIndex = 2; int32 payIndex = 3; int32 supPayIndex = 4; } //CS_GAMEMSGID_BATTLE_PASS_AWARD_RES //领取battlepass 奖励 message CSBattlePassGetAwardRes{ CSErrCode ret = 1; } // CS_GAMEMSGID_BATTLE_PASS_INFO_SYN = 5339;// message CSBattlePassInfoSync{ repeated BattlePassData battlePassData = 1 [repeatedcount = 32];//battle pass data } //CS_GAMEMSGID_EQUIP_SHOW_CHANGE_REQ message CSEquipShowChangeReq{ int32 descId = 1; // 幻化id int32 pos = 2; //部位 } //CS_GAMEMSGID_EQUIP_SHOW_INFO_SYN message CSEquipShowInfoSyn{ int32 pos = 1; // 部位 DBEquipSkins skins = 2; // 值 } //CS_GAMEMSGID_EQUIP_SHOW_CHANGE_RES message CSEquipShowChangeRes{ CSErrCode ret = 2; int32 pos = 3; // 部位 int32 descId = 4; // 值 } //CS_GAMEMSGID_BAG_SYNC message CSBagSync{ DBPandoraBag bag = 1; } //CS_GAMEMSGID_HERO_SYNC message CSHeroSync{ DBKnight hero = 1; } //CS_GAMEMSGID_EQUIP_SYNC message CSEquipSync{ DBEquipment add = 1; } //CS_GAMEMSGID_SKIN_SYNC message CSSkinSync{ DBSkinData skins = 1 ; } //CS_GAMEMSGID_GEM_SYNC message CSGemSync{ DBGem add = 1 ; } //CS_GAMEMSGID_EQUIPLIST_SYNC message CSEquipListSync{ repeated DBEquipment equipList = 2 [repeatedcount = 256]; //装备背包 } //CS_GAMEMSGID_EQUIPDEPOT_SYNC message CSEquipDepotSync{ repeated DBEquipment equipDepot = 2 [repeatedcount = 400]; //装备背包 int32 euqipDepotCount = 4; //仓库已经解锁个数,最多4个 } //CS_GAMEMSGID_ITEMLIST_SYNC message CSItemListSync{ repeated DBBagItem itemList = 1 [repeatedcount = 512];//暂时定这么大 } //CS_GAMEMSGID_GEMLIST_SYNC message CSGemListSync{ repeated DBGem gemList = 6 [repeatedcount = 1300];//暂时定这么大 DBGem composeTempOld = 7;//合成临时的 DBGem composeTempNew = 8;//合成临时的 } //CS_GAMEMSGID_GEM_WEAR = 5021; message CSGemWear{ int32 gemId = 1; int32 opType = 2;//1穿戴,2替换,3卸下 int32 toGemId = 3; //替换时有用 int32 toPos = 4;//万能宝石有用 } //CS_GAMEMSGID_GEM_WEAR_RES = 5022; message CSGemWearRes{ int32 gemId = 1; CSErrCode ret = 2; int32 opType = 3;//1穿戴,2替换,3卸下 int32 toGemId = 4; //替换时有用 int32 toPos = 5;//万能宝石有用 } message GemComposeUnit{//每一个合成组,5个相同品质部位的放一起 repeated int32 confId = 1 [repeatedcount = 6]; repeated int32 count = 2 [repeatedcount = 6]; } //CS_GAMEMSGID_GEM_COMPOSE = 5023; message CSGemCompose{ //一键合成 repeated GemComposeUnit costs = 2[repeatedcount = 300]; } //CS_GAMEMSGID_GEM_COMPOSE_RES = 5024; message CSGemComposeRes{ CSErrCode ret = 2; repeated GemComposeUnit costs = 1[repeatedcount = 300]; } //CS_GAMEMSGID_GEM_COMPOSE_ONE = 5025; message CSGemComposeOne{ //手动合成 int32 confId = 1 ; //主id GemComposeUnit costs = 2;//材料列表,不包含主 } //CS_GAMEMSGID_GEM_COMPOSE_ONE_RES = 5026; message CSGemComposeOneRes{ int32 confId = 1 ; //主id CSErrCode ret = 2; DBGem newGem = 3; } //CS_GAMEMSGID_GEM_COMPOSE_ONE_SAVE = 5027; message CSGemComposeOneSave{ //手动合成保存 int32 opType = 1;//1是取消,2是用新的 } //CS_GAMEMSGID_GEM_COMPOSE_ONE_SAVE_RES = 5028; message CSGemComposeOneSaveRes{ CSErrCode ret = 2; int32 opType = 1; } //CS_GAMEMSGID_GEM_LOCK = 5029; message CSGemLock{ //手动合成保存 int32 opType = 1;//1是lock, 2 是unlock int32 gemId = 2; } //CS_GAMEMSGID_GEM_LOCK_RES = 5030; message CSGemLockRes{ CSErrCode ret = 2; int32 opType = 1;//1是lock, 2 是unlock int32 gemId = 3; DBGem geam = 4; } //CS_GAMEMSGID_GEM_SETNEWGET = 5031; message CSGemSetNewGet{ // int32 gemId = 3; } //CS_GAMEMSGID_GEM_SETNEWGET_RES = 5032; message CSGemSetNewGetRes{ int32 gemId = 3; } //CS_GAMEMSGID_GEM_CHANGE_SYNC = 5033; message CSGemChangeSync{ repeated IDValue32 change = 3[repeatedcount = 1300]; } //CS_GAMEMSGID_BEGINNER_GUIDE_CHANGE_REQ message CSBeginnerGuideChangeReq{ int32 id = 1; } //CS_GAMEMSGID_BEGINNER_GUIDE_CHANGE_RES message CSBeginnerGuideChangeRes{ repeated int32 beginnerGuide = 1 [repeatedcount = 64]; //新手引导 CSErrCode ret = 2; } //CS_GAMEMSGID_BEGINNER_GUIDE_AWARD_REQ message CSBeginnerGuideAwardReq{ int32 type = 1; int32 id = 2; } //CS_GAMEMSGID_BEGINNER_GUIDE_AWARD_RES message CSBeginnerGuideAwardRes{ CSErrCode ret = 1; int32 type = 2; } //通行证同步数据结构 message DBOPassCard{ int32 cardIndex =1;//通行证类型 int32 seq = 2;//通行证奖励挡位 } //弹窗礼包推送结构 message DBPopupGiftInfo{ int32 type = 1;//礼包类型 repeated int32 idList = 2[repeatedcount = 8];//礼包ID列表 int64 time = 3;//礼包结束时间戳 int32 popNum = 4; //弹出次数 } //开服活动商城结构 message DBOSActShop{ int32 randomShopNeedItemType = 1;//开服活动商城刷新所需物品ID int32 randomShopNeedItemValue = 2;//开服活动商城刷新所需物品ID repeated DBOSActShopOne itemInfo = 3 [repeatedcount = 6]; } message DBOSActShopOne{ int32 id = 1; int32 count =2; int32 maxBuyCount = 3; int32 nowBuyCount = 4; int32 index = 5; } //装备位置枚举 enum EquipmentPos{ EquipmentPos_None = 0; EquipmentPos_Helmet = 1; // 头盔 EquipmentPos_Armor = 2; // 护甲 EquipmentPos_Leggings = 3; // 护腿 EquipmentPos_Gloves = 4; // 手套 EquipmentPos_Boots = 5; // 鞋子 EquipmentPos_NeckLace = 6; // 项链 EquipmentPos_Bracelet = 7; // 手镯 EquipmentPos_Ring = 8; // 戒指 EquipmentPos_LeftGun = 9; // 主武器 EquipmentPos_RightGun = 10; // 副武器 EquipmentPos_Max = 11; } //单一装备信息 加字段的时候通知客户端需要把对应字段传到ILRuntime //删除后只保留四个有用字段 message DBEquipment{ int32 serialNum = 1; //装备唯一id int32 descId = 2 ; // pdl int32 level = 3; // pdl repeated PropValue baseProp = 4 [repeatedcount = 2]; repeated PropValue addProp = 5 [repeatedcount = 4]; //附加属性 pdl int32 score = 6; //评分 int32 element = 8 ; bool lock = 9; //是否锁定 int32 depotId = 10; //仓库ID int32 quality = 20; // 品质 pdl int32 pos = 21; // 部位 客户端传入 bool newGet = 22; //新获得 } message DBExEquipment{ int32 serialNum = 1; int32 descId = 2; int32 mainPropIndex = 3; int32 count = 4; } message DBGem{ int32 confId = 1; repeated ID32Value64 baseProp = 2 [repeatedcount = 8]; int32 gemType = 3; int32 pos = 4; int32 quality = 5; int32 talengId = 6 ; int32 count = 7; bool newGet = 8; bool lock = 9; int32 effIdx = 10; int32 toPos = 11;//万能宝石有用 } //---------------------------------------------翅膀 start--------------------------------------------- message DbWingData{ DbWing wing = 1; repeated DbWingsSkin wingSkinList = 2 [repeatedcount = 64]; } message DbWing{ int32 descId = 1; int32 levelId = 2; int32 rankId = 3; int32 starId = 4; int32 wearId = 5;//穿戴的星级id int32 skinId = 7; //穿戴的皮肤id int32 refitId = 8; //穿戴的皮肤所对应的等级id } message DbWingsSkin{ int32 descId = 1; int32 refitId = 2; int32 serialNum = 3; bool newGet = 4; } //一下是协议 //CS_GAMEMSGID_ON_CHANGE_STAR_WEAR_REQ = 5200; message OnChangeStarWearReq{//穿戴星级 int32 starId = 1; } // CS_GAMEMSGID_ON_CHANGE_STAR_WEAR_RES = 5201; message OnChangeStarWearRes{ CSErrCode ret = 1; } // CS_GAMEMSGID_ON_CHANGE_WING_SKIN_REQ = 5202; message OnChangeWingSkinReq{//穿戴翅膀皮肤 int32 wingId = 1; //翅膀皮肤id int32 refitId = 2; //翅膀皮肤等级id } // CS_GAMEMSGID_ON_CHANGE_WING_SKIN_RES = 5203; message OnChangeWingSkinRes{ CSErrCode ret = 1; } ////1是升级,2是升阶,3是升星 enum WingOpType{ WingOpType_None = 0; WingOpType_UpgradeLevel = 1; WingOpType_UpgradeRank = 2; WingOpType_UpgradeStar = 3; } // CS_GAMEMSGID_ON_UPGRADE_MAIN_WING_REQ = 5204; message OnUpgradeMainWingReq{ WingOpType opType = 1; bool toMax = 2; //是否到最大 等级、阶级、星级(暂实现等级) } // CS_GAMEMSGID_ON_UPGRADE_MAIN_WING_RES = 5205; message OnUpgradeMainWingRes{ CSErrCode ret = 1; WingOpType opType = 2; } //CS_GAMEMSGID_ON_UPGRADE_WING_SKIN_REQ = 5206; message OnUpgradeWingSkinReq{ //升级翅膀皮肤 int32 wingId = 1; } // CS_GAMEMSGID_ON_UPGRADE_WING_SKIN_RES = 5207; message OnUpgradeWingSkinRes{ CSErrCode ret = 1; int32 wingId = 2; } // CS_GAMEMSGID_ON_SYNC_WING_DATA = 5208; message SyncWingsData{//同步数据 DbWingData wingData = 1; } //CS_GAMEMSGID_ON_MARK_WING_NEW_GET_REQ = 5209; message OnMarkWingNewGetReq{ int32 descId = 1; } //CS_GAMEMSGID_ON_MARK_WING_NEW_GET_RES = 5210; message OnMarkWingNewGetRes{ CSErrCode ret = 1; } //---------------------------------------------翅膀 end--------------------------------------------- // --------------------------------------GameServerRank start-------------------------------------------------------- //排行榜刷新类型 enum RankFlushType{ RankFlushType_None = 0; RankFlushType_Seconds = 1; RankFlushType_Daily = 2; RankFlushType_Weekly = 3; } //排行榜单个数据 message RankOneData{ int32 rankID = 1; //排行榜Id int64 rankScore = 2; //分数 int64 updateTime = 3; //更新时间 int64 successScore = 4; //成功上榜分数 int32 param1 = 5; } //角色自身排行版数据 message DBRoleRankData{ repeated RankOneData list = 1 [repeatedcount = 128]; //自身排行榜数据 repeated int32 haveAwardRankList = 2 [repeatedcount = 256]; //已经领过奖的排行榜 } // CS_GAMEMSGID_EXCHANGE_CODE_TAKE_REQ = 4171; //兑换码兑换 message CSExchangeCodeTakeReq{ string code = 1 [stringlength=64]; //兑换码 } // CS_GAMEMSGID_EXCHANGE_CODE_TAKE_RES = 4172;//兑换码兑换 message CSExchangeCodeTakeRes{ int32 ret = 1; repeated DropDataOne rewardList = 2[repeatedcount=16]; //奖励 } //---------------------------------ExchangeCode start---------------------------------------\ message DBExchangeCodeData{ repeated uint32 bitMap = 1 [repeatedcount = 16];//领取状态map 这个长度就不要改了,改了要写代码兼容数据 repeated uint32 codeMap = 2 [repeatedcount = 100]; //codeid超过512的就存这吧 } //---------------------------------ExchangeCode end---------------------------------------\ message DBPreRegistrationData{ uint64 rewardStateBitMap = 1; //领取状态 } message DBStrategeRewardData { repeated IDValue64 oneStratege = 1 [repeatedcount = 32];//策略id 按位保存奖励领取信息 } message DBIconFrameDataOne{ int32 id = 1; //头像框id int64 getTime = 2; //获取时间 } message DBIconFrameData{ int32 iconFrameId = 1; //当前穿戴头像框 repeated DBIconFrameDataOne list = 2 [repeatedcount = 128]; //头像框 } message DBModuleAchieveDataOne{ int32 moduleAchieveId = 1; //模块成就id int32 hadAwardStep = 2; //已领奖步骤 int64 nowValue = 3; //当前值 } message DBIconData{ repeated int32 iconUnlockBits = 1 [repeatedcount = 8]; //头像框 repeated int32 unlocked = 2 [repeatedcount = 128];//头像框 } //体力相关 message PowerPointData{ int32 power = 1; int32 powerMax = 2; int64 lastUpdateTime = 3; int32 buyTimes = 4; int64 lastRefreshTime = 5; int32 mopTimes = 6;//当日已扫荡次数 int32 extMopTimes = 7;//额外扫荡次数 int32 costPower = 8;//累计消耗体力 int64 lastGainTime = 9;//上次获得体力时间 } // CS_GAMEMSGID_MOP_UP_REQ = 1075; // 扫荡请求 message MopUpReq{ } // CS_GAMEMSGID_MOP_UP_RES = 1076; // 扫荡返回 message MopUpRes{ int32 ret = 1; repeated CSItemChgInfo rewards = 5 [repeatedcount = 64]; //具体得到的内容 } // CS_GAMEMSGID_GAIN_POWER_REQ = 1077; // 领取体力数据 message GainPowerReq{ bool all = 1; } // CS_GAMEMSGID_GAIN_POWER_RES = 1078; // 领取体力数据 message GainPowerRes{ int32 ret = 1; } // CS_GAMEMSGID_BUY_POWER_REQ = 1071; // 购买体力数据 message BuyPowerReq{ } // CS_GAMEMSGID_BUY_POWER_RES = 1072; // 购买体力数据 message BuyPowerRes{ int32 ret = 1; int32 num = 2; } //CS_GAMEMSGID_SYNC_POWER_INFO = 1068; // 同步体力数据 message SyncPowerPointDataRes{ PowerPointData powerPointData = 1; } //玩家信息二进制,数据库要用 message DBRoleData { int32 loginCount = 1; //登录次数 DBRolePayData payData = 2; //支付数据 DBStatisticsData statData = 3; //统计数据,任务,成就可使用 DBRoleMailOp mailOp = 4; //邮件操作的校验数据,防止重复领取邮件 DBRoleOtherData otherData = 5; //其他数据 DBBindAccountData bindAccountData = 6; //绑定的帐号 DBMarketShopData marketShopData = 7; //市场商店数据 DBTaskEXData TaskEXData = 8; DBRoleRankData rankData = 9; //排行榜数据 int32 dataVersion = 10; //roledata 数据的版本号 用于更新时的数据更改 DBExchangeCodeData exchangeCodeData = 11; //兑换码数据 DBIconFrameData iconFrameData = 12; int64 OssMaxPlayerDataId = 13; // oss 玩家操作最大Id DbFreeRewardData freeRewardData = 14; //免费奖励 DBKnight knight = 15; // 骑士 pdl DBPandoraBag pandoraBag = 16; // 背包 pdl DBSysUnlockData sysUnlockData = 17;//已解锁的系统息 repeated DBActInfo activityInfo = 18 [repeatedcount=32];//活动相关信息 DbActExtraInfoData actExtraInfo = 19; //活动额外信息,和活动相关得数据都存放在这个结构 DBIconData iconData = 20; // 头像 DBHomeAd homeAd = 21;//广告 repeated int32 beginnerGuide = 22 [repeatedcount = 64]; //新手引导 repeated DBPopupGift popupGift = 23 [repeatedcount =16];//弹窗广告 int64 bornTime = 24;//角色创建时间 DbBurtyingPoint burtyingPoint = 25; DBExtData extData = 26; //额外数据 PopPackageData popPackageData = 28;//弹窗礼包 DBSkinData skin = 29; //时装 ActRankData actRankData = 30;// 活动排行榜数据 BdcData bdc = 31; //bdc信息 repeated DBEquipment payEquipment = 32 [repeatedcount = 8]; // 充值定制装备 PowerPointData powerPointData = 33; //体力相关 DbTalentData talent= 34; ChapterData chapterData = 35; ChapterDataRecord battleRecord = 36; bool isInBattle = 37;//是否再战斗中 DBWXFriends wxFriends = 38; repeated RecruitData recruitData = 39 [repeatedcount = 4]; //抽卡数据 repeated IDValue64 gmProp =40 [repeatedcount = 8]; DbWingData wingData = 41;//翅膀 DBCBattle cbdata = 42;//boss连战 DBPreset preset = 43; //预设 } message DBCBattle{//boss连战 int64 lastFreshTickTime = 1; int32 maxLayer = 2; int32 lastLayer = 3; repeated int32 getLayerReward = 4 [repeatedcount = 1024]; //已经领取阶段奖励 repeated TypeIDValue32 nowReward = 5 [repeatedcount = 128];//当前挑战的累计奖励 int32 nowLayer = 6; //当前层 int64 nowStartTime = 7;//当前开始时间 int32 nowScore = 8; int32 weekScore = 9; int64 lastWeekScoreRst = 10; int32 nowStageId = 12; int32 rednamestageId = 11; int32 nowBoosC = 13;//boss数量 int32 nowRedC = 14;//红名数量 int32 beginLayer = 15; int32 nowRedCTotal = 16;//红名遇见数量 } message DBWXFriendOne{ string account = 1 [stringlength=32]; int64 uid = 2; int32 realmId = 3; DBRankPlayerInfo rankInfo = 4; int64 lasySyncTime = 5; } message DBWXFriends{ repeated DBWXFriendOne friends = 1 [repeatedcount = 1024]; int64 lasySyncTime = 2; } message DBSkinOne{ int32 skinId = 1; int64 unlockTime = 2; bool newGet = 3; } message DBSkinData{ repeated DBSkinOne skins = 1 [repeatedcount = 256]; int32 nowSkin = 2; //当前时装 repeated TypeIDValueString benifits = 3 [repeatedcount = 8]; } //-----------------------------------------------------------主线章节 start----- //章节外面数据 message ChapterData{ int32 chapterId = 1; //当前章节id int32 battleId = 2; //当前章节进度 RepeatedRecord perfectIds = 3;//完美通关列表 RepeatedRecord effectiveStage =4; //速通波次记录 int32 lastChapterId = 5;// int32 lastBattleId = 6; RewardBattleData rewardBattleData = 7; //奖励关卡数据 RepeatedRecord effectiveRewardRecord = 8; //速通波次手动领取记录 bool canJoinBattle = 9; //是否可以进入战斗 RepeatedRecord perfectRewardRecord = 10; //完美通关手动领取记录 } message RepeatedRecord{ repeated RepeatedRecordOne records = 1 [repeatedcount = 2]; } message RepeatedRecordOne{ repeated int32 record = 1 [repeatedcount = 32]; } message RewardBattleData{ int32 battleId = 1;//关卡ID int64 loseTime = 2;//失效时间 int32 level=3;//触发时玩家等级 } //章节战斗记录 message ChapterDataRecord{ ChapterBattleData battleData =1; int64 beginTime = 2;//进入战斗时间 int64 battleBeginTime = 3;//战斗开始计时时间 int32 battleTimeDuration = 4;//当前战斗真正耗时 int32 monsterStageId = 5;//当前激活得怪物Id int64 monsterActiveTime = 6;//当前这波怪物激活时间 int64 monsterBeginTime = 7;//当前这波怪物战斗耗时计时开始 int32 monsterTimeDuration = 8;//当前这波怪物战斗耗时 repeated KillMonsterInfo killedMonsters = 9 [repeatedcount = 16];//已击杀得怪物和数量 repeated TypeIDValue32 dropReward = 10[repeatedcount = 256]; int32 resurrectionNum = 11;//复活次数 repeated MonsterStage stageInfo = 12 [repeatedcount =16];//刷怪波次信息 repeated IDValue32 altarInfo = 13 [repeatedcount = 8];//祭坛信息 repeated IDValue64 PropVal = 14 [repeatedcount = 512];//客户端属性 } //关卡数据 message ChapterBattleData{ int32 battleId = 1;//章节id BattleStatus BattleStatus = 2 ;//战斗状态 int32 ReviveNum = 3;//当前局内复活次数 } enum BattleStatus{ BattleStatus_NONE = 0;//正常战斗中 BattleStatus_SUSPEND = 1;//暂停 BattleStatus_DEFEAT = 2;//失败(等待复活) BattleStatus_WIN = 3;//战斗结束 } message KillMonsterInfo{ int32 stageId = 1;//id repeated IDValue32 monsterInfo = 7 [repeatedcount = 16];//已怪物信息 bool effective = 3; //是否速通 } //怪物波次信息 message MonsterStage{ int32 stageId = 1;//id int32 allNum = 2; repeated IDValue32 monsterInfo = 3 [repeatedcount = 16];//已怪物信息 } enum ChapterOption{ ChapterOption_None = 0; ChapterOption_Active_Monster = 1;//激活一组怪物 ChapterOption_Suspend_Battle = 2;//暂停 ChapterOption_Continue_Battle = 3;//继续战斗 ChapterOption_Defeat_Battle = 4;//失败 ChapterOption_Resurrection_Battle = 5;//复活 ChapterOption_End_Battle = 6;//复活 } //--------- 一下是协议--------------- //CS_GAMEMSGID_BATTLE_BEGIN_REQ = 1800; // 开始战斗 message OnBattleBeginReq{//开始 int32 chapterId = 1; int32 battleId = 2; bool isGm = 3; } //CS_GAMEMSGID_BATTLE_BEGIN_RES = 1801; message OnBattleBeginRes{ int32 ret = 1; ChapterBattleData battleData = 2; } // CS_GAMEMSGID_BATTLE_OPTION_REQ = 1802; // 战斗中的操作 message OnBattleOptionReq{//战斗过程中的一下操作 ChapterOption option = 1; //1 激活下一波次,2 暂停,3 继续,4 失败等待复活,5复活,6结束 } // CS_GAMEMSGID_ON_BATTLE_PUSH_PROP_DATA_REQ = 1815; message OnBattlePushClientPropReq{ repeated IDValue64 PropVal = 1 [repeatedcount = 512];//客户端属性 } // CS_GAMEMSGID_ON_BATTLE_PUSH_PROP_DATA_RES = 1816; message OnBattlePushClientPropRes{ int32 ret = 1; } // CS_GAMEMSGID_BATTLE_OPTION_RES = 1803; message OnBattleOptionRes{ int32 ret = 1; ChapterOption option = 2; ChapterBattleData battleData = 3; } // CS_GAMEMSGID_KILLED_MONSTER_REQ = 1804; // 战斗中的奖励 message OnKilledMonsterReq{//击杀怪物获取奖励 int32 stageId = 1; int32 seq = 2;//客户端专用 int32 monsterId = 3; int32 msgSeq = 4; } // CS_GAMEMSGID_KILLED_MONSTER_RES = 1805; message OnKilledMonsterRes{ int32 ret = 1; MonsterDrop dropInfo = 2; int32 msgSeq = 3; } message MonsterDrop{ int32 seq = 1; repeated TypeIDValue32 rewards = 3 [repeatedcount = 64]; } // CS_GAMEMSGID_ON_SYNC_EXT_DROP_REWARD_DATA = 1813; message SyncExtDropRewardData{ repeated TypeIDValue32 rewards = 1 [repeatedcount = 64]; } // CS_GAMEMSGID_ON_PICKUP_MONSTER_REWARD_REQ = 1809; // 章节战斗捡奖励 message OnPickupMonsterRewardReq{ int32 type = 2; int32 id = 3; } // CS_GAMEMSGID_ON_PICKUP_MONSTER_REWARD_RES = 1810; message OnPickupMonsterRewardRes{ int32 ret = 1 ; } // CS_GAMEMSGID_BATTLE_ACTIVE_ALTAR_REQ = 1806; // 激活祭坛 message OnActiveAltarReq{ //激活祭坛 int32 altarId=1; } // CS_GAMEMSGID_BATTLE_ACTIVE_ALTAR_RES = 1807; message OnActiveAltarRes{ int32 ret = 1; } // CS_GAMEMSGID_BATTLE_SYNC_DATA = 1808; message SyncChapterData{//同步信息 ChapterData chapterData = 1; ChapterBattleData chapterBattleData = 2; } // CS_GAMEMSGID_ONTICK_BATTLE_ENTITY_REQ = 1811; message OnTickBattleEntityReq{ //刷怪 int32 type = 1; //0 怪,1:祭坛 int32 seq = 2; int32 entityId = 3; int32 msgSeq = 4; } // CS_GAMEMSGID_ONTICK_BATTLE_ENTITY_RES = 1812; message OnTickBattleEntityRes{ int32 ret = 1; int32 seq = 2; int32 msgSeq = 3; } //CS_GAMEMSGID_ON_SYNC_CHAPTER_BATTLE_WIN = 1814; message OnChapterBattleWinSync{ } //CS_GAMEMSGID_ON_GAIN_BATTLE_REWARD_REQ = 1818; message OnGainBattleRewardReq{ int32 stageId = 1; } //CS_GAMEMSGID_ON_GAIN_BATTLE_REWARD_RES = 1819; message OnGainBattleRewardRes{ CSErrCode ret = 1; int32 stageId = 2; } //CS_GAMEMSGID_ON_GAIN_ALL_BATTLE_REWARD_REQ = 1819; message OnGainAllBattleRewardReq{ int32 chapterId = 1; } //CS_GAMEMSGID_ON_GAIN_ALL_BATTLE_REWARD_RES = 1820; message OnGainAllBattleRewardRes{ CSErrCode ret = 1; int32 chapterId = 2; } //CS_GAMEMSGID_ON_BATTLE_DEFEAT_REQ = 1821; message OnBattleDefeatReq{ int32 defType = 1; int32 battleId = 2; } // CS_GAMEMSGID_ON_BATTLE_DEFEAT_RES = 1822; message OnBattleDefeatRes{ CSErrCode ret = 1; int32 defType = 2; int32 battleId = 3; } //---------------------------------------------主线章节 end----------- message DBFreeOneData{ repeated int32 freeIdList = 1 [repeatedcount = 32];//已经领取的id int64 lastUpdateTime = 2;//上次更新时间 } message DbFreeRewardData{ DBFreeOneData daily = 1; //后续扩展 } // CS_GAMEMSGID_FREE_REWARD_REQ = 1170; message CSFreeRewardReq{ int32 freeId = 1; int32 type = 2;//0 每日,1 其他 } // CS_GAMEMSGID_FREE_REWARD_RES = 1171; message CSFreeRewardRes{ CSErrCode ret = 1; int32 freeId = 2; } // CS_GAMEMSGID_FREE_REWARD_SYNC = 1172; message CSFreeDataSync{ DbFreeRewardData data = 1; } message DBPeakLevelData{ int32 freePoint = 1; //剩余加点 repeated IDValue32 addPoint = 2 [repeatedcount = 16]; //属性的加点数量 } //----------------------------------天赋 start------------------------------ message DbTalentData { DbTalentPageData talentPage = 1;//普通天赋 DbTalentPageData peakData = 2;//巅峰天赋 } message DbTalentPageData{ int32 point = 1; int32 pageIndex = 2;//剩余加点 bool isActive = 3; repeated IDValue32 items= 4 [repeatedcount = 32]; //属性的加点数量 } //点天赋(升级、降低), (激活,切换,reset) // CS_GAMEMSGID_TALENT_OPTIONS_REQ = 1114; message CSTalentOptionsReq{ int32 option = 1;//操作: 1激活。2切换,3 重置 int32 pageIndex = 2;//天赋页 } // CS_GAMEMSGID_TALENT_OPTIONS_RES = 1115; message CSTalentOptionsRes{ CSErrCode ret = 1; int32 option = 2; int32 pageIndex = 4;//天赋页 DbTalentPageData data = 5; } // CS_GAMEMSGID_TALENT_ACTIVE_REQ = 1112; // message CSTalentActiveReq{ int32 talentId = 1; bool backup = 2;//true 减少,false 增加 int32 pageIndex = 3;//天赋页 } // CS_GAMEMSGID_TALENT_ACTIVE_RES = 1113; message CSTalentActiveRes{ CSErrCode ret = 1; DbTalentPageData data = 2; int32 pageIndex = 3;//天赋页 } // CS_GAMEMSGID_TALENT_DATA_SYNC = 1118; message CSTalentDataSync{ DbTalentData talent = 2; //天赋 } //-----------------------------------天赋 end-------------------------------- message RewardItem{ int32 type = 1 ; string code = 2 [stringlength=32]; int32 amount = 3; int32 repeat = 4; } message RewardWeightItem{ int32 weight = 2; repeated RewardItem list = 3 [repeatedcount = 8]; } message RewardArrayItem{ string code = 1 [stringlength=32]; repeated RewardWeightItem items = 2 [repeatedcount = 32]; int32 nowIdx = 3; int32 count = 4; } message RewardTimesItem{ string code = 1 [stringlength=32]; int32 times = 2; } message DBRoleRewardData{ repeated RewardArrayItem arrayItems = 1 [repeatedcount = 500]; repeated RewardTimesItem timesItems = 2 [repeatedcount = 500]; repeated RewardArrayItem groupArrayItems = 3 [repeatedcount = 500]; } message TreasureActData{ int32 actId= 1; //活动ID int32 type=2; //活动类型 int32 procNum= 3; //轮次 int32 conductionNum= 4;//当前活动计数点数 repeated int32 awardIds= 5 [repeatedcount = 10];//已经领取奖励的id bool isSendAward =6;//是否发送邮件 int64 actEndTime=7;//活动结束时间 } message BdcData{ string bdc_device_id = 1 [stringlength=64]; string deviceid_type = 2 [stringlength=64]; string device_key = 3 [stringlength=64]; string device_model = 4 [stringlength=64]; string ime = 5 [stringlength=64]; string gaid = 6 [stringlength=64]; string idfa = 7 [stringlength=64]; string idfv = 8 [stringlength=64]; string android_id = 9 [stringlength=64]; string oaid = 10 [stringlength=64]; string sdk_version = 11 [stringlength=64]; string bdc_client_os = 12 [stringlength=64]; string old_device_id = 13 [stringlength=64]; } message DBEquipSkins{ repeated int32 skinId = 1 [repeatedcount = 512]; } //活动排行榜数据 message ActRankData{ repeated IDValue64 updateTime = 1 [repeatedcount = 10]; //跟新时间 } //记录一些给前端推送埋点数据 message DbBurtyingPoint { int32 userloginCount =1;//登录天数 int64 lsatLoginTime = 2;//上次登录时间 } //首页广告结构 message DBHomeAd{ int32 todayTotalGetCount =1;//今天一共出现几次广告 int32 nextTime = 2;//下次广告出现的时间 int32 advId = 3;//当前正在观看的广告奖励配置Id string advToken = 4 [stringlength=64]; repeated DBADInfo infos = 5 [repeatedcount =16];//新增类型,暂时扩展到16 } //弹窗广告结构 message DBPopupGift{ int32 type = 1;//类别 int32 conditionType = 2;//升级条件 repeated int32 conditionValue = 3 [repeatedcount =4];//升级计数 int32 specialIndex = 4;//特殊礼包的index repeated int32 giftList = 5 [repeatedcount =16];//所有礼包,因为要涉及到升档降档,所以要提前记录 int32 index = 6;//当前礼包的indx int32 showCount = 7;//该礼包出现次数,超过两次出现但是没买就要降档 int32 time = 8;//周期开始的时间,0表示未进入周期 int32 allValue = 9;//总计数 int32 endShowTime = 10;//礼包展示剩余时间 int32 coustTime = 11;//礼包持续时间,需要提前记录 } message PopPackageData{ int64 refreshTime = 1; repeated PopPackageDataOne popList = 2 [repeatedcount = 20]; } message PopPackageDataOne{ int32 popupId = 1; //弹出id repeated int32 payDiamondId = 2 [repeatedcount = 8]; //礼包id int32 popNUm = 3;//弹出次数 int64 endTime = 4;//剩余时间 } // CS_GAMEMSGID_PUSH_POP_PACKAGE = 5108; //推送 message PushPopPackage{ PopPackageDataOne popOne = 1; } // CS_GAMEMSGID_SYNC_POP_PACKAGE = 5109; //同步弹框礼包信息 message SyncPopPackage{ repeated PopPackageDataOne popList = 1 [repeatedcount = 20]; } message FistPaymentGift{ int32 itemId = 1; int64 ctime = 2; repeated int32 record = 3[repeatedcount = 4]; int32 reLoginNum = 4; int64 updateTime = 5; } // CS_GAMEMSGID_FIST_PAYMENT_AWARD_REQ = 5105; //首充奖励 message CSGatFistPaymentAwardReq{ int32 itemId = 1; } // CS_GAMEMSGID_FIST_PAYMENT_AWARD_RES = 5106; message CSGatFistPaymentAwardRes{ int32 ret = 1; } // CS_GAMEMSGID_FIST_PAYMENT_INFO_SYNC = 5107; //同步首充数据 message CSFistPaymentInfoSync{ repeated FistPaymentGift fistPaymentGift = 1 [repeatedcount = 8];//首充礼包数据 } //新活动信息 message DBActInfo { int32 actID = 1;//活动ID int32 state = 2;//活动的状态 int64 openTime = 3;//活动开启的时间 int64 endTime =4;//活动结束时间 int64 refreshTime = 5;//刷新时间 int64 freeTime = 6;//免费时间 } //活动拓展数据 message DbActExtraInfoData{ repeated BattlePassData battlePassData = 1 [repeatedcount = 32];//battle pass data repeated TreasureActData treasureActData = 2 [repeatedcount = 4]; //宝藏数据 repeated SignActData signActData = 3 [repeatedcount =2];//签到可能存在7日或者月 repeated HandBookData handBookData = 4 [repeatedcount =4];//手册活动数据 repeated QuestionnaireData questionData = 5 [repeatedcount =4];//问卷获得给你数据 } // CS_GAMEMSGID_GET_ACTIVITY_INFO_REQ = 5098; //获取活动信息 message CSGetActInfoReq{ } // CS_GAMEMSGID_GET_ACTIVITY_INFO_RES = 5100; //获取活动信息 message CSGetActInfoRes{ int32 ret=1; repeated DBActInfo activityInfo = 2 [repeatedcount=32];//活动相关信息 DbActExtraInfoData actExtraInfo = 3; //活动额外信息,和活动相关得数据都存放在这个结构 } //签到活动 message SignActData { int32 ActId = 1;//活动ID bool IsPay = 2;//是否激活付费档 repeated SignRecord records = 3 [repeatedcount = 32];//ID-状态 0:未签到 1:已签到未领取 2:已领取 int32 Num = 4; //补签次数 int32 StartDay = 5;//活动开始得时候是在开服第几天 } message SignRecord{ int32 day = 1; bool freeState = 2;//免费档是否领取 bool payState = 3;//付费当是否领取 } //CS_GAMEMSGID_SIGN_GET_AWARD_REQ = 5100; //领取签到活动奖励 message CSSignGetAwardReq{ int32 actId = 1; int32 day = 2; } // CS_GAMEMSGID_SIGN_GET_AWARD_RES = 5101; message CSSignGetAwardRes{ int32 ret=1; } // CS_GAMEMSGID_SIGN_RE_SING_REQ = 5102;//补签 message CSSignReSingReq{ int32 actId = 1; int32 day = 2; } // CS_GAMEMSGID_SIGN_RE_SING_RES = 5103; message CSSignReSingRes{ int32 ret=1; } // CS_GAMEMSGID_SIGN_INFO_SYNC = 5104; //同步签到数据 message CSSignInfoSync{ repeated SignActData signActData = 3 [repeatedcount =2]; } //系统解锁信息 message DBSysUnlockData { repeated DBSysUnlockDataOne sysUnlockDataOne = 1 [repeatedcount=128];//已解锁的系统息 } message DBSysUnlockDataOne { int32 sysID = 1;//系统ID int64 sysUnlockTime = 2;//系统解锁时间 } message BattlePassData { int32 actId = 1; //活动id repeated bool active = 2 [repeatedcount = 2];//是否激活付费 repeated int32 freeIndex = 3 [repeatedcount = 32]; //免费奖励领取索引 repeated int32 payIndex = 4 [repeatedcount = 32];//付费奖励领取索引 repeated int32 supPayIndex = 5 [repeatedcount = 32];//高级档付费奖励领取索引 int32 point = 6;//点数 int64 startTime = 7;//开始时间 int64 endTime = 8;//结束时间 bool sendReward = 9;//活动结束是否发送奖励 int32 reasonType = 10;// } //手册活动 message HandBookData{ int32 actId = 1; int32 stage = 2; //当前解锁阶段 repeated int32 record = 3 [repeatedcount = 8];;//阶段奖励领取记录,stage } // CS_GAMEMSGID_HANDBOOK_GET_AWARD_REQ = 5110; //领取手册奖励 message CSHandBookGetAwardReq{ int32 actId = 1; int32 stage = 2; } // CS_GAMEMSGID_HANDBOOK_GET_AWARD_RES = 5111; message CSHandBookGetAwardRes{ int32 ret = 1; } // CS_GAMEMSGID_HANDBOOK_INFO_SYNC = 5112; //同步签到数据 message HandBookInfoSync{ repeated HandBookData handBookData = 1 [repeatedcount = 4];//手册活动数据 } message LevelAward { int32 level = 1; int32 awardStatus = 2; // 0 不可领取 1 可领取 2 领取成功 } message ShopData { int32 level = 1; int32 shopCount = 2; // 购买次数 int32 shopStatus = 3; // 0. 不可购买 1. 可购买 2.已购买 } message RecruitData{ int32 poolId = 1; int32 recruitCount = 2;//抽卡次数 int64 lastFreeTime = 3;//免费抽卡了的时间 int64 nextFreeTime = 4;//下次免费 repeated int32 record = 5 [repeatedcount = 6];//某个品质抽卡计数[index =quality-1 value =recruitcount] int32 spCount = 10; //特殊抽卡次数 int32 totalCount = 11; //累计抽卡次数 repeated int32 choseReward = 12 [repeatedcount = 4];//已经领取的自选奖励 } // CS_GAMEMSGID_RECRUIT_REQ = 5120; //抽奖 message RecruitReq{ int32 poolId = 1; int32 recruitCount = 2; } // CS_GAMEMSGID_RECRUIT_RES = 5121; message RecruitRes{ int32 ret = 1; repeated CSItemChgInfo rewards = 5 [repeatedcount = 10]; //具体得到的内容 } // CS_GAMEMSGID_RECRUIT_INFO_SYNC = 5122; //抽奖数据 message RecruitInfoSync{ repeated RecruitData recruitData =1 [repeatedcount =4]; } // CS_GAMEMSGID_RECRUIT_CHOOSE_REWARD_REQ = 5123; //卡池自选奖励领取 message CSRecruitRewardReq{ int32 poolId = 1; int32 chooseId = 2; int32 chooseIndex = 3; } // CS_GAMEMSGID_RECRUIT_CHOOSE_REWARD_RES = 5124; message CSRecruitRewardRes{ int32 ret = 1; int32 poolId = 3; int32 chooseId = 4; int32 chooseIndex = 5; RecruitData data = 6; } message DBBagChangeRecord{ int32 type = 1; //1钱,2钻石 int64 changeValue = 2; //变化值 int64 newValue = 3; //最新值 int32 reason = 4;//原因 int64 changeTime = 5;//时间 } message DBRoleUnimportanceData{ int32 magicNum = 2; string clientData = 3 [stringlength=64]; uint64 clientBitFlag = 4; repeated DBBagChangeRecord DBBagChangeRecordList = 5 [repeatedcount=202];//金钱钻石变化 } enum MailOpType { MailOpType_None = 0; MailOpType_Insert = 1; MailOpType_Delete = 2; MailOpType_GetItem = 3; //领取 MailOpType_Read = 4; //读取 MailOpType_AllGetItem = 5; //一键领取 MailOpType_AllDelete = 6; //一键删除已读 MailOpType_GetItemDel = 7; //领取并删除邮件 MailOpType_MailVerChange = 8; //群发邮件版本号变更 MailOpType_Update = 9; //修改邮件内容 } enum MailType { MailType_None = 0; MailType_FriendGiftDaily = 1; //好友每日礼物 MailType_FacebookLoginFirst = 3; //第一次使用Facebook登录 MailType_SendToPlayer = 8; // 玩家发的邮件 MailType_InviteeSuccessReward = 9; //邀请的玩家达到要求,发奖一次 MailType_ActRank = 44;//活动榜 MailType_Compensation = 46;//补偿金邮件 } message DBMail{ int32 mailConfId = 13; //邮件配置表 int64 uid = 1; uint32 mailID = 2; int32 mailType = 3;//类型,预留,普通邮件为0 int64 senderUid = 4; //发送者的uid,sender为0表示系统邮件 string senderName = 5 [stringlength=32]; //发送者的名字 string senderIcon = 6 [stringlength=32]; int64 sendTime = 7; string title = 8 [stringlength=64]; string content = 9 [stringlength=1024]; int64 getItemTime = 10; //领取邮件附件的时间 string addReward = 11 [stringlength=32]; //如果配置了reward,需要转一下到addGoods repeated TypeIDValueString addGoods = 12 [repeatedcount=12]; //增加物品,TypeIDValue32 Type为物品ID Id为物品ID,value 为数量 int64 insertUniqueID = 14; //插入时候的消息里的唯一ID,免得重复了 int64 deleteTime = 15;//删除时间,为了逻辑正确,邮件采用标记删除,除非邮件很大或者过期了 int64 param1 = 16; //参数1,方便客户端构造邮件内容等使用 int64 param2 = 17; //参数2,方便客户端构造邮件内容等使用 string paramStr1 = 18 [stringlength=32]; //字符串参数1,方便客户端构造邮件内容等使用 int64 param3 = 19; int64 param4 = 20; int64 param5 = 21; uint32 status = 23; //邮件状态 1已读 repeated int32 realmlist = 24 [repeatedcount=6];//服务器列表 长度0 表示全服 int64 expirationTime = 25; //过期时间 string language = 26 [stringlength=64]; string uuid = 27 [stringlength=64]; //uuid int32 isSendAllUser = 28; // 1:跳过语言校验,发送给全服,0:保留语言校验 string apkVersion = 30 [stringlength=64]; // 是否为版本限制邮件 int64 playerCreateTimeLimit = 31; // 该时间前创建的玩家会收到是版本升级邮件 } message DBMailBlob{ uint32 lastSeq = 1; repeated DBMail mailList = 2 [repeatedcount=150]; int64 todayResetTime = 3;//用来做每日限制 int32 friendDailyChipMailCount = 4;//每日好友送钱 int32 inviteeSuccessMailCount = 5;//每日邀请成功送钱 int32 sysMailId = 6; int64 lastVer = 7; //最后集体邮件版本号 } //CS_MSGID_ACCOUNT_REQ message CSAccountAuthReq { AccountInfo account = 1; VersionInfo version = 2; string deviceId = 3 [stringlength=64]; // iphone5S string deviceInfo = 4 [stringlength=64]; // android4.2 string osInfo = 5 [stringlength=64]; // 2g 3g 4g wift string netInfo = 6 [stringlength=32]; // cn is 8 int32 timezone = 7; // comm,qq,360 string channel = 8 [stringlength=32]; uint32 serverID = 9; string ip = 10 [stringlength=16]; //服务器填,客户端不用管 // 英雄登录时, 用于获取accessToken的一次性code string authCode = 11 [stringlength=64]; string taDistinctID = 12 [stringlength=64]; //ta访客id int64 channelId = 13; // heroSDK获取的channelId string signature = 15 [stringlength=128]; //用户态签名 string rawData = 16 [stringlength=256]; //开放数据 } //1201 facebook服务器帐号验证出现问题,请稍后再试 //1202 同设备id在一段时间内登录的不同帐号数量太多,请等待一段时间 //1203 服务器拒绝登录 //CS_MSGID_ACCOUNT_RES message CSAccountAuthRes { int32 ret = 1; string token = 2 [stringlength=256]; AccountInfo account = 3; uint32 serverID = 4; string nick = 5 [stringlength=32]; int32 gender = 6; string icon = 7 [stringlength=32]; int32 timeZone = 8; //时区信息 int64 checkCode = 9; //校验码 int32 lastLoginRealm = 10; //最后登录的realm string clientVer = 11 [stringlength=32]; // 当前客户端版本号 int32 grade = 12; // 玩家评价信息 } //CS_MSGID_GAME_LIST_REQ message CSGameListReq { int32 startRealmId = 1; // 废弃 int32 accountType = 2; //客户端不用填这个 string accountID = 3 [stringlength=256];//客户端不用填这个 string clientVer = 4 [stringlength=32]; // 当前客户端版本号,客户端不用填 string ip = 5 [stringlength=16]; //服务器填,客户端不用管 string areaName = 6 [stringlength=16];//大区名称,东南亚大区 (缩写SEA) 欧洲大区 (缩写EUR) 美洲大区 (缩写America?) int32 lastLoginRealm = 7; //最后登录的realm int32 reqPage = 8; // 请求的realm分页, 首次请求填-1 int32 cltTimezone = 9; // 客户端所在时区, 计算推荐服使用 repeated int32 createRoleRealms = 11 [repeatedcount=128]; // 已创建角色的realmId uint32 fromGameSvr = 12; // 发送请求的gamesvr uint32 fromWorldSvr = 13; // 发送请求的worldsvr int64 fromAccountSession = 14; // 发送请求的account session int64 fromUid = 15; // 发送请求的uid int32 realmId = 16; // 发送请求的realmId string deviceId = 17 [stringlength=64]; } //CS_MSGID_GAME_LIST_RES message CSGameListRes { int32 leftCount = 1; //后面还有几个, 废弃 repeated CSRealmInfo realms = 2 [repeatedcount=128]; // realmsvr负责填充 repeated CSRoleBrief roleList = 3 [repeatedcount=128]; // accountsvr负责填充 string areaName = 4 [stringlength=16];//大区名称,东南亚大区 (缩写SEA) 欧洲大区 (缩写EUR) 美洲大区 (缩写America?) CSRealmInfo recommendRealm = 5; // 推荐服, 没有角色时才推荐 int32 realmPerPage = 6; // 每页显示几个realm int32 currPage = 7; // 当前是第几页 int32 totalPage = 8; // 一共多少页 int32 accountType = 9; string accountID = 10 [stringlength=256]; uint32 fromGameSvr = 11; // 发送请求的gamesvr uint32 fromWorldSvr = 12; // 发送请求的worldsvr int64 fromAccountSession = 13; // 发送请求的account session int64 fromUid = 14; // 发送请求的uid int32 realmId = 15; // 发送请求的realmId } // CS_GAMEMSGID_WRAP_GAME_LIST_REQ message CSWrapGameListReq { CSGameListReq gameListReq = 1; } // CS_GAMEMSGID_WRAP_GAME_LIST_RES message CSWrapGameListRes { CSGameListRes gameListRes = 1; } //CS_MSGID_GAMEAREA_SERVERIP_REQ = 101; message CSGameAreaServerIPReq { string areaName = 1 [stringlength=16];//大区名称,不填会返回所有大区 int32 accountType = 2; //客户端不用填这个 string accountID = 3 [stringlength=256];//客户端不用填这个 string clientVer = 4 [stringlength=32]; // 当前客户端版本号,客户端不用填 string ip = 5 [stringlength=16]; //服务器填,客户端不用管 string deviceId = 6 [stringlength=64]; } //CS_MSGID_GAMEAREA_SERVERIP_RES = 102; message CSGameAreaServerIPRes { repeated CSAreaServerIPInfo areaInfo = 1 [repeatedcount=16]; } // CS_MSGID_ACCOUNT_SVR_CHG_NOTIFY message CSAccountSvrChgNotify { } //CS_MSGID_VERSION_REQ message CSVersionCheckReq { VersionInfo version = 1; string apkVersion = 2 [stringlength=32]; //上报一下apk的版本 string deviceId = 3 [stringlength=64]; //设备id } message AABDownloadInfo { string downloadUrl = 1 [stringlength=256]; //更新包地址 int32 patchFileSize = 2; //更新包大小 string patchFileMd5 = 3 [stringlength=64]; //更新包md5 string downloadUrlBackup = 4 [stringlength=256]; //更新包地址(备用) } //CS_MSGID_VERSION_RES message CSVersionCheckRes { int32 ret = 1; string newVersion = 2 [stringlength=32]; //最新版本号 string downloadUrl = 3 [stringlength=128]; //更新包地址 string gateUrl = 4 [stringlength=64]; //gate_lobby服务器的连接地址(ip或者url:port) int64 chip = 5; //筹码 int64 diamond = 6; //钻石 int32 itemID = 7; //道具ID int32 itemCount = 8; //道具数量 string content = 9 [stringlength=16384]; //显示内容 int32 patchFileSize = 10; //更新包大小 string patchFileMd5 = 11 [stringlength=32];//更新包md5 int32 forReview = 12; //是否审核版本 int32 maintenanceMode = 13; //服务器是否在维护 string maintenanceNotice = 14 [stringlength=512]; //维护的话维护公告 int32 needUpdateApk = 15; // 找不到客户端版本到当前最新版本的更新包, 需要去商店更新apk int32 hotPatchFileSize = 16; // 当前版本的热更(静默更新)文件 string hotPatchFileMd5 = 17 [stringlength=32]; // 当前版本的热更(静默更新)文件md5 string hotPatchDownloadUrl = 18 [stringlength=128]; // 热更包地址 string apkMarketUrl = 19 [stringlength=128]; //apk更新地址 int32 hotPatchUpdateSelf = 20; //是否hotpatch更新自己 int32 maintenanceRemainTime = 21; // 剩余维护时间 AABDownloadInfo aabDownloadInfo = 22; string downloadUrlBackup = 23 [stringlength=128]; //更新包地址 (备用) string hotPatchDownloadBackupUrl = 24 [stringlength=128]; // 热更包地址 (备用) } //CS_MSGID_BIND_GUEST_FACEBOOK_REQ message CSBindGuestFacebookReq { AccountInfo account = 1; int64 uid = 2; string guestAccountID = 3 [stringlength=256]; } // 2001 校验失败 // 2002 Facebook帐号已经绑定了一个游戏帐号了,无法再次绑定 //CS_MSGID_BIND_GUEST_FACEBOOK_RES message CSBindGuestFacebookRes { int32 ret = 1; int32 accountType = 2; string facebookAccountID = 3 [stringlength=256]; string email = 4 [stringlength=32]; string nick = 5 [stringlength=32]; } //CS_MSGID_UNBIND_GUEST_FACEBOOK_REQ = 21; message CSUnBindGuestFacebookReq { AccountInfo account = 1; int64 uid = 2; string guestAccountID = 3 [stringlength=256]; } //CS_MSGID_UNBIND_GUEST_FACEBOOK_RES = 22; message CSUnBindGuestFacebookRes { int32 ret = 1; int32 accountType = 2; string facebookAccountID = 3 [stringlength=256]; string newNick = 4 [stringlength=32]; //新昵称 string newIcon = 5 [stringlength=32];//新头像 } enum GmBit { GmBit_None = 0; GmBit_Smash = 1; // 秒杀 GmBit_Invincible = 2; // 无敌 GmBit_Max = 3; } //CS_GAMEMSGID_GMCMD message CSGmCmd{ string cmdStr = 1 [stringlength = 1024]; } //CS_GAMEMSGID_LOGIN_REQ message CSLoginReq { AccountInfo account = 1; VersionInfo version = 2; int32 realmId = 3; string apkVersion = 4 [stringlength=32]; //上报一下apk的版本 int32 zipHotPatch = 5; //热补丁是否压缩 string deviceId = 6 [stringlength=64]; //设备id string hotPatchMd5 = 7 [stringlength=32]; //客户端当前版本热补丁文件的MD5 string deviceInfo = 8 [stringlength=64]; //htc t100 int64 checkCode = 9; //校验码 uint32 gateServerId = 10; // 11 12 是服务器填的,客户端不用填(其实不用这个也可以,gategame的sessionID前48位就是instid) string IPAddr = 11 [stringlength=32]; QQPayInfo qqpayinfo = 12;// qq平台登录的时候需要,支付用 int64 channelId = 13; // heroSDK获取的channelId int64 appChannelId = 14; // heroSDK获取的app_channelId int32 battleVersion = 15; // 战斗版本号 string taDistinctID = 16[stringlength=64]; // ta访客id string sdkLib = 17 [stringlength=32]; //sdk 类型 string sdkLibVersion = 18 [stringlength=64]; //sdk 版本 string networkType = 19 [stringlength=64]; //网络状态 string carrier = 20 [stringlength=64]; //网络运营商 string bundleId = 21 [stringlength=64]; //app包名或者进程名 string deviceType = 22 [stringlength=64]; //设备类型 string manufacturer = 23 [stringlength=64]; //生产商 string device_aid = 24 [stringlength=64]; string device_bid = 25 [stringlength=64]; string device_aid_init = 26 [stringlength=64]; string device_bid_init = 27 [stringlength=64]; string appChannelIdBdc = 28 [stringlength=64]; // bdc app_channelId string deviceIdBdc = 29 [stringlength=64]; //设备id string appChannelName = 30[stringlength=64]; // heroSDK获取的 string device_appid = 31 [stringlength=64]; } //CSErrCode_PlayerWaitLogin 登录人数限制,服务器满了 //CS_GAMEMSGID_LOGIN_RES message CSLoginRes { int32 ret = 1; int64 uid = 2; int64 serverTime = 3; //服务器时间 string curVersion = 4 [stringlength=32];//服务器版本,客户端根据这个可以判断是否需要重启进行版本匹配,进行更新 int32 abTestFlag = 5; // 开启某些abTest规则 int64 loginToken = 6; //登陆标记用于服务器检测 int32 timeZone = 7; //游戏服务器的时区 int32 useInterpT = 8; //使用解释模式 0: 默认ILRunTime 1:使用mono int32 isAudit = 9; // 是否在审核中 1为审核中,默认为0 int64 serverOpenTime = 10; // 服务器开服时间,unixtime } //CS_GAMEMSGID_QUERY_ROLE_REQ message CSQueryRoleReq { int64 uid = 1; //客户端用 int64 playerSessionID = 2; //服务器检测时添加 int32 ret = 3; //world检测后返回 } message HeroPropViewOne { repeated ID32Value64 propVal = 1 [repeatedcount = 512]; } // 面板显示属性 message HeroPropView { HeroPropViewOne knight = 1; // 骑士展示属性 } //CS_GAMEMSGID_QUERY_ROLE_RES message CSQueryRoleRes { int32 ret = 1; DBRoleBase roleBase = 2; DBRoleData roleData = 3; DBRoleUnimportanceData unimportanceData = 4; int64 gagChatEndTime = 5; //禁言结束时间 int64 freezeTime = 6; // 解封时间 FreezeReasonType freezeReason = 7; // 封禁原因 string freezeReasonStr = 8 [stringlength=128]; // 自定义封禁原因 HeroPropView propView = 9; // 面板显示属性 bool isNew = 10; //新注册 } enum FreezeReasonType { FreezeReasonType_None = 0; // FreezeReasonType_ViolationInGame = 1; //游戏内违规行为 FreezeReasonType_MailciousInfo = 2; //发布不良信息 FreezeReasonType_Plugins = 3; //违规使用脚本外挂 FreezeReasonType_Curse = 4; //诽谤辱骂他人 FreezeReasonType_Other = 5; //其他 } //CS_GAMEMSGID_KICK_OFF message CSKickOff { int32 ret = 1; int64 freezeTime = 6; // 解封时间 FreezeReasonType freezeReason = 7; // 封禁原因 } //CS_GAMEMSGID_PAY_REQ message CSPayReq { int64 uid = 1; int32 payType = 2; int32 itemID = 3; } //CS_GAMEMSGID_PAY_RES message CSPayRes { int32 ret = 1; int64 uid = 2; int32 payType = 3; int32 itemID = 4; string orderId = 5 [stringlength=128]; //订单号 } message CSPayItemInfo { uint32 diamond = 1; int64 chip = 2; int64 vipExp = 3; // vip经验 int64 heroExpPool = 4; // 英雄池经验 int32 vipCardType = 5; } message CSPaySelectItem { int32 grid = 1; // 格子 int32 groupSeq = 2; // 格子对应的物品组内部seq, 加快校验, 如果对应seq找不到就整个组 TypeIDValueString item = 3; } //google支付请求 //CS_GAMEMSGID_PAY_GOOGLE_REQ message CSPayGoogleReq { int64 uid = 1; int32 itemID = 2; int32 param1 = 3; // 参数1 int32 param2 = 4; // 参数2 int32 isTestPay = 5; // 测试支付 repeated CSPaySelectItem selectItems = 6 [repeatedcount=6]; // 自选商品 (旧舍弃 PayChannel payChannel = 8;//支付渠道,sdk、代币 int32 jsApiPay = 9; //1为用jsapi } //100601 已经不在有效期内 //100602 购买次数限制 //100603 缺少折扣券 //100604 vip等级限制 //CS_GAMEMSGID_PAY_GOOGLE_RES message CSPayGoogleRes { int32 ret = 1; int64 uid = 2; int32 itemID = 3; string orderId = 4 [stringlength=128]; //订单号 string paymentId = 5 [stringlength=32]; // 支付id, 客户端SDK传这个支付id repeated CSPaySelectItem selectItems = 6 [repeatedcount=6]; // 自选商品 string signData = 7 [stringlength=256];//支付js原串 string paySig = 8 [stringlength=128];//支付签名 string signature = 9 [stringlength=128];//用户态签名 int32 jsApiPay = 10; //1为用jsapi string jsApiData = 11 [stringlength=2048]; PayChannel payChannel = 12;//支付渠道,sdk、代币 } //google支付成功后的请求,purchaseData表示支付数据,google返回 //CS_GAMEMSGID_PAY_GOOGLE_SUCCESS_REQ message CSPayGoogleSuccessReq { int64 uid = 1; string purchaseData = 3 [stringlength=16384]; string signature = 4 [stringlength=512]; string orderId = 5 [stringlength=128]; //订单号,ios使用 string orderId3rd = 6 [stringlength=128]; } // //CS_GAMEMSGID_PAY_GOOGLE_SUCCESS_RES message CSPayGoogleSuccessRes { int32 ret = 1; int64 uid = 2; int32 itemID = 3; string orderId = 4 [stringlength=128]; //订单号 uint32 money = 6; //充值的钱,客户端可根据这个上报第三方平台 uint32 diamond = 7; int64 chip = 8; int32 vipCardType = 10; int64 vipExp = 11; // vip经验 repeated TypeIDValueString items = 15 [repeatedcount=10]; // 通用的商品新结构 string purchaseToken = 16 [stringlength=128]; // 目前华为支付使用 uint32 payDiamond = 17; } // 领取商城里的免费物品 //CS_GAMEMSGID_PAY_GET_FREE_ITEM_REQ message CSPayGetFreeItemReq { int32 itemID = 1; repeated CSPaySelectItem selectItems = 2 [repeatedcount=6]; // 自选商品 } //CS_GAMEMSGID_PAY_GET_FREE_ITEM_RES message CSPayGetFreeItemRes { int32 itemID = 1; int32 ret = 2; // 领取结果 uint32 diamond = 3; int64 chip = 4; int32 vipCardType = 6; int64 vipExp = 7; // vip经验 repeated TypeIDValueString items = 11 [repeatedcount=10]; // 通用的商品新结构 uint32 payDiamond = 12; // } // 商城新物品上架通知 //CS_GAMEMSGID_PAY_NEW_ITEM_NOTIFY message CSPayNewItemNotify { int32 itemID = 1; int32 startTime = 2; int32 endTime = 3; int32 adapType = 4; // adap弹出礼包类型 int32 adapId = 5; // adapId int32 grade = 6; // 档次 int32 triggerParam = 7; // 触发参数, 目前只用于adap弹出礼包 int32 triggerEvent = 8; // 触发事件 } message PayItemStockInfo { int32 itemID = 1; int32 count = 2; } // 库存信息 //CS_GAMEMSGID_PAY_ITEM_STOCK_INFO_REQ message CSPayItemStockInfoReq { repeated int32 itemId = 1 [repeatedcount=32]; } //CS_GAMEMSGID_PAY_ITEM_STOCK_INFO_RES message CSPayItemStockInfoRes { repeated PayItemStockInfo itemInfo = 1 [repeatedcount=32]; } // 客户端触发物品上架请求 //CS_GAMEMSGID_CLIENT_TRIGGER_ITEM_ARRIVE_REQ message CSClientTriggerItemArriveReq { int32 adapType = 1; } //CS_GAMEMSGID_PAY_DIAMOND_HOLDER_QUERY_REQ = 1009; //查询托管钻石数量开始 message CSPayDiamondHolderQueryReq{ } //CS_GAMEMSGID_PAY_DIAMOND_HOLDER_QUERY_RES = 1010; message CSPayDiamondHolderQueryRes{ int32 newDiamond = 1; } //CS_GAMEMSGID_QUERY_FRIEND_LIST_REQ = 1021; // 完整的好友列表信息 message CSQueryFriendListReq { } //CS_GAMEMSGID_QUERY_FRIEND_LIST_RES = 1022; message CSQueryFriendListRes { //包含自己的排行版信息 DBFriendSelf self = 1;//自己的 DBFriendList list = 2;//好友列表 } //CS_GAMEMSGID_FRIEND_SELF_CHG_NOTIFY = 1025;//通知我的好友数据(自己部分)变化,全量 message CSFriendSelfChgNotify { DBFriendSelf self = 1;//自己的 } //CS_GAMEMSGID_FRIEND_LIST_CHG_NOTIFY = 1026;//通知我的好友数据(列表部分)变化,增量 message CSFriendListChgNotify { int32 isDelete = 1; DBFriendOne friend = 2; // isDelete = 1时, DBFriendOne里只会填uid, 其他信息不填 } //CS_GAMEMSGID_GIVE_FRIEND_ENERGY_DAILY_REQ message CSGiveFriendEnergyDailyReq { int64 friendUid = 1; } //CS_GAMEMSGID_GIVE_FRIEND_ENERGY_DAILY_RES message CSGiveFriendEnergyDailyRes { int32 ret = 1; int64 friendUid = 2; int64 giveTime = 3; } message CSFriendGiftData{ int64 uid = 1; // 0 没有 1 收到礼物 int32 lastSendGiftTime = 2; // 上一次送该好友礼物的时间 int32 recvGiftNum = 3; int32 lastGetGiftTime = 4; // 领取好友礼物的时间 } //CS_GAMEMSGID_FRIEND_GIFT_OP_REQ = 1323; //好友礼物操作 message CSFriendGiftOpReq { int32 opType = 1; // 1赠送 2领取 int64 friendUid = 2; } //CS_GAMEMSGID_FRIEND_GIFT_OP_RES = 1324; //好友礼物操作 message CSFriendGiftOpRes { int32 ret = 1; int32 opType = 2; // 1赠送 2领取 // 好友的数据, 对方不是好友时不会填 CSFriendGiftData giftData = 3; // 自己的数据 int32 todaySelfSendGift = 4; // 今天已经发送的礼物数量 int32 todaySelfRecvGift = 5; // 今天已经收到的礼物数量 int32 lastResetGiftDataTime = 6; // 重置今天礼物数据的时间 } //CS_GAMEMSGID_FRIEND_GIFT_AUTO_OP_REQ = 1325; //好友礼物自动赠送领取 message CSFriendGiftAutoOpReq { } //CS_GAMEMSGID_FRIEND_GIFT_AUTO_OP_RES = 1326; //好友礼物自动赠送领取 message CSFriendGiftAutoOpRes { repeated int64 sendList = 1 [repeatedcount=32]; // 赠送成功的好友 int32 lastSendGiftTime = 2; repeated int64 recvList = 3 [repeatedcount=32]; // 领取成功的好友 // 自己的数据 int32 todaySelfSendGift = 4; // 今天已经发送的礼物数量 int32 todaySelfRecvGift = 5; // 今天已经收到的礼物数量 int32 lastResetGiftDataTime = 6; // 重置今天礼物数据的时间 } //CS_GAMEMSGID_FRIEND_SEND_GIFT_NOTIFY = 1327; // 好友赠送自己礼物的通知 message CSFriendSendGiftNotify { int64 sendUid = 1; // 收到好友赠送的礼物 int64 sendTime = 2; } //CS_GAMEMSGID_GET_FRIEND_GIFT_DATA_REQ = 1328; // 拉取好友礼物的完整数据 message CSGetFriendGiftDataReq { } //CS_GAMEMSGID_GET_FRIEND_GIFT_DATA_RES = 1329; // 拉取好友礼物的完整数据 message CSGetFriendGiftDataRes { // 自己的数据 int32 todaySelfSendGift = 1; // 今天已经发送的礼物数量 int32 todaySelfRecvGift = 2; // 今天已经收到的礼物数量 int32 lastResetGiftDataTime = 3; // 重置今天礼物数据的时间 // 好友的数据 repeated CSFriendGiftData giftData = 4 [repeatedcount=32]; } //CS_GAMEMSGID_GIVE_FRIEND_ENERGY_DAILY_TIME_RESET_NOTIFY message CSGiveFriendEnergyDailyTimeResetNotify{ } //CS_GAMEMSGID_FRIEND_OP_REQ = 1301; //好友操作请求(邀请,同意,拒绝,删除等) message CSFriendOpReq{ int32 opType = 1; int64 targetUid = 2; int32 opSeq = 3; //唯一序列号,同意,拒绝,删除的时候需要 } //CS_GAMEMSGID_FRIEND_OP_RES = 1302; //好友操作回应 message CSFriendOpRes{ int32 opType = 1; int64 targetUid = 2; int32 opSeq = 3; //唯一序列号,同意,拒绝,删除的时候需要 int32 ret = 4; } //CS_GAMEMSGID_FRIEND_OP_LIST_CHG_NOTIFY message CSFriendOpListChgNotify{ int32 isDelete = 1; DBFriendOneOp chgOp = 2; // isDelete = 1时, DBFriendOne里只会填uid, 其他信息不填 } //CS_GAMEMSGID_QUERY_FRIEND_OP_REQ = 1305;//查询好友op信息,全量 message CSQueryFriendOpReq{ } //CS_GAMEMSGID_QUERY_FRIEND_OP_RES = 1306;//查询好友op信息,全量 message CSQueryFriendOpRes{ int32 ret = 1; DBFriendOpData opData = 2; } //CS_GAMEMSGID_FRIEND_STRANGER_LIST_CHG_NOTIFY = 1313; //陌生人列表更新 message CSFriendStrangerListChgNotify{ DBFriendStrangerOne stranger = 1; } //CS_GAMEMSGID_FRIEND_STRANGER_LIST_DELETE_NOTIFY = 1314; //陌生人列表删除 message CSFriendStrangerListDeleteNotify{ int64 strangerUid = 1; } //CS_GAMEMSGID_FRIEND_QUERY_INFO_BY_UID_REQ = 1315; //根据uid查询信息 message CSFriendQueryInfoByUidReq{ int64 targetUid = 1; } //CS_GAMEMSGID_FRIEND_QUERY_INFO_BY_UID_RES = 1316; //根据uid查询信息 message CSFriendQueryInfoByUidRes{ int64 targetUid = 1; int32 ret = 2; DBFriendOne info = 3; repeated DBFriendHeroOne mainlineHeros = 4 [repeatedcount=8]; // 主线阵容 } //CS_GAMEMSGID_FRIEND_GET_RECOMMENDER_REQ = 1317; //推荐好友 message CSFriendGetRecommenderReq{ } //CS_GAMEMSGID_FRIEND_GET_RECOMMENDER_RES = 1318; //推荐好友 message CSFriendGetRecommenderRes{ repeated DBFriendOne list = 1 [repeatedcount=32]; //推荐列表 } //CS_GAMEMSGID_FRIEND_QUERY_STRANGER_REQ = 1319; //客户端拉取好友新的聊天记录 message CSFriendQueryStrangerReq{ } //CS_GAMEMSGID_FRIEND_QUERY_STRANGER_RES = 1320; //客户端拉取好友聊天记录 message CSFriendQueryStrangerRes{ repeated DBFriendStrangerOne list = 1 [repeatedcount=32];//全量 } //CS_GAMEMSGID_FRIEND_SET_SETTING_REQ = 1321; //设置 message CSFriendSetSettingReq{ int32 autoAccept = 1; //是否自动同意添加好友 int32 refuseAll = 2; //拒绝所有人,不能让其他人添加我为好友 } //CS_GAMEMSGID_FRIEND_SET_SETTING_RES = 1322; //设置 message CSFriendSetSettingRes{ int32 ret = 1; int32 autoAccept = 2; //自动同意他人邀请我为他的好友 int32 refuseAll = 3; //拒绝所有人,不让其他人邀请我 } //CS_GAMEMSGID_FRIEND_QUERY_BLACKLIST_REQ = 1330; // 好友 查询黑名单 message CSFriendQueryBlacklistReq{ } //CS_GAMEMSGID_FRIEND_QUERY_BLACKLIST_RES = 1331; // 好友 查询黑名单 message CSFriendQueryBlacklistRes{ int32 ret = 1; repeated DBFriendOne blackList = 2 [repeatedcount=128]; } //CS_GAMEMSGID_QUERY_MAIL_REQ message CSQueryMailReq { } //CS_GAMEMSGID_QUERY_MAIL_RES message CSQueryMailRes { repeated DBMail mailList = 1 [repeatedcount=150]; } //CS_GAMEMSGID_MAIL_OP_REQ message CSMailOpReq { int32 opType = 1; uint32 mailID = 2; } //104401 邮件不存在 //104402 已经领取了 //104403 正在领取,请等待 //CS_GAMEMSGID_MAIL_OP_RES message CSMailOpRes { int32 ret = 1; int32 opType = 2; DBMail mail = 3; repeated int64 listMId = 4 [repeatedcount = 256]; } //CS_GAMEMSGID_MAIL_CHG_NOTIFY = 1981; //邮件变化通知,现在只有delete message CSMailChgNotify { repeated int64 delMailId = 1 [repeatedcount = 256]; } //CS_GAMEMSGID_RENAME_REQ message CSRenameReq { string newName =1 [stringlength=32]; } //CS_GAMEMSGID_RENAME_RES message CSRenameRes { int32 ret = 1; string newName =2 [stringlength=32]; int32 renameTimes = 3; } //CS_GAMEMSGID_CHANGE_ICON_REQ message CSChangeIconReq{ string newIcon = 1 [stringlength=32]; } //CS_GAMEMSGID_CHANGE_ICON_RES message CSChangeIconRes{ int32 ret = 1; string newIcon = 2 [stringlength=32]; } // CS_GAMEMSGID_ICON_DATA_NOTIFY message CSIconDataNotify{ DBIconData data = 1; } //CS_GAMEMSGID_SYSPAYCHANEL_REQ = 1073; //付费通道 message CSSysPayChanelReq { int32 seq = 1; } //CS_GAMEMSGID_SYSPAYCHANEL_RES = 1074; //付费通道 message CSSysPayChanelRes { int32 seq = 1; int32 closePayChanel= 2; } //CS_GAMEMSGID_SHARE_FACEBOOK_SUCCESS_REQ message CSShareFacebookSuccessReq { int32 dailyRewardID = 1; } //CS_GAMEMSGID_SHARE_FACEBOOK_SUCCESS_RES message CSShareFacebookSuccessRes { int32 ret = 1; int32 dailyRewardID = 2; int32 dailyRewardCount = 3; int32 rewardChip = 4; } //CS_GAMEMSGID_SHARE_FACEBOOK_CHG message CSShareFacebookChg { repeated DBIDValue Daily = 1 [repeatedcount=32]; //每日变化通知 } //CS_GAMEMSGID_INVITE_FACEBOOK_SUCCESS_REQ message CSInviteFacebookSuccessReq { int32 inviteCount = 1; } //CS_GAMEMSGID_STATISTICS_CHG message CSStatisticsChg { int32 isNewDay = 1;//是否是新的一天 repeated DBIDValue Daily = 2 [repeatedcount=32]; //每日变化通知 repeated DBIDValue Total = 3 [repeatedcount=32]; //总共变化通知 } message DBRoleOneRankInfo { int64 lastRankTime = 1;//上次排行版的有效时间,秒 int32 rankType = 2; //排行版类型 int64 rankScore = 3; //排行版数据 int32 position = 4; //上次结算第几名,本周的第几名客户端自己排 int32 getReward = 5;//上次奖励是否已经领取 int64 positionScore = 6; //结算时候的数据,处理同步问题使用 int32 positionFriendCount = 7;//结算时候的好友数量 repeated uint32 positionListLastWeek = 8 [repeatedcount=128]; //上周排行榜我的好友的名次,如果不在这个列表里的好友排后面 } //客户端发给服务器->服务器回应->客户端回应 //CS_MSGID_PING //CS_GAMEMSGID_PING message CSPing { int64 clientTime = 1; int64 serverTime = 2; int32 seq = 3; } //CS_GAMEMSGID_CHATPING message CSChatPing { int64 clientTime = 1; int64 serverTime = 2; int32 seq = 3; } //CS_GAMEMSGID_BATTLEPING message CSBattlePing { int64 clientTime = 1; int64 serverTime = 2; int32 seq = 3; } enum RoleRankType { WEEK_WIN_ROUND_COUNT = 0;//按周刷新的玩牌赢的次数 WEEK_WIN_CHIP = 1;//周赢钱 } enum PayChannel{ TRD_SDK=0; //sdk支付 GAME_TOKEN=1; //代币支付 } //聊天类型(现在就只弄好友和世界,之后估计有帮会 队伍之类的) enum ChatChannelType { ChatChannelType_None = 0; ChatChannelType_Friend = 1; ChatChannelType_World = 2; ChatChannelType_BigRealm = 5; //大区 } message DBRuinProtectData { int32 protectCount = 1; } enum ChatType{ ChatType_None = 0; ChatType_Emoticon = 2; //普通表情 ChatType_PrivilegeEmoticon = 3; //特权表情 ChatType_MagicEmotion = 4; //魔法表情 ChatType_FriendSendChip = 5; //好友送钱给你 ChatType_FriendRoomInvite = 6; //好友房邀请 } //CS_GAMEMSGID_CHATLOGIN_REQ = 1017; // 聊天登录请求 message CSChatLoginReq { int64 playerUid = 1; DBRoleBase roleBase = 2; //用于chat从game获取玩家信息(前端不用填) string lang = 3 [stringlength=32]; //前端不用填 DBSysData sysData = 4; //前端不用,(黑名单数据) bool needSycClient = 5; //是否需要同步客户端 CSErrCode ret = 6; //前端不用填 int32 realmId = 7; int64 loginToken = 8; //登陆标签(客户端填1002返回的LoginToken); int64 enableMsgTime = 9; // 禁言时间 DBExtData extData = 10; //额外数据,前端不用填 } //CS_GAMEMSGID_CHATLOGIN_RES = 1018; // 聊天登录回应 message CSChatLoginRes { int64 uid = 1; CSErrCode ret = 2; } //CS_GAMEMSGID_CHAT_REQ message CSChatReq { int64 uid = 1; int32 type = 2; string message = 3 [stringlength=256]; int64 targetUid = 4; ChatChannelType chatChannelType = 5; int32 vipCardId = 6;//服务器填 string lang = 7 [stringlength=32]; int64 checkToken = 8; //客户端填1002返回的LoginToken; int64 localChatSeq = 9; //本地当前保存成功的seq int64 channelParam = 10; // 频道参数 比如公会id,地区id } //聊天框消息类型 enum ChatMessageType{ CommonChat = 0; //普通聊天消息 SystemNotify = 1; //系统通知 } //CS_GAMEMSGID_CHAT_RES message CSChatRes { int64 uid = 1; //发送者uid string nick = 2 [stringlength=32]; //昵称 string icon = 3 [stringlength=32]; //头像 int32 gender = 4; //性别 string message = 5 [stringlength=256]; //消息内容 int64 targetUid = 6; //目标uid int32 ret = 7; //结果 ChatChannelType chatChannelType = 8; //频道 int64 sendTime = 9; //发送时间 int64 chatSeq = 10; // 当前消息的seq int64 clientQuerySeq = 11; // 客户端请求的seq, 客户端不用管, 服务器通信时使用 int64 channelParam = 12; // 频道参数 比如公会id,地区id int32 iconFrameId = 13; int32 realmId = 14; //发送者所在区服 int64 enableMsgTime = 15; // 禁言时间 ChatMessageType messageType = 16; //消息类型 int32 level = 17; //等级 string realmName = 18 [stringlength=32];//发送者所在区服名 } //CS_GAMEMSGID_CHANNEL_CACHE_DATA_REQ message CSChannelCacheDataReq{ int64 seq = 1; //seq=0请求当前所有离线, seq>0, 请求seq之后的消息 ChatChannelType chatChannelType = 2; //频道 int64 channelParam = 3; // 频道参数 比如公会id,地区id } //CS_GAMEMSGID_CHANNEL_CACHE_DATA_RES message CSChannelCacheDataRes{ ChatChannelType chatChannelType = 1; //频道 int64 channelParam = 2; // 频道参数 比如公会id,地区id repeated CSChatRes chatCache = 3 [repeatedcount=128]; } //CS_GAMEMSGID_QUERY_CHAT_DATA_REQ message CSQueryChatDataReq{ int64 seq = 1; // seq=0请求当前所有离线, seq>0, 请求seq之后的消息, 同时代表seq之前的消息已经保存在本地 } //CS_GAMEMSGID_QUERY_CHAT_DATA_RES message CSQueryChatDataRes{ int64 uid = 1; repeated CSChatRes chatList = 2 [repeatedcount=64]; //离线聊天信息 } //CS_GAMEMSGID_RECV_PRIVATE_CHAT_NOTIFY message CSRecvPrivateChatNotify{ } // CS_GAMEMSGID_SYSNOTICE_LAMP message CSSysNoticeLamp { int32 seq = 1; //序列号,一直增长 int64 startTime = 2; //开始时间 int64 endTime = 3; //结束时间 int32 showInterval = 4; //时间间隔 int32 showCount = 5; //显示次数 string content = 6 [stringlength=1024]; //内容 int32 id = 7; //唯一id int32 envType = 8; // 场景类型 0.全服 1.赛马和牌桌 } //CS_GAMEMSGID_SYSNOTICE message CSSysNotice { int32 seq = 1; //序列号,一直增长,不一定连续 int64 startTime = 2; //开始时间 int64 endTime = 3; //结束时间 string title = 4 [stringlength=256]; //标题 string content = 6 [stringlength=4096]; //内容 string icon = 7 [stringlength=256]; //图标 string pic = 8 [stringlength=256];//图片 int32 jump = 9 ;// 跳转类型 1 抽卡 2 商城 3 活动 // int32 popup = 10;//是否弹窗,暂时无用,后期考虑删除 int32 id = 11; //唯一id string link = 12 [stringlength=256];//跳转链接 int32 dungeonid = 13; //达到特定关卡触发 0为无限制 int32 sort = 14; //排序依据 bool showtimetext = 15; // 是否显示时间文本 bool IsShow = 16; // 是否显示 bool IsAllSvr = 17; // 是否全服显示 bool aotupop = 18; // 自动弹出 int32 giftbagcustoms = 19; // 领取礼包后通关关卡数 int32 jumpParam = 20 ;// 跳转参数 jump=3 对应活动id int32 type = 21 ; // 公告类型 拍脸图:0:默认, 1:模板1 repeated string textParams = 22 [stringlength=128,repeatedcount=8]; // 可配置文本列表 int32 pageType = 23 ; // 内容所属页签 } //CS_GAMEMSGID_SYSNOTICE message CSSysLoginNotice { int32 id = 1; //序列号,一直增长,不一定连续 string title = 2 [stringlength=256];//标题 string content = 3[stringlength=4096]; //内容 int32 sort = 4; //排序 int64 startTime = 5; //开始时间 string pic = 6 [stringlength=256];//图片 bool aotupop = 7; // 自动弹出 } // CS_MSGID_QUERY_LOGINSYSNOTICE_REQ = 19; // 登录界面的公告数据 请求 message CSSysLoginNoticeReq { int32 seq = 1; //最新序列号,一直增长 string deviceId = 2 [stringlength=64]; //设备id string language = 3 [stringlength=64]; // 客户端语言 } // CS_MSGID_QUERY_LOGINSYSNOTICE_RES = 20; // 登录界面的公告数据 回应 message CSSysLoginNoticeRes { repeated CSSysLoginNotice NoticeList = 1 [repeatedcount=18]; //公告列表 } //CS_GAMEMSGID_QUERY_SYSNOTICE_REQ = 1064; //公告 message CSQuerySysNoticeReq { int32 seq = 1; //最新序列号,一直增长 string lang = 2 [stringlength=16]; //语言 } //CS_GAMEMSGID_QUERY_SYSNOTICE_RES = 1065; //客户端拉取公告 message CSQuerySysNoticeRes { int32 ret = 1; int32 lastSeq = 2; // 最新序列号 repeated CSSysNotice popupList = 3 [repeatedcount=32]; //进入游戏弹出 repeated CSSysNotice clickList = 4 [repeatedcount=32]; //点击公告弹出 } //公告类型 enum NoticeType{ //进入游戏弹出 Popup=0; //点击公告弹出 Click=1; } //CS_GAMEMSGID_QUERY_UPSYSNOTICE = 1199; //ChatServer推送单条公告 message CSQuerySysUpNoticeRes { NoticeType noticetype = 1; CSSysNotice uppotice = 2 ; } // CS_GAMEMSGID_CHANGE_ICON_FRAME_REQ = 1069; //换头像框 message CSChangeIconFrameReq{ int32 newIconFrameId = 1; } // CS_GAMEMSGID_CHANGE_ICON_FRAME_RES = 1070; //换头像框 message CSChangeIconFrameRes{ CSErrCode ret = 1; int32 newIconFrameId = 2; } //CS_GAMEMSGID_COMMON_DYNAMIC_REQ message CSCommonDynamicReq{ string cmd = 1 [stringlength=32]; //消息id repeated string params = 2 [stringlength=64,repeatedcount=16]; //参数 } //CS_GAMEMSGID_COMMON_DYNAMIC_RES message CSCommonDynamicRes{ int32 ret = 1; string cmd = 2 [stringlength=32]; repeated string params = 3 [stringlength=64,repeatedcount=16]; //参数 } message DBRankPlayerInfo{ int64 uid = 1; int32 rank = 2; //名次 (排序依据,相同分数重排时不改变老的顺序) string nick = 3 [stringlength=32]; string icon = 4 [stringlength=32]; int32 gender = 5; int32 level = 6; int64 score = 7; int64 time = 8; int32 iconFrameId = 9; int32 param = 10; int32 skin = 11; int32 weapon1 = 12; int64 power = 13; int32 wingskinId = 14; //穿戴的皮肤id int32 wingrefitId = 15; //穿戴的皮肤所对应的等级id int32 wingwearId = 17; } message DBActRankTopPlayerInfo{ int64 uid = 1; int32 rank = 2; //名次 (排序依据,相同分数根据时间排序顺序) string nick = 3 [stringlength=32]; string icon = 4 [stringlength=32]; int32 gender = 5; int32 level = 6; int64 score = 7; int64 time = 8; int32 title = 10; repeated DBEquipment wearEquip = 13 [repeatedcount = 12]; // 装备 pdl repeated IDValue32 showEquip = 14 [repeatedcount = 6]; // 装备幻化 pdl } //活动条件触发榜 enum ActRankType{ ActRankType_None = 0; ActRankType_MainlandLevel = 1; //闯关等级 ActRankType_Size = 2; // } //第一名的信息 message RankTopPlayerInfo{ int64 uid = 1; int32 rankId = 2; //排行榜id string nick = 3 [stringlength=32]; string icon = 4 [stringlength=32]; int32 gender = 5; int32 level = 6; int64 score = 7; int64 time = 8; int32 canGetAward = 9; // 0 不可领取 1 可领取 2 领取成功 int32 iconFrameId = 10; } //上榜依据 enum RankReasonType { RankReasonType_None = 0; RankReasonType_MainChapter = 1; //主线章节 RankReasonType_ArenaStarRank = 15; //星球竞技场段位 } //CS_GAMEMSGID_QUERY_RANK_LIST_REQ message CSQueryRankListReq{ int32 rankId = 1; //排行榜id int32 startPos = 2; //从第几名开始 从第一名开始请求 res的selfRank才是有效的 int32 endPos = 3; //第几名结束 int32 realmId = 4; //客户端不填 int32 bigRealmId = 5; //客户端不填 } //CS_GAMEMSGID_QUERY_RANK_LIST_RES message CSQueryRankListRes{ int32 ret = 1; int32 rankId = 2; //排行榜id int32 selfRank = 3; //自己的排名 int64 selfScore = 4; //自己的分数 int32 playerCount = 5; //玩家数量 repeated DBRankPlayerInfo rankList = 6 [repeatedcount=100]; int32 hideRankTime = 7; // 当>0时, 超过该时间后隐藏排行榜 int32 nextUpdateRankTime = 8; // 下一次更新排名的时间 int32 lastRank = 9; //上一届排名 bool getLastReward = 10;//是否领取了上一届奖励 int32 selfParam= 11; //自己的 } //CS_GAMEMSGID_QUERY_RANK_SELF_REQ message CSQueryRankSelfReq{ int32 rankId = 1; //排行榜id int32 realmId = 2; //客户端不填 int32 bigRealmId = 3; //客户端不填 } //CS_GAMEMSGID_QUERY_RANK_SELF_RES message CSQueryRankSelfRes{ int32 ret = 1; int32 rankId = 2; //排行榜id DBRankPlayerInfo selfInfo = 3; } //CS_GAMEMSGID_QUERY_RANK_DETAIL_REQ message CSQueryRankDetailReq{ int32 rankId = 1; //排行榜id int64 uid = 2; } //CS_GAMEMSGID_QUERY_RANK_DETAIL_RES message CSQueryRankDetailRes{ int32 ret = 1; int32 rankId = 2; //排行榜id int64 uid = 3; DBRankPlayerInfo detailInfo = 4; } //CS_GAMEMSGID_QUERY_RANK_TOP_REQ message CSQueryRankTopReq{ int32 mainType = 1; //1:实时榜 2:记录榜 int32 subType = 2; //1.人族积分记录 2.妖族积分记录 3.神族积分记录 4.主线通关记录 5.深渊通关记录 int32 realmId = 3; int32 bigRealmId = 4; } //CS_GAMEMSGID_QUERY_RANK_TOP_RES message CSQueryRankTopRes{ int32 ret = 1; int32 mainType = 2; int32 subType = 3; repeated RankTopPlayerInfo topInfo = 4[repeatedcount=100]; } //CS_GAMEMSGID_NOTICE_RANK_CHANGE = 1139 message CSNoticeRankChange{ int32 realmId = 1; //客户端无需处理 int32 rankId = 2; } //CS_GAMEMSGID_UPDATE_SELF_RANKSCORE = 1140 message CSUpdateSelfScore{ int32 rankId = 1; int64 selfScore = 2; } //CS_GAMEMSGID_UPDATE_WXRANK = 1144 message CSUpdateWXRank{ int64 uid = 1; int32 rankId = 2; int64 score = 3; int32 usedTime = 4; int64 time = 5; } //CS_GAMEMSGID_CLI_REPORT_BILL_REQ message CSCliReportBillReq{ string reportStr = 1 [stringlength=512]; string reportType = 2 [stringlength=32]; } //CS_GAMEMSGID_USE_ITEM_REQ message CSUseItemReq{ int32 itemID = 1 ; int32 useCount = 2; //使用数量 int32 chooseItemIndex = 3; //选择一ID } //CS_GAMEMSGID_USE_ITEM_RES message CSUseItemRes{ CSErrCode ret = 1; int32 itemID = 2 ; int32 useCount = 3; //使用数量 int32 chooseItemIndex = 4; //选择一ID repeated TypeIDValueString getItems = 5 [repeatedcount = 128]; //物品使用掉落的物品,例如开宝箱 } //CS_GAMEMSGID_SET_ITEM_NEWGET_REQ message CSSetItemNewgetReq{ int32 itemID = 1 ; } //CS_GAMEMSGID_SET_ITEM_NEWGET_RES message CSSetItemNewgetRes{ CSErrCode ret = 1; int32 itemID = 2 ; } //CS_GAMEMSGID_ADID_REPORT_REQ message CSAdidReportReq{ string adid = 1 [stringlength=64]; //adid idfa } //CS_GAMEMSGID_FIREBASE_ID_REPORT_REQ message CSFirebaseIdReportReq{ string id = 1 [stringlength=64]; } //CS_GAMEMSGID_FIREBASE_SUBSCRIBE_TOPIC message CSFirebaseSubscribeTopic{ string subTopic = 1 [stringlength=32]; //订阅 string unsubTopic = 2 [stringlength=32];//取消订阅 } //CS_GAMEMSGID_SAVE_CLIENT_DATA_REQ message CSSaveClientDataReq{ string clientData = 1 [stringlength=64]; } //CS_GAMEMSGID_SAVE_CLIENT_DATA_RES message CSSaveClientDataRes{ string clientData = 1 [stringlength=64]; } //CS_GAMEMSGID_QUERY_OTHER_DETAIL_REQ message CSQueryOtherDetailReq{ int64 targetUid = 1; } //116001 对方设置隐私,无法获取 //CS_GAMEMSGID_QUERY_OTHER_DETAIL_RES message CSQueryOtherDetailRes{ int64 targetUid = 1; int32 ret = 2; int32 hideInfo = 3; //是否隐藏了信息 string nick = 4 [stringlength=32]; string icon = 5 [stringlength=32]; int64 chip = 6; int64 diamond = 7; int32 level = 8; int32 vipLevel = 9; // vip等级 int32 totalRound = 10; // 总局数 int32 totalWin = 11; // 总赢局 int32 exp = 13; //经验 int32 gender = 14; string PersonalizedSignature = 15 [stringlength=32]; int32 iconFrameId = 16; } //CS_GAMEMSGID_TIP_OFF_PLAYER_REQ message CSTipOffPlayerReq{ int64 targetUid = 1; string reason = 2 [stringlength=32]; } //CS_GAMEMSGID_GAG_CHAT_NOTIFY message CSGagChatNotify{ int64 gagEndTime = 1; //禁言到期时间 int32 enableType = 2; // 禁言原因 string enableStr = 3 [stringlength = 256]; // 其他禁言原因 string opSource = 4 [stringlength=128]; // 自定义操作来源 } //CS_GAMEMSGID_HIDE_MY_INFO_REQ message CSHideMyInfoReq{ int32 hide = 1; } //CS_GAMEMSGID_HIDE_MY_INFO_RES message CSHideMyInfoRes{ int32 hide = 1; } //CS_GAMEMSGID_PAY_PLAYER_PAYINFO_CHG_NOTIFY message CSPayPlayerPayinfoChgNotify{ DBRolePayData payData = 1; //最新支付数据,全量 } //CS_GAMEMSGID_POWER_CHANGE_NOTIFY message CsPowerChangeNotify{ int64 power = 1; int32 fromCli = 2; int64 change = 3; //战力变化值 } //CS_GAMEMSGID_POWER_CLI_REQ message CsPowerCliReq { int32 seq = 1; int32 boxChange = 2; } //CS_GAMEMSGID_SET_LANGUAGE_REQ = 1189; //设置语言 message CSSetLanguageReq{ string lang = 1 [stringlength=32]; } //CS_GAMEMSGID_SET_LANGUAGE_RES = 1190; //设置语言 message CSSetLanguageRes{ string lang = 1 [stringlength=32]; } //CS_GAMEMSGID_CLIENT_HOT_PATCH_FILE_PUSH message CSClientHotPatchFilePush{ string patchFileContent = 1 [stringlength=8192]; //补丁文件 bytes zipFileContent = 2 [repeatedcount=4096]; //压缩的补丁文件 string md5 = 3 [stringlength=32];//服务器的md5 } //CS_GAMEMSGID_REPORT_INVITE_ME_FBUSERID message CSReportInviteMeFbuserid{ string inviteCode = 1 [stringlength=32]; //邀请我玩家的邀请码 } //CS_GAMEMSGID_REPORT_INVITE_ME_FBUSERID_RES message CSReportInviteMeFbuseridRes{ string inviteCode = 1 [stringlength=32]; //邀请我玩家的邀请码 int64 uid = 2; //对应游戏里的uid int32 ret = 3; //成功还是失败 int64 rewardChip = 4; //奖励 } //位标示意义 enum ClientBitFlagType { ClientBitFlagType_None = 0; ClientBitFlagType_NewMatchTip = 1; } //CS_GAMEMSGID_SAVE_CLIENT_BIT_FLAG_REQ message CSSaveClientBitFlagReq{ uint64 clientBitFlag = 1; } //CS_GAMEMSGID_SAVE_CLIENT_BIT_FLAG_RES message CSSaveClientBitFlagRes{ uint64 clientBitFlag = 1; } // CS_GAMEMSGID_QUERY_FRIEND_STATUS_REQ //这里有误导,这里看代码逻辑查的是任意玩家的 message CSQueryFriendStatusReq { repeated int64 uids = 1 [repeatedcount=32]; } message CSFriendOneStatus{ int64 uid = 1; int32 status = 2; // 0 不在线, 1 牌桌, 2 大厅 } // CS_GAMEMSGID_QUERY_FRIEND_STATUS_RES message CSQueryFriendStatusRes { repeated CSFriendOneStatus friends = 1 [repeatedcount=32]; // } // CS_GAMEMSGID_REPORT_CHEAT_REQ message CSReportCheatReq { int64 reporter = 1; // 举报人 int64 cheater = 2; // 被举报人 } // CS_GAMEMSGID_REPORT_CHEAT_RES message CSReportCheatRes { int32 ret = 1; int64 reporter = 2; // 举报人 int64 cheater = 3; // 被举报人 } //CS_GAMEMSGID_QUERY_BAG_CHANGE_HISTORY_LIST_REQ message CSQueryBagChangeHistoryListReq{ } //CS_GAMEMSGID_QUERY_BAG_CHANGE_HISTORY_LIST_RES message CSQueryBagChangeHistoryListRes{ repeated DBBagChangeRecord DBBagChangeRecordList = 1 [repeatedcount=202];//金钱钻石变化 } enum LevelType { RoleLevel = 0; VipLevel = 1; } // CS_GAMEMSGID_SYNC_LEVEL_INFO message CSSyncLevelInfo { LevelType levelType = 1; int32 level = 2; int32 exp = 3; } //CS_GAMEMSGID_MAIL_SEND_TO_PLAYER_REQ = 1241; //发送邮件 message CSMailSendToPlayerReq{ int64 targetUid = 1; int64 chip = 2; string title = 3 [stringlength=64]; string content = 4 [stringlength=1024]; int32 shopItemId = 5;//商店物品,买了送 } //CS_GAMEMSGID_MAIL_SEND_TO_PLAYER_RES = 1242; //操作邮件 message CSMailSendToPlayerRes{ int32 ret = 1; int64 targetUid = 2; int64 chip = 3; string title = 4 [stringlength=64]; string content = 5 [stringlength=1024]; int32 shopItemId = 6;//商店物品,买了送 } // CS_GAMEMSGID_ROLEBASE_CHG_REQ message CSRolebaseChgReq { string nick = 1 [stringlength=32]; int32 gender = 2; } // CS_GAMEMSGID_ROLEBASE_CHG_RES message CSRolebaseChgRes { int32 ret = 1; string nick = 2 [stringlength=32]; int32 gender = 3; } // 按位 enum RealmState { Close = 0; // 停服维护 Open = 1; // 正常 Hot = 2; New = 4; // 新服, 新加状态放到最上面 Full = 8; //注册已满 } message CSRealmBrief { int32 realmId = 1; string realmName = 2 [stringlength=32]; int32 state = 3; // 0 关闭 1 新开 2 正常 3 火爆 string realmBdcName = 4 [stringlength=32]; // 发送给客户端时不用填 int32 openTime = 5; // 首次开服时间 int32 WorldId = 6; // WorldId string VisibleOnlyCliVersion = 7 [stringlength=32]; //可见版本 int32 visibleOnlyWhiteList = 8; //1表示仅对白名单ip可见 int32 visibleTime = 10; // 对外可见时间 int32 bigRealmId = 11; //大区id string ip = 12 [stringlength=16]; //服务器填,客户端不用管 string areaName = 13 [stringlength=16];//大区名称,东南亚大区 (缩写SEA) 欧洲大区 (缩写EUR) 美洲大区 (缩写America?) int32 onlinePlayer = 14; // 服务器填,客户端不用管 int32 timeZone = 15; // 服务器时区 int32 logicWorldId = 16; //逻辑world,不同逻辑world的realm之间是隔离的 int32 showSeq = 17; int32 regMax = 18; } message CSRoleBrief { int64 uid = 1; string nick = 2 [stringlength=32]; string icon = 3 [stringlength=32]; int32 level = 4; int32 realmId = 5; int32 iconFrameId = 6; int64 lastLoginTime = 7; } //CS_GAMEMSGID_SET_PERSONALIZED_SIGNATURE_REQ message CSSetPersonalizedSignatureReq{ string sign = 1 [stringlength=32]; } //CS_GAMEMSGID_SET_PERSONALIZED_SIGNATURE_RES message CSSetPersonalizedSignatureRes{ string sign = 1 [stringlength=32]; int32 ret = 2; } enum CSBattleType { CS_BATTLETYPE_NONE = 0; CS_BATTLETYPE_MAINLAND = 1; } enum CSBattleResult { CSBattleResult_None = 0; CSBattleResult_Succ = 1; CSBattleResult_Failed = 2; } message CSBattleRoleInfo { DBRoleBase roleBase = 1; uint32 gameServerId = 2; } enum RaceType { RaceType_None = 0; RaceType_Ren = 1; //人族 RaceType_Shen = 2; //神族 RaceType_Yao = 3; //妖族 RaceType_MainGod = 4; //宙神 RaceType_Void = 5; //虚空 RaceType_Max = 6; //最大值 } message ILMainlandDrop { int32 count = 1; //不包含boss掉落 repeated TypeIDValue32 commDrop = 2 [repeatedcount = 16]; int32 bossWorthLevel = 3; TypeIDValue32 bossDrop = 4; } //调整这个结构的时候需要考虑关联的结构体大小能超过64K // IL 和 SVR 通用的数据,首字母大写,方便客户端赋值 message CSBattleJsonInput{ int32 Frame = 1; int32 Type = 2; repeated int32 Params = 3 [repeatedcount = 8]; } enum BattleEventType{ BattleEventType_None = 0; BattleEventType_Attack = 1; // 攻击 BattleEventType_Heal = 2; // 治疗 BattleEventType_Revive = 3; // 复活 BattleEventType_AtkBack = 4; // 反击 BattleEventType_RemoveStun = 5; // 解除眩晕 BattleEventType_RoundChg = 6; // 回合变更 BattleEventType_BattleEnd = 7;// 战斗结束 BattleEventType_Buff = 8;// 添加buff BattleEventType_RemoveBuff = 9;// 移除buff BattleEventType_UpdateBuffOverTime = 10;// 更新buff时间 BattleEventType_DmgBack = 11; // 反弹伤害 BattleEventType_SetHP = 12; // 设置血条,damage为hp,heal为maxHp } enum BattleEventBit{ BattleEventBit_None = 0; BattleEventBit_Stun = 1; // 眩晕 BattleEventBit_Crit = 2; // 暴击 BattleEventBit_Dodge = 3; // 闪避 BattleEventBit_Combo = 4; // 连击 BattleEventBit_Steal = 5; // 吸血 BattleEventBit_BeAtkBack = 6; // 被反击 BattleEventBit_BeCombo = 7; // 被连击 BattleEventBit_MulTarget = 8; // 多目标 BattleEventBit_MulStage = 9; // 多阶段 BattleEventBit_Dead = 10; // 死亡 } message BattleEventLogOne{ int32 casterId = 1; int32 targetId = 2; BattleEventType eventType = 3; uint32 resultBit = 4; int64 damage = 5; int64 heal = 6; int32 spellId = 7; int32 effectIdx = 8; int64 RandomNum = 10001; // 战斗随机数 测试日志用的 上线删除 } // 战斗日志 message BattleEventLog{ repeated BattleEventLogOne logs = 1 [repeatedcount = 512]; } message BattleInfoAll{ CSBattleType type = 1; uint64 battleId = 2; int32 mainlandId = 3; int32 mainlandType = 4; BattleRoleInfo roleA = 5; BattleRoleInfo roleB = 6; BattleSideInfo herosA = 7; BattleSideInfo herosB = 8; BattleEventLog battleLog = 9; CSBattleResult battleResult = 10; int32 smash = 11; // 一击必杀 int32 invincible = 12; // 无敌 int32 overRound = 13; } message CacheBattleInfoAll{ int32 nowIndex = 1; repeated BattleInfoAll infoList = 2[repeatedcount = 8]; } //IL 和 SVR 通用的数据,首字母大写,方便客户端赋值 message FightHero{ int64 SerialNum = 1; int64 DescID = 2; int64 ObjId = 3; int64 CurrHp = 4; int64 MaxHp = 5; int32 Level = 6; int32 Star = 7; int32 Side = 8; int64 MaxEnergy = 9; int64 CurrEnergy = 10; int32 LineupPos = 11; int32 HeroType = 12; int64 InitHpMax = 13; int32 raceIconLevel = 14; int32 WeaponLevel = 15; int32 ManualCastCount = 16; //手动释放大招次数 int32 SignPos = 17; int32 SuperEvolve = 18; int32 SuperEvolveLevel = 19; int32 skinDescId = 20; } message FightHeroSpell{ int32 SpellId = 1; int32 SpellLv = 2; int32 CastCount = 3; int64 TotalEffectTarget = 4; int64 TotalDamage = 5; } message KillOneInfo{ int32 KillEnemy = 1; //descID int32 KillObjID = 2; // int32 NowFrame = 3; //帧 int32 IsCommon = 4; //普通出战英雄 } //IL 和 SVR 通用的数据,首字母大写,方便客户端赋值 message OneFightInfo{ FightHero Hero = 1; int64 Shield = 3; //添加的护盾值 int64 Damage = 4; //造成伤害 int64 Cure = 5; //治疗 int64 Hurt = 6; //承受伤害 repeated FightHeroSpell SpellStat = 7 [repeatedcount = 6]; int64 Power = 8; //战力 repeated KillOneInfo KillInfo = 9 [repeatedcount = 8]; int64 MaxDamage = 10; int32 wave = 11; } //IL 和 SVR 通用的数据,首字母大写,方便客户端赋值 message BattleStatistics { int32 Result = 1; int32 KillMonsterNum = 2; int64 TotalDamageHp = 3; int64 TotalMonsterHp = 4; int32 FinishCondition = 5; int32 NoWaitHeroDeath = 6; //repeated int32 Treasures = 7 [repeatedcount = 4]; //repeated int32 StarIndexs = 8 [repeatedcount = 4]; repeated OneFightInfo HerosInfo = 9 [repeatedcount = 16]; int32 LogicFightTime = 10; int32 IsAutoFight = 11; //结束时自动战斗是否开启 int32 DungeonEventId = 12; int32 IsGMCommand = 13; //是不是通过GM命令进的命令进的 int32 TotalFrame = 14; //战斗消耗帧数 int32 ChessEventId = 15; repeated IDValue64Up SpecialList = 16 [repeatedcount = 32]; //特殊数据统计 int32 CampaignMapId = 17; int32 DungeonTaskFailed = 18; int32 DungeonHeroSide = 19; int32 DungeonHeroDescId = 20; int32 DungeonHeroLinepos = 21; int32 DungeonSpecialHeroHp = 22; int32 SuccessEggId = 23; //成功触发彩蛋id int64 TotalCpuTime = 24; int64 TotalDamageBossHp = 25; //单独统计boss int64 TotalBossHp = 26;//单独统计boss int32 RealInputCount = 27; //实际输入数量 int64 CurBossHp = 28; //当前boss血量 int32 TotalStarState = 29; //几颗星 int64 killScore = 30;//杀怪积分 int32 battleVersion = 31; //表格的版本号 int32 staticBattleVersion = 32; //静态的战斗版本号,用于区分客户端的dll是不是错误的 } //战斗英雄简要信息 message BattleHeroBriefInfo{ int32 DescId = 1; int32 Star = 2; int32 Level = 3; int32 RaceIconLevel = 4; //种族图标等级 int32 IsDead = 5; //是否死亡 0存活 1死亡 int64 Damage = 6; //造成伤害 int64 Cure = 7; //治疗 int64 Hurt = 8; //承受伤害 int64 Power = 9; //战力 int32 SerialNum = 10; int32 HeroType = 11; int32 SuperEvolve = 12; int32 SuperEvolveLevel = 13; int32 skinDescId = 14; } //指挥官简要信息 message BattleCommanderBriefInfo { int32 DescId = 1; int32 Level = 2; } //宝物简要信息 message BattleTreasureBriefInfo { repeated int32 treasureList = 1 [repeatedcount=8]; //上阵宝物 repeated IDValue32 idLevel = 2 [repeatedcount = 8]; //上阵宝物 } //战斗角色简要信息 message BattleRoleBriefInfo{ int64 Uid = 1; string Nick = 2 [stringlength=32]; //昵称 string Icon = 3 [stringlength=32]; //头像 int32 Level = 4; //等级 int32 IconFrameId = 5; //头像框 int64 TeamPower = 6; //上阵战力 repeated BattleHeroBriefInfo HeroList = 7 [repeatedcount=6]; //上阵英雄列表 BattleCommanderBriefInfo commnander = 8; BattleTreasureBriefInfo treasure = 9; string RealmName = 10 [stringlength=32]; int32 realmId = 11; } message BattleBriefStatistics { uint64 BattleId = 1; //战斗id,唯一 int64 BattleVersion = 2; //战斗逻辑版本号,相等时才能回放 int32 MainlandId = 3; int32 Result = 4; BattleRoleBriefInfo Attacker = 5; BattleRoleBriefInfo Defender = 6; int64 TotalDamageHp = 7; //造成总伤害 int64 TotalDamageBossHp = 8; //造成Boss伤害 int32 TotalFrame = 9; } message BattleRoleInfo { DBRoleBase roleBase = 1; uint32 gameServerId = 2; int32 iconFrameId = 3; //头像框 int32 realmId = 4; } // 表现信息 message HeroShowInfo { int32 objId = 1; int32 descId = 2; int64 maxHp = 3; int32 pos = 4; // 站位 repeated IDValue32 showEquip = 7 [repeatedcount = 6]; // 装备幻化 pdl } // 英雄信息, 将英雄相关数据打包在一起方便统一修改, 结构体中的字段由使用双方根据实际需求自行填写 message HeroInfo { DBHero dbhero = 1; // DB英雄数据 HeroPropView propView = 5; // 面板显示属性 DbTalentData talent = 2; //天赋 DbWingData win = 3; } message SimpleRobot{ HeroInfo heroInfo = 1; DBRoleBase roleBase = 2; int32 randNameIdx = 3; //机器人随机名索引 } message SimpleRobotList{ repeated SimpleRobot list = 1[repeatedcount = 50]; } message SimpleRobotPool{ repeated SimpleRobotList pool = 1[repeatedcount = 120]; } //阵容简要信息 message FightHeroInfo { int32 descId = 1; int32 level = 2; int32 star = 3; int32 blessLevel = 4; int32 raceIconLevel = 5; int32 SuperEvolve = 6; int32 SuperEvolveLevel = 7; int32 skinDescId = 8; //穿戴的皮肤 } message FightCommander{ int32 descId = 1; int32 level = 2; } message FightLineup{ FightCommander commander = 1; repeated FightHeroInfo heroList = 2[repeatedcount=6]; //上阵英雄星级和等级 } message BattleSideInfo { repeated HeroInfo list = 1 [repeatedcount=2]; //int32 lineupPosMode = 2; //0.按原方式变化 1.站位不变 策划那边有需求 某一排只有一个人的时候也能不是站在中间 } message CSSpellCastData{ uint32 casterId = 1; uint32 selectTargetId = 2; int32 spellId = 3; // 释放技能id,包括buffId,spell和buff的id会分段 int32 spellShowId = 4; // 释放技能的表现id int32 triggerSpellId = 5; // 触发当前spell或buff释放的另一个spell/BuffId int32 triggerSpellShowId = 6; int32 seq = 7; // 序列号 int32 createSpellId = 8; // 目前只有buff会填该字段 int32 createSpellShowId = 9; int32 spellState = 10; // 释放技能的特殊状态 } //-------------------------hero op begin--------------------------------- //----------------------------hero op end----------------------------------- //CS_GAMEMSGID_WAITPLAYER_REMAINTIME_NOTIFY = 1700; //通知game服务器通知客户端等待连接还剩多长时间 message CSNotifyWaitPlayerRemainTime{ int64 userId = 1; int32 beforeCount = 2; //前面有多少玩家在等待 int64 playerSessionID = 3; } //--------------------------------Equipment start--------------------------------------------------- //CS_GAMEMSGID_EXEQUIPTOEQUIP_NOTIFY = 1804; //装备转换通知 message ExEquipToEquipNotify { DBExEquipment exEquip = 1; DBEquipment equip = 2; } //-----------------------------Equipment end----------------------------------------------- message CSBattleReplay{ int64 recordTime = 1; int64 battleVersion = 2; BattleInfoAll battleInfoAll = 3; BattleBriefStatistics briefStats = 4; repeated CSBattleJsonInput battleInput = 5 [repeatedcount = 2]; //战斗输入数据 string RealmName = 6 [stringlength=32]; } //------------------------------mainland start ---------------------------------------- enum MainlandType { MainlandType_Min = 0; MainlandType_Adventure = 1; MainlandType_WildBoss = 2; MainlandType_KNightTrain = 1004; //骑士团训练 } message CSHeroFightInfo{ int32 heroSerialNum = 1; int32 heroDescId = 2; int32 currHp = 3; int32 maxHp = 4; repeated int32 killEnemy = 5 [repeatedcount = 16]; // 敌人的descId uint32 heroObjId = 6; repeated int32 killEnemyObjID = 7 [repeatedcount = 16]; // 敌人的objID。 和 KillEnemy的数据一一对应 } message CSBattleOpInfo{ uint32 CasterObjId = 1; uint32 TargetObjId = 2; int32 SpellId = 3; int32 ActionSeq = 4; } enum GoodsChangeType { GoodsChangeType_None = 0; GoodsChangeType_Add = 1; GoodsChangeType_Delete = 2; GoodsChangeType_PropChange = 3; } //-----------------------------GoodsNotify begin------------------------------------- //普通物品变化信息 message CSItemChgInfo { int32 uniqueID = 1; //唯一id,每个物品有唯一id string id = 2 [stringlength = 64]; int64 count = 3; //最新值 int64 chgCount = 4; //改变值 int32 type = 5; // type, id, value int32 iid = 6; } //卡牌变化信息(卡牌是不可叠加数据,这里数量就不用了) message CSExGoodsChangeInfo{ int32 serialNum = 1; //改变的唯一号(卡牌,装备等) int32 descId = 2; //读表ID repeated IDValue32 attrTypeValue =3 [repeatedcount=64] ; //对应属性变化值 repeated TypeIDValue32 TypeIDValue =4 [repeatedcount=64]; //对应属性变化值 GoodsType goodstype = 5; //物品类型,英雄卡牌 装备等 GoodsChangeType changeType = 6; //变化类型 int32 count = 7; int32 param = 8; } //物品统一变化协议修改,打算干掉 CSPlayerItemChg 和 CSHeroBagChg //修改物品变化的统一操作 message AllGoodsChange{ repeated CSItemChgInfo items = 1 [repeatedcount = 128]; //普通物品 repeated CSExGoodsChangeInfo exGoods = 2 [repeatedcount = 512];//其他物品(包含卡牌,装备,以及后续其他等) } //CS_GAMEMSGID_PLAYER_GOODS_CHG_NOTIFY = 1900; //玩家物品变化通知 message CSPlayerGoodsChgNotify{ repeated CSItemChgInfo chgItems = 1 [repeatedcount = 64]; string chgReason = 2 [stringlength=32]; int32 reason = 3; } //CS_GAMEMSGID_GOODS_GET_PUSH = 1901; // message CSGoodsGetPush{ repeated CSItemChgInfo items = 1 [repeatedcount = 64]; } //-----------------------------GoodsNotify end------------------------------------- //-----------------------------MarketShop begin //CS_GAMEMSGID_MARKET_SHOP_BUY_GOODS_REQ = 1638; //玩家请求购买商店物品 请求 message CSMarketShopBuyGoodsReq{ int32 shopId = 1; int32 buyTimes = 2; //够买次数 int32 goodsId = 3; //购买该商店的哪个索引的物品 } //CS_GAMEMSGID_MARKET_SHOP_BUY_GOODS_RES = 1639; //玩家请求购买商店物品 应答 message CSMarketShopBuyGoodsRes{ OneGridGoods gridGoods = 1; //某个格子的物品数据 CSErrCode ret = 2; int32 shopId = 3; int32 buyTimes = 4; repeated CSItemChgInfo rewards = 5 [repeatedcount = 8]; //具体得到的内容 } //CS_GAMEMSGID_MARKET_SHOP_REFRESH_REQ = 1640; //玩家获取某个商./店数据或刷新某个商店数据请求 message CSMarketShopRefreshReq{ int32 shopId = 1; bool isNeedRefresh = 2; //是否需要刷新(刷新是要扣钱的) } //CS_GAMEMSGID_MARKET_SHOP_REFRESH_RES = 1641; //玩家获取某个商店数据或刷新某个商店数据应答 message CSMarketShopRefreshRes{ OneShopData shopData = 1; //某个商店的物品数据 CSErrCode ret = 2; } // 效果类型 enum EffectType { EffectType_None = 0; // 没有效果,只为了选取目标添加buff EffectType_Add_Equipment_Prop = 1; // 装备添加属性 EffectType_Equipment_Base_Prop = 2; // 装备添加基础属性 EffectType_Add_Prop = 3; // 添加属性 EffectType_Heal = 4; // 回复生命 EffectType_Convert_Prop = 5; // 属性转化 EffectType_AttBack_At_Stun = 6; // 眩晕时可以反击 EffectType_Attack_Extra_Target = 7; // 攻击额外目标 EffectType_DamIgnore = 8; // 忽视百分比外的伤害 EffectType_Dot = 9; // 定时掉血 EffectType_AddBuff = 10; // 给敌人上buff EffectType_DamUp = 11; // 提高伤害万分比(全员) EffectType_Hightest_Prop_Up = 12; // 最高额外属性提升 EffectType_Hightest_Prop_Add_By_Lowest = 13; // 最高属性依据最低额外属性提升 EffectType_Averge_UnExtra_Prop = 14; // 最高额外属性提升 EffectType_UnExtra_Prop_Up = 15; // 所有忽视属性提升 EffectType_AddProp_ByCurrent = 16; // 按当前值增加属性值 EffectType_Relive = 17; // 复活 EffectType_Heal_Rate = 18; // 回复百分比血量 EffectType_Add_Highest_Prop = 19; // 提高 EffectType_UnHeal = 20; // 降低治疗效果 直接作用于结果 EffectType_RoundDot = 22; // 回合掉血万分比 EffectType_Reflect = 23; // 增加反弹伤害万分比属性 EffectType_Attack_Target_Chg = 24; // 攻击目标修改 EffectType_Target_CurHp_Damage = 25; // 额外造成敌人当前生命伤害万分比 EffectType_Self_HpMax_Damage = 26; // 额外造成自身生命上限伤害万分比 EffectType_Update_Buff_Time = 27; // 更新目标buff的结束时间 EffectType_Pursuit = 28; // 对敌人额外追击额外伤害 EffectType_Reply_RateHp = 29; // 回复目标自身生命上限万分比 EffectType_Player_DamUp = 30; // 提高对玩家伤害万分比(过滤伙伴) EffectType_DamageDown = 31; // 提高减伤万分比(全员) EffectType_Player_DamageDown = 32; // 提高对玩家减伤万分比(过滤伙伴) EffectType_Pursuit_TotalDamage = 33; // 对敌人额外追击汇总伤害(普攻伤害 + 额外伤害汇总) EffectType_UnExtra_To_MaxProp2 = 34; //所有忽视属性变成最高的2级属性 EffectType_Prop2_Multiply = 35; //二级属性乘以万分比倍数 EffectType_E36 = 36; EffectType_E37 = 37; EffectType_E38 = 38; EffectType_E39 = 39; EffectType_E40 = 40; EffectType_E41 = 41; EffectType_E42 = 42; EffectType_E43 = 43; EffectType_E44 = 44; EffectType_E45 = 45; EffectType_E46 = 46; EffectType_E47 = 47; EffectType_E48 = 48; EffectType_E49 = 49; EffectType_E50 = 50; EffectType_E51 = 51; EffectType_E52 = 52; EffectType_E53 = 53; EffectType_E54 = 54; EffectType_E55 = 55; EffectType_E56 = 56; EffectType_E57 = 57; EffectType_E58 = 58; EffectType_E59 = 59; EffectType_E60 = 60; EffectType_E61 = 61; EffectType_E62 = 62; EffectType_E63 = 63; EffectType_E64 = 64; EffectType_E65 = 65; EffectType_Max = 66; } enum EffectEvent { EffectEvent_Battle_Start = 0; // 战斗开始 EffectEvent_Hit = 1; // 命中 EffectEvent_Be_Hit = 2; // 被命中 EffectEvent_Round_Start = 3; // 回合开始 EffectEvent_Un_Crit = 4; // 命中未暴击 EffectEvent_Combo = 5; // 连击 EffectEvent_Stun = 6; // 击晕 EffectEvent_Die = 7; // 阵亡 EffectEvent_BeforeHurt = 8; // 受伤(扣血前) EffectEvent_AtkBack = 9; // 反击 EffectEvent_Crit = 10; // 暴击 EffectEvent_NotCombo = 11; // 未连击 EffectEvent_NotAtkBack = 12; // 未反击 EffectEvent_NotStun = 13; // 未眩晕 EffectEvent_BuffEffect = 14; // buff生效完成 EffectEvent_BeHurt = 15; // 受伤 EffectEvent_Heal = 16; // 治疗 EffectEvent_FinishAttack = 17; // 完成攻击 EffectEvent_EnemyPetDie = 18; // 敌方伙伴阵亡 EffectEvent_Start_Attack = 19; // 开始攻击 EffectEvent_Target_Stun = 20; // 命中眩晕目标 EffectEvent_Dodge = 21; // 闪避 EffectEvent_Before_Die = 22; //即将阵亡 EffectEvent_Hurt_After = 23; //扣血后生命值低于x EffectEvent_Heal_After = 24; //治疗后生命值高于x EffectEvent_Relive = 25; // EffectEvent_RoundEnd = 26; EffectEvent_UnDodgeCrit = 27; EffectEvent_UnCritTarget = 28; EffectEvent_Max = 29; } // 效果目标类型 enum EffectTargetType { EffectTargetType_None = 0; // EffectTargetType_All = 1; // 全体(不分敌我, 占位未实现) EffectTargetType_AttackTarget = 2; // 攻击目标 EffectTargetType_Master = 3; // 主人 EffectTargetType_Caster_Self = 4; // 施法者自己 EffectTargetType_Enemy_All = 5; // 全体敌人 EffectTargetType_Damage_Source = 6; // 攻击源 EffectTargetType_Max = 8; } //---------------------------------查询一个玩家的数据,离线或在线 BEGIN---------------------------------------------- //中间接口已经处理好了,只要调用CSPlayerQueryOtherRoleInfoReq就行,CSPlayerQueryOtherRoleInfoRes会返回具体信息,至于要回调的话要自己处理好 //角色基础信息 message RoleBaseInfo{ int64 uid = 1; string icon = 2 [stringlength=32]; //头像 string nick = 3 [stringlength=32]; //名字 int32 level = 4; //等级 int32 gender = 5; //性别 int32 iconFrameId = 6; //头像框 int32 selfProfession = 11; //公会职级 int32 integral = 12; //竞技场积分 string realmName = 13 [stringlength=32]; //realm名 int64 chatBlackTime = 14; //被加入聊天黑名单时间 int32 power = 15; //战力 } //返回展示用信息 message QueryRoleShowInfo{ RoleBaseInfo roleBaseInfo = 1; HeroInfo heroInfo = 2; } //查询来源类型 enum QueryRoleType { QueryRoleType_None = 0; //默认 QueryRoleType_Chat = 2; //聊天 QueryRoleType_CBC = 3; //boss连战 } //CS_GAMEMSGID_PLAYER_QUERY_OTHER_ROLE_INFO_REQ = 3000 message CSPlayerQueryOtherRoleInfoReq{ int64 targetUid = 1; //查询的玩家uid QueryRoleType queryRoleType = 2; //查询来源类型 } //CS_GAMEMSGID_PLAYER_QUERY_OTHER_ROLE_INFO_RES = 3001 message CSPlayerQueryOtherRoleInfoRes{ CSErrCode ret = 1; int64 fromUid = 2; //查询发起者 int32 targetRealmId = 3; //查询目标的realm QueryRoleShowInfo showInfo = 4; QueryRoleType queryRoleType = 5; //查询来源类型 } //---------------------------------查询一个玩家的数据,离线或在线 END---------------------------------------------- //CS_GAMEMSGID_PLAYER_SEARCH_ROLE_BYNAME_REQ = 3002; //通过玩家名称搜索玩家 请求 message CSPlayerSearchRoleByNameReq{ string targetName = 1 [stringlength=32]; } //CS_GAMEMSGID_PLAYER_SEARCH_ROLE_BYNAME_RES = 3003; //通过玩家名称搜索玩家 应答 message CSPlayerSearchRoleByNameRes{ repeated int64 targetUid = 1 [repeatedcount = 32]; //这里只返回UID(可以考虑再通过CSPlayerQueryOtherRoleInfoReq请求) CSErrCode ret = 2; } enum HeroType { HeroType_Hero = 0; //英雄 HeroType_Monster = 1; //怪物 HeroType_Pet = 6; //伙伴伙伴 HeroType_Max = 7; } /* TaskEX begin */ // CS_GAMEMSGID_TASKEX_ACCEPT_TASK_REQ = 1260; // 接取任务 请求 message CSTaskEXAcceptTaskReq { int32 taskId = 1; uint32 defParam = 2; // 接受任务时的自定义参数,不需要时填0 // 根据任务的提供方式不同表示不同意义 // 目前使用到的方式: // 主线任务的下一个任务id } // CS_GAMEMSGID_TASKEX_ACCEPT_TASK_RES = 1261; // 接取任务 回应 message CSTaskEXAcceptTaskRes { int32 taskId = 1; CSErrCode ret = 2; DBTaskEXOne taskdata = 3; int32 gmAccept = 4; } // CS_GAMEMSGID_TASKEX_HANDOVER_TASK_REQ = 1266; // 交付任务领取奖励 请求 message CSTaskEXHandoverTaskReq { int32 taskId = 1; } // CS_GAMEMSGID_TASKEX_HANDOVER_TASK_RES = 1267; // 交付任务领取奖励 回应 message CSTaskEXHandoverTaskRes { int32 taskId = 1; int32 nextTaskId = 2; // 前端可能会要根据这个值做些表现效果,先预留 CSErrCode ret = 3; } // CS_GAMEMSGID_BATCH_TASKEX_HANDOVER_TASK_REQ = 1274; // 交付任务领取奖励 请求 message CSBatchTaskEXHandoverTaskReq { repeated int32 taskIds = 1 [repeatedcount=32]; } // CS_GAMEMSGID_BATCH_TASKEX_HANDOVER_TASK_RES = 1275; // 交付任务领取奖励 回应 message CSBatchTaskEXHandoverTaskRes { CSErrCode ret = 3; } // CS_GAMEMSGID_TASKEX_CHANGE_NOTIFY = 1268; // 通知 任务数据发生改变 message CSTaskEXChangeNotify { repeated DBTaskEXOne chgTaskList = 1 [repeatedcount=64]; } // CS_GAMEMSGID_TASKEX_DELETE_NOTIFY = 1269; // 通知 有任务需要被清除 message CSTaskEXDeleteNotify { repeated int32 delTaskIDList = 1 [repeatedcount=32]; } // CS_GAMEMSGID_TASKEX_UPEXINFO_REQ = 1270; // 更新指定任务的指定index扩展信息 message CSTaskEXUpEXInfoReq{ int32 taskId = 1; int32 exIdx = 2; // 要更新的扩展位置信息索引 起始索引为1 } // CS_GAMEMSGID_TASKEX_UPEXINFO_RES = 1271; // 更新指定任务的指定index扩展信息 message CSTaskEXUpEXInfoRes{ int32 taskId = 1; int32 exIdx = 2; CSErrCode ret = 3; } // CS_GAMEMSGID_TASKEX_BATCH_UPEXINFO_REQ = 1272; // 批量更新指定任务的扩展信息 message CSTaskEXBatchUpEXInfoReq{ int32 taskId = 1; } // CS_GAMEMSGID_TASKEX_BATCH_UPEXINFO_RES = 1273; // 批量更新指定任务的扩展信息 message CSTaskEXBatchUpEXInfoRes{ int32 taskId = 1; CSErrCode ret = 2; } //CS_GAMEMSGID_TASKEX_LIVENESSREWARD_REQ = 1274; // 任务活跃度奖励 message CsTaskEXLivenessRewardReq{ int32 taskType = 1; // 0 日常任务 1周常 int32 livenessIndex = 2; // 领取index } //CS_GAMEMSGID_TASKEX_LIVENESSREWARD_RES = 1275; // 任务活跃度奖励 message CsTaskEXLivenessRewardRes{ int32 livenessIndex = 1; int32 livenessAward = 2; //活跃度奖励领取(按位记录,第一位为1表示第一个奖励已经领取) CSErrCode ret = 3; int32 taskType = 4; // 0 日常任务 } // CS_GAMEMSGID_TASKEX_CLI_EVENT_REPORT_REQ = 1276; //客户端上报任务相关事件 message CsTaskExCliEventReportReq{ int32 eventType = 1; //事件类型 int32 eventId = 2; //事件id int32 count = 3; //次数 } // CS_GAMEMSGID_ROLE_CREATE_COMPLETE = 3004; // 是否创建角色完成 是否已经创建完角色了。 目前暂时用来代替是否已经完成了序章 message CSRoleCreateCompleteNotify { int32 createComplate = 1; // 是否创建完成 } //CS_GAMEMSGID_NAME_QUERY_USED_REQ = 2301; message CSNameQueryUsedReq{ string strName = 1 [stringlength=64]; bool createIfNotExist = 2; } //CS_GAMEMSGID_NAME_QUERY_USED_RES = 2302; message CSNameQueryUsedRes{ int32 ret = 1; string strName = 2 [stringlength=64]; bool createIfNotExist = 3; } //CS_GAMEMSGID_LOG_CLIENT_BDC_REQ = 3201; // 客户端bdc日志备份 message CsLogClientBDCReq{ string strLogMessage = 1 [stringlength=16384]; } //CS_GAMEMSGID_LOG_CLIENT_BDC_RES = 3202; // 客户端bdc日志备份 message CsLogClientBDCRes{ int32 ret = 1; } // CS_GAMEMSGID_LOG_CLIENT_TA_REQ = 3203; // 客户端ta日志备份 message CsLogClientTAReq{ string strLogMessage = 1 [stringlength=16384]; } // CS_GAMEMSGID_LOG_CLIENT_TA_RES = 3204; // 客户端ta日志备份 message CsLogClientTARes{ int32 ret = 1; } //CS_GAMEMSGID_LOG_CLIENT_BDC_INFO_REQ = 3205; // 客户端bdc serverbean message CsLogClientBDCInfoReq{ string bdcInfo = 1 [stringlength=16384]; } //CS_GAMEMSGID_LOG_CLIENT_BDC_INFO_RES = 3206; // serverbean message CsLogClientBDCInfoRes{ int32 ret = 1; } //全局结构 enum WorldGlobalDataType { WorldGlobalDataType_None = 0; } message ChristmasWorldGlobalData{ int64 ChristmasScore = 1; //全服圣诞活动积分 } //CS_GAMEMSGID_WORLDGLOBALDATA_NOTIFY = 4360;//全局数据通知 message CSWorldGlobalDataNotify{ WorldGlobalDataType dataType = 1;//只会同步对应的数据 int32 globalId = 2; //全局id,按world分就是worldid,按大区分就是大区id int32 dataVer = 3; //数据版本 DBWorldGlobalData data = 4; } //玩家全局数据 message DBWorldGlobalData{ } // --------------------------------ActivityNew End------------------------------------------------ //--------------------------------DownLoad_Resource Begin------------------------------------------------ enum DownLoadResourceOpType{ DownLoadResourceOpType_None = 0;//获取数据 DownLoadResourceOpType_SetFinish = 1;//下载完成 DownLoadResourceOpType_Getreward = 2;//领取奖励 } //CS_GAMEMSGID_DOWNLOAD_RESOURCE_REQ = 4190; //下载资源相关 message CSDownLoadResourceReq{ DownLoadResourceOpType opType = 1; int32 downloadId = 2; //下载的对应配表id string accountId = 3[stringlength=256]; //服务器填 int32 accountType = 4;//服务器填 } //CS_GAMEMSGID_DOWNLOAD_RESOURCE_RES = 4191; message CSDownLoadResourceRes{ CSErrCode ret = 1; DownLoadResourceOpType opType = 2; int32 downloadId = 3; //下载的对应配表id repeated DropDataOne rewards = 4 [repeatedcount = 32];//如果有奖励随这个发送 repeated int32 downloadResource = 5[repeatedcount = 32]; //已经下载完成的资源(账户数据) } //--------------------------------DownLoad_Resource end------------------------------------------------ // CS_GAMEMSGID_GM_CMD_REQ = 1019; //gm指令列表 message CSGmCmdInfoReq{ } //CS_GAMEMSGID_GM_CMD_RES message CSGmCmdInfoRes{ repeated GMCmdInfo api=1 [repeatedcount=256]; } message GMCmdInfo{ string cmd=1 [stringlength=32]; string desc =2 [stringlength=64]; string help=3 [stringlength=64];; string group=4 [stringlength=64];; repeated GMCmdArg args=5 [repeatedcount=8]; } message GMCmdArg{ string name=1 [stringlength=32]; string type =2 [stringlength=8]; } //CS_GAMEMSGID_GET_CHAT_BLACKLIST_REQ 请求获取聊天屏蔽黑名单 message CSGetChatBlackListReq{ } //CS_GAMEMSGID_GET_CHAT_BLACKLIST_RES message CSGetChatBlackListRes{ CSErrCode ret = 1; repeated RoleBaseInfo chatBlackList = 2 [repeatedcount=128]; } //CS_GAMEMSGID_ADD_CHAT_BLACKLIST_REQ 增加聊天屏蔽黑名单 message CSAddChatBlackListReq{ int64 chatBlackUid = 1; //聊天屏蔽的对方玩家uid } //CS_GAMEMSGID_ADD_CHAT_BLACKLIST_RES = 1331; message CSAddChatBlackListRes{ CSErrCode ret = 1; repeated RoleBaseInfo chatBlackList = 2 [repeatedcount=128]; //最新的屏蔽列表 } //CS_GAMEMSGID_DEL_CHAT_BLACKLIST_REQ 解除聊天屏蔽黑名单 message CSDelChatBlackListReq{ int64 chatBlackUid = 1; //聊天屏蔽的对方玩家uid } //CS_GAMEMSGID_DEL_CHAT_BLACKLIST_RES message CSDelChatBlackListRes{ CSErrCode ret = 1; repeated RoleBaseInfo chatBlackList = 2 [repeatedcount=128]; //最新的屏蔽列表 } // CS_GAMEMSGID_QUERY_ACT_RANK_LIST_REQ = 6200;//查询排行榜列表 message CSQueryActRankListReq{ int32 rankId = 1; //排行榜id int32 startPos = 2; //从第几名开始 从第一名开始请求 res的selfRank才是有效的 int32 endPos = 3; //第几名结束 int32 realmId = 4; //客户端不填 int32 bigRealmId = 5; //客户端不填 } // CS_GAMEMSGID_QUERY_ACT_RANK_LIST_RES = 6201;//查询排行榜列表 message CSQueryActRankListRes{ repeated DBActRankTopPlayerInfo rankList = 6 [repeatedcount=100]; int32 myRank = 2; CSErrCode ret = 3; } // CS_GAMEMSGID_QUERY_ACT_RANK_ACTIVITY_LIST_REQ = 6202;//查询排行榜活动 message CSQueryActRankActivityListReq{ } message ActivityRank{ int32 actID = 1; int64 beginTime = 2; int64 endTime = 3; int64 remainTime = 4; } // CS_GAMEMSGID_QUERY_ACT_RANK_ACTIVITY_LIST_RES = 6203;//查询排行榜活动 message CSQueryActRankActivityListRes{ repeated ActivityRank list = 1[repeatedcount = 10]; } message QuestionnaireData{ int32 actId = 1; int32 status = 2;// 0 没点击,1 已点击,2已领奖 } //CS_GAMEMSGID_QUESTIONNAIRE_REWARD_REQ = 1120; //调查问卷发送奖励 message QuestionnaireRewardReq{ int32 actId = 1; int32 status = 2;// 1 点击 2领奖 } //CS_GAMEMSGID_QUESTIONNAIRE_REWARD_RES = 1121;//调查问卷发送奖励 message QuestionnaireRewardRes{ int32 ret = 1; } //CS_GAMEMSGID_QUESTIONNAIRE_REWARD_SYN = 1122;//同步信息 message QuestionnaireInfoSync{ repeated QuestionnaireData questionData = 1 [repeatedcount =4];//问卷获得给你数据 } //---------------------------------------------act rank end----------------------- //CS_GAMEMSGID_PEAKLEVEL_ADDPOINT message CSPeakLevelAddPoint{ repeated IDValue32 points = 1 [repeatedcount=16]; } //CS_GAMEMSGID_PEAKLEVEL_ADDPOINT_RES message CSPeakLevelAddPointRes{ repeated IDValue32 points = 1 [repeatedcount=16]; CSErrCode ret = 3; DBPeakLevelData data = 4; } //CS_GAMEMSGID_PEAKLEVEL_RESETPOINT message CSPeakLevelResetPoint{ } //CS_GAMEMSGID_PEAKLEVEL_RESETPOINT_RES message CSPeakLevelResetPointRes{ CSErrCode ret = 3; DBPeakLevelData data = 4; } //CS_GAMEMSGID_PEAKLEVEL_SYNC message CSPeakLevelSync{ DBPeakLevelData data = 4; } //CS_GAMEMSGID_KICK_MULTILOGIN message CSKickMultiLogin{ } //CS_GAMEMSGID_CB_START_REQ message CSCBStartReq{//开始战斗 } //CS_GAMEMSGID_CB_START_RES message CSCBStartRes{ CSErrCode ret = 1; int32 initBattleId = 2; int32 initLayer = 3; ChapterBattleData battleData = 4; DBCBattle data = 6; } //CS_GAMEMSGID_CB_FINISH_REQ message CSCBFinishLayerReq{//结束当前层 int32 hpReamin = 1;//boss血量剩余,胜利传0 int32 layer = 2; int32 msgSeq = 3; int32 forceLeave = 4; } //CS_GAMEMSGID_CB_FINISH_RES message CSCBFinishLayerRes{ CSErrCode ret = 1; int32 hpReamin = 2; int32 layer = 3; int32 score = 4; repeated TypeIDValue32 thisReward = 5[repeatedcount = 32]; DBCBattle data = 6; int32 rednamestageId = 7; ChapterBattleData battleData = 8; int32 msgSeq = 9; } //CS_GAMEMSGID_CB_LEAVE_REQ message CSCBLeaveReq{//离开战斗,结算奖励 int32 layer = 2; int32 msgSeq = 3; } //CS_GAMEMSGID_CB_LEAVE_RES message CSCBLeaveRes{ CSErrCode ret = 1; repeated CSItemChgInfo items = 2 [repeatedcount = 64]; DBCBattle data = 6; int32 msgSeq = 7; } //CS_GAMEMSGID_CB_GETLAYERREWARD_REQ message CSCBGetLayerRewardReq{//领取阶段奖励 int32 layer = 1; } //CS_GAMEMSGID_CB_GETLAYERREWARD_RES message CSCBGetLayerRewardRes{ CSErrCode ret = 1; int32 layer = 2; DBCBattle data = 6; } //CS_GAMEMSGID_PAY_WSJSAPI_REQ message CSWXJSPayReq{ string dataJson = 1[stringlength=2048]; int32 gsid = 2; int64 uid = 3; } //CS_GAMEMSGID_PAY_WSJSAPI_RES message CSWXJSPayReS{ string dataJson = 1[stringlength=2048]; string prepayId = 2[stringlength=256]; string jsApiData = 3[stringlength=2048]; int32 gsid = 4; } //CS_GAMEMSGID_RANK_PLAYER_BYLEVEL_REQ message CSRankPlayerByLevelReq{ int64 uid = 1; int32 realmId = 2; int32 lvMin = 3; int32 lvMax = 4; } //CS_GAMEMSGID_RANK_PLAYER_BYLEVEL_RES message CSRankPlayerByLevelRes{ int64 uid = 1; int32 realmId = 2; int32 lvMin = 3; int32 lvMax = 4; repeated int64 uids = 5 [repeatedcount = 10]; } //CS_GAMEMSGID_CBC_PLAYER_SYNC message CSCBCPlayerQuerySync{ int64 uid = 1; QueryRoleShowInfo info = 2; } message DBPreset{ //预设 int32 buyCount = 1; repeated DBPresetOne sets = 2[repeatedcount = 6]; } message DBPresetOne{ DBPeakLevelData levelData = 1; //巅峰加点 repeated IDValue32 wearEquip = 2 [repeatedcount = 12]; // 装备 repeated IDValue32 wearGem = 3 [repeatedcount = 32]; //宝石 DbTalentData talents = 4; //天赋 int32 wingskinId = 5; //穿戴的皮肤id int32 wingrefitId = 6; //穿戴的皮肤所对应的等级id HeroPropView propView = 7; //最终属性值 string name = 8 [stringlength = 32]; //名称 bool saved = 9; //是否保存过 int32 wingwearId = 10; } //CS_GAMEMSGID_PresetSaveReq message CSPresetSaveReq{ int32 presetIndex = 1; } //CS_GAMEMSGID_PresetSaveRes message CSPresetSaveRes{ int32 presetIndex = 1; DBPreset preset = 2; CSErrCode ret = 3; } //CS_GAMEMSGID_PresetBuyOneReq message CSPresetBuyOneReq{ } //CS_GAMEMSGID_PresetBuyOneRes message CSPresetBuyOneRes{ int32 presetIndex = 1; DBPreset preset = 2; CSErrCode ret = 3; } //CS_GAMEMSGID_PresetRenameReq message CSPresetRenameReq{ string name = 1[stringlength = 32]; int32 presetIndex = 2; } //CS_GAMEMSGID_PresetRenameRes message CSPresetRenameRes{ int32 presetIndex = 1; DBPreset preset = 2; CSErrCode ret = 3; } //CS_GAMEMSGID_PresetApplyReq message CSPresetApplyReq{ int32 presetIndex = 2; } //CS_GAMEMSGID_PresetApplyRes message CSPresetApplyRes{ int32 presetIndex = 1; CSErrCode ret = 3; } // -----------------------------------core game-------------------------------- //CS_GAMEMSGID_JOIN_ROOM_REQ message CSJoinRoomReq{ RoomMode mode = 1; int32 pos = 2; int32 hero_id = 3; } //CS_GAMEMSGID_JOIN_ROOM_RES message CSJoinRoomRes{ RoomMode mode = 1; int32 pos = 2; int32 eid = 3; } //CS_GAMEMSGID_ROOM_INFO_SYNC message CSRoomInfoSync{ RoomMode mode = 1; repeated int32 poses = 2[repeatedcount = 12]; repeated int32 eids = 3[repeatedcount = 12]; } enum FrameCmdDef { FrameCmdDef_Invalid = 0; FrameCmdDef_MoveDir = 1; //实体移动方向 FrameCmdDef_MoveStop = 2; //实体移动停止 FrameCmdDef_UseCommonAbility = 4; //实体使用普通技能 // ... // 其他指令 FrameCmdDef_Max = 11; } message MoveDirectionCommand{ int32 degree = 1; int32 seq = 2; } message UseCommonAbilityCommand{ int32 start = 1; // 1开始使用, 0结束使用 } //CS_GAMEMSGID_PLYAER_OP_INFO_SYNC message CSPlayerOpInfo{ int32 eid = 1; FrameCmdDef type = 2; MoveDirectionCommand move = 3; UseCommonAbilityCommand useCommonAbility = 4; // ... // 其他指令 } message CSFrapBootInfo{ uint32 dwKFrapsNo = 1; repeated CSPlayerOpInfo ops = 2[repeatedcount = 20]; int cnt = 3; // ops的长度 } // CS_MULT_FRAP_BOOT_INFO_SYNC message CSMultFrapBootInfo { uint32 spareNum = 1; // 冗余数量 repeated CSFrapBootInfo[] spareFraps = 2[repeatedcount = 4]; } message CampPlayerInfo { int32 eid = 1; int32 lvl = 2; } message CampInfo { int32 playerNum = 1; repeated CampPlayerInfo campInfos = 2[repeatedcount = 2]; } // CS_MULTGAME_BEGINLOAD_SYNC message CSMultGameBeginLoad { int32 mapId = 1; repeated CampInfo campInfos = 2[repeatedcount = 2]; } message HeroModel { int32 entityId = 1; // 英雄实体id int32 heroId = 2; // 英雄id int32 posOfTeam = 3; // 英雄在队伍中的位置 int32 level = 4; // 英雄等级 int32 exp = 5; // 英雄经验 int32 teamIdx = 6; // 队伍id int64 uid = 7; // 玩家id } // 阵营 message TeamModel { int32 teamNum = 1; // 阵营id } // CS_GAMEMSGID_BATTLE_MODE_SYNC message CSBattleModeSync { int32 mode = 1; // 匹配模式 int32 mapId = 2; // 地图id repeated TeamModel teams = 3[repeatedcount = 4]; // 阵营 repeated HeroModel heroes = 4[repeatedcount = 20]; // 阵营英雄 int32 localPlayerEid = 5; // 本地玩家eid }