From 5368460ad3c4b60b454e640aeeb28dd71556169d Mon Sep 17 00:00:00 2001 From: sk <123456@qq.com> Date: Thu, 26 Dec 2024 10:55:18 +0800 Subject: [PATCH] =?UTF-8?q?add=20=E5=90=84=E6=B8=B8=E6=88=8F=E7=A0=B4?= =?UTF-8?q?=E4=BA=A7=E9=87=91=E9=A2=9D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- data/DB_GameBankruptcy.dat | 23 + data/DB_GameBankruptcy.json | 129 ++ data/DB_PropExchange.dat | Bin 384 -> 384 bytes data/DB_Task.dat | Bin 5519 -> 5519 bytes protocol/server/pbdata.pb.go | 3093 +++++++++++++++++---------------- protocol/server/pbdata.proto | 16 + srvdata/db_game_bankruptcy.go | 77 + srvdata/db_gamebankruptcy.go | 77 + worldsrv/action_server.go | 27 +- xlsx/DB_GameBankruptcy.xlsx | Bin 0 -> 11536 bytes 10 files changed, 1964 insertions(+), 1478 deletions(-) create mode 100644 data/DB_GameBankruptcy.dat create mode 100644 data/DB_GameBankruptcy.json create mode 100644 srvdata/db_game_bankruptcy.go create mode 100644 srvdata/db_gamebankruptcy.go create mode 100644 xlsx/DB_GameBankruptcy.xlsx diff --git a/data/DB_GameBankruptcy.dat b/data/DB_GameBankruptcy.dat new file mode 100644 index 0000000..14e0ee5 --- /dev/null +++ b/data/DB_GameBankruptcy.dat @@ -0,0 +1,23 @@ + +Tienlen207 + 欢乐捕鱼401 + 高棉象棋521 + 十三水211 +愤怒的大叔606 + 小火箭607 + 财运神301  +复仇者联盟302  +  复活节岛303  + + 冰河世纪304  +  百战成神305  +  水果拉霸306  +  多福多财307  + FortuneTiger308  + FortuneDragon309  + FortuneRabbit310  + FortuneOx311  + FortuneMouse312  + CashMania313  +GatesOfOlympus314  + 娃娃机608 \ No newline at end of file diff --git a/data/DB_GameBankruptcy.json b/data/DB_GameBankruptcy.json new file mode 100644 index 0000000..95791f9 --- /dev/null +++ b/data/DB_GameBankruptcy.json @@ -0,0 +1,129 @@ +{ + "Arr": [ + { + "Id": 1, + "GameName": "Tienlen", + "GameDif": "207", + "LimitNum": 200000 + }, + { + "Id": 2, + "GameName": "欢乐捕鱼", + "GameDif": "401", + "LimitNum": 200000 + }, + { + "Id": 3, + "GameName": "高棉象棋", + "GameDif": "521", + "LimitNum": 200000 + }, + { + "Id": 4, + "GameName": "十三水", + "GameDif": "211", + "LimitNum": 200000 + }, + { + "Id": 5, + "GameName": "愤怒的大叔", + "GameDif": "606", + "LimitNum": 200000 + }, + { + "Id": 6, + "GameName": "小火箭", + "GameDif": "607", + "LimitNum": 200000 + }, + { + "Id": 7, + "GameName": "财运神", + "GameDif": "301", + "LimitNum": 300000 + }, + { + "Id": 8, + "GameName": "复仇者联盟", + "GameDif": "302", + "LimitNum": 300000 + }, + { + "Id": 9, + "GameName": "复活节岛", + "GameDif": "303", + "LimitNum": 300000 + }, + { + "Id": 10, + "GameName": "冰河世纪", + "GameDif": "304", + "LimitNum": 300000 + }, + { + "Id": 11, + "GameName": "百战成神", + "GameDif": "305", + "LimitNum": 300000 + }, + { + "Id": 12, + "GameName": "水果拉霸", + "GameDif": "306", + "LimitNum": 300000 + }, + { + "Id": 13, + "GameName": "多福多财", + "GameDif": "307", + "LimitNum": 300000 + }, + { + "Id": 14, + "GameName": "FortuneTiger", + "GameDif": "308", + "LimitNum": 300000 + }, + { + "Id": 15, + "GameName": "FortuneDragon", + "GameDif": "309", + "LimitNum": 300000 + }, + { + "Id": 16, + "GameName": "FortuneRabbit", + "GameDif": "310", + "LimitNum": 300000 + }, + { + "Id": 17, + "GameName": "FortuneOx", + "GameDif": "311", + "LimitNum": 300000 + }, + { + "Id": 18, + "GameName": "FortuneMouse", + "GameDif": "312", + "LimitNum": 300000 + }, + { + "Id": 19, + "GameName": "CashMania", + "GameDif": "313", + "LimitNum": 300000 + }, + { + "Id": 20, + "GameName": "GatesOfOlympus", + "GameDif": "314", + "LimitNum": 300000 + }, + { + "Id": 21, + "GameName": "娃娃机", + "GameDif": "608" + } + ] +} \ No newline at end of file diff --git a/data/DB_PropExchange.dat b/data/DB_PropExchange.dat index b745f0a7cb07403c1f48ab871dcff136f59e694f..4cba38b2ee99301479f655deafb1443fb5300d51 100644 GIT binary patch literal 384 zcmd-w<6snElw#w!-o^~3FGJ}oQ2HvAz6PR|I5-yevI!h$vE|a^U;?YZ0hPZArEfv$ z+i2>;IUwf4>_JzL)jpuRVCI9(1MqhakM7Oq$h78Hkr9g5^3bOY`{9f)or Tii4EcITisu`h}T`fwm9;Why*1 literal 384 zcmd-w<6snElw#w!+{O&1uR!UmQ2H8_z7C?5I5-yevI!h$vE|a^U;?YZ1(m-IrEfs# zn`r98IUwf4%!8>z*N^TFusJ~Y!Q2CJ2PfDa4Qn52i-EQf0AwOOH2?qr diff --git a/data/DB_Task.dat b/data/DB_Task.dat index a811579c392703e9b73c8f081c1ba3db8ea162a9..1ed281a3fdd7f732002366f1766bd22f975fc9cc 100644 GIT binary patch delta 232 zcmeCz?$@4BF37>Lu$N8Xz$_jwHjX7gmdM18Q-V;Y7esPFFWcl~#s-+u7F(!Nxy@e~ zqnUt;7XkG#A}LN_F`WFBTY!;q@*v4%r;QXU`4* DT5>_? delta 217 zcmeCz?$@4BF385Qq?b)V#EXMtA&@>Wi)UiTDM1KlK`)yZRC;nUV*^yF98778?dC6x z(M*$Dctj>Av*-b(7XeLRL`Y9w#Igq{da;dJfCVbL;E>$rd{%yDsA5)x@Z^4uhRMzR zf|C_Ew?XZHuv`deKgdw#$ server.DB_ActSign @@ -12533,7 +12665,7 @@ var file_protocol_server_pbdata_proto_depIdxs = []int32{ 18, // 9: server.DB_ChessMatchRulesArray.Arr:type_name -> server.DB_ChessMatchRules 20, // 10: server.DB_ChessRankArray.Arr:type_name -> server.DB_ChessRank 22, // 11: server.DB_ClientVerArray.Arr:type_name -> server.DB_ClientVer - 140, // 12: server.DB_CollectBox.ItemID:type_name -> server.DB_CollectBox.ItemIDEntry + 142, // 12: server.DB_CollectBox.ItemID:type_name -> server.DB_CollectBox.ItemIDEntry 24, // 13: server.DB_CollectBoxArray.Arr:type_name -> server.DB_CollectBox 26, // 14: server.DB_CollectBoxGainArray.Arr:type_name -> server.DB_CollectBoxGain 28, // 15: server.DB_CrashSearchArray.Arr:type_name -> server.DB_CrashSearch @@ -12548,68 +12680,69 @@ var file_protocol_server_pbdata_proto_depIdxs = []int32{ 46, // 24: server.DB_FortuneGod_WeightArray.Arr:type_name -> server.DB_FortuneGod_Weight 48, // 25: server.DB_FortuneGod_WeightConditionArray.Arr:type_name -> server.DB_FortuneGod_WeightCondition 50, // 26: server.DB_GamMatchLVArray.Arr:type_name -> server.DB_GamMatchLV - 52, // 27: server.DB_GameCoinPoolArray.Arr:type_name -> server.DB_GameCoinPool - 54, // 28: server.DB_GameFreeArray.Arr:type_name -> server.DB_GameFree - 141, // 29: server.DB_GameItem.Gain:type_name -> server.DB_GameItem.GainEntry - 142, // 30: server.DB_GameItem.Compound:type_name -> server.DB_GameItem.CompoundEntry - 56, // 31: server.DB_GameItemArray.Arr:type_name -> server.DB_GameItem - 58, // 32: server.DB_GameMatchLevelArray.Arr:type_name -> server.DB_GameMatchLevel - 60, // 33: server.DB_GameRuleArray.Arr:type_name -> server.DB_GameRule - 62, // 34: server.DB_GameSubsidyArray.Arr:type_name -> server.DB_GameSubsidy - 64, // 35: server.DB_Game_DropArray.Arr:type_name -> server.DB_Game_Drop - 66, // 36: server.DB_Game_IntroductionArray.Arr:type_name -> server.DB_Game_Introduction - 68, // 37: server.DB_Game_PetArray.Arr:type_name -> server.DB_Game_Pet - 70, // 38: server.DB_Game_RoleArray.Arr:type_name -> server.DB_Game_Role - 143, // 39: server.DB_GiftBox.ItemID:type_name -> server.DB_GiftBox.ItemIDEntry - 72, // 40: server.DB_GiftBoxArray.Arr:type_name -> server.DB_GiftBox - 144, // 41: server.DB_GiftCard.Rewards:type_name -> server.DB_GiftCard.RewardsEntry - 145, // 42: server.DB_GiftCard.DayRewards:type_name -> server.DB_GiftCard.DayRewardsEntry - 74, // 43: server.DB_GiftCardArray.Arr:type_name -> server.DB_GiftCard - 76, // 44: server.DB_IceAgeElementRateArray.Arr:type_name -> server.DB_IceAgeElementRate - 78, // 45: server.DB_Legend_OddsArray.Arr:type_name -> server.DB_Legend_Odds - 80, // 46: server.DB_Legend_TurnRateArray.Arr:type_name -> server.DB_Legend_TurnRate - 82, // 47: server.DB_Legend_WeightArray.Arr:type_name -> server.DB_Legend_Weight - 84, // 48: server.DB_Legend_WeightConditionArray.Arr:type_name -> server.DB_Legend_WeightCondition - 86, // 49: server.DB_MatchRankArray.Arr:type_name -> server.DB_MatchRank - 88, // 50: server.DB_NameArray.Arr:type_name -> server.DB_Name - 90, // 51: server.DB_NameBoyArray.Arr:type_name -> server.DB_NameBoy - 92, // 52: server.DB_NameGirlArray.Arr:type_name -> server.DB_NameGirl - 94, // 53: server.DB_NewPlayerArray.Arr:type_name -> server.DB_NewPlayer - 96, // 54: server.DB_PassShowArray.Arr:type_name -> server.DB_PassShow - 146, // 55: server.DB_PetSkill.ItemConsum:type_name -> server.DB_PetSkill.ItemConsumEntry - 98, // 56: server.DB_PetSkillArray.Arr:type_name -> server.DB_PetSkill - 100, // 57: server.DB_PhoneLotteryArray.Arr:type_name -> server.DB_PhoneLottery - 102, // 58: server.DB_PigBank_DiamondArray.Arr:type_name -> server.DB_PigBank_Diamond - 104, // 59: server.DB_Pigbank_PropArray.Arr:type_name -> server.DB_Pigbank_Prop - 106, // 60: server.DB_PlayerExpArray.Arr:type_name -> server.DB_PlayerExp - 108, // 61: server.DB_PlayerTypeArray.Arr:type_name -> server.DB_PlayerType - 110, // 62: server.DB_PotOddArray.Arr:type_name -> server.DB_PotOdd - 147, // 63: server.DB_PropExchange.Cost:type_name -> server.DB_PropExchange.CostEntry - 148, // 64: server.DB_PropExchange.Gain:type_name -> server.DB_PropExchange.GainEntry - 112, // 65: server.DB_PropExchangeArray.Arr:type_name -> server.DB_PropExchange - 114, // 66: server.DB_RankCycleArray.Arr:type_name -> server.DB_RankCycle - 116, // 67: server.DB_RankLevelArray.Arr:type_name -> server.DB_RankLevel - 118, // 68: server.DB_RankRewardArray.Arr:type_name -> server.DB_RankReward - 120, // 69: server.DB_Sensitive_WordsArray.Arr:type_name -> server.DB_Sensitive_Words - 149, // 70: server.DB_Skin.UnlockItem:type_name -> server.DB_Skin.UnlockItemEntry - 122, // 71: server.DB_SkinArray.Arr:type_name -> server.DB_Skin - 150, // 72: server.DB_SkinLevel.UpItem:type_name -> server.DB_SkinLevel.UpItemEntry - 124, // 73: server.DB_SkinLevelArray.Arr:type_name -> server.DB_SkinLevel - 126, // 74: server.DB_SlotRateWeightArray.Arr:type_name -> server.DB_SlotRateWeight - 128, // 75: server.DB_SystemChanceArray.Arr:type_name -> server.DB_SystemChance - 151, // 76: server.DB_Task.Award:type_name -> server.DB_Task.AwardEntry - 130, // 77: server.DB_TaskArray.Arr:type_name -> server.DB_Task - 132, // 78: server.DB_ThirdPlatformGameMappingArray.Arr:type_name -> server.DB_ThirdPlatformGameMapping - 134, // 79: server.DB_TipsArray.Arr:type_name -> server.DB_Tips - 152, // 80: server.DB_VIP.Privilege7:type_name -> server.DB_VIP.Privilege7Entry - 153, // 81: server.DB_VIP.Award:type_name -> server.DB_VIP.AwardEntry - 136, // 82: server.DB_VIPArray.Arr:type_name -> server.DB_VIP - 138, // 83: server.DB_VIPShowArray.Arr:type_name -> server.DB_VIPShow - 84, // [84:84] is the sub-list for method output_type - 84, // [84:84] is the sub-list for method input_type - 84, // [84:84] is the sub-list for extension type_name - 84, // [84:84] is the sub-list for extension extendee - 0, // [0:84] is the sub-list for field type_name + 52, // 27: server.DB_GameBankruptcyArray.Arr:type_name -> server.DB_GameBankruptcy + 54, // 28: server.DB_GameCoinPoolArray.Arr:type_name -> server.DB_GameCoinPool + 56, // 29: server.DB_GameFreeArray.Arr:type_name -> server.DB_GameFree + 143, // 30: server.DB_GameItem.Gain:type_name -> server.DB_GameItem.GainEntry + 144, // 31: server.DB_GameItem.Compound:type_name -> server.DB_GameItem.CompoundEntry + 58, // 32: server.DB_GameItemArray.Arr:type_name -> server.DB_GameItem + 60, // 33: server.DB_GameMatchLevelArray.Arr:type_name -> server.DB_GameMatchLevel + 62, // 34: server.DB_GameRuleArray.Arr:type_name -> server.DB_GameRule + 64, // 35: server.DB_GameSubsidyArray.Arr:type_name -> server.DB_GameSubsidy + 66, // 36: server.DB_Game_DropArray.Arr:type_name -> server.DB_Game_Drop + 68, // 37: server.DB_Game_IntroductionArray.Arr:type_name -> server.DB_Game_Introduction + 70, // 38: server.DB_Game_PetArray.Arr:type_name -> server.DB_Game_Pet + 72, // 39: server.DB_Game_RoleArray.Arr:type_name -> server.DB_Game_Role + 145, // 40: server.DB_GiftBox.ItemID:type_name -> server.DB_GiftBox.ItemIDEntry + 74, // 41: server.DB_GiftBoxArray.Arr:type_name -> server.DB_GiftBox + 146, // 42: server.DB_GiftCard.Rewards:type_name -> server.DB_GiftCard.RewardsEntry + 147, // 43: server.DB_GiftCard.DayRewards:type_name -> server.DB_GiftCard.DayRewardsEntry + 76, // 44: server.DB_GiftCardArray.Arr:type_name -> server.DB_GiftCard + 78, // 45: server.DB_IceAgeElementRateArray.Arr:type_name -> server.DB_IceAgeElementRate + 80, // 46: server.DB_Legend_OddsArray.Arr:type_name -> server.DB_Legend_Odds + 82, // 47: server.DB_Legend_TurnRateArray.Arr:type_name -> server.DB_Legend_TurnRate + 84, // 48: server.DB_Legend_WeightArray.Arr:type_name -> server.DB_Legend_Weight + 86, // 49: server.DB_Legend_WeightConditionArray.Arr:type_name -> server.DB_Legend_WeightCondition + 88, // 50: server.DB_MatchRankArray.Arr:type_name -> server.DB_MatchRank + 90, // 51: server.DB_NameArray.Arr:type_name -> server.DB_Name + 92, // 52: server.DB_NameBoyArray.Arr:type_name -> server.DB_NameBoy + 94, // 53: server.DB_NameGirlArray.Arr:type_name -> server.DB_NameGirl + 96, // 54: server.DB_NewPlayerArray.Arr:type_name -> server.DB_NewPlayer + 98, // 55: server.DB_PassShowArray.Arr:type_name -> server.DB_PassShow + 148, // 56: server.DB_PetSkill.ItemConsum:type_name -> server.DB_PetSkill.ItemConsumEntry + 100, // 57: server.DB_PetSkillArray.Arr:type_name -> server.DB_PetSkill + 102, // 58: server.DB_PhoneLotteryArray.Arr:type_name -> server.DB_PhoneLottery + 104, // 59: server.DB_PigBank_DiamondArray.Arr:type_name -> server.DB_PigBank_Diamond + 106, // 60: server.DB_Pigbank_PropArray.Arr:type_name -> server.DB_Pigbank_Prop + 108, // 61: server.DB_PlayerExpArray.Arr:type_name -> server.DB_PlayerExp + 110, // 62: server.DB_PlayerTypeArray.Arr:type_name -> server.DB_PlayerType + 112, // 63: server.DB_PotOddArray.Arr:type_name -> server.DB_PotOdd + 149, // 64: server.DB_PropExchange.Cost:type_name -> server.DB_PropExchange.CostEntry + 150, // 65: server.DB_PropExchange.Gain:type_name -> server.DB_PropExchange.GainEntry + 114, // 66: server.DB_PropExchangeArray.Arr:type_name -> server.DB_PropExchange + 116, // 67: server.DB_RankCycleArray.Arr:type_name -> server.DB_RankCycle + 118, // 68: server.DB_RankLevelArray.Arr:type_name -> server.DB_RankLevel + 120, // 69: server.DB_RankRewardArray.Arr:type_name -> server.DB_RankReward + 122, // 70: server.DB_Sensitive_WordsArray.Arr:type_name -> server.DB_Sensitive_Words + 151, // 71: server.DB_Skin.UnlockItem:type_name -> server.DB_Skin.UnlockItemEntry + 124, // 72: server.DB_SkinArray.Arr:type_name -> server.DB_Skin + 152, // 73: server.DB_SkinLevel.UpItem:type_name -> server.DB_SkinLevel.UpItemEntry + 126, // 74: server.DB_SkinLevelArray.Arr:type_name -> server.DB_SkinLevel + 128, // 75: server.DB_SlotRateWeightArray.Arr:type_name -> server.DB_SlotRateWeight + 130, // 76: server.DB_SystemChanceArray.Arr:type_name -> server.DB_SystemChance + 153, // 77: server.DB_Task.Award:type_name -> server.DB_Task.AwardEntry + 132, // 78: server.DB_TaskArray.Arr:type_name -> server.DB_Task + 134, // 79: server.DB_ThirdPlatformGameMappingArray.Arr:type_name -> server.DB_ThirdPlatformGameMapping + 136, // 80: server.DB_TipsArray.Arr:type_name -> server.DB_Tips + 154, // 81: server.DB_VIP.Privilege7:type_name -> server.DB_VIP.Privilege7Entry + 155, // 82: server.DB_VIP.Award:type_name -> server.DB_VIP.AwardEntry + 138, // 83: server.DB_VIPArray.Arr:type_name -> server.DB_VIP + 140, // 84: server.DB_VIPShowArray.Arr:type_name -> server.DB_VIPShow + 85, // [85:85] is the sub-list for method output_type + 85, // [85:85] is the sub-list for method input_type + 85, // [85:85] is the sub-list for extension type_name + 85, // [85:85] is the sub-list for extension extendee + 0, // [0:85] is the sub-list for field type_name } func init() { file_protocol_server_pbdata_proto_init() } @@ -13243,7 +13376,7 @@ func file_protocol_server_pbdata_proto_init() { } } file_protocol_server_pbdata_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DB_GameCoinPool); i { + switch v := v.(*DB_GameBankruptcy); i { case 0: return &v.state case 1: @@ -13255,7 +13388,7 @@ func file_protocol_server_pbdata_proto_init() { } } file_protocol_server_pbdata_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DB_GameCoinPoolArray); i { + switch v := v.(*DB_GameBankruptcyArray); i { case 0: return &v.state case 1: @@ -13267,7 +13400,7 @@ func file_protocol_server_pbdata_proto_init() { } } file_protocol_server_pbdata_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DB_GameFree); i { + switch v := v.(*DB_GameCoinPool); i { case 0: return &v.state case 1: @@ -13279,7 +13412,7 @@ func file_protocol_server_pbdata_proto_init() { } } file_protocol_server_pbdata_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DB_GameFreeArray); i { + switch v := v.(*DB_GameCoinPoolArray); i { case 0: return &v.state case 1: @@ -13291,7 +13424,7 @@ func file_protocol_server_pbdata_proto_init() { } } file_protocol_server_pbdata_proto_msgTypes[56].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DB_GameItem); i { + switch v := v.(*DB_GameFree); i { case 0: return &v.state case 1: @@ -13303,7 +13436,7 @@ func file_protocol_server_pbdata_proto_init() { } } file_protocol_server_pbdata_proto_msgTypes[57].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DB_GameItemArray); i { + switch v := v.(*DB_GameFreeArray); i { case 0: return &v.state case 1: @@ -13315,7 +13448,7 @@ func file_protocol_server_pbdata_proto_init() { } } file_protocol_server_pbdata_proto_msgTypes[58].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DB_GameMatchLevel); i { + switch v := v.(*DB_GameItem); i { case 0: return &v.state case 1: @@ -13327,7 +13460,7 @@ func file_protocol_server_pbdata_proto_init() { } } file_protocol_server_pbdata_proto_msgTypes[59].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DB_GameMatchLevelArray); i { + switch v := v.(*DB_GameItemArray); i { case 0: return &v.state case 1: @@ -13339,7 +13472,7 @@ func file_protocol_server_pbdata_proto_init() { } } file_protocol_server_pbdata_proto_msgTypes[60].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DB_GameRule); i { + switch v := v.(*DB_GameMatchLevel); i { case 0: return &v.state case 1: @@ -13351,7 +13484,7 @@ func file_protocol_server_pbdata_proto_init() { } } file_protocol_server_pbdata_proto_msgTypes[61].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DB_GameRuleArray); i { + switch v := v.(*DB_GameMatchLevelArray); i { case 0: return &v.state case 1: @@ -13363,7 +13496,7 @@ func file_protocol_server_pbdata_proto_init() { } } file_protocol_server_pbdata_proto_msgTypes[62].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DB_GameSubsidy); i { + switch v := v.(*DB_GameRule); i { case 0: return &v.state case 1: @@ -13375,7 +13508,7 @@ func file_protocol_server_pbdata_proto_init() { } } file_protocol_server_pbdata_proto_msgTypes[63].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DB_GameSubsidyArray); i { + switch v := v.(*DB_GameRuleArray); i { case 0: return &v.state case 1: @@ -13387,7 +13520,7 @@ func file_protocol_server_pbdata_proto_init() { } } file_protocol_server_pbdata_proto_msgTypes[64].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DB_Game_Drop); i { + switch v := v.(*DB_GameSubsidy); i { case 0: return &v.state case 1: @@ -13399,7 +13532,7 @@ func file_protocol_server_pbdata_proto_init() { } } file_protocol_server_pbdata_proto_msgTypes[65].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DB_Game_DropArray); i { + switch v := v.(*DB_GameSubsidyArray); i { case 0: return &v.state case 1: @@ -13411,7 +13544,7 @@ func file_protocol_server_pbdata_proto_init() { } } file_protocol_server_pbdata_proto_msgTypes[66].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DB_Game_Introduction); i { + switch v := v.(*DB_Game_Drop); i { case 0: return &v.state case 1: @@ -13423,7 +13556,7 @@ func file_protocol_server_pbdata_proto_init() { } } file_protocol_server_pbdata_proto_msgTypes[67].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DB_Game_IntroductionArray); i { + switch v := v.(*DB_Game_DropArray); i { case 0: return &v.state case 1: @@ -13435,7 +13568,7 @@ func file_protocol_server_pbdata_proto_init() { } } file_protocol_server_pbdata_proto_msgTypes[68].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DB_Game_Pet); i { + switch v := v.(*DB_Game_Introduction); i { case 0: return &v.state case 1: @@ -13447,7 +13580,7 @@ func file_protocol_server_pbdata_proto_init() { } } file_protocol_server_pbdata_proto_msgTypes[69].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DB_Game_PetArray); i { + switch v := v.(*DB_Game_IntroductionArray); i { case 0: return &v.state case 1: @@ -13459,7 +13592,7 @@ func file_protocol_server_pbdata_proto_init() { } } file_protocol_server_pbdata_proto_msgTypes[70].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DB_Game_Role); i { + switch v := v.(*DB_Game_Pet); i { case 0: return &v.state case 1: @@ -13471,7 +13604,7 @@ func file_protocol_server_pbdata_proto_init() { } } file_protocol_server_pbdata_proto_msgTypes[71].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DB_Game_RoleArray); i { + switch v := v.(*DB_Game_PetArray); i { case 0: return &v.state case 1: @@ -13483,7 +13616,7 @@ func file_protocol_server_pbdata_proto_init() { } } file_protocol_server_pbdata_proto_msgTypes[72].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DB_GiftBox); i { + switch v := v.(*DB_Game_Role); i { case 0: return &v.state case 1: @@ -13495,7 +13628,7 @@ func file_protocol_server_pbdata_proto_init() { } } file_protocol_server_pbdata_proto_msgTypes[73].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DB_GiftBoxArray); i { + switch v := v.(*DB_Game_RoleArray); i { case 0: return &v.state case 1: @@ -13507,7 +13640,7 @@ func file_protocol_server_pbdata_proto_init() { } } file_protocol_server_pbdata_proto_msgTypes[74].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DB_GiftCard); i { + switch v := v.(*DB_GiftBox); i { case 0: return &v.state case 1: @@ -13519,7 +13652,7 @@ func file_protocol_server_pbdata_proto_init() { } } file_protocol_server_pbdata_proto_msgTypes[75].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DB_GiftCardArray); i { + switch v := v.(*DB_GiftBoxArray); i { case 0: return &v.state case 1: @@ -13531,7 +13664,7 @@ func file_protocol_server_pbdata_proto_init() { } } file_protocol_server_pbdata_proto_msgTypes[76].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DB_IceAgeElementRate); i { + switch v := v.(*DB_GiftCard); i { case 0: return &v.state case 1: @@ -13543,7 +13676,7 @@ func file_protocol_server_pbdata_proto_init() { } } file_protocol_server_pbdata_proto_msgTypes[77].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DB_IceAgeElementRateArray); i { + switch v := v.(*DB_GiftCardArray); i { case 0: return &v.state case 1: @@ -13555,7 +13688,7 @@ func file_protocol_server_pbdata_proto_init() { } } file_protocol_server_pbdata_proto_msgTypes[78].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DB_Legend_Odds); i { + switch v := v.(*DB_IceAgeElementRate); i { case 0: return &v.state case 1: @@ -13567,7 +13700,7 @@ func file_protocol_server_pbdata_proto_init() { } } file_protocol_server_pbdata_proto_msgTypes[79].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DB_Legend_OddsArray); i { + switch v := v.(*DB_IceAgeElementRateArray); i { case 0: return &v.state case 1: @@ -13579,7 +13712,7 @@ func file_protocol_server_pbdata_proto_init() { } } file_protocol_server_pbdata_proto_msgTypes[80].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DB_Legend_TurnRate); i { + switch v := v.(*DB_Legend_Odds); i { case 0: return &v.state case 1: @@ -13591,7 +13724,7 @@ func file_protocol_server_pbdata_proto_init() { } } file_protocol_server_pbdata_proto_msgTypes[81].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DB_Legend_TurnRateArray); i { + switch v := v.(*DB_Legend_OddsArray); i { case 0: return &v.state case 1: @@ -13603,7 +13736,7 @@ func file_protocol_server_pbdata_proto_init() { } } file_protocol_server_pbdata_proto_msgTypes[82].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DB_Legend_Weight); i { + switch v := v.(*DB_Legend_TurnRate); i { case 0: return &v.state case 1: @@ -13615,7 +13748,7 @@ func file_protocol_server_pbdata_proto_init() { } } file_protocol_server_pbdata_proto_msgTypes[83].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DB_Legend_WeightArray); i { + switch v := v.(*DB_Legend_TurnRateArray); i { case 0: return &v.state case 1: @@ -13627,7 +13760,7 @@ func file_protocol_server_pbdata_proto_init() { } } file_protocol_server_pbdata_proto_msgTypes[84].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DB_Legend_WeightCondition); i { + switch v := v.(*DB_Legend_Weight); i { case 0: return &v.state case 1: @@ -13639,7 +13772,7 @@ func file_protocol_server_pbdata_proto_init() { } } file_protocol_server_pbdata_proto_msgTypes[85].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DB_Legend_WeightConditionArray); i { + switch v := v.(*DB_Legend_WeightArray); i { case 0: return &v.state case 1: @@ -13651,7 +13784,7 @@ func file_protocol_server_pbdata_proto_init() { } } file_protocol_server_pbdata_proto_msgTypes[86].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DB_MatchRank); i { + switch v := v.(*DB_Legend_WeightCondition); i { case 0: return &v.state case 1: @@ -13663,7 +13796,7 @@ func file_protocol_server_pbdata_proto_init() { } } file_protocol_server_pbdata_proto_msgTypes[87].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DB_MatchRankArray); i { + switch v := v.(*DB_Legend_WeightConditionArray); i { case 0: return &v.state case 1: @@ -13675,7 +13808,7 @@ func file_protocol_server_pbdata_proto_init() { } } file_protocol_server_pbdata_proto_msgTypes[88].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DB_Name); i { + switch v := v.(*DB_MatchRank); i { case 0: return &v.state case 1: @@ -13687,7 +13820,7 @@ func file_protocol_server_pbdata_proto_init() { } } file_protocol_server_pbdata_proto_msgTypes[89].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DB_NameArray); i { + switch v := v.(*DB_MatchRankArray); i { case 0: return &v.state case 1: @@ -13699,7 +13832,7 @@ func file_protocol_server_pbdata_proto_init() { } } file_protocol_server_pbdata_proto_msgTypes[90].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DB_NameBoy); i { + switch v := v.(*DB_Name); i { case 0: return &v.state case 1: @@ -13711,7 +13844,7 @@ func file_protocol_server_pbdata_proto_init() { } } file_protocol_server_pbdata_proto_msgTypes[91].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DB_NameBoyArray); i { + switch v := v.(*DB_NameArray); i { case 0: return &v.state case 1: @@ -13723,7 +13856,7 @@ func file_protocol_server_pbdata_proto_init() { } } file_protocol_server_pbdata_proto_msgTypes[92].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DB_NameGirl); i { + switch v := v.(*DB_NameBoy); i { case 0: return &v.state case 1: @@ -13735,7 +13868,7 @@ func file_protocol_server_pbdata_proto_init() { } } file_protocol_server_pbdata_proto_msgTypes[93].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DB_NameGirlArray); i { + switch v := v.(*DB_NameBoyArray); i { case 0: return &v.state case 1: @@ -13747,7 +13880,7 @@ func file_protocol_server_pbdata_proto_init() { } } file_protocol_server_pbdata_proto_msgTypes[94].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DB_NewPlayer); i { + switch v := v.(*DB_NameGirl); i { case 0: return &v.state case 1: @@ -13759,7 +13892,7 @@ func file_protocol_server_pbdata_proto_init() { } } file_protocol_server_pbdata_proto_msgTypes[95].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DB_NewPlayerArray); i { + switch v := v.(*DB_NameGirlArray); i { case 0: return &v.state case 1: @@ -13771,7 +13904,7 @@ func file_protocol_server_pbdata_proto_init() { } } file_protocol_server_pbdata_proto_msgTypes[96].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DB_PassShow); i { + switch v := v.(*DB_NewPlayer); i { case 0: return &v.state case 1: @@ -13783,7 +13916,7 @@ func file_protocol_server_pbdata_proto_init() { } } file_protocol_server_pbdata_proto_msgTypes[97].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DB_PassShowArray); i { + switch v := v.(*DB_NewPlayerArray); i { case 0: return &v.state case 1: @@ -13795,7 +13928,7 @@ func file_protocol_server_pbdata_proto_init() { } } file_protocol_server_pbdata_proto_msgTypes[98].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DB_PetSkill); i { + switch v := v.(*DB_PassShow); i { case 0: return &v.state case 1: @@ -13807,7 +13940,7 @@ func file_protocol_server_pbdata_proto_init() { } } file_protocol_server_pbdata_proto_msgTypes[99].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DB_PetSkillArray); i { + switch v := v.(*DB_PassShowArray); i { case 0: return &v.state case 1: @@ -13819,7 +13952,7 @@ func file_protocol_server_pbdata_proto_init() { } } file_protocol_server_pbdata_proto_msgTypes[100].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DB_PhoneLottery); i { + switch v := v.(*DB_PetSkill); i { case 0: return &v.state case 1: @@ -13831,7 +13964,7 @@ func file_protocol_server_pbdata_proto_init() { } } file_protocol_server_pbdata_proto_msgTypes[101].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DB_PhoneLotteryArray); i { + switch v := v.(*DB_PetSkillArray); i { case 0: return &v.state case 1: @@ -13843,7 +13976,7 @@ func file_protocol_server_pbdata_proto_init() { } } file_protocol_server_pbdata_proto_msgTypes[102].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DB_PigBank_Diamond); i { + switch v := v.(*DB_PhoneLottery); i { case 0: return &v.state case 1: @@ -13855,7 +13988,7 @@ func file_protocol_server_pbdata_proto_init() { } } file_protocol_server_pbdata_proto_msgTypes[103].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DB_PigBank_DiamondArray); i { + switch v := v.(*DB_PhoneLotteryArray); i { case 0: return &v.state case 1: @@ -13867,7 +14000,7 @@ func file_protocol_server_pbdata_proto_init() { } } file_protocol_server_pbdata_proto_msgTypes[104].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DB_Pigbank_Prop); i { + switch v := v.(*DB_PigBank_Diamond); i { case 0: return &v.state case 1: @@ -13879,7 +14012,7 @@ func file_protocol_server_pbdata_proto_init() { } } file_protocol_server_pbdata_proto_msgTypes[105].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DB_Pigbank_PropArray); i { + switch v := v.(*DB_PigBank_DiamondArray); i { case 0: return &v.state case 1: @@ -13891,7 +14024,7 @@ func file_protocol_server_pbdata_proto_init() { } } file_protocol_server_pbdata_proto_msgTypes[106].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DB_PlayerExp); i { + switch v := v.(*DB_Pigbank_Prop); i { case 0: return &v.state case 1: @@ -13903,7 +14036,7 @@ func file_protocol_server_pbdata_proto_init() { } } file_protocol_server_pbdata_proto_msgTypes[107].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DB_PlayerExpArray); i { + switch v := v.(*DB_Pigbank_PropArray); i { case 0: return &v.state case 1: @@ -13915,7 +14048,7 @@ func file_protocol_server_pbdata_proto_init() { } } file_protocol_server_pbdata_proto_msgTypes[108].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DB_PlayerType); i { + switch v := v.(*DB_PlayerExp); i { case 0: return &v.state case 1: @@ -13927,7 +14060,7 @@ func file_protocol_server_pbdata_proto_init() { } } file_protocol_server_pbdata_proto_msgTypes[109].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DB_PlayerTypeArray); i { + switch v := v.(*DB_PlayerExpArray); i { case 0: return &v.state case 1: @@ -13939,7 +14072,7 @@ func file_protocol_server_pbdata_proto_init() { } } file_protocol_server_pbdata_proto_msgTypes[110].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DB_PotOdd); i { + switch v := v.(*DB_PlayerType); i { case 0: return &v.state case 1: @@ -13951,7 +14084,7 @@ func file_protocol_server_pbdata_proto_init() { } } file_protocol_server_pbdata_proto_msgTypes[111].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DB_PotOddArray); i { + switch v := v.(*DB_PlayerTypeArray); i { case 0: return &v.state case 1: @@ -13963,7 +14096,7 @@ func file_protocol_server_pbdata_proto_init() { } } file_protocol_server_pbdata_proto_msgTypes[112].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DB_PropExchange); i { + switch v := v.(*DB_PotOdd); i { case 0: return &v.state case 1: @@ -13975,7 +14108,7 @@ func file_protocol_server_pbdata_proto_init() { } } file_protocol_server_pbdata_proto_msgTypes[113].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DB_PropExchangeArray); i { + switch v := v.(*DB_PotOddArray); i { case 0: return &v.state case 1: @@ -13987,7 +14120,7 @@ func file_protocol_server_pbdata_proto_init() { } } file_protocol_server_pbdata_proto_msgTypes[114].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DB_RankCycle); i { + switch v := v.(*DB_PropExchange); i { case 0: return &v.state case 1: @@ -13999,7 +14132,7 @@ func file_protocol_server_pbdata_proto_init() { } } file_protocol_server_pbdata_proto_msgTypes[115].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DB_RankCycleArray); i { + switch v := v.(*DB_PropExchangeArray); i { case 0: return &v.state case 1: @@ -14011,7 +14144,7 @@ func file_protocol_server_pbdata_proto_init() { } } file_protocol_server_pbdata_proto_msgTypes[116].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DB_RankLevel); i { + switch v := v.(*DB_RankCycle); i { case 0: return &v.state case 1: @@ -14023,7 +14156,7 @@ func file_protocol_server_pbdata_proto_init() { } } file_protocol_server_pbdata_proto_msgTypes[117].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DB_RankLevelArray); i { + switch v := v.(*DB_RankCycleArray); i { case 0: return &v.state case 1: @@ -14035,7 +14168,7 @@ func file_protocol_server_pbdata_proto_init() { } } file_protocol_server_pbdata_proto_msgTypes[118].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DB_RankReward); i { + switch v := v.(*DB_RankLevel); i { case 0: return &v.state case 1: @@ -14047,7 +14180,7 @@ func file_protocol_server_pbdata_proto_init() { } } file_protocol_server_pbdata_proto_msgTypes[119].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DB_RankRewardArray); i { + switch v := v.(*DB_RankLevelArray); i { case 0: return &v.state case 1: @@ -14059,7 +14192,7 @@ func file_protocol_server_pbdata_proto_init() { } } file_protocol_server_pbdata_proto_msgTypes[120].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DB_Sensitive_Words); i { + switch v := v.(*DB_RankReward); i { case 0: return &v.state case 1: @@ -14071,7 +14204,7 @@ func file_protocol_server_pbdata_proto_init() { } } file_protocol_server_pbdata_proto_msgTypes[121].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DB_Sensitive_WordsArray); i { + switch v := v.(*DB_RankRewardArray); i { case 0: return &v.state case 1: @@ -14083,7 +14216,7 @@ func file_protocol_server_pbdata_proto_init() { } } file_protocol_server_pbdata_proto_msgTypes[122].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DB_Skin); i { + switch v := v.(*DB_Sensitive_Words); i { case 0: return &v.state case 1: @@ -14095,7 +14228,7 @@ func file_protocol_server_pbdata_proto_init() { } } file_protocol_server_pbdata_proto_msgTypes[123].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DB_SkinArray); i { + switch v := v.(*DB_Sensitive_WordsArray); i { case 0: return &v.state case 1: @@ -14107,7 +14240,7 @@ func file_protocol_server_pbdata_proto_init() { } } file_protocol_server_pbdata_proto_msgTypes[124].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DB_SkinLevel); i { + switch v := v.(*DB_Skin); i { case 0: return &v.state case 1: @@ -14119,7 +14252,7 @@ func file_protocol_server_pbdata_proto_init() { } } file_protocol_server_pbdata_proto_msgTypes[125].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DB_SkinLevelArray); i { + switch v := v.(*DB_SkinArray); i { case 0: return &v.state case 1: @@ -14131,7 +14264,7 @@ func file_protocol_server_pbdata_proto_init() { } } file_protocol_server_pbdata_proto_msgTypes[126].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DB_SlotRateWeight); i { + switch v := v.(*DB_SkinLevel); i { case 0: return &v.state case 1: @@ -14143,7 +14276,7 @@ func file_protocol_server_pbdata_proto_init() { } } file_protocol_server_pbdata_proto_msgTypes[127].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DB_SlotRateWeightArray); i { + switch v := v.(*DB_SkinLevelArray); i { case 0: return &v.state case 1: @@ -14155,7 +14288,7 @@ func file_protocol_server_pbdata_proto_init() { } } file_protocol_server_pbdata_proto_msgTypes[128].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DB_SystemChance); i { + switch v := v.(*DB_SlotRateWeight); i { case 0: return &v.state case 1: @@ -14167,7 +14300,7 @@ func file_protocol_server_pbdata_proto_init() { } } file_protocol_server_pbdata_proto_msgTypes[129].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DB_SystemChanceArray); i { + switch v := v.(*DB_SlotRateWeightArray); i { case 0: return &v.state case 1: @@ -14179,7 +14312,7 @@ func file_protocol_server_pbdata_proto_init() { } } file_protocol_server_pbdata_proto_msgTypes[130].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DB_Task); i { + switch v := v.(*DB_SystemChance); i { case 0: return &v.state case 1: @@ -14191,7 +14324,7 @@ func file_protocol_server_pbdata_proto_init() { } } file_protocol_server_pbdata_proto_msgTypes[131].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DB_TaskArray); i { + switch v := v.(*DB_SystemChanceArray); i { case 0: return &v.state case 1: @@ -14203,7 +14336,7 @@ func file_protocol_server_pbdata_proto_init() { } } file_protocol_server_pbdata_proto_msgTypes[132].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DB_ThirdPlatformGameMapping); i { + switch v := v.(*DB_Task); i { case 0: return &v.state case 1: @@ -14215,7 +14348,7 @@ func file_protocol_server_pbdata_proto_init() { } } file_protocol_server_pbdata_proto_msgTypes[133].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DB_ThirdPlatformGameMappingArray); i { + switch v := v.(*DB_TaskArray); i { case 0: return &v.state case 1: @@ -14227,7 +14360,7 @@ func file_protocol_server_pbdata_proto_init() { } } file_protocol_server_pbdata_proto_msgTypes[134].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DB_Tips); i { + switch v := v.(*DB_ThirdPlatformGameMapping); i { case 0: return &v.state case 1: @@ -14239,7 +14372,7 @@ func file_protocol_server_pbdata_proto_init() { } } file_protocol_server_pbdata_proto_msgTypes[135].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DB_TipsArray); i { + switch v := v.(*DB_ThirdPlatformGameMappingArray); i { case 0: return &v.state case 1: @@ -14251,7 +14384,7 @@ func file_protocol_server_pbdata_proto_init() { } } file_protocol_server_pbdata_proto_msgTypes[136].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DB_VIP); i { + switch v := v.(*DB_Tips); i { case 0: return &v.state case 1: @@ -14263,7 +14396,7 @@ func file_protocol_server_pbdata_proto_init() { } } file_protocol_server_pbdata_proto_msgTypes[137].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DB_VIPArray); i { + switch v := v.(*DB_TipsArray); i { case 0: return &v.state case 1: @@ -14275,7 +14408,7 @@ func file_protocol_server_pbdata_proto_init() { } } file_protocol_server_pbdata_proto_msgTypes[138].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DB_VIPShow); i { + switch v := v.(*DB_VIP); i { case 0: return &v.state case 1: @@ -14287,6 +14420,30 @@ func file_protocol_server_pbdata_proto_init() { } } file_protocol_server_pbdata_proto_msgTypes[139].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DB_VIPArray); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_protocol_server_pbdata_proto_msgTypes[140].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DB_VIPShow); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_protocol_server_pbdata_proto_msgTypes[141].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DB_VIPShowArray); i { case 0: return &v.state @@ -14305,7 +14462,7 @@ func file_protocol_server_pbdata_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_protocol_server_pbdata_proto_rawDesc, NumEnums: 0, - NumMessages: 154, + NumMessages: 156, NumExtensions: 0, NumServices: 0, }, diff --git a/protocol/server/pbdata.proto b/protocol/server/pbdata.proto index cfe6626..a9d003a 100644 --- a/protocol/server/pbdata.proto +++ b/protocol/server/pbdata.proto @@ -659,6 +659,22 @@ message DB_GamMatchLVArray { repeated DB_GamMatchLV Arr = 1; } +message DB_GameBankruptcy { + + int32 Id = 1; + + string GameName = 2; + + string GameDif = 3; + + int32 LimitNum = 4; + +} + +message DB_GameBankruptcyArray { + repeated DB_GameBankruptcy Arr = 1; +} + message DB_GameCoinPool { int32 Id = 1; diff --git a/srvdata/db_game_bankruptcy.go b/srvdata/db_game_bankruptcy.go new file mode 100644 index 0000000..e07d5b5 --- /dev/null +++ b/srvdata/db_game_bankruptcy.go @@ -0,0 +1,77 @@ + +// Code generated by xlsx2proto. +// DO NOT EDIT! + +package srvdata + +import ( + "google.golang.org/protobuf/proto" + + "mongo.games.com/game/protocol/server" +) + +var PBDB_Game_bankruptcyMgr = &DB_Game_bankruptcyMgr{ + Datas: &server.DB_Game_bankruptcyArray{}, + pool: make(map[int32]*server.DB_Game_bankruptcy), + +} + +type DB_Game_bankruptcyMgr struct { + Datas *server.DB_Game_bankruptcyArray + pool map[int32]*server.DB_Game_bankruptcy + +} + +func (this *DB_Game_bankruptcyMgr) unmarshal(data []byte) error { + err := proto.Unmarshal(data, this.Datas) + if err == nil { + this.arrangeData() + } + return err +} + +func (this *DB_Game_bankruptcyMgr) reunmarshal(data []byte) error { + newDatas := &server.DB_Game_bankruptcyArray{} + err := proto.Unmarshal(data, newDatas) + if err == nil { + for _, item := range newDatas.Arr { + existItem := this.GetData(item.GetId()) + if existItem == nil { + this.pool[item.GetId()] = item + this.Datas.Arr = append(this.Datas.Arr, item) + + } else { + *existItem = *item + } + } + } + return err +} + +func (this *DB_Game_bankruptcyMgr) arrangeData() { + if this.Datas == nil { + return + } + + dataArr := this.Datas.GetArr() + if dataArr == nil { + return + } + + for _, data := range dataArr { + this.pool[data.GetId()] = data + + } +} + +func (this *DB_Game_bankruptcyMgr) GetData(id int32) *server.DB_Game_bankruptcy { + if data, ok := this.pool[id]; ok { + return data + } + return nil +} + + +func init() { + DataMgr.register("DB_Game_bankruptcy.dat", &ProtobufDataLoader{dh: PBDB_Game_bankruptcyMgr}) +} diff --git a/srvdata/db_gamebankruptcy.go b/srvdata/db_gamebankruptcy.go new file mode 100644 index 0000000..f8edab1 --- /dev/null +++ b/srvdata/db_gamebankruptcy.go @@ -0,0 +1,77 @@ + +// Code generated by xlsx2proto. +// DO NOT EDIT! + +package srvdata + +import ( + "google.golang.org/protobuf/proto" + + "mongo.games.com/game/protocol/server" +) + +var PBDB_GameBankruptcyMgr = &DB_GameBankruptcyMgr{ + Datas: &server.DB_GameBankruptcyArray{}, + pool: make(map[int32]*server.DB_GameBankruptcy), + +} + +type DB_GameBankruptcyMgr struct { + Datas *server.DB_GameBankruptcyArray + pool map[int32]*server.DB_GameBankruptcy + +} + +func (this *DB_GameBankruptcyMgr) unmarshal(data []byte) error { + err := proto.Unmarshal(data, this.Datas) + if err == nil { + this.arrangeData() + } + return err +} + +func (this *DB_GameBankruptcyMgr) reunmarshal(data []byte) error { + newDatas := &server.DB_GameBankruptcyArray{} + err := proto.Unmarshal(data, newDatas) + if err == nil { + for _, item := range newDatas.Arr { + existItem := this.GetData(item.GetId()) + if existItem == nil { + this.pool[item.GetId()] = item + this.Datas.Arr = append(this.Datas.Arr, item) + + } else { + *existItem = *item + } + } + } + return err +} + +func (this *DB_GameBankruptcyMgr) arrangeData() { + if this.Datas == nil { + return + } + + dataArr := this.Datas.GetArr() + if dataArr == nil { + return + } + + for _, data := range dataArr { + this.pool[data.GetId()] = data + + } +} + +func (this *DB_GameBankruptcyMgr) GetData(id int32) *server.DB_GameBankruptcy { + if data, ok := this.pool[id]; ok { + return data + } + return nil +} + + +func init() { + DataMgr.register("DB_GameBankruptcy.dat", &ProtobufDataLoader{dh: PBDB_GameBankruptcyMgr}) +} diff --git a/worldsrv/action_server.go b/worldsrv/action_server.go index 05001a1..3a4f01e 100644 --- a/worldsrv/action_server.go +++ b/worldsrv/action_server.go @@ -128,17 +128,24 @@ func init() { //比赛场不处理下面的内容 if !scene.IsMatchScene() && !scene.IsCustom() { // 破产检测 - sdata := srvdata.PBDB_GameSubsidyMgr.GetData(GameSubsidyid) - if sdata != nil { - if !p.IsRob && p.takeCoin > msg.GetReturnCoin() && p.takeCoin >= int64(sdata.LimitNum) && msg.GetReturnCoin() < int64(sdata.LimitNum) { - CostCoin := p.takeCoin - msg.GetReturnCoin() - - logger.Logger.Infof("NewBankruptLogEx: snid:%v GetReturnCoin:%v coin:%v CostCoin:%v", p.SnId, msg.GetReturnCoin(), p.takeCoin, CostCoin) - log := model.NewBankruptLogEx(p.SnId, scene.dbGameFree.GetId(), p.CreateTime.Unix(), CostCoin, - p.Platform, p.Channel, p.ChannelId, scene.dbGameFree.GetGameDif(), scene.gameId) - if log != nil { - mq.Write(log) + if !p.IsRob { + for _, v := range srvdata.PBDB_GameBankruptcyMgr.Datas.GetArr() { + if v.GetGameDif() == "" || v.GetLimitNum() <= 0 { + continue } + if v.GetGameDif() != scene.dbGameFree.GetGameDif() { + continue + } + if p.takeCoin > msg.GetReturnCoin() && p.takeCoin >= int64(v.GetLimitNum()) && msg.GetReturnCoin() < int64(v.GetLimitNum()) { + CostCoin := p.takeCoin - msg.GetReturnCoin() + logger.Logger.Infof("NewBankruptLogEx: snid:%v GetReturnCoin:%v coin:%v CostCoin:%v", p.SnId, msg.GetReturnCoin(), p.takeCoin, CostCoin) + log := model.NewBankruptLogEx(p.SnId, scene.dbGameFree.GetId(), p.CreateTime.Unix(), CostCoin, + p.Platform, p.Channel, p.ChannelId, scene.dbGameFree.GetGameDif(), scene.gameId) + if log != nil { + mq.Write(log) + } + } + break } } // 破产检测 diff --git a/xlsx/DB_GameBankruptcy.xlsx b/xlsx/DB_GameBankruptcy.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..a79b49d1230827d6c7e89acc926cd626c476bbd6 GIT binary patch literal 11536 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 s{Qu~|4=XPx# literal 0 HcmV?d00001