hxp
2024-12-20 87de8ad7ed5c10277275fd8657bd28729c36ecf1
10348 【英语】累充福缘奖励修改
2个文件已修改
45 ■■■■■ 已修改文件
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerActTotalRecharge.py 44 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py
@@ -3928,6 +3928,7 @@
Def_PDict_CostRebateWorldLV = "CostRebateWorldLV_%s" #消费返利活动开启时世界等级,参数(活动编号)
#累计充值活动
Def_PDict_FnFortuneCompensate = "FnFortuneCompensate" #英文版福缘累充奖励补发状态
Def_PDict_TotalRechargeID = "TotalRechargeID_%s"  # 玩家身上的累计充值活动ID,唯一标识,取活动开始日期time值,参数:(活动编号)
Def_PDict_TotalRechargeTemplateID = "TotalRechargeTemplateID_%s"  # 玩家身上的累计充值模板ID,参数:(活动编号)
Def_PDict_TotalRechargeGold = "TotalRechargeGold_%s"  # 消费返利总累计充值X元,参数:(活动编号)
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerActTotalRecharge.py
@@ -29,6 +29,49 @@
import ChConfig
import CommFunc
def __DoFnFortuneCompensate(curPlayer):
    ## 英文版福缘累充奖励补发,后续可删除
    if curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_FnFortuneCompensate):
        return
    PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_FnFortuneCompensate, 1)
    actNum = 35
    actInfo = GameWorld.GetActInfo(ShareDefine.OperationActionName_TotalRecharge, actNum)
    state = actInfo.get(ShareDefine.ActKey_State, 0)
    templateID = GetTemplateID(actInfo.get(ShareDefine.ActKey_CfgID, 0), actInfo.get(ShareDefine.ActKey_DayIndex, 0))
    if not state or not templateID:
        return
    curRechargeGold = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_TotalRechargeGold % actNum)
    if not curRechargeGold:
        return
    ipyDataList = IpyGameDataPY.GetIpyGameDataList("TotalRechargeTemplate", templateID)
    if not ipyDataList:
        return
    compensateItemDict = IpyGameDataPY.GetFuncEvalCfg("FortuneCompensate", 1, {})
    playerID = curPlayer.GetPlayerID()
    awardRecord = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_TotalRechargeAwardRecord % actNum)
    #GameWorld.Log("福缘累充奖励补发! curRechargeGold=%s,awardRecord=%s" % (curRechargeGold, awardRecord), playerID)
    for ipyData in ipyDataList:
        awardIndex = ipyData.GetAwardIndex()
        if not awardRecord & pow(2, awardIndex):
            #GameWorld.Log("福缘累充奖励未领取,不补发! awardIndex=%s" % awardIndex, playerID)
            continue
        if awardIndex not in compensateItemDict:
            continue
        #needGold = CommFunc.RMBToCoin(ipyData.GetNeedGold())
        addItemList = compensateItemDict[awardIndex]
        needRMB = str(ipyData.GetNeedGold())
        if needRMB.endswith(".0"):
            needRMB = needRMB[:-2]
        paramList = [needRMB]
        PlayerControl.SendMailByKey("FortuneCompensate", [playerID], addItemList, paramList)
        GameWorld.Log("福缘累充奖励已领取,补发! awardIndex=%s, %s" % (awardIndex, addItemList), playerID)
    return
def GetTemplateID(cfgID, dayIndex):
    if cfgID == None or dayIndex == None:
        return 0
@@ -50,6 +93,7 @@
                Sync_TotalRechargeActionInfo(curPlayer, actNum)
                Sync_TotalRechargeInfo(curPlayer, actNum)
                
    __DoFnFortuneCompensate(curPlayer)
    return
def RefreshTotalRechargeActionInfo(actNum):