8353 【后端】个人BOSS修改(修复无进入次数时无法进入首次免费的线路bug)
2个文件已修改
22 ■■■■■ 已修改文件
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/FBCommon.py 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_PersonalBoss.py 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/FBCommon.py
@@ -181,7 +181,7 @@
            return ShareDefine.EntFBAskRet_FBClose
        
        #进入次数判断
        canEnter, notifyMark = __CheckCanEnterFBByTime(curPlayer, mapID, fbIpyData, reqEnterCnt, isTeamAsk)
        canEnter, notifyMark = __CheckCanEnterFBByTime(curPlayer, mapID, lineID, fbIpyData, reqEnterCnt, isTeamAsk)
        if not canEnter:
            if notifyMark:
                PlayerControl.NotifyCode(curPlayer, notifyMark, [mapID])
@@ -219,12 +219,19 @@
        
    return ShareDefine.EntFBAskRet_OK
def __CheckCanEnterFBByTime(curPlayer, mapID, fbIpyData, reqEnterCnt, isTeamAsk):
def __CheckCanEnterFBByTime(curPlayer, mapID, lineID, fbIpyData, reqEnterCnt, isTeamAsk):
    #进入次数判断
    maxTimes = fbIpyData.GetDayTimes()
    if not maxTimes:
        return True, ""
    
    # 首次进入免费
    if mapID in [ChConfig.Def_FBMapID_PersonalBoss]:
        curfbStar = GameWorld.GetDictValueByBit(curPlayer, ChConfig.Def_Player_Dict_PlayerFBStar_MapId, lineID, False, [mapID])
        if not curfbStar:
            GameWorld.DebugLog("OnEnterFBEvent 首次进入该副本线路免费!mapID=%s,lineID=%s" % (mapID, lineID))
            return True, ""
    #playerID = curPlayer.GetPlayerID()
    enterCnt = curPlayer.NomalDictGetProperty(ChConfig.Def_Player_Dict_EnterFbCntDay % mapID)
    maxCnt = GetEnterFBMaxCnt(curPlayer, mapID)
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_PersonalBoss.py
@@ -28,17 +28,6 @@
## 是否能够通过活动查询进入
def OnEnterFBEvent(curPlayer, mapID, lineID, tick):
    curfbStar = GameWorld.GetDictValueByBit(curPlayer, ChConfig.Def_Player_Dict_PlayerFBStar_MapId, lineID, False, [mapID])
    if not curfbStar:
        #GameWorld.DebugLog("OnEnterFBEvent 首次进入个人boss免费!mapID=%s,lineID=%s" % (mapID, lineID))
        return True
    enterCnt = curPlayer.NomalDictGetProperty(ChConfig.Def_Player_Dict_EnterFbCntDay % mapID)
    maxCnt = FBCommon.GetEnterFBMaxCnt(curPlayer, mapID)
    if enterCnt >= maxCnt:
        GameWorld.ErrLog("次数不足,无法进入个人boss! mapID=%s,lineID=%s" % (mapID, lineID), curPlayer.GetPlayerID())
        return False
    return True
## 是否需要做进入副本通用检查条件逻辑,默认需要检查