功能
展示商店列表
相关数据结构
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
这个属性对应了一个类型,不过不是所有都有
- 日常商店
- 后勤终端:
- 置换空间:
- 家园商店:
- 魔女回廊:
- 货币:魔女宝珠:3129,纯粹魔女宝珠:3130,人偶宝珠:3134
- 补给商店:
- 玩法商店
- 乐土商店
- 战场宝库
{ }
- 联机军备
- 虚境商店
- 货币:时空构造体:902,以太燃素:915,121001-121012,121044-121047 (模具)
- 舰团终端
- 督学表彰
- 基础货币
- 星石商店:
- 货币:星石: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, }
- 活动商店