10198 【香港】【越南】【主干】【砍树】【后端】BOSS凭证优化(优化凭证转化: 活动开始后到参与结束都不转化,包含活动开始参与前;)
2个文件已修改
10 ■■■■■ 已修改文件
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerActBossTrial.py 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerControl.py 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerActBossTrial.py
@@ -209,7 +209,7 @@
    return True
def IsInActBossTrial(curPlayer):
    ## 是否有正在参与中的进行中活动
    ## 玩家是否有正在进行中活动,不含参与结束阶段
    return PlayerControl.IsInOperationAction(curPlayer, ShareDefine.OperationActionName_BossTrial, ChConfig.Def_PDict_BossTrialID, 
                                             ShareDefine.CrossActName_BossTrial, ChConfig.Def_PDict_CA_BossTrialID)
    
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerControl.py
@@ -6085,15 +6085,16 @@
#---------------------------------------------------------------------
def IsInOperationAction(curPlayer, actName, actIDKey, crossActName="", crossActIDKey=""):
    ## 玩家是否有正在参与中的活动中运营活动
    ## 玩家是否有正在进行中运营活动,不含参与结束阶段
    
    if crossActName and crossActIDKey:
        playerActID = curPlayer.NomalDictGetProperty(crossActIDKey)
        actInfo = CrossRealmPlayer.GetPlayerCrossActInfo(curPlayer, crossActName)
        actID = actInfo.get(ShareDefine.ActKey_ID, 0)
        cfgID = actInfo.get(ShareDefine.ActKey_CfgID, 0)
        state = actInfo.get(ShareDefine.ActKey_State, 0)
        stateJoin = actInfo.get(ShareDefine.ActKey_StateJoin, 0)
        if stateJoin == ShareDefine.ActStateJoin_Start and actID == playerActID:
        if state and stateJoin != ShareDefine.ActStateJoin_End and actID == playerActID:
            GameWorld.DebugLog("%s活动玩家正在参与中! cfgID=%s,actID=%s,stateJoin=%s" 
                               % (crossActName, cfgID, actID, stateJoin), curPlayer.GetPlayerID())
            return True
@@ -6101,9 +6102,10 @@
    for actInfo in PyGameData.g_operationActionDict.get(actName, {}).values():
        actNum = actInfo.get(ShareDefine.ActKey_ActNum, 0)
        actID = actInfo.get(ShareDefine.ActKey_ID, 0)
        state = actInfo.get(ShareDefine.ActKey_State, 0)
        stateJoin = actInfo.get(ShareDefine.ActKey_StateJoin, 0)
        playerActID = curPlayer.NomalDictGetProperty(actIDKey % actNum)
        if stateJoin == ShareDefine.ActStateJoin_Start and actID == playerActID:
        if state and stateJoin != ShareDefine.ActStateJoin_End and actID == playerActID:
            GameWorld.DebugLog("%s玩家正在参与中! actNum=%s,actID=%s,stateJoin=%s" 
                               % (actName, actNum, actID, stateJoin), curPlayer.GetPlayerID())
            return True