ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerCostRebate.py
@@ -28,6 +28,15 @@
import GameWorld
import ChConfig
def GetTemplateID(cfgID, dayIndex):
    if cfgID == None or dayIndex == None:
        return 0
    ipyData = IpyGameDataPY.GetIpyGameData("ActCostRebate", cfgID)
    if not ipyData:
        return 0
    templateIDList = ipyData.GetTemplateIDList()
    templateID = templateIDList[-1] if dayIndex >= len(templateIDList) else templateIDList[dayIndex]
    return templateID
def OnPlayerLogin(curPlayer):
    isReset = __CheckPlayerCostRebateAction(curPlayer)
@@ -65,7 +74,7 @@
        #GameWorld.DebugLog("消费返利活动ID不变,不处理!", curPlayer.GetPlayerID())
        return
    
    templateID = actCostRebateInfo.get(ShareDefine.ActKey_TemplateID, 0)
    templateID = GetTemplateID(actCostRebateInfo.get(ShareDefine.ActKey_CfgID, 0), actCostRebateInfo.get(ShareDefine.ActKey_DayIndex, 0))
    playerTemplateID = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_CostRebateTemplateID)
    
    GameWorld.DebugLog("消费返利重置! costRebateID=%s,playerCostRebateID=%s,state=%s,templateID=%s,playerTemplateID=%s" 
@@ -135,7 +144,7 @@
        return
    
    actID = actCostRebateInfo.get(ShareDefine.ActKey_ID)
    templateID = actCostRebateInfo.get(ShareDefine.ActKey_TemplateID)
    templateID = GetTemplateID(actCostRebateInfo.get(ShareDefine.ActKey_CfgID, 0), actCostRebateInfo.get(ShareDefine.ActKey_DayIndex, 0))
    if not actID or not templateID:
        GameWorld.ErrLog("消费返利活动数据异常!actID=%s,templateID=%s" % (actID, templateID), curPlayer.GetPlayerID())
        return
@@ -158,7 +167,7 @@
    actCostRebateInfo = PyGameData.g_operationActionDict.get(ShareDefine.OperationActionName_CostRebate, {})
    costRebateID = actCostRebateInfo.get(ShareDefine.ActKey_ID, 0)
    state = actCostRebateInfo.get(ShareDefine.ActKey_State, 0)
    templateID = actCostRebateInfo.get(ShareDefine.ActKey_TemplateID, 0)
    templateID = GetTemplateID(actCostRebateInfo.get(ShareDefine.ActKey_CfgID, 0), actCostRebateInfo.get(ShareDefine.ActKey_DayIndex, 0))
    if not state or not templateID:
        GameWorld.DebugLog("没有消费返利活动,无法领奖!state=%s,templateID=%s" % (state, templateID), playerID)
        return
@@ -233,15 +242,21 @@
    if not actCostRebateInfo.get(ShareDefine.ActKey_State):
        return
    
    templateIDList = actCostRebateInfo.get(ShareDefine.ActKey_TemplateIDList)
    cfgID = actCostRebateInfo.get(ShareDefine.ActKey_CfgID)
    ipyData = IpyGameDataPY.GetIpyGameData("ActCostRebate", cfgID)
    if not ipyData:
        return
    templateIDList = ipyData.GetTemplateIDList()
    if not templateIDList:
        return
    
    openServerDay = GameWorld.GetGameWorld().GetGameWorldDictByKey(ShareDefine.Def_Notify_WorldKey_ServerDay) + 1
    actInfo = ChPyNetSendPack.tagMCCostRebateInfo()
    actInfo.StartDate = actCostRebateInfo.get(ShareDefine.ActKey_StartDate, "")
    actInfo.EndtDate = actCostRebateInfo.get(ShareDefine.ActKey_EndDate, "")
    actInfo.LimitLV = actCostRebateInfo.get(ShareDefine.ActKey_LVLimit, 0)
    actInfo.IsDayReset = actCostRebateInfo.get(ShareDefine.ActKey_IsDayReset, 0)
    actInfo.StartDate = GameWorld.GetOperationActionDateStr(ipyData.GetStartDate(), openServerDay)
    actInfo.EndtDate = GameWorld.GetOperationActionDateStr(ipyData.GetEndDate(), openServerDay)
    actInfo.LimitLV = ipyData.GetLVLimit()
    actInfo.IsDayReset = ipyData.GetIsDayReset()
    actInfo.AwardDayInfo = []
    for templateID in templateIDList:
        ipyDataList = IpyGameDataPY.GetIpyGameDataList("CostRebateTemplate", templateID)