From 530e5b34c34018cfaea917152a7065167fcc7586 Mon Sep 17 00:00:00 2001
From: xdh <xiefantasy@qq.com>
Date: 星期一, 19 十一月 2018 19:30:06 +0800
Subject: [PATCH] 4740 子 【开发】【1.3】通过多倍修行点额外获得的修行点有上限限制(每日)
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerFlashSale.py | 48 ++++++++++++++++++++++++++++++++----------------
1 files changed, 32 insertions(+), 16 deletions(-)
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerFlashSale.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerFlashSale.py
index 7e3cb9a..5015528 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerFlashSale.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerFlashSale.py
@@ -73,7 +73,8 @@
isReset = True
if cfgID:
flashSaleIpyData = IpyGameDataPY.GetIpyGameData("ActFlashSale", cfgID)
- startDate = flashSaleIpyData.GetStartDate()
+ openServerDay = GameWorld.GetGameWorld().GetGameWorldDictByKey(ShareDefine.Def_Notify_WorldKey_ServerDay) + 1
+ startDate = GameWorld.GetOperationActionDateStr(flashSaleIpyData.GetStartDate(), openServerDay)
startTimeNum = GameWorld.ChangeTimeStrToNum(startDate, timeFormat=ChConfig.TYPE_Time_Format_Day)
else:
startTimeNum = 0
@@ -116,8 +117,9 @@
LVLimit = flashSaleIpyData.GetLVLimit()
if not mailKey or curPlayer.GetLV() < LVLimit:
return
- startDate = flashSaleIpyData.GetStartDate()
- endDate = flashSaleIpyData.GetEndDate()
+ openServerDay = GameWorld.GetGameWorld().GetGameWorldDictByKey(ShareDefine.Def_Notify_WorldKey_ServerDay) + 1
+ startDate = GameWorld.GetOperationActionDateStr(flashSaleIpyData.GetStartDate(), openServerDay)
+ endDate = GameWorld.GetOperationActionDateStr(flashSaleIpyData.GetEndDate(), openServerDay)
startTimeList = flashSaleIpyData.GetStartTimeList()
endTimeList = flashSaleIpyData.GetEndTimeList()
if not startTimeList or not endTimeList:
@@ -127,7 +129,8 @@
endTime = datetime.datetime.strptime("%s %s:00" % (endDate, endTimeList[-1]), ChConfig.TYPE_Time_Format)
curDateTime = GameWorld.GetCurrentTime()
if startTime <= curDateTime <= endTime:
- PlayerControl.SendMailByKey(mailKey, [curPlayer.GetID()], flashSaleIpyData.GetMailItemPrize())
+ paramList = [startDate.replace('-','/'), endDate.replace('-','/'), GameWorld.GbkToCode('、').join(startTimeList)]
+ PlayerControl.SendMailByKey(mailKey, [curPlayer.GetID()], flashSaleIpyData.GetMailItemPrize(), paramList)
startTimeNum = GameWorld.ChangeTimeStrToNum(startDate, timeFormat=ChConfig.TYPE_Time_Format_Day)
PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_FlashSaleMailState, startTimeNum, ChConfig.Def_PDictType_FlashSale)
GameWorld.DebugLog(" 发送新限时抢购邮件提醒!", curPlayer.GetID())
@@ -226,10 +229,11 @@
if not cfgID:
return
PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_FlashSaleYY % goodsID, packData.State, ChConfig.Def_PDictType_FlashSale)
+ Sync_FlashSaleAppointmentInfo(curPlayer, goodsID)
return
-def Sync_FlashSaleAppointmentInfo(curPlayer):
+def Sync_FlashSaleAppointmentInfo(curPlayer, goodsID=0):
##通知限时抢购预约情况
actInfo = PyGameData.g_operationActionDict.get(ShareDefine.OperationActionName_FlashSale, {})
if not actInfo:
@@ -242,17 +246,29 @@
return
packInfo = ChPyNetSendPack.tagMCFlashSaleAppointmentInfo()
packInfo.GoodsList = []
- shopTypeList = flashSaleIpyData.GetShopTypeList()
- for dayIndex, shopList in enumerate(shopTypeList):
- for timeIndex, shopType in enumerate(shopList):
- shopItemIpyDataList = IpyGameDataPY.GetIpyGameDataByCondition("Store", {"ShopType":shopType}, True, True)
- if not shopItemIpyDataList:
- continue
- for i in xrange(len(shopItemIpyDataList)):
- goodsMark = dayIndex * 10000 + timeIndex * 100 + i #商品标识
- isAppointment = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_FlashSaleYY % goodsMark, 0, ChConfig.Def_PDictType_FlashSale)
- if isAppointment:
- packInfo.GoodsList.append(goodsMark)
+ if goodsID == 0:
+ packInfo.IsAll = 1
+ shopTypeList = flashSaleIpyData.GetShopTypeList()
+ for dayIndex, shopList in enumerate(shopTypeList):
+ for timeIndex, shopType in enumerate(shopList):
+ shopItemIpyDataList = IpyGameDataPY.GetIpyGameDataByCondition("Store", {"ShopType":shopType}, True, True)
+ if not shopItemIpyDataList:
+ continue
+ for i in xrange(len(shopItemIpyDataList)):
+ goodsMark = dayIndex * 10000 + timeIndex * 100 + i #商品标识
+ isAppointment = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_FlashSaleYY % goodsMark, 0, ChConfig.Def_PDictType_FlashSale)
+ if isAppointment:
+ appoinetmentPack = ChPyNetSendPack.tagMCFlashSaleAppointmentState()
+ appoinetmentPack.GoodsMark = goodsMark
+ appoinetmentPack.State = 1
+ packInfo.GoodsList.append(appoinetmentPack)
+ else:
+ packInfo.IsAll = 0
+ isAppointment = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_FlashSaleYY % goodsID, 0, ChConfig.Def_PDictType_FlashSale)
+ appoinetmentPack = ChPyNetSendPack.tagMCFlashSaleAppointmentState()
+ appoinetmentPack.GoodsMark = goodsID
+ appoinetmentPack.State = isAppointment
+ packInfo.GoodsList.append(appoinetmentPack)
packInfo.GoodsCount = len(packInfo.GoodsList)
NetPackCommon.SendFakePack(curPlayer, packInfo)
return
--
Gitblit v1.8.0