Compare commits
2 Commits
02bbc5a259
...
7b19859179
Author | SHA1 | Date |
---|---|---|
|
7b19859179 | |
|
4c7c2dc287 |
|
@ -1,11 +1,12 @@
|
||||||
|
|
||||||
в† ЁГ
|
иб†
|
||||||
ив†
|
о±к
|
||||||
Р†
|
фв†
|
||||||
Вв† Ќ
|
в†
|
||||||
Ь±к ђN
|
иа†
|
||||||
о±к Р†
|
ив†
|
||||||
ъўЌ Ќ
|
|
||||||
иб† Р†
|
Ь±к
|
||||||
¶а† °к
|
ъўЌ
|
||||||
d»к ЂВЧ/
|
|
||||||
|
жЩ
|
|
@ -2,75 +2,65 @@
|
||||||
"Arr": [
|
"Arr": [
|
||||||
{
|
{
|
||||||
"Id": 1,
|
"Id": 1,
|
||||||
"Rate": 4000,
|
|
||||||
"Gain": {
|
|
||||||
"50018": 5
|
|
||||||
},
|
|
||||||
"Value": 25000
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Id": 2,
|
|
||||||
"Rate": 1000,
|
|
||||||
"Gain": {
|
|
||||||
"50018": 10
|
|
||||||
},
|
|
||||||
"Value": 50000
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Id": 3,
|
|
||||||
"Rate": 450,
|
|
||||||
"Gain": {
|
|
||||||
"50018": 20
|
|
||||||
},
|
|
||||||
"Value": 100000
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Id": 4,
|
|
||||||
"Rate": 1500,
|
|
||||||
"Gain": {
|
|
||||||
"30001": 1
|
|
||||||
},
|
|
||||||
"Value": 10000
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Id": 5,
|
|
||||||
"Rate": 750,
|
|
||||||
"Gain": {
|
|
||||||
"30001": 5
|
|
||||||
},
|
|
||||||
"Value": 50000
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Id": 6,
|
|
||||||
"Rate": 250,
|
|
||||||
"Gain": {
|
|
||||||
"100002": 1
|
|
||||||
},
|
|
||||||
"Value": 100000
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Id": 7,
|
|
||||||
"Rate": 1000,
|
"Rate": 1000,
|
||||||
"Gain": {
|
"Gain": {
|
||||||
"50017": 1
|
"50017": 1
|
||||||
},
|
}
|
||||||
"Value": 50000
|
},
|
||||||
|
{
|
||||||
|
"Id": 2,
|
||||||
|
"Rate": 750,
|
||||||
|
"Gain": {
|
||||||
|
"30001": 5
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": 3,
|
||||||
|
"Rate": 500,
|
||||||
|
"Gain": {
|
||||||
|
"50018": 20
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": 4,
|
||||||
|
"Rate": 4000,
|
||||||
|
"Gain": {
|
||||||
|
"50018": 5
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": 5,
|
||||||
|
"Rate": 1000,
|
||||||
|
"Gain": {
|
||||||
|
"50016": 1
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": 6,
|
||||||
|
"Rate": 1000,
|
||||||
|
"Gain": {
|
||||||
|
"50018": 10
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": 7,
|
||||||
|
"Rate": 1500,
|
||||||
|
"Gain": {
|
||||||
|
"30001": 1
|
||||||
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"Id": 8,
|
"Id": 8,
|
||||||
"Rate": 950,
|
"Rate": 250,
|
||||||
"Gain": {
|
"Gain": {
|
||||||
"50016": 1
|
"100002": 1
|
||||||
},
|
}
|
||||||
"Value": 30000
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"Id": 9,
|
"Id": 9,
|
||||||
"Rate": 100,
|
|
||||||
"Gain": {
|
"Gain": {
|
||||||
"30011": 1
|
"77030": 1
|
||||||
},
|
}
|
||||||
"Value": 100000000
|
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
Binary file not shown.
Binary file not shown.
BIN
data/DB_Task.dat
BIN
data/DB_Task.dat
Binary file not shown.
|
@ -564,6 +564,9 @@ type PushCoinData struct {
|
||||||
Exchange map[int32]int32 // 兑换次数 兑换id:兑换次数
|
Exchange map[int32]int32 // 兑换次数 兑换id:兑换次数
|
||||||
Dram int // 抽奖次数
|
Dram int // 抽奖次数
|
||||||
Items map[int32]int64 // 道具
|
Items map[int32]int64 // 道具
|
||||||
|
Turn []int32 // 转盘
|
||||||
|
Next int32 // 下次中奖位置
|
||||||
|
PoolV []int64 // 奖池
|
||||||
}
|
}
|
||||||
|
|
||||||
type WelfareData struct {
|
type WelfareData struct {
|
||||||
|
|
|
@ -467,8 +467,6 @@ func (x *ExchangeInfo) GetTotalTimes() int64 {
|
||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
|
|
||||||
//抽奖信息
|
|
||||||
//PACKET_NotifyDrawInfo
|
|
||||||
type DrawInfo struct {
|
type DrawInfo struct {
|
||||||
state protoimpl.MessageState
|
state protoimpl.MessageState
|
||||||
sizeCache protoimpl.SizeCache
|
sizeCache protoimpl.SizeCache
|
||||||
|
@ -476,8 +474,7 @@ type DrawInfo struct {
|
||||||
|
|
||||||
Id int32 `protobuf:"varint,1,opt,name=Id,proto3" json:"Id,omitempty"` //抽奖id
|
Id int32 `protobuf:"varint,1,opt,name=Id,proto3" json:"Id,omitempty"` //抽奖id
|
||||||
ItemId int32 `protobuf:"varint,2,opt,name=ItemId,proto3" json:"ItemId,omitempty"` //道具id
|
ItemId int32 `protobuf:"varint,2,opt,name=ItemId,proto3" json:"ItemId,omitempty"` //道具id
|
||||||
ItemNum int32 `protobuf:"varint,3,opt,name=ItemNum,proto3" json:"ItemNum,omitempty"` //道具数量
|
ItemNum int64 `protobuf:"varint,3,opt,name=ItemNum,proto3" json:"ItemNum,omitempty"` //道具数量
|
||||||
Coin int64 `protobuf:"varint,4,opt,name=Coin,proto3" json:"Coin,omitempty"` //价值
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *DrawInfo) Reset() {
|
func (x *DrawInfo) Reset() {
|
||||||
|
@ -526,18 +523,68 @@ func (x *DrawInfo) GetItemId() int32 {
|
||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *DrawInfo) GetItemNum() int32 {
|
func (x *DrawInfo) GetItemNum() int64 {
|
||||||
if x != nil {
|
if x != nil {
|
||||||
return x.ItemNum
|
return x.ItemNum
|
||||||
}
|
}
|
||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *DrawInfo) GetCoin() int64 {
|
//抽奖信息
|
||||||
if x != nil {
|
//PACKET_NotifyDrawInfo
|
||||||
return x.Coin
|
type NotifyDrawInfo struct {
|
||||||
|
state protoimpl.MessageState
|
||||||
|
sizeCache protoimpl.SizeCache
|
||||||
|
unknownFields protoimpl.UnknownFields
|
||||||
|
|
||||||
|
Draw *DrawInfo `protobuf:"bytes,1,opt,name=Draw,proto3" json:"Draw,omitempty"` // 中奖信息
|
||||||
|
Info []*DrawInfo `protobuf:"bytes,2,rep,name=Info,proto3" json:"Info,omitempty"` // 刷新信息
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *NotifyDrawInfo) Reset() {
|
||||||
|
*x = NotifyDrawInfo{}
|
||||||
|
if protoimpl.UnsafeEnabled {
|
||||||
|
mi := &file_protocol_activity_pushcoin_proto_msgTypes[5]
|
||||||
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
|
ms.StoreMessageInfo(mi)
|
||||||
}
|
}
|
||||||
return 0
|
}
|
||||||
|
|
||||||
|
func (x *NotifyDrawInfo) String() string {
|
||||||
|
return protoimpl.X.MessageStringOf(x)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (*NotifyDrawInfo) ProtoMessage() {}
|
||||||
|
|
||||||
|
func (x *NotifyDrawInfo) ProtoReflect() protoreflect.Message {
|
||||||
|
mi := &file_protocol_activity_pushcoin_proto_msgTypes[5]
|
||||||
|
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 NotifyDrawInfo.ProtoReflect.Descriptor instead.
|
||||||
|
func (*NotifyDrawInfo) Descriptor() ([]byte, []int) {
|
||||||
|
return file_protocol_activity_pushcoin_proto_rawDescGZIP(), []int{5}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *NotifyDrawInfo) GetDraw() *DrawInfo {
|
||||||
|
if x != nil {
|
||||||
|
return x.Draw
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *NotifyDrawInfo) GetInfo() []*DrawInfo {
|
||||||
|
if x != nil {
|
||||||
|
return x.Info
|
||||||
|
}
|
||||||
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
//玩家操作
|
//玩家操作
|
||||||
|
@ -555,7 +602,7 @@ type CSPushCoinPlayerOp struct {
|
||||||
func (x *CSPushCoinPlayerOp) Reset() {
|
func (x *CSPushCoinPlayerOp) Reset() {
|
||||||
*x = CSPushCoinPlayerOp{}
|
*x = CSPushCoinPlayerOp{}
|
||||||
if protoimpl.UnsafeEnabled {
|
if protoimpl.UnsafeEnabled {
|
||||||
mi := &file_protocol_activity_pushcoin_proto_msgTypes[5]
|
mi := &file_protocol_activity_pushcoin_proto_msgTypes[6]
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
ms.StoreMessageInfo(mi)
|
ms.StoreMessageInfo(mi)
|
||||||
}
|
}
|
||||||
|
@ -568,7 +615,7 @@ func (x *CSPushCoinPlayerOp) String() string {
|
||||||
func (*CSPushCoinPlayerOp) ProtoMessage() {}
|
func (*CSPushCoinPlayerOp) ProtoMessage() {}
|
||||||
|
|
||||||
func (x *CSPushCoinPlayerOp) ProtoReflect() protoreflect.Message {
|
func (x *CSPushCoinPlayerOp) ProtoReflect() protoreflect.Message {
|
||||||
mi := &file_protocol_activity_pushcoin_proto_msgTypes[5]
|
mi := &file_protocol_activity_pushcoin_proto_msgTypes[6]
|
||||||
if protoimpl.UnsafeEnabled && x != nil {
|
if protoimpl.UnsafeEnabled && x != nil {
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
if ms.LoadMessageInfo() == nil {
|
if ms.LoadMessageInfo() == nil {
|
||||||
|
@ -581,7 +628,7 @@ func (x *CSPushCoinPlayerOp) ProtoReflect() protoreflect.Message {
|
||||||
|
|
||||||
// Deprecated: Use CSPushCoinPlayerOp.ProtoReflect.Descriptor instead.
|
// Deprecated: Use CSPushCoinPlayerOp.ProtoReflect.Descriptor instead.
|
||||||
func (*CSPushCoinPlayerOp) Descriptor() ([]byte, []int) {
|
func (*CSPushCoinPlayerOp) Descriptor() ([]byte, []int) {
|
||||||
return file_protocol_activity_pushcoin_proto_rawDescGZIP(), []int{5}
|
return file_protocol_activity_pushcoin_proto_rawDescGZIP(), []int{6}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *CSPushCoinPlayerOp) GetOpCode() OpCodes {
|
func (x *CSPushCoinPlayerOp) GetOpCode() OpCodes {
|
||||||
|
@ -620,7 +667,7 @@ type SCPushCoinPlayerOp struct {
|
||||||
func (x *SCPushCoinPlayerOp) Reset() {
|
func (x *SCPushCoinPlayerOp) Reset() {
|
||||||
*x = SCPushCoinPlayerOp{}
|
*x = SCPushCoinPlayerOp{}
|
||||||
if protoimpl.UnsafeEnabled {
|
if protoimpl.UnsafeEnabled {
|
||||||
mi := &file_protocol_activity_pushcoin_proto_msgTypes[6]
|
mi := &file_protocol_activity_pushcoin_proto_msgTypes[7]
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
ms.StoreMessageInfo(mi)
|
ms.StoreMessageInfo(mi)
|
||||||
}
|
}
|
||||||
|
@ -633,7 +680,7 @@ func (x *SCPushCoinPlayerOp) String() string {
|
||||||
func (*SCPushCoinPlayerOp) ProtoMessage() {}
|
func (*SCPushCoinPlayerOp) ProtoMessage() {}
|
||||||
|
|
||||||
func (x *SCPushCoinPlayerOp) ProtoReflect() protoreflect.Message {
|
func (x *SCPushCoinPlayerOp) ProtoReflect() protoreflect.Message {
|
||||||
mi := &file_protocol_activity_pushcoin_proto_msgTypes[6]
|
mi := &file_protocol_activity_pushcoin_proto_msgTypes[7]
|
||||||
if protoimpl.UnsafeEnabled && x != nil {
|
if protoimpl.UnsafeEnabled && x != nil {
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
if ms.LoadMessageInfo() == nil {
|
if ms.LoadMessageInfo() == nil {
|
||||||
|
@ -646,7 +693,7 @@ func (x *SCPushCoinPlayerOp) ProtoReflect() protoreflect.Message {
|
||||||
|
|
||||||
// Deprecated: Use SCPushCoinPlayerOp.ProtoReflect.Descriptor instead.
|
// Deprecated: Use SCPushCoinPlayerOp.ProtoReflect.Descriptor instead.
|
||||||
func (*SCPushCoinPlayerOp) Descriptor() ([]byte, []int) {
|
func (*SCPushCoinPlayerOp) Descriptor() ([]byte, []int) {
|
||||||
return file_protocol_activity_pushcoin_proto_rawDescGZIP(), []int{6}
|
return file_protocol_activity_pushcoin_proto_rawDescGZIP(), []int{7}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *SCPushCoinPlayerOp) GetOpRetCode() OpResultPushCoinCode {
|
func (x *SCPushCoinPlayerOp) GetOpRetCode() OpResultPushCoinCode {
|
||||||
|
@ -691,7 +738,7 @@ type NotifyPowerLine struct {
|
||||||
func (x *NotifyPowerLine) Reset() {
|
func (x *NotifyPowerLine) Reset() {
|
||||||
*x = NotifyPowerLine{}
|
*x = NotifyPowerLine{}
|
||||||
if protoimpl.UnsafeEnabled {
|
if protoimpl.UnsafeEnabled {
|
||||||
mi := &file_protocol_activity_pushcoin_proto_msgTypes[7]
|
mi := &file_protocol_activity_pushcoin_proto_msgTypes[8]
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
ms.StoreMessageInfo(mi)
|
ms.StoreMessageInfo(mi)
|
||||||
}
|
}
|
||||||
|
@ -704,7 +751,7 @@ func (x *NotifyPowerLine) String() string {
|
||||||
func (*NotifyPowerLine) ProtoMessage() {}
|
func (*NotifyPowerLine) ProtoMessage() {}
|
||||||
|
|
||||||
func (x *NotifyPowerLine) ProtoReflect() protoreflect.Message {
|
func (x *NotifyPowerLine) ProtoReflect() protoreflect.Message {
|
||||||
mi := &file_protocol_activity_pushcoin_proto_msgTypes[7]
|
mi := &file_protocol_activity_pushcoin_proto_msgTypes[8]
|
||||||
if protoimpl.UnsafeEnabled && x != nil {
|
if protoimpl.UnsafeEnabled && x != nil {
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
if ms.LoadMessageInfo() == nil {
|
if ms.LoadMessageInfo() == nil {
|
||||||
|
@ -717,7 +764,7 @@ func (x *NotifyPowerLine) ProtoReflect() protoreflect.Message {
|
||||||
|
|
||||||
// Deprecated: Use NotifyPowerLine.ProtoReflect.Descriptor instead.
|
// Deprecated: Use NotifyPowerLine.ProtoReflect.Descriptor instead.
|
||||||
func (*NotifyPowerLine) Descriptor() ([]byte, []int) {
|
func (*NotifyPowerLine) Descriptor() ([]byte, []int) {
|
||||||
return file_protocol_activity_pushcoin_proto_rawDescGZIP(), []int{7}
|
return file_protocol_activity_pushcoin_proto_rawDescGZIP(), []int{8}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *NotifyPowerLine) GetPowerLine() int64 {
|
func (x *NotifyPowerLine) GetPowerLine() int64 {
|
||||||
|
@ -774,76 +821,80 @@ var file_protocol_activity_pushcoin_proto_rawDesc = []byte{
|
||||||
0x54, 0x69, 0x6d, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x54, 0x69, 0x6d,
|
0x54, 0x69, 0x6d, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x54, 0x69, 0x6d,
|
||||||
0x65, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x73,
|
0x65, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x73,
|
||||||
0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x54, 0x69, 0x6d,
|
0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x54, 0x69, 0x6d,
|
||||||
0x65, 0x73, 0x22, 0x60, 0x0a, 0x08, 0x44, 0x72, 0x61, 0x77, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x0e,
|
0x65, 0x73, 0x22, 0x4c, 0x0a, 0x08, 0x44, 0x72, 0x61, 0x77, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x0e,
|
||||||
0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x16,
|
0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x16,
|
||||||
0x0a, 0x06, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06,
|
0x0a, 0x06, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06,
|
||||||
0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x49, 0x74, 0x65, 0x6d, 0x4e, 0x75,
|
0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x49, 0x74, 0x65, 0x6d, 0x4e, 0x75,
|
||||||
0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x49, 0x74, 0x65, 0x6d, 0x4e, 0x75, 0x6d,
|
0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x49, 0x74, 0x65, 0x6d, 0x4e, 0x75, 0x6d,
|
||||||
0x12, 0x12, 0x0a, 0x04, 0x43, 0x6f, 0x69, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04,
|
0x22, 0x60, 0x0a, 0x0e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x44, 0x72, 0x61, 0x77, 0x49, 0x6e,
|
||||||
0x43, 0x6f, 0x69, 0x6e, 0x22, 0x85, 0x01, 0x0a, 0x12, 0x43, 0x53, 0x50, 0x75, 0x73, 0x68, 0x43,
|
0x66, 0x6f, 0x12, 0x26, 0x0a, 0x04, 0x44, 0x72, 0x61, 0x77, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
|
||||||
0x6f, 0x69, 0x6e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4f, 0x70, 0x12, 0x29, 0x0a, 0x06, 0x4f,
|
0x32, 0x12, 0x2e, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x2e, 0x44, 0x72, 0x61, 0x77,
|
||||||
0x70, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x11, 0x2e, 0x61, 0x63,
|
0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x44, 0x72, 0x61, 0x77, 0x12, 0x26, 0x0a, 0x04, 0x49, 0x6e,
|
||||||
0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x2e, 0x4f, 0x70, 0x43, 0x6f, 0x64, 0x65, 0x73, 0x52, 0x06,
|
0x66, 0x6f, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x61, 0x63, 0x74, 0x69, 0x76,
|
||||||
0x4f, 0x70, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x4f, 0x70, 0x50, 0x61, 0x72, 0x61,
|
0x69, 0x74, 0x79, 0x2e, 0x44, 0x72, 0x61, 0x77, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x49, 0x6e,
|
||||||
0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x4f, 0x70, 0x50, 0x61, 0x72, 0x61, 0x6d,
|
0x66, 0x6f, 0x22, 0x85, 0x01, 0x0a, 0x12, 0x43, 0x53, 0x50, 0x75, 0x73, 0x68, 0x43, 0x6f, 0x69,
|
||||||
0x12, 0x2a, 0x0a, 0x06, 0x4f, 0x70, 0x49, 0x74, 0x65, 0x6d, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b,
|
0x6e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4f, 0x70, 0x12, 0x29, 0x0a, 0x06, 0x4f, 0x70, 0x43,
|
||||||
0x32, 0x12, 0x2e, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x2e, 0x49, 0x74, 0x65, 0x6d,
|
0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x11, 0x2e, 0x61, 0x63, 0x74, 0x69,
|
||||||
0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x4f, 0x70, 0x49, 0x74, 0x65, 0x6d, 0x22, 0xc7, 0x01, 0x0a,
|
0x76, 0x69, 0x74, 0x79, 0x2e, 0x4f, 0x70, 0x43, 0x6f, 0x64, 0x65, 0x73, 0x52, 0x06, 0x4f, 0x70,
|
||||||
0x12, 0x53, 0x43, 0x50, 0x75, 0x73, 0x68, 0x43, 0x6f, 0x69, 0x6e, 0x50, 0x6c, 0x61, 0x79, 0x65,
|
0x43, 0x6f, 0x64, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x4f, 0x70, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x18,
|
||||||
0x72, 0x4f, 0x70, 0x12, 0x3c, 0x0a, 0x09, 0x4f, 0x70, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65,
|
0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x4f, 0x70, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x12, 0x2a,
|
||||||
0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1e, 0x2e, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74,
|
0x0a, 0x06, 0x4f, 0x70, 0x49, 0x74, 0x65, 0x6d, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12,
|
||||||
0x79, 0x2e, 0x4f, 0x70, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x50, 0x75, 0x73, 0x68, 0x43, 0x6f,
|
0x2e, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x6e,
|
||||||
0x69, 0x6e, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x09, 0x4f, 0x70, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64,
|
0x66, 0x6f, 0x52, 0x06, 0x4f, 0x70, 0x49, 0x74, 0x65, 0x6d, 0x22, 0xc7, 0x01, 0x0a, 0x12, 0x53,
|
||||||
0x65, 0x12, 0x29, 0x0a, 0x06, 0x4f, 0x70, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
|
0x43, 0x50, 0x75, 0x73, 0x68, 0x43, 0x6f, 0x69, 0x6e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4f,
|
||||||
0x0e, 0x32, 0x11, 0x2e, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x2e, 0x4f, 0x70, 0x43,
|
0x70, 0x12, 0x3c, 0x0a, 0x09, 0x4f, 0x70, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01,
|
||||||
0x6f, 0x64, 0x65, 0x73, 0x52, 0x06, 0x4f, 0x70, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x32, 0x0a, 0x08,
|
0x20, 0x01, 0x28, 0x0e, 0x32, 0x1e, 0x2e, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x2e,
|
||||||
0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16,
|
|
||||||
0x2e, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x2e, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e,
|
|
||||||
0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x08, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65,
|
|
||||||
0x12, 0x14, 0x0a, 0x05, 0x42, 0x65, 0x74, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52,
|
|
||||||
0x05, 0x42, 0x65, 0x74, 0x49, 0x64, 0x22, 0x53, 0x0a, 0x0f, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79,
|
|
||||||
0x50, 0x6f, 0x77, 0x65, 0x72, 0x4c, 0x69, 0x6e, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x50, 0x6f, 0x77,
|
|
||||||
0x65, 0x72, 0x4c, 0x69, 0x6e, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x50, 0x6f,
|
|
||||||
0x77, 0x65, 0x72, 0x4c, 0x69, 0x6e, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x50, 0x6f, 0x77, 0x65, 0x72,
|
|
||||||
0x4c, 0x69, 0x6e, 0x65, 0x4d, 0x61, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x50,
|
|
||||||
0x6f, 0x77, 0x65, 0x72, 0x4c, 0x69, 0x6e, 0x65, 0x4d, 0x61, 0x78, 0x2a, 0xdd, 0x01, 0x0a, 0x10,
|
|
||||||
0x50, 0x75, 0x73, 0x68, 0x43, 0x6f, 0x69, 0x6e, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x49, 0x44,
|
|
||||||
0x12, 0x18, 0x0a, 0x14, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x50, 0x75, 0x73, 0x68, 0x43,
|
|
||||||
0x6f, 0x69, 0x6e, 0x5f, 0x5a, 0x45, 0x52, 0x4f, 0x10, 0x00, 0x12, 0x1a, 0x0a, 0x15, 0x50, 0x41,
|
|
||||||
0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x50, 0x75, 0x73, 0x68, 0x43, 0x6f, 0x69, 0x6e, 0x49,
|
|
||||||
0x6e, 0x66, 0x6f, 0x10, 0xf8, 0x14, 0x12, 0x1a, 0x0a, 0x15, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54,
|
|
||||||
0x5f, 0x53, 0x43, 0x50, 0x75, 0x73, 0x68, 0x43, 0x6f, 0x69, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x10,
|
|
||||||
0xf9, 0x14, 0x12, 0x1e, 0x0a, 0x19, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x50,
|
|
||||||
0x75, 0x73, 0x68, 0x43, 0x6f, 0x69, 0x6e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4f, 0x70, 0x10,
|
|
||||||
0xfa, 0x14, 0x12, 0x1e, 0x0a, 0x19, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x50,
|
|
||||||
0x75, 0x73, 0x68, 0x43, 0x6f, 0x69, 0x6e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4f, 0x70, 0x10,
|
|
||||||
0xfb, 0x14, 0x12, 0x1b, 0x0a, 0x16, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x4e, 0x6f, 0x74,
|
|
||||||
0x69, 0x66, 0x79, 0x50, 0x6f, 0x77, 0x65, 0x72, 0x4c, 0x69, 0x6e, 0x65, 0x10, 0xfc, 0x14, 0x12,
|
|
||||||
0x1a, 0x0a, 0x15, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79,
|
|
||||||
0x44, 0x72, 0x61, 0x77, 0x49, 0x6e, 0x66, 0x6f, 0x10, 0xfd, 0x14, 0x2a, 0x5e, 0x0a, 0x07, 0x4f,
|
|
||||||
0x70, 0x43, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x0b, 0x0a, 0x07, 0x4f, 0x50, 0x5f, 0x5a, 0x65, 0x72,
|
|
||||||
0x6f, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x4f, 0x50, 0x5f, 0x42, 0x65, 0x74, 0x10, 0x01, 0x12,
|
|
||||||
0x0b, 0x0a, 0x07, 0x4f, 0x50, 0x5f, 0x47, 0x61, 0x69, 0x6e, 0x10, 0x02, 0x12, 0x0c, 0x0a, 0x08,
|
|
||||||
0x4f, 0x50, 0x5f, 0x53, 0x68, 0x61, 0x6b, 0x65, 0x10, 0x03, 0x12, 0x0e, 0x0a, 0x0a, 0x4f, 0x50,
|
|
||||||
0x5f, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x10, 0x04, 0x12, 0x0f, 0x0a, 0x0b, 0x4f, 0x50,
|
|
||||||
0x5f, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x10, 0x05, 0x2a, 0xd2, 0x01, 0x0a, 0x14,
|
|
||||||
0x4f, 0x70, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x50, 0x75, 0x73, 0x68, 0x43, 0x6f, 0x69, 0x6e,
|
0x4f, 0x70, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x50, 0x75, 0x73, 0x68, 0x43, 0x6f, 0x69, 0x6e,
|
||||||
0x43, 0x6f, 0x64, 0x65, 0x12, 0x19, 0x0a, 0x15, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x50, 0x75, 0x73,
|
0x43, 0x6f, 0x64, 0x65, 0x52, 0x09, 0x4f, 0x70, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12,
|
||||||
0x68, 0x43, 0x6f, 0x69, 0x6e, 0x5f, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x10, 0x00, 0x12,
|
0x29, 0x0a, 0x06, 0x4f, 0x70, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32,
|
||||||
0x17, 0x0a, 0x13, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x50, 0x75, 0x73, 0x68, 0x43, 0x6f, 0x69, 0x6e,
|
0x11, 0x2e, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x2e, 0x4f, 0x70, 0x43, 0x6f, 0x64,
|
||||||
0x5f, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0x01, 0x12, 0x1e, 0x0a, 0x1a, 0x4f, 0x50, 0x52, 0x43,
|
0x65, 0x73, 0x52, 0x06, 0x4f, 0x70, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x32, 0x0a, 0x08, 0x45, 0x78,
|
||||||
0x5f, 0x50, 0x75, 0x73, 0x68, 0x43, 0x6f, 0x69, 0x6e, 0x5f, 0x42, 0x65, 0x74, 0x4e, 0x6f, 0x74,
|
0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x61,
|
||||||
0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0x02, 0x12, 0x23, 0x0a, 0x1f, 0x4f, 0x50, 0x52, 0x43,
|
0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x2e, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65,
|
||||||
0x5f, 0x50, 0x75, 0x73, 0x68, 0x43, 0x6f, 0x69, 0x6e, 0x5f, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e,
|
0x49, 0x6e, 0x66, 0x6f, 0x52, 0x08, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x14,
|
||||||
0x67, 0x65, 0x4e, 0x6f, 0x74, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0x03, 0x12, 0x20, 0x0a,
|
0x0a, 0x05, 0x42, 0x65, 0x74, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x42,
|
||||||
0x1c, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x50, 0x75, 0x73, 0x68, 0x43, 0x6f, 0x69, 0x6e, 0x5f, 0x53,
|
0x65, 0x74, 0x49, 0x64, 0x22, 0x53, 0x0a, 0x0f, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x50, 0x6f,
|
||||||
0x68, 0x61, 0x6b, 0x65, 0x4e, 0x6f, 0x74, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0x04, 0x12,
|
0x77, 0x65, 0x72, 0x4c, 0x69, 0x6e, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x50, 0x6f, 0x77, 0x65, 0x72,
|
||||||
0x1f, 0x0a, 0x1b, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x50, 0x75, 0x73, 0x68, 0x43, 0x6f, 0x69, 0x6e,
|
0x4c, 0x69, 0x6e, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x50, 0x6f, 0x77, 0x65,
|
||||||
0x5f, 0x49, 0x74, 0x65, 0x6d, 0x4e, 0x6f, 0x74, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0x05,
|
0x72, 0x4c, 0x69, 0x6e, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x50, 0x6f, 0x77, 0x65, 0x72, 0x4c, 0x69,
|
||||||
0x42, 0x28, 0x5a, 0x26, 0x6d, 0x6f, 0x6e, 0x67, 0x6f, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x73, 0x2e,
|
0x6e, 0x65, 0x4d, 0x61, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x50, 0x6f, 0x77,
|
||||||
0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x61, 0x6d, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f,
|
0x65, 0x72, 0x4c, 0x69, 0x6e, 0x65, 0x4d, 0x61, 0x78, 0x2a, 0xdd, 0x01, 0x0a, 0x10, 0x50, 0x75,
|
||||||
0x6c, 0x2f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
|
0x73, 0x68, 0x43, 0x6f, 0x69, 0x6e, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x49, 0x44, 0x12, 0x18,
|
||||||
0x6f, 0x33,
|
0x0a, 0x14, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x50, 0x75, 0x73, 0x68, 0x43, 0x6f, 0x69,
|
||||||
|
0x6e, 0x5f, 0x5a, 0x45, 0x52, 0x4f, 0x10, 0x00, 0x12, 0x1a, 0x0a, 0x15, 0x50, 0x41, 0x43, 0x4b,
|
||||||
|
0x45, 0x54, 0x5f, 0x43, 0x53, 0x50, 0x75, 0x73, 0x68, 0x43, 0x6f, 0x69, 0x6e, 0x49, 0x6e, 0x66,
|
||||||
|
0x6f, 0x10, 0xf8, 0x14, 0x12, 0x1a, 0x0a, 0x15, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53,
|
||||||
|
0x43, 0x50, 0x75, 0x73, 0x68, 0x43, 0x6f, 0x69, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x10, 0xf9, 0x14,
|
||||||
|
0x12, 0x1e, 0x0a, 0x19, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x50, 0x75, 0x73,
|
||||||
|
0x68, 0x43, 0x6f, 0x69, 0x6e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4f, 0x70, 0x10, 0xfa, 0x14,
|
||||||
|
0x12, 0x1e, 0x0a, 0x19, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x50, 0x75, 0x73,
|
||||||
|
0x68, 0x43, 0x6f, 0x69, 0x6e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4f, 0x70, 0x10, 0xfb, 0x14,
|
||||||
|
0x12, 0x1b, 0x0a, 0x16, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x4e, 0x6f, 0x74, 0x69, 0x66,
|
||||||
|
0x79, 0x50, 0x6f, 0x77, 0x65, 0x72, 0x4c, 0x69, 0x6e, 0x65, 0x10, 0xfc, 0x14, 0x12, 0x1a, 0x0a,
|
||||||
|
0x15, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x44, 0x72,
|
||||||
|
0x61, 0x77, 0x49, 0x6e, 0x66, 0x6f, 0x10, 0xfd, 0x14, 0x2a, 0x5e, 0x0a, 0x07, 0x4f, 0x70, 0x43,
|
||||||
|
0x6f, 0x64, 0x65, 0x73, 0x12, 0x0b, 0x0a, 0x07, 0x4f, 0x50, 0x5f, 0x5a, 0x65, 0x72, 0x6f, 0x10,
|
||||||
|
0x00, 0x12, 0x0a, 0x0a, 0x06, 0x4f, 0x50, 0x5f, 0x42, 0x65, 0x74, 0x10, 0x01, 0x12, 0x0b, 0x0a,
|
||||||
|
0x07, 0x4f, 0x50, 0x5f, 0x47, 0x61, 0x69, 0x6e, 0x10, 0x02, 0x12, 0x0c, 0x0a, 0x08, 0x4f, 0x50,
|
||||||
|
0x5f, 0x53, 0x68, 0x61, 0x6b, 0x65, 0x10, 0x03, 0x12, 0x0e, 0x0a, 0x0a, 0x4f, 0x50, 0x5f, 0x52,
|
||||||
|
0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x10, 0x04, 0x12, 0x0f, 0x0a, 0x0b, 0x4f, 0x50, 0x5f, 0x45,
|
||||||
|
0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x10, 0x05, 0x2a, 0xd2, 0x01, 0x0a, 0x14, 0x4f, 0x70,
|
||||||
|
0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x50, 0x75, 0x73, 0x68, 0x43, 0x6f, 0x69, 0x6e, 0x43, 0x6f,
|
||||||
|
0x64, 0x65, 0x12, 0x19, 0x0a, 0x15, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x50, 0x75, 0x73, 0x68, 0x43,
|
||||||
|
0x6f, 0x69, 0x6e, 0x5f, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x10, 0x00, 0x12, 0x17, 0x0a,
|
||||||
|
0x13, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x50, 0x75, 0x73, 0x68, 0x43, 0x6f, 0x69, 0x6e, 0x5f, 0x45,
|
||||||
|
0x72, 0x72, 0x6f, 0x72, 0x10, 0x01, 0x12, 0x1e, 0x0a, 0x1a, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x50,
|
||||||
|
0x75, 0x73, 0x68, 0x43, 0x6f, 0x69, 0x6e, 0x5f, 0x42, 0x65, 0x74, 0x4e, 0x6f, 0x74, 0x45, 0x6e,
|
||||||
|
0x6f, 0x75, 0x67, 0x68, 0x10, 0x02, 0x12, 0x23, 0x0a, 0x1f, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x50,
|
||||||
|
0x75, 0x73, 0x68, 0x43, 0x6f, 0x69, 0x6e, 0x5f, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65,
|
||||||
|
0x4e, 0x6f, 0x74, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0x03, 0x12, 0x20, 0x0a, 0x1c, 0x4f,
|
||||||
|
0x50, 0x52, 0x43, 0x5f, 0x50, 0x75, 0x73, 0x68, 0x43, 0x6f, 0x69, 0x6e, 0x5f, 0x53, 0x68, 0x61,
|
||||||
|
0x6b, 0x65, 0x4e, 0x6f, 0x74, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0x04, 0x12, 0x1f, 0x0a,
|
||||||
|
0x1b, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x50, 0x75, 0x73, 0x68, 0x43, 0x6f, 0x69, 0x6e, 0x5f, 0x49,
|
||||||
|
0x74, 0x65, 0x6d, 0x4e, 0x6f, 0x74, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0x05, 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 (
|
var (
|
||||||
|
@ -859,7 +910,7 @@ func file_protocol_activity_pushcoin_proto_rawDescGZIP() []byte {
|
||||||
}
|
}
|
||||||
|
|
||||||
var file_protocol_activity_pushcoin_proto_enumTypes = make([]protoimpl.EnumInfo, 3)
|
var file_protocol_activity_pushcoin_proto_enumTypes = make([]protoimpl.EnumInfo, 3)
|
||||||
var file_protocol_activity_pushcoin_proto_msgTypes = make([]protoimpl.MessageInfo, 8)
|
var file_protocol_activity_pushcoin_proto_msgTypes = make([]protoimpl.MessageInfo, 9)
|
||||||
var file_protocol_activity_pushcoin_proto_goTypes = []interface{}{
|
var file_protocol_activity_pushcoin_proto_goTypes = []interface{}{
|
||||||
(PushCoinPacketID)(0), // 0: activity.PushCoinPacketID
|
(PushCoinPacketID)(0), // 0: activity.PushCoinPacketID
|
||||||
(OpCodes)(0), // 1: activity.OpCodes
|
(OpCodes)(0), // 1: activity.OpCodes
|
||||||
|
@ -869,9 +920,10 @@ var file_protocol_activity_pushcoin_proto_goTypes = []interface{}{
|
||||||
(*ItemInfo)(nil), // 5: activity.ItemInfo
|
(*ItemInfo)(nil), // 5: activity.ItemInfo
|
||||||
(*ExchangeInfo)(nil), // 6: activity.ExchangeInfo
|
(*ExchangeInfo)(nil), // 6: activity.ExchangeInfo
|
||||||
(*DrawInfo)(nil), // 7: activity.DrawInfo
|
(*DrawInfo)(nil), // 7: activity.DrawInfo
|
||||||
(*CSPushCoinPlayerOp)(nil), // 8: activity.CSPushCoinPlayerOp
|
(*NotifyDrawInfo)(nil), // 8: activity.NotifyDrawInfo
|
||||||
(*SCPushCoinPlayerOp)(nil), // 9: activity.SCPushCoinPlayerOp
|
(*CSPushCoinPlayerOp)(nil), // 9: activity.CSPushCoinPlayerOp
|
||||||
(*NotifyPowerLine)(nil), // 10: activity.NotifyPowerLine
|
(*SCPushCoinPlayerOp)(nil), // 10: activity.SCPushCoinPlayerOp
|
||||||
|
(*NotifyPowerLine)(nil), // 11: activity.NotifyPowerLine
|
||||||
}
|
}
|
||||||
var file_protocol_activity_pushcoin_proto_depIdxs = []int32{
|
var file_protocol_activity_pushcoin_proto_depIdxs = []int32{
|
||||||
6, // 0: activity.SCPushCoinInfo.ExchangeList:type_name -> activity.ExchangeInfo
|
6, // 0: activity.SCPushCoinInfo.ExchangeList:type_name -> activity.ExchangeInfo
|
||||||
|
@ -879,16 +931,18 @@ var file_protocol_activity_pushcoin_proto_depIdxs = []int32{
|
||||||
5, // 2: activity.SCPushCoinInfo.Items:type_name -> activity.ItemInfo
|
5, // 2: activity.SCPushCoinInfo.Items:type_name -> activity.ItemInfo
|
||||||
5, // 3: activity.ExchangeInfo.Cost:type_name -> activity.ItemInfo
|
5, // 3: activity.ExchangeInfo.Cost:type_name -> activity.ItemInfo
|
||||||
5, // 4: activity.ExchangeInfo.Gain:type_name -> activity.ItemInfo
|
5, // 4: activity.ExchangeInfo.Gain:type_name -> activity.ItemInfo
|
||||||
1, // 5: activity.CSPushCoinPlayerOp.OpCode:type_name -> activity.OpCodes
|
7, // 5: activity.NotifyDrawInfo.Draw:type_name -> activity.DrawInfo
|
||||||
5, // 6: activity.CSPushCoinPlayerOp.OpItem:type_name -> activity.ItemInfo
|
7, // 6: activity.NotifyDrawInfo.Info:type_name -> activity.DrawInfo
|
||||||
2, // 7: activity.SCPushCoinPlayerOp.OpRetCode:type_name -> activity.OpResultPushCoinCode
|
1, // 7: activity.CSPushCoinPlayerOp.OpCode:type_name -> activity.OpCodes
|
||||||
1, // 8: activity.SCPushCoinPlayerOp.OpCode:type_name -> activity.OpCodes
|
5, // 8: activity.CSPushCoinPlayerOp.OpItem:type_name -> activity.ItemInfo
|
||||||
6, // 9: activity.SCPushCoinPlayerOp.Exchange:type_name -> activity.ExchangeInfo
|
2, // 9: activity.SCPushCoinPlayerOp.OpRetCode:type_name -> activity.OpResultPushCoinCode
|
||||||
10, // [10:10] is the sub-list for method output_type
|
1, // 10: activity.SCPushCoinPlayerOp.OpCode:type_name -> activity.OpCodes
|
||||||
10, // [10:10] is the sub-list for method input_type
|
6, // 11: activity.SCPushCoinPlayerOp.Exchange:type_name -> activity.ExchangeInfo
|
||||||
10, // [10:10] is the sub-list for extension type_name
|
12, // [12:12] is the sub-list for method output_type
|
||||||
10, // [10:10] is the sub-list for extension extendee
|
12, // [12:12] is the sub-list for method input_type
|
||||||
0, // [0:10] is the sub-list for field type_name
|
12, // [12:12] is the sub-list for extension type_name
|
||||||
|
12, // [12:12] is the sub-list for extension extendee
|
||||||
|
0, // [0:12] is the sub-list for field type_name
|
||||||
}
|
}
|
||||||
|
|
||||||
func init() { file_protocol_activity_pushcoin_proto_init() }
|
func init() { file_protocol_activity_pushcoin_proto_init() }
|
||||||
|
@ -958,7 +1012,7 @@ func file_protocol_activity_pushcoin_proto_init() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
file_protocol_activity_pushcoin_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
|
file_protocol_activity_pushcoin_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
|
||||||
switch v := v.(*CSPushCoinPlayerOp); i {
|
switch v := v.(*NotifyDrawInfo); i {
|
||||||
case 0:
|
case 0:
|
||||||
return &v.state
|
return &v.state
|
||||||
case 1:
|
case 1:
|
||||||
|
@ -970,7 +1024,7 @@ func file_protocol_activity_pushcoin_proto_init() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
file_protocol_activity_pushcoin_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
|
file_protocol_activity_pushcoin_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
|
||||||
switch v := v.(*SCPushCoinPlayerOp); i {
|
switch v := v.(*CSPushCoinPlayerOp); i {
|
||||||
case 0:
|
case 0:
|
||||||
return &v.state
|
return &v.state
|
||||||
case 1:
|
case 1:
|
||||||
|
@ -982,6 +1036,18 @@ func file_protocol_activity_pushcoin_proto_init() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
file_protocol_activity_pushcoin_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
|
file_protocol_activity_pushcoin_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
|
||||||
|
switch v := v.(*SCPushCoinPlayerOp); i {
|
||||||
|
case 0:
|
||||||
|
return &v.state
|
||||||
|
case 1:
|
||||||
|
return &v.sizeCache
|
||||||
|
case 2:
|
||||||
|
return &v.unknownFields
|
||||||
|
default:
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
}
|
||||||
|
file_protocol_activity_pushcoin_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
|
||||||
switch v := v.(*NotifyPowerLine); i {
|
switch v := v.(*NotifyPowerLine); i {
|
||||||
case 0:
|
case 0:
|
||||||
return &v.state
|
return &v.state
|
||||||
|
@ -1000,7 +1066,7 @@ func file_protocol_activity_pushcoin_proto_init() {
|
||||||
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
|
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
|
||||||
RawDescriptor: file_protocol_activity_pushcoin_proto_rawDesc,
|
RawDescriptor: file_protocol_activity_pushcoin_proto_rawDesc,
|
||||||
NumEnums: 3,
|
NumEnums: 3,
|
||||||
NumMessages: 8,
|
NumMessages: 9,
|
||||||
NumExtensions: 0,
|
NumExtensions: 0,
|
||||||
NumServices: 0,
|
NumServices: 0,
|
||||||
},
|
},
|
||||||
|
|
|
@ -40,13 +40,17 @@ message ExchangeInfo{
|
||||||
int64 TotalTimes = 5; //总共兑换次数 -1无限
|
int64 TotalTimes = 5; //总共兑换次数 -1无限
|
||||||
}
|
}
|
||||||
|
|
||||||
//抽奖信息
|
|
||||||
//PACKET_NotifyDrawInfo
|
|
||||||
message DrawInfo{
|
message DrawInfo{
|
||||||
int32 Id = 1; //抽奖id
|
int32 Id = 1; //抽奖id
|
||||||
int32 ItemId = 2; //道具id
|
int32 ItemId = 2; //道具id
|
||||||
int32 ItemNum = 3; //道具数量
|
int64 ItemNum = 3; //道具数量
|
||||||
int64 Coin = 4; //价值
|
}
|
||||||
|
|
||||||
|
//抽奖信息
|
||||||
|
//PACKET_NotifyDrawInfo
|
||||||
|
message NotifyDrawInfo {
|
||||||
|
DrawInfo Draw = 1; // 中奖信息
|
||||||
|
repeated DrawInfo Info = 2; // 刷新信息
|
||||||
}
|
}
|
||||||
|
|
||||||
//玩家操作
|
//玩家操作
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -13,8 +13,6 @@ message DB_ACTPushCoin {
|
||||||
|
|
||||||
map<int64, int64> Gain = 3;
|
map<int64, int64> Gain = 3;
|
||||||
|
|
||||||
int64 Value = 4;
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
message DB_ACTPushCoinArray {
|
message DB_ACTPushCoinArray {
|
||||||
|
|
|
@ -10581,10 +10581,13 @@ type PushCoinConfig struct {
|
||||||
sizeCache protoimpl.SizeCache
|
sizeCache protoimpl.SizeCache
|
||||||
unknownFields protoimpl.UnknownFields
|
unknownFields protoimpl.UnknownFields
|
||||||
|
|
||||||
Platform string `protobuf:"bytes,1,opt,name=Platform,proto3" json:"Platform,omitempty"` // 平台
|
Platform string `protobuf:"bytes,1,opt,name=Platform,proto3" json:"Platform,omitempty"` // 平台
|
||||||
On int32 `protobuf:"varint,2,opt,name=On,proto3" json:"On,omitempty"` // 活动开关 1.开启 2.关闭
|
On int32 `protobuf:"varint,2,opt,name=On,proto3" json:"On,omitempty"` // 活动开关 1.开启 2.关闭
|
||||||
StartTime string `protobuf:"bytes,3,opt,name=StartTime,proto3" json:"StartTime,omitempty"` // 活动开始时间
|
StartTime string `protobuf:"bytes,3,opt,name=StartTime,proto3" json:"StartTime,omitempty"` // 活动开始时间
|
||||||
EndTime string `protobuf:"bytes,4,opt,name=EndTime,proto3" json:"EndTime,omitempty"` // 活动结束时间
|
EndTime string `protobuf:"bytes,4,opt,name=EndTime,proto3" json:"EndTime,omitempty"` // 活动结束时间
|
||||||
|
Pool1 *PushCoinPool `protobuf:"bytes,5,opt,name=Pool1,proto3" json:"Pool1,omitempty"` // 奖池1
|
||||||
|
Pool2 *PushCoinPool `protobuf:"bytes,6,opt,name=Pool2,proto3" json:"Pool2,omitempty"` // 奖池2
|
||||||
|
Pool3 *PushCoinPool `protobuf:"bytes,7,opt,name=Pool3,proto3" json:"Pool3,omitempty"` // 奖池3
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *PushCoinConfig) Reset() {
|
func (x *PushCoinConfig) Reset() {
|
||||||
|
@ -10647,6 +10650,169 @@ func (x *PushCoinConfig) GetEndTime() string {
|
||||||
return ""
|
return ""
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (x *PushCoinConfig) GetPool1() *PushCoinPool {
|
||||||
|
if x != nil {
|
||||||
|
return x.Pool1
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *PushCoinConfig) GetPool2() *PushCoinPool {
|
||||||
|
if x != nil {
|
||||||
|
return x.Pool2
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *PushCoinConfig) GetPool3() *PushCoinPool {
|
||||||
|
if x != nil {
|
||||||
|
return x.Pool3
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
type PushCoinPoolElement struct {
|
||||||
|
state protoimpl.MessageState
|
||||||
|
sizeCache protoimpl.SizeCache
|
||||||
|
unknownFields protoimpl.UnknownFields
|
||||||
|
|
||||||
|
On int32 `protobuf:"varint,1,opt,name=On,proto3" json:"On,omitempty"` // 开关 1开启 2关闭
|
||||||
|
Tp int32 `protobuf:"varint,2,opt,name=Tp,proto3" json:"Tp,omitempty"` // 类型 1实物
|
||||||
|
Award []*ItemInfo `protobuf:"bytes,3,rep,name=Award,proto3" json:"Award,omitempty"` // 奖励
|
||||||
|
Weight int32 `protobuf:"varint,4,opt,name=Weight,proto3" json:"Weight,omitempty"` // 概率,万分比
|
||||||
|
Value int64 `protobuf:"varint,5,opt,name=Value,proto3" json:"Value,omitempty"` // 价值(只有实物有用)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *PushCoinPoolElement) Reset() {
|
||||||
|
*x = PushCoinPoolElement{}
|
||||||
|
if protoimpl.UnsafeEnabled {
|
||||||
|
mi := &file_protocol_webapi_common_proto_msgTypes[115]
|
||||||
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
|
ms.StoreMessageInfo(mi)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *PushCoinPoolElement) String() string {
|
||||||
|
return protoimpl.X.MessageStringOf(x)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (*PushCoinPoolElement) ProtoMessage() {}
|
||||||
|
|
||||||
|
func (x *PushCoinPoolElement) ProtoReflect() protoreflect.Message {
|
||||||
|
mi := &file_protocol_webapi_common_proto_msgTypes[115]
|
||||||
|
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 PushCoinPoolElement.ProtoReflect.Descriptor instead.
|
||||||
|
func (*PushCoinPoolElement) Descriptor() ([]byte, []int) {
|
||||||
|
return file_protocol_webapi_common_proto_rawDescGZIP(), []int{115}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *PushCoinPoolElement) GetOn() int32 {
|
||||||
|
if x != nil {
|
||||||
|
return x.On
|
||||||
|
}
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *PushCoinPoolElement) GetTp() int32 {
|
||||||
|
if x != nil {
|
||||||
|
return x.Tp
|
||||||
|
}
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *PushCoinPoolElement) GetAward() []*ItemInfo {
|
||||||
|
if x != nil {
|
||||||
|
return x.Award
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *PushCoinPoolElement) GetWeight() int32 {
|
||||||
|
if x != nil {
|
||||||
|
return x.Weight
|
||||||
|
}
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *PushCoinPoolElement) GetValue() int64 {
|
||||||
|
if x != nil {
|
||||||
|
return x.Value
|
||||||
|
}
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
type PushCoinPool struct {
|
||||||
|
state protoimpl.MessageState
|
||||||
|
sizeCache protoimpl.SizeCache
|
||||||
|
unknownFields protoimpl.UnknownFields
|
||||||
|
|
||||||
|
On int32 `protobuf:"varint,1,opt,name=On,proto3" json:"On,omitempty"` // 开关 1开启 2关闭
|
||||||
|
Pool []*PushCoinPoolElement `protobuf:"bytes,2,rep,name=Pool,proto3" json:"Pool,omitempty"` // 奖池
|
||||||
|
UpperLimit int64 `protobuf:"varint,3,opt,name=UpperLimit,proto3" json:"UpperLimit,omitempty"` // 奖池上限(达到上线发奖)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *PushCoinPool) Reset() {
|
||||||
|
*x = PushCoinPool{}
|
||||||
|
if protoimpl.UnsafeEnabled {
|
||||||
|
mi := &file_protocol_webapi_common_proto_msgTypes[116]
|
||||||
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
|
ms.StoreMessageInfo(mi)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *PushCoinPool) String() string {
|
||||||
|
return protoimpl.X.MessageStringOf(x)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (*PushCoinPool) ProtoMessage() {}
|
||||||
|
|
||||||
|
func (x *PushCoinPool) ProtoReflect() protoreflect.Message {
|
||||||
|
mi := &file_protocol_webapi_common_proto_msgTypes[116]
|
||||||
|
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 PushCoinPool.ProtoReflect.Descriptor instead.
|
||||||
|
func (*PushCoinPool) Descriptor() ([]byte, []int) {
|
||||||
|
return file_protocol_webapi_common_proto_rawDescGZIP(), []int{116}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *PushCoinPool) GetOn() int32 {
|
||||||
|
if x != nil {
|
||||||
|
return x.On
|
||||||
|
}
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *PushCoinPool) GetPool() []*PushCoinPoolElement {
|
||||||
|
if x != nil {
|
||||||
|
return x.Pool
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *PushCoinPool) GetUpperLimit() int64 {
|
||||||
|
if x != nil {
|
||||||
|
return x.UpperLimit
|
||||||
|
}
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
var File_protocol_webapi_common_proto protoreflect.FileDescriptor
|
var File_protocol_webapi_common_proto protoreflect.FileDescriptor
|
||||||
|
|
||||||
var file_protocol_webapi_common_proto_rawDesc = []byte{
|
var file_protocol_webapi_common_proto_rawDesc = []byte{
|
||||||
|
@ -12263,17 +12429,42 @@ var file_protocol_webapi_common_proto_rawDesc = []byte{
|
||||||
0x12, 0x1c, 0x0a, 0x09, 0x53, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20,
|
0x12, 0x1c, 0x0a, 0x09, 0x53, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20,
|
||||||
0x01, 0x28, 0x09, 0x52, 0x09, 0x53, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x18,
|
0x01, 0x28, 0x09, 0x52, 0x09, 0x53, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x18,
|
||||||
0x0a, 0x07, 0x45, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52,
|
0x0a, 0x07, 0x45, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52,
|
||||||
0x07, 0x45, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x74, 0x0a, 0x0e, 0x50, 0x75, 0x73, 0x68,
|
0x07, 0x45, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x22, 0xf8, 0x01, 0x0a, 0x0e, 0x50, 0x75, 0x73,
|
||||||
0x43, 0x6f, 0x69, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c,
|
0x68, 0x43, 0x6f, 0x69, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x50,
|
||||||
0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x6c,
|
0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50,
|
||||||
0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x0e, 0x0a, 0x02, 0x4f, 0x6e, 0x18, 0x02, 0x20, 0x01,
|
0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x0e, 0x0a, 0x02, 0x4f, 0x6e, 0x18, 0x02, 0x20,
|
||||||
0x28, 0x05, 0x52, 0x02, 0x4f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x53, 0x74, 0x61, 0x72, 0x74, 0x54,
|
0x01, 0x28, 0x05, 0x52, 0x02, 0x4f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x53, 0x74, 0x61, 0x72, 0x74,
|
||||||
0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x53, 0x74, 0x61, 0x72, 0x74,
|
0x54, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x53, 0x74, 0x61, 0x72,
|
||||||
0x54, 0x69, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x45, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x18,
|
0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x45, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65,
|
||||||
0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x45, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x42, 0x26,
|
0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x45, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12,
|
||||||
0x5a, 0x24, 0x6d, 0x6f, 0x6e, 0x67, 0x6f, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x73, 0x2e, 0x63, 0x6f,
|
0x2a, 0x0a, 0x05, 0x50, 0x6f, 0x6f, 0x6c, 0x31, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14,
|
||||||
0x6d, 0x2f, 0x67, 0x61, 0x6d, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2f,
|
0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x50, 0x75, 0x73, 0x68, 0x43, 0x6f, 0x69, 0x6e,
|
||||||
0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
0x50, 0x6f, 0x6f, 0x6c, 0x52, 0x05, 0x50, 0x6f, 0x6f, 0x6c, 0x31, 0x12, 0x2a, 0x0a, 0x05, 0x50,
|
||||||
|
0x6f, 0x6f, 0x6c, 0x32, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x77, 0x65, 0x62,
|
||||||
|
0x61, 0x70, 0x69, 0x2e, 0x50, 0x75, 0x73, 0x68, 0x43, 0x6f, 0x69, 0x6e, 0x50, 0x6f, 0x6f, 0x6c,
|
||||||
|
0x52, 0x05, 0x50, 0x6f, 0x6f, 0x6c, 0x32, 0x12, 0x2a, 0x0a, 0x05, 0x50, 0x6f, 0x6f, 0x6c, 0x33,
|
||||||
|
0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e,
|
||||||
|
0x50, 0x75, 0x73, 0x68, 0x43, 0x6f, 0x69, 0x6e, 0x50, 0x6f, 0x6f, 0x6c, 0x52, 0x05, 0x50, 0x6f,
|
||||||
|
0x6f, 0x6c, 0x33, 0x22, 0x8b, 0x01, 0x0a, 0x13, 0x50, 0x75, 0x73, 0x68, 0x43, 0x6f, 0x69, 0x6e,
|
||||||
|
0x50, 0x6f, 0x6f, 0x6c, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x4f,
|
||||||
|
0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x4f, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x54,
|
||||||
|
0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x54, 0x70, 0x12, 0x26, 0x0a, 0x05, 0x41,
|
||||||
|
0x77, 0x61, 0x72, 0x64, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x77, 0x65, 0x62,
|
||||||
|
0x61, 0x70, 0x69, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x41, 0x77,
|
||||||
|
0x61, 0x72, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x04, 0x20,
|
||||||
|
0x01, 0x28, 0x05, 0x52, 0x06, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x56,
|
||||||
|
0x61, 0x6c, 0x75, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x56, 0x61, 0x6c, 0x75,
|
||||||
|
0x65, 0x22, 0x6f, 0x0a, 0x0c, 0x50, 0x75, 0x73, 0x68, 0x43, 0x6f, 0x69, 0x6e, 0x50, 0x6f, 0x6f,
|
||||||
|
0x6c, 0x12, 0x0e, 0x0a, 0x02, 0x4f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x4f,
|
||||||
|
0x6e, 0x12, 0x2f, 0x0a, 0x04, 0x50, 0x6f, 0x6f, 0x6c, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32,
|
||||||
|
0x1b, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x50, 0x75, 0x73, 0x68, 0x43, 0x6f, 0x69,
|
||||||
|
0x6e, 0x50, 0x6f, 0x6f, 0x6c, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x04, 0x50, 0x6f,
|
||||||
|
0x6f, 0x6c, 0x12, 0x1e, 0x0a, 0x0a, 0x55, 0x70, 0x70, 0x65, 0x72, 0x4c, 0x69, 0x6d, 0x69, 0x74,
|
||||||
|
0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x55, 0x70, 0x70, 0x65, 0x72, 0x4c, 0x69, 0x6d,
|
||||||
|
0x69, 0x74, 0x42, 0x26, 0x5a, 0x24, 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, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
|
||||||
|
0x6f, 0x33,
|
||||||
}
|
}
|
||||||
|
|
||||||
var (
|
var (
|
||||||
|
@ -12288,7 +12479,7 @@ func file_protocol_webapi_common_proto_rawDescGZIP() []byte {
|
||||||
return file_protocol_webapi_common_proto_rawDescData
|
return file_protocol_webapi_common_proto_rawDescData
|
||||||
}
|
}
|
||||||
|
|
||||||
var file_protocol_webapi_common_proto_msgTypes = make([]protoimpl.MessageInfo, 125)
|
var file_protocol_webapi_common_proto_msgTypes = make([]protoimpl.MessageInfo, 127)
|
||||||
var file_protocol_webapi_common_proto_goTypes = []interface{}{
|
var file_protocol_webapi_common_proto_goTypes = []interface{}{
|
||||||
(*MysqlDbSetting)(nil), // 0: webapi.MysqlDbSetting
|
(*MysqlDbSetting)(nil), // 0: webapi.MysqlDbSetting
|
||||||
(*MongoDbSetting)(nil), // 1: webapi.MongoDbSetting
|
(*MongoDbSetting)(nil), // 1: webapi.MongoDbSetting
|
||||||
|
@ -12405,32 +12596,34 @@ var file_protocol_webapi_common_proto_goTypes = []interface{}{
|
||||||
(*RedInfo)(nil), // 112: webapi.RedInfo
|
(*RedInfo)(nil), // 112: webapi.RedInfo
|
||||||
(*ConsumeConfig)(nil), // 113: webapi.ConsumeConfig
|
(*ConsumeConfig)(nil), // 113: webapi.ConsumeConfig
|
||||||
(*PushCoinConfig)(nil), // 114: webapi.PushCoinConfig
|
(*PushCoinConfig)(nil), // 114: webapi.PushCoinConfig
|
||||||
nil, // 115: webapi.Platform.BindTelRewardEntry
|
(*PushCoinPoolElement)(nil), // 115: webapi.PushCoinPoolElement
|
||||||
nil, // 116: webapi.PlayerData.RankScoreEntry
|
(*PushCoinPool)(nil), // 116: webapi.PushCoinPool
|
||||||
nil, // 117: webapi.ItemShop.AwardEntry
|
nil, // 117: webapi.Platform.BindTelRewardEntry
|
||||||
nil, // 118: webapi.VIPcfg.AwardEntry
|
nil, // 118: webapi.PlayerData.RankScoreEntry
|
||||||
nil, // 119: webapi.VIPcfg.Privilege1Entry
|
nil, // 119: webapi.ItemShop.AwardEntry
|
||||||
nil, // 120: webapi.VIPcfg.Privilege7Entry
|
nil, // 120: webapi.VIPcfg.AwardEntry
|
||||||
nil, // 121: webapi.VIPcfg.Privilege9Entry
|
nil, // 121: webapi.VIPcfg.Privilege1Entry
|
||||||
nil, // 122: webapi.ActInviteConfig.PayScoreEntry
|
nil, // 122: webapi.VIPcfg.Privilege7Entry
|
||||||
nil, // 123: webapi.SkinLevel.UpItemEntry
|
nil, // 123: webapi.VIPcfg.Privilege9Entry
|
||||||
nil, // 124: webapi.SkinItem.UnlockParamEntry
|
nil, // 124: webapi.ActInviteConfig.PayScoreEntry
|
||||||
(*server.DB_GameFree)(nil), // 125: server.DB_GameFree
|
nil, // 125: webapi.SkinLevel.UpItemEntry
|
||||||
(*server.DB_GameItem)(nil), // 126: server.DB_GameItem
|
nil, // 126: webapi.SkinItem.UnlockParamEntry
|
||||||
|
(*server.DB_GameFree)(nil), // 127: server.DB_GameFree
|
||||||
|
(*server.DB_GameItem)(nil), // 128: server.DB_GameItem
|
||||||
}
|
}
|
||||||
var file_protocol_webapi_common_proto_depIdxs = []int32{
|
var file_protocol_webapi_common_proto_depIdxs = []int32{
|
||||||
2, // 0: webapi.Platform.Leaderboard:type_name -> webapi.RankSwitch
|
2, // 0: webapi.Platform.Leaderboard:type_name -> webapi.RankSwitch
|
||||||
3, // 1: webapi.Platform.ClubConfig:type_name -> webapi.ClubConfig
|
3, // 1: webapi.Platform.ClubConfig:type_name -> webapi.ClubConfig
|
||||||
4, // 2: webapi.Platform.ThirdGameMerchant:type_name -> webapi.ThirdGame
|
4, // 2: webapi.Platform.ThirdGameMerchant:type_name -> webapi.ThirdGame
|
||||||
115, // 3: webapi.Platform.BindTelReward:type_name -> webapi.Platform.BindTelRewardEntry
|
117, // 3: webapi.Platform.BindTelReward:type_name -> webapi.Platform.BindTelRewardEntry
|
||||||
6, // 4: webapi.GameConfigGlobal.GameStatus:type_name -> webapi.GameStatus
|
6, // 4: webapi.GameConfigGlobal.GameStatus:type_name -> webapi.GameStatus
|
||||||
125, // 5: webapi.GameFree.DbGameFree:type_name -> server.DB_GameFree
|
127, // 5: webapi.GameFree.DbGameFree:type_name -> server.DB_GameFree
|
||||||
8, // 6: webapi.PlatformGameConfig.DbGameFrees:type_name -> webapi.GameFree
|
8, // 6: webapi.PlatformGameConfig.DbGameFrees:type_name -> webapi.GameFree
|
||||||
0, // 7: webapi.PlatformDbConfig.Mysql:type_name -> webapi.MysqlDbSetting
|
0, // 7: webapi.PlatformDbConfig.Mysql:type_name -> webapi.MysqlDbSetting
|
||||||
1, // 8: webapi.PlatformDbConfig.MongoDb:type_name -> webapi.MongoDbSetting
|
1, // 8: webapi.PlatformDbConfig.MongoDb:type_name -> webapi.MongoDbSetting
|
||||||
1, // 9: webapi.PlatformDbConfig.MongoDbLog:type_name -> webapi.MongoDbSetting
|
1, // 9: webapi.PlatformDbConfig.MongoDbLog:type_name -> webapi.MongoDbSetting
|
||||||
125, // 10: webapi.GameConfigGroup.DbGameFree:type_name -> server.DB_GameFree
|
127, // 10: webapi.GameConfigGroup.DbGameFree:type_name -> server.DB_GameFree
|
||||||
116, // 11: webapi.PlayerData.RankScore:type_name -> webapi.PlayerData.RankScoreEntry
|
118, // 11: webapi.PlayerData.RankScore:type_name -> webapi.PlayerData.RankScoreEntry
|
||||||
32, // 12: webapi.PlayerData.Items:type_name -> webapi.ItemInfo
|
32, // 12: webapi.PlayerData.Items:type_name -> webapi.ItemInfo
|
||||||
14, // 13: webapi.PlayerData.RoleUnlockList:type_name -> webapi.ModInfo
|
14, // 13: webapi.PlayerData.RoleUnlockList:type_name -> webapi.ModInfo
|
||||||
14, // 14: webapi.PlayerData.PetUnlockList:type_name -> webapi.ModInfo
|
14, // 14: webapi.PlayerData.PetUnlockList:type_name -> webapi.ModInfo
|
||||||
|
@ -12443,7 +12636,7 @@ var file_protocol_webapi_common_proto_depIdxs = []int32{
|
||||||
32, // 21: webapi.ExchangeShop.Items:type_name -> webapi.ItemInfo
|
32, // 21: webapi.ExchangeShop.Items:type_name -> webapi.ItemInfo
|
||||||
25, // 22: webapi.ExchangeShopList.List:type_name -> webapi.ExchangeShop
|
25, // 22: webapi.ExchangeShopList.List:type_name -> webapi.ExchangeShop
|
||||||
29, // 23: webapi.ExchangeShopList.Weight:type_name -> webapi.ShopWeight
|
29, // 23: webapi.ExchangeShopList.Weight:type_name -> webapi.ShopWeight
|
||||||
117, // 24: webapi.ItemShop.Award:type_name -> webapi.ItemShop.AwardEntry
|
119, // 24: webapi.ItemShop.Award:type_name -> webapi.ItemShop.AwardEntry
|
||||||
30, // 25: webapi.ItemShopList.List:type_name -> webapi.ItemShop
|
30, // 25: webapi.ItemShopList.List:type_name -> webapi.ItemShop
|
||||||
32, // 26: webapi.MatchInfoAward.ItemId:type_name -> webapi.ItemInfo
|
32, // 26: webapi.MatchInfoAward.ItemId:type_name -> webapi.ItemInfo
|
||||||
33, // 27: webapi.GameMatchDate.Award:type_name -> webapi.MatchInfoAward
|
33, // 27: webapi.GameMatchDate.Award:type_name -> webapi.MatchInfoAward
|
||||||
|
@ -12464,14 +12657,14 @@ var file_protocol_webapi_common_proto_depIdxs = []int32{
|
||||||
38, // 42: webapi.WelfareSpree.Item:type_name -> webapi.WelfareDate
|
38, // 42: webapi.WelfareSpree.Item:type_name -> webapi.WelfareDate
|
||||||
48, // 43: webapi.WelfareFirstPayDataList.List:type_name -> webapi.WelfareSpree
|
48, // 43: webapi.WelfareFirstPayDataList.List:type_name -> webapi.WelfareSpree
|
||||||
48, // 44: webapi.WelfareContinuousPayDataList.List:type_name -> webapi.WelfareSpree
|
48, // 44: webapi.WelfareContinuousPayDataList.List:type_name -> webapi.WelfareSpree
|
||||||
118, // 45: webapi.VIPcfg.Award:type_name -> webapi.VIPcfg.AwardEntry
|
120, // 45: webapi.VIPcfg.Award:type_name -> webapi.VIPcfg.AwardEntry
|
||||||
119, // 46: webapi.VIPcfg.Privilege1:type_name -> webapi.VIPcfg.Privilege1Entry
|
121, // 46: webapi.VIPcfg.Privilege1:type_name -> webapi.VIPcfg.Privilege1Entry
|
||||||
120, // 47: webapi.VIPcfg.Privilege7:type_name -> webapi.VIPcfg.Privilege7Entry
|
122, // 47: webapi.VIPcfg.Privilege7:type_name -> webapi.VIPcfg.Privilege7Entry
|
||||||
121, // 48: webapi.VIPcfg.Privilege9:type_name -> webapi.VIPcfg.Privilege9Entry
|
123, // 48: webapi.VIPcfg.Privilege9:type_name -> webapi.VIPcfg.Privilege9Entry
|
||||||
51, // 49: webapi.VIPcfgDataList.List:type_name -> webapi.VIPcfg
|
51, // 49: webapi.VIPcfgDataList.List:type_name -> webapi.VIPcfg
|
||||||
38, // 50: webapi.ChessRankConfig.Item:type_name -> webapi.WelfareDate
|
38, // 50: webapi.ChessRankConfig.Item:type_name -> webapi.WelfareDate
|
||||||
55, // 51: webapi.ChessRankcfgData.Datas:type_name -> webapi.ChessRankConfig
|
55, // 51: webapi.ChessRankcfgData.Datas:type_name -> webapi.ChessRankConfig
|
||||||
122, // 52: webapi.ActInviteConfig.PayScore:type_name -> webapi.ActInviteConfig.PayScoreEntry
|
124, // 52: webapi.ActInviteConfig.PayScore:type_name -> webapi.ActInviteConfig.PayScoreEntry
|
||||||
62, // 53: webapi.ActInviteConfig.Awards1:type_name -> webapi.RankAward
|
62, // 53: webapi.ActInviteConfig.Awards1:type_name -> webapi.RankAward
|
||||||
62, // 54: webapi.ActInviteConfig.Awards2:type_name -> webapi.RankAward
|
62, // 54: webapi.ActInviteConfig.Awards2:type_name -> webapi.RankAward
|
||||||
62, // 55: webapi.ActInviteConfig.Awards3:type_name -> webapi.RankAward
|
62, // 55: webapi.ActInviteConfig.Awards3:type_name -> webapi.RankAward
|
||||||
|
@ -12488,12 +12681,12 @@ var file_protocol_webapi_common_proto_depIdxs = []int32{
|
||||||
69, // 66: webapi.DiamondLotteryData.Info:type_name -> webapi.DiamondLotteryInfo
|
69, // 66: webapi.DiamondLotteryData.Info:type_name -> webapi.DiamondLotteryInfo
|
||||||
70, // 67: webapi.DiamondLotteryData.Players:type_name -> webapi.DiamondLotteryPlayers
|
70, // 67: webapi.DiamondLotteryData.Players:type_name -> webapi.DiamondLotteryPlayers
|
||||||
72, // 68: webapi.DiamondLotteryConfig.LotteryData:type_name -> webapi.DiamondLotteryData
|
72, // 68: webapi.DiamondLotteryConfig.LotteryData:type_name -> webapi.DiamondLotteryData
|
||||||
126, // 69: webapi.ItemConfig.Items:type_name -> server.DB_GameItem
|
128, // 69: webapi.ItemConfig.Items:type_name -> server.DB_GameItem
|
||||||
32, // 70: webapi.RankAwardInfo.Item:type_name -> webapi.ItemInfo
|
32, // 70: webapi.RankAwardInfo.Item:type_name -> webapi.ItemInfo
|
||||||
75, // 71: webapi.RankTypeInfo.Award:type_name -> webapi.RankAwardInfo
|
75, // 71: webapi.RankTypeInfo.Award:type_name -> webapi.RankAwardInfo
|
||||||
76, // 72: webapi.RankTypeConfig.Info:type_name -> webapi.RankTypeInfo
|
76, // 72: webapi.RankTypeConfig.Info:type_name -> webapi.RankTypeInfo
|
||||||
123, // 73: webapi.SkinLevel.UpItem:type_name -> webapi.SkinLevel.UpItemEntry
|
125, // 73: webapi.SkinLevel.UpItem:type_name -> webapi.SkinLevel.UpItemEntry
|
||||||
124, // 74: webapi.SkinItem.UnlockParam:type_name -> webapi.SkinItem.UnlockParamEntry
|
126, // 74: webapi.SkinItem.UnlockParam:type_name -> webapi.SkinItem.UnlockParamEntry
|
||||||
78, // 75: webapi.SkinItem.Levels:type_name -> webapi.SkinLevel
|
78, // 75: webapi.SkinItem.Levels:type_name -> webapi.SkinLevel
|
||||||
79, // 76: webapi.SkinConfig.Items:type_name -> webapi.SkinItem
|
79, // 76: webapi.SkinConfig.Items:type_name -> webapi.SkinItem
|
||||||
82, // 77: webapi.AwardLogConfig.AwardLog:type_name -> webapi.AwardLogData
|
82, // 77: webapi.AwardLogConfig.AwardLog:type_name -> webapi.AwardLogData
|
||||||
|
@ -12521,11 +12714,16 @@ var file_protocol_webapi_common_proto_depIdxs = []int32{
|
||||||
32, // 99: webapi.NianRankAwardInfo.Award:type_name -> webapi.ItemInfo
|
32, // 99: webapi.NianRankAwardInfo.Award:type_name -> webapi.ItemInfo
|
||||||
111, // 100: webapi.RedPacketConfig.List:type_name -> webapi.RedPacketInfo
|
111, // 100: webapi.RedPacketConfig.List:type_name -> webapi.RedPacketInfo
|
||||||
112, // 101: webapi.RedPacketInfo.RedList:type_name -> webapi.RedInfo
|
112, // 101: webapi.RedPacketInfo.RedList:type_name -> webapi.RedInfo
|
||||||
102, // [102:102] is the sub-list for method output_type
|
116, // 102: webapi.PushCoinConfig.Pool1:type_name -> webapi.PushCoinPool
|
||||||
102, // [102:102] is the sub-list for method input_type
|
116, // 103: webapi.PushCoinConfig.Pool2:type_name -> webapi.PushCoinPool
|
||||||
102, // [102:102] is the sub-list for extension type_name
|
116, // 104: webapi.PushCoinConfig.Pool3:type_name -> webapi.PushCoinPool
|
||||||
102, // [102:102] is the sub-list for extension extendee
|
32, // 105: webapi.PushCoinPoolElement.Award:type_name -> webapi.ItemInfo
|
||||||
0, // [0:102] is the sub-list for field type_name
|
115, // 106: webapi.PushCoinPool.Pool:type_name -> webapi.PushCoinPoolElement
|
||||||
|
107, // [107:107] is the sub-list for method output_type
|
||||||
|
107, // [107:107] is the sub-list for method input_type
|
||||||
|
107, // [107:107] is the sub-list for extension type_name
|
||||||
|
107, // [107:107] is the sub-list for extension extendee
|
||||||
|
0, // [0:107] is the sub-list for field type_name
|
||||||
}
|
}
|
||||||
|
|
||||||
func init() { file_protocol_webapi_common_proto_init() }
|
func init() { file_protocol_webapi_common_proto_init() }
|
||||||
|
@ -13914,6 +14112,30 @@ func file_protocol_webapi_common_proto_init() {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
file_protocol_webapi_common_proto_msgTypes[115].Exporter = func(v interface{}, i int) interface{} {
|
||||||
|
switch v := v.(*PushCoinPoolElement); i {
|
||||||
|
case 0:
|
||||||
|
return &v.state
|
||||||
|
case 1:
|
||||||
|
return &v.sizeCache
|
||||||
|
case 2:
|
||||||
|
return &v.unknownFields
|
||||||
|
default:
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
}
|
||||||
|
file_protocol_webapi_common_proto_msgTypes[116].Exporter = func(v interface{}, i int) interface{} {
|
||||||
|
switch v := v.(*PushCoinPool); i {
|
||||||
|
case 0:
|
||||||
|
return &v.state
|
||||||
|
case 1:
|
||||||
|
return &v.sizeCache
|
||||||
|
case 2:
|
||||||
|
return &v.unknownFields
|
||||||
|
default:
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
type x struct{}
|
type x struct{}
|
||||||
out := protoimpl.TypeBuilder{
|
out := protoimpl.TypeBuilder{
|
||||||
|
@ -13921,7 +14143,7 @@ func file_protocol_webapi_common_proto_init() {
|
||||||
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
|
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
|
||||||
RawDescriptor: file_protocol_webapi_common_proto_rawDesc,
|
RawDescriptor: file_protocol_webapi_common_proto_rawDesc,
|
||||||
NumEnums: 0,
|
NumEnums: 0,
|
||||||
NumMessages: 125,
|
NumMessages: 127,
|
||||||
NumExtensions: 0,
|
NumExtensions: 0,
|
||||||
NumServices: 0,
|
NumServices: 0,
|
||||||
},
|
},
|
||||||
|
|
|
@ -1174,4 +1174,21 @@ message PushCoinConfig{
|
||||||
int32 On = 2; // 活动开关 1.开启 2.关闭
|
int32 On = 2; // 活动开关 1.开启 2.关闭
|
||||||
string StartTime = 3; // 活动开始时间
|
string StartTime = 3; // 活动开始时间
|
||||||
string EndTime = 4; // 活动结束时间
|
string EndTime = 4; // 活动结束时间
|
||||||
|
PushCoinPool Pool1 = 5; // 奖池1
|
||||||
|
PushCoinPool Pool2 = 6; // 奖池2
|
||||||
|
PushCoinPool Pool3 = 7; // 奖池3
|
||||||
|
}
|
||||||
|
|
||||||
|
message PushCoinPoolElement{
|
||||||
|
int32 On = 1; // 开关 1开启 2关闭
|
||||||
|
int32 Tp = 2; // 类型 1实物
|
||||||
|
repeated ItemInfo Award = 3; // 奖励
|
||||||
|
int32 Weight = 4; // 概率,万分比
|
||||||
|
int64 Value = 5; // 价值(只有实物有用)
|
||||||
|
}
|
||||||
|
|
||||||
|
message PushCoinPool{
|
||||||
|
int32 On = 1; // 开关 1开启 2关闭
|
||||||
|
repeated PushCoinPoolElement Pool = 2; // 奖池
|
||||||
|
int64 UpperLimit = 3; // 奖池上限(达到上线发奖)
|
||||||
}
|
}
|
|
@ -1,7 +1,9 @@
|
||||||
package main
|
package main
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"slices"
|
||||||
"sort"
|
"sort"
|
||||||
|
"time"
|
||||||
|
|
||||||
"mongo.games.com/goserver/core/logger"
|
"mongo.games.com/goserver/core/logger"
|
||||||
"mongo.games.com/goserver/core/netlib"
|
"mongo.games.com/goserver/core/netlib"
|
||||||
|
@ -9,19 +11,19 @@ import (
|
||||||
"mongo.games.com/game/common"
|
"mongo.games.com/game/common"
|
||||||
"mongo.games.com/game/model"
|
"mongo.games.com/game/model"
|
||||||
"mongo.games.com/game/protocol/activity"
|
"mongo.games.com/game/protocol/activity"
|
||||||
|
"mongo.games.com/game/protocol/webapi"
|
||||||
"mongo.games.com/game/srvdata"
|
"mongo.games.com/game/srvdata"
|
||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
PowerMax = 700000
|
PowerMax = 50000
|
||||||
PowerInit = 400000
|
PowerInit = 0
|
||||||
)
|
)
|
||||||
|
|
||||||
var PushCoinItemValue = map[int32]int64{
|
var PushCoinItemValue = map[int32]int64{
|
||||||
common.ItemIDBigCoin: 50000,
|
common.ItemIDBigCoin: 50000,
|
||||||
common.ItemIDVCard: 10000,
|
common.ItemIDVCard: 10000,
|
||||||
common.ItemIDPlum: 30000,
|
common.ItemIDPlum: 30000,
|
||||||
30011: 100000000, // 话费卡
|
|
||||||
common.ItemIDCoin1: 5000,
|
common.ItemIDCoin1: 5000,
|
||||||
common.ItemIDCoin2: 10000,
|
common.ItemIDCoin2: 10000,
|
||||||
common.ItemIDCoin3: 15000,
|
common.ItemIDCoin3: 15000,
|
||||||
|
@ -52,7 +54,7 @@ func CSPushCoinInfo(s *netlib.Session, packetid int, data interface{}, sid int64
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
if p.WelfData.PushCoin == nil {
|
if p.WelfData.PushCoin == nil || len(p.WelfData.PushCoin.Turn) == 0 {
|
||||||
InitPlayerPushCoin(p)
|
InitPlayerPushCoin(p)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -105,15 +107,73 @@ func CSPushCoinInfo(s *netlib.Session, packetid int, data interface{}, sid int64
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// 转盘
|
pack.DrawList = make([]*activity.DrawInfo, len(p.WelfData.PushCoin.Turn))
|
||||||
for _, v := range srvdata.PBDB_ACTPushCoinMgr.Datas.Arr {
|
|
||||||
for kk, vv := range v.GetGain() {
|
for k, v := range p.WelfData.PushCoin.Turn {
|
||||||
pack.DrawList = append(pack.DrawList, &activity.DrawInfo{
|
info := &activity.DrawInfo{
|
||||||
Id: v.GetId(),
|
Id: int32(k),
|
||||||
ItemId: int32(kk),
|
}
|
||||||
ItemNum: int32(vv),
|
|
||||||
Coin: v.GetValue(),
|
// 默认奖励
|
||||||
})
|
if slices.Contains(NormaIndex, k) {
|
||||||
|
d := srvdata.PBDB_ACTPushCoinMgr.GetData(v)
|
||||||
|
if d != nil {
|
||||||
|
for kk, vv := range d.GetGain() {
|
||||||
|
info.ItemId = int32(kk)
|
||||||
|
info.ItemNum = vv
|
||||||
|
break
|
||||||
|
}
|
||||||
|
pack.DrawList[k] = info
|
||||||
|
}
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
// 奖池
|
||||||
|
if slices.Contains(PoolIndex, k) {
|
||||||
|
ii := slices.Index(PoolIndex, k)
|
||||||
|
if v == -1 {
|
||||||
|
// 从奖池中随机
|
||||||
|
var element *webapi.PushCoinPoolElement
|
||||||
|
var index int32
|
||||||
|
cfg := WelfareMgrSington.GetConfig(p.Platform).PushCoinConfig
|
||||||
|
if ii == 0 {
|
||||||
|
element, index = PushCoinPoolRandom(cfg.GetPool1().GetPool())
|
||||||
|
} else if ii == 1 {
|
||||||
|
element, index = PushCoinPoolRandom(cfg.GetPool2().GetPool())
|
||||||
|
} else if ii == 2 {
|
||||||
|
element, index = PushCoinPoolRandom(cfg.GetPool3().GetPool())
|
||||||
|
}
|
||||||
|
if index >= 0 && element != nil {
|
||||||
|
p.WelfData.PushCoin.Turn[k] = index
|
||||||
|
for _, v := range element.GetAward() {
|
||||||
|
info.ItemId = v.GetItemId()
|
||||||
|
info.ItemNum = v.GetItemNum()
|
||||||
|
break
|
||||||
|
}
|
||||||
|
pack.DrawList[k] = info
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
// 随机过了
|
||||||
|
f := func(index int, pool []*webapi.PushCoinPoolElement) {
|
||||||
|
if index < len(pool) {
|
||||||
|
for _, v := range pool[index].GetAward() {
|
||||||
|
info.ItemId = v.GetItemId()
|
||||||
|
info.ItemNum = v.GetItemNum()
|
||||||
|
break
|
||||||
|
}
|
||||||
|
pack.DrawList[k] = info
|
||||||
|
}
|
||||||
|
}
|
||||||
|
cfg := WelfareMgrSington.GetConfig(p.Platform).PushCoinConfig
|
||||||
|
if cfg != nil {
|
||||||
|
if ii == 0 {
|
||||||
|
f(int(v), cfg.GetPool1().GetPool())
|
||||||
|
} else if ii == 1 {
|
||||||
|
f(int(v), cfg.GetPool2().GetPool())
|
||||||
|
} else if ii == 2 {
|
||||||
|
f(int(v), cfg.GetPool3().GetPool())
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -150,6 +210,18 @@ func CSPushCoinPlayerOp(s *netlib.Session, packetid int, data interface{}, sid i
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 活动时间检测
|
||||||
|
now := time.Now()
|
||||||
|
cfg := WelfareMgrSington.GetConfig(p.Platform).PushCoinConfig
|
||||||
|
if cfg == nil {
|
||||||
|
logger.Logger.Warn("CSPushCoinPlayerOp cfg == nil")
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
if cfg.GetOn() != common.On || now.Unix() < common.StrTimeToTs(cfg.GetStartTime()) || now.Unix() >= common.StrTimeToTs(cfg.GetEndTime()) {
|
||||||
|
logger.Logger.Warn("CSPushCoinPlayerOp cfg.GetOn() == common.Off or end")
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
pack := &activity.SCPushCoinPlayerOp{
|
pack := &activity.SCPushCoinPlayerOp{
|
||||||
OpRetCode: activity.OpResultPushCoinCode_OPRC_PushCoin_Error,
|
OpRetCode: activity.OpResultPushCoinCode_OPRC_PushCoin_Error,
|
||||||
OpCode: msg.GetOpCode(),
|
OpCode: msg.GetOpCode(),
|
||||||
|
@ -177,6 +249,8 @@ func CSPushCoinPlayerOp(s *netlib.Session, packetid int, data interface{}, sid i
|
||||||
PushCoinAddValue(p, map[int32]int64{
|
PushCoinAddValue(p, map[int32]int64{
|
||||||
int32(msg.GetOpParam()): 1,
|
int32(msg.GetOpParam()): 1,
|
||||||
})
|
})
|
||||||
|
// 增加水池
|
||||||
|
PushCoinPoolMangerInstance.Add(p.Platform, item.GetNum())
|
||||||
|
|
||||||
case activity.OpCodes_OP_Gain:
|
case activity.OpCodes_OP_Gain:
|
||||||
|
|
||||||
|
@ -210,12 +284,26 @@ func CSPushCoinPlayerOp(s *netlib.Session, packetid int, data interface{}, sid i
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
// 无效区
|
// 无效区
|
||||||
|
for _, v := range msg.GetOpItem() {
|
||||||
|
id := v.GetItemId()
|
||||||
|
val := v.GetItemNum()
|
||||||
|
|
||||||
|
if p.WelfData.PushCoin.Items[id] < val {
|
||||||
|
logger.Logger.Errorf("获得道具太多,无效区: %d, %d", p.WelfData.PushCoin.Items[id], val)
|
||||||
|
goto here
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
for _, v := range msg.GetOpItem() {
|
for _, v := range msg.GetOpItem() {
|
||||||
// 增加能量条
|
// 增加能量条
|
||||||
PushCoinAddPower(p, PushCoinItemValue[v.GetItemId()]*v.GetItemNum())
|
val := GetPushCoinValue(p.Platform, v.GetItemId())
|
||||||
|
if val <= 0 {
|
||||||
|
logger.Logger.Errorf("推币机价值查询bug itemId:%v", v.GetItemId())
|
||||||
|
}
|
||||||
|
logger.Logger.Debugf("推币机,掉落 ItemId:%v ItemNum:%v Value:%v", v.GetItemId(), v.GetItemNum(), val)
|
||||||
|
PushCoinAddPower(p, val*v.GetItemNum())
|
||||||
|
|
||||||
// 减少桌面道具
|
// 减少桌面道具
|
||||||
PushCoinAddValue(p, map[int32]int64{v.GetItemId(): -v.GetItemNum()})
|
PushCoinAddValue(p, map[int32]int64{v.GetItemId(): -v.GetItemNum()})
|
||||||
}
|
}
|
||||||
|
@ -285,13 +373,17 @@ func CSPushCoinPlayerOp(s *netlib.Session, packetid int, data interface{}, sid i
|
||||||
})
|
})
|
||||||
if k == common.ItemIDShake {
|
if k == common.ItemIDShake {
|
||||||
p.WelfData.PushCoin.Shake += int32(v)
|
p.WelfData.PushCoin.Shake += int32(v)
|
||||||
continue
|
|
||||||
}
|
}
|
||||||
gain = append(gain, &model.Item{
|
gain = append(gain, &model.Item{
|
||||||
ItemId: int32(k),
|
ItemId: int32(k),
|
||||||
ItemNum: v,
|
ItemNum: v,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
for _, v := range cost {
|
||||||
|
if v.ItemNum < 0 {
|
||||||
|
v.ItemNum = -v.ItemNum
|
||||||
|
}
|
||||||
|
}
|
||||||
BagMgrSingleton.AddItems(&model.AddItemParam{
|
BagMgrSingleton.AddItems(&model.AddItemParam{
|
||||||
Platform: p.Platform,
|
Platform: p.Platform,
|
||||||
SnId: p.SnId,
|
SnId: p.SnId,
|
||||||
|
@ -330,6 +422,13 @@ func InitPlayerPushCoin(p *Player) {
|
||||||
common.ItemIDCoin1: 50,
|
common.ItemIDCoin1: 50,
|
||||||
common.ItemIDPlum: 1,
|
common.ItemIDPlum: 1,
|
||||||
},
|
},
|
||||||
|
Turn: []int32{ // 转盘表数据id
|
||||||
|
1, 4, -1,
|
||||||
|
3, -1, 2,
|
||||||
|
-1, 5, 9,
|
||||||
|
},
|
||||||
|
Next: -1,
|
||||||
|
PoolV: []int64{-1, -1, -1},
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -342,10 +441,14 @@ func PushCoinAddPower(p *Player, value int64) {
|
||||||
if p.WelfData.PushCoin.Power > PowerMax {
|
if p.WelfData.PushCoin.Power > PowerMax {
|
||||||
p.WelfData.PushCoin.Power = PowerMax
|
p.WelfData.PushCoin.Power = PowerMax
|
||||||
}
|
}
|
||||||
p.SendToClient(int(activity.PushCoinPacketID_PACKET_NotifyPowerLine), &activity.NotifyPowerLine{
|
|
||||||
|
pack := &activity.NotifyPowerLine{
|
||||||
PowerLine: p.WelfData.PushCoin.Power,
|
PowerLine: p.WelfData.PushCoin.Power,
|
||||||
PowerLineMax: PowerMax,
|
PowerLineMax: PowerMax,
|
||||||
})
|
}
|
||||||
|
|
||||||
|
p.SendToClient(int(activity.PushCoinPacketID_PACKET_NotifyPowerLine), pack)
|
||||||
|
logger.Logger.Tracef("刷新能量条: %v", pack)
|
||||||
if value <= 0 {
|
if value <= 0 {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
@ -359,61 +462,196 @@ func PushCoinDraw(p *Player) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
p.WelfData.PushCoin.Power = 0
|
p.WelfData.PushCoin.Power = 0
|
||||||
var index int32 = -1
|
|
||||||
|
var draw *activity.DrawInfo
|
||||||
|
var draw1 []*activity.DrawInfo
|
||||||
|
// 奖池返奖
|
||||||
|
f1 := func() bool {
|
||||||
|
pool := PushCoinPoolMangerInstance.PlatformConfig[p.Platform]
|
||||||
|
if pool == nil {
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
// fp 奖池返奖,返回是否成功
|
||||||
|
fp := func(i int, poolInfo *PushCoinPoolInfo) bool {
|
||||||
|
// 是否返奖
|
||||||
|
if poolInfo == nil || poolInfo.Remain <= 0 {
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
// 玩家奖池没有返过奖
|
||||||
|
if len(p.WelfData.PushCoin.PoolV) > i && p.WelfData.PushCoin.PoolV[i] < poolInfo.Version {
|
||||||
|
cfg := WelfareMgrSington.GetConfig(p.Platform).PushCoinConfig
|
||||||
|
poolIndex := p.WelfData.PushCoin.Turn[PoolIndex[i]]
|
||||||
|
value := int64(0) // 奖品价值
|
||||||
|
if int(poolIndex) < len(cfg.GetPool1().GetPool()) {
|
||||||
|
e := cfg.GetPool1().GetPool()[poolIndex]
|
||||||
|
if e != nil {
|
||||||
|
for _, v := range e.GetAward() {
|
||||||
|
iv, ok := PushCoinItemValue[v.GetItemId()]
|
||||||
|
if ok {
|
||||||
|
value = v.GetItemNum() * iv
|
||||||
|
} else {
|
||||||
|
value = v.GetItemNum() * e.GetValue() // 目前只有实物是自定义的价值
|
||||||
|
}
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if value > 0 {
|
||||||
|
// 价值是否足够
|
||||||
|
if poolInfo.Remain-value < 0 {
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
// 扣除价值
|
||||||
|
poolInfo.Remain -= value
|
||||||
|
// 刷新玩家奖池版本
|
||||||
|
p.WelfData.PushCoin.PoolV[i] = poolInfo.Version
|
||||||
|
// 下次中奖位置
|
||||||
|
p.WelfData.PushCoin.Next = int32(PoolIndex[i])
|
||||||
|
logger.Logger.Tracef("下次中奖池:%v", p.WelfData.PushCoin)
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
// 奖池1
|
||||||
|
if fp(0, pool.Pool1) {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
// 奖池2
|
||||||
|
if fp(1, pool.Pool2) {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
// 奖池3
|
||||||
|
if fp(2, pool.Pool3) {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
switch p.WelfData.PushCoin.Dram {
|
switch p.WelfData.PushCoin.Dram {
|
||||||
case 0:
|
case 0:
|
||||||
// 必中大金币
|
// 必中大金币
|
||||||
for _, v := range srvdata.PBDB_ACTPushCoinMgr.Datas.Arr {
|
draw = PushCoinNormalRandom(common.ItemIDBigCoin)
|
||||||
for kk := range v.GetGain() {
|
draw.Id = 0 // 查表
|
||||||
if kk == common.ItemIDBigCoin {
|
// 下次必中v卡
|
||||||
index = v.GetId()
|
p.WelfData.PushCoin.Next = 1 // 查表
|
||||||
break
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
case 1:
|
|
||||||
// 必中v卡
|
|
||||||
for _, v := range srvdata.PBDB_ACTPushCoinMgr.Datas.Arr {
|
|
||||||
for kk := range v.GetGain() {
|
|
||||||
if kk == common.ItemIDVCard {
|
|
||||||
index = v.GetId()
|
|
||||||
break
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
default:
|
default:
|
||||||
var n int32
|
// 使用预生成结果
|
||||||
rand := common.RandInt(10000)
|
if p.WelfData.PushCoin.Next >= 0 {
|
||||||
for _, v := range srvdata.PBDB_ACTPushCoinMgr.Datas.Arr {
|
k := p.WelfData.PushCoin.Next
|
||||||
if rand < int(n+v.GetRate()) {
|
val := p.WelfData.PushCoin.Turn[p.WelfData.PushCoin.Next]
|
||||||
index = v.GetId()
|
if slices.Contains(NormaIndex, int(k)) {
|
||||||
break
|
// 普通奖品
|
||||||
|
for kk, vv := range srvdata.PBDB_ACTPushCoinMgr.GetData(val).GetGain() {
|
||||||
|
draw = &activity.DrawInfo{
|
||||||
|
Id: k,
|
||||||
|
ItemId: int32(kk),
|
||||||
|
ItemNum: vv,
|
||||||
|
}
|
||||||
|
logger.Logger.Tracef("中奖普通奖品:%v", draw)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if slices.Contains(PoolIndex, int(k)) {
|
||||||
|
f := func(i int, list []*webapi.PushCoinPoolElement) {
|
||||||
|
// 本次奖品
|
||||||
|
if i < len(list) {
|
||||||
|
for _, v := range list[i].GetAward() {
|
||||||
|
draw = &activity.DrawInfo{
|
||||||
|
Id: p.WelfData.PushCoin.Next,
|
||||||
|
ItemId: v.GetItemId(),
|
||||||
|
ItemNum: v.GetItemNum(),
|
||||||
|
}
|
||||||
|
logger.Logger.Tracef("中奖奖池奖品:%v", draw)
|
||||||
|
break
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
logger.Logger.Errorf("奖池抽奖bug: %d, %d, %d", k, i, len(list))
|
||||||
|
}
|
||||||
|
// 刷新奖池
|
||||||
|
e, index := PushCoinPoolRandom(list)
|
||||||
|
if e != nil {
|
||||||
|
p.WelfData.PushCoin.Turn[k] = index
|
||||||
|
for _, v := range e.GetAward() {
|
||||||
|
draw1 = append(draw1, &activity.DrawInfo{
|
||||||
|
Id: k,
|
||||||
|
ItemId: v.GetItemId(),
|
||||||
|
ItemNum: v.GetItemNum(),
|
||||||
|
})
|
||||||
|
logger.Logger.Tracef("刷新奖池奖品:%v", draw)
|
||||||
|
break
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
logger.Logger.Errorf("奖池刷新bug: %d, %d, %d", k, i, len(list))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// 水池奖品
|
||||||
|
var poolElements []*webapi.PushCoinPoolElement
|
||||||
|
switch slices.Index(PoolIndex, int(k)) {
|
||||||
|
case 0:
|
||||||
|
poolElements = WelfareMgrSington.GetConfig(p.Platform).PushCoinConfig.GetPool1().GetPool()
|
||||||
|
case 1:
|
||||||
|
poolElements = WelfareMgrSington.GetConfig(p.Platform).PushCoinConfig.GetPool2().GetPool()
|
||||||
|
case 2:
|
||||||
|
poolElements = WelfareMgrSington.GetConfig(p.Platform).PushCoinConfig.GetPool3().GetPool()
|
||||||
|
}
|
||||||
|
f(int(val), poolElements)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 下次中奖位置
|
||||||
|
// 奖池返奖 或 普通抽奖
|
||||||
|
if !f1() {
|
||||||
|
// 普通抽奖
|
||||||
|
index := int(p.WelfData.PushCoin.Next) // 奖品位置
|
||||||
|
e := PushCoinNormalRandom(0)
|
||||||
|
if e != nil {
|
||||||
|
var has bool
|
||||||
|
for k, v := range p.WelfData.PushCoin.Turn {
|
||||||
|
if slices.Contains(NormaIndex, k) && v == e.GetId() {
|
||||||
|
has = true
|
||||||
|
index = k
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if !has {
|
||||||
|
// 替换
|
||||||
|
if slices.Contains(PoolIndex, index) {
|
||||||
|
// 找一个普通奖品位置
|
||||||
|
index = NormaIndex[common.RandInt(len(NormaIndex[:len(NormaIndex)-1]))]
|
||||||
|
}
|
||||||
|
draw1 = append(draw1, &activity.DrawInfo{
|
||||||
|
Id: int32(index),
|
||||||
|
ItemId: e.GetItemId(),
|
||||||
|
ItemNum: e.GetItemNum(),
|
||||||
|
})
|
||||||
|
p.WelfData.PushCoin.Turn[index] = e.GetId()
|
||||||
|
}
|
||||||
|
p.WelfData.PushCoin.Next = int32(index)
|
||||||
|
logger.Logger.Tracef("下次中普通奖品:index:%v ItemId:%v Num:%v", index, e.GetItemId(), e.GetItemNum())
|
||||||
}
|
}
|
||||||
n += v.GetRate()
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
p.WelfData.PushCoin.Dram++
|
p.WelfData.PushCoin.Dram++
|
||||||
|
|
||||||
if index >= 0 {
|
if draw != nil {
|
||||||
d := srvdata.PBDB_ACTPushCoinMgr.GetData(index)
|
pack := &activity.NotifyDrawInfo{
|
||||||
if d != nil {
|
Draw: draw,
|
||||||
pack := &activity.DrawInfo{
|
|
||||||
Id: d.GetId(),
|
|
||||||
Coin: d.GetValue(),
|
|
||||||
}
|
|
||||||
for k, v := range d.GetGain() {
|
|
||||||
pack.ItemId = int32(k)
|
|
||||||
pack.ItemNum = int32(v)
|
|
||||||
PushCoinAddValue(p, map[int32]int64{pack.ItemId: int64(pack.ItemNum)})
|
|
||||||
}
|
|
||||||
if pack.Coin > 0 || pack.ItemId > 0 {
|
|
||||||
p.SendToClient(int(activity.PushCoinPacketID_PACKET_NotifyDrawInfo), pack)
|
|
||||||
// 增加能量条
|
|
||||||
PushCoinAddPower(p, 0)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
if len(draw1) > 0 {
|
||||||
|
pack.Info = draw1
|
||||||
|
}
|
||||||
|
|
||||||
|
PushCoinAddValue(p, map[int32]int64{draw.GetItemId(): draw.GetItemNum()})
|
||||||
|
|
||||||
|
p.SendToClient(int(activity.PushCoinPacketID_PACKET_NotifyDrawInfo), pack)
|
||||||
|
logger.Logger.Trace("NotifyDrawInfo: ", pack)
|
||||||
|
|
||||||
|
// 刷新能量条
|
||||||
|
PushCoinAddPower(p, 0)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -427,12 +665,111 @@ func PushCoinAddValue(p *Player, item map[int32]int64) {
|
||||||
p.WelfData.PushCoin.Items = make(map[int32]int64)
|
p.WelfData.PushCoin.Items = make(map[int32]int64)
|
||||||
}
|
}
|
||||||
for k, v := range item {
|
for k, v := range item {
|
||||||
if v > 0 {
|
p.WelfData.PushCoin.Items[k] += v
|
||||||
switch k {
|
logger.Logger.Tracef("桌面数据 ItemId:%v Change:%v Num:%v", k, v, p.WelfData.PushCoin.Items[k])
|
||||||
default:
|
|
||||||
p.WelfData.PushCoin.Items[k] += v
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func PushCoinPoolRandom(pool []*webapi.PushCoinPoolElement) (*webapi.PushCoinPoolElement, int32) {
|
||||||
|
var total int32
|
||||||
|
for _, v := range pool {
|
||||||
|
if v.GetOn() == common.On {
|
||||||
|
total += v.GetWeight()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if total <= 0 {
|
||||||
|
return nil, -1
|
||||||
|
}
|
||||||
|
var n int32
|
||||||
|
rn := int32(common.RandInt(int(total)))
|
||||||
|
for k, v := range pool {
|
||||||
|
if v.GetOn() == common.On {
|
||||||
|
n += v.GetWeight()
|
||||||
|
if rn < n {
|
||||||
|
return v, int32(k)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return nil, -1
|
||||||
|
}
|
||||||
|
|
||||||
|
func PushCoinNormalRandom(itemId int64) *activity.DrawInfo {
|
||||||
|
var total int32
|
||||||
|
var index = int32(-1) // 随机id
|
||||||
|
var n int32
|
||||||
|
if itemId == 0 {
|
||||||
|
// 随机抽奖
|
||||||
|
for _, vv := range srvdata.PBDB_ACTPushCoinMgr.Datas.GetArr() {
|
||||||
|
total += vv.GetRate()
|
||||||
|
}
|
||||||
|
|
||||||
|
rn := int32(common.RandInt(int(total)))
|
||||||
|
for _, vv := range srvdata.PBDB_ACTPushCoinMgr.Datas.GetArr() {
|
||||||
|
n += vv.GetRate()
|
||||||
|
if rn < n {
|
||||||
|
index = vv.GetId()
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if index >= 0 {
|
||||||
|
for kk, vv := range srvdata.PBDB_ACTPushCoinMgr.GetData(index).GetGain() {
|
||||||
|
draw := &activity.DrawInfo{
|
||||||
|
Id: index,
|
||||||
|
ItemId: int32(kk),
|
||||||
|
ItemNum: vv,
|
||||||
|
}
|
||||||
|
return draw
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
// 前两次必中
|
||||||
|
for _, v := range srvdata.PBDB_ACTPushCoinMgr.Datas.GetArr() {
|
||||||
|
for kk, vv := range v.GetGain() {
|
||||||
|
if kk == itemId {
|
||||||
|
draw := &activity.DrawInfo{
|
||||||
|
ItemId: int32(kk),
|
||||||
|
ItemNum: vv,
|
||||||
|
}
|
||||||
|
return draw
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetPushCoinValue 查询物品价值,没有的是后台配置的价值
|
||||||
|
func GetPushCoinValue(plt string, itemId int32) int64 {
|
||||||
|
val, ok := PushCoinItemValue[itemId]
|
||||||
|
if ok {
|
||||||
|
return val
|
||||||
|
}
|
||||||
|
cfg := WelfareMgrSington.GetConfig(plt).PushCoinConfig
|
||||||
|
if cfg != nil {
|
||||||
|
f := func(list []*webapi.PushCoinPoolElement) bool {
|
||||||
|
for _, vv := range list {
|
||||||
|
for _, vvv := range vv.GetAward() {
|
||||||
|
if vvv.GetItemId() == itemId {
|
||||||
|
val = vv.GetValue()
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
for {
|
||||||
|
if f(cfg.GetPool1().GetPool()) {
|
||||||
|
break
|
||||||
|
}
|
||||||
|
if f(cfg.GetPool2().GetPool()) {
|
||||||
|
break
|
||||||
|
}
|
||||||
|
if f(cfg.GetPool3().GetPool()) {
|
||||||
|
break
|
||||||
|
}
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return val
|
||||||
|
}
|
||||||
|
|
|
@ -0,0 +1,91 @@
|
||||||
|
package main
|
||||||
|
|
||||||
|
import (
|
||||||
|
"mongo.games.com/game/common"
|
||||||
|
"mongo.games.com/game/protocol/webapi"
|
||||||
|
"mongo.games.com/goserver/core/logger"
|
||||||
|
"time"
|
||||||
|
|
||||||
|
"mongo.games.com/goserver/core/module"
|
||||||
|
)
|
||||||
|
|
||||||
|
var (
|
||||||
|
NormaIndex = []int{0, 1, 3, 5, 7, 8} // 普通奖位置
|
||||||
|
PoolIndex = []int{2, 4, 6} // 水池位置
|
||||||
|
)
|
||||||
|
|
||||||
|
var PushCoinPoolMangerInstance = &PushCoinPoolManager{
|
||||||
|
PlatformConfig: map[string]*PushCoinPool{},
|
||||||
|
}
|
||||||
|
|
||||||
|
func init() {
|
||||||
|
module.RegisteModule(PushCoinPoolMangerInstance, time.Hour, 0)
|
||||||
|
}
|
||||||
|
|
||||||
|
type PushCoinPool struct {
|
||||||
|
Pool1 *PushCoinPoolInfo
|
||||||
|
Pool2 *PushCoinPoolInfo
|
||||||
|
Pool3 *PushCoinPoolInfo
|
||||||
|
}
|
||||||
|
|
||||||
|
type PushCoinPoolInfo struct {
|
||||||
|
CurCoin int64 // 当前金币
|
||||||
|
Remain int64 // 剩余金币
|
||||||
|
Version int64 // 版本号, 达到上限后更新
|
||||||
|
}
|
||||||
|
|
||||||
|
type PushCoinPoolManager struct {
|
||||||
|
PlatformConfig map[string]*PushCoinPool
|
||||||
|
}
|
||||||
|
|
||||||
|
func (p *PushCoinPoolManager) ModuleName() string {
|
||||||
|
return "PushCoinPoolManager"
|
||||||
|
}
|
||||||
|
|
||||||
|
func (p *PushCoinPoolManager) Init() {
|
||||||
|
// 加载水池
|
||||||
|
}
|
||||||
|
|
||||||
|
func (p *PushCoinPoolManager) Update() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
func (p *PushCoinPoolManager) Shutdown() {
|
||||||
|
// 保存水池
|
||||||
|
module.UnregisteModule(p)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (p *PushCoinPoolManager) Add(platform string, val int64) {
|
||||||
|
cfg, ok := p.PlatformConfig[platform]
|
||||||
|
if !ok {
|
||||||
|
cfg = &PushCoinPool{
|
||||||
|
Pool1: &PushCoinPoolInfo{},
|
||||||
|
Pool2: &PushCoinPoolInfo{},
|
||||||
|
Pool3: &PushCoinPoolInfo{},
|
||||||
|
}
|
||||||
|
p.PlatformConfig[platform] = cfg
|
||||||
|
}
|
||||||
|
|
||||||
|
conf := WelfareMgrSington.GetConfig(platform).PushCoinConfig
|
||||||
|
if conf.GetOn() != common.On {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
f := func(i int, poolInfo *PushCoinPoolInfo, pool *webapi.PushCoinPool, rate float64) {
|
||||||
|
if pool != nil && pool.GetOn() == common.On {
|
||||||
|
change := int64(float64(val) * rate)
|
||||||
|
poolInfo.CurCoin += change
|
||||||
|
if poolInfo.CurCoin >= pool.GetUpperLimit() {
|
||||||
|
poolInfo.Remain = pool.GetUpperLimit()
|
||||||
|
poolInfo.CurCoin -= pool.GetUpperLimit()
|
||||||
|
poolInfo.Version++
|
||||||
|
}
|
||||||
|
logger.Logger.Tracef("推币机 水池%v PoolInfo:%+v Change:%v Value:%v Rate:%v Limit:%v",
|
||||||
|
i, poolInfo, change, val, rate, pool.GetUpperLimit())
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
f(1, cfg.Pool1, conf.GetPool1(), 0.05)
|
||||||
|
f(2, cfg.Pool2, conf.GetPool2(), 0.005)
|
||||||
|
f(3, cfg.Pool3, conf.GetPool3(), 0.001)
|
||||||
|
}
|
|
@ -119,6 +119,76 @@ func init() {
|
||||||
etcd.Register(etcd.KeyActConsume, webapi.ConsumeConfig{}, platformConfigEvent)
|
etcd.Register(etcd.KeyActConsume, webapi.ConsumeConfig{}, platformConfigEvent)
|
||||||
// 推金币活动配置
|
// 推金币活动配置
|
||||||
etcd.Register(etcd.KeyActPushCoin, webapi.PushCoinConfig{}, platformConfigEvent)
|
etcd.Register(etcd.KeyActPushCoin, webapi.PushCoinConfig{}, platformConfigEvent)
|
||||||
|
|
||||||
|
//WelfareMgrSington.UpdatePushCoinConfig(&webapi.PushCoinConfig{
|
||||||
|
// Platform: "1",
|
||||||
|
// On: 1,
|
||||||
|
// StartTime: "2024-01-01 00:00:00",
|
||||||
|
// EndTime: "2026-01-01 00:00:00",
|
||||||
|
// Pool1: &webapi.PushCoinPool{
|
||||||
|
// On: 1,
|
||||||
|
// Pool: []*webapi.PushCoinPoolElement{
|
||||||
|
// {
|
||||||
|
// On: 1,
|
||||||
|
// Tp: 0,
|
||||||
|
// Award: []*webapi.ItemInfo{
|
||||||
|
// {
|
||||||
|
// ItemId: common.ItemIDCoin1,
|
||||||
|
// ItemNum: 10,
|
||||||
|
// },
|
||||||
|
// },
|
||||||
|
// Weight: 100,
|
||||||
|
// },
|
||||||
|
// },
|
||||||
|
// UpperLimit: 100000,
|
||||||
|
// },
|
||||||
|
// Pool2: &webapi.PushCoinPool{
|
||||||
|
// On: 1,
|
||||||
|
// Pool: []*webapi.PushCoinPoolElement{
|
||||||
|
// {
|
||||||
|
// On: 1,
|
||||||
|
// Tp: 0,
|
||||||
|
// Award: []*webapi.ItemInfo{
|
||||||
|
// {
|
||||||
|
// ItemId: common.ItemIDCoin2,
|
||||||
|
// ItemNum: 10,
|
||||||
|
// },
|
||||||
|
// },
|
||||||
|
// Weight: 100,
|
||||||
|
// },
|
||||||
|
// },
|
||||||
|
// UpperLimit: 100000,
|
||||||
|
// },
|
||||||
|
// Pool3: &webapi.PushCoinPool{
|
||||||
|
// On: 1,
|
||||||
|
// Pool: []*webapi.PushCoinPoolElement{
|
||||||
|
// {
|
||||||
|
// On: 1,
|
||||||
|
// Tp: 0,
|
||||||
|
// Award: []*webapi.ItemInfo{
|
||||||
|
// {
|
||||||
|
// ItemId: common.ItemIDCoin1,
|
||||||
|
// ItemNum: 10,
|
||||||
|
// },
|
||||||
|
// },
|
||||||
|
// Weight: 100,
|
||||||
|
// },
|
||||||
|
// {
|
||||||
|
// On: 1,
|
||||||
|
// Tp: 1,
|
||||||
|
// Award: []*webapi.ItemInfo{
|
||||||
|
// {
|
||||||
|
// ItemId: 30011,
|
||||||
|
// ItemNum: 1,
|
||||||
|
// },
|
||||||
|
// },
|
||||||
|
// Weight: 100,
|
||||||
|
// Value: 100000,
|
||||||
|
// },
|
||||||
|
// },
|
||||||
|
// UpperLimit: 100000,
|
||||||
|
// },
|
||||||
|
//})
|
||||||
}
|
}
|
||||||
|
|
||||||
func platformConfigEvent(ctx context.Context, completeKey string, isInit bool, event *clientv3.Event, data interface{}) {
|
func platformConfigEvent(ctx context.Context, completeKey string, isInit bool, event *clientv3.Event, data interface{}) {
|
||||||
|
|
Binary file not shown.
Loading…
Reference in New Issue