From e3df247e5d0ad9ec44a4eed28c1fc7c9795a7419 Mon Sep 17 00:00:00 2001
From: hch <305670599@qq.com>
Date: 星期六, 24 十一月 2018 18:20:06 +0800
Subject: [PATCH] 5031 子 【优化】【1.3】神兵系统修改 / 【后端】【1.3】神兵特效解锁时的系统广播
---
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