From fc7847f19424c902c7e6fdac1d024b5039b3d725 Mon Sep 17 00:00:00 2001 From: xdh <xiefantasy@qq.com> Date: 星期四, 14 二月 2019 15:16:49 +0800 Subject: [PATCH] 5315 【后端】【1.6】登录奖励活动 --- ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldAverageLv.py | 32 ++++++++++++++++++++++++++++++++ 1 files changed, 32 insertions(+), 0 deletions(-) diff --git a/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldAverageLv.py b/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldAverageLv.py index d7ebfa8..696ac71 100644 --- a/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldAverageLv.py +++ b/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldAverageLv.py @@ -23,6 +23,8 @@ import PlayerDBGSEvent import ChConfig import IpyGameDataPY + +import datetime #------------------------------------------------------------------------------ @@ -87,3 +89,33 @@ return worldLV +def GetWorldLVListByTime(startTime, day=1): + ##根据时间计算多个世界等级 + initOpenServerTime = PlayerDBGSEvent.GetDBGSTrig_ByKey(PlayerDBGSEvent.Def_InitOpenServerTime) + if initOpenServerTime <= 0: + return [] + worldlvList = [] + diffSecond = PlayerDBGSEvent.GetDBGSTrig_ByKey(PlayerDBGSEvent.Def_WorldLVExtraTime) #额外时间参数 + initOpenServerTime = GameWorld.ChangeTimeNumToDatetime(initOpenServerTime, ChConfig.TYPE_Time_Format) + if startTime < initOpenServerTime: + return [] + ipyMgr = IpyGameDataPY.IPY_Data() + for dayIndex in xrange(day): + nextTime = startTime + datetime.timedelta(days=dayIndex) + pastTimeDelta = nextTime - initOpenServerTime + pastSeconds = max(0, pastTimeDelta.days * 24 * 60 * 60 + pastTimeDelta.seconds + diffSecond) + maxCnt = ipyMgr.GetWorldLVCount() + worldLV = 0 + for i in xrange(maxCnt): + curIpyData = ipyMgr.GetWorldLVByIndex(i) + if i == maxCnt - 1: + worldLV = curIpyData.GetWorldLV() + else: + nextIpyData = ipyMgr.GetWorldLVByIndex(i+1) + if curIpyData.GetOpenServerSecond() <= pastSeconds < nextIpyData.GetOpenServerSecond(): + worldLV = curIpyData.GetWorldLV() + break + worldlvList.append(worldLV) + + GameWorld.DebugLog(' GetWorldLVByTime startTime=%s,day=%s,worldlvList=%s'%(str(startTime), day, worldlvList)) + return worldlvList \ No newline at end of file -- Gitblit v1.8.0