功能

展示商店列表

  • 列出商品
  • 商店名
  • 商品具体信息
  • 主线的商店
  • 日常商店
    • 后勤终端
    • 置换空间
    • 家园商店
    • 魔女回廊
    • 补给商店
  • 玩法商店
    • 乐土商店
    • 战场宝库
    • 虚境商店
    • 舰团终端
    • 督学表彰
  • 基础货币
    • 星石商店
    • 金币商店
    • 补给卡
  • 活动商店
    • TBD

相关数据结构

GetShopListReq

1
2
3
4
5
GetShopListReq {
enum CmdID {
CMdId = 6700,
}
}

GetShopListRsp

1
2
3
4
5
GetShopListRsp {
Retcode retcode,
List<Shop> ShopLists,
bool IsAll,
}

Shop

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
Shop {
uint ShopId,
bool IsOpen,
string TextMapName,
string ShopIconPath,
List<Goods> GoodsLists,
uint NextAutoRefreshTime,
uint ManualRefreshTimes,
uint RefreshItem,
uint NextRefreshCost,
uint MaxManualRefreshTimes,
uint ShopType, // 指定商店类型
uint [] CurrencyLists,
uint ScheduleChangeTime,
string ShopName,
uint UnlockLevel,
uint [] AllGoodsIdLists,
uint BeginTime,
uint EndTime,
bool IsHot,
uint MultiCurrency,
bool IsDoubleConfirm,
bool IsShow,
uint SortPriority,
uint [] ToolbarCurrencyLists,
uint [] NewCurrencyLists,
uint FreeManualRefreshTimes,
}

Goods

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
Goods: {
uint GoodsId,
uint BuyTimes,
bool CanBeRefresh,
RefreshTimeType refresh_time_type,
uint BeginTime,
uint EndTime,
ShowType show_type,
string UnlockTips,
uint PrepareTime,
uint SortId,
string ProductName,
uint ProductId,
uint ProductPrice,
string ShowSettingStr,
uint ShowNewTag,
uint [] MallAnchorLists,
bool IsIgnore,
uint UnlockType,
uint UnlockParaInt,
string UnlockParaStr,
uint PrepareLevel,
uint MinLevel,
uint MaxLevel,
bool IsPopup,
bool IsHidePrice,
uint MaxBuyType,
}

数据分析

查看json数据,发现有很多都存在Shop的属性字段:ShopId等

接下来进行逐个分析

MaterialData.json

可能相关的数据属性:

1
2
3
4
5
6
7
8
9
10
{
"ShopUseList": [
"<type=\"17|4\" text=\"Currency_Obtain_Source_Desc_501\"/>"
],
"SortID": 13,
"quickBuyType": 2,
"shopType": 201,
"idShopGoods": 710083,
"quickBuyConfirm": false,
}

ShopGoodsData.json

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
{
"ItemID": 300139,
"ItemLevel": 0,
"ItemNum": 1,
"MCoinCost": 0,
"HCoinCost": 0,
"CostItemId1": 0,
"CostItemNum1": 0,
"CostItemId2": 0,
"CostItemNum2": 0,
"CostItemId3": 0,
"CostItemNum3": 0,
"CostItemId4": 0,
"CostItemNum4": 0,
"CostItemId5": 0,
"CostItemNum5": 0,
"MaxBuyTimes": 1,
"PriceRateID": 10,
"Discount": 10000,
"IsSuperWorth": 1,
"IsNew": true,
"CouponType": 0,
"RedDot": false,
"IsBuyMultiple": false,
"GoodsClassIdList": [],
"GoodsSortId": 0,
"IsAutoOpen": 0,
"BuyMultipleMax": 99,
"GlobalMaxBuyTimes": 0,
"ChooseDialogType": 0,
"DataImpl": {},
"ID": 16000226
},

ShopTabs.json

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
{
"ShopTabTitle": {
"hash": -910174613
},
"ShopTypeList": [
1,
7,
22,
14,
25
],
"TabIconPath": "SpriteOutput\\ShopTabIcons\\ParentTab\\IconDaily",
"DataImpl": {},
"ShopTabId": 1
},

我觉得可以先把商店的shopType确定下来。看样子ShopName都没有用,应该是要用ShopType来做

查找每个商店的物品(ID成簇,还是比较好确定的):

发现GoodsClassIdLists这个属性对应了一个类型,不过不是所有都有

  • 日常商店
    • 后勤终端:
    • 置换空间:
      • 货币:圣痕共鸣:8004,武器共鸣:8008
    • 家园商店:
      • 货币:金花奖章:934
    • 魔女回廊:
      • 货币:魔女宝珠:3129,纯粹魔女宝珠:3130,人偶宝珠:3134
    • 补给商店:
      • 货币:装甲残晶:998
  • 玩法商店
    • 乐土商店
      • 货币:锈蚀之徽:119715
    • 战场宝库
      { }
    • 联机军备
      • 货币:魂蚀玉:5569
    • 虚境商店
      • 货币:时空构造体:902,以太燃素:915,121001-121012,121044-121047 (模具)
    • 舰团终端
      • 货币:舰团币:9101
    • 督学表彰
      • 货币:3107
  • 基础货币
    • 星石商店:
      • 货币:星石:5
        材料相关:{ 533, 534, 535, 539, 566, 567, 568, 572, 574, 582, 589, 596, 597, 598, 602, 220011, 612031, 612091, 630231, 630371, 630451, 651111, 651121, }
        碎片相关:{ 570, 575, 576, 577, 581, 583, 584, 585, 586, 587, 588, 590, 591, 592, 593, 594, 595, 600, 605, 606, 607, 608, 623, 624, 629 }
        增幅相关:{ 543, 544, 550, 564, 571, 573, 578, 579, 580 }
    • 金币商店
      • 货币:金币:100
        { 630461, 630471, 630481, 630491, 630501, 630511, 630521, 630531, 630541, 630551, 630561, 630571 }
    • 补给卡
      • 货币:水晶:Hcoin
        { 502, 35311, 35312, 13000111, 16300598, }
  • 活动商店
    • TBD