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