From f8dab27621ee5061a48b3a0142c6860b360cf0c9 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期三, 16 十月 2019 17:17:27 +0800
Subject: [PATCH] 8262 【主干】【后端】仙盟宴会及传功优化(增加宴会结束倒计时显示)

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerActivity.py |   38 ++++++++++++++++++++++++++++++++++++++
 1 files changed, 38 insertions(+), 0 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerActivity.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerActivity.py
index abd8c8b..6c610a3 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerActivity.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerActivity.py
@@ -30,6 +30,7 @@
 import GameFuncComm
 import EventShell
 import PlayerPet
+import datetime
 
 #关联类型
 (
@@ -426,6 +427,43 @@
 
 #########################################日常活动###########################################
 
+def GetDailyActionOpenEndTime(dailyID):
+    ## 获取日常活动开启结束时间点
+    ipyData = IpyGameDataPY.GetIpyGameData('DailyAction', dailyID)
+    if not ipyData:
+        return
+    openTimeDict = ipyData.GetOpenTimeDict()
+    duration = ipyData.GetDuration()
+    if not openTimeDict or not duration:
+        return
+    allOpenTimeList = openTimeDict.values()
+    if not allOpenTimeList:
+        return
+    openTimeList = allOpenTimeList[0] # 这边默认为每日的开启时间段一样,直接取第一日
+    if len(openTimeList) == 1:
+        openHour, openMinute = openTimeList[0]
+    else:
+        #openHour, openMinute = 
+        # 每天多个时间段的再说,暂时没用到
+        return
+    
+    curDateTime = GameWorld.GetCurrentTime()
+    openTimeStr = "%d-%d-%d %02d:%02d:00" % (curDateTime.year, curDateTime.month, curDateTime.day, openHour, openMinute)
+    openDateTime = datetime.datetime.strptime(openTimeStr, ChConfig.TYPE_Time_Format)
+    endDateTime = openDateTime + datetime.timedelta(minutes=duration)
+    return openDateTime, endDateTime
+
+def GetDailyActionRemainSeconds(dailyID):
+    ## 获取日常活动当前剩余秒数
+    openEndTimeInfo = GetDailyActionOpenEndTime(dailyID)
+    if not openEndTimeInfo:
+        return 0
+    openDateTime, endDateTime = openEndTimeInfo
+    curDateTime = GameWorld.GetCurrentTime()
+    if curDateTime < openDateTime or curDateTime >= endDateTime:
+        return 0
+    remainDateTime = endDateTime - curDateTime
+    return remainDateTime.seconds
 
 def AddDailyActionFinishCnt(curPlayer, dailyID, addCnt=1):
     ##增加日常活动完成次数

--
Gitblit v1.8.0