hxp
16 小时以前 e1fb8828f3e3ade575522e1717322a27e0521daf
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/FBCommon.py
@@ -18,6 +18,7 @@
import ItemCommon
import NPCCommon
import ReadChConfig
import PlayerActivity
import ChPyNetSendPack
import NetPackCommon
import IpyGameDataPY
@@ -1531,7 +1532,7 @@
def AddEnterFBCount(curPlayer, fbID, addCount=1, lineBit=-1, isFree=False):
    ## 增加玩家进入副本次数
    ## @param isFree: 是否免费进入的,免费的不增加实际进入次数,但需要触发进入次数额外处理,如活跃、成就等
    #addCountEx = addCount
    addCountEx = addCount
    addCount = 0 if isFree else addCount
    fbID = GetRecordMapID(fbID)
    enterCntKey = ChConfig.Def_Player_Dict_FbEnterCnt % fbID
@@ -1543,12 +1544,13 @@
        PlayerControl.NomalDictSetProperty(curPlayer, enterCntKey, updValue)
    else:
        maxCnt = GetEnterFBMaxCnt(curPlayer, fbID)
        if enterCnt >= maxCnt:
        if not isFree and enterCnt >= maxCnt:
            return False
        updCnt = min(maxCnt, enterCnt + addCount)
        addCount = updCnt-enterCnt
        PlayerControl.NomalDictSetProperty(curPlayer, enterCntKey, updCnt)
        
        PlayerActivity.AddDailyTaskValue(curPlayer, ChConfig.DailyTask_FBFinish, addCountEx, [fbID])
        updValue = updCnt
    GameWorld.DebugLog("    AddEnterFBCount fbID=%s, addCount=%s, lineBit=%s, enterCnt=%s,updValue=%s" 
                       % (fbID, addCount, lineBit, enterCnt, updValue), curPlayer.GetPlayerID())
@@ -1617,9 +1619,10 @@
    if not costType or not payMoneyList:
        GameWorld.DebugLog("没有配置购买副本次数消耗货币数! mapID=%s,costType=%s,payMoneyList=%s" % (mapID, costType, payMoneyList))
        return
    costMoney = payMoneyList[hasBuyCnt] if len(payMoneyList) > hasBuyCnt else payMoneyList[-1]
    if not PlayerControl.PayMoney(curPlayer, costType, costMoney, ChConfig.Def_Cost_BuyFBCnt, {"MapID":mapID}):
        return
    if not PlayerGoldInvest.IsFBCntBuyFree(curPlayer, mapID):
        costMoney = payMoneyList[hasBuyCnt] if len(payMoneyList) > hasBuyCnt else payMoneyList[-1]
        if not PlayerControl.PayMoney(curPlayer, costType, costMoney, ChConfig.Def_Cost_BuyFBCnt, {"MapID":mapID}):
            return
    PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_Player_Dict_FBBuyCnt % mapID, hasBuyCnt + 1)
    Sync_FBPlayerFBInfoData(curPlayer, mapID)
    return