hch
2019-06-03 2eab795c40d64af47f624ffccba94ec88ef591bc
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Event/EventSrc/FunctionNPCCommon.py
@@ -356,7 +356,7 @@
    diffTime = GameWorld.GetCurrentTime() - GameWorld.GetDateTimeByStr(createRoleTime, ChConfig.TYPE_Time_Format)
    pastSeconds = diffTime.days*24*60*60 + diffTime.seconds
    refreshTime = IpyGameDataPY.GetFuncCfg('MysteryShopRefresh', 4)
    if pastSeconds % refreshTime == 0:
    if refreshTime and pastSeconds % refreshTime == 0:
        __DoMysticalShopRefresh(curPlayer, True, tick)
    return
@@ -372,7 +372,10 @@
def __DoMysticalShopRefresh(curPlayer, isFree, tick):
    global g_mysticalShopDict #{等级范围:[等级段,{金钱类型:库}]}
    refreshTime = IpyGameDataPY.GetFuncCfg('MysteryShopRefresh', 4)
    if not refreshTime:
        return
    lastTime = curPlayer.GetDictByKey(ChConfig.Def_PlayerKey_MysticalShopLastTime)
    if lastTime and tick - lastTime < 1000:
        #GameWorld.DebugLog('神秘商店刷新,过于频繁!')
@@ -385,6 +388,8 @@
            lvRange = ipyData.GetLVRange()
            goodsID = ipyData.GetGoodsID()
            goodsIpyData = IpyGameDataPY.GetIpyGameData('Store', goodsID)
            if not goodsIpyData:
                continue
            moneyType = goodsIpyData.GetMoneyType()
            weight = goodsIpyData.GetLimitValue()
            lvkey = tuple(lvRange)
@@ -395,7 +400,8 @@
                g_mysticalShopDict[lvkey][1][moneyType] = []
            weightDict[moneyType] = weightDict.get(moneyType, 0) + weight
            g_mysticalShopDict[lvkey][1][moneyType].append([weightDict[moneyType], goodsID])
    if not g_mysticalShopDict:
        return
    playerLV = curPlayer.GetLV()
    curLVDan, shopDict = GameWorld.GetDictValueByRangeKey(g_mysticalShopDict, playerLV)
    if not shopDict:
@@ -725,7 +731,7 @@
    itemControl = ItemControler.PlayerItemControler(curPlayer)
    for itemID, itemCount, isBind in totalItemList:
        curItemObj = ItemControler.GetOutPutItemObj(itemID, itemCount, False)
        curItemObj = ItemControler.GetOutPutItemObj(itemID, itemCount, False, curPlayer=curPlayer)
        if not curItemObj:
            continue
        userData = curItemObj.GetUserData()