年兽排行榜

This commit is contained in:
by 2025-01-03 16:57:40 +08:00
parent 5db3c767e4
commit 044cf9f863
11 changed files with 1043 additions and 201 deletions

View File

@ -14,5 +14,9 @@
"Upgrade": "{\"zh\":\"感谢您更新客户端,更新奖励已发放至附近,请注意查收\",\"vi\":\"Cảm ơn bạn đã cập nhật ứng dụng khách. Phần thưởng cập nhật đã được phân phối gần đó, vui lòng chú ý kiểm tra nhận\",\"en\":\"Thank you for updating the client. The update reward has been distributed to everyone. Please check it carefully.\",\"kh\":\"អរគុណសម្រាប់ការធ្វើបច្ចុប្បន្នភាពហ្គេម។ រង្វាន់នៃការធ្វើបច្ចុប្បន្នភាពត្រូវបានចែកចាយទៅគ្រប់គ្នា។ សូមពិនិត្យអោយបានច្បាស់លាស់។\"}",
"LotteryTitle": "{\"zh\":\"玩游戏抽奖品\",\"vi\":\"Chơi game rút thưởng\",\"en\":\"Play games, draw prizes\",\"kh\":\"លេងហ្គេម ចាប់រង្វាន់\"}",
"Lottery": "{\"zh\":\"恭喜您在好友房玩游戏抽奖品活动中获得了大奖,奖品随邮件发放,请注意查收\",\"vi\":\"Chúc mừng bạn đã trúng giải thưởng lớn trong hoạt động rút thưởng trò chơi tại phòng bạn bè. Giải thưởng sẽ được gửi qua email, vui lòng kiểm tra cẩn thận.\",\"en\":\"Congratulations on winning the grand prize in the lucky draw activity in the friend room. The prize will be sent via email, please check it carefully.\",\"kh\":\"សូមអបអរសាទរចំពោះការឈ្នះរង្វាន់ធំក្នុងសកម្មភាពចាប់រង្វាន់ក្នុងបន្ទប់មិត្តភ័ក្តិរបស់អ្នក រង្វាន់នឹងត្រូវបានផ្ញើតាមអ៊ីម៉ែល សូមពិនិត្យមើលវាដោយយកចិត្តទុកដាក់។\"}",
"TelCodeTitle": "{\"zh\":\"话费卡兑换码\",\"vi\":\"Mã đổi thẻ điện thoại\",\"en\":\"Phone card redemption code\",\"kh\":\"លេខកូដប្រោសលោះកាតទូរស័ព្ទ\"}"
"TelCodeTitle": "{\"zh\":\"话费卡兑换码\",\"vi\":\"Mã đổi thẻ điện thoại\",\"en\":\"Phone card redemption code\",\"kh\":\"លេខកូដប្រោសលោះកាតទូរស័ព្ទ\"}",
"NianLuckTitle": "{\"zh\":\"幸运榜排行奖励\",\"vi\":\"Vượt qua phần thưởng xếp hạng\",\"en\":\"Pass Ranking Rewards\",\"kh\":\"រង្វាន់ចំណាត់ថ្នាក់ឆ្លងកាត់\"}",
"NianLuckAward": "{\"zh\":\"恭喜您在昨日年兽活动幸运排行中名次达到%v名排行奖励已发放请查收\",\"vi\":\"Chúc mừng bạn đã đạt được %v trong bảng xếp hạng vượt qua. Phần thưởng xếp hạng đã được phân phối, vui lòng kiểm tra.\",\"en\":\"Congratulations on reaching %vth place in the pass ranking. Ranking rewards have been issued. Please check.\",\"kh\":\"សូមអបអរសាទរចំពោះការឈានដល់ចំណាត់ថ្នាក់ទី %v ក្នុងចំណាត់ថ្នាក់ឆ្លងកាត់។ រង្វាន់ចំណាត់ថ្នាក់ត្រូវបានចេញ។ សូមត្រួតពិនិត្យ។\"}",
"NianDamageTitle": "{\"zh\":\"年兽活动排行奖励\",\"vi\":\"Vượt qua phần thưởng xếp hạng\",\"en\":\"Pass Ranking Rewards\",\"kh\":\"រង្វាន់ចំណាត់ថ្នាក់ឆ្លងកាត់\"}",
"NianDamageAward": "{\"zh\":\"恭喜您在本次年兽活动总排行中名次达到%v名排行奖励已发放请查收\",\"vi\":\"Chúc mừng bạn đã đạt được %v trong bảng xếp hạng vượt qua. Phần thưởng xếp hạng đã được phân phối, vui lòng kiểm tra.\",\"en\":\"Congratulations on reaching %vth place in the pass ranking. Ranking rewards have been issued. Please check.\",\"kh\":\"សូមអបអរសាទរចំពោះការឈានដល់ចំណាត់ថ្នាក់ទី %v ក្នុងចំណាត់ថ្នាក់ឆ្លងកាត់។ រង្វាន់ចំណាត់ថ្នាក់ត្រូវបានចេញ។ សូមត្រួតពិនិត្យ។\"}"
}

View File

@ -102,6 +102,42 @@ func (svc *RankNianSvc) DamageFind(args *model.FindNianListArgs, ret *model.Find
}
return nil
}
func (svc *RankNianSvc) UpdateAll(args *model.FindNianListArgs, ret *model.FindNianListReply) error {
fc := RankNianCollection(args.Platform)
if fc == nil {
return RankNianColError
}
// 根据 args 中的条件构建查询
query := bson.M{"platform": args.Platform}
update := bson.M{
"$set": bson.M{
"luck": 0,
"lucktime": 0,
},
}
_, err := fc.UpdateAll(query, update)
if err != nil {
logger.Logger.Error("RankNianSvc.UpdateAll is err: ", err)
return err
}
return nil
}
func (svc *RankNianSvc) DelAll(args *model.FindNianListArgs, ret *model.FindNianListReply) error {
fc := RankNianCollection(args.Platform)
if fc == nil {
return RankNianColError
}
query := bson.M{"platform": args.Platform}
_, err := fc.RemoveAll(query)
if err != nil {
logger.Logger.Error("RankNianSvc.RemoveAll is err: ", err)
return err
}
return nil
}
func init() {
rpc.Register(new(RankNianSvc))
}

View File

@ -346,7 +346,6 @@ type NianInfo struct {
type FindNianListArgs struct {
Platform string
StartTs int64
}
type FindNianListReply struct {
List []*NianInfo
@ -381,3 +380,29 @@ func FindDamageNianRankList(args *FindNianListArgs) (*FindNianListReply, error)
}
return ret, nil
}
func ClearNianRank(args *FindNianListArgs) error {
if rpcCli == nil {
logger.Logger.Error("model.FindNianList rpcCli == nil")
return nil
}
ret := new(FindNianListReply)
err := rpcCli.CallWithTimeout("RankNianSvc.UpdateAll", args, ret, time.Second*30)
if err != nil {
logger.Logger.Error("GetNianDamageRankList error:", err)
return err
}
return nil
}
func DelNianRank(args *FindNianListArgs) error {
if rpcCli == nil {
logger.Logger.Error("model.FindNianList rpcCli == nil")
return nil
}
ret := new(FindNianListReply)
err := rpcCli.CallWithTimeout("RankNianSvc.DelAll", args, ret, time.Second*30)
if err != nil {
logger.Logger.Error("GetNianDamageRankList error:", err)
return err
}
return nil
}

View File

