From bc25d4e060efb6ed7b946fbfb1333a52aa73caef Mon Sep 17 00:00:00 2001 From: xdh <xiefantasy@qq.com> Date: 星期六, 22 十二月 2018 16:17:18 +0800 Subject: [PATCH] 5372 【后端】【1.4】聚魂副本开发(新增守卫AI66, 玩家不能对怪物加buff) --- ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerCostRebate.py | 31 +++++++++++++++++++++++-------- 1 files changed, 23 insertions(+), 8 deletions(-) diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerCostRebate.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerCostRebate.py index e9dc42f..b5ee561 100644 --- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerCostRebate.py +++ b/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) -- Gitblit v1.8.0