From 316f661570469b67ebfc5b1fed08f9617f4638e3 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期一, 02 三月 2020 16:36:26 +0800
Subject: [PATCH] 8389 【后端开发】天星塔挑战榜(增加天星塔全服挑战表)
---
ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldAverageLv.py | 34 +++++++++++++++++++++++++++++++++-
1 files changed, 33 insertions(+), 1 deletions(-)
diff --git a/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldAverageLv.py b/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldAverageLv.py
index 883046c..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
#------------------------------------------------------------------------------
@@ -54,7 +56,7 @@
# @return:
def __IsWorldAverageLv():
# 跨服服务器功能限制
- if GameWorld.IsMergeServer():
+ if GameWorld.IsCrossServer():
return
return True
@@ -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