150 lines
5.0 KiB
Protocol Buffer
150 lines
5.0 KiB
Protocol Buffer
syntax = "proto3";
|
||
package Pb;
|
||
option go_package = "pb/";
|
||
|
||
import "enums.proto";
|
||
|
||
// ModId.ModuleItem: 6000;
|
||
// 物品模块消息定义
|
||
// 如果定义的消息内没有字段或者消息被注释掉了,说明该请求不需要参数,发送消息时仅发送包头即可,包体可为空, 返回的消息亦是如此。
|
||
|
||
message Item {
|
||
uint32 ItemId = 1; //物品ID,多个道具物品在背包中是堆叠的,可以用物品ID做为键
|
||
uint32 ItemNum = 2; //物品数量
|
||
int64 Expired = 3; //到期时间
|
||
}
|
||
|
||
// MsgId.ModItemList: 6001
|
||
// 物品列表返回, 玩家进入游戏时返回的所有物品列表
|
||
// 包括了所有的道具,包括装备、宝物等的各种碎片,显示于不同列表的物品需要按类型做一下分类,
|
||
// 但装备、宝物等会有多个相同物品的,会单独返回列表
|
||
message ItemListAck {
|
||
repeated Item ItemList = 1;
|
||
}
|
||
|
||
// 关于Change的消息,有些数据会触发删除操作的。
|
||
// 才会有一个专门的Change消息,即ChangeType=2时,前端要从列表中删除数据项。
|
||
// 对于一些没有删除操作的数据,List和Change虽然是两个不同的消息ID,但返回的消息基本上是同一个ListAck。
|
||
// List和Change两个不同消息ID的区别在于,List用于登录或者重连时一次性同步所有数据,列表是完整的,即清空源数据直接使用源返回的数据。
|
||
// 而Change消息ID用于发生变更时仅返回发了改变的数据,通过Key查找字典中的数据变做修改即可。
|
||
// 其他类似带Change的消息基本都是这样的操作。
|
||
message ItemChange {
|
||
ChangeType ChangeType = 1;
|
||
Item Item = 2; //ChangeType=ChangeType.Delete时, Item中只有Uid有值,用于索引删除
|
||
}
|
||
|
||
// MsgId.ModItemChange: 6002
|
||
// 物品变更列表返回
|
||
message ItemChangeListAck {
|
||
repeated ItemChange ChangeList = 1;
|
||
}
|
||
|
||
// MsgId.ModItemUse: 6003
|
||
// 物品使用请求, 若有弹窗提示需要,可与服务端协商返回一个
|
||
message ItemUseReq {
|
||
uint32 ItemId = 1; //物品ID
|
||
uint32 ItemNum = 2; //物品数量
|
||
}
|
||
|
||
|
||
// MsgId.ModItemUse: 6003
|
||
// 物品使用返回, 消息暂未使用,通常物品发生改变由6002物品变更消息返回,用于触发对前端物品数据的操作。
|
||
// 但如果有弹窗提示的需要,可与服务端协商另外返回一个ItemUseAck用于触发提示(字段待商定)。
|
||
// 再有其他类似情况(如物品出售)不再一一注释,匀可与服务端协商。
|
||
//message ItemUseAck {
|
||
//}
|
||
|
||
// MsgId.ModItemSale: 6004
|
||
// 物品出售请求
|
||
message ItemSaleReq {
|
||
repeated Item ItemList = 1;
|
||
}
|
||
|
||
// MsgId.ModItemSale: 6004
|
||
// 物品出售返回
|
||
//message ItemSaleAck {
|
||
//}
|
||
|
||
message Equip {
|
||
uint64 Uid = 1; //玩家装备在列表中的唯一ID,列表中会有多个相同装备, 故不能用Id做为键
|
||
uint32 Id = 2; //配置表ID
|
||
uint32 Level = 3; //等级经验
|
||
uint32 RefineExp = 4; //强化等级
|
||
uint32 RefineLevel = 5; //精炼等级
|
||
repeated uint64 Holes1 = 6; //普通孔镶嵌
|
||
repeated uint64 Holes2 = 7; //特殊孔镶嵌
|
||
uint64 HeroUid = 8; //装备的英雄
|
||
}
|
||
|
||
// MsgId.ModEquipList: 6011
|
||
// 装备列表返回
|
||
message EquipListAck {
|
||
repeated Equip EquipList = 1;
|
||
}
|
||
|
||
message EquipChange {
|
||
ChangeType ChangeType = 1;
|
||
Equip Equip = 2; //ChangeType=ChangeType.Delete时, Equip中只有Uid有值,用于索引删除
|
||
}
|
||
|
||
// MsgId.ModEquipChange: 6012
|
||
// 装备变更列表返回
|
||
message EquipChangeListAck {
|
||
repeated EquipChange ChangeList = 1;
|
||
}
|
||
|
||
// MsgId.ModEquipUpgrade: 6013
|
||
// 装备升级请求
|
||
message EquipUpgradeReq {
|
||
uint64 EquipUid = 1;
|
||
}
|
||
|
||
// MsgId.ModEquipRefine: 6014
|
||
// 装备精炼请求
|
||
message EquipRefineReq {
|
||
uint64 EquipUid = 1;
|
||
uint32 Type = 2; //类型1:按等级精炼,2:按物品精炼
|
||
uint32 Value = 3; //Type == 1 精炼等级(填1), Type == 2 物品ID
|
||
}
|
||
|
||
message Treasure {
|
||
uint64 Uid = 1; //玩家宝物在列表中的唯一ID,列表中会有多个相同宝物, 故不能用Id做为键
|
||
uint32 Id = 2; //配置表ID
|
||
uint32 Exp = 3; //等级经验
|
||
uint32 Level = 4; //强化等级
|
||
uint32 RefineLevel = 5; //精炼等级
|
||
repeated uint64 Holes1 = 6; //普通孔镶嵌
|
||
repeated uint64 Holes2 = 7; //特殊孔镶嵌
|
||
uint64 HeroUid = 8; //装备的英雄
|
||
}
|
||
|
||
// MsgId.ModItemTreasureList = 6021;
|
||
// 宝物列表返回
|
||
message TreasureListAck {
|
||
repeated Treasure TreasureList = 1;
|
||
}
|
||
|
||
message TreasureChange {
|
||
ChangeType ChangeType = 1;
|
||
Treasure Treasure = 2; //ChangeType=ChangeType.Delete时, Treasure中只有Uid有值,用于索引删除
|
||
}
|
||
|
||
// MsgId.ModItemTreasureChange = 6022;
|
||
// 宝物变更列表返回
|
||
message TreasureChangeListAck {
|
||
repeated TreasureChange ChangeList = 1;
|
||
}
|
||
|
||
// MsgId.ModTreasureUpgrade: 6023
|
||
// 宝物精炼请求
|
||
message TreasureUpgradeReq {
|
||
uint64 TreasureUid = 1;
|
||
uint32 Type = 2; //类型1:按等级精炼,2:按物品精炼
|
||
uint32 Value = 3; //Type == 1 精炼等级(填1), Type == 2 物品ID
|
||
}
|
||
|
||
// MsgId.ModTreasureRefine: 6024
|
||
// 宝物升级请求
|
||
message TreasureRefineReq {
|
||
uint64 TreasureUid = 1;
|
||
} |