Commit 92256e324771fac8fc6a43b486706237e425a755
1 parent
8db23cb6
fix: 结束战斗的协议加上队伍id
Showing
6 changed files
with
117 additions
and
26 deletions
Show diff stats
cmd/gameserver/action/RoleAction.go
| @@ -221,6 +221,13 @@ func RoleEndBattleRpc(role *models.RoleModel, msg components.IMessage) (int32, i | @@ -221,6 +221,13 @@ func RoleEndBattleRpc(role *models.RoleModel, msg components.IMessage) (int32, i | ||
| 221 | return 2, nil | 221 | return 2, nil |
| 222 | } | 222 | } |
| 223 | 223 | ||
| 224 | + //team | ||
| 225 | + team, ok := role.Teams[req.TeamId] | ||
| 226 | + if !ok { | ||
| 227 | + logger.Error("team not exists") | ||
| 228 | + return 3, nil | ||
| 229 | + } | ||
| 230 | + | ||
| 224 | reward := make(common.IMapStringNum) | 231 | reward := make(common.IMapStringNum) |
| 225 | if !first { | 232 | if !first { |
| 226 | role.Role.PassChapters[req.ChapterId] = 1 | 233 | role.Role.PassChapters[req.ChapterId] = 1 |
| @@ -252,12 +259,40 @@ func RoleEndBattleRpc(role *models.RoleModel, msg components.IMessage) (int32, i | @@ -252,12 +259,40 @@ func RoleEndBattleRpc(role *models.RoleModel, msg components.IMessage) (int32, i | ||
| 252 | level, exp := role.UpLevel(amount) | 259 | level, exp := role.UpLevel(amount) |
| 253 | role.UpdateProperties(map[string]interface{}{"level": level, "exp": exp}, true) | 260 | role.UpdateProperties(map[string]interface{}{"level": level, "exp": exp}, true) |
| 254 | 261 | ||
| 262 | + //team exp | ||
| 263 | + heros := make([]*pb.Hero, 4) | ||
| 264 | + t := team.(*models.TeamModel).Team | ||
| 265 | + h1, ok := role.Heros[t.HeroId1] | ||
| 266 | + if ok { | ||
| 267 | + level, exp := h1.(*models.HeroModel).UpLevel(amount) | ||
| 268 | + h1.SetProperty("level", level) | ||
| 269 | + h1.SetProperty("exp", exp) | ||
| 270 | + heros = append(heros, h1.(*models.HeroModel).Hero) | ||
| 271 | + } | ||
| 272 | + | ||
| 273 | + h2, ok := role.Heros[t.HeroId2] | ||
| 274 | + if ok { | ||
| 275 | + level, exp := h2.(*models.HeroModel).UpLevel(amount) | ||
| 276 | + h2.SetProperty("level", level) | ||
| 277 | + h2.SetProperty("exp", exp) | ||
| 278 | + heros = append(heros, h2.(*models.HeroModel).Hero) | ||
| 279 | + } | ||
| 280 | + | ||
| 281 | + h3, ok := role.Heros[t.HeroId3] | ||
| 282 | + if ok { | ||
| 283 | + level, exp := h3.(*models.HeroModel).UpLevel(amount) | ||
| 284 | + h3.SetProperty("level", level) | ||
| 285 | + h3.SetProperty("exp", exp) | ||
| 286 | + heros = append(heros, h3.(*models.HeroModel).Hero) | ||
| 287 | + } | ||
| 288 | + | ||
| 255 | rsp := &pb.RoleEndBattleRsp{ | 289 | rsp := &pb.RoleEndBattleRsp{ |
| 256 | RoleLevel: level, | 290 | RoleLevel: level, |
| 257 | RoleExp: exp, | 291 | RoleExp: exp, |
| 258 | RoleExpamount: amount, | 292 | RoleExpamount: amount, |
| 259 | Pass: req.Pass, | 293 | Pass: req.Pass, |
| 260 | Reward: common.MapNumToString(reward), | 294 | Reward: common.MapNumToString(reward), |
| 295 | + Hero: heros, | ||
| 261 | } | 296 | } |
| 262 | return 0, rsp | 297 | return 0, rsp |
| 263 | } | 298 | } |
cmd/gameserver/action/protocode.go
| @@ -18,4 +18,4 @@ func GetActionMap() map[interface{}]interface{} { | @@ -18,4 +18,4 @@ func GetActionMap() map[interface{}]interface{} { | ||
| 18 | am[uint32(pb.ProtoCode_EquipmentDelReq)] = EquipmentDelRpc | 18 | am[uint32(pb.ProtoCode_EquipmentDelReq)] = EquipmentDelRpc |
| 19 | 19 | ||
| 20 | return am | 20 | return am |
| 21 | -} | 21 | -} |
| 22 | +} | ||
| 22 | \ No newline at end of file | 23 | \ No newline at end of file |
models/hero.go
| @@ -3,6 +3,7 @@ package models | @@ -3,6 +3,7 @@ package models | ||
| 3 | import ( | 3 | import ( |
| 4 | "pro2d/common" | 4 | "pro2d/common" |
| 5 | "pro2d/common/components" | 5 | "pro2d/common/components" |
| 6 | + "pro2d/csvdata" | ||
| 6 | "pro2d/pb" | 7 | "pro2d/pb" |
| 7 | ) | 8 | ) |
| 8 | 9 | ||
| @@ -30,3 +31,33 @@ func (m *HeroModel) UpdateEquipment(key string, typ string) { | @@ -30,3 +31,33 @@ func (m *HeroModel) UpdateEquipment(key string, typ string) { | ||
| 30 | 31 | ||
| 31 | m.SetProperty("equipments", common.MapToString(m.Equipments)) | 32 | m.SetProperty("equipments", common.MapToString(m.Equipments)) |
| 32 | } | 33 | } |
| 34 | +func (m *HeroModel) UpLevel(exp int32) (int32, int32) { | ||
| 35 | + level := m.Hero.Level | ||
| 36 | + oldLevelExp := csvdata.Get().TbHeroLevelExp.Get(level) | ||
| 37 | + if oldLevelExp == nil { | ||
| 38 | + return level, m.Hero.Exp | ||
| 39 | + } | ||
| 40 | + if exp >= oldLevelExp.NeedExp-m.Hero.Exp { | ||
| 41 | + exp = exp - (oldLevelExp.NeedExp - m.Hero.Exp) | ||
| 42 | + level++ | ||
| 43 | + | ||
| 44 | + for exp > 0 { | ||
| 45 | + oldLevelExp = csvdata.Get().TbHeroLevelExp.Get(level) | ||
| 46 | + if oldLevelExp == nil { | ||
| 47 | + return level, exp | ||
| 48 | + } | ||
| 49 | + | ||
| 50 | + if exp >= oldLevelExp.NeedExp { | ||
| 51 | + exp = exp - oldLevelExp.NeedExp | ||
| 52 | + level++ | ||
| 53 | + } else { | ||
| 54 | + exp = exp + m.Hero.Exp | ||
| 55 | + break | ||
| 56 | + } | ||
| 57 | + } | ||
| 58 | + | ||
| 59 | + } else { | ||
| 60 | + exp = exp + m.Hero.Exp | ||
| 61 | + } | ||
| 62 | + return level, exp | ||
| 63 | +} |
models/rolePlugin.go
| @@ -161,7 +161,6 @@ func (m *RoleModel) UpLevel(exp int32) (int32, int32) { | @@ -161,7 +161,6 @@ func (m *RoleModel) UpLevel(exp int32) (int32, int32) { | ||
| 161 | exp = exp + m.Role.Exp | 161 | exp = exp + m.Role.Exp |
| 162 | } | 162 | } |
| 163 | return level, exp | 163 | return level, exp |
| 164 | - | ||
| 165 | } | 164 | } |
| 166 | 165 | ||
| 167 | func (m *RoleModel) Award(award common.IMapStringNum) common.IMapStringNum { | 166 | func (m *RoleModel) Award(award common.IMapStringNum) common.IMapStringNum { |
models/team.go
| @@ -2,6 +2,8 @@ package models | @@ -2,6 +2,8 @@ package models | ||
| 2 | 2 | ||
| 3 | import ( | 3 | import ( |
| 4 | "pro2d/common/components" | 4 | "pro2d/common/components" |
| 5 | + "pro2d/common/db/mongoproxy" | ||
| 6 | + "pro2d/common/logger" | ||
| 5 | "pro2d/pb" | 7 | "pro2d/pb" |
| 6 | ) | 8 | ) |
| 7 | 9 | ||
| @@ -19,3 +21,16 @@ func NewTeam(data *pb.Team) *TeamModel { | @@ -19,3 +21,16 @@ func NewTeam(data *pb.Team) *TeamModel { | ||
| 19 | 21 | ||
| 20 | return m | 22 | return m |
| 21 | } | 23 | } |
| 24 | + | ||
| 25 | +func TeamExistsByID(id string) *TeamModel { | ||
| 26 | + data := &pb.Team{Id: id} | ||
| 27 | + if err := mongoproxy.FindOne(mongoproxy.GetCollName(data), mongoproxy.GetBsonM("id", id), data); err != nil { | ||
| 28 | + logger.Error("Role not exist err: %v", err) | ||
| 29 | + return nil | ||
| 30 | + } | ||
| 31 | + r := &TeamModel{ | ||
| 32 | + ISchema: NewSchema(data.Id, data), | ||
| 33 | + Team: data, | ||
| 34 | + } | ||
| 35 | + return r | ||
| 36 | +} |
pb/game.pb.go
| @@ -661,9 +661,10 @@ type RoleEndBattleReq struct { | @@ -661,9 +661,10 @@ type RoleEndBattleReq struct { | ||
| 661 | sizeCache protoimpl.SizeCache | 661 | sizeCache protoimpl.SizeCache |
| 662 | unknownFields protoimpl.UnknownFields | 662 | unknownFields protoimpl.UnknownFields |
| 663 | 663 | ||
| 664 | - ChapterId int32 `protobuf:"varint,1,opt,name=chapter_id,json=chapterId,proto3" json:"chapter_id,omitempty"` | ||
| 665 | - CarbonId int32 `protobuf:"varint,2,opt,name=carbon_id,json=carbonId,proto3" json:"carbon_id,omitempty"` | ||
| 666 | - Pass bool `protobuf:"varint,3,opt,name=pass,proto3" json:"pass,omitempty"` | 664 | + ChapterId int32 `protobuf:"varint,1,opt,name=chapter_id,json=chapterId,proto3" json:"chapter_id,omitempty"` |
| 665 | + CarbonId int32 `protobuf:"varint,2,opt,name=carbon_id,json=carbonId,proto3" json:"carbon_id,omitempty"` | ||
| 666 | + Pass bool `protobuf:"varint,3,opt,name=pass,proto3" json:"pass,omitempty"` | ||
| 667 | + TeamId string `protobuf:"bytes,4,opt,name=team_id,json=teamId,proto3" json:"team_id,omitempty"` | ||
| 667 | } | 668 | } |
| 668 | 669 | ||
| 669 | func (x *RoleEndBattleReq) Reset() { | 670 | func (x *RoleEndBattleReq) Reset() { |
| @@ -719,6 +720,14 @@ func (x *RoleEndBattleReq) GetPass() bool { | @@ -719,6 +720,14 @@ func (x *RoleEndBattleReq) GetPass() bool { | ||
| 719 | return false | 720 | return false |
| 720 | } | 721 | } |
| 721 | 722 | ||
| 723 | +func (x *RoleEndBattleReq) GetTeamId() string { | ||
| 724 | + if x != nil { | ||
| 725 | + return x.TeamId | ||
| 726 | + } | ||
| 727 | + return "" | ||
| 728 | +} | ||
| 729 | + | ||
| 730 | +//ResponseCmd RoleEndBattleRsp | ||
| 722 | type RoleEndBattleRsp struct { | 731 | type RoleEndBattleRsp struct { |
| 723 | state protoimpl.MessageState | 732 | state protoimpl.MessageState |
| 724 | sizeCache protoimpl.SizeCache | 733 | sizeCache protoimpl.SizeCache |
| @@ -954,32 +963,34 @@ var file_game_proto_rawDesc = []byte{ | @@ -954,32 +963,34 @@ var file_game_proto_rawDesc = []byte{ | ||
| 954 | 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x63, 0x68, 0x61, 0x70, 0x74, 0x65, | 963 | 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x63, 0x68, 0x61, 0x70, 0x74, 0x65, |
| 955 | 0x72, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x61, 0x72, 0x62, 0x6f, 0x6e, 0x5f, 0x69, 0x64, | 964 | 0x72, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x61, 0x72, 0x62, 0x6f, 0x6e, 0x5f, 0x69, 0x64, |
| 956 | 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x63, 0x61, 0x72, 0x62, 0x6f, 0x6e, 0x49, 0x64, | 965 | 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x63, 0x61, 0x72, 0x62, 0x6f, 0x6e, 0x49, 0x64, |
| 957 | - 0x22, 0x62, 0x0a, 0x10, 0x52, 0x6f, 0x6c, 0x65, 0x45, 0x6e, 0x64, 0x42, 0x61, 0x74, 0x74, 0x6c, | 966 | + 0x22, 0x7b, 0x0a, 0x10, 0x52, 0x6f, 0x6c, 0x65, 0x45, 0x6e, 0x64, 0x42, 0x61, 0x74, 0x74, 0x6c, |
| 958 | 0x65, 0x52, 0x65, 0x71, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x70, 0x74, 0x65, 0x72, 0x5f, | 967 | 0x65, 0x52, 0x65, 0x71, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x70, 0x74, 0x65, 0x72, 0x5f, |
| 959 | 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x63, 0x68, 0x61, 0x70, 0x74, 0x65, | 968 | 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x63, 0x68, 0x61, 0x70, 0x74, 0x65, |
| 960 | 0x72, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x61, 0x72, 0x62, 0x6f, 0x6e, 0x5f, 0x69, 0x64, | 969 | 0x72, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x61, 0x72, 0x62, 0x6f, 0x6e, 0x5f, 0x69, 0x64, |
| 961 | 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x63, 0x61, 0x72, 0x62, 0x6f, 0x6e, 0x49, 0x64, | 970 | 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x63, 0x61, 0x72, 0x62, 0x6f, 0x6e, 0x49, 0x64, |
| 962 | 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, | 971 | 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, |
| 963 | - 0x70, 0x61, 0x73, 0x73, 0x22, 0xc1, 0x01, 0x0a, 0x10, 0x52, 0x6f, 0x6c, 0x65, 0x45, 0x6e, 0x64, | ||
| 964 | - 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x52, 0x73, 0x70, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x6f, 0x6c, | ||
| 965 | - 0x65, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x72, | ||
| 966 | - 0x6f, 0x6c, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x19, 0x0a, 0x08, 0x72, 0x6f, 0x6c, 0x65, | ||
| 967 | - 0x5f, 0x65, 0x78, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x6f, 0x6c, 0x65, | ||
| 968 | - 0x45, 0x78, 0x70, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x6f, 0x6c, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x61, | ||
| 969 | - 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x72, 0x6f, 0x6c, | ||
| 970 | - 0x65, 0x45, 0x78, 0x70, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, | ||
| 971 | - 0x77, 0x61, 0x72, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x77, 0x61, | ||
| 972 | - 0x72, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x73, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, | ||
| 973 | - 0x52, 0x04, 0x70, 0x61, 0x73, 0x73, 0x12, 0x20, 0x0a, 0x04, 0x68, 0x65, 0x72, 0x6f, 0x18, 0x06, | ||
| 974 | - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2e, 0x48, 0x65, | ||
| 975 | - 0x72, 0x6f, 0x52, 0x04, 0x68, 0x65, 0x72, 0x6f, 0x22, 0x21, 0x0a, 0x0f, 0x45, 0x71, 0x75, 0x69, | ||
| 976 | - 0x70, 0x6d, 0x65, 0x6e, 0x74, 0x44, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x12, 0x0e, 0x0a, 0x02, 0x69, | ||
| 977 | - 0x64, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x3a, 0x0a, 0x0f, 0x45, | ||
| 978 | - 0x71, 0x75, 0x69, 0x70, 0x6d, 0x65, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x52, 0x73, 0x70, 0x12, 0x27, | ||
| 979 | - 0x0a, 0x05, 0x65, 0x71, 0x75, 0x69, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, | ||
| 980 | - 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2e, 0x45, 0x71, 0x75, 0x69, 0x70, 0x6d, 0x65, 0x6e, 0x74, | ||
| 981 | - 0x52, 0x05, 0x65, 0x71, 0x75, 0x69, 0x70, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2e, 0x2f, 0x70, 0x62, | ||
| 982 | - 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, | 972 | + 0x70, 0x61, 0x73, 0x73, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x69, 0x64, 0x18, |
| 973 | + 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x65, 0x61, 0x6d, 0x49, 0x64, 0x22, 0xc1, 0x01, | ||
| 974 | + 0x0a, 0x10, 0x52, 0x6f, 0x6c, 0x65, 0x45, 0x6e, 0x64, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x52, | ||
| 975 | + 0x73, 0x70, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x6f, 0x6c, 0x65, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, | ||
| 976 | + 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x72, 0x6f, 0x6c, 0x65, 0x4c, 0x65, 0x76, 0x65, | ||
| 977 | + 0x6c, 0x12, 0x19, 0x0a, 0x08, 0x72, 0x6f, 0x6c, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x18, 0x02, 0x20, | ||
| 978 | + 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x6f, 0x6c, 0x65, 0x45, 0x78, 0x70, 0x12, 0x25, 0x0a, 0x0e, | ||
| 979 | + 0x72, 0x6f, 0x6c, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, | ||
| 980 | + 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x72, 0x6f, 0x6c, 0x65, 0x45, 0x78, 0x70, 0x61, 0x6d, 0x6f, | ||
| 981 | + 0x75, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x18, 0x04, 0x20, | ||
| 982 | + 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x70, | ||
| 983 | + 0x61, 0x73, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x70, 0x61, 0x73, 0x73, 0x12, | ||
| 984 | + 0x20, 0x0a, 0x04, 0x68, 0x65, 0x72, 0x6f, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0c, 0x2e, | ||
| 985 | + 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2e, 0x48, 0x65, 0x72, 0x6f, 0x52, 0x04, 0x68, 0x65, 0x72, | ||
| 986 | + 0x6f, 0x22, 0x21, 0x0a, 0x0f, 0x45, 0x71, 0x75, 0x69, 0x70, 0x6d, 0x65, 0x6e, 0x74, 0x44, 0x65, | ||
| 987 | + 0x6c, 0x52, 0x65, 0x71, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, | ||
| 988 | + 0x52, 0x02, 0x69, 0x64, 0x22, 0x3a, 0x0a, 0x0f, 0x45, 0x71, 0x75, 0x69, 0x70, 0x6d, 0x65, 0x6e, | ||
| 989 | + 0x74, 0x41, 0x64, 0x64, 0x52, 0x73, 0x70, 0x12, 0x27, 0x0a, 0x05, 0x65, 0x71, 0x75, 0x69, 0x70, | ||
| 990 | + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2e, | ||
| 991 | + 0x45, 0x71, 0x75, 0x69, 0x70, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x05, 0x65, 0x71, 0x75, 0x69, 0x70, | ||
| 992 | + 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2e, 0x2f, 0x70, 0x62, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, | ||
| 993 | + 0x6f, 0x74, 0x6f, 0x33, | ||
| 983 | } | 994 | } |
| 984 | 995 | ||
| 985 | var ( | 996 | var ( |