9135 【主干】【BT3】活动逻辑优化(世界等级变更不影响已经开启活动的玩家奖励;多日连充、单日/多日累充 冲突)
2个文件已修改
43 ■■■■■ 已修改文件
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerActManyDayRecharge.py 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerActTotalRecharge.py 39 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerActManyDayRecharge.py
@@ -223,7 +223,7 @@
                           % (templateID, needRechargeValue, needDays, finishDays, dayRechargeValueDict), playerID)
        return
    
    actWorldLV = actInfo.get(ShareDefine.ActKey_WorldLV, 0)
    actWorldLV = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_ManyDayRechargeWorldLV % actNum)
    awardItemList = GameWorld.GetDictValueByRangeKey(ipyData.GetAwardItemInfo(), actWorldLV, [])
    
    if not ItemControler.CheckPackSpaceEnough(curPlayer, awardItemList):
@@ -276,7 +276,7 @@
    if not templateID:
        return
    
    actWorldLV = actInfo.get(ShareDefine.ActKey_WorldLV, 0)
    actWorldLV = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_ManyDayRechargeWorldLV % actNum)
    startDateStr, endDateStr = GameWorld.GetOperationActionDateStr(ipyData)
    
    clientPack = ChPyNetSendPack.tagMCActManyDayRechargeInfo()
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerActTotalRecharge.py
@@ -49,8 +49,6 @@
def OnPlayerLogin(curPlayer):
    
    TransferPlayerActDBKeyValue(curPlayer)
    for actInfo in PyGameData.g_operationActionDict.get(ShareDefine.OperationActionName_TotalRecharge, {}).values():
        actNum = actInfo.get(ShareDefine.ActKey_ActNum, 0)
        isReset = __CheckPlayerTotalRechargeAction(curPlayer, actNum)
@@ -60,39 +58,6 @@
                Sync_TotalRechargeActionInfo(curPlayer, actNum)
                Sync_TotalRechargeInfo(curPlayer, actNum)
                
    return
def TransferPlayerActDBKeyValue(curPlayer):
    ## 玩家登录时调用,旧版本玩家活动数据转移到新版本字典,线上版本维护之后的版本可删除此代码,线上版本分支 gt_1.100.4
    # 原: 1-常规单日;2-常规多日;3-节日多日
    # 新:10            11        31
    transferActNumDict = {1:10, 2:11, 3:31}
    for actNumOld, actNumNew in transferActNumDict.items():
        actID = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_TotalRechargeID % actNumOld)
        if not actID:
            continue
        templateID = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_TotalRechargeTemplateID % actNumOld)
        rechargeGold = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_TotalRechargeGold % actNumOld)
        awardRecord = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_TotalRechargeAwardRecord % actNumOld)
        worldLV = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_TotalRechargeWorldLV % actNumOld)
        PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_TotalRechargeID % actNumNew, actID)
        PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_TotalRechargeTemplateID % actNumNew, templateID)
        PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_TotalRechargeGold % actNumNew, rechargeGold)
        PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_TotalRechargeAwardRecord % actNumNew, awardRecord)
        PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_TotalRechargeWorldLV % actNumNew, worldLV)
        PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_TotalRechargeID % actNumOld, 0)
        PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_TotalRechargeTemplateID % actNumOld, 0)
        PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_TotalRechargeGold % actNumOld, 0)
        PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_TotalRechargeAwardRecord % actNumOld, 0)
        PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_TotalRechargeWorldLV % actNumOld, 0)
        GameWorld.Log("累计充值转移玩家活动字典记录: actNumOld=%s,actNumNew=%s,actID=%s,templateID=%s,rechargeGold=%s,awardRecord=%s,worldLV=%s"
                      % (actNumOld, actNumNew, actID, templateID, rechargeGold, awardRecord, worldLV), curPlayer.GetPlayerID())
    return
def RefreshTotalRechargeActionInfo(actNum):
@@ -259,7 +224,7 @@
        return
    
    needGold = CommFunc.RMBToCoin(awardIpyData.GetNeedGold())
    actWorldLV = actInfo.get(ShareDefine.ActKey_WorldLV, 0)
    actWorldLV = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_TotalRechargeWorldLV % actNum)
    awardItemList = __GetItemList(ipyData.GetAwardItem(), curPlayer.GetJob(), actWorldLV)
    
    curRechargeGold = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_TotalRechargeGold % actNum)
@@ -314,7 +279,7 @@
    if not templateIDList:
        return
    job = curPlayer.GetJob()
    actWorldLV = actInfo.get(ShareDefine.ActKey_WorldLV, 0)
    actWorldLV = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_TotalRechargeWorldLV % actNum)
    startDateStr, endDateStr = GameWorld.GetOperationActionDateStr(ipyData)
    actInfo = ChPyNetSendPack.tagMCActTotalRechargeInfo()
    actInfo.ActNum = actNum