diff --git a/bin/json/game_buriedcondi.json b/bin/json/game_buriedcondi.json index f509f8914..2462e48ac 100644 --- a/bin/json/game_buriedcondi.json +++ b/bin/json/game_buriedcondi.json @@ -17467,7 +17467,7 @@ "type_sp": 1, "tasktxt": { "key": "buried_buried_condi_tasktxt_747", - "text": "功夫大师挑战塔3层" + "text": "高能武者挑战塔3层" }, "type": 168, "valid": 0, @@ -17853,7 +17853,7 @@ "type_sp": 1, "tasktxt": { "key": "buried_buried_condi_tasktxt_763", - "text": "功夫大师挑战塔5层" + "text": "高能武者挑战塔5层" }, "type": 168, "valid": 0, @@ -18238,12 +18238,12 @@ "type_sp": 1, "tasktxt": { "key": "buried_buried_condi_tasktxt_779", - "text": "功夫大师挑战塔5层" + "text": "高能武者挑战塔8层" }, "type": 168, "valid": 0, "NPC": 10534, - "value": 5, + "value": 8, "filter": [ 1 ], @@ -18572,7 +18572,7 @@ "type_sp": 1, "tasktxt": { "key": "buried_buried_condi_tasktxt_793", - "text": "功夫大师挑战塔10层" + "text": "高能武者挑战塔10层" }, "type": 168, "valid": 0, @@ -18974,7 +18974,7 @@ "type_sp": 1, "tasktxt": { "key": "buried_buried_condi_tasktxt_810", - "text": "功夫大师挑战塔20层" + "text": "高能武者挑战塔20层" }, "type": 168, "valid": 0, @@ -19124,7 +19124,7 @@ "NPC": 10904, "value": 1, "filter": [ - 1200103 + 1101203 ], "filter2": [ "关卡ID", diff --git a/bin/json/game_chatsystem.json b/bin/json/game_chatsystem.json index 49e13bf6b..faf0ec808 100644 --- a/bin/json/game_chatsystem.json +++ b/bin/json/game_chatsystem.json @@ -176,7 +176,7 @@ "datatype": 3, "text": { "key": "chat_system_text_11", - "text": "【传闻】{0}已经{1}培养至60级!" + "text": "【传闻】{0}已经将{1}培养至60级!" }, "data": 60, "data2": 0, @@ -191,7 +191,7 @@ "datatype": 3, "text": { "key": "chat_system_text_12", - "text": "【传闻】{0}已经{1}培养至6星!" + "text": "【传闻】{0}已经将{1}培养至6星!" }, "data": 5, "data2": 0, @@ -206,7 +206,7 @@ "datatype": 3, "text": { "key": "chat_system_text_13", - "text": "【传闻】{0}已经{1}技能培养至满级!" + "text": "【传闻】{0}已经将{1}技能培养至满级!" }, "data": 5, "data2": 0, @@ -221,7 +221,7 @@ "datatype": 3, "text": { "key": "chat_system_text_14", - "text": "【传闻】{0}已经{1}回响至满级!" + "text": "【传闻】{0}已经将{1}回响至满级!" }, "data": 5, "data2": 0, @@ -236,7 +236,7 @@ "datatype": 3, "text": { "key": "chat_system_text_15", - "text": "【传闻】{0}已经{1}觉醒至满级!" + "text": "【传闻】{0}已经将{1}觉醒至满级!" }, "data": 5, "data2": 0, diff --git a/bin/json/game_global.json b/bin/json/game_global.json index 345818184..8729d3690 100644 --- a/bin/json/game_global.json +++ b/bin/json/game_global.json @@ -220,48 +220,7 @@ "t": "18000004", "n": 1 }, - "Arena_buy": [ - { - "a": "attr", - "t": "diamond", - "n": 100 - }, - { - "a": "attr", - "t": "diamond", - "n": 200 - }, - { - "a": "attr", - "t": "diamond", - "n": 400 - }, - { - "a": "attr", - "t": "diamond", - "n": 600 - }, - { - "a": "attr", - "t": "diamond", - "n": 800 - }, - { - "a": "attr", - "t": "diamond", - "n": 1000 - }, - { - "a": "attr", - "t": "diamond", - "n": 1200 - }, - { - "a": "attr", - "t": "diamond", - "n": 1400 - } - ], + "Arena_buy": 1001, "VikingExpedition_RecoveryTime": 144, "cops_RecoveryTime": 300, "cops_InitialNum": 60, diff --git a/bin/json/game_item.json b/bin/json/game_item.json index 1260d4cad..46f6b08c0 100644 --- a/bin/json/game_item.json +++ b/bin/json/game_item.json @@ -8666,7 +8666,7 @@ "img": "item_15000101", "intr": { "key": "item_item_intr_251", - "text": "狩猎头目的初级掉落物,可用于守护者回响。" + "text": "狩猎头目的初级掉落物,可用于真诚阵营守护者回响。" }, "sale": [ { @@ -8717,7 +8717,7 @@ "img": "item_15000102", "intr": { "key": "item_item_intr_252", - "text": "狩猎头目的初级掉落物,可用于守护者回响。" + "text": "狩猎头目的初级掉落物,可用于直觉阵营守护者回响。" }, "sale": [ { @@ -8768,7 +8768,7 @@ "img": "item_15000103", "intr": { "key": "item_item_intr_253", - "text": "狩猎头目的初级掉落物,可用于守护者回响。" + "text": "狩猎头目的初级掉落物,可用于共情阵营守护者回响。" }, "sale": [ { @@ -8819,7 +8819,7 @@ "img": "item_15000104", "intr": { "key": "item_item_intr_254", - "text": "狩猎头目的初级掉落物,可用于守护者回响。" + "text": "狩猎头目的初级掉落物,可用于责任阵营守护者回响。" }, "sale": [ { @@ -8870,7 +8870,7 @@ "decompose_get": [ { "a": "item", - "t": "15000201", + "t": "15000101", "n": 2 } ], @@ -8882,7 +8882,7 @@ "img": "item_15000201", "intr": { "key": "item_item_intr_255", - "text": "狩猎头目的中级掉落物,可用于守护者回响。" + "text": "狩猎头目的中级掉落物,可用于真诚阵营守护者回响。" }, "sale": [ { @@ -8933,7 +8933,7 @@ "decompose_get": [ { "a": "item", - "t": "15000202", + "t": "15000102", "n": 2 } ], @@ -8945,7 +8945,7 @@ "img": "item_15000202", "intr": { "key": "item_item_intr_256", - "text": "狩猎头目的中级掉落物,可用于守护者回响。" + "text": "狩猎头目的中级掉落物,可用于直觉阵营守护者回响。" }, "sale": [ { @@ -8996,7 +8996,7 @@ "decompose_get": [ { "a": "item", - "t": "15000203", + "t": "15000103", "n": 2 } ], @@ -9008,7 +9008,7 @@ "img": "item_15000203", "intr": { "key": "item_item_intr_257", - "text": "狩猎头目的中级掉落物,可用于守护者回响。" + "text": "狩猎头目的中级掉落物,可用于共情阵营守护者回响。" }, "sale": [ { @@ -9059,7 +9059,7 @@ "decompose_get": [ { "a": "item", - "t": "15000204", + "t": "15000104", "n": 2 } ], @@ -9071,7 +9071,7 @@ "img": "item_15000204", "intr": { "key": "item_item_intr_258", - "text": "狩猎头目的中级掉落物,可用于守护者回响。" + "text": "狩猎头目的中级掉落物,可用于责任阵营守护者回响。" }, "sale": [ { @@ -9110,7 +9110,7 @@ "decompose_get": [ { "a": "item", - "t": "15000301", + "t": "15000201", "n": 2 } ], @@ -9122,7 +9122,7 @@ "img": "item_15000301", "intr": { "key": "item_item_intr_259", - "text": "狩猎头目的高级掉落物,可用于守护者回响。" + "text": "狩猎头目的高级掉落物,可用于真诚阵营守护者回响。" }, "sale": [ { @@ -9161,7 +9161,7 @@ "decompose_get": [ { "a": "item", - "t": "15000302", + "t": "15000202", "n": 2 } ], @@ -9173,7 +9173,7 @@ "img": "item_15000302", "intr": { "key": "item_item_intr_260", - "text": "狩猎头目的高级掉落物,可用于守护者回响。" + "text": "狩猎头目的高级掉落物,可用于直觉阵营守护者回响。" }, "sale": [ { @@ -9212,7 +9212,7 @@ "decompose_get": [ { "a": "item", - "t": "15000303", + "t": "15000203", "n": 2 } ], @@ -9224,7 +9224,7 @@ "img": "item_15000303", "intr": { "key": "item_item_intr_261", - "text": "狩猎头目的高级掉落物,可用于守护者回响。" + "text": "狩猎头目的高级掉落物,可用于共情阵营守护者回响。" }, "sale": [ { @@ -9263,7 +9263,7 @@ "decompose_get": [ { "a": "item", - "t": "15000304", + "t": "15000204", "n": 2 } ], @@ -9275,7 +9275,7 @@ "img": "item_15000304", "intr": { "key": "item_item_intr_262", - "text": "狩猎头目的高级掉落物,可用于守护者回响。" + "text": "狩猎头目的高级掉落物,可用于责任阵营守护者回响。" }, "sale": [ { diff --git a/bin/json/game_navigation.json b/bin/json/game_navigation.json index 4604b5d26..10798aaf4 100644 --- a/bin/json/game_navigation.json +++ b/bin/json/game_navigation.json @@ -228,7 +228,7 @@ "text": "木桩" }, "npcName": [ - "木桩" + "木桩1" ], "functionicon": "ty_qp_mz", "jumpId": 10001 diff --git a/bin/json/game_playerlv.json b/bin/json/game_playerlv.json index b59459a16..c34c64354 100644 --- a/bin/json/game_playerlv.json +++ b/bin/json/game_playerlv.json @@ -19,7 +19,7 @@ { "a": "attr", "t": "starcoin", - "n": 40 + "n": 400 } ], "ps_ceiling": 180, @@ -38,7 +38,7 @@ { "a": "attr", "t": "starcoin", - "n": 40 + "n": 400 } ], "ps_ceiling": 180, @@ -57,7 +57,7 @@ { "a": "attr", "t": "starcoin", - "n": 40 + "n": 400 } ], "ps_ceiling": 180, @@ -76,7 +76,7 @@ { "a": "attr", "t": "starcoin", - "n": 40 + "n": 400 } ], "ps_ceiling": 180, @@ -95,7 +95,7 @@ { "a": "attr", "t": "starcoin", - "n": 40 + "n": 400 } ], "ps_ceiling": 180, @@ -114,7 +114,7 @@ { "a": "attr", "t": "starcoin", - "n": 40 + "n": 400 } ], "ps_ceiling": 180, @@ -133,7 +133,7 @@ { "a": "attr", "t": "starcoin", - "n": 40 + "n": 400 } ], "ps_ceiling": 180, @@ -152,7 +152,7 @@ { "a": "attr", "t": "starcoin", - "n": 40 + "n": 400 } ], "ps_ceiling": 180, @@ -171,7 +171,7 @@ { "a": "attr", "t": "starcoin", - "n": 40 + "n": 400 } ], "ps_ceiling": 180, @@ -190,7 +190,7 @@ { "a": "attr", "t": "starcoin", - "n": 40 + "n": 400 } ], "ps_ceiling": 180, @@ -209,7 +209,7 @@ { "a": "attr", "t": "starcoin", - "n": 40 + "n": 400 } ], "ps_ceiling": 180, @@ -228,7 +228,7 @@ { "a": "attr", "t": "starcoin", - "n": 40 + "n": 400 } ], "ps_ceiling": 180, @@ -247,7 +247,7 @@ { "a": "attr", "t": "starcoin", - "n": 40 + "n": 400 } ], "ps_ceiling": 180, @@ -266,7 +266,7 @@ { "a": "attr", "t": "starcoin", - "n": 40 + "n": 400 } ], "ps_ceiling": 180, @@ -285,7 +285,7 @@ { "a": "attr", "t": "starcoin", - "n": 40 + "n": 400 } ], "ps_ceiling": 180, @@ -304,7 +304,7 @@ { "a": "attr", "t": "starcoin", - "n": 40 + "n": 400 } ], "ps_ceiling": 180, @@ -323,7 +323,7 @@ { "a": "attr", "t": "starcoin", - "n": 40 + "n": 400 } ], "ps_ceiling": 180, @@ -342,7 +342,7 @@ { "a": "attr", "t": "starcoin", - "n": 40 + "n": 400 } ], "ps_ceiling": 180, @@ -361,7 +361,7 @@ { "a": "attr", "t": "starcoin", - "n": 40 + "n": 400 } ], "ps_ceiling": 180, @@ -380,7 +380,7 @@ { "a": "attr", "t": "starcoin", - "n": 40 + "n": 400 } ], "ps_ceiling": 180, @@ -399,7 +399,7 @@ { "a": "attr", "t": "starcoin", - "n": 40 + "n": 400 } ], "ps_ceiling": 180, @@ -418,7 +418,7 @@ { "a": "attr", "t": "starcoin", - "n": 40 + "n": 400 } ], "ps_ceiling": 180, @@ -437,7 +437,7 @@ { "a": "attr", "t": "starcoin", - "n": 40 + "n": 400 } ], "ps_ceiling": 180, @@ -456,7 +456,7 @@ { "a": "attr", "t": "starcoin", - "n": 40 + "n": 400 } ], "ps_ceiling": 180, @@ -475,7 +475,7 @@ { "a": "attr", "t": "starcoin", - "n": 40 + "n": 400 } ], "ps_ceiling": 180, @@ -494,7 +494,7 @@ { "a": "attr", "t": "starcoin", - "n": 40 + "n": 400 } ], "ps_ceiling": 180, @@ -513,7 +513,7 @@ { "a": "attr", "t": "starcoin", - "n": 40 + "n": 400 } ], "ps_ceiling": 180, @@ -532,7 +532,7 @@ { "a": "attr", "t": "starcoin", - "n": 40 + "n": 400 } ], "ps_ceiling": 180, @@ -551,7 +551,7 @@ { "a": "attr", "t": "starcoin", - "n": 40 + "n": 400 } ], "ps_ceiling": 180, @@ -570,7 +570,7 @@ { "a": "attr", "t": "starcoin", - "n": 40 + "n": 400 } ], "ps_ceiling": 180, @@ -589,7 +589,7 @@ { "a": "attr", "t": "starcoin", - "n": 40 + "n": 400 } ], "ps_ceiling": 180, @@ -608,7 +608,7 @@ { "a": "attr", "t": "starcoin", - "n": 40 + "n": 400 } ], "ps_ceiling": 180, @@ -627,7 +627,7 @@ { "a": "attr", "t": "starcoin", - "n": 40 + "n": 400 } ], "ps_ceiling": 180, @@ -646,7 +646,7 @@ { "a": "attr", "t": "starcoin", - "n": 40 + "n": 400 } ], "ps_ceiling": 180, @@ -665,7 +665,7 @@ { "a": "attr", "t": "starcoin", - "n": 40 + "n": 400 } ], "ps_ceiling": 180, @@ -684,7 +684,7 @@ { "a": "attr", "t": "starcoin", - "n": 40 + "n": 400 } ], "ps_ceiling": 180, @@ -703,7 +703,7 @@ { "a": "attr", "t": "starcoin", - "n": 40 + "n": 400 } ], "ps_ceiling": 180, @@ -722,7 +722,7 @@ { "a": "attr", "t": "starcoin", - "n": 40 + "n": 400 } ], "ps_ceiling": 180, @@ -741,7 +741,7 @@ { "a": "attr", "t": "starcoin", - "n": 40 + "n": 400 } ], "ps_ceiling": 180, @@ -760,7 +760,7 @@ { "a": "attr", "t": "starcoin", - "n": 40 + "n": 400 } ], "ps_ceiling": 180, @@ -779,7 +779,7 @@ { "a": "attr", "t": "starcoin", - "n": 40 + "n": 400 } ], "ps_ceiling": 180, @@ -798,7 +798,7 @@ { "a": "attr", "t": "starcoin", - "n": 40 + "n": 400 } ], "ps_ceiling": 180, @@ -817,7 +817,7 @@ { "a": "attr", "t": "starcoin", - "n": 40 + "n": 400 } ], "ps_ceiling": 180, @@ -836,7 +836,7 @@ { "a": "attr", "t": "starcoin", - "n": 40 + "n": 400 } ], "ps_ceiling": 180, @@ -855,7 +855,7 @@ { "a": "attr", "t": "starcoin", - "n": 40 + "n": 400 } ], "ps_ceiling": 180, @@ -874,7 +874,7 @@ { "a": "attr", "t": "starcoin", - "n": 40 + "n": 400 } ], "ps_ceiling": 180, @@ -893,7 +893,7 @@ { "a": "attr", "t": "starcoin", - "n": 40 + "n": 400 } ], "ps_ceiling": 180, @@ -912,7 +912,7 @@ { "a": "attr", "t": "starcoin", - "n": 40 + "n": 400 } ], "ps_ceiling": 180, @@ -931,7 +931,7 @@ { "a": "attr", "t": "starcoin", - "n": 40 + "n": 400 } ], "ps_ceiling": 180, @@ -950,7 +950,7 @@ { "a": "attr", "t": "starcoin", - "n": 40 + "n": 400 } ], "ps_ceiling": 180, @@ -969,7 +969,7 @@ { "a": "attr", "t": "starcoin", - "n": 40 + "n": 400 } ], "ps_ceiling": 180, @@ -988,7 +988,7 @@ { "a": "attr", "t": "starcoin", - "n": 40 + "n": 400 } ], "ps_ceiling": 180, @@ -1007,7 +1007,7 @@ { "a": "attr", "t": "starcoin", - "n": 40 + "n": 400 } ], "ps_ceiling": 180, @@ -1026,7 +1026,7 @@ { "a": "attr", "t": "starcoin", - "n": 40 + "n": 400 } ], "ps_ceiling": 180, @@ -1045,7 +1045,7 @@ { "a": "attr", "t": "starcoin", - "n": 40 + "n": 400 } ], "ps_ceiling": 180, @@ -1064,7 +1064,7 @@ { "a": "attr", "t": "starcoin", - "n": 40 + "n": 400 } ], "ps_ceiling": 180, @@ -1083,7 +1083,7 @@ { "a": "attr", "t": "starcoin", - "n": 40 + "n": 400 } ], "ps_ceiling": 180, @@ -1102,7 +1102,7 @@ { "a": "attr", "t": "starcoin", - "n": 40 + "n": 400 } ], "ps_ceiling": 180, @@ -1121,7 +1121,7 @@ { "a": "attr", "t": "starcoin", - "n": 40 + "n": 400 } ], "ps_ceiling": 180, diff --git a/bin/json/game_pricegroup.json b/bin/json/game_pricegroup.json index be421e355..74b29a9f4 100644 --- a/bin/json/game_pricegroup.json +++ b/bin/json/game_pricegroup.json @@ -89,5 +89,18 @@ "n": 250 } ] + }, + { + "id": 8, + "pricegroupId": 1001, + "purchasemin": 11, + "purchasemax": -1, + "cost": [ + { + "a": "attr", + "t": "diamond", + "n": 250 + } + ] } ] \ No newline at end of file diff --git a/bin/json/game_ruledesc.json b/bin/json/game_ruledesc.json index 1058a1d1b..f23f957cb 100644 --- a/bin/json/game_ruledesc.json +++ b/bin/json/game_ruledesc.json @@ -29,18 +29,18 @@ }, "content": { "key": "ruledesc_ruledesc_content_3", - "text": "这里可以查看与各个守护者们的好感度。" + "text": "这里可以查看与各个守护者们的好感度。
点击守护者可以进入守护者送礼界面。" } }, { "id": 10004, "title": { "key": "ruledesc_ruledesc_title_4", - "text": "好感度详细说明" + "text": "好感度说明" }, "content": { "key": "ruledesc_ruledesc_content_4", - "text": "这里可以给守护者送礼,提升与守护者的好感度。" + "text": "这里可以给守护者送礼,提升与守护者的好感度。
每个守护者每日最多送礼9次,且每次赠送会随着饱腹度的增加而减少好感度的增加。
每日赠送1-3次,为100%的食物好感度。
每日赠送4-6次,为80%的食物好感度。
每日赠送7-9次,为50%的好感度。
每个守护者有喜欢的食物与讨厌的食物,赠送喜欢的食物增加的好感度为1.5倍,且对话也有所不同。" } }, { @@ -51,14 +51,14 @@ }, "content": { "key": "ruledesc_ruledesc_content_5", - "text": "这里可以查看各种功夫陪练,完成陪练可以获得高额奖励,完成一定数量的陪练还有格外奖励。" + "text": "这里可以查看各种功夫陪练,完成陪练可以获得高额奖励。
完成3/6/9次的陪练还有格外奖励可以领取。" } }, { "id": 10006, "title": { "key": "ruledesc_ruledesc_title_6", - "text": "功夫陪练详细说明" + "text": "陪练详细说明" }, "content": { "key": "ruledesc_ruledesc_content_6", @@ -84,7 +84,7 @@ }, "content": { "key": "ruledesc_ruledesc_content_8", - "text": "这里可以与其他玩家的阵容进行对决,也可以挑战电脑阵容来获取奖励。
挑战电脑阵容难度随等级解锁,挑战需要消耗竞技场挑战卷。
挑战玩家也需消耗竞技场挑战卷,战胜玩家获得积分,在每周结算时根据积分排名来获得奖励。" + "text": "这里可以与其他玩家的阵容进行对决,也可以挑战电脑阵容来获取奖励。
挑战电脑阵容难度随等级解锁,挑战需要消耗竞技场挑战卷。
竞技场挑战卷随时间恢复,每144分钟回复一张。
可以使用钻石直接购买竞技场挑战卷。购买上限最多为8张。每次购买消耗的钻石逐级递增。
挑战玩家也需消耗竞技场挑战卷,战胜玩家获得积分,在每周结算时根据积分排名来获得奖励。
积分排名逻辑:
黑铁:0—799,竞技胜利获胜奖励为竞技币10个。
青铜:800-1299,竞技胜利获胜奖励为竞技币12个。
白银:1300-1599,竞技胜利获胜奖励为竞技币14个。
黄金:1600-2199,竞技胜利获胜奖励为竞技币16个。
铂金:2200-2799,竞技胜利获胜奖励为竞技币18个。
钻石:2800-3699,竞技胜利获胜奖励为竞技币20个。
大师:3700-4599,竞技胜利获胜奖励为竞技币22个。
王者:4600以上,竞技胜利获胜奖励为竞技币22个。
积分排名奖励具体查看排名中的奖励预览。" } }, { @@ -135,11 +135,11 @@ "id": 10013, "title": { "key": "ruledesc_ruledesc_title_13", - "text": "主线关卡世界说明" + "text": "冒险关卡说明" }, "content": { "key": "ruledesc_ruledesc_content_13", - "text": "这里可以挑战主线并赢取巨量奖励。" + "text": "这里可以挑战冒险关卡并赢取巨量奖励。" } }, { @@ -161,7 +161,7 @@ }, "content": { "key": "ruledesc_ruledesc_content_15", - "text": "这里可以查看你获得的所有守护者们,选择守护者点击右侧按钮可以查看详细界面并且强化他们。
在强化界面,可以有各种方式强化守护者。
守护者等级强化:
点击守护者经验条下方的加号按钮可以进入守护者升级界面,使用护身符可以快速提升守护者等级。
守护者升星:
当守护者等级达到当前星级最大值(三星最大等级为30级,四星为40级,5星为50级),可以使用荣耀徽章提升守护者星级,并解锁最高等级上限。守护者最高为6星
守护者技能等级强化:
点击技能图标上方的按钮,可以进入守护者技能升级界面,使用不同等级的功夫卷轴可以强化不同稀有度的守护者的技能等级。
守护者觉醒:
使用觉醒强化你的守护者。觉醒道具守护之心主要为招募重复守护者获得。
守护者回响:
使用回响强化你的守护者。共鸣强化道具可以再狩猎与宝箱中获得。" + "text": "这里可以查看你获得的所有守护者们,选择守护者点击右侧按钮可以查看详细界面并且强化他们。
在强化界面,可以有各种方式强化守护者。
守护者等级强化:
点击守护者经验条下方的加号按钮可以进入守护者升级界面,使用护身符可以快速提升守护者等级。
守护者升星:
当守护者等级达到当前星级最大值(三星最大等级为30级,四星为40级,5星为50级,6星60级),可以使用荣耀徽章提升守护者星级,并解锁最高等级上限。守护者最高为6星。荣耀徽章可以通过合成或分解操作,进行不同星级之间的转换。
守护者技能等级强化:
点击技能图标上方的按钮,可以进入守护者技能升级界面,使用不同等级的功夫卷轴可以强化不同稀有度的守护者的技能等级。技能等级提升为随机提升该守护者未满级的技能等级。
守护者觉醒:
可以在觉醒界面使用守护之心强化你的守护者。觉醒道具守护之心主要为招募重复守护者获得。
守护者回响:
可以在回响界面使用回响强化道具强化你的守护者。回响强化道具可以再狩猎与宝箱中获得。" } }, { @@ -172,7 +172,7 @@ }, "content": { "key": "ruledesc_ruledesc_content_16", - "text": "这里可以查看你拥有的所有装备,并且可以给守护者们装备上,一件穿戴会默认选择你最好的装备穿戴给当前守护者(已穿戴装备除外)。" + "text": "这里可以查看你拥有的所有装备,并且可以给守护者们装备上,一件穿戴会默认选择你最好的装备穿戴给当前守护者(已穿戴装备除外)。
点击装备可以打开装备强化界面," } }, { @@ -205,7 +205,7 @@ }, "content": { "key": "ruledesc_ruledesc_content_19", - "text": "这里可以挑战泰坦们获得打造材料。" + "text": "这里可以挑战泰坦们获得打造材料。
泰坦共有三种,挑战不同的泰坦都会有不同类别的装备打造材料。
挑战高难度泰坦获得的材料奖励越多。" } }, { @@ -216,7 +216,7 @@ }, "content": { "key": "ruledesc_ruledesc_content_20", - "text": "这里可以狩猎各种敌人获得珍惜材料。" + "text": "这里可以狩猎各种敌人获得回响材料。
狩猎挑战随时间开放不同的狩猎头目,掉落的回响材料可用于阵容也会有所不同。
挑战难度越高的狩猎头目,获得的材料数量与稀有度越高。" } }, { @@ -260,7 +260,7 @@ }, "content": { "key": "ruledesc_ruledesc_content_24", - "text": "这里可以查看关卡星完成条件与获胜可获得奖励。" + "text": "这里可以查看关卡星完成条件,积累一定的关卡星可以获得格外的道具奖励。" } }, { @@ -271,7 +271,7 @@ }, "content": { "key": "ruledesc_ruledesc_content_25", - "text": "这里可以使用回响强化你的守护者。
回响强化道具可在狩猎与宝箱中获得。" + "text": "这里可以使用回响强化道具强化你的守护者。
回响强化道具可在狩猎与宝箱中获得。" } }, { @@ -293,7 +293,7 @@ }, "content": { "key": "ruledesc_ruledesc_content_27", - "text": "这里可以使用觉醒强化你的守护者。
觉醒道具守护之心主要为招募重复守护者获得。" + "text": "这里可以使用守护之心强化你的守护者。
觉醒道具守护之心主要为招募重复守护者获得。" } }, { @@ -326,7 +326,7 @@ }, "content": { "key": "ruledesc_ruledesc_content_30", - "text": "这里可以使用装备手册的各个技能强化锻造炉。
技能包括:
销售精英:
可以提升装备的售价。
节能环保:
可以减少打造所消耗的炉温。
推广引流:
可以提升顾客数量。
倾销货物:
可以提升顾客购买装备数量的上限。
制作大师:
打造高品质装备时满星的概率提升1%。
每当前一个技能提升至5级时解锁下一个技能强化选项。" + "text": "这里可以使用装备手册的各个技能强化锻造炉。
技能包括:
销售精英:
可以提升装备的售价。
节能环保:
可以减少打造所消耗的炉温。
推广引流:
可以提升顾客数量。
倾销货物:
可以提升顾客购买装备数量的上限。
制作大师:
打造高品质装备时满星的概率提升1%。" } }, { @@ -337,7 +337,7 @@ }, "content": { "key": "ruledesc_ruledesc_content_31", - "text": "这里可以挑战功夫塔,每次挑战胜利都可以获得奖励,每挑战胜利10层会有特殊奖励(功夫塔挑战不需要消耗物品)。" + "text": "这里可以挑战功夫塔,每次挑战胜利都可以获得奖励,每挑战胜利10层可以获得相应教习。(功夫塔挑战不需要消耗物品)。" } }, { @@ -366,7 +366,7 @@ "id": 10034, "title": { "key": "ruledesc_ruledesc_title_34", - "text": "每日一练动作说明" + "text": "每日一练说明" }, "content": { "key": "ruledesc_ruledesc_content_34", @@ -399,7 +399,7 @@ "id": 10037, "title": { "key": "ruledesc_ruledesc_title_37", - "text": "商队功能界面说明" + "text": "商队界面说明" }, "content": { "key": "ruledesc_ruledesc_content_37", @@ -458,7 +458,7 @@ }, "content": { "key": "ruledesc_ruledesc_content_42", - "text": "这里可以可以使用星图币强化这个属性的全部守护者们。" + "text": "这里可以可以使用星图币强化某个属性的全部守护者们。
强化属性会在战斗中生效,不会在属性中显示。
星图币在玩家升级时获得。" } }, { @@ -476,11 +476,11 @@ "id": 10044, "title": { "key": "ruledesc_ruledesc_title_44", - "text": "主角个人信息界面说明" + "text": "主角界面说明" }, "content": { "key": "ruledesc_ruledesc_content_44", - "text": "这里可以查看玩家游戏进度。
可以修改名称与个性签名(名称最多20字符,汉字算2字符)。
更改角色装扮,还能修改并查看自己的阵容展示。" + "text": "这里可以查看玩家游戏进度。
可以修改名称与个性签名(名称最多12字符,汉字算2字符)。
更改角色装扮,还能修改并查看自己的阵容展示。" } } ] \ No newline at end of file diff --git a/bin/json/game_shop.json b/bin/json/game_shop.json index 1334e4f9c..c6525b5fb 100644 --- a/bin/json/game_shop.json +++ b/bin/json/game_shop.json @@ -218,43 +218,5 @@ 15008, 15009 ] - }, - { - "shopid": 7, - "tab": 7, - "shopname": { - "key": "shop_shop_shopname_7", - "text": "铁匠商店" - }, - "upper_shop": { - "key": "shop_shop_upper_shop_7", - "text": "玩法商店" - }, - "needshow": [ - { - "a": "attr", - "t": "diamond", - "n": 1 - } - ], - "rtype": 2, - "rtime": 7, - "rnum": -1, - "rneed": [], - "shopitem": [ - 16001, - 16002, - 16003, - 16004, - 16005, - 16006, - 16007, - 16008, - 16009, - 16010, - 16011, - 16012, - 16013 - ] } ] \ No newline at end of file diff --git a/bin/json/game_shopitem.json b/bin/json/game_shopitem.json index 6bdf7fc0f..4a34010b6 100644 --- a/bin/json/game_shopitem.json +++ b/bin/json/game_shopitem.json @@ -71,474 +71,6 @@ "mapidmin": 101, "mapidmax": 9999 }, - { - "key": 6, - "id": 16001, - "iteminfo": [ - { - "a": "item", - "t": "13001001", - "n": 100 - } - ], - "preview": false, - "probability": 1000, - "need": [ - { - "a": "attr", - "t": "diamond", - "n": 20 - } - ], - "sale": 1000, - "salelist": [ - 1000, - 1000, - 1000, - 1000, - 1000, - 1000 - ], - "buyminnum": 999, - "buymaxnum": 999, - "vip": 0, - "lvmin": 1, - "lvmax": 60, - "mapidmin": 101, - "mapidmax": 9999 - }, - { - "key": 7, - "id": 16002, - "iteminfo": [ - { - "a": "item", - "t": "13001002", - "n": 100 - } - ], - "preview": false, - "probability": 1000, - "need": [ - { - "a": "attr", - "t": "diamond", - "n": 20 - } - ], - "sale": 1000, - "salelist": [ - 1000, - 1000, - 1000, - 1000, - 1000, - 1000 - ], - "buyminnum": 999, - "buymaxnum": 999, - "vip": 0, - "lvmin": 1, - "lvmax": 60, - "mapidmin": 101, - "mapidmax": 9999 - }, - { - "key": 8, - "id": 16003, - "iteminfo": [ - { - "a": "item", - "t": "13001003", - "n": 100 - } - ], - "preview": false, - "probability": 1000, - "need": [ - { - "a": "attr", - "t": "diamond", - "n": 20 - } - ], - "sale": 1000, - "salelist": [ - 1000, - 1000, - 1000, - 1000, - 1000, - 1000 - ], - "buyminnum": 999, - "buymaxnum": 999, - "vip": 0, - "lvmin": 1, - "lvmax": 60, - "mapidmin": 101, - "mapidmax": 9999 - }, - { - "key": 9, - "id": 16004, - "iteminfo": [ - { - "a": "item", - "t": "13002001", - "n": 100 - } - ], - "preview": false, - "probability": 1000, - "need": [ - { - "a": "attr", - "t": "diamond", - "n": 20 - } - ], - "sale": 1000, - "salelist": [ - 1000, - 1000, - 1000, - 1000, - 1000, - 1000 - ], - "buyminnum": 999, - "buymaxnum": 999, - "vip": 0, - "lvmin": 1, - "lvmax": 60, - "mapidmin": 101, - "mapidmax": 9999 - }, - { - "key": 10, - "id": 16005, - "iteminfo": [ - { - "a": "item", - "t": "13002002", - "n": 100 - } - ], - "preview": false, - "probability": 1000, - "need": [ - { - "a": "attr", - "t": "diamond", - "n": 20 - } - ], - "sale": 1000, - "salelist": [ - 1000, - 1000, - 1000, - 1000, - 1000, - 1000 - ], - "buyminnum": 999, - "buymaxnum": 999, - "vip": 0, - "lvmin": 1, - "lvmax": 60, - "mapidmin": 101, - "mapidmax": 9999 - }, - { - "key": 11, - "id": 16006, - "iteminfo": [ - { - "a": "item", - "t": "13002003", - "n": 100 - } - ], - "preview": false, - "probability": 1000, - "need": [ - { - "a": "attr", - "t": "diamond", - "n": 20 - } - ], - "sale": 1000, - "salelist": [ - 1000, - 1000, - 1000, - 1000, - 1000, - 1000 - ], - "buyminnum": 999, - "buymaxnum": 999, - "vip": 0, - "lvmin": 1, - "lvmax": 60, - "mapidmin": 101, - "mapidmax": 9999 - }, - { - "key": 12, - "id": 16007, - "iteminfo": [ - { - "a": "item", - "t": "13003001", - "n": 100 - } - ], - "preview": false, - "probability": 1000, - "need": [ - { - "a": "attr", - "t": "diamond", - "n": 20 - } - ], - "sale": 1000, - "salelist": [ - 1000, - 1000, - 1000, - 1000, - 1000, - 1000 - ], - "buyminnum": 999, - "buymaxnum": 999, - "vip": 0, - "lvmin": 1, - "lvmax": 60, - "mapidmin": 101, - "mapidmax": 9999 - }, - { - "key": 13, - "id": 16008, - "iteminfo": [ - { - "a": "item", - "t": "13003002", - "n": 100 - } - ], - "preview": false, - "probability": 1000, - "need": [ - { - "a": "attr", - "t": "diamond", - "n": 20 - } - ], - "sale": 1000, - "salelist": [ - 1000, - 1000, - 1000, - 1000, - 1000, - 1000 - ], - "buyminnum": 999, - "buymaxnum": 999, - "vip": 0, - "lvmin": 1, - "lvmax": 60, - "mapidmin": 101, - "mapidmax": 9999 - }, - { - "key": 14, - "id": 16009, - "iteminfo": [ - { - "a": "item", - "t": "13003003", - "n": 100 - } - ], - "preview": false, - "probability": 1000, - "need": [ - { - "a": "attr", - "t": "diamond", - "n": 20 - } - ], - "sale": 1000, - "salelist": [ - 1000, - 1000, - 1000, - 1000, - 1000, - 1000 - ], - "buyminnum": 999, - "buymaxnum": 999, - "vip": 0, - "lvmin": 1, - "lvmax": 60, - "mapidmin": 101, - "mapidmax": 9999 - }, - { - "key": 15, - "id": 16010, - "iteminfo": [ - { - "a": "item", - "t": "13000001", - "n": 100 - } - ], - "preview": false, - "probability": 1000, - "need": [ - { - "a": "attr", - "t": "diamond", - "n": 20 - } - ], - "sale": 1000, - "salelist": [ - 1000, - 1000, - 1000, - 1000, - 1000, - 1000 - ], - "buyminnum": 999, - "buymaxnum": 999, - "vip": 0, - "lvmin": 1, - "lvmax": 60, - "mapidmin": 101, - "mapidmax": 9999 - }, - { - "key": 16, - "id": 16011, - "iteminfo": [ - { - "a": "item", - "t": "13000002", - "n": 100 - } - ], - "preview": false, - "probability": 1000, - "need": [ - { - "a": "attr", - "t": "diamond", - "n": 20 - } - ], - "sale": 1000, - "salelist": [ - 1000, - 1000, - 1000, - 1000, - 1000, - 1000 - ], - "buyminnum": 999, - "buymaxnum": 999, - "vip": 0, - "lvmin": 1, - "lvmax": 60, - "mapidmin": 101, - "mapidmax": 9999 - }, - { - "key": 17, - "id": 16012, - "iteminfo": [ - { - "a": "item", - "t": "13000003", - "n": 100 - } - ], - "preview": false, - "probability": 1000, - "need": [ - { - "a": "attr", - "t": "diamond", - "n": 20 - } - ], - "sale": 1000, - "salelist": [ - 1000, - 1000, - 1000, - 1000, - 1000, - 1000 - ], - "buyminnum": 999, - "buymaxnum": 999, - "vip": 0, - "lvmin": 1, - "lvmax": 60, - "mapidmin": 101, - "mapidmax": 9999 - }, - { - "key": 18, - "id": 16013, - "iteminfo": [ - { - "a": "item", - "t": "13000004", - "n": 100 - } - ], - "preview": false, - "probability": 1000, - "need": [ - { - "a": "attr", - "t": "diamond", - "n": 20 - } - ], - "sale": 1000, - "salelist": [ - 1000, - 1000, - 1000, - 1000, - 1000, - 1000 - ], - "buyminnum": 999, - "buymaxnum": 999, - "vip": 0, - "lvmin": 1, - "lvmax": 60, - "mapidmin": 101, - "mapidmax": 9999 - }, { "key": 19, "id": 10001, diff --git a/lego/sys/timewheel/timewheel.go b/lego/sys/timewheel/timewheel.go index 2e0f2acbd..2dae4f6bc 100644 --- a/lego/sys/timewheel/timewheel.go +++ b/lego/sys/timewheel/timewheel.go @@ -88,7 +88,7 @@ func (t *Task) Reset() { t.circle = false } -//启动时间轮 +// 启动时间轮 func (this *TimeWheel) Start() { // onlye once start this.onceStart.Do( @@ -114,12 +114,12 @@ func (this *TimeWheel) Remove(task *Task) error { return nil } -//停止时间轮 +// 停止时间轮 func (this *TimeWheel) Stop() { this.stopC <- struct{}{} } -//此处写法 为监控时间轮是否正常执行 +// 此处写法 为监控时间轮是否正常执行 func (this *TimeWheel) tickGenerator() { if this.tickQueue == nil { return @@ -137,7 +137,7 @@ func (this *TimeWheel) tickGenerator() { } } -//调度器 +// 调度器 func (this *TimeWheel) schduler() { queue := this.ticker.C if this.tickQueue != nil { @@ -160,7 +160,7 @@ func (this *TimeWheel) schduler() { } } -//清理 +// 清理 func (this *TimeWheel) collectTask(task *Task) { index := this.bucketIndexes[task.id] delete(this.bucketIndexes, task.id) @@ -185,8 +185,9 @@ func (this *TimeWheel) handleTick() { } if task.async { - go func(task *Task) { - go this.calltask(task, task.args...) + go func(_task *Task) { + this.calltask(_task, _task.args...) + this.collectTask(task) }(task) } else { @@ -202,7 +203,9 @@ func (this *TimeWheel) handleTick() { } // gc - this.collectTask(task) + if !task.async { + this.collectTask(task) + } } if this.currentIndex == this.bucketsNum-1 { @@ -213,7 +216,7 @@ func (this *TimeWheel) handleTick() { this.currentIndex++ } -//执行时间轮事件 捕捉异常错误 防止程序崩溃 +// 执行时间轮事件 捕捉异常错误 防止程序崩溃 func (this *TimeWheel) calltask(task *Task, args ...interface{}) { defer func() { //程序异常 收集异常信息传递给前端显示 if r := recover(); r != nil { diff --git a/modules/arena/api_buy.go b/modules/arena/api_buy.go index 231bf99ca..de0add1d6 100644 --- a/modules/arena/api_buy.go +++ b/modules/arena/api_buy.go @@ -7,7 +7,7 @@ import ( cfg "go_dreamfactory/sys/configure/structs" ) -//参数校验 +// 参数校验 func (this *apiComp) BuyCheck(session comm.IUserSession, req *pb.ArenaBuyReq) (errdata *pb.ErrorData) { if req.BuyNum == 0 { errdata = &pb.ErrorData{ @@ -18,7 +18,7 @@ func (this *apiComp) BuyCheck(session comm.IUserSession, req *pb.ArenaBuyReq) (e return } -///获取自己的排行榜信息 +// /获取自己的排行榜信息 func (this *apiComp) Buy(session comm.IUserSession, req *pb.ArenaBuyReq) (errdata *pb.ErrorData) { var ( // global *cfg.GameGlobalData @@ -49,8 +49,8 @@ func (this *apiComp) Buy(session comm.IUserSession, req *pb.ArenaBuyReq) (errdat return } this.module.modelArena.recoverTicket(session, info) - - if maxbuy, err = this.module.ModuleTools.GetPriceGroupLen(comm.ArenaBuyType); err != nil { + pricekey := this.module.ModuleTools.GetGlobalConf().ArenaBuy + if maxbuy, err = this.module.ModuleTools.GetPriceGroupLen(pricekey); err != nil { errdata = &pb.ErrorData{ Code: pb.ErrorCode_ConfigNoFound, Title: pb.ErrorCode_CacheReadError.ToString(), diff --git a/modules/arena/api_challengereward.go b/modules/arena/api_challengereward.go index cf266b34f..e1cb8e77c 100644 --- a/modules/arena/api_challengereward.go +++ b/modules/arena/api_challengereward.go @@ -8,13 +8,13 @@ import ( cfg "go_dreamfactory/sys/configure/structs" ) -//参数校验 +// 参数校验 func (this *apiComp) ChallengeRewardCheck(session comm.IUserSession, req *pb.ArenaChallengeRewardReq) (errdata *pb.ErrorData) { return } -///挑战奖励领取 +// /挑战奖励领取 func (this *apiComp) ChallengeReward(session comm.IUserSession, req *pb.ArenaChallengeRewardReq) (errdata *pb.ErrorData) { var ( reward *cfg.GameArenaActiveRewardData @@ -46,7 +46,7 @@ func (this *apiComp) ChallengeReward(session comm.IUserSession, req *pb.ArenaCha errdata = &pb.ErrorData{ Code: pb.ErrorCode_BattleValidationFailed, Title: pb.ErrorCode_BattleValidationFailed.ToString(), - Message: err.Error(), + Message: "CheckBattleReport check fail", } return } diff --git a/modules/chat/module.go b/modules/chat/module.go index b5bdcfd53..43a32fa28 100644 --- a/modules/chat/module.go +++ b/modules/chat/module.go @@ -39,17 +39,17 @@ type Chat struct { modelChat *modelChatComp } -//重构模块配置对象 +// 重构模块配置对象 func (this *Chat) NewOptions() (options core.IModuleOptions) { return new(Options) } -//模块名 +// 模块名 func (this *Chat) GetType() core.M_Modules { return comm.ModuleChat } -//模块初始化接口 注册用户创建角色事件 +// 模块初始化接口 注册用户创建角色事件 func (this *Chat) Init(service core.IService, module core.IModule, options core.IModuleOptions) (err error) { err = this.ModuleBase.Init(service, module, options) this.service = service.(base.IRPCXService) @@ -73,7 +73,7 @@ func (this *Chat) Start() (err error) { return } -//装备组件 +// 装备组件 func (this *Chat) OnInstallComp() { this.ModuleBase.OnInstallComp() this.api_comp = this.RegisterComp(new(apiComp)).(*apiComp) @@ -81,15 +81,15 @@ func (this *Chat) OnInstallComp() { this.configure = this.RegisterComp(new(configureComp)).(*configureComp) } -//Event------------------------------------------------------------------------------------------------------------ +// Event------------------------------------------------------------------------------------------------------------ func (this *Chat) EventUserOffline(uid, sessionid string) { if err := this.modelChat.removeCrossChannelMember(uid); err != nil { this.Error("EventUserOffline", log.Field{Key: "uid", Value: uid}, log.Field{Key: "err", Value: err.Error()}) } } -//RPC-------------------------------------------------------------------------------------------------------------- -//推送聊天消息 +// RPC-------------------------------------------------------------------------------------------------------------- +// 推送聊天消息 func (this *Chat) Rpc_ModuleChatPushChat(ctx context.Context, args *pb.DBChat, reply *pb.EmptyResp) (err error) { var ( max_chat int32 @@ -133,8 +133,8 @@ func (this *Chat) Rpc_ModuleChatPushChat(ctx context.Context, args *pb.DBChat, r return } -//对外接口---------------------------------------------------------------------------------------------------------- -//向世界频道发送聊天消息 +// 对外接口---------------------------------------------------------------------------------------------------------- +// 向世界频道发送聊天消息 func (this *Chat) SendWorldChat(msg *pb.DBChat) (errdata *pb.ErrorData) { var ( max_chat int32 @@ -173,7 +173,7 @@ func (this *Chat) SendWorldChat(msg *pb.DBChat) (errdata *pb.ErrorData) { return } -//向工会发送聊天消息 +// 向工会发送聊天消息 func (this *Chat) SendUnionChat(msg *pb.DBChat) (errdata *pb.ErrorData) { var ( max_chat int32 @@ -212,7 +212,7 @@ func (this *Chat) SendUnionChat(msg *pb.DBChat) (errdata *pb.ErrorData) { return } -//向个人发送聊天消息 +// 向个人发送聊天消息 func (this *Chat) SendUserChat(msg *pb.DBChat) (errdata *pb.ErrorData) { var ( err error @@ -246,7 +246,7 @@ func (this *Chat) SendUserChat(msg *pb.DBChat) (errdata *pb.ErrorData) { return } -//广播系统消息 +// 广播系统消息 func (this *Chat) SendSysChatToWorld(ctype comm.ChatSystemType, appenddata interface{}, value0 int32, value1 int32, agrs ...string) (errdata *pb.ErrorData) { var ( jsonStr []byte @@ -263,7 +263,9 @@ func (this *Chat) SendSysChatToWorld(ctype comm.ChatSystemType, appenddata inter AppendInt: int64(st.Key), AppendStrs: agrs, } - if ctype == comm.ChatSystem3 { //装备分享 + + switch ctype { + case comm.ChatSystem3: msg.Ctype = pb.ChatType_Share if appenddata != nil { if jsonStr, err = json.Marshal(appenddata); err != nil { @@ -280,6 +282,23 @@ func (this *Chat) SendSysChatToWorld(ctype comm.ChatSystemType, appenddata inter msg.AppendStr = string(jsonStr) } } + case comm.ChatSystem7, comm.ChatSystem8, comm.ChatSystem9, comm.ChatSystem10, comm.ChatSystem11: + msg.Ctype = pb.ChatType_Share + if appenddata != nil { + if jsonStr, err = json.Marshal(appenddata); err != nil { + this.Errorf("err:%v", err) + } else { + data := map[string]interface{}{ + agrs[1]: map[string]interface{}{ + "key": agrs[1], + "appendStr": string(jsonStr), + "itemType": pb.ChatType_HeroShare, + }, + } + jsonStr, _ = json.Marshal(data) + msg.AppendStr = string(jsonStr) + } + } } if this.IsCross() { @@ -307,7 +326,7 @@ func (this *Chat) SendSysChatToWorld(ctype comm.ChatSystemType, appenddata inter return } -//广播系统消息 +// 广播系统消息 func (this *Chat) SendSysChatToUser(session comm.IUserSession, ctype comm.ChatSystemType, value0, value1 int32, agrs ...string) (errdata *pb.ErrorData) { if st, ok := this.configure.GetCheckChatSystem(int32(ctype), value0, value1); ok { msg := &pb.DBChat{ @@ -320,8 +339,8 @@ func (this *Chat) SendSysChatToUser(session comm.IUserSession, ctype comm.ChatSy return } -//Push-------------------------------------------------------------------------------------------------------------- -//推送消息到世界 +// Push-------------------------------------------------------------------------------------------------------------- +// 推送消息到世界 func (this *Chat) pushChatToWorld(msg *pb.DBChat) (err error) { data, _ := anypb.New(&pb.ChatMessagePush{Chat: msg}) if err = this.service.AcrossClusterBroadcast(context.Background(), msg.Stag, comm.Service_Gateway, string(comm.Rpc_GatewaySendRadioMsg), pb.UserMessage{ @@ -334,7 +353,7 @@ func (this *Chat) pushChatToWorld(msg *pb.DBChat) (err error) { return } -//推送消息到工会 +// 推送消息到工会 func (this *Chat) pushChatToUnion(msg *pb.DBChat) (err error) { if members := this.sociaty.MembersBySociatyId(msg.UnionId); members != nil { users := make([]string, 0, len(members)) @@ -348,7 +367,7 @@ func (this *Chat) pushChatToUnion(msg *pb.DBChat) (err error) { return } -//推送私聊消息 +// 推送私聊消息 func (this *Chat) pushChatToPrivate(msg *pb.DBChat) (err error) { var ( session comm.IUserSession @@ -369,7 +388,7 @@ func (this *Chat) pushChatToPrivate(msg *pb.DBChat) (err error) { return } -//推送跨服频道消息 +// 推送跨服频道消息 func (this *Chat) pushChatToCross(msg *pb.DBChat) (err error) { var ( users []*pb.CacheUser @@ -383,7 +402,7 @@ func (this *Chat) pushChatToCross(msg *pb.DBChat) (err error) { return } -//推送系统消息 +// 推送系统消息 func (this *Chat) pushChatToSystem(msg *pb.DBChat) (err error) { data, _ := anypb.New(&pb.ChatMessagePush{Chat: msg}) if err = this.service.ClusterBroadcast(context.Background(), comm.Service_Gateway, string(comm.Rpc_GatewaySendRadioMsg), pb.UserMessage{ diff --git a/modules/equipment/api_washconfirm.go b/modules/equipment/api_washconfirm.go index a4e010666..9d49b5ebc 100644 --- a/modules/equipment/api_washconfirm.go +++ b/modules/equipment/api_washconfirm.go @@ -1,13 +1,14 @@ package equipment import ( + "fmt" "go_dreamfactory/comm" "go_dreamfactory/lego/sys/log" "go_dreamfactory/pb" cfg "go_dreamfactory/sys/configure/structs" ) -//参数校验 +// 参数校验 func (this *apiComp) WashConfirmCheck(session comm.IUserSession, req *pb.EquipmentWashConfirmReq) (errdata *pb.ErrorData) { if req.Eid == "" || req.Pids == nil || len(req.Pids) == 0 { errdata = &pb.ErrorData{ @@ -18,11 +19,13 @@ func (this *apiComp) WashConfirmCheck(session comm.IUserSession, req *pb.Equipme return } -//锻造 +// 锻造 func (this *apiComp) WashConfirm(session comm.IUserSession, req *pb.EquipmentWashConfirmReq) (errdata *pb.ErrorData) { var ( equip *pb.DB_Equipment attrlibrary *cfg.GameEquipAttrlibrarySData + hero *pb.DBHero + equipments []*pb.DB_Equipment err error ) if errdata = this.WashConfirmCheck(session, req); errdata != nil { @@ -74,6 +77,32 @@ func (this *apiComp) WashConfirm(session comm.IUserSession, req *pb.EquipmentWas } return } + if equip.HeroId != "" { + equipments = make([]*pb.DB_Equipment, 8) + if hero, errdata = this.module.ModuleHero.GetHeroByObjID(session.GetUserId(), equip.HeroId); errdata != nil { + return + } + for i, v := range hero.EquipID { + if v != "" { + if v != equip.Id { + if equipments[i], err = this.module.modelEquipment.QueryUserEquipmentsById(session.GetUserId(), v); err != nil { + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_EquipmentOnFoundEquipment, + Title: pb.ErrorCode_EquipmentOnFoundEquipment.ToString(), + Message: fmt.Sprintf("装备唯一 id:%s", v), + } + return + } + } else { + equipments[i] = equip + } + } + } + if errdata = this.module.ModuleHero.UpdateEquipment(session, hero, equipments); errdata != nil { + return + } + } + session.SendMsg(string(this.module.GetType()), "washconfirm", &pb.EquipmentWashConfirmResp{Issucc: true}) return } diff --git a/modules/friend/api_cross_addblack.go b/modules/friend/api_cross_addblack.go index 2f9e1f35d..6d463bab7 100644 --- a/modules/friend/api_cross_addblack.go +++ b/modules/friend/api_cross_addblack.go @@ -89,11 +89,13 @@ func (this *apiComp) Addblack(session comm.IUserSession, req *pb.FriendAddBlackR // 将目标从好友列表中移除 friendIds := utils.Deletex(self.FriendIds, req.FriendId) - + // 将好友从申请列表移除 + applyIds := utils.Deletex(self.ApplyIds, req.FriendId) //更新 err = this.module.modelFriend.Change(self.Uid, map[string]interface{}{ "blackIds": self.BlackIds, "friendIds": friendIds, + "applyIds": applyIds, }) if err != nil { errdata = &pb.ErrorData{ diff --git a/modules/friend/api_cross_agree.go b/modules/friend/api_cross_agree.go index a8c99520a..0a75ecca3 100644 --- a/modules/friend/api_cross_agree.go +++ b/modules/friend/api_cross_agree.go @@ -109,6 +109,7 @@ func (this *apiComp) Agree(session comm.IUserSession, req *pb.FriendAgreeReq) (e } if err = this.module.modelFriend.Change(target.Uid, map[string]interface{}{ "friendIds": target.FriendIds, + "applyIds": target.ApplyIds, }); err != nil { errdata = &pb.ErrorData{ Code: pb.ErrorCode_DBError, diff --git a/modules/hero/api_strengthenUplv.go b/modules/hero/api_strengthenUplv.go index ef0f6762c..f9721c2e5 100644 --- a/modules/hero/api_strengthenUplv.go +++ b/modules/hero/api_strengthenUplv.go @@ -7,7 +7,7 @@ import ( cfg "go_dreamfactory/sys/configure/structs" ) -//参数校验 +// 参数校验 func (this *apiComp) StrengthenUplvCheck(session comm.IUserSession, req *pb.HeroStrengthenUplvReq) (errdata *pb.ErrorData) { if req.HeroObjID == "" || len(req.Item) == 0 { errdata = &pb.ErrorData{ @@ -20,7 +20,7 @@ func (this *apiComp) StrengthenUplvCheck(session comm.IUserSession, req *pb.Hero return } -/// 英雄升级 +// / 英雄升级 func (this *apiComp) StrengthenUplv(session comm.IUserSession, req *pb.HeroStrengthenUplvReq) (errdata *pb.ErrorData) { var ( @@ -96,7 +96,7 @@ func (this *apiComp) StrengthenUplv(session comm.IUserSession, req *pb.HeroStren //英雄升级 【玩家名称】已将【英雄名称】培养至60级! if user := this.module.ModuleUser.GetUser(session.GetUserId()); user != nil { - this.chat.SendSysChatToWorld(comm.ChatSystem7, nil, _hero.Lv, 0, user.Name, _hero.HeroID) + this.chat.SendSysChatToWorld(comm.ChatSystem7, _hero, _hero.Lv, 0, user.Name, _hero.HeroID) } else { this.module.Errorf("no found userdata uid:%s", session.GetUserId()) } diff --git a/modules/shop/api_buy.go b/modules/shop/api_buy.go index 83c335577..bbe6b0a86 100644 --- a/modules/shop/api_buy.go +++ b/modules/shop/api_buy.go @@ -1,6 +1,7 @@ package shop import ( + "fmt" "go_dreamfactory/comm" "go_dreamfactory/pb" cfg "go_dreamfactory/sys/configure/structs" @@ -8,9 +9,9 @@ import ( "math" ) -//参数校验 +// 参数校验 func (this *apiComp) BuyCheck(session comm.IUserSession, req *pb.ShopBuyReq) (errdata *pb.ErrorData) { - if req.ShopType == 0 || req.GoodsId == 0 || req.BuyNum <= 0 { + if req.ShopType == 0 || req.Gid == 0 || req.BuyNum <= 0 { errdata = &pb.ErrorData{ Code: pb.ErrorCode_ReqParameterError, Title: pb.ErrorCode_ReqParameterError.ToString(), @@ -19,12 +20,13 @@ func (this *apiComp) BuyCheck(session comm.IUserSession, req *pb.ShopBuyReq) (er return } -///获取用户商品列表 +// /获取用户商品列表 func (this *apiComp) Buy(session comm.IUserSession, req *pb.ShopBuyReq) (errdata *pb.ErrorData) { var ( err error conf *cfg.GameShopitemData shopData *pb.DBShop + good *pb.UserShopGood filed string record *pb.UserShopData need []*cfg.Gameatn @@ -35,14 +37,6 @@ func (this *apiComp) Buy(session comm.IUserSession, req *pb.ShopBuyReq) (errdata return } - if conf, err = this.module.configure.GetShopItemsConfigure(req.GoodsId); err != nil { - errdata = &pb.ErrorData{ - Code: pb.ErrorCode_SystemError, - Title: pb.ErrorCode_SystemError.ToString(), - Message: err.Error(), - } - return - } if shopData, err = this.module.modelShop.QueryUserShopData(session.GetUserId()); err != nil { //没有购买记录 errdata = &pb.ErrorData{ Code: pb.ErrorCode_DBError, @@ -51,23 +45,6 @@ func (this *apiComp) Buy(session comm.IUserSession, req *pb.ShopBuyReq) (errdata } return } - need = make([]*cfg.Gameatn, len(conf.Need)) - for i, v := range conf.Need { - need[i] = &cfg.Gameatn{ - A: v.A, - T: v.T, - N: int32(math.Ceil(float64(v.N)*float64(conf.Sale)/float64(1000))) * req.BuyNum, - } - } - - give = make([]*cfg.Gameatn, len(conf.Iteminfo)) - for i, v := range conf.Iteminfo { - give[i] = &cfg.Gameatn{ - A: v.A, - T: v.T, - N: v.N * req.BuyNum, - } - } switch req.ShopType { case pb.ShopType_GoldShop: @@ -106,18 +83,64 @@ func (this *apiComp) Buy(session comm.IUserSession, req *pb.ShopBuyReq) (errdata return } if record == nil { - record = &pb.UserShopData{ - Buy: map[int32]int32{}, + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_DBError, + Title: pb.ErrorCode_DBError.ToString(), + Message: err.Error(), + } + return + } + + for _, v := range record.Items { + if v.Id == req.Gid { + good = v } } - if conf.Buyminnum-record.Buy[req.GoodsId] < req.BuyNum { + + if good == nil { + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_ReqParameterError, + Title: pb.ErrorCode_ReqParameterError.ToString(), + Message: fmt.Sprintf("no found good:%d", req.Gid), + } + return + } + + if conf, err = this.module.configure.GetShopItemsConfigure(good.Gid); err != nil { + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_SystemError, + Title: pb.ErrorCode_SystemError.ToString(), + Message: err.Error(), + } + return + } + + need = make([]*cfg.Gameatn, len(conf.Need)) + for i, v := range conf.Need { + need[i] = &cfg.Gameatn{ + A: v.A, + T: v.T, + N: int32(math.Ceil(float64(v.N)*float64(conf.Sale)/float64(1000))) * req.BuyNum, + } + } + + give = make([]*cfg.Gameatn, len(conf.Iteminfo)) + for i, v := range conf.Iteminfo { + give[i] = &cfg.Gameatn{ + A: v.A, + T: v.T, + N: v.N * req.BuyNum, + } + } + + if conf.Buyminnum-good.Buy < req.BuyNum { errdata = &pb.ErrorData{ Code: pb.ErrorCode_ShopGoodsIsSoldOut, Title: pb.ErrorCode_ShopGoodsIsSoldOut.ToString(), } return } - record.Buy[req.GoodsId] += req.BuyNum + good.Buy += req.BuyNum if errdata = this.module.ConsumeRes(session, need, true); errdata != nil { return } @@ -127,25 +150,21 @@ func (this *apiComp) Buy(session comm.IUserSession, req *pb.ShopBuyReq) (errdata return } } else { - if errdata = this.module.equip.AddEquipment(session, record.Preview[req.GoodsId]); errdata != nil { + if errdata = this.module.equip.AddEquipment(session, record.Preview[req.Gid]); errdata != nil { return } } //随机任务 tasks = append(tasks, comm.GetBuriedParam(comm.Rtype64, 1)) - // this.module.ModuleRtask.SendToRtask(session, comm.Rtype64, 1) for _, v := range give { if v.A == comm.ItemType { tasks = append(tasks, comm.GetBuriedParam(comm.Rtype65, v.N, utils.ToInt32(v.T))) - // this.module.ModuleRtask.SendToRtask(session, comm.Rtype65, v.N, utils.ToInt32(v.T)) } } tasks = append(tasks, comm.GetBuriedParam(comm.Rtype66, 1, int32(req.ShopType))) - // this.module.ModuleRtask.SendToRtask(session, comm.Rtype66, 1, int32(req.ShopType)) for _, v := range need { if v.A == comm.AttrType { - // tasks = append(tasks, comm.GetBuriedParam(comm.Rtype67, v.N, utils.ToInt32(v.T))) switch v.T { case comm.ResGold: tasks = append(tasks, comm.GetBuriedParam(comm.Rtype67, v.N, 1)) diff --git a/modules/shop/api_getlist.go b/modules/shop/api_getlist.go index 1f29807d0..a78747545 100644 --- a/modules/shop/api_getlist.go +++ b/modules/shop/api_getlist.go @@ -25,6 +25,7 @@ func (this *apiComp) Getlist(session comm.IUserSession, req *pb.ShopGetListReq) var ( err error filed string + refresh int32 shopconf *cfg.GameShopData shopData *pb.DBShop udata *pb.DBUser @@ -66,6 +67,7 @@ func (this *apiComp) Getlist(session comm.IUserSession, req *pb.ShopGetListReq) case pb.ShopType_GoldShop: sdata = shopData.GoldShop filed = "goldShop" + refresh = this.module.privilege.GetCountByPrivilegeId(session.GetUserId(), comm.PrivilegeType2) break case pb.ShopType_DiamondShop: sdata = shopData.DiamondShop @@ -100,7 +102,7 @@ func (this *apiComp) Getlist(session comm.IUserSession, req *pb.ShopGetListReq) } if sdata == nil { sdata = &pb.UserShopData{ - Buy: map[int32]int32{}, + Items: make([]*pb.UserShopGood, 0), } } if shopconf.Rnum > 0 { @@ -127,14 +129,15 @@ func (this *apiComp) Getlist(session comm.IUserSession, req *pb.ShopGetListReq) if req.IsManualRefresh && shopconf.Rnum > 0 { //可以手动刷新 isrefresh := false - refresh := int(this.module.privilege.GetCountByPrivilegeId(session.GetUserId(), comm.PrivilegeType2)) if refresh > 0 { // if time.Unix(shopData.RefreshtimegoldShop, 0).Day() < configure.Now().Day() { shopData.RefreshtimegoldShop = configure.Now().Unix() shopData.RefreshnumgoldShop = 0 } - if int(shopData.RefreshnumgoldShop) < refresh { + if shopData.RefreshnumgoldShop < refresh { isrefresh = true + shopData.RefreshnumgoldShop++ + } } if !isrefresh { @@ -166,15 +169,20 @@ func (this *apiComp) Getlist(session comm.IUserSession, req *pb.ShopGetListReq) } items = append(items, randomGoods(_items)) } - sdata.Buy = make(map[int32]int32) sdata.LastRefreshTime = configure.Now().Unix() sdata.ManualRefreshNum++ - sdata.Items = make([]int32, len(items)) + sdata.Leftfreerefreshnum = refresh - shopData.RefreshnumgoldShop + sdata.Items = make([]*pb.UserShopGood, len(items)) sdata.Preview = make(map[int32]*pb.DB_Equipment) for i, v := range items { - sdata.Items[i] = v.Key + id := v.Key*100 + int32(i) + sdata.Items[i] = &pb.UserShopGood{ + Id: id, + Gid: v.Key, + Buy: 0, + } if v.Preview { //是否预览 - if errdata, sdata.Preview[v.Key] = this.module.equip.NewEquipment(session.GetUserId(), v.Iteminfo[0].T); errdata != nil { + if errdata, sdata.Preview[id] = this.module.equip.NewEquipment(session.GetUserId(), v.Iteminfo[0].T); errdata != nil { return } } @@ -213,14 +221,18 @@ func (this *apiComp) Getlist(session comm.IUserSession, req *pb.ShopGetListReq) } items = append(items, randomGoods(_items)) } - sdata.Buy = make(map[int32]int32) sdata.LastRefreshTime = configure.Now().Unix() - sdata.Items = make([]int32, len(items)) + sdata.Items = make([]*pb.UserShopGood, len(items)) sdata.Preview = make(map[int32]*pb.DB_Equipment) for i, v := range items { - sdata.Items[i] = v.Key + id := v.Key*100 + int32(i) + sdata.Items[i] = &pb.UserShopGood{ + Id: id, + Gid: v.Key, + Buy: 0, + } if v.Preview { //是否预览 - if errdata, sdata.Preview[v.Key] = this.module.equip.NewEquipment(session.GetUserId(), v.Iteminfo[0].T); errdata != nil { + if errdata, sdata.Preview[id] = this.module.equip.NewEquipment(session.GetUserId(), v.Iteminfo[0].T); errdata != nil { return } } @@ -230,7 +242,11 @@ func (this *apiComp) Getlist(session comm.IUserSession, req *pb.ShopGetListReq) // this.module.ModuleRtask.SendToRtask(session, comm.Rtype105, 1) go this.module.ModuleBuried.TriggerBuried(session.GetUserId(), comm.GetBuriedParam(comm.Rtype105, 1)) } else { //返回以前的商品列表 - if items, err = this.module.configure.GetShopItemsConfigureByIds(sdata.Items...); err != nil { + keys := make([]int32, len(sdata.Items)) + for i, v := range sdata.Items { + keys[i] = v.Gid + } + if items, err = this.module.configure.GetShopItemsConfigureByIds(keys...); err != nil { errdata = &pb.ErrorData{ Code: pb.ErrorCode_SystemError, Title: pb.ErrorCode_SystemError.ToString(), @@ -247,6 +263,6 @@ func (this *apiComp) Getlist(session comm.IUserSession, req *pb.ShopGetListReq) } return } - session.SendMsg(string(this.module.GetType()), "getlist", &pb.ShopGetListResp{SType: req.SType, IsManualRefresh: req.IsManualRefresh, Goods: goods, SurplusRefreshNum: leftrefnum, Lastrefreshtime: sdata.LastRefreshTime}) + session.SendMsg(string(this.module.GetType()), "getlist", &pb.ShopGetListResp{SType: req.SType, IsManualRefresh: req.IsManualRefresh, Goods: goods, SurplusRefreshNum: leftrefnum, Lastrefreshtime: sdata.LastRefreshTime, Leftfreerefreshnum: sdata.Leftfreerefreshnum}) return } diff --git a/modules/shop/configure.go b/modules/shop/configure.go index 7df5cf1ab..ebd8e785f 100644 --- a/modules/shop/configure.go +++ b/modules/shop/configure.go @@ -14,13 +14,13 @@ const ( game_shopitem = "game_shopitem.json" ) -///背包配置管理组件 +// /背包配置管理组件 type configureComp struct { modules.MCompConfigure module *Shop } -//组件初始化接口 +// 组件初始化接口 func (this *configureComp) Init(service core.IService, module core.IModule, comp core.IModuleComp, options core.IModuleOptions) (err error) { this.MCompConfigure.Init(service, module, comp, options) this.module = module.(*Shop) @@ -29,7 +29,7 @@ func (this *configureComp) Init(service core.IService, module core.IModule, comp return } -//获取装备配置数据 +// 获取装备配置数据 func (this *configureComp) GetShopConfigure(id int32) (configure *cfg.GameShopData, err error) { var ( v interface{} @@ -48,7 +48,7 @@ func (this *configureComp) GetShopConfigure(id int32) (configure *cfg.GameShopDa return } -//读取商品 +// 读取商品 func (this *configureComp) GetShopItemsConfigure(key int32) (result *cfg.GameShopitemData, err error) { var ( v interface{} @@ -67,7 +67,7 @@ func (this *configureComp) GetShopItemsConfigure(key int32) (result *cfg.GameSho return } -//读取商品组 +// 读取商品组 func (this *configureComp) GetShopItemsConfigureByGroups(groupid int32, user *pb.DBUser) (result []*cfg.GameShopitemData, err error) { result = make([]*cfg.GameShopitemData, 0, 10) var ( @@ -92,7 +92,7 @@ func (this *configureComp) GetShopItemsConfigureByGroups(groupid int32, user *pb return } -//读取商品 +// 读取商品 func (this *configureComp) GetShopItemsConfigureByIds(keys ...int32) (result []*cfg.GameShopitemData, err error) { result = make([]*cfg.GameShopitemData, 0, len(keys)) var ( @@ -111,6 +111,8 @@ func (this *configureComp) GetShopItemsConfigureByIds(keys ...int32) (result []* result = append(result, item) } else { this.module.Errorf("no found GetShopItemsConfigureByIds:%d", v) + err = comm.NewNotFoundConfErr(string(this.module.GetType()), game_shopitem, v) + return } } } diff --git a/modules/shop/core.go b/modules/shop/core.go index 1481ba439..a0a38818a 100644 --- a/modules/shop/core.go +++ b/modules/shop/core.go @@ -8,7 +8,7 @@ import ( "math/big" ) -//随机商品列表 +// 随机商品列表 func randomGoods(goods []*cfg.GameShopitemData) (result *cfg.GameShopitemData) { var ( totle int64 @@ -30,20 +30,16 @@ func randomGoods(goods []*cfg.GameShopitemData) (result *cfg.GameShopitemData) { return } -//转换商品对象 +// 转换商品对象 func transGoods(goods []*cfg.GameShopitemData, sdata *pb.UserShopData) (result []*pb.ShopItem) { result = make([]*pb.ShopItem, len(goods)) - // ok := false - // uitem := &pb.DBShopItem{} for i, v := range goods { - // if uitem, ok = ushoputem[v.Key]; !ok { - // uitem = &pb.DBShopItem{} - // } result[i] = &pb.ShopItem{ + Gid: sdata.Items[i].Id, GoodsId: v.Key, Sale: int32(v.Sale), } - result[i].LeftBuyNum = v.Buyminnum - sdata.Buy[v.Key] + result[i].LeftBuyNum = v.Buyminnum - sdata.Items[i].Buy result[i].Items = make([]*pb.UserAssets, len(v.Iteminfo)) for i1, v1 := range v.Iteminfo { result[i].Items[i1] = &pb.UserAssets{ diff --git a/modules/shop/module.go b/modules/shop/module.go index 6395c3ebd..3e7e75dac 100644 --- a/modules/shop/module.go +++ b/modules/shop/module.go @@ -28,12 +28,12 @@ type Shop struct { modelShop *modelShopComp } -//模块名 +// 模块名 func (this *Shop) GetType() core.M_Modules { return comm.ModuleShop } -//模块初始化接口 注册用户创建角色事件 +// 模块初始化接口 注册用户创建角色事件 func (this *Shop) Init(service core.IService, module core.IModule, options core.IModuleOptions) (err error) { err = this.ModuleBase.Init(service, module, options) this.service = service.(base.IRPCXService) @@ -53,7 +53,7 @@ func (this *Shop) Start() (err error) { return } -//装备组件 +// 装备组件 func (this *Shop) OnInstallComp() { this.ModuleBase.OnInstallComp() this.api_comp = this.RegisterComp(new(apiComp)).(*apiComp) @@ -61,7 +61,7 @@ func (this *Shop) OnInstallComp() { this.configure = this.RegisterComp(new(configureComp)).(*configureComp) } -//Event------------------------------------------------------------------------------------------------------------ +// Event------------------------------------------------------------------------------------------------------------ func (this *Shop) EventUserOffline(session comm.IUserSession) { this.modelShop.DelByUId(session.GetUserId(), db.SetDBMgoLog(false)) } diff --git a/modules/shop/module_test.go b/modules/shop/module_test.go index c92fe70d8..edc3b037b 100644 --- a/modules/shop/module_test.go +++ b/modules/shop/module_test.go @@ -30,12 +30,12 @@ func newService(ops ...rpcx.Option) core.IService { return s } -//梦工厂基础服务对象 +// 梦工厂基础服务对象 type TestService struct { rpcx.RPCXService } -//初始化相关系统 +// 初始化相关系统 func (this *TestService) InitSys() { this.RPCXService.InitSys() if err := db.OnInit(this.GetSettings().Sys["db"]); err != nil { @@ -54,7 +54,7 @@ var service core.IService var s_gateComp comm.ISC_GateRouteComp = services.NewGateRouteComp() var module = new(shop.Shop) -//测试环境下初始化db和cache 系统 +// 测试环境下初始化db和cache 系统 func TestMain(m *testing.M) { service = newService( rpcx.SetConfPath("../../bin/conf/worker_1.yaml"), @@ -76,18 +76,10 @@ func TestMain(m *testing.M) { defer os.Exit(m.Run()) } -//测试api_getlist +// 测试api_getlist func Test_Module_APIGetList(t *testing.T) { data, _ := ptypes.MarshalAny(&pb.ShopGetListReq{SType: pb.ShopType_GoldShop, IsManualRefresh: false}) reply := &pb.RPCMessageReply{} s_gateComp.ReceiveMsg(context.Background(), &pb.AgentMessage{UserId: "0_62b16dda909b2f8faeff788d", MainType: "shop", SubType: "getlist", Message: data}, reply) log.Debugf("reply:%v", reply) } - -//测试api_buy -func Test_Module_APIBuy(t *testing.T) { - data, _ := ptypes.MarshalAny(&pb.ShopBuyReq{GoodsId: 7}) - reply := &pb.RPCMessageReply{} - s_gateComp.ReceiveMsg(context.Background(), &pb.AgentMessage{UserId: "0_62b16dda909b2f8faeff788d", MainType: "shop", SubType: "buy", Message: data}, reply) - log.Debugf("reply:%v", reply) -} diff --git a/modules/tools/comp_configure.go b/modules/tools/comp_configure.go index 2a85caf59..758f948c5 100644 --- a/modules/tools/comp_configure.go +++ b/modules/tools/comp_configure.go @@ -33,7 +33,7 @@ const ( game_food = "game_breakingbad.json" ) -///配置管理基础组件 +// /配置管理基础组件 type MCompConfigure struct { cbase.ModuleCompBase hlock sync.RWMutex @@ -56,7 +56,7 @@ type MCompConfigure struct { _price map[int32][]*cfg.GamePricegroupData } -//组件初始化接口 +// 组件初始化接口 func (this *MCompConfigure) Init(service core.IService, module core.IModule, comp core.IModuleComp, options core.IModuleOptions) (err error) { err = this.ModuleCompBase.Init(service, module, comp, options) err = this.LoadConfigure(game_global, cfg.NewGameGlobal) @@ -293,7 +293,7 @@ func (this *MCompConfigure) LoadConfigure(name string, fn interface{}) (err erro return configure.RegisterConfigure(name, fn, nil) } -//加载一个配置文件 +// 加载一个配置文件 func (this *MCompConfigure) LoadDropData() { if v, err := this.GetConfigure(game_drop); err == nil { if configure, ok := v.(*cfg.GameDrop); ok { @@ -320,7 +320,7 @@ func (this *MCompConfigure) LoadDropData() { return } -//加载多个配置文件 +// 加载多个配置文件 func (this *MCompConfigure) LoadMultiConfigure(confs map[string]interface{}) (err error) { for k, v := range confs { err = configure.RegisterConfigure(k, v, nil) @@ -332,12 +332,12 @@ func (this *MCompConfigure) LoadMultiConfigure(confs map[string]interface{}) (er return } -//读取配置数据 +// 读取配置数据 func (this *MCompConfigure) GetConfigure(name string) (v interface{}, err error) { return configure.GetConfigure(name) } -//全局配置 +// 全局配置 func (this *MCompConfigure) GetGlobalConf() *cfg.GameGlobalData { var ( configure *cfg.GameGlobal @@ -492,7 +492,7 @@ func (this *MCompConfigure) GetHeroConfigData() (data []*cfg.GameHeroData) { return nil } -//读取物品配置 +// 读取物品配置 func (this *MCompConfigure) GetItemConfigureData(id string) (item *cfg.GameItemData, err error) { var ( v interface{} @@ -597,7 +597,7 @@ func (this *MCompConfigure) GetPriceGroupCost(pricegroupId int32, purchase int32 return } for _, v := range this._price[pricegroupId] { - if v.Purchasemin <= purchase && purchase <= v.Purchasemax { + if v.Purchasemin <= purchase && (purchase <= v.Purchasemax || v.Purchasemax == -1) { res = v.Cost return } @@ -609,8 +609,12 @@ func (this *MCompConfigure) GetPriceGroupLen(pricegroupId int32) (count int32, e if _, ok := this._price[pricegroupId]; !ok { err = comm.NewNotFoundConfErr("tools", game_price, pricegroupId) } - count = int32(len(this._price[pricegroupId])) - + count = 0 + for _, v := range this._price[pricegroupId] { + if count < v.Purchasemax { + count = v.Purchasemax + } + } return } diff --git a/pb/shop_db.pb.go b/pb/shop_db.pb.go index 65c5963f5..8d694d6c0 100644 --- a/pb/shop_db.pb.go +++ b/pb/shop_db.pb.go @@ -84,22 +84,85 @@ func (ShopType) EnumDescriptor() ([]byte, []int) { return file_shop_shop_db_proto_rawDescGZIP(), []int{0} } +type UserShopGood struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id int32 `protobuf:"varint,1,opt,name=id,proto3" json:"id"` //实例id + Gid int32 `protobuf:"varint,2,opt,name=gid,proto3" json:"gid"` //商品Id + Buy int32 `protobuf:"varint,3,opt,name=buy,proto3" json:"buy"` //购买实例 +} + +func (x *UserShopGood) Reset() { + *x = UserShopGood{} + if protoimpl.UnsafeEnabled { + mi := &file_shop_shop_db_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UserShopGood) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UserShopGood) ProtoMessage() {} + +func (x *UserShopGood) ProtoReflect() protoreflect.Message { + mi := &file_shop_shop_db_proto_msgTypes[0] + 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 UserShopGood.ProtoReflect.Descriptor instead. +func (*UserShopGood) Descriptor() ([]byte, []int) { + return file_shop_shop_db_proto_rawDescGZIP(), []int{0} +} + +func (x *UserShopGood) GetId() int32 { + if x != nil { + return x.Id + } + return 0 +} + +func (x *UserShopGood) GetGid() int32 { + if x != nil { + return x.Gid + } + return 0 +} + +func (x *UserShopGood) GetBuy() int32 { + if x != nil { + return x.Buy + } + return 0 +} + type UserShopData struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - LastRefreshTime int64 `protobuf:"varint,1,opt,name=LastRefreshTime,proto3" json:"LastRefreshTime"` //最后一次刷新时间 - ManualRefreshNum int32 `protobuf:"varint,2,opt,name=ManualRefreshNum,proto3" json:"ManualRefreshNum"` //手动刷新次数 - Items []int32 `protobuf:"varint,3,rep,packed,name=Items,proto3" json:"Items"` //商品列表 - Buy map[int32]int32 `protobuf:"bytes,4,rep,name=buy,proto3" json:"buy" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` //购买记录 - Preview map[int32]*DB_Equipment `protobuf:"bytes,5,rep,name=preview,proto3" json:"preview" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` //预览数据 + LastRefreshTime int64 `protobuf:"varint,1,opt,name=LastRefreshTime,proto3" json:"LastRefreshTime"` //最后一次刷新时间 + ManualRefreshNum int32 `protobuf:"varint,2,opt,name=ManualRefreshNum,proto3" json:"ManualRefreshNum"` //手动刷新次数 + Items []*UserShopGood `protobuf:"bytes,3,rep,name=Items,proto3" json:"Items"` //商品列表 + Preview map[int32]*DB_Equipment `protobuf:"bytes,5,rep,name=preview,proto3" json:"preview" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` //预览数据 + Leftfreerefreshnum int32 `protobuf:"varint,6,opt,name=leftfreerefreshnum,proto3" json:"leftfreerefreshnum"` //剩余免费刷新次数 } func (x *UserShopData) Reset() { *x = UserShopData{} if protoimpl.UnsafeEnabled { - mi := &file_shop_shop_db_proto_msgTypes[0] + mi := &file_shop_shop_db_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -112,7 +175,7 @@ func (x *UserShopData) String() string { func (*UserShopData) ProtoMessage() {} func (x *UserShopData) ProtoReflect() protoreflect.Message { - mi := &file_shop_shop_db_proto_msgTypes[0] + mi := &file_shop_shop_db_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -125,7 +188,7 @@ func (x *UserShopData) ProtoReflect() protoreflect.Message { // Deprecated: Use UserShopData.ProtoReflect.Descriptor instead. func (*UserShopData) Descriptor() ([]byte, []int) { - return file_shop_shop_db_proto_rawDescGZIP(), []int{0} + return file_shop_shop_db_proto_rawDescGZIP(), []int{1} } func (x *UserShopData) GetLastRefreshTime() int64 { @@ -142,20 +205,13 @@ func (x *UserShopData) GetManualRefreshNum() int32 { return 0 } -func (x *UserShopData) GetItems() []int32 { +func (x *UserShopData) GetItems() []*UserShopGood { if x != nil { return x.Items } return nil } -func (x *UserShopData) GetBuy() map[int32]int32 { - if x != nil { - return x.Buy - } - return nil -} - func (x *UserShopData) GetPreview() map[int32]*DB_Equipment { if x != nil { return x.Preview @@ -163,6 +219,13 @@ func (x *UserShopData) GetPreview() map[int32]*DB_Equipment { return nil } +func (x *UserShopData) GetLeftfreerefreshnum() int32 { + if x != nil { + return x.Leftfreerefreshnum + } + return 0 +} + type DBShop struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -184,7 +247,7 @@ type DBShop struct { func (x *DBShop) Reset() { *x = DBShop{} if protoimpl.UnsafeEnabled { - mi := &file_shop_shop_db_proto_msgTypes[1] + mi := &file_shop_shop_db_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -197,7 +260,7 @@ func (x *DBShop) String() string { func (*DBShop) ProtoMessage() {} func (x *DBShop) ProtoReflect() protoreflect.Message { - mi := &file_shop_shop_db_proto_msgTypes[1] + mi := &file_shop_shop_db_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -210,7 +273,7 @@ func (x *DBShop) ProtoReflect() protoreflect.Message { // Deprecated: Use DBShop.ProtoReflect.Descriptor instead. func (*DBShop) Descriptor() ([]byte, []int) { - return file_shop_shop_db_proto_rawDescGZIP(), []int{1} + return file_shop_shop_db_proto_rawDescGZIP(), []int{2} } func (x *DBShop) GetId() string { @@ -296,66 +359,68 @@ var file_shop_shop_db_proto_rawDesc = []byte{ 0x0a, 0x12, 0x73, 0x68, 0x6f, 0x70, 0x2f, 0x73, 0x68, 0x6f, 0x70, 0x5f, 0x64, 0x62, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x65, 0x71, 0x75, 0x69, 0x70, 0x6d, 0x65, 0x6e, 0x74, 0x2f, 0x65, 0x71, 0x75, 0x69, 0x70, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x64, 0x62, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x22, 0xdd, 0x02, 0x0a, 0x0c, 0x55, 0x73, 0x65, 0x72, 0x53, 0x68, 0x6f, 0x70, 0x44, - 0x61, 0x74, 0x61, 0x12, 0x28, 0x0a, 0x0f, 0x4c, 0x61, 0x73, 0x74, 0x52, 0x65, 0x66, 0x72, 0x65, - 0x73, 0x68, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0f, 0x4c, 0x61, - 0x73, 0x74, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x2a, 0x0a, - 0x10, 0x4d, 0x61, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x4e, 0x75, - 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x4d, 0x61, 0x6e, 0x75, 0x61, 0x6c, 0x52, - 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x4e, 0x75, 0x6d, 0x12, 0x14, 0x0a, 0x05, 0x49, 0x74, 0x65, - 0x6d, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x05, 0x52, 0x05, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x12, - 0x28, 0x0a, 0x03, 0x62, 0x75, 0x79, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x55, - 0x73, 0x65, 0x72, 0x53, 0x68, 0x6f, 0x70, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x42, 0x75, 0x79, 0x45, - 0x6e, 0x74, 0x72, 0x79, 0x52, 0x03, 0x62, 0x75, 0x79, 0x12, 0x34, 0x0a, 0x07, 0x70, 0x72, 0x65, - 0x76, 0x69, 0x65, 0x77, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x55, 0x73, 0x65, - 0x72, 0x53, 0x68, 0x6f, 0x70, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x50, 0x72, 0x65, 0x76, 0x69, 0x65, - 0x77, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x70, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x1a, - 0x36, 0x0a, 0x08, 0x42, 0x75, 0x79, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, - 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, - 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x49, 0x0a, 0x0c, 0x50, 0x72, 0x65, 0x76, 0x69, - 0x65, 0x77, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x23, 0x0a, 0x05, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x44, 0x42, 0x5f, 0x45, 0x71, - 0x75, 0x69, 0x70, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, - 0x38, 0x01, 0x22, 0xc7, 0x03, 0x0a, 0x06, 0x44, 0x42, 0x53, 0x68, 0x6f, 0x70, 0x12, 0x0e, 0x0a, - 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x10, 0x0a, - 0x03, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, - 0x2e, 0x0a, 0x12, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x6e, 0x75, 0x6d, 0x67, 0x6f, 0x6c, - 0x64, 0x53, 0x68, 0x6f, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x12, 0x72, 0x65, 0x66, - 0x72, 0x65, 0x73, 0x68, 0x6e, 0x75, 0x6d, 0x67, 0x6f, 0x6c, 0x64, 0x53, 0x68, 0x6f, 0x70, 0x12, - 0x30, 0x0a, 0x13, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x74, 0x69, 0x6d, 0x65, 0x67, 0x6f, - 0x6c, 0x64, 0x53, 0x68, 0x6f, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x13, 0x72, 0x65, - 0x66, 0x72, 0x65, 0x73, 0x68, 0x74, 0x69, 0x6d, 0x65, 0x67, 0x6f, 0x6c, 0x64, 0x53, 0x68, 0x6f, - 0x70, 0x12, 0x29, 0x0a, 0x08, 0x67, 0x6f, 0x6c, 0x64, 0x53, 0x68, 0x6f, 0x70, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x53, 0x68, 0x6f, 0x70, 0x44, 0x61, - 0x74, 0x61, 0x52, 0x08, 0x67, 0x6f, 0x6c, 0x64, 0x53, 0x68, 0x6f, 0x70, 0x12, 0x2f, 0x0a, 0x0b, - 0x64, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x53, 0x68, 0x6f, 0x70, 0x18, 0x06, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x0d, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x53, 0x68, 0x6f, 0x70, 0x44, 0x61, 0x74, 0x61, - 0x52, 0x0b, 0x64, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x53, 0x68, 0x6f, 0x70, 0x12, 0x27, 0x0a, - 0x07, 0x70, 0x76, 0x70, 0x53, 0x68, 0x6f, 0x70, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, - 0x2e, 0x55, 0x73, 0x65, 0x72, 0x53, 0x68, 0x6f, 0x70, 0x44, 0x61, 0x74, 0x61, 0x52, 0x07, 0x70, - 0x76, 0x70, 0x53, 0x68, 0x6f, 0x70, 0x12, 0x27, 0x0a, 0x07, 0x70, 0x76, 0x65, 0x53, 0x68, 0x6f, - 0x70, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x53, 0x68, - 0x6f, 0x70, 0x44, 0x61, 0x74, 0x61, 0x52, 0x07, 0x70, 0x76, 0x65, 0x53, 0x68, 0x6f, 0x70, 0x12, - 0x31, 0x0a, 0x0c, 0x61, 0x6c, 0x6c, 0x69, 0x61, 0x6e, 0x63, 0x65, 0x53, 0x68, 0x6f, 0x70, 0x18, - 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x53, 0x68, 0x6f, 0x70, - 0x44, 0x61, 0x74, 0x61, 0x52, 0x0c, 0x61, 0x6c, 0x6c, 0x69, 0x61, 0x6e, 0x63, 0x65, 0x53, 0x68, - 0x6f, 0x70, 0x12, 0x29, 0x0a, 0x08, 0x68, 0x65, 0x72, 0x6f, 0x53, 0x68, 0x6f, 0x70, 0x18, 0x0a, + 0x74, 0x6f, 0x22, 0x42, 0x0a, 0x0c, 0x55, 0x73, 0x65, 0x72, 0x53, 0x68, 0x6f, 0x70, 0x47, 0x6f, + 0x6f, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, + 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x67, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x03, 0x67, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x62, 0x75, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x03, 0x62, 0x75, 0x79, 0x22, 0xba, 0x02, 0x0a, 0x0c, 0x55, 0x73, 0x65, 0x72, 0x53, + 0x68, 0x6f, 0x70, 0x44, 0x61, 0x74, 0x61, 0x12, 0x28, 0x0a, 0x0f, 0x4c, 0x61, 0x73, 0x74, 0x52, + 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, + 0x52, 0x0f, 0x4c, 0x61, 0x73, 0x74, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x54, 0x69, 0x6d, + 0x65, 0x12, 0x2a, 0x0a, 0x10, 0x4d, 0x61, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x66, 0x72, 0x65, + 0x73, 0x68, 0x4e, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x4d, 0x61, 0x6e, + 0x75, 0x61, 0x6c, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x4e, 0x75, 0x6d, 0x12, 0x23, 0x0a, + 0x05, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x55, + 0x73, 0x65, 0x72, 0x53, 0x68, 0x6f, 0x70, 0x47, 0x6f, 0x6f, 0x64, 0x52, 0x05, 0x49, 0x74, 0x65, + 0x6d, 0x73, 0x12, 0x34, 0x0a, 0x07, 0x70, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x18, 0x05, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x53, 0x68, 0x6f, 0x70, 0x44, 0x61, + 0x74, 0x61, 0x2e, 0x50, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, + 0x07, 0x70, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x12, 0x2e, 0x0a, 0x12, 0x6c, 0x65, 0x66, 0x74, + 0x66, 0x72, 0x65, 0x65, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x6e, 0x75, 0x6d, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x12, 0x6c, 0x65, 0x66, 0x74, 0x66, 0x72, 0x65, 0x65, 0x72, 0x65, + 0x66, 0x72, 0x65, 0x73, 0x68, 0x6e, 0x75, 0x6d, 0x1a, 0x49, 0x0a, 0x0c, 0x50, 0x72, 0x65, 0x76, + 0x69, 0x65, 0x77, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x23, 0x0a, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x44, 0x42, 0x5f, 0x45, + 0x71, 0x75, 0x69, 0x70, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, + 0x02, 0x38, 0x01, 0x22, 0xc7, 0x03, 0x0a, 0x06, 0x44, 0x42, 0x53, 0x68, 0x6f, 0x70, 0x12, 0x0e, + 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x10, + 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, + 0x12, 0x2e, 0x0a, 0x12, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x6e, 0x75, 0x6d, 0x67, 0x6f, + 0x6c, 0x64, 0x53, 0x68, 0x6f, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x12, 0x72, 0x65, + 0x66, 0x72, 0x65, 0x73, 0x68, 0x6e, 0x75, 0x6d, 0x67, 0x6f, 0x6c, 0x64, 0x53, 0x68, 0x6f, 0x70, + 0x12, 0x30, 0x0a, 0x13, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x74, 0x69, 0x6d, 0x65, 0x67, + 0x6f, 0x6c, 0x64, 0x53, 0x68, 0x6f, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x13, 0x72, + 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x74, 0x69, 0x6d, 0x65, 0x67, 0x6f, 0x6c, 0x64, 0x53, 0x68, + 0x6f, 0x70, 0x12, 0x29, 0x0a, 0x08, 0x67, 0x6f, 0x6c, 0x64, 0x53, 0x68, 0x6f, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x53, 0x68, 0x6f, 0x70, 0x44, - 0x61, 0x74, 0x61, 0x52, 0x08, 0x68, 0x65, 0x72, 0x6f, 0x53, 0x68, 0x6f, 0x70, 0x12, 0x2d, 0x0a, - 0x0a, 0x73, 0x6d, 0x69, 0x74, 0x68, 0x79, 0x53, 0x68, 0x6f, 0x70, 0x18, 0x0b, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x0d, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x53, 0x68, 0x6f, 0x70, 0x44, 0x61, 0x74, 0x61, - 0x52, 0x0a, 0x73, 0x6d, 0x69, 0x74, 0x68, 0x79, 0x53, 0x68, 0x6f, 0x70, 0x2a, 0x7d, 0x0a, 0x08, - 0x53, 0x68, 0x6f, 0x70, 0x54, 0x79, 0x70, 0x65, 0x12, 0x08, 0x0a, 0x04, 0x4e, 0x75, 0x6c, 0x6c, - 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x47, 0x6f, 0x6c, 0x64, 0x53, 0x68, 0x6f, 0x70, 0x10, 0x01, - 0x12, 0x0f, 0x0a, 0x0b, 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x53, 0x68, 0x6f, 0x70, 0x10, - 0x02, 0x12, 0x0b, 0x0a, 0x07, 0x50, 0x56, 0x50, 0x53, 0x68, 0x6f, 0x70, 0x10, 0x03, 0x12, 0x0b, - 0x0a, 0x07, 0x50, 0x56, 0x45, 0x53, 0x68, 0x6f, 0x70, 0x10, 0x04, 0x12, 0x10, 0x0a, 0x0c, 0x41, - 0x6c, 0x6c, 0x69, 0x61, 0x6e, 0x63, 0x65, 0x53, 0x68, 0x6f, 0x70, 0x10, 0x05, 0x12, 0x0c, 0x0a, - 0x08, 0x48, 0x65, 0x72, 0x6f, 0x53, 0x68, 0x6f, 0x70, 0x10, 0x06, 0x12, 0x0e, 0x0a, 0x0a, 0x53, - 0x6d, 0x69, 0x74, 0x68, 0x79, 0x53, 0x68, 0x6f, 0x70, 0x10, 0x07, 0x42, 0x06, 0x5a, 0x04, 0x2e, - 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x61, 0x74, 0x61, 0x52, 0x08, 0x67, 0x6f, 0x6c, 0x64, 0x53, 0x68, 0x6f, 0x70, 0x12, 0x2f, 0x0a, + 0x0b, 0x64, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x53, 0x68, 0x6f, 0x70, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x53, 0x68, 0x6f, 0x70, 0x44, 0x61, 0x74, + 0x61, 0x52, 0x0b, 0x64, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x53, 0x68, 0x6f, 0x70, 0x12, 0x27, + 0x0a, 0x07, 0x70, 0x76, 0x70, 0x53, 0x68, 0x6f, 0x70, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x0d, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x53, 0x68, 0x6f, 0x70, 0x44, 0x61, 0x74, 0x61, 0x52, 0x07, + 0x70, 0x76, 0x70, 0x53, 0x68, 0x6f, 0x70, 0x12, 0x27, 0x0a, 0x07, 0x70, 0x76, 0x65, 0x53, 0x68, + 0x6f, 0x70, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x53, + 0x68, 0x6f, 0x70, 0x44, 0x61, 0x74, 0x61, 0x52, 0x07, 0x70, 0x76, 0x65, 0x53, 0x68, 0x6f, 0x70, + 0x12, 0x31, 0x0a, 0x0c, 0x61, 0x6c, 0x6c, 0x69, 0x61, 0x6e, 0x63, 0x65, 0x53, 0x68, 0x6f, 0x70, + 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x53, 0x68, 0x6f, + 0x70, 0x44, 0x61, 0x74, 0x61, 0x52, 0x0c, 0x61, 0x6c, 0x6c, 0x69, 0x61, 0x6e, 0x63, 0x65, 0x53, + 0x68, 0x6f, 0x70, 0x12, 0x29, 0x0a, 0x08, 0x68, 0x65, 0x72, 0x6f, 0x53, 0x68, 0x6f, 0x70, 0x18, + 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x53, 0x68, 0x6f, 0x70, + 0x44, 0x61, 0x74, 0x61, 0x52, 0x08, 0x68, 0x65, 0x72, 0x6f, 0x53, 0x68, 0x6f, 0x70, 0x12, 0x2d, + 0x0a, 0x0a, 0x73, 0x6d, 0x69, 0x74, 0x68, 0x79, 0x53, 0x68, 0x6f, 0x70, 0x18, 0x0b, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x53, 0x68, 0x6f, 0x70, 0x44, 0x61, 0x74, + 0x61, 0x52, 0x0a, 0x73, 0x6d, 0x69, 0x74, 0x68, 0x79, 0x53, 0x68, 0x6f, 0x70, 0x2a, 0x7d, 0x0a, + 0x08, 0x53, 0x68, 0x6f, 0x70, 0x54, 0x79, 0x70, 0x65, 0x12, 0x08, 0x0a, 0x04, 0x4e, 0x75, 0x6c, + 0x6c, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x47, 0x6f, 0x6c, 0x64, 0x53, 0x68, 0x6f, 0x70, 0x10, + 0x01, 0x12, 0x0f, 0x0a, 0x0b, 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x53, 0x68, 0x6f, 0x70, + 0x10, 0x02, 0x12, 0x0b, 0x0a, 0x07, 0x50, 0x56, 0x50, 0x53, 0x68, 0x6f, 0x70, 0x10, 0x03, 0x12, + 0x0b, 0x0a, 0x07, 0x50, 0x56, 0x45, 0x53, 0x68, 0x6f, 0x70, 0x10, 0x04, 0x12, 0x10, 0x0a, 0x0c, + 0x41, 0x6c, 0x6c, 0x69, 0x61, 0x6e, 0x63, 0x65, 0x53, 0x68, 0x6f, 0x70, 0x10, 0x05, 0x12, 0x0c, + 0x0a, 0x08, 0x48, 0x65, 0x72, 0x6f, 0x53, 0x68, 0x6f, 0x70, 0x10, 0x06, 0x12, 0x0e, 0x0a, 0x0a, + 0x53, 0x6d, 0x69, 0x74, 0x68, 0x79, 0x53, 0x68, 0x6f, 0x70, 0x10, 0x07, 0x42, 0x06, 0x5a, 0x04, + 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -374,22 +439,22 @@ var file_shop_shop_db_proto_enumTypes = make([]protoimpl.EnumInfo, 1) var file_shop_shop_db_proto_msgTypes = make([]protoimpl.MessageInfo, 4) var file_shop_shop_db_proto_goTypes = []interface{}{ (ShopType)(0), // 0: ShopType - (*UserShopData)(nil), // 1: UserShopData - (*DBShop)(nil), // 2: DBShop - nil, // 3: UserShopData.BuyEntry + (*UserShopGood)(nil), // 1: UserShopGood + (*UserShopData)(nil), // 2: UserShopData + (*DBShop)(nil), // 3: DBShop nil, // 4: UserShopData.PreviewEntry (*DB_Equipment)(nil), // 5: DB_Equipment } var file_shop_shop_db_proto_depIdxs = []int32{ - 3, // 0: UserShopData.buy:type_name -> UserShopData.BuyEntry + 1, // 0: UserShopData.Items:type_name -> UserShopGood 4, // 1: UserShopData.preview:type_name -> UserShopData.PreviewEntry - 1, // 2: DBShop.goldShop:type_name -> UserShopData - 1, // 3: DBShop.diamondShop:type_name -> UserShopData - 1, // 4: DBShop.pvpShop:type_name -> UserShopData - 1, // 5: DBShop.pveShop:type_name -> UserShopData - 1, // 6: DBShop.allianceShop:type_name -> UserShopData - 1, // 7: DBShop.heroShop:type_name -> UserShopData - 1, // 8: DBShop.smithyShop:type_name -> UserShopData + 2, // 2: DBShop.goldShop:type_name -> UserShopData + 2, // 3: DBShop.diamondShop:type_name -> UserShopData + 2, // 4: DBShop.pvpShop:type_name -> UserShopData + 2, // 5: DBShop.pveShop:type_name -> UserShopData + 2, // 6: DBShop.allianceShop:type_name -> UserShopData + 2, // 7: DBShop.heroShop:type_name -> UserShopData + 2, // 8: DBShop.smithyShop:type_name -> UserShopData 5, // 9: UserShopData.PreviewEntry.value:type_name -> DB_Equipment 10, // [10:10] is the sub-list for method output_type 10, // [10:10] is the sub-list for method input_type @@ -406,7 +471,7 @@ func file_shop_shop_db_proto_init() { file_equipment_equipment_db_proto_init() if !protoimpl.UnsafeEnabled { file_shop_shop_db_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UserShopData); i { + switch v := v.(*UserShopGood); i { case 0: return &v.state case 1: @@ -418,6 +483,18 @@ func file_shop_shop_db_proto_init() { } } file_shop_shop_db_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UserShopData); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_shop_shop_db_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DBShop); i { case 0: return &v.state diff --git a/pb/shop_msg.pb.go b/pb/shop_msg.pb.go index 570a3c1fe..c27fee94e 100644 --- a/pb/shop_msg.pb.go +++ b/pb/shop_msg.pb.go @@ -26,12 +26,13 @@ type ShopItem struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - GoodsId int32 `protobuf:"varint,1,opt,name=GoodsId,proto3" json:"GoodsId"` //商品Id - Items []*UserAssets `protobuf:"bytes,2,rep,name=Items,proto3" json:"Items"` //货物 - Consume []*UserAssets `protobuf:"bytes,3,rep,name=Consume,proto3" json:"Consume"` //消耗 - Sale int32 `protobuf:"varint,4,opt,name=Sale,proto3" json:"Sale"` //打折 - LeftBuyNum int32 `protobuf:"varint,5,opt,name=LeftBuyNum,proto3" json:"LeftBuyNum"` //还可购买次数 - Preview *DB_Equipment `protobuf:"bytes,6,opt,name=preview,proto3" json:"preview"` //装备预览数据 + Gid int32 `protobuf:"varint,1,opt,name=gid,proto3" json:"gid"` //商品id 唯一 + GoodsId int32 `protobuf:"varint,2,opt,name=GoodsId,proto3" json:"GoodsId"` //商品配置id + Items []*UserAssets `protobuf:"bytes,3,rep,name=Items,proto3" json:"Items"` //货物 + Consume []*UserAssets `protobuf:"bytes,4,rep,name=Consume,proto3" json:"Consume"` //消耗 + Sale int32 `protobuf:"varint,5,opt,name=Sale,proto3" json:"Sale"` //打折 + LeftBuyNum int32 `protobuf:"varint,6,opt,name=LeftBuyNum,proto3" json:"LeftBuyNum"` //还可购买次数 + Preview *DB_Equipment `protobuf:"bytes,7,opt,name=preview,proto3" json:"preview"` //装备预览数据 } func (x *ShopItem) Reset() { @@ -66,6 +67,13 @@ func (*ShopItem) Descriptor() ([]byte, []int) { return file_shop_shop_msg_proto_rawDescGZIP(), []int{0} } +func (x *ShopItem) GetGid() int32 { + if x != nil { + return x.Gid + } + return 0 +} + func (x *ShopItem) GetGoodsId() int32 { if x != nil { return x.GoodsId @@ -170,11 +178,12 @@ type ShopGetListResp struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - SType ShopType `protobuf:"varint,1,opt,name=sType,proto3,enum=ShopType" json:"sType"` //商城类型 - IsManualRefresh bool `protobuf:"varint,2,opt,name=IsManualRefresh,proto3" json:"IsManualRefresh"` //是否手动刷新 - Goods []*ShopItem `protobuf:"bytes,4,rep,name=Goods,proto3" json:"Goods"` //商品列表 - SurplusRefreshNum int32 `protobuf:"varint,5,opt,name=SurplusRefreshNum,proto3" json:"SurplusRefreshNum"` //剩余手动刷新次数 - Lastrefreshtime int64 `protobuf:"varint,6,opt,name=lastrefreshtime,proto3" json:"lastrefreshtime"` //上一次刷新时间 + SType ShopType `protobuf:"varint,1,opt,name=sType,proto3,enum=ShopType" json:"sType"` //商城类型 + IsManualRefresh bool `protobuf:"varint,2,opt,name=IsManualRefresh,proto3" json:"IsManualRefresh"` //是否手动刷新 + Goods []*ShopItem `protobuf:"bytes,4,rep,name=Goods,proto3" json:"Goods"` //商品列表 + SurplusRefreshNum int32 `protobuf:"varint,5,opt,name=SurplusRefreshNum,proto3" json:"SurplusRefreshNum"` //剩余手动刷新次数 + Lastrefreshtime int64 `protobuf:"varint,6,opt,name=lastrefreshtime,proto3" json:"lastrefreshtime"` //上一次刷新时间 + Leftfreerefreshnum int32 `protobuf:"varint,7,opt,name=leftfreerefreshnum,proto3" json:"leftfreerefreshnum"` //剩余免费刷新次数 } func (x *ShopGetListResp) Reset() { @@ -244,6 +253,13 @@ func (x *ShopGetListResp) GetLastrefreshtime() int64 { return 0 } +func (x *ShopGetListResp) GetLeftfreerefreshnum() int32 { + if x != nil { + return x.Leftfreerefreshnum + } + return 0 +} + //购买商品 请求 type ShopBuyReq struct { state protoimpl.MessageState @@ -251,7 +267,7 @@ type ShopBuyReq struct { unknownFields protoimpl.UnknownFields ShopType ShopType `protobuf:"varint,1,opt,name=ShopType,proto3,enum=ShopType" json:"ShopType"` //商店类型 - GoodsId int32 `protobuf:"varint,2,opt,name=GoodsId,proto3" json:"GoodsId"` //商品Id + Gid int32 `protobuf:"varint,2,opt,name=gid,proto3" json:"gid"` //商品Id BuyNum int32 `protobuf:"varint,3,opt,name=BuyNum,proto3" json:"BuyNum"` //商品购买数量 } @@ -294,9 +310,9 @@ func (x *ShopBuyReq) GetShopType() ShopType { return ShopType_Null } -func (x *ShopBuyReq) GetGoodsId() int32 { +func (x *ShopBuyReq) GetGid() int32 { if x != nil { - return x.GoodsId + return x.Gid } return 0 } @@ -364,49 +380,52 @@ var file_shop_shop_msg_proto_rawDesc = []byte{ 0x5f, 0x64, 0x62, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x65, 0x71, 0x75, 0x69, 0x70, 0x6d, 0x65, 0x6e, 0x74, 0x2f, 0x65, 0x71, 0x75, 0x69, 0x70, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x64, 0x62, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x22, 0xcb, 0x01, 0x0a, 0x08, 0x53, 0x68, 0x6f, 0x70, 0x49, 0x74, 0x65, 0x6d, - 0x12, 0x18, 0x0a, 0x07, 0x47, 0x6f, 0x6f, 0x64, 0x73, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x07, 0x47, 0x6f, 0x6f, 0x64, 0x73, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x05, 0x49, 0x74, - 0x65, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x55, 0x73, 0x65, 0x72, - 0x41, 0x73, 0x73, 0x65, 0x74, 0x73, 0x52, 0x05, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x25, 0x0a, - 0x07, 0x43, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0b, - 0x2e, 0x55, 0x73, 0x65, 0x72, 0x41, 0x73, 0x73, 0x65, 0x74, 0x73, 0x52, 0x07, 0x43, 0x6f, 0x6e, - 0x73, 0x75, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x53, 0x61, 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x04, 0x53, 0x61, 0x6c, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x4c, 0x65, 0x66, 0x74, - 0x42, 0x75, 0x79, 0x4e, 0x75, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x4c, 0x65, - 0x66, 0x74, 0x42, 0x75, 0x79, 0x4e, 0x75, 0x6d, 0x12, 0x27, 0x0a, 0x07, 0x70, 0x72, 0x65, 0x76, - 0x69, 0x65, 0x77, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x44, 0x42, 0x5f, 0x45, - 0x71, 0x75, 0x69, 0x70, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x07, 0x70, 0x72, 0x65, 0x76, 0x69, 0x65, - 0x77, 0x22, 0x5b, 0x0a, 0x0e, 0x53, 0x68, 0x6f, 0x70, 0x47, 0x65, 0x74, 0x4c, 0x69, 0x73, 0x74, - 0x52, 0x65, 0x71, 0x12, 0x1f, 0x0a, 0x05, 0x73, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0e, 0x32, 0x09, 0x2e, 0x53, 0x68, 0x6f, 0x70, 0x54, 0x79, 0x70, 0x65, 0x52, 0x05, 0x73, - 0x54, 0x79, 0x70, 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x49, 0x73, 0x4d, 0x61, 0x6e, 0x75, 0x61, 0x6c, - 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x49, - 0x73, 0x4d, 0x61, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x22, 0xd5, - 0x01, 0x0a, 0x0f, 0x53, 0x68, 0x6f, 0x70, 0x47, 0x65, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, - 0x73, 0x70, 0x12, 0x1f, 0x0a, 0x05, 0x73, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0e, 0x32, 0x09, 0x2e, 0x53, 0x68, 0x6f, 0x70, 0x54, 0x79, 0x70, 0x65, 0x52, 0x05, 0x73, 0x54, - 0x79, 0x70, 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x49, 0x73, 0x4d, 0x61, 0x6e, 0x75, 0x61, 0x6c, 0x52, - 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x49, 0x73, - 0x4d, 0x61, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x12, 0x1f, 0x0a, - 0x05, 0x47, 0x6f, 0x6f, 0x64, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x53, - 0x68, 0x6f, 0x70, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x05, 0x47, 0x6f, 0x6f, 0x64, 0x73, 0x12, 0x2c, - 0x0a, 0x11, 0x53, 0x75, 0x72, 0x70, 0x6c, 0x75, 0x73, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, - 0x4e, 0x75, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x11, 0x53, 0x75, 0x72, 0x70, 0x6c, - 0x75, 0x73, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x4e, 0x75, 0x6d, 0x12, 0x28, 0x0a, 0x0f, - 0x6c, 0x61, 0x73, 0x74, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x74, 0x69, 0x6d, 0x65, 0x18, - 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0f, 0x6c, 0x61, 0x73, 0x74, 0x72, 0x65, 0x66, 0x72, 0x65, - 0x73, 0x68, 0x74, 0x69, 0x6d, 0x65, 0x22, 0x65, 0x0a, 0x0a, 0x53, 0x68, 0x6f, 0x70, 0x42, 0x75, - 0x79, 0x52, 0x65, 0x71, 0x12, 0x25, 0x0a, 0x08, 0x53, 0x68, 0x6f, 0x70, 0x54, 0x79, 0x70, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x09, 0x2e, 0x53, 0x68, 0x6f, 0x70, 0x54, 0x79, 0x70, - 0x65, 0x52, 0x08, 0x53, 0x68, 0x6f, 0x70, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x47, - 0x6f, 0x6f, 0x64, 0x73, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x47, 0x6f, - 0x6f, 0x64, 0x73, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x42, 0x75, 0x79, 0x4e, 0x75, 0x6d, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x42, 0x75, 0x79, 0x4e, 0x75, 0x6d, 0x22, 0x25, 0x0a, - 0x0b, 0x53, 0x68, 0x6f, 0x70, 0x42, 0x75, 0x79, 0x52, 0x65, 0x73, 0x70, 0x12, 0x16, 0x0a, 0x06, - 0x49, 0x73, 0x53, 0x75, 0x63, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x49, 0x73, - 0x53, 0x75, 0x63, 0x63, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x33, + 0x6f, 0x74, 0x6f, 0x22, 0xdd, 0x01, 0x0a, 0x08, 0x53, 0x68, 0x6f, 0x70, 0x49, 0x74, 0x65, 0x6d, + 0x12, 0x10, 0x0a, 0x03, 0x67, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x67, + 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x47, 0x6f, 0x6f, 0x64, 0x73, 0x49, 0x64, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x07, 0x47, 0x6f, 0x6f, 0x64, 0x73, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x05, + 0x49, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x55, 0x73, + 0x65, 0x72, 0x41, 0x73, 0x73, 0x65, 0x74, 0x73, 0x52, 0x05, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x12, + 0x25, 0x0a, 0x07, 0x43, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x0b, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x41, 0x73, 0x73, 0x65, 0x74, 0x73, 0x52, 0x07, 0x43, + 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x53, 0x61, 0x6c, 0x65, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x53, 0x61, 0x6c, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x4c, 0x65, + 0x66, 0x74, 0x42, 0x75, 0x79, 0x4e, 0x75, 0x6d, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, + 0x4c, 0x65, 0x66, 0x74, 0x42, 0x75, 0x79, 0x4e, 0x75, 0x6d, 0x12, 0x27, 0x0a, 0x07, 0x70, 0x72, + 0x65, 0x76, 0x69, 0x65, 0x77, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x44, 0x42, + 0x5f, 0x45, 0x71, 0x75, 0x69, 0x70, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x07, 0x70, 0x72, 0x65, 0x76, + 0x69, 0x65, 0x77, 0x22, 0x5b, 0x0a, 0x0e, 0x53, 0x68, 0x6f, 0x70, 0x47, 0x65, 0x74, 0x4c, 0x69, + 0x73, 0x74, 0x52, 0x65, 0x71, 0x12, 0x1f, 0x0a, 0x05, 0x73, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0e, 0x32, 0x09, 0x2e, 0x53, 0x68, 0x6f, 0x70, 0x54, 0x79, 0x70, 0x65, 0x52, + 0x05, 0x73, 0x54, 0x79, 0x70, 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x49, 0x73, 0x4d, 0x61, 0x6e, 0x75, + 0x61, 0x6c, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x0f, 0x49, 0x73, 0x4d, 0x61, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, + 0x22, 0x85, 0x02, 0x0a, 0x0f, 0x53, 0x68, 0x6f, 0x70, 0x47, 0x65, 0x74, 0x4c, 0x69, 0x73, 0x74, + 0x52, 0x65, 0x73, 0x70, 0x12, 0x1f, 0x0a, 0x05, 0x73, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0e, 0x32, 0x09, 0x2e, 0x53, 0x68, 0x6f, 0x70, 0x54, 0x79, 0x70, 0x65, 0x52, 0x05, + 0x73, 0x54, 0x79, 0x70, 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x49, 0x73, 0x4d, 0x61, 0x6e, 0x75, 0x61, + 0x6c, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, + 0x49, 0x73, 0x4d, 0x61, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x12, + 0x1f, 0x0a, 0x05, 0x47, 0x6f, 0x6f, 0x64, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x09, + 0x2e, 0x53, 0x68, 0x6f, 0x70, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x05, 0x47, 0x6f, 0x6f, 0x64, 0x73, + 0x12, 0x2c, 0x0a, 0x11, 0x53, 0x75, 0x72, 0x70, 0x6c, 0x75, 0x73, 0x52, 0x65, 0x66, 0x72, 0x65, + 0x73, 0x68, 0x4e, 0x75, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x11, 0x53, 0x75, 0x72, + 0x70, 0x6c, 0x75, 0x73, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x4e, 0x75, 0x6d, 0x12, 0x28, + 0x0a, 0x0f, 0x6c, 0x61, 0x73, 0x74, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x74, 0x69, 0x6d, + 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0f, 0x6c, 0x61, 0x73, 0x74, 0x72, 0x65, 0x66, + 0x72, 0x65, 0x73, 0x68, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x2e, 0x0a, 0x12, 0x6c, 0x65, 0x66, 0x74, + 0x66, 0x72, 0x65, 0x65, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x6e, 0x75, 0x6d, 0x18, 0x07, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x12, 0x6c, 0x65, 0x66, 0x74, 0x66, 0x72, 0x65, 0x65, 0x72, 0x65, + 0x66, 0x72, 0x65, 0x73, 0x68, 0x6e, 0x75, 0x6d, 0x22, 0x5d, 0x0a, 0x0a, 0x53, 0x68, 0x6f, 0x70, + 0x42, 0x75, 0x79, 0x52, 0x65, 0x71, 0x12, 0x25, 0x0a, 0x08, 0x53, 0x68, 0x6f, 0x70, 0x54, 0x79, + 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x09, 0x2e, 0x53, 0x68, 0x6f, 0x70, 0x54, + 0x79, 0x70, 0x65, 0x52, 0x08, 0x53, 0x68, 0x6f, 0x70, 0x54, 0x79, 0x70, 0x65, 0x12, 0x10, 0x0a, + 0x03, 0x67, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x67, 0x69, 0x64, 0x12, + 0x16, 0x0a, 0x06, 0x42, 0x75, 0x79, 0x4e, 0x75, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x06, 0x42, 0x75, 0x79, 0x4e, 0x75, 0x6d, 0x22, 0x25, 0x0a, 0x0b, 0x53, 0x68, 0x6f, 0x70, 0x42, + 0x75, 0x79, 0x52, 0x65, 0x73, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x49, 0x73, 0x53, 0x75, 0x63, 0x63, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x49, 0x73, 0x53, 0x75, 0x63, 0x63, 0x42, 0x06, + 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/sys/configure/structs/Game.WorldBattleData.go b/sys/configure/structs/Game.WorldBattleData.go index e67dbac39..396456717 100644 --- a/sys/configure/structs/Game.WorldBattleData.go +++ b/sys/configure/structs/Game.WorldBattleData.go @@ -16,6 +16,7 @@ type GameWorldBattleData struct { BattleReadyID int32 EventList []int32 Playexp *Gameatn + Carexe int32 } const TypeId_GameWorldBattleData = 1096332216 @@ -56,6 +57,7 @@ func (_v *GameWorldBattleData)Deserialize(_buf map[string]interface{}) (err erro } { var _ok_ bool; var _x_ map[string]interface{}; if _x_, _ok_ = _buf["playexp"].(map[string]interface{}); !_ok_ { err = errors.New("playexp error"); return }; if _v.Playexp, err = DeserializeGameatn(_x_); err != nil { return } } + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["carexe"].(float64); !_ok_ { err = errors.New("carexe error"); return }; _v.Carexe = int32(_tempNum_) } return } diff --git a/sys/configure/structs/game.globalData.go b/sys/configure/structs/game.globalData.go index 41008685c..f85e30f5f 100644 --- a/sys/configure/structs/game.globalData.go +++ b/sys/configure/structs/game.globalData.go @@ -114,7 +114,7 @@ type GameGlobalData struct { ArenaTicketMax int32 ArenaTicketRecoveryTime int32 ArenaTicketCos *Gameatn - ArenaBuy []*Gameatn + ArenaBuy int32 VikingExpeditionRecoveryTime int32 CopsRecoveryTime int32 CopsInitialNum int32 @@ -493,20 +493,7 @@ func (_v *GameGlobalData)Deserialize(_buf map[string]interface{}) (err error) { { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["ArenaTicket_max"].(float64); !_ok_ { err = errors.New("ArenaTicket_max error"); return }; _v.ArenaTicketMax = int32(_tempNum_) } { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["ArenaTicket_RecoveryTime"].(float64); !_ok_ { err = errors.New("ArenaTicket_RecoveryTime error"); return }; _v.ArenaTicketRecoveryTime = int32(_tempNum_) } { var _ok_ bool; var _x_ map[string]interface{}; if _x_, _ok_ = _buf["ArenaTicket_cos"].(map[string]interface{}); !_ok_ { err = errors.New("ArenaTicket_cos error"); return }; if _v.ArenaTicketCos, err = DeserializeGameatn(_x_); err != nil { return } } - { - var _arr_ []interface{} - var _ok_ bool - if _arr_, _ok_ = _buf["Arena_buy"].([]interface{}); !_ok_ { err = errors.New("Arena_buy error"); return } - - _v.ArenaBuy = make([]*Gameatn, 0, len(_arr_)) - - for _, _e_ := range _arr_ { - var _list_v_ *Gameatn - { var _ok_ bool; var _x_ map[string]interface{}; if _x_, _ok_ = _e_.(map[string]interface{}); !_ok_ { err = errors.New("_list_v_ error"); return }; if _list_v_, err = DeserializeGameatn(_x_); err != nil { return } } - _v.ArenaBuy = append(_v.ArenaBuy, _list_v_) - } - } - + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["Arena_buy"].(float64); !_ok_ { err = errors.New("Arena_buy error"); return }; _v.ArenaBuy = int32(_tempNum_) } { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["VikingExpedition_RecoveryTime"].(float64); !_ok_ { err = errors.New("VikingExpedition_RecoveryTime error"); return }; _v.VikingExpeditionRecoveryTime = int32(_tempNum_) } { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["cops_RecoveryTime"].(float64); !_ok_ { err = errors.New("cops_RecoveryTime error"); return }; _v.CopsRecoveryTime = int32(_tempNum_) } { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["cops_InitialNum"].(float64); !_ok_ { err = errors.New("cops_InitialNum error"); return }; _v.CopsInitialNum = int32(_tempNum_) } diff --git a/sys/configure/structs/game.playerlvData.go b/sys/configure/structs/game.playerlvData.go index f549665f9..d3e9ff867 100644 --- a/sys/configure/structs/game.playerlvData.go +++ b/sys/configure/structs/game.playerlvData.go @@ -16,6 +16,7 @@ type GamePlayerlvData struct { Reward []*Gameatn PsCeiling int32 CopsPsCeiling int32 + HeroLv int32 } const TypeId_GamePlayerlvData = 927774449 @@ -43,6 +44,7 @@ func (_v *GamePlayerlvData)Deserialize(_buf map[string]interface{}) (err error) { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["ps_ceiling"].(float64); !_ok_ { err = errors.New("ps_ceiling error"); return }; _v.PsCeiling = int32(_tempNum_) } { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["cops_ps_ceiling"].(float64); !_ok_ { err = errors.New("cops_ps_ceiling error"); return }; _v.CopsPsCeiling = int32(_tempNum_) } + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["hero_lv"].(float64); !_ok_ { err = errors.New("hero_lv error"); return }; _v.HeroLv = int32(_tempNum_) } return }