From 79af0ddc0c8b3e2a09418284677c6a9517854a29 Mon Sep 17 00:00:00 2001
From: xdh <xiefantasy@qq.com>
Date: 星期五, 21 九月 2018 14:14:57 +0800
Subject: [PATCH] 3740 【后端】大小宝箱刷新逻辑
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerCostRebate.py | 30 ++++++++++++++++++++++--------
1 files changed, 22 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..a393361 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,20 @@
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
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 = ipyData.GetStartDate()
+ actInfo.EndtDate = ipyData.GetEndDate()
+ actInfo.LimitLV = ipyData.GetLVLimit()
+ actInfo.IsDayReset = ipyData.GetIsDayReset()
actInfo.AwardDayInfo = []
for templateID in templateIDList:
ipyDataList = IpyGameDataPY.GetIpyGameDataList("CostRebateTemplate", templateID)
--
Gitblit v1.8.0