| | |
| | | import GameFuncComm
|
| | | import EventShell
|
| | | import PlayerPet
|
| | | import datetime
|
| | |
|
| | | #关联类型
|
| | | (
|
| | |
| | |
|
| | | #########################################日常活动###########################################
|
| | |
|
| | | 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):
|
| | | ##增加日常活动完成次数
|