From 9e6207bd55a334561f1640ec109aa3481bcaa0f8 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期三, 18 三月 2026 19:17:31 +0800
Subject: [PATCH] 526 【挑战】PVP群英榜-后端(功能开启时补充挑战令到满,溢出不补;优化自身名次与上次匹配时的名次不同时强制重刷匹配;)

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/GameWorldEvent.py |   34 +++++++++-------------------------
 1 files changed, 9 insertions(+), 25 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/GameWorldEvent.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/GameWorldEvent.py
index 4e8750f..76e21b4 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/GameWorldEvent.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/GameWorldEvent.py
@@ -161,30 +161,6 @@
     #PlayerDBOper.FindDBOper(PlayerDBOper.Table_DBPlayer, {}, {"PlayerID":1, "AccID":1, "_id":0}, LoadDBPlayerRet)
     return
 
-def GMSetOpenServerTime(openServerTime):
-    '''GM设置开服时间
-    @param openServerTime: 开服时间戳
-    @return: 1-成功;-1-设置的时间异常;-2-已经设置过且开服了,不能重复设置
-    '''
-    serverID = GameWorld.GetGameWorld().GetServerID()
-    curTime = int(time.time())
-    if openServerTime < curTime:
-        GameWorld.ErrLog("当前时间已经超过设置的开服时间,不能设置! serverID=%s" % serverID)
-        #GMCommon.GMCommandResult(orderId, gmCmdDict, GMCommon.Def_InvalidTime, "The set time is less than the current time.")
-        return -1
-    setOpenServerTime = DBDataMgr.GetEventTrigMgr().GetValue(ShareDefine.Def_SetOpenServerTime)
-    if setOpenServerTime and curTime > setOpenServerTime:
-        GameWorld.ErrLog("已经设置过且开服了,不能重复设置! serverID=%s" % serverID)
-        #GMCommon.GMCommandResult(orderId, gmCmdDict, GMCommon.Def_ServerAlreadyOpen, "The server has been opened.")
-        return -2
-    
-    DBDataMgr.GetEventTrigMgr().SetValue(ShareDefine.Def_SetOpenServerTime, openServerTime)
-    GameWorld.Log("GM设置开服时间: serverID=%s,%s,%s" % (serverID, GameWorld.ChangeTimeNumToStr(openServerTime), openServerTime))
-    if openServerTime == curTime:
-        OnNewServerOpen(GameWorld.GetGameWorld().GetTick())
-        
-    return 1
-
 def DoCheckNewServerOpen(tick):
     setOpenServerTime = DBDataMgr.GetEventTrigMgr().GetValue(ShareDefine.Def_SetOpenServerTime)
     if not setOpenServerTime:
@@ -214,16 +190,24 @@
     #清DBGSTrig
     excludeList = [ShareDefine.Def_InitOpenServerTime, ShareDefine.Def_SetOpenServerTime]
     DBDataMgr.GetEventTrigMgr().DelAllKey(excludeList)
+    #清榜单
+    DBDataMgr.GetBillboardMgr().DelAllData()
+    #清通用记录
+    DBDataMgr.GetGameRecMgr().DelAllData()
     #清家族
     DBDataMgr.GetFamilyMgr().DelAllFamily()
     #清邮件
     DBDataMgr.GetMailMgr().DelAllMail()
     DBDataMgr.GetPlayerViewCacheMgr().DelAllCache()
     
+    # 设置允许跨服,该函数为自动开服会触发,所以要设置为允许跨服,手动开服的需后台手动设置为允许
+    DBDataMgr.GetEventTrigMgr().SetValue(ShareDefine.Def_CanCross, 1)
     SetInitOpenServerTime(setOpenServerTime)
     AllMapServerInitOK(tick)
     
-    GameWorld.GetGameWorld().SaveGameServerData()
+    #强制备档一次、入库
+    DBDataMgr.BackupGameWorldData(saveToDB=True)
+    #GameWorld.GetGameWorld().SaveGameServerData()
     GameWorld.SendGameError("ClearOpenServerOK")
     return
 

--
Gitblit v1.8.0