@ -99,6 +99,53 @@ func (NianPacketID) EnumDescriptor() ([]byte, []int) {
return file_protocol_activity_nian_proto_rawDescGZIP(), []int{0}
}
//操作结果
type OpResultCode_Nian int32
const (
OpResultCode_Nian_OPRC_Sucess_Nian OpResultCode_Nian = 0 //成功
OpResultCode_Nian_OPRC_Error_Nian OpResultCode_Nian = 1 //失败
)
// Enum value maps for OpResultCode_Nian.
var (
OpResultCode_Nian_name = map[int32]string{
0: "OPRC_Sucess_Nian",
1: "OPRC_Error_Nian",
}
OpResultCode_Nian_value = map[string]int32{
"OPRC_Sucess_Nian": 0,
"OPRC_Error_Nian": 1,
}
)
func (x OpResultCode_Nian) Enum() *OpResultCode_Nian {
p := new(OpResultCode_Nian)
*p = x
return p
}
func (x OpResultCode_Nian) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (OpResultCode_Nian) Descriptor() protoreflect.EnumDescriptor {
return file_protocol_activity_nian_proto_enumTypes[1].Descriptor()
}
func (OpResultCode_Nian) Type() protoreflect.EnumType {
return &file_protocol_activity_nian_proto_enumTypes[1]
}
func (x OpResultCode_Nian) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use OpResultCode_Nian.Descriptor instead.
func (OpResultCode_Nian) EnumDescriptor() ([]byte, []int) {
return file_protocol_activity_nian_proto_rawDescGZIP(), []int{1}
}
//获取年兽活动信息
//PACKET_CSNianData
type CSNianData struct {
@ -157,6 +204,7 @@ type SCNianData struct {
BuffStartTime int64 `protobuf:"varint,10,opt,name=BuffStartTime,proto3" json:"BuffStartTime,omitempty"` //Buff开始领取时间
BuffEndTime int64 `protobuf:"varint,11,opt,name=BuffEndTime,proto3" json:"BuffEndTime,omitempty"` //Buff结束领取时间
ShopData []*ShopData `protobuf:"bytes,12,rep,name=shopData,proto3" json:"shopData,omitempty"` //购买礼包数量
ChangeData string `protobuf:"bytes,13,opt,name=ChangeData,proto3" json:"ChangeData,omitempty"` //兑换数据
}
func (x *SCNianData) Reset() {
@ -275,14 +323,21 @@ func (x *SCNianData) GetShopData() []*ShopData {
return nil
}
func (x *SCNianData) GetChangeData() string {
if x != nil {
return x.ChangeData
}
return ""
}
type ShopData struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
ShopId int32 `protobuf:"varint,1,opt,name=ShopId,proto3" json:"ShopId,omitempty"` //shopId
ShopNum int32 `protobuf:"varint,2,opt,name=ShopNum,proto3" json:"ShopNum,omitempty"` //已购买次数 只保存有购买限制的礼包的数量
MaxShopNum int32 `protobuf:"varint,3,opt,name=MaxShopNum,proto3" json:"MaxShopNum,omitempty"` //最大购买次数 0-无限制
ShopNum int32 `protobuf:"varint,2,opt,name=ShopNum,proto3" json:"ShopNum,omitempty"` //已购买次数
MaxShopNum int32 `protobuf:"varint,3,opt,name=MaxShopNum,proto3" json:"MaxShopNum,omitempty"` //最大购买次数
}
func (x *ShopData) Reset() {
@ -385,7 +440,8 @@ type SCNianBuff struct {
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
BuffCount int64 `protobuf:"varint,1,opt,name=BuffCount,proto3" json:"BuffCount,omitempty"` //BUFF剩余次数
BuffCount int64 `protobuf:"varint,1,opt,name=BuffCount,proto3" json:"BuffCount,omitempty"` //BUFF剩余次数
OpRetCode OpResultCode_Nian `protobuf:"varint,2,opt,name=OpRetCode,proto3,enum=activity.OpResultCode_Nian" json:"OpRetCode,omitempty"` // 返回错误码
}
func (x *SCNianBuff) Reset() {
@ -427,6 +483,13 @@ func (x *SCNianBuff) GetBuffCount() int64 {
return 0
}
func (x *SCNianBuff) GetOpRetCode() OpResultCode_Nian {
if x != nil {
return x.OpRetCode
}
return OpResultCode_Nian_OPRC_Sucess_Nian
}
type NianRankData struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
@ -799,8 +862,9 @@ type SCNianSignAward struct {
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
SignAwardTime int64 `protobuf:"varint,1,opt,name=SignAwardTime,proto3" json:"SignAwardTime,omitempty"`
SignAward []*RankAwardData `protobuf:"bytes,2,rep,name=SignAward,proto3" json:"SignAward,omitempty"` //签到奖励
SignAwardTime int64 `protobuf:"varint,1,opt,name=SignAwardTime,proto3" json:"SignAwardTime,omitempty"`
SignAward []*RankAwardData `protobuf:"bytes,2,rep,name=SignAward,proto3" json:"SignAward,omitempty"` //签到奖励
OpRetCode OpResultCode_Nian `protobuf:"varint,3,opt,name=OpRetCode,proto3,enum=activity.OpResultCode_Nian" json:"OpRetCode,omitempty"` // 返回错误码
}
func (x *SCNianSignAward) Reset() {
@ -849,6 +913,13 @@ func (x *SCNianSignAward) GetSignAward() []*RankAwardData {
return nil
}
func (x *SCNianSignAward) GetOpRetCode() OpResultCode_Nian {
if x != nil {
return x.OpRetCode
}
return OpResultCode_Nian_OPRC_Sucess_Nian
}
//兑换
//PACKET_CSNianChange
type CSNianChange struct {
@ -904,8 +975,9 @@ type SCNianChange struct {
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Num int32 `protobuf:"varint,1,opt,name=Num,proto3" json:"Num,omitempty"`
Award []*RankAwardData `protobuf:"bytes,2,rep,name=Award,proto3" json:"Award,omitempty"`
Num int32 `protobuf:"varint,1,opt,name=Num,proto3" json:"Num,omitempty"`
Award []*RankAwardData `protobuf:"bytes,2,rep,name=Award,proto3" json:"Award,omitempty"`
OpRetCode OpResultCode_Nian `protobuf:"varint,3,opt,name=OpRetCode,proto3,enum=activity.OpResultCode_Nian" json:"OpRetCode,omitempty"` // 返回错误码
}
func (x *SCNianChange) Reset() {
@ -954,13 +1026,20 @@ func (x *SCNianChange) GetAward() []*RankAwardData {
return nil
}
func (x *SCNianChange) GetOpRetCode() OpResultCode_Nian {
if x != nil {
return x.OpRetCode
}
return OpResultCode_Nian_OPRC_Sucess_Nian
}
var File_protocol_activity_nian_proto protoreflect.FileDescriptor
var file_protocol_activity_nian_proto_rawDesc = []byte{
0x0a, 0x1c, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2f, 0x61, 0x63, 0x74, 0x69, 0x76,
0x69, 0x74, 0x79, 0x2f, 0x6e, 0x69, 0x61, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x08,
0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x22, 0x0c, 0x0a, 0x0a, 0x43, 0x53, 0x4e, 0x69,
0x61, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x22, 0xc8, 0x03, 0x0a, 0x0a, 0x53, 0x43, 0x4e, 0x69, 0x61,
0x61, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x22, 0xe8, 0x03, 0x0a, 0x0a, 0x53, 0x43, 0x4e, 0x69, 0x61,
0x6e, 0x44, 0x61, 0x74, 0x61, 0x12, 0x2c, 0x0a, 0x11, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74,
0x79, 0x53, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03,
0x52, 0x11, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x53, 0x74, 0x61, 0x72, 0x74, 0x54,
@ -989,97 +1068,114 @@ var file_protocol_activity_nian_proto_rawDesc = []byte{
0x65, 0x12, 0x2e, 0x0a, 0x08, 0x73, 0x68, 0x6f, 0x70, 0x44, 0x61, 0x74, 0x61, 0x18, 0x0c, 0x20,
0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x2e, 0x53,
0x68, 0x6f, 0x70, 0x44, 0x61, 0x74, 0x61, 0x52, 0x08, 0x73, 0x68, 0x6f, 0x70, 0x44, 0x61, 0x74,
0x61, 0x12, 0x1e, 0x0a, 0x0a, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x44, 0x61, 0x74, 0x61, 0x18,
0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x44, 0x61, 0x74,
0x61, 0x22, 0x5c, 0x0a, 0x08, 0x53, 0x68, 0x6f, 0x70, 0x44, 0x61, 0x74, 0x61, 0x12, 0x16, 0x0a,
0x06, 0x53, 0x68, 0x6f, 0x70, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x53,
0x68, 0x6f, 0x70, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x53, 0x68, 0x6f, 0x70, 0x4e, 0x75, 0x6d,
0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x53, 0x68, 0x6f, 0x70, 0x4e, 0x75, 0x6d, 0x12,
0x1e, 0x0a, 0x0a, 0x4d, 0x61, 0x78, 0x53, 0x68, 0x6f, 0x70, 0x4e, 0x75, 0x6d, 0x18, 0x03, 0x20,
0x01, 0x28, 0x05, 0x52, 0x0a, 0x4d, 0x61, 0x78, 0x53, 0x68, 0x6f, 0x70, 0x4e, 0x75, 0x6d, 0x22,
0x0c, 0x0a, 0x0a, 0x43, 0x53, 0x4e, 0x69, 0x61, 0x6e, 0x42, 0x75, 0x66, 0x66, 0x22, 0x2a, 0x0a,
0x0c, 0x0a, 0x0a, 0x43, 0x53, 0x4e, 0x69, 0x61, 0x6e, 0x42, 0x75, 0x66, 0x66, 0x22, 0x65, 0x0a,
0x0a, 0x53, 0x43, 0x4e, 0x69, 0x61, 0x6e, 0x42, 0x75, 0x66, 0x66, 0x12, 0x1c, 0x0a, 0x09, 0x42,
0x75, 0x66, 0x66, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09,
0x42, 0x75, 0x66, 0x66, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x52, 0x0a, 0x0c, 0x4e, 0x69, 0x61,
0x6e, 0x52, 0x61, 0x6e, 0x6b, 0x44, 0x61, 0x74, 0x61, 0x12, 0x16, 0x0a, 0x06, 0x54, 0x79, 0x70,
0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x54, 0x79, 0x70, 0x65, 0x49,
0x64, 0x12, 0x2a, 0x0a, 0x04, 0x44, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32,
0x16, 0x2e, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x2e, 0x4e, 0x69, 0x61, 0x6e, 0x52,
0x61, 0x6e, 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x44, 0x61, 0x74, 0x61, 0x22, 0x55, 0x0a,
0x0c, 0x4e, 0x69, 0x61, 0x6e, 0x52, 0x61, 0x6e, 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x16, 0x0a,
0x06, 0x52, 0x61, 0x6e, 0x6b, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x52,
0x61, 0x6e, 0x6b, 0x49, 0x64, 0x12, 0x2d, 0x0a, 0x05, 0x41, 0x77, 0x61, 0x72, 0x64, 0x18, 0x02,
0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x2e,
0x52, 0x61, 0x6e, 0x6b, 0x41, 0x77, 0x61, 0x72, 0x64, 0x44, 0x61, 0x74, 0x61, 0x52, 0x05, 0x41,
0x77, 0x61, 0x72, 0x64, 0x22, 0x41, 0x0a, 0x0d, 0x52, 0x61, 0x6e, 0x6b, 0x41, 0x77, 0x61, 0x72,
0x64, 0x44, 0x61, 0x74, 0x61, 0x12, 0x16, 0x0a, 0x06, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x18,
0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x12, 0x18, 0x0a,
0x07, 0x49, 0x74, 0x65, 0x6d, 0x4e, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07,
0x49, 0x74, 0x65, 0x6d, 0x4e, 0x75, 0x6d, 0x22, 0x26, 0x0a, 0x0c, 0x43, 0x53, 0x4e, 0x69, 0x61,
0x6e, 0x41, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x12, 0x16, 0x0a, 0x06, 0x54, 0x79, 0x70, 0x65, 0x49,
0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x54, 0x79, 0x70, 0x65, 0x49, 0x64, 0x22,
0xe8, 0x02, 0x0a, 0x10, 0x53, 0x43, 0x4e, 0x69, 0x61, 0x6e, 0x41, 0x74, 0x74, 0x61, 0x63, 0x6b,
0x42, 0x75, 0x66, 0x66, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x39, 0x0a, 0x09, 0x4f, 0x70, 0x52,
0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1b, 0x2e, 0x61,
0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x2e, 0x4f, 0x70, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74,
0x43, 0x6f, 0x64, 0x65, 0x5f, 0x4e, 0x69, 0x61, 0x6e, 0x52, 0x09, 0x4f, 0x70, 0x52, 0x65, 0x74,
0x43, 0x6f, 0x64, 0x65, 0x22, 0x52, 0x0a, 0x0c, 0x4e, 0x69, 0x61, 0x6e, 0x52, 0x61, 0x6e, 0x6b,
0x44, 0x61, 0x74, 0x61, 0x12, 0x16, 0x0a, 0x06, 0x54, 0x79, 0x70, 0x65, 0x49, 0x64, 0x18, 0x01,
0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x54, 0x79, 0x70, 0x65, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06,
0x42, 0x6f, 0x73, 0x73, 0x48, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x42, 0x6f,
0x73, 0x73, 0x48, 0x70, 0x12, 0x2d, 0x0a, 0x05, 0x41, 0x77, 0x61, 0x72, 0x64, 0x18, 0x03, 0x20,
0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x2e, 0x52,
0x61, 0x6e, 0x6b, 0x41, 0x77, 0x61, 0x72, 0x64, 0x44, 0x61, 0x74, 0x61, 0x52, 0x05, 0x41, 0x77,
0x61, 0x72, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x41, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x48, 0x70, 0x18,
0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x41, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x48, 0x70, 0x12,
0x14, 0x0a, 0x05, 0x49, 0x73, 0x44, 0x69, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05,
0x49, 0x73, 0x44, 0x69, 0x65, 0x12, 0x33, 0x0a, 0x08, 0x44, 0x69, 0x65, 0x41, 0x77, 0x61, 0x72,
0x64, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69,
0x74, 0x79, 0x2e, 0x52, 0x61, 0x6e, 0x6b, 0x41, 0x77, 0x61, 0x72, 0x64, 0x44, 0x61, 0x74, 0x61,
0x52, 0x08, 0x44, 0x69, 0x65, 0x41, 0x77, 0x61, 0x72, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x42, 0x75,
0x66, 0x66, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x42,
0x75, 0x66, 0x66, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x35, 0x0a, 0x09, 0x45, 0x78, 0x74, 0x72,
0x61, 0x44, 0x72, 0x6f, 0x70, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x61, 0x63,
0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x2e, 0x52, 0x61, 0x6e, 0x6b, 0x41, 0x77, 0x61, 0x72, 0x64,
0x44, 0x61, 0x74, 0x61, 0x52, 0x09, 0x45, 0x78, 0x74, 0x72, 0x61, 0x44, 0x72, 0x6f, 0x70, 0x12,
0x39, 0x0a, 0x0b, 0x46, 0x6c, 0x6f, 0x6f, 0x72, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x18, 0x09,
0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x2e,
0x52, 0x61, 0x6e, 0x6b, 0x41, 0x77, 0x61, 0x72, 0x64, 0x44, 0x61, 0x74, 0x61, 0x52, 0x0b, 0x46,
0x6c, 0x6f, 0x6f, 0x72, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x22, 0x11, 0x0a, 0x0f, 0x43, 0x53,
0x4e, 0x69, 0x61, 0x6e, 0x53, 0x69, 0x67, 0x6e, 0x41, 0x77, 0x61, 0x72, 0x64, 0x22, 0x6e, 0x0a,
0x0f, 0x53, 0x43, 0x4e, 0x69, 0x61, 0x6e, 0x53, 0x69, 0x67, 0x6e, 0x41, 0x77, 0x61, 0x72, 0x64,
0x12, 0x24, 0x0a, 0x0d, 0x53, 0x69, 0x67, 0x6e, 0x41, 0x77, 0x61, 0x72, 0x64, 0x54, 0x69, 0x6d,
0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x53, 0x69, 0x67, 0x6e, 0x41, 0x77, 0x61,
0x72, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x35, 0x0a, 0x09, 0x53, 0x69, 0x67, 0x6e, 0x41, 0x77,
0x61, 0x72, 0x64, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x61, 0x63, 0x74, 0x69,
0x76, 0x69, 0x74, 0x79, 0x2e, 0x52, 0x61, 0x6e, 0x6b, 0x41, 0x77, 0x61, 0x72, 0x64, 0x44, 0x61,
0x74, 0x61, 0x52, 0x09, 0x53, 0x69, 0x67, 0x6e, 0x41, 0x77, 0x61, 0x72, 0x64, 0x22, 0x20, 0x0a,
0x0c, 0x43, 0x53, 0x4e, 0x69, 0x61, 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x10, 0x0a,
0x03, 0x4e, 0x75, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x4e, 0x75, 0x6d, 0x22,
0x4f, 0x0a, 0x0c, 0x53, 0x43, 0x4e, 0x69, 0x61, 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12,
0x10, 0x0a, 0x03, 0x4e, 0x75, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x4e, 0x75,
0x6d, 0x12, 0x2d, 0x0a, 0x05, 0x41, 0x77, 0x61, 0x72, 0x64, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b,
0x32, 0x17, 0x2e, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x2e, 0x52, 0x61, 0x6e, 0x6b,
0x41, 0x77, 0x61, 0x72, 0x64, 0x44, 0x61, 0x74, 0x61, 0x52, 0x05, 0x41, 0x77, 0x61, 0x72, 0x64,
0x2a, 0xe2, 0x02, 0x0a, 0x0c, 0x4e, 0x69, 0x61, 0x6e, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x49,
0x44, 0x12, 0x14, 0x0a, 0x10, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x4e, 0x69, 0x61, 0x6e,
0x5f, 0x5a, 0x45, 0x52, 0x4f, 0x10, 0x00, 0x12, 0x16, 0x0a, 0x11, 0x50, 0x41, 0x43, 0x4b, 0x45,
0x54, 0x5f, 0x43, 0x53, 0x4e, 0x69, 0x61, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x10, 0xe4, 0x14, 0x12,
0x16, 0x0a, 0x11, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x4e, 0x69, 0x61, 0x6e,
0x44, 0x61, 0x74, 0x61, 0x10, 0xe5, 0x14, 0x12, 0x16, 0x0a, 0x11, 0x50, 0x41, 0x43, 0x4b, 0x45,
0x54, 0x5f, 0x43, 0x53, 0x4e, 0x69, 0x61, 0x6e, 0x42, 0x75, 0x66, 0x66, 0x10, 0xe6, 0x14, 0x12,
0x16, 0x0a, 0x11, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x4e, 0x69, 0x61, 0x6e,
0x42, 0x75, 0x66, 0x66, 0x10, 0xe7, 0x14, 0x12, 0x1a, 0x0a, 0x15, 0x50, 0x41, 0x43, 0x4b, 0x45,
0x54, 0x5f, 0x43, 0x53, 0x4e, 0x69, 0x61, 0x6e, 0x52, 0x61, 0x6e, 0x6b, 0x44, 0x61, 0x74, 0x61,
0x10, 0xe8, 0x14, 0x12, 0x1a, 0x0a, 0x15, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43,
0x4e, 0x69, 0x61, 0x6e, 0x52, 0x61, 0x6e, 0x6b, 0x44, 0x61, 0x74, 0x61, 0x10, 0xe9, 0x14, 0x12,
0x18, 0x0a, 0x13, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x4e, 0x69, 0x61, 0x6e,
0x41, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x10, 0xea, 0x14, 0x12, 0x1c, 0x0a, 0x17, 0x50, 0x41, 0x43,
0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x4e, 0x69, 0x61, 0x6e, 0x41, 0x74, 0x74, 0x61, 0x63, 0x6b,
0x44, 0x61, 0x74, 0x61, 0x10, 0xeb, 0x14, 0x12, 0x1b, 0x0a, 0x16, 0x50, 0x41, 0x43, 0x4b, 0x45,
0x54, 0x5f, 0x43, 0x53, 0x4e, 0x69, 0x61, 0x6e, 0x53, 0x69, 0x67, 0x6e, 0x41, 0x77, 0x61, 0x72,
0x64, 0x10, 0xec, 0x14, 0x12, 0x1b, 0x0a, 0x16, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53,
0x43, 0x4e, 0x69, 0x61, 0x6e, 0x53, 0x69, 0x67, 0x6e, 0x41, 0x77, 0x61, 0x72, 0x64, 0x10, 0xed,
0x14, 0x12, 0x18, 0x0a, 0x13, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x4e, 0x69,
0x61, 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x10, 0xee, 0x14, 0x12, 0x18, 0x0a, 0x13, 0x50,
0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x4e, 0x69, 0x61, 0x6e, 0x43, 0x68, 0x61, 0x6e,
0x67, 0x65, 0x10, 0xef, 0x14, 0x42, 0x28, 0x5a, 0x26, 0x6d, 0x6f, 0x6e, 0x67, 0x6f, 0x2e, 0x67,
0x61, 0x6d, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x61, 0x6d, 0x65, 0x2f, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x62,
0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x54, 0x79, 0x70, 0x65, 0x49, 0x64, 0x12, 0x2a, 0x0a, 0x04,
0x44, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x61, 0x63, 0x74,
0x69, 0x76, 0x69, 0x74, 0x79, 0x2e, 0x4e, 0x69, 0x61, 0x6e, 0x52, 0x61, 0x6e, 0x6b, 0x49, 0x6e,
0x66, 0x6f, 0x52, 0x04, 0x44, 0x61, 0x74, 0x61, 0x22, 0x55, 0x0a, 0x0c, 0x4e, 0x69, 0x61, 0x6e,
0x52, 0x61, 0x6e, 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x16, 0x0a, 0x06, 0x52, 0x61, 0x6e, 0x6b,
0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x52, 0x61, 0x6e, 0x6b, 0x49, 0x64,
0x12, 0x2d, 0x0a, 0x05, 0x41, 0x77, 0x61, 0x72, 0x64, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32,
0x17, 0x2e, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x2e, 0x52, 0x61, 0x6e, 0x6b, 0x41,
0x77, 0x61, 0x72, 0x64, 0x44, 0x61, 0x74, 0x61, 0x52, 0x05, 0x41, 0x77, 0x61, 0x72, 0x64, 0x22,
0x41, 0x0a, 0x0d, 0x52, 0x61, 0x6e, 0x6b, 0x41, 0x77, 0x61, 0x72, 0x64, 0x44, 0x61, 0x74, 0x61,
0x12, 0x16, 0x0a, 0x06, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05,
0x52, 0x06, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x49, 0x74, 0x65, 0x6d,
0x4e, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x49, 0x74, 0x65, 0x6d, 0x4e,
0x75, 0x6d, 0x22, 0x26, 0x0a, 0x0c, 0x43, 0x53, 0x4e, 0x69, 0x61, 0x6e, 0x41, 0x74, 0x74, 0x61,
0x63, 0x6b, 0x12, 0x16, 0x0a, 0x06, 0x54, 0x79, 0x70, 0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01,
0x28, 0x05, 0x52, 0x06, 0x54, 0x79, 0x70, 0x65, 0x49, 0x64, 0x22, 0xe8, 0x02, 0x0a, 0x10, 0x53,
0x43, 0x4e, 0x69, 0x61, 0x6e, 0x41, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x44, 0x61, 0x74, 0x61, 0x12,
0x16, 0x0a, 0x06, 0x54, 0x79, 0x70, 0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52,
0x06, 0x54, 0x79, 0x70, 0x65, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x42, 0x6f, 0x73, 0x73, 0x48,
0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x42, 0x6f, 0x73, 0x73, 0x48, 0x70, 0x12,
0x2d, 0x0a, 0x05, 0x41, 0x77, 0x61, 0x72, 0x64, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17,
0x2e, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x2e, 0x52, 0x61, 0x6e, 0x6b, 0x41, 0x77,
0x61, 0x72, 0x64, 0x44, 0x61, 0x74, 0x61, 0x52, 0x05, 0x41, 0x77, 0x61, 0x72, 0x64, 0x12, 0x1a,
0x0a, 0x08, 0x41, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x48, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03,
0x52, 0x08, 0x41, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x48, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x49, 0x73,
0x44, 0x69, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x49, 0x73, 0x44, 0x69, 0x65,
0x12, 0x33, 0x0a, 0x08, 0x44, 0x69, 0x65, 0x41, 0x77, 0x61, 0x72, 0x64, 0x18, 0x06, 0x20, 0x03,
0x28, 0x0b, 0x32, 0x17, 0x2e, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x2e, 0x52, 0x61,
0x6e, 0x6b, 0x41, 0x77, 0x61, 0x72, 0x64, 0x44, 0x61, 0x74, 0x61, 0x52, 0x08, 0x44, 0x69, 0x65,
0x41, 0x77, 0x61, 0x72, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x42, 0x75, 0x66, 0x66, 0x43, 0x6f, 0x75,
0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x42, 0x75, 0x66, 0x66, 0x43, 0x6f,
0x75, 0x6e, 0x74, 0x12, 0x35, 0x0a, 0x09, 0x45, 0x78, 0x74, 0x72, 0x61, 0x44, 0x72, 0x6f, 0x70,
0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74,
0x79, 0x2e, 0x52, 0x61, 0x6e, 0x6b, 0x41, 0x77, 0x61, 0x72, 0x64, 0x44, 0x61, 0x74, 0x61, 0x52,
0x09, 0x45, 0x78, 0x74, 0x72, 0x61, 0x44, 0x72, 0x6f, 0x70, 0x12, 0x39, 0x0a, 0x0b, 0x46, 0x6c,
0x6f, 0x6f, 0x72, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32,
0x17, 0x2e, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x2e, 0x52, 0x61, 0x6e, 0x6b, 0x41,
0x77, 0x61, 0x72, 0x64, 0x44, 0x61, 0x74, 0x61, 0x52, 0x0b, 0x46, 0x6c, 0x6f, 0x6f, 0x72, 0x52,
0x65, 0x77, 0x61, 0x72, 0x64, 0x22, 0x11, 0x0a, 0x0f, 0x43, 0x53, 0x4e, 0x69, 0x61, 0x6e, 0x53,
0x69, 0x67, 0x6e, 0x41, 0x77, 0x61, 0x72, 0x64, 0x22, 0xa9, 0x01, 0x0a, 0x0f, 0x53, 0x43, 0x4e,
0x69, 0x61, 0x6e, 0x53, 0x69, 0x67, 0x6e, 0x41, 0x77, 0x61, 0x72, 0x64, 0x12, 0x24, 0x0a, 0x0d,
0x53, 0x69, 0x67, 0x6e, 0x41, 0x77, 0x61, 0x72, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20,
0x01, 0x28, 0x03, 0x52, 0x0d, 0x53, 0x69, 0x67, 0x6e, 0x41, 0x77, 0x61, 0x72, 0x64, 0x54, 0x69,
0x6d, 0x65, 0x12, 0x35, 0x0a, 0x09, 0x53, 0x69, 0x67, 0x6e, 0x41, 0x77, 0x61, 0x72, 0x64, 0x18,
0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79,
0x2e, 0x52, 0x61, 0x6e, 0x6b, 0x41, 0x77, 0x61, 0x72, 0x64, 0x44, 0x61, 0x74, 0x61, 0x52, 0x09,
0x53, 0x69, 0x67, 0x6e, 0x41, 0x77, 0x61, 0x72, 0x64, 0x12, 0x39, 0x0a, 0x09, 0x4f, 0x70, 0x52,
0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1b, 0x2e, 0x61,
0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x2e, 0x4f, 0x70, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74,
0x43, 0x6f, 0x64, 0x65, 0x5f, 0x4e, 0x69, 0x61, 0x6e, 0x52, 0x09, 0x4f, 0x70, 0x52, 0x65, 0x74,
0x43, 0x6f, 0x64, 0x65, 0x22, 0x20, 0x0a, 0x0c, 0x43, 0x53, 0x4e, 0x69, 0x61, 0x6e, 0x43, 0x68,
0x61, 0x6e, 0x67, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4e, 0x75, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28,
0x05, 0x52, 0x03, 0x4e, 0x75, 0x6d, 0x22, 0x8a, 0x01, 0x0a, 0x0c, 0x53, 0x43, 0x4e, 0x69, 0x61,
0x6e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4e, 0x75, 0x6d, 0x18, 0x01,
0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x4e, 0x75, 0x6d, 0x12, 0x2d, 0x0a, 0x05, 0x41, 0x77, 0x61,
0x72, 0x64, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x61, 0x63, 0x74, 0x69, 0x76,
0x69, 0x74, 0x79, 0x2e, 0x52, 0x61, 0x6e, 0x6b, 0x41, 0x77, 0x61, 0x72, 0x64, 0x44, 0x61, 0x74,
0x61, 0x52, 0x05, 0x41, 0x77, 0x61, 0x72, 0x64, 0x12, 0x39, 0x0a, 0x09, 0x4f, 0x70, 0x52, 0x65,
0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1b, 0x2e, 0x61, 0x63,
0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x2e, 0x4f, 0x70, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43,
0x6f, 0x64, 0x65, 0x5f, 0x4e, 0x69, 0x61, 0x6e, 0x52, 0x09, 0x4f, 0x70, 0x52, 0x65, 0x74, 0x43,
0x6f, 0x64, 0x65, 0x2a, 0xe2, 0x02, 0x0a, 0x0c, 0x4e, 0x69, 0x61, 0x6e, 0x50, 0x61, 0x63, 0x6b,
0x65, 0x74, 0x49, 0x44, 0x12, 0x14, 0x0a, 0x10, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x4e,
0x69, 0x61, 0x6e, 0x5f, 0x5a, 0x45, 0x52, 0x4f, 0x10, 0x00, 0x12, 0x16, 0x0a, 0x11, 0x50, 0x41,
0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x4e, 0x69, 0x61, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x10,
0xe4, 0x14, 0x12, 0x16, 0x0a, 0x11, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x4e,
0x69, 0x61, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x10, 0xe5, 0x14, 0x12, 0x16, 0x0a, 0x11, 0x50, 0x41,
0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x4e, 0x69, 0x61, 0x6e, 0x42, 0x75, 0x66, 0x66, 0x10,
0xe6, 0x14, 0x12, 0x16, 0x0a, 0x11, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x4e,
0x69, 0x61, 0x6e, 0x42, 0x75, 0x66, 0x66, 0x10, 0xe7, 0x14, 0x12, 0x1a, 0x0a, 0x15, 0x50, 0x41,
0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x4e, 0x69, 0x61, 0x6e, 0x52, 0x61, 0x6e, 0x6b, 0x44,
0x61, 0x74, 0x61, 0x10, 0xe8, 0x14, 0x12, 0x1a, 0x0a, 0x15, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54,
0x5f, 0x53, 0x43, 0x4e, 0x69, 0x61, 0x6e, 0x52, 0x61, 0x6e, 0x6b, 0x44, 0x61, 0x74, 0x61, 0x10,
0xe9, 0x14, 0x12, 0x18, 0x0a, 0x13, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x4e,
0x69, 0x61, 0x6e, 0x41, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x10, 0xea, 0x14, 0x12, 0x1c, 0x0a, 0x17,
0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x4e, 0x69, 0x61, 0x6e, 0x41, 0x74, 0x74,
0x61, 0x63, 0x6b, 0x44, 0x61, 0x74, 0x61, 0x10, 0xeb, 0x14, 0x12, 0x1b, 0x0a, 0x16, 0x50, 0x41,
0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x4e, 0x69, 0x61, 0x6e, 0x53, 0x69, 0x67, 0x6e, 0x41,
0x77, 0x61, 0x72, 0x64, 0x10, 0xec, 0x14, 0x12, 0x1b, 0x0a, 0x16, 0x50, 0x41, 0x43, 0x4b, 0x45,
0x54, 0x5f, 0x53, 0x43, 0x4e, 0x69, 0x61, 0x6e, 0x53, 0x69, 0x67, 0x6e, 0x41, 0x77, 0x61, 0x72,
0x64, 0x10, 0xed, 0x14, 0x12, 0x18, 0x0a, 0x13, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43,
0x53, 0x4e, 0x69, 0x61, 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x10, 0xee, 0x14, 0x12, 0x18,
0x0a, 0x13, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x4e, 0x69, 0x61, 0x6e, 0x43,
0x68, 0x61, 0x6e, 0x67, 0x65, 0x10, 0xef, 0x14, 0x2a, 0x3e, 0x0a, 0x11, 0x4f, 0x70, 0x52, 0x65,
0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x5f, 0x4e, 0x69, 0x61, 0x6e, 0x12, 0x14, 0x0a,
0x10, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x53, 0x75, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x4e, 0x69, 0x61,
0x6e, 0x10, 0x00, 0x12, 0x13, 0x0a, 0x0f, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x45, 0x72, 0x72, 0x6f,
0x72, 0x5f, 0x4e, 0x69, 0x61, 0x6e, 0x10, 0x01, 0x42, 0x28, 0x5a, 0x26, 0x6d, 0x6f, 0x6e, 0x67,
0x6f, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x61, 0x6d, 0x65,
0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69,
0x74, 0x79, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
@ -1094,41 +1190,45 @@ func file_protocol_activity_nian_proto_rawDescGZIP() []byte {
return file_protocol_activity_nian_proto_rawDescData
}
var file_protocol_activity_nian_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
var file_protocol_activity_nian_proto_enumTypes = make([]protoimpl.EnumInfo, 2)
var file_protocol_activity_nian_proto_msgTypes = make([]protoimpl.MessageInfo, 14)
var file_protocol_activity_nian_proto_goTypes = []interface{}{
(NianPacketID)(0), // 0: activity.NianPacketID
(*CSNianData)(nil), // 1: activity.CSNianData
(*SCNianData)(nil), // 2: activity.SCNianData
(*ShopData)(nil), // 3: activity.ShopData
(*CSNianBuff)(nil), // 4: activity.CSNianBuff
(*SCNianBuff)(nil), // 5: activity.SCNianBuff
(*NianRankData)(nil), // 6: activity.NianRankData
(*NianRankInfo)(nil), // 7: activity.NianRankInfo
(*RankAwardData)(nil), // 8: activity.RankAwardData
(*CSNianAttack)(nil), // 9: activity.CSNianAttack
(*SCNianAttackData)(nil), // 10: activity.SCNianAttackData
(*CSNianSignAward)(nil), // 11: activity.CSNianSignAward
(*SCNianSignAward)(nil), // 12: activity.SCNianSignAward
(*CSNianChange)(nil), // 13: activity.CSNianChange
(*SCNianChange)(nil), // 14: activity.SCNianChange
(OpResultCode_Nian)(0), // 1: activity.OpResultCode_Nian
(*CSNianData)(nil), // 2: activity.CSNianData
(*SCNianData)(nil), // 3: activity.SCNianData
(*ShopData)(nil), // 4: activity.ShopData
(*CSNianBuff)(nil), // 5: activity.CSNianBuff
(*SCNianBuff)(nil), // 6: activity.SCNianBuff
(*NianRankData)(nil), // 7: activity.NianRankData
(*NianRankInfo)(nil), // 8: activity.NianRankInfo
(*RankAwardData)(nil), // 9: activity.RankAwardData
(*CSNianAttack)(nil), // 10: activity.CSNianAttack
(*SCNianAttackData)(nil), // 11: activity.SCNianAttackData
(*CSNianSignAward)(nil), // 12: activity.CSNianSignAward
(*SCNianSignAward)(nil), // 13: activity.SCNianSignAward
(*CSNianChange)(nil), // 14: activity.CSNianChange
(*SCNianChange)(nil), // 15: activity.SCNianChange
}
var file_protocol_activity_nian_proto_depIdxs = []int32{
6, // 0: activity.SCNianData.RankData:type_name -> activity.NianRankData
3, // 1: activity.SCNianData.shopData:type_name -> activity.ShopData
7, // 2: activity.NianRankData.Data:type_name -> activity.NianRankInfo
8, // 3: activity.NianRankInfo.Award:type_name -> activity.RankAwardData
8, // 4: activity.SCNianAttackData.Award:type_name -> activity.RankAwardData
8, // 5: activity.SCNianAttackData.DieAward:type_name -> activity.RankAwardData
8, // 6: activity.SCNianAttackData.ExtraDrop:type_name -> activity.RankAwardData
8, // 7: activity.SCNianAttackData.FloorReward:type_name -> activity.RankAwardData
8, // 8: activity.SCNianSignAward.SignAward:type_name -> activity.RankAwardData
8, // 9: activity.SCNianChange.Award:type_name -> activity.RankAwardData
10, // [10:10] is the sub-list for method output_type
10, // [10:10] is the sub-list for method input_type
10, // [10:10] is the sub-list for extension type_name
10, // [10:10] is the sub-list for extension extendee
0, // [0:10] is the sub-list for field type_name
7, // 0: activity.SCNianData.RankData:type_name -> activity.NianRankData
4, // 1: activity.SCNianData.shopData:type_name -> activity.ShopData
1, // 2: activity.SCNianBuff.OpRetCode:type_name -> activity.OpResultCode_Nian
8, // 3: activity.NianRankData.Data:type_name -> activity.NianRankInfo
9, // 4: activity.NianRankInfo.Award:type_name -> activity.RankAwardData
9, // 5: activity.SCNianAttackData.Award:type_name -> activity.RankAwardData
9, // 6: activity.SCNianAttackData.DieAward:type_name -> activity.RankAwardData
9, // 7: activity.SCNianAttackData.ExtraDrop:type_name -> activity.RankAwardData
9, // 8: activity.SCNianAttackData.FloorReward:type_name -> activity.RankAwardData
9, // 9: activity.SCNianSignAward.SignAward:type_name -> activity.RankAwardData
1, // 10: activity.SCNianSignAward.OpRetCode:type_name -> activity.OpResultCode_Nian
9, // 11: activity.SCNianChange.Award:type_name -> activity.RankAwardData
1, // 12: activity.SCNianChange.OpRetCode:type_name -> activity.OpResultCode_Nian
13, // [13:13] is the sub-list for method output_type
13, // [13:13] is the sub-list for method input_type
13, // [13:13] is the sub-list for extension type_name
13, // [13:13] is the sub-list for extension extendee
0, // [0:13] is the sub-list for field type_name
}
func init() { file_protocol_activity_nian_proto_init() }
@ -1311,7 +1411,7 @@ func file_protocol_activity_nian_proto_init() {
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_protocol_activity_nian_proto_rawDesc,
NumEnums: 1,
NumEnums: 2,
NumMessages: 14,
NumExtensions: 0,
NumServices: 0,

View File

@ -17,6 +17,11 @@ enum NianPacketID {
PACKET_CSNianChange = 2670;//
PACKET_SCNianChange = 2671;//
}
//
enum OpResultCode_Nian {
OPRC_Sucess_Nian = 0; //
OPRC_Error_Nian = 1; //
}
//
//PACKET_CSNianData
@ -36,6 +41,7 @@ message SCNianData{
int64 BuffStartTime = 10; //Buff开始领取时间
int64 BuffEndTime = 11; //Buff结束领取时间
repeated ShopData shopData = 12;//
string ChangeData = 13; //
}
message ShopData{
@ -52,6 +58,7 @@ message CSNianBuff{
//PACKET_SCNianBuff
message SCNianBuff{
int64 BuffCount = 1; //BUFF剩余次数
OpResultCode_Nian OpRetCode = 2; //
}
message NianRankData{
@ -92,6 +99,7 @@ message CSNianSignAward{
message SCNianSignAward{
int64 SignAwardTime = 1;
repeated RankAwardData SignAward = 2;//
OpResultCode_Nian OpRetCode = 3; //
}
//
//PACKET_CSNianChange
@ -102,4 +110,5 @@ message CSNianChange{
message SCNianChange{
int32 Num = 1;
repeated RankAwardData Award =2;
OpResultCode_Nian OpRetCode = 3; //
}

View File

@ -52,6 +52,9 @@ const (
// 竞技馆抽奖历史
Rank_PACKET_CSLotteryHistory Rank = 10017
Rank_PACKET_SCLotteryHistory Rank = 10018
//年兽排行榜
Rank_PACKET_RANK_CSNian Rank = 10019
Rank_PACKET_RANK_SCNian Rank = 10020
)
// Enum value maps for Rank.
@ -77,6 +80,8 @@ var (
10016: "PACKET_SCRoomAwardOne",
10017: "PACKET_CSLotteryHistory",
10018: "PACKET_SCLotteryHistory",
10019: "PACKET_RANK_CSNian",
10020: "PACKET_RANK_SCNian",
}
Rank_value = map[string]int32{
"PACKET_RANK_ZERO": 0,
@ -99,6 +104,8 @@ var (
"PACKET_SCRoomAwardOne": 10016,
"PACKET_CSLotteryHistory": 10017,
"PACKET_SCLotteryHistory": 10018,
"PACKET_RANK_CSNian": 10019,
"PACKET_RANK_SCNian": 10020,
}
)
@ -2331,6 +2338,237 @@ func (x *SCLotteryHistory) GetList() []*LotteryHistory {
return nil
}
// PACKET_RANK_CSNian
type CSNian struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Page int32 `protobuf:"varint,1,opt,name=Page,proto3" json:"Page,omitempty"` // 页数
PageSize int32 `protobuf:"varint,2,opt,name=PageSize,proto3" json:"PageSize,omitempty"` // 每页数量
TypeId int32 `protobuf:"varint,3,opt,name=TypeId,proto3" json:"TypeId,omitempty"` //1-幸运榜 2-伤害榜
}
func (x *CSNian) Reset() {
*x = CSNian{}
if protoimpl.UnsafeEnabled {
mi := &file_protocol_rank_rank_proto_msgTypes[30]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CSNian) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CSNian) ProtoMessage() {}
func (x *CSNian) ProtoReflect() protoreflect.Message {
mi := &file_protocol_rank_rank_proto_msgTypes[30]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CSNian.ProtoReflect.Descriptor instead.
func (*CSNian) Descriptor() ([]byte, []int) {
return file_protocol_rank_rank_proto_rawDescGZIP(), []int{30}
}
func (x *CSNian) GetPage() int32 {
if x != nil {
return x.Page
}
return 0
}
func (x *CSNian) GetPageSize() int32 {
if x != nil {
return x.PageSize
}
return 0
}
func (x *CSNian) GetTypeId() int32 {
if x != nil {
return x.TypeId
}
return 0
}
type NianRankData struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Snid int32 `protobuf:"varint,1,opt,name=Snid,proto3" json:"Snid,omitempty"` // 玩家id
Name string `protobuf:"bytes,2,opt,name=Name,proto3" json:"Name,omitempty"` // 昵称
Score int64 `protobuf:"varint,3,opt,name=Score,proto3" json:"Score,omitempty"`
Rank int32 `protobuf:"varint,4,opt,name=Rank,proto3" json:"Rank,omitempty"` // 排名
ModId int32 `protobuf:"varint,5,opt,name=ModId,proto3" json:"ModId,omitempty"` // 角色id
}
func (x *NianRankData) Reset() {
*x = NianRankData{}
if protoimpl.UnsafeEnabled {
mi := &file_protocol_rank_rank_proto_msgTypes[31]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *NianRankData) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*NianRankData) ProtoMessage() {}
func (x *NianRankData) ProtoReflect() protoreflect.Message {
mi := &file_protocol_rank_rank_proto_msgTypes[31]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use NianRankData.ProtoReflect.Descriptor instead.
func (*NianRankData) Descriptor() ([]byte, []int) {
return file_protocol_rank_rank_proto_rawDescGZIP(), []int{31}
}
func (x *NianRankData) GetSnid() int32 {
if x != nil {
return x.Snid
}
return 0
}
func (x *NianRankData) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *NianRankData) GetScore() int64 {
if x != nil {
return x.Score
}
return 0
}
func (x *NianRankData) GetRank() int32 {
if x != nil {
return x.Rank
}
return 0
}
func (x *NianRankData) GetModId() int32 {
if x != nil {
return x.ModId
}
return 0
}
// PACKET_RANK_SCCoin
type SCNian struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Ranks []*NianRankData `protobuf:"bytes,1,rep,name=Ranks,proto3" json:"Ranks,omitempty"` // 排行榜
Me *NianRankData `protobuf:"bytes,2,opt,name=Me,proto3" json:"Me,omitempty"` // 玩家自己的排行信息
Page int32 `protobuf:"varint,3,opt,name=Page,proto3" json:"Page,omitempty"` // 页数
PageSize int32 `protobuf:"varint,4,opt,name=PageSize,proto3" json:"PageSize,omitempty"` // 每页数量
Total int32 `protobuf:"varint,5,opt,name=Total,proto3" json:"Total,omitempty"` // 总数量
TypeId int32 `protobuf:"varint,6,opt,name=TypeId,proto3" json:"TypeId,omitempty"`
}
func (x *SCNian) Reset() {
*x = SCNian{}
if protoimpl.UnsafeEnabled {
mi := &file_protocol_rank_rank_proto_msgTypes[32]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SCNian) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SCNian) ProtoMessage() {}
func (x *SCNian) ProtoReflect() protoreflect.Message {
mi := &file_protocol_rank_rank_proto_msgTypes[32]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use SCNian.ProtoReflect.Descriptor instead.
func (*SCNian) Descriptor() ([]byte, []int) {
return file_protocol_rank_rank_proto_rawDescGZIP(), []int{32}
}
func (x *SCNian) GetRanks() []*NianRankData {
if x != nil {
return x.Ranks
}
return nil
}
func (x *SCNian) GetMe() *NianRankData {
if x != nil {
return x.Me
}
return nil
}
func (x *SCNian) GetPage() int32 {
if x != nil {
return x.Page
}
return 0
}
func (x *SCNian) GetPageSize() int32 {
if x != nil {
return x.PageSize
}
return 0
}
func (x *SCNian) GetTotal() int32 {
if x != nil {
return x.Total
}
return 0
}
func (x *SCNian) GetTypeId() int32 {
if x != nil {
return x.TypeId
}
return 0
}
var File_protocol_rank_rank_proto protoreflect.FileDescriptor
var file_protocol_rank_rank_proto_rawDesc = []byte{
@ -2543,53 +2781,80 @@ var file_protocol_rank_rank_proto_rawDesc = []byte{
0x43, 0x4c, 0x6f, 0x74, 0x74, 0x65, 0x72, 0x79, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x12,
0x28, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e,
0x72, 0x61, 0x6e, 0x6b, 0x2e, 0x4c, 0x6f, 0x74, 0x74, 0x65, 0x72, 0x79, 0x48, 0x69, 0x73, 0x74,
0x6f, 0x72, 0x79, 0x52, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x2a, 0x9e, 0x04, 0x0a, 0x04, 0x52, 0x61,
0x6e, 0x6b, 0x12, 0x14, 0x0a, 0x10, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x52, 0x41, 0x4e,
0x4b, 0x5f, 0x5a, 0x45, 0x52, 0x4f, 0x10, 0x00, 0x12, 0x1c, 0x0a, 0x17, 0x50, 0x41, 0x43, 0x4b,
0x45, 0x54, 0x5f, 0x52, 0x41, 0x4e, 0x4b, 0x5f, 0x43, 0x53, 0x52, 0x61, 0x6e, 0x6b, 0x4d, 0x61,
0x74, 0x63, 0x68, 0x10, 0x90, 0x4e, 0x12, 0x1c, 0x0a, 0x17, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54,
0x5f, 0x52, 0x41, 0x4e, 0x4b, 0x5f, 0x53, 0x43, 0x52, 0x61, 0x6e, 0x6b, 0x4d, 0x61, 0x74, 0x63,
0x68, 0x10, 0x91, 0x4e, 0x12, 0x17, 0x0a, 0x12, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x52,
0x41, 0x4e, 0x4b, 0x5f, 0x43, 0x53, 0x43, 0x6f, 0x69, 0x6e, 0x10, 0x92, 0x4e, 0x12, 0x17, 0x0a,
0x12, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x52, 0x41, 0x4e, 0x4b, 0x5f, 0x53, 0x43, 0x43,
0x6f, 0x69, 0x6e, 0x10, 0x93, 0x4e, 0x12, 0x19, 0x0a, 0x14, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54,
0x5f, 0x52, 0x41, 0x4e, 0x4b, 0x5f, 0x43, 0x53, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x10, 0x94,
0x4e, 0x12, 0x19, 0x0a, 0x14, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x52, 0x41, 0x4e, 0x4b,
0x5f, 0x53, 0x43, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x10, 0x95, 0x4e, 0x12, 0x17, 0x0a, 0x12,
0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x4c,
0x6f, 0x67, 0x10, 0x96, 0x4e, 0x12, 0x17, 0x0a, 0x12, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f,
0x53, 0x43, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x4c, 0x6f, 0x67, 0x10, 0x97, 0x4e, 0x12, 0x1a,
0x0a, 0x15, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x52, 0x41, 0x4e, 0x4b, 0x5f, 0x43, 0x53,
0x57, 0x69, 0x6e, 0x43, 0x6f, 0x69, 0x6e, 0x10, 0x98, 0x4e, 0x12, 0x1a, 0x0a, 0x15, 0x50, 0x41,
0x43, 0x4b, 0x45, 0x54, 0x5f, 0x52, 0x41, 0x4e, 0x4b, 0x5f, 0x53, 0x43, 0x57, 0x69, 0x6e, 0x43,
0x6f, 0x69, 0x6e, 0x10, 0x99, 0x4e, 0x12, 0x18, 0x0a, 0x13, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54,
0x5f, 0x52, 0x41, 0x4e, 0x4b, 0x5f, 0x43, 0x53, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x10, 0x9a, 0x4e,
0x12, 0x18, 0x0a, 0x13, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x52, 0x41, 0x4e, 0x4b, 0x5f,
0x53, 0x43, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x10, 0x9b, 0x4e, 0x12, 0x19, 0x0a, 0x14, 0x50, 0x41,
0x43, 0x4b, 0x45, 0x54, 0x5f, 0x52, 0x41, 0x4e, 0x4b, 0x5f, 0x43, 0x53, 0x50, 0x65, 0x72, 0x6d,
0x69, 0x74, 0x10, 0x9c, 0x4e, 0x12, 0x19, 0x0a, 0x14, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f,
0x52, 0x41, 0x4e, 0x4b, 0x5f, 0x53, 0x43, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x10, 0x9d, 0x4e,
0x12, 0x17, 0x0a, 0x12, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x52, 0x6f, 0x6f,
0x6d, 0x41, 0x77, 0x61, 0x72, 0x64, 0x10, 0x9e, 0x4e, 0x12, 0x17, 0x0a, 0x12, 0x50, 0x41, 0x43,
0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x52, 0x6f, 0x6f, 0x6d, 0x41, 0x77, 0x61, 0x72, 0x64, 0x10,
0x9f, 0x4e, 0x12, 0x1a, 0x0a, 0x15, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x52,
0x6f, 0x6f, 0x6d, 0x41, 0x77, 0x61, 0x72, 0x64, 0x4f, 0x6e, 0x65, 0x10, 0xa0, 0x4e, 0x12, 0x1c,
0x0a, 0x17, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x4c, 0x6f, 0x74, 0x74, 0x65,
0x72, 0x79, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x10, 0xa1, 0x4e, 0x12, 0x1c, 0x0a, 0x17,
0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x4c, 0x6f, 0x74, 0x74, 0x65, 0x72, 0x79,
0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x10, 0xa2, 0x4e, 0x2a, 0x8d, 0x01, 0x0a, 0x0a, 0x52,
0x61, 0x6e, 0x6b, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x12, 0x13, 0x0a, 0x0f, 0x49, 0x6e, 0x76,
0x69, 0x74, 0x65, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x4e, 0x6f, 0x6e, 0x65, 0x10, 0x00, 0x12, 0x14,
0x0a, 0x10, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x54, 0x6f, 0x74,
0x61, 0x6c, 0x10, 0x01, 0x12, 0x13, 0x0a, 0x0f, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x54, 0x79,
0x70, 0x65, 0x5f, 0x57, 0x65, 0x65, 0x6b, 0x10, 0x02, 0x12, 0x14, 0x0a, 0x10, 0x49, 0x6e, 0x76,
0x69, 0x74, 0x65, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x4d, 0x6f, 0x6e, 0x74, 0x68, 0x10, 0x03, 0x12,
0x15, 0x0a, 0x11, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x55, 0x70,
0x57, 0x65, 0x65, 0x6b, 0x10, 0x04, 0x12, 0x12, 0x0a, 0x0e, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65,
0x54, 0x79, 0x70, 0x65, 0x5f, 0x4d, 0x61, 0x78, 0x10, 0x05, 0x42, 0x24, 0x5a, 0x22, 0x6d, 0x6f,
0x6e, 0x67, 0x6f, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x61,
0x6d, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2f, 0x72, 0x61, 0x6e, 0x6b,
0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
0x6f, 0x72, 0x79, 0x52, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x50, 0x0a, 0x06, 0x43, 0x53, 0x4e,
0x69, 0x61, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x50, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
0x05, 0x52, 0x04, 0x50, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x61, 0x67, 0x65, 0x53,
0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x50, 0x61, 0x67, 0x65, 0x53,
0x69, 0x7a, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x54, 0x79, 0x70, 0x65, 0x49, 0x64, 0x18, 0x03, 0x20,
0x01, 0x28, 0x05, 0x52, 0x06, 0x54, 0x79, 0x70, 0x65, 0x49, 0x64, 0x22, 0x76, 0x0a, 0x0c, 0x4e,
0x69, 0x61, 0x6e, 0x52, 0x61, 0x6e, 0x6b, 0x44, 0x61, 0x74, 0x61, 0x12, 0x12, 0x0a, 0x04, 0x53,
0x6e, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x53, 0x6e, 0x69, 0x64, 0x12,
0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e,
0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x03, 0x20, 0x01,
0x28, 0x03, 0x52, 0x05, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x52, 0x61, 0x6e,
0x6b, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x52, 0x61, 0x6e, 0x6b, 0x12, 0x14, 0x0a,
0x05, 0x4d, 0x6f, 0x64, 0x49, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x4d, 0x6f,
0x64, 0x49, 0x64, 0x22, 0xb4, 0x01, 0x0a, 0x06, 0x53, 0x43, 0x4e, 0x69, 0x61, 0x6e, 0x12, 0x28,
0x0a, 0x05, 0x52, 0x61, 0x6e, 0x6b, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e,
0x72, 0x61, 0x6e, 0x6b, 0x2e, 0x4e, 0x69, 0x61, 0x6e, 0x52, 0x61, 0x6e, 0x6b, 0x44, 0x61, 0x74,
0x61, 0x52, 0x05, 0x52, 0x61, 0x6e, 0x6b, 0x73, 0x12, 0x22, 0x0a, 0x02, 0x4d, 0x65, 0x18, 0x02,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x72, 0x61, 0x6e, 0x6b, 0x2e, 0x4e, 0x69, 0x61, 0x6e,
0x52, 0x61, 0x6e, 0x6b, 0x44, 0x61, 0x74, 0x61, 0x52, 0x02, 0x4d, 0x65, 0x12, 0x12, 0x0a, 0x04,
0x50, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x50, 0x61, 0x67, 0x65,
0x12, 0x1a, 0x0a, 0x08, 0x50, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x04, 0x20, 0x01,
0x28, 0x05, 0x52, 0x08, 0x50, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x14, 0x0a, 0x05,
0x54, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x54, 0x6f, 0x74,
0x61, 0x6c, 0x12, 0x16, 0x0a, 0x06, 0x54, 0x79, 0x70, 0x65, 0x49, 0x64, 0x18, 0x06, 0x20, 0x01,
0x28, 0x05, 0x52, 0x06, 0x54, 0x79, 0x70, 0x65, 0x49, 0x64, 0x2a, 0xd0, 0x04, 0x0a, 0x04, 0x52,
0x61, 0x6e, 0x6b, 0x12, 0x14, 0x0a, 0x10, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x52, 0x41,
0x4e, 0x4b, 0x5f, 0x5a, 0x45, 0x52, 0x4f, 0x10, 0x00, 0x12, 0x1c, 0x0a, 0x17, 0x50, 0x41, 0x43,
0x4b, 0x45, 0x54, 0x5f, 0x52, 0x41, 0x4e, 0x4b, 0x5f, 0x43, 0x53, 0x52, 0x61, 0x6e, 0x6b, 0x4d,
0x61, 0x74, 0x63, 0x68, 0x10, 0x90, 0x4e, 0x12, 0x1c, 0x0a, 0x17, 0x50, 0x41, 0x43, 0x4b, 0x45,
0x54, 0x5f, 0x52, 0x41, 0x4e, 0x4b, 0x5f, 0x53, 0x43, 0x52, 0x61, 0x6e, 0x6b, 0x4d, 0x61, 0x74,
0x63, 0x68, 0x10, 0x91, 0x4e, 0x12, 0x17, 0x0a, 0x12, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f,
0x52, 0x41, 0x4e, 0x4b, 0x5f, 0x43, 0x53, 0x43, 0x6f, 0x69, 0x6e, 0x10, 0x92, 0x4e, 0x12, 0x17,
0x0a, 0x12, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x52, 0x41, 0x4e, 0x4b, 0x5f, 0x53, 0x43,
0x43, 0x6f, 0x69, 0x6e, 0x10, 0x93, 0x4e, 0x12, 0x19, 0x0a, 0x14, 0x50, 0x41, 0x43, 0x4b, 0x45,
0x54, 0x5f, 0x52, 0x41, 0x4e, 0x4b, 0x5f, 0x43, 0x53, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x10,
0x94, 0x4e, 0x12, 0x19, 0x0a, 0x14, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x52, 0x41, 0x4e,
0x4b, 0x5f, 0x53, 0x43, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x10, 0x95, 0x4e, 0x12, 0x17, 0x0a,
0x12, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65,
0x4c, 0x6f, 0x67, 0x10, 0x96, 0x4e, 0x12, 0x17, 0x0a, 0x12, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54,
0x5f, 0x53, 0x43, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x4c, 0x6f, 0x67, 0x10, 0x97, 0x4e, 0x12,
0x1a, 0x0a, 0x15, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x52, 0x41, 0x4e, 0x4b, 0x5f, 0x43,
0x53, 0x57, 0x69, 0x6e, 0x43, 0x6f, 0x69, 0x6e, 0x10, 0x98, 0x4e, 0x12, 0x1a, 0x0a, 0x15, 0x50,
0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x52, 0x41, 0x4e, 0x4b, 0x5f, 0x53, 0x43, 0x57, 0x69, 0x6e,
0x43, 0x6f, 0x69, 0x6e, 0x10, 0x99, 0x4e, 0x12, 0x18, 0x0a, 0x13, 0x50, 0x41, 0x43, 0x4b, 0x45,
0x54, 0x5f, 0x52, 0x41, 0x4e, 0x4b, 0x5f, 0x43, 0x53, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x10, 0x9a,
0x4e, 0x12, 0x18, 0x0a, 0x13, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x52, 0x41, 0x4e, 0x4b,
0x5f, 0x53, 0x43, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x10, 0x9b, 0x4e, 0x12, 0x19, 0x0a, 0x14, 0x50,
0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x52, 0x41, 0x4e, 0x4b, 0x5f, 0x43, 0x53, 0x50, 0x65, 0x72,
0x6d, 0x69, 0x74, 0x10, 0x9c, 0x4e, 0x12, 0x19, 0x0a, 0x14, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54,
0x5f, 0x52, 0x41, 0x4e, 0x4b, 0x5f, 0x53, 0x43, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x10, 0x9d,
0x4e, 0x12, 0x17, 0x0a, 0x12, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x52, 0x6f,
0x6f, 0x6d, 0x41, 0x77, 0x61, 0x72, 0x64, 0x10, 0x9e, 0x4e, 0x12, 0x17, 0x0a, 0x12, 0x50, 0x41,
0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x52, 0x6f, 0x6f, 0x6d, 0x41, 0x77, 0x61, 0x72, 0x64,
0x10, 0x9f, 0x4e, 0x12, 0x1a, 0x0a, 0x15, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43,
0x52, 0x6f, 0x6f, 0x6d, 0x41, 0x77, 0x61, 0x72, 0x64, 0x4f, 0x6e, 0x65, 0x10, 0xa0, 0x4e, 0x12,
0x1c, 0x0a, 0x17, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x4c, 0x6f, 0x74, 0x74,
0x65, 0x72, 0x79, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x10, 0xa1, 0x4e, 0x12, 0x1c, 0x0a,
0x17, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x4c, 0x6f, 0x74, 0x74, 0x65, 0x72,
0x79, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x10, 0xa2, 0x4e, 0x12, 0x17, 0x0a, 0x12, 0x50,
0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x52, 0x41, 0x4e, 0x4b, 0x5f, 0x43, 0x53, 0x4e, 0x69, 0x61,
0x6e, 0x10, 0xa3, 0x4e, 0x12, 0x17, 0x0a, 0x12, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x52,
0x41, 0x4e, 0x4b, 0x5f, 0x53, 0x43, 0x4e, 0x69, 0x61, 0x6e, 0x10, 0xa4, 0x4e, 0x2a, 0x8d, 0x01,
0x0a, 0x0a, 0x52, 0x61, 0x6e, 0x6b, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x12, 0x13, 0x0a, 0x0f,
0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x4e, 0x6f, 0x6e, 0x65, 0x10,
0x00, 0x12, 0x14, 0x0a, 0x10, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x54, 0x79, 0x70, 0x65, 0x5f,
0x54, 0x6f, 0x74, 0x61, 0x6c, 0x10, 0x01, 0x12, 0x13, 0x0a, 0x0f, 0x49, 0x6e, 0x76, 0x69, 0x74,
0x65, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x57, 0x65, 0x65, 0x6b, 0x10, 0x02, 0x12, 0x14, 0x0a, 0x10,
0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x4d, 0x6f, 0x6e, 0x74, 0x68,
0x10, 0x03, 0x12, 0x15, 0x0a, 0x11, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x54, 0x79, 0x70, 0x65,
0x5f, 0x55, 0x70, 0x57, 0x65, 0x65, 0x6b, 0x10, 0x04, 0x12, 0x12, 0x0a, 0x0e, 0x49, 0x6e, 0x76,
0x69, 0x74, 0x65, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x4d, 0x61, 0x78, 0x10, 0x05, 0x42, 0x24, 0x5a,
0x22, 0x6d, 0x6f, 0x6e, 0x67, 0x6f, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6d,
0x2f, 0x67, 0x61, 0x6d, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2f, 0x72,
0x61, 0x6e, 0x6b, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
@ -2605,7 +2870,7 @@ func file_protocol_rank_rank_proto_rawDescGZIP() []byte {
}
var file_protocol_rank_rank_proto_enumTypes = make([]protoimpl.EnumInfo, 2)
var file_protocol_rank_rank_proto_msgTypes = make([]protoimpl.MessageInfo, 30)
var file_protocol_rank_rank_proto_msgTypes = make([]protoimpl.MessageInfo, 33)
var file_protocol_rank_rank_proto_goTypes = []interface{}{
(Rank)(0), // 0: rank.Rank
(RankInvite)(0), // 1: rank.RankInvite
@ -2639,6 +2904,9 @@ var file_protocol_rank_rank_proto_goTypes = []interface{}{
(*LotteryShow)(nil), // 29: rank.LotteryShow
(*LotteryHistory)(nil), // 30: rank.LotteryHistory
(*SCLotteryHistory)(nil), // 31: rank.SCLotteryHistory
(*CSNian)(nil), // 32: rank.CSNian
(*NianRankData)(nil), // 33: rank.NianRankData
(*SCNian)(nil), // 34: rank.SCNian
}
var file_protocol_rank_rank_proto_depIdxs = []int32{
3, // 0: rank.SCRankMatch.Ranks:type_name -> rank.SeasonRank
@ -2659,11 +2927,13 @@ var file_protocol_rank_rank_proto_depIdxs = []int32{
25, // 15: rank.LotteryHistory.Award:type_name -> rank.Item
29, // 16: rank.LotteryHistory.Show:type_name -> rank.LotteryShow
30, // 17: rank.SCLotteryHistory.List:type_name -> rank.LotteryHistory
18, // [18:18] is the sub-list for method output_type
18, // [18:18] is the sub-list for method input_type
18, // [18:18] is the sub-list for extension type_name
18, // [18:18] is the sub-list for extension extendee
0, // [0:18] is the sub-list for field type_name
33, // 18: rank.SCNian.Ranks:type_name -> rank.NianRankData
33, // 19: rank.SCNian.Me:type_name -> rank.NianRankData
20, // [20:20] is the sub-list for method output_type
20, // [20:20] is the sub-list for method input_type
20, // [20:20] is the sub-list for extension type_name
20, // [20:20] is the sub-list for extension extendee
0, // [0:20] is the sub-list for field type_name
}
func init() { file_protocol_rank_rank_proto_init() }
@ -3032,6 +3302,42 @@ func file_protocol_rank_rank_proto_init() {
return nil
}
}
file_protocol_rank_rank_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CSNian); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_protocol_rank_rank_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*NianRankData); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_protocol_rank_rank_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SCNian); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
}
type x struct{}
out := protoimpl.TypeBuilder{
@ -3039,7 +3345,7 @@ func file_protocol_rank_rank_proto_init() {
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_protocol_rank_rank_proto_rawDesc,
NumEnums: 2,
NumMessages: 30,
NumMessages: 33,
NumExtensions: 0,
NumServices: 0,
},

View File

@ -33,6 +33,9 @@ enum Rank{
//
PACKET_CSLotteryHistory = 10017;
PACKET_SCLotteryHistory = 10018;
//
PACKET_RANK_CSNian = 10019;
PACKET_RANK_SCNian = 10020;
}
//
@ -270,4 +273,29 @@ message LotteryHistory{
// PACKET_SCLotteryHistory
message SCLotteryHistory{
repeated LotteryHistory List = 1;
}
}
// PACKET_RANK_CSNian
message CSNian{
int32 Page = 1; //
int32 PageSize = 2; //
int32 TypeId = 3; //1- 2-
}
message NianRankData {
int32 Snid = 1; // id
string Name = 2; //
int64 Score = 3;
int32 Rank = 4; //
int32 ModId = 5; // id
}
// PACKET_RANK_SCCoin
message SCNian{
repeated NianRankData Ranks = 1; //
NianRankData Me = 2; //
int32 Page = 3; //
int32 PageSize = 4; //
int32 Total = 5; //
int32 TypeId = 6;
}

View File

@ -32,6 +32,8 @@ func init() {
com.Register(int(rankproto.Rank_PACKET_CSRoomAward), rankproto.CSRoomAward{}, CSRoomAward)
// 竞技馆获奖记录
com.Register(int(rankproto.Rank_PACKET_CSLotteryHistory), rankproto.CSLotteryHistory{}, CSLotteryHistory)
//年兽排行榜
com.Register(int(rankproto.Rank_PACKET_RANK_CSNian), rankproto.CSNian{}, CSNian)
}
func CSRankMatch(s *netlib.Session, d *rankproto.GateTransmit, packetId int, data interface{}, sid int64) error {
@ -646,3 +648,138 @@ func CSLotteryHistory(s *netlib.Session, d *rankproto.GateTransmit, packetId int
})
return nil
}
func CSNian(s *netlib.Session, d *rankproto.GateTransmit, packetId int, data interface{}, sid int64) error {
logger.Logger.Trace("CSNian data:", data)
msg, ok := data.(*rankproto.CSNian)
if !ok {
return nil
}
if msg.TypeId == 1 {
rank.NianLuckMgrInstance.Take(d.Platform, 0, func(list []*model.NianInfo, err error) {
if err != nil {
logger.Logger.Errorf("CSNian error: %v", err)
return
}
page := msg.GetPage()
if page < 0 {
page = 0
}
pageSize := msg.GetPageSize()
if pageSize < 1 {
pageSize = 10
}
start := page * pageSize
end := start + pageSize
if end >= int32(len(list)) {
end = int32(len(list))
}
var i int32
var ranks []*rankproto.NianRankData
if end > start && int(start) < len(list) {
for _, v := range list[start:end] {
r := &rankproto.NianRankData{
Snid: v.SnId,
Name: v.Name,
Score: v.Luck,
Rank: start + i,
ModId: v.ModId,
}
ranks = append(ranks, r)
i++
}
}
var me *rankproto.NianRankData
for k, v := range list {
if v.SnId == d.Snid {
me = &rankproto.NianRankData{
Snid: v.SnId,
Name: v.Name,
Score: v.Luck,
Rank: int32(k),
ModId: v.ModId,
}
break
}
}
pack := &rankproto.SCNian{
Ranks: ranks,
Me: me,
Page: page,
PageSize: pageSize,
Total: int32(len(list)),
}
pack.TypeId = msg.TypeId
common.SendToGate(sid, int(rankproto.Rank_PACKET_RANK_SCNian), pack, s)
logger.Logger.Tracef("SCNian: %v", pack)
})
} else if msg.TypeId == 2 {
rank.NianDamageMgrInstance.Take(d.Platform, 0, func(list []*model.NianInfo, err error) {
if err != nil {
logger.Logger.Errorf("CSNian error: %v", err)
return
}
page := msg.GetPage()
if page < 0 {
page = 0
}
pageSize := msg.GetPageSize()
if pageSize < 1 {
pageSize = 10
}
start := page * pageSize
end := start + pageSize
if end >= int32(len(list)) {
end = int32(len(list))
}
var i int32
var ranks []*rankproto.NianRankData
if end > start && int(start) < len(list) {
for _, v := range list[start:end] {
r := &rankproto.NianRankData{
Snid: v.SnId,
Name: v.Name,
Score: v.Damage,
Rank: start + i,
ModId: v.ModId,
}
ranks = append(ranks, r)
i++
}
}
var me *rankproto.NianRankData
for k, v := range list {
if v.SnId == d.Snid {
me = &rankproto.NianRankData{
Snid: v.SnId,
Name: v.Name,
Score: v.Damage,
Rank: int32(k),
ModId: v.ModId,
}
break
}
}
pack := &rankproto.SCNian{
Ranks: ranks,
Me: me,
Page: page,
PageSize: pageSize,
Total: int32(len(list)),
}
pack.TypeId = msg.TypeId
common.SendToGate(sid, int(rankproto.Rank_PACKET_RANK_SCNian), pack, s)
logger.Logger.Tracef("SCCoin: %v", pack)
})
}
return nil
}

View File

@ -94,7 +94,6 @@ func CSNianData(s *netlib.Session, packetid int, data interface{}, sid int64) er
num, _ := strconv.Atoi(s)
intSlice = append(intSlice, num)
}
break
}
if value.Id == 18 {
str := value.PropValue
@ -104,7 +103,6 @@ func CSNianData(s *netlib.Session, packetid int, data interface{}, sid int64) er
num, _ := strconv.Atoi(s)
shopNum = append(shopNum, num)
}
break
}
}
for pos, shopId := range intSlice {
@ -118,6 +116,13 @@ func CSNianData(s *netlib.Session, packetid int, data interface{}, sid int64) er
shopInfo.MaxShopNum = int32(num)
pack.ShopData = append(pack.ShopData, shopInfo)
}
changeData := ""
for _, value := range sData {
if value.Id == 21 {
changeData = value.PropValue
break
}
}
StartTs := common.IntToTime(int(pool.List[0].BuffStartTime)).Unix()
EndTs := common.IntToTime(int(pool.List[0].BuffEndTime)).Unix()
pack.BuffStartTime = StartTs
@ -130,7 +135,7 @@ func CSNianData(s *netlib.Session, packetid int, data interface{}, sid int64) er
pack.BuffCount = p.WelfData.NianData.BuffCount
pack.BuffStatus = p.WelfData.NianData.BuffStatus
pack.SignAwardTime = p.WelfData.NianData.SignAwardTime
pack.ChangeData = changeData
logger.Logger.Trace("请求年兽活动信息 ", pack)
p.SendToClient(int(activity.NianPacketID_PACKET_SCNianData), pack)
}
@ -489,21 +494,21 @@ func CSNianAttack(s *netlib.Session, packetid int, data interface{}, sid int64)
if luckValue < RankNeed {
damage = 0
}
//if luckValue > 0 || damage > 0 {
log := &model.NianInfo{
Platform: p.Platform,
SnId: p.SnId,
Name: p.Name,
Luck: luckValue,
Damage: damage,
ModId: p.Roles.ModId,
Ts: time.Now().Unix(),
if luckValue > 0 || damage > 0 {
log := &model.NianInfo{
Platform: p.Platform,
SnId: p.SnId,
Name: p.Name,
Luck: luckValue,
Damage: damage,
ModId: p.Roles.ModId,
Ts: time.Now().Unix(),
}
if luckTime > 0 {
log.LuckTime = luckTime
}
mq.Write(log)
}
if luckTime > 0 {
log.LuckTime = luckTime
}
mq.Write(log)
//}
}
return nil
}
@ -521,6 +526,10 @@ func CSNianBuff(s *netlib.Session, packetid int, data interface{}, sid int64) er
p.WelfData.NianData = &model.NianData{}
}
if p.WelfData.NianData.BuffStatus {
pack := &activity.SCNianBuff{
OpRetCode: activity.OpResultCode_Nian_OPRC_Error_Nian,
}
p.SendToClient(int(activity.NianPacketID_PACKET_SCNianBuff), pack)
return nil
}
pool := WelfareMgrSington.GetConfig(p.Platform).ActivityNianConfig
@ -549,6 +558,12 @@ func CSNianBuff(s *netlib.Session, packetid int, data interface{}, sid int64) er
BuffCount: p.WelfData.NianData.BuffCount,
}
p.SendToClient(int(activity.NianPacketID_PACKET_SCNianBuff), pack)
} else {
logger.Logger.Trace("CSNianSignAward 活动时间未到!")
pack := &activity.SCNianBuff{
OpRetCode: activity.OpResultCode_Nian_OPRC_Error_Nian,
}
p.SendToClient(int(activity.NianPacketID_PACKET_SCNianBuff), pack)
}
}
return nil
@ -570,15 +585,18 @@ func CSNianSignAward(s *netlib.Session, packetid int, data interface{}, sid int6
logger.Logger.Trace("CSNianSignAward 活动关闭!")
return nil
}
pack := &activity.SCNianSignAward{}
if p.WelfData.NianData == nil {
p.WelfData.NianData = &model.NianData{}
}
if p.WelfData.NianData.SignAwardTime > 0 {
pack.OpRetCode = activity.OpResultCode_Nian_OPRC_Error_Nian
p.SendToClient(int(activity.NianPacketID_PACKET_SCNianSignAward), pack)
return nil
}
p.WelfData.NianData.SignAwardTime = time.Now().Unix()
//奖励
pack := &activity.SCNianSignAward{}
pack.SignAwardTime = p.WelfData.NianData.SignAwardTime
var items []*model.Item
for _, info := range pool.List[0].SignReward {
@ -630,7 +648,10 @@ func CSNianChange(s *netlib.Session, packetid int, data interface{}, sid int64)
break
}
}
pack := &activity.SCNianChange{}
if p.Diamond < int64(diamond*int(num)) {
pack.OpRetCode = activity.OpResultCode_Nian_OPRC_Error_Nian
p.SendToClient(int(activity.NianPacketID_PACKET_SCNianChange), pack)
return nil
}
p.AddDiamond(int64(-diamond*int(num)), 0, common.GainWayNianCost, "sys", "年兽活动兑换道具")
@ -651,7 +672,7 @@ func CSNianChange(s *netlib.Session, packetid int, data interface{}, sid int64)
Operator: "system",
Remark: "年兽活动-兑换",
})
pack := &activity.SCNianChange{}
pack.Num = num
for _, item := range items {
info := &activity.RankAwardData{

View File

@ -207,7 +207,6 @@ func (this *CSVCPayShopHandler) Process(s *netlib.Session, packetid int, data in
}
intSlice = append(intSlice, num)
}
break
}
if value.Id == 18 {
str := value.PropValue
@ -220,7 +219,6 @@ func (this *CSVCPayShopHandler) Process(s *netlib.Session, packetid int, data in
}
shopNum = append(shopNum, num)
}
break
}
}
shopPos := 0
@ -535,7 +533,6 @@ func (this *CSPayInfoHandler) Process(s *netlib.Session, packetid int, data inte
num, _ := strconv.Atoi(s)
intSlice = append(intSlice, num)
}
break
}
if value.Id == 18 {
str := value.PropValue
@ -545,7 +542,6 @@ func (this *CSPayInfoHandler) Process(s *netlib.Session, packetid int, data inte
num, _ := strconv.Atoi(s)
shopNum = append(shopNum, num)
}
break
}
}
shopPos := 0

