From 1ea73e1885835466265ce788d93556b7030ee0e8 Mon Sep 17 00:00:00 2001 From: hxp <ale99527@vip.qq.com> Date: 星期日, 30 十二月 2018 18:42:00 +0800 Subject: [PATCH] 5424 【后端】【1.4】跨服竞技场开发(GM工具增加子服服务器维护,文字翻译版) --- ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerSpringSale.py | 34 ++++++++++++++++++---------------- 1 files changed, 18 insertions(+), 16 deletions(-) diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerSpringSale.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerSpringSale.py index 68735b3..374e2d7 100644 --- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerSpringSale.py +++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerSpringSale.py @@ -36,12 +36,7 @@ return todayShopType def OnPlayerLogin(curPlayer): - isReset = __CheckPlayerSpringSaleAction(curPlayer) - if not isReset: - actInfo = PyGameData.g_operationActionDict.get(ShareDefine.OperationActionName_SpringSale, {}) - # 活动中同步活动信息 - if actInfo.get(ShareDefine.ActKey_State): - Sync_SpringSaleActionInfo(curPlayer) + __CheckPlayerSpringSaleAction(curPlayer) return def RefreshSpringSaleActionInfo(): @@ -65,13 +60,14 @@ cfgID = actInfo.get(ShareDefine.ActKey_CfgID, 0) playerActID = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_SpringSaleID) # 玩家身上的活动ID - + isReset = False if actID != playerActID: + isReset = True shopTypeList = GetShopTypeList(cfgID, actInfo.get(ShareDefine.ActKey_DayIndex, 0)) FunctionNPCCommon.ResetShopItemBuyCountByShopType(curPlayer, shopTypeList) PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_SpringSaleID, actID) PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_SpringSaleMailState, 0) - Sync_SpringSaleActionInfo(curPlayer) + #Sync_SpringSaleActionInfo(curPlayer) GameWorld.DebugLog("限时特惠重置! actID=%s,playerActID=%s,state=%s,shopTypeList=%s" % (actID, playerActID, state, shopTypeList), playerID) else: GameWorld.DebugLog("限时特惠活动ID不变,不处理!", playerID) @@ -83,7 +79,10 @@ PlayerControl.SendMailByKey(springSaleIpyData.GetMailKey(), [playerID], springSaleIpyData.GetMailItemPrize()) PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_SpringSaleMailState, state) GameWorld.DebugLog(" 发送新限时特惠邮件提醒! state=%s,playerMailState=%s" % (state, playerMailState), playerID) - return True + + if cfgID: + Sync_SpringSaleActionInfo(curPlayer) + return isReset def Sync_SpringSaleActionInfo(curPlayer): ## 通知限时特惠活动信息 @@ -91,13 +90,15 @@ if not actInfo: return - if not actInfo.get(ShareDefine.ActKey_State): - return + #需要提前通知,所以去掉此限制 + #if not actInfo.get(ShareDefine.ActKey_State): + # return cfgID = actInfo.get(ShareDefine.ActKey_CfgID, 0) - shopTypeList = GetShopTypeList(actInfo.get(ShareDefine.ActKey_CfgID, 0), actInfo.get(ShareDefine.ActKey_DayIndex, 0)) - - if not cfgID or not shopTypeList: + if not cfgID: + return + shopTypeList = GetShopTypeList(cfgID, actInfo.get(ShareDefine.ActKey_DayIndex, 0)) + if not shopTypeList: return springSaleIpyData = IpyGameDataPY.GetIpyGameData("ActSpringSale", cfgID) @@ -110,9 +111,10 @@ GameWorld.ErrLog("限时特惠开关时间时分配置错误!cfgID=%s" % cfgID) return + openServerDay = GameWorld.GetGameWorld().GetGameWorldDictByKey(ShareDefine.Def_Notify_WorldKey_ServerDay) + 1 packInfo = ChPyNetSendPack.tagMCSpringSaleInfo() - packInfo.StartDate = springSaleIpyData.GetStartDate() - packInfo.EndtDate = springSaleIpyData.GetEndDate() + packInfo.StartDate = GameWorld.GetOperationActionDateStr(springSaleIpyData.GetStartDate(), openServerDay) + packInfo.EndtDate = GameWorld.GetOperationActionDateStr(springSaleIpyData.GetEndDate(), openServerDay) packInfo.AdvanceMinutes = springSaleIpyData.GetAdvanceMinutes() packInfo.ActivityTime = [] for i, startTime in enumerate(startTimeList): -- Gitblit v1.8.0