// message结构的属性名请使用 驼峰小写字母开始 syntax = "proto3"; option go_package = "/pb"; package pb; import "base_type.proto"; import "mail.proto"; import "battle.proto"; import "map.proto"; import "exchange.proto"; // 注册开发帐号 message DevRegister { string accountName = 1; // 帐号名 string password = 2; // 密码 string ip = 3; // ip地址 } // 用户信息 message User { int32 sdkID = 1; // sdk配置id int32 PID = 2; // sdk包id string openID = 3; // 平台openid int64 uid = 4; // 用户id string ip = 5; // 请求ip } // 更新支付订单 message UpdateOrder { string gameNodeID = 1; // 游戏节点id int64 orderID = 2; // 游戏内部订单id string sdkOrderID = 3; // 第三方sdk平台订单id int32 amount = 4; // 支付回调金额(单位分) bool checkAmount = 5; // 是否检查金额 int32 origin = 6; // 订单来源 } // 创建支付订单 message CreateOrder { int32 PID = 1; // sdk包id int64 UID = 2; // 用户唯一id string gameNodeID = 3; // 游戏节点id int64 playerID = 4; // 玩家id int32 chargeID = 5; // 充值id int32 amount = 6; // 金额(分) int32 clientOS = 7; // 客户端os string ip = 8; // 客户端ip map extra = 9; // 扩展参数 } // 订单发货 message OrderDeliver { int64 orderID = 1; // 游戏内部订单id string sdkOrderID = 2; // 第三方sdk平台订单id int32 pid = 3; // sdk包id int64 uid = 4; // 用户唯一id string gameNodeID = 5; // 游戏节点id int64 playerID = 6; // 玩家id int32 chargeID = 7; // 充值id int32 money = 8; // 金额(分) int64 paymentTime = 9; // 支付时间 map extra = 10; // 扩展参数 } // DB队列报表 message DBQueueReport { string tableName = 1; // db表名 int64 remainCount = 2; // 级存剩余数量 int64 submitCount = 3; // 提交db数量 } message DBQueueReportList { repeated DBQueueReport list = 1; } // 发送邮件 message SendMail { int64 fromPlayerID = 1; // 发送玩家ID string fromPlayerName = 2; // 发送玩家名 int64 toPlayerID = 3; // 接收玩家ID int32 templateID = 4; // 邮件模板ID repeated string templateParams = 5; // 邮件模板参数 repeated Asset Rewards = 6; // 附件列表 } // 添加批量邮件 message AddMailBulk { int32 sendType = 1; // 发送类型 repeated int64 toPlayerIDList = 2; // 接收的玩家列表 int32 templateID = 3; // 邮件模板ID repeated string templateParams = 4; // 邮件模板参数 repeated Asset Rewards = 5; // 附件列表 int64 startTime = 6; // 生效时间 int64 expireTime = 7; // 过期时间 } // 通用玩家信息 message PlayerData { // 个人信息 int64 playerID = 1; // 玩家ID string playerName = 2; // 玩家名 int32 lordLevel = 3; // 领主等级 int32 iconID = 4; // 头像ID int32 frameID = 5; // 头像框ID int32 bgID = 6; // 主页背景 string desc = 7; // 个人简介 int32 totalLoginDays = 8; // 累计登录天数 bool isOnline = 10; // 是否在线 int32 stateID = 11; // 所属州 int32 x = 12; // 玩家主城x位置 int32 y = 13; // 玩家主城y位置 int32 prestige = 14; // 玩家声望值 // 联盟信息 int64 leagueID = 51; // 联盟ID string leagueName = 52; // 联盟名 string leagueAbbName = 53; // 联盟简称 int32 leagueJob = 54; // 联盟职位 // 赛季信息 int32 seasonID = 61; // 赛季ID // 内部信息 string PID = 101; // sdk id int64 UID = 102; // 用户ID string agentPath = 103; // actor path string IP = 104; // ip string gameNodeID = 105; // 所属 GameNode string mapNodeID = 106; // 所属 MapNode } // 玩家添加资产 message PlayerAddAssets { repeated Asset addAssets = 1; // 添加的资产 int32 origin = 2; // 来源 } message ArenaPlay { int64 playerID = 1; // 玩家id bool isWin = 2; // 是否胜利 int32 score = 3; // 积分 } // 更新最后登录的玩家信息 message UpdateLastPlayer { int32 PID = 1; // sdk包id string openID = 2; // 平台openid int64 UID = 3; // 用户唯一id string gameNodeID = 4; // 游戏服id int64 playerID = 5; // 玩家id string playerName = 6; // 玩家昵称 int32 playerLevel = 7; // 玩家等级 int32 icon = 8; // 图标 int64 power = 9; // 战力 } message LastPlayerList { repeated LastPlayer list = 1; } // 最新更新玩家信息 message LastPlayer { int64 playerID = 1; string playerName = 2; int32 playerIcon = 3; int32 playerLevel = 4; string gameNodeID = 5; int64 upTime = 6; int64 power = 7; } // 玩家添加资产 message AddAssets { int64 playerID = 1; // 玩家ID repeated Asset assets = 2; // 添加的资产 int32 origin = 3; // 来源 } // 创建联盟 message CreateLeague { int64 playerID = 1; // 创建联盟玩家ID int64 leagueID = 2; // 联盟唯一ID string leagueName = 3; // 联盟名称 string leagueAbbName = 4; // 联盟简称 int32 flagBg = 5; // 联盟背景ID L-联盟-旗帜表旗帜ID int32 flagIcon = 6; // 联盟图标ID L-联盟-旗帜表旗帜ID } // 联盟基础信息 message LeagueBaseInfo { int64 leagueID = 1; // 联盟唯一ID string leagueName = 2; // 联盟名称 string leagueAbbName = 3; // 联盟简称 } // 联盟信息 message LeagueInfo { int64 leagueID = 1; // 联盟唯一ID int64 leaderID = 2; // 盟主玩家ID string leagueName = 3; // 联盟名称 string leagueAbbName = 4; // 联盟简称 int32 level = 5; // 联盟当前等级 repeated int64 members = 6; // 联盟成员ID列表 } // 玩家联盟信息 message PlayerLeagueInfo { int64 playerID = 1; // 玩家ID int64 leagueID = 2; // 联盟唯一ID string leagueName = 3; // 联盟名称 string leagueAbbName = 4; // 联盟简称 int32 leagueJob = 5; // 联盟职位 } // 聊天群组玩家修改 message ChatGroupPlayerChange { int64 chatID = 1; // 群组聊天室ID string name = 2; // 群组聊天室名称 int64 OwnerPlayerID = 3; // 群组所属者ID repeated int64 playerIDList = 4; // 最新的玩家ID列表 } // 聊天室关联玩家加入和退出 message PlayerChatRoomUpdate { int32 chatType = 1; // 聊天室类型 int64 chatID = 2; // 聊天室ID bool isExit = 3; // 是否退出 } // 好友添加结果 message AddFriendResult { int64 playerID = 1; // 玩家ID bool result = 2; // 添加结果 int32 errCode = 3; // 提示码 } // 网关推送数据包 message GatePusher { Type type = 1; // 推送类型 repeated int64 i64List = 2; // 根据type,可能是playerID string strValue = 3; // 根据type,对应的字符串值 int32 i32Value = 4; // 根据type,对应的int32值 int64 i64Value = 5; // 根据type,对应的int64值 string route = 6; // 路由 bytes data = 7; // 数据 enum Type { Player = 0; // 根据玩家id过滤推送 GameNode = 1; // 根据游戏节点过滤推送 Map = 2; // 根据地图id过滤推送 } } // 网关踢人数据包 message GateKick { Type type = 1; // 踢人类型 repeated int64 i64List = 2; // 根据type,有可能是playerID,也有可能是uid string strValue = 3; // 根据type,对应的字符串值 string route = 4; // 路由 bytes reason = 5; // 踢人原因 bool closed = 6; // 是否断开连接 repeated string filterNodeIDS = 7; // 过滤的节点ID列表 enum Type { Player = 0; // 根据玩家id过滤踢人 GameNode = 1; // 根据游戏节点过滤踢人 UID = 2; // 根据uid过滤踢人 MapNode = 3; // 根据地图节点过滤踢人 } } // 行军消耗 message MarchCost { // 部队ID int32 teamID = 1; // 行军对象ID int64 marchObjectID = 2; // 行军类型 int32 marchType = 3; } // 战斗部队 message BattleTeam { // 部队ID int32 teamID = 1; // 成员 map members = 2; // 城建属性 Attrs facilityAttrs = 3; } // 战斗部队成员 message BattleTeamMember { // 队伍位置 (1-3) 默认1为主将位置 int32 teamIndex = 1; // 阵容位置(0-8) int32 index = 2; // 英雄唯一 ID int64 heroGUID = 3; // 英雄配置ID int32 heroConfigID = 4; // 上阵士兵ID 士兵-等级表士兵ID int32 troopsID = 5; // 兵力数量 int32 troopsNum = 6; // 统兵上限 int32 troopsLimit = 7; // 属性 Attrs fetterAttrs = 8; } // 战斗请求数据 message BattleReq { // 战斗类型 int32 battleType = 1; // 当前进攻对象的行军类型 int32 marchType = 2; // 组队进攻方 repeated BattleTeamData attackers = 3; // 防守方 BattleTeamData defender = 4; // 地块数据 BattleTileData tile = 5; // 战斗时间 int64 battleTime = 6; // 获取的资源 AssetList rewards = 7; // 扣除的耐久 int32 durability = 8; // 战斗ID(回传) int64 battleID = 9; } // 玩家英雄 message PlayerHero { // 唯一ID int64 id = 1; // 配置ID int32 configID = 3; // 英雄属性列表 Attrs attrs = 5; // 技能列表 repeated uint32 skills = 6; // 等级 int32 level = 7; // 英雄星级 int32 star = 8; } // 战斗队伍信息 message BattleTeamData { // 对象ID int64 objectID = 1; // 玩家ID int64 playerID = 2; // 玩家名称 string playerName = 3; // 联盟ID int64 leagueID = 4; // 联盟名称 string leagueName = 5; // 联盟简称 string leagueAbbName = 6; // 部队ID int32 teamID = 7; // 战报组ID string reportGroupID = 8; // 部队英雄列表 repeated int64 teamHeros = 9; // 城建属性值 Attrs attrs = 10; } // 战斗地块数据 message BattleTileData { // 地块ID int32 id = 1; // 地块对象 int32 objectType = 2; // 地块对象ID int64 objectID = 3; // 地块对象配置ID int32 objectConfigID = 4; // 位置 Point point = 5; // NPC 怪物组 repeated int32 monsters = 6; } // 战斗返回数据 message BattleRsp { // 战斗结果 bool isWin = 1; // 行军对象兵力增量同步 key:objectID value:MarchSyncTroops repeated MarchSyncTroops marchTroops = 2; // 战斗请求数据 TODO:根据实际需要返回 BattleReq data = 3; // 掠夺的资源 repeated Asset snatchRes = 4; } // 服务器战斗参数 message ServerBattleCampParam { // 战斗参数 BattleCampParam param = 1; // 英雄部队位置 I64I32Map heroTeamIndex = 2; } // AOI 对象 message AOIObject { int64 objectID = 1; // 对象ID int32 objectType = 2; // 对象类型 int32 x = 3; // x int32 y = 4; // y int64 onwerID = 5; // 所有者ID bool isWatcher = 6; // 是否观察者 bool isMarker = 7; // 是否被观察者 } // 行军请求 message MarchRequest { int32 teamID = 1; // 队伍ID int64 objectID = 2; // 对象ID int32 marchType = 3; // 行军类型 Point point = 4; // 坐标 int64 targetObjectID = 5; // 目标对象ID int32 retreatState = 6; // 类型为撤退时的状态 repeated Point path = 10; // 路径 bool isMainForce = 11; // 攻城集结时是否作为主力部队 bool isAutoRetreat = 12; // 是否自动撤退 MarchSync marchSync = 20; // 行军同步 } // 自动行军请求 message AutoMarchRequest { int32 teamID = 1; // 队伍ID int64 objectID = 2; // 对象ID int32 marchType = 3; // 行军类型 Point start = 4; // 起始坐标 Point end = 5; // 终点坐标 } // 集结请求 message AssembleRequest { int64 playerID = 1; // 发起集结的玩家ID int64 leagueID = 2; // 发起集结的玩家的联盟ID int64 marchObjectID = 3; // 要集结的行军对象ID int64 targetObjectID = 4; // 集结攻打的目标ID int32 targetObjectType = 5; // 集结攻打的目标类型 int64 assembleTime = 6; // 集结时间(毫秒) repeated Point path = 7; // 行军路径 bool isAutoRetreat = 8; // 是否自动撤退 MarchSync marchSync = 20; // 行军同步 } // 行军同步 message MarchSync { int64 playerID = 1; // 玩家ID int64 leagueID = 2; // 联盟ID int32 teamID = 3; // 队伍ID int64 objectID = 4; // 对象ID int32 marchState = 5; // 队伍状态 Point point = 6; // 坐标 repeated MarchMember members = 7; // 成员 string gameNodeID = 8; // 游戏节点ID int64 injureEndTime = 9; // 重伤结束时间 } // 行军同步兵力(增量同步) message MarchSyncTroops { int32 teamID = 1; // 队伍ID int64 objectID = 2; // 对象ID repeated MarchTroops troops = 3; // 兵力 int32 killTroops = 4; // 杀敌兵数(暂只有讨伐会记录) } // 行军兵力 message MarchTroops { int32 teamIndex = 1; // 队伍下标 int32 troopsNum = 2; // 当前兵力 int32 troopsMax = 3; // 最大兵力 } // 部队战损 message TeamBattleDamage { int32 teamID = 1; // 部队ID int64 objectID = 2; // 对象ID map members = 3; // 部队成员战损 key:teamIndex value:MemberDamage int32 killTroops = 4; // 杀敌兵数(暂只有讨伐会记录) } // 部队成员 message TeamMemberDamage { int32 teamIndex = 1; // 队伍下标 int32 troopsNum = 2; // 出战前的兵力 int32 soldierNum = 3; // 剩余兵力 int64 featNum = 4; // pvp功勋 } // 行军成员 message MarchMember { int32 teamIndex = 1; // 队伍下标 int32 lineupIndex = 2; // 阵容下标 int64 heroGUID = 10; // 英雄唯一ID int32 heroConfigID = 11; // 英雄配置ID int32 energy = 12; // 体力 int32 armID = 20; // 兵种ID int64 armWeight = 21; // 兵种负重 int32 troopsNum = 22; // 兵力数(全量同步) int32 troopsMax = 23; // 兵力上限 } // 行军检测 message MarchCheck { int64 marchObjectID = 1; // 行军对象ID int32 marchType = 2; // 行军类型 int32 x = 3; // 行军x坐标 int32 y = 4; // 行军y坐标 } // 地图玩家建筑建造请求 message BuildRequest { int32 configID = 1; // 建筑配置ID int64 playerID = 2; // 玩家ID int64 leagueID = 3; // 联盟ID int32 x = 4; // x坐标 int32 y = 5; // y坐标 int64 buildEndTime = 6; // 建造截至时间(ms) int32 buildLimit = 7; // 建筑数量上限 } // 地图联盟建筑建造请求 message BuildLeagueRequest { int32 configID = 1; // 建筑配置ID int64 leagueID = 2; // 联盟ID int32 level = 3; // 建筑等级 默认1级 int32 x = 4; // x坐标 int32 y = 5; // y坐标 int64 buildEndTime = 6; // 建造截至时间(ms) } // 建筑更新 message BuildUpdate { int32 configID = 1; // 建筑配置ID int64 objectID = 2; // 对象ID int32 x = 3; // x坐标 int32 y = 4; // y坐标 bool isAdd = 5; // 是否添加 } // 建筑升级 message BuildUpgradeRequest { int32 configID = 2; // 建筑配置ID int64 objectID = 1; // 建筑对象ID int32 level = 3; // 建筑升级等级 int64 playerID = 4; // 玩家ID int64 leagueID = 5; // 联盟ID int64 upgradeEndTime = 6; // 升级截至时间 单位毫秒 } // 攻城更新 message SiegeUpdate { // 城池对象ID int64 castleObjectID = 1; // 阶段 int32 siegeStage = 2; // 阶段结束时间 int64 stageEndTime = 3; } // 玩家详细信息 message PlayerDetailInfo { AccountInfo account = 1; // 账号信息 PlayerInfo player = 2; // 玩家信息 ChargeInfo charge = 3; // 充值信息 repeated I32I64 items = 4; // 资源列表 key: 资源ID value: 资源数量 repeated HeroData heroes = 5; // 英雄列表 repeated Mail mails = 6; // 邮件列表 } // 账号数据 message AccountInfo { string accountID = 1; // 账号ID string facebookID = 2; // FaceBookID string googleID = 3; // googleID string appleID = 4; // 苹果ID string email = 5; // email string phone = 6; // 手机号码 } // 玩家信息 message PlayerInfo { string gameNodeID = 1; // 游戏节点ID int64 playerID = 2; // 玩家ID string playerName = 3; // 玩家名称 int32 level = 4; // 玩家等级 int64 power = 5; // 战力 string leagueName = 6; // 联盟名称 string registerIMEI = 7; // 注册IMEI string registerIP = 8; // 注册IP int64 registerTime = 9; // 注册时间 string lastLoginIMEI = 10; // 最后登录IMEI string lastLoginIP = 11; // 最后登录IP int64 lastLoginTime = 12; // 最后登录时间 bool isOnline = 13; // 是否在线 } // 玩家充值数据 message ChargeInfo { int32 totalCharge = 1; // 累计充值金额 int32 ChargeCount = 2; // 累计充值次数 } // 英雄基础数据 message HeroData { int32 heroID = 1; // 英雄ID int32 star = 2; // 英雄星级 int32 level = 3; // 英雄等级 int32 count = 4; // 英雄数量 } // 录像数据 message RecordData { string recordID = 1; // 录像ID bytes data = 2; // 录像数据 bool isFail = 3; // 是否是验证失败的录像 } // 联盟改名 message LeagueNameChange { int64 playerID = 1; // 玩家ID int64 leagueID = 2; // 联盟ID string newName = 3; // 新名称 } message LeagueMemberRecordUpdateList { // 更新列表 repeated LeagueMemberRecordUpdate list = 1; } // 更新联盟成员战绩 message LeagueMemberRecordUpdate { int64 playerID = 1; // 玩家名称 repeated I32I32 records = 2; // 联盟成员战绩 key 战绩类型 value 增加值 } // 新集结信息 message NewAssemble { // 集结的军团对象ID int64 legionObjectID = 1; // 发起集结的成员信息 AssembleMember leadMember = 2; // 发起集结的玩家坐标 Point point = 3; // 被集结的目标对象ID int64 targetObjectID = 10; // 被集结的目标配置ID int32 targetConfigID = 11; // 被集结的目标对象类型 int32 targetObjectType = 12; // 被集结的目标坐标 Point targetPoint = 13; // 集结结束时间 int64 endTime = 20; } // 集结成员 message AssembleMember { // 玩家ID int64 playerID = 1; // 玩家名 string playerName = 2; // 集结的行军对象ID int64 marchObjectID = 3; // 部队ID int32 teamID = 4; // 兵力 int32 troopsNum = 5; // 主将英雄的唯一ID int64 heroGUID = 6; // 到达时间(毫秒) int64 arriveTime = 7; } // 集结更新 message AssembleUpdate { // 集结的军团对象ID int64 legionObjectID = 1; // 新加入的成员 AssembleMember newMember = 2; // 退出的成员 int64 quitMember = 3; // 是否出发 bool isDepart = 4; // 是否解散 bool isDisband = 5; } // 玩家登录地图请求 message PlayerMapLoginRequest { // 玩家ID int64 playerID = 1; // 联盟ID int64 leagueID = 2; // 玩家拥有的地图对象ID,key:ObjectID, value:ObjectType map objectIDs = 3; } // 更新联盟名称请求 message UpdateLeagueNameRequest { // 联盟ID int64 leagueID = 1; // 联盟名称 string name = 2; // 联盟简称 string abbName = 3; } message LeagueDiplomacyHandle { // 处理玩家ID int64 playerID = 1; // 处理联盟ID int64 handleLeagueID = 2; // 处理申请类型 1友盟 2联邦 int32 applyType = 3; // 是否同意 true同意 false拒绝 bool agree = 4; } message LeagueDiplomacyResult { // 处理联盟ID int64 leagueID = 1; // 处理联盟名称 string leagueName = 2; // 处理申请类型 1友盟 2联邦 int32 applyType = 3; } // 部队城外征兵成员数据 message TeamOutsideTroopsMember { // 兵种等级表ID int32 troopsID = 1; // 当前兵力 int32 troopsNum = 2; // 兵力上限 int32 troopsLimit = 3; } // 部队城外征兵数据更新 message TeamOutsideTroopsUpdate { // 玩家ID int64 playerID = 1; // 部队ID int32 teamID = 2; // 征兵结束时间(最长) int64 conscriptEndTime = 3; } // 同步地图玩家信息请求 message SyncMapPlayerRequest { // 玩家ID int64 playerID = 1; // 玩家名称 string playerName = 2; // 玩家头像ID int32 iconID = 3; // 玩家头像框ID int32 frameID = 4; // 游戏节点ID string gameNodeID = 10; } // 同步地图玩家vip message SyncMapPlayerVip { // 玩家ID int64 playerID = 1; // 等级 int32 level = 2; // 属性 Attrs attrs = 3; // 到期时间 int64 expireTime = 4; } // 观察者的数据集合 message MapWatcherData { // 观察者ID int64 objectID = 1; // 观察者坐标点 Point point = 2; // 地图对象列表 repeated MapObject objectList = 3; // 军团列表 repeated MapLegion legionList = 4; } // 玩家交易物品 message PlayerExchangeItem { // 玩家ID int64 playerID = 1; // 玩家游戏服节点ID string gameNodeID = 2; // 玩家赛季ID int32 seasonID = 3; // 交易材料或资源信息 ExchangeItem itemInfo = 4; // 出售的装备信息 ExchangeEquipSell equipSell = 5; // 求购已达上限状态 bool isWishLimit = 6; } // 玩家购买商品 message PlayerExchangeBuyItem { // 玩家ID int64 playerID = 1; // 玩家游戏服节点ID string gameNodeID = 2; // 商品流水号 string transID = 3; // 购买数量 int64 count = 4; } // 交易成功商品详情 message ExchangeDeliverDetail { // 买方玩家ID int64 playerID = 1; // 交易商品详情 ExchangeDetail detail = 2; // 交易数量 int64 count = 3; // 求购单价 int32 wishPrice = 4; } // 给玩家发货信息 message PlayerExchangeItemDeliver { // 玩家ID int64 playerID = 1; // 发货的商品流水号 string transID = 2; // 交易商品ID int32 goodsID = 3; // 单价 int32 price = 4; // 交易数量 int64 count = 5; // 求购单价 int32 wishPrice = 6; // 是否是买方 bool isBuyer = 7; } // 查询我的交易物品请求 message PlayerExchangeMyItem { // 玩家ID int64 playerID = 1; // 类型 1:出售 2:求购 int32 actType = 2; // 流水号ID列表 StrList transIDs = 3; } // 更新我的交易物品请求 message PlayerExchangeItemUpdate { // 玩家ID int64 playerID = 1; // 更新类型 int32 updateType = 2; // 交易类型 1:出售 2:求购 int32 actType = 3; // 流水号ID string TransID = 4; // 求购已达上限状态 bool isWishLimit = 5; } // 玩家再起 message PlayerComeback { // 玩家ID int64 playerID = 1; // 是否重新选州 bool rechoose = 2; // 选的州ID int32 stateID = 3; } // 玩家进入地图请求 message MapEnterRequest { // 玩家ID int64 playerID = 1; // 联盟ID int64 leagueID = 2; // 是否新玩家 bool isNewPlayer = 3; // 玩家名称 string playerName = 10; // 玩家头像ID int32 iconID = 11; // 玩家头像框ID int32 frameID = 12; } // [请求] 选择出生州 message SelectStateRequest { // 出生州ID int32 stateID = 1; // 玩家ID int64 playerID = 2; // 联盟ID int64 leagueID = 3; // 玩家名称 string playerName = 4; // 玩家头像ID int32 iconID = 5; // 玩家头像框ID int32 frameID = 6; } // [响应] 选择出生州 message SelectStateResponse { // 观察者对象ID int64 objectID = 1; // 出生坐标 Point point = 2; } // 自动撤退 message AutoRetreat { // 队伍ID int32 teamID = 1; // 撤退的行军状态 int32 marchState = 2; // 是否移除调动点 bool isRemoveRedeploy = 3; } // 自动防守 message AutoDefend { // 建筑对象ID int64 buildObjectID = 1; // 行军对象ID列表 repeated AutoDefendMember members = 2; } // 自动防守成员 message AutoDefendMember { // 行军对象ID int64 marchObjectID = 1; // 是否同步 MarchSync marchSync = 2; } // 更新观察者坐标点 message UpdateWatcherPoint { // 坐标 Point point = 1; // 是否失败 bool isFailed = 2; } // 更新部队 message UpdateTeam { // 更新的部队ID int32 teamID = 1; // 根据更新类型读取下面的数据 int32 teamUpdateType = 2; // 调动点的对象ID int64 redeployObjectID = 10; // 调动点的对象类型 int32 redeployObjectType = 11; // TODO 其它 } // 寻路请求 message FindPathRequest { // 起点X坐标 int32 startX = 1; // 起点Y坐标 int32 startY = 2; // 终点X坐标 int32 endX = 3; // 终点Y坐标 int32 endY = 4; // 玩家ID int64 playerID = 10; // 联盟ID int64 leagueID = 11; // 行军类型 int32 marchType = 20; } // 自动防守请求 message AutoDefendRequest { // 建筑对象ID int64 buildObjectID = 1; // teamIDs repeated int32 teamIDs = 2; } // 侦察检测 message CheckScoutResult { // 侦察玩家ID int64 targetPlayerID = 1; // 侦察玩家名称 string targetPlayerName = 2; // 侦察坐标 Point point = 3; // 返回当前目标状态 1保护 暂时无用 后续定义更新 int32 targetState = 4; } // 侦察请求 message ScoutRequest { // 侦察队列ID int32 queueID = 1; // 侦察类型 1:侦察-行军 2:侦察开始 int32 scoutType = 2; // 侦察玩家ID int64 playerID = 3; // 结束时间戳 单位毫秒 int64 endTime = 4; } // 侦察状态更新通知 message ScoutUpdateNotice { // 侦察开启队列列表 repeated int32 starts = 1; // 侦察结束队列列表 repeated int32 ends = 2; } // 侦察结果 message ScoutSearchResult { // 侦察队列ID int32 queueID = 1; // 被侦察玩家ID int64 targetPlayerID = 2; // 被侦察玩家名称 string targetPlayerName = 3; // 侦察结果 资源列表 AssetList assets = 4; }