View File

@ -647,6 +647,8 @@ func (r *RankMatchMgr) OnDayTimer() {
logger.Logger.Info("(this *RankMatchMgr) OnDayTimer")
//排行榜发奖
//r.RankAward()
//年兽排行榜发奖
r.NianRankAward()
for _, platform := range PlatformMgrSingleton.GetPlatforms() {
if platform.IdStr == DefaultPlatform {
continue
@ -930,6 +932,184 @@ func (r *RankMatchMgr) Save(platform string, snid int32, isSync, force bool) {
})).StartByFixExecutor(fmt.Sprintf("platform%s", ret.Platform))
}
// 年兽排行榜发奖
func (r *RankMatchMgr) NianRankAward() {
logger.Logger.Trace("年兽排行榜开始发奖!!!!")
for _, v := range PlatformMgrSingleton.GetPlatforms() {
platform := v.IdStr
rankConfig := PlatformMgrSingleton.GetConfig(platform).NianRankReward
if rankConfig == nil {
continue
}
pool := WelfareMgrSington.GetConfig(platform).ActivityNianConfig
if pool == nil || pool.List == nil {
return
}
if pool.Switch == model.WelfareClose {
return
}
startTime := pool.List[0].ActivityStart
endTime := pool.List[0].ActivityEnd
t, _ := time.Parse(time.DateTime, startTime)
// 转换为时间戳(以秒为单位)
timestamp := t.Unix()
end, _ := time.Parse(time.DateTime, endTime)
endTimestamp := end.Unix()
nowTime := time.Now().Unix()
if nowTime < timestamp || nowTime > endTimestamp {
return
}
for _, info := range rankConfig.RankData {
if info.TypeId == 1 {
rankAward := info.RankInfo
if rankAward == nil {
continue
}
var players []*model.PlayerBaseInfo
list, err := model.FindLuckNianRankList(&model.FindNianListArgs{
Platform: platform,
})
task.New(nil, task.CallableWrapper(func(o *basic.Object) interface{} {
for _, vv := range list.List {
player := PlayerMgrSington.GetPlayerBySnId(vv.SnId)
if player != nil {
players = append(players, &model.PlayerBaseInfo{
SnId: player.SnId,
LastChannel: player.LastChannel,
})
} else {
baseInfo := model.GetPlayerBaseInfo(platform, vv.SnId)
players = append(players, baseInfo)
}
}
return nil
}), task.CompleteNotifyWrapper(func(i interface{}, t task.Task) {
if err != nil {
logger.Logger.Errorf("RankMatchMgr OnDayTimer FindLuckNianRankList err:%v", err)
return
}
rankId := int32(1)
for k, player := range players {
if player == nil {
logger.Logger.Errorf("RankMatchMgr OnDayTimer FindLuckNianRankList player is nil %v", list.List[k].SnId)
continue
}
var items []int64
for _, award := range rankAward[rankId].Award {
items = append(items, int64(award.ItemId))
items = append(items, award.ItemNum)
}
if len(items) == 0 {
break
}
// 发邮件
var newMsg *model.Message
task.New(nil, task.CallableWrapper(func(o *basic.Object) interface{} {
title := i18n.Tr("languages", "NianLuckTitle")
content := i18n.Tr("languages", "NianLuckAward", []int{int(rankId), int(rankId), int(rankId), int(rankId)})
newMsg = model.NewMessage("", 0, "", player.SnId, model.MSGTYPE_RANK_REWARD,
title, content, 0, 0, model.MSGSTATE_UNREAD, time.Now().Unix(), 0, "", items, platform, model.HallTienlen, nil)
err := model.InsertMessage(platform, newMsg)
if err != nil {
logger.Logger.Errorf("发送邮件失败 snid:%v err:%v", player.SnId, err)
return err
}
return nil
}), task.CompleteNotifyWrapper(func(i interface{}, t task.Task) {
p := PlayerMgrSington.GetPlayerBySnId(player.SnId)
if p != nil {
p.AddMessage(newMsg)
}
})).Start()
rankId += 1
}
//清除幸运榜数值
err := model.ClearNianRank(&model.FindNianListArgs{
Platform: platform,
})
if err != nil {
logger.Logger.Errorf("清除幸运榜数值失败 err:%v", err)
}
})).StartByExecutor("NianLuck_Award")
} else if info.TypeId == 2 {
if time.Now().Day()-1 != end.Day() {
return
}
rankAward := info.RankInfo
if rankAward == nil {
continue
}
var players []*model.PlayerBaseInfo
list, err := model.FindDamageNianRankList(&model.FindNianListArgs{
Platform: platform,
})
task.New(nil, task.CallableWrapper(func(o *basic.Object) interface{} {
for _, vv := range list.List {
player := PlayerMgrSington.GetPlayerBySnId(vv.SnId)
if player != nil {
players = append(players, &model.PlayerBaseInfo{
SnId: player.SnId,
LastChannel: player.LastChannel,
})
} else {
baseInfo := model.GetPlayerBaseInfo(platform, vv.SnId)
players = append(players, baseInfo)
}
}
return nil
}), task.CompleteNotifyWrapper(func(i interface{}, t task.Task) {
if err != nil {
logger.Logger.Errorf("RankMatchMgr OnDayTimer FindLuckNianRankList err:%v", err)
return
}
rankId := int32(1)
for k, player := range players {
if player == nil {
logger.Logger.Errorf("RankMatchMgr OnDayTimer FindLuckNianRankList player is nil %v", list.List[k].SnId)
continue
}
var items []int64
for _, award := range rankAward[rankId].Award {
items = append(items, int64(award.ItemId))
items = append(items, award.ItemNum)
}
if len(items) == 0 {
break
}
// 发邮件
var newMsg *model.Message
task.New(nil, task.CallableWrapper(func(o *basic.Object) interface{} {
title := i18n.Tr("languages", "NianDamageTitle")
content := i18n.Tr("languages", "NianDamageAward", []int{int(rankId), int(rankId), int(rankId), int(rankId)})
newMsg = model.NewMessage("", 0, "", player.SnId, model.MSGTYPE_RANK_REWARD,
title, content, 0, 0, model.MSGSTATE_UNREAD, time.Now().Unix(), 0, "", items, platform, model.HallTienlen, nil)
err := model.InsertMessage(platform, newMsg)
if err != nil {
logger.Logger.Errorf("发送邮件失败 snid:%v err:%v", player.SnId, err)
return err
}
return nil
}), task.CompleteNotifyWrapper(func(i interface{}, t task.Task) {
p := PlayerMgrSington.GetPlayerBySnId(player.SnId)
if p != nil {
p.AddMessage(newMsg)
}
})).Start()
rankId += 1
}
//删除数据库数据
err := model.DelNianRank(&model.FindNianListArgs{
Platform: platform,
})
if err != nil {
logger.Logger.Errorf("删除年兽排行榜数据库数据 err:%v", err)
}
})).StartByExecutor("NianDamage_Award")
}
}
}
}
func (r *RankMatchMgr) Release(platform string, snid int32) {
delete(r.playerSeasons, snid)
}