From 03fdb924f00ceb435105d23f1ef4be488cc03b0a Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期二, 11 六月 2024 19:35:49 +0800
Subject: [PATCH] 8605 【主干】【港台】【越南】【砍树】【后端】集字活动boss掉字优化,支持单次掉落多种字;

---
 ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldProcess.py |   37 +++++++++++++++++++++++++++++++++++++
 1 files changed, 37 insertions(+), 0 deletions(-)

diff --git a/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldProcess.py b/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldProcess.py
index 1840357..9d78eee 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldProcess.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldProcess.py
@@ -97,6 +97,7 @@
 import PlayerFairyDomain
 import IpyGameDataPY
 import PlayerFamilyParty
+import PlayerFamilyZhenfa
 import GameWorldFamilyWar
 import GameWorldArena
 import CrossLuckyCloudBuy
@@ -110,6 +111,8 @@
 import PyDataManager
 import GameWorldOpenServerCampaign
 import CrossBillboard
+import CrossChampionship
+import GameWorldMineArea
 #---------------------------------------------------------------------
 
 #---------------------------------------------------------------------
@@ -324,6 +327,9 @@
     #情缘
     PlayerLove.OnTimeProcess(curTime, tick)
     
+    #福地
+    GameWorldMineArea.OnMineItemTimeProcess(curTime, tick)
+    
     #每整分钟处理一次
     curDateTime = datetime.datetime.today()
     curMinute = curDateTime.minute
@@ -357,6 +363,7 @@
 
 def GameWorldProcessOnMinute(curMinute, tick):
     # 每整分钟触发一次
+    CheckServerHasPlayerLoginAfterInitOK()
     #检查服务器正式开服
     DoCheckNewServerOpen(tick)
     #回报数据库当前在线玩家数
@@ -368,6 +375,8 @@
     GameWorldActionControl.Dispose_FBStateTime()
     #跨服PK
     CrossRealmPK.OnMinuteProcess()
+    #跨服排位
+    CrossChampionship.OnMinuteProcess(curMinute)
     CrossBattlefield.OnMinuteProcess()
     #处理重开服务器后, 活动继续开启逻辑根据天数
     #GameWorldActionControl.Dispose_Action_GoOn_ByDay(tick)
@@ -379,11 +388,31 @@
     PlayerFamilyRedPacket.OnRedPacketMinuteProcess()
     #拍卖行
     AuctionHouse.OnAuctionItemMinuteProcess(tick)
+    #福地
+    GameWorldMineArea.OnProcessOnMinute()
     #每5分钟触发一次仙盟总战力更新
     if curMinute % 5 == 0:
         PlayerFamily.UpdFamilyTotalFightPower()
         PlayerFamilyRedPacket.CheckDelRedpacketData()
         
+    return
+
+def CheckServerHasPlayerLoginAfterInitOK():
+    ## 检查服务器启动成功后是否有玩家正常登录
+    initGameWorldTime = GameWorld.GetGameWorld().GetDictByKey(ChConfig.Def_WorldKey_IsGameWorldInit)
+    if not initGameWorldTime:
+        return
+    
+    if PyGameData.g_noPlayerLoginWarningMailState:
+        return
+    
+    curTime = int(time.time())
+    noPlayerLoginWarningTimes = IpyGameDataPY.GetFuncCfg("ServerEvent", 1) * 60 # x分钟没有玩家登录则预警
+    if curTime - initGameWorldTime < noPlayerLoginWarningTimes:
+        return
+    
+    GameWorld.SendGameError("NoPlayerLogin")
+    PyGameData.g_noPlayerLoginWarningMailState = 1
     return
 
 def OnReloadConfig():
@@ -1267,6 +1296,8 @@
     GameWorldArena.OnServerStart()
     #跨服PK
     CrossRealmPK.OnGameServerInitOK()
+    #跨服排位
+    CrossChampionship.OnServerStart()
     #跨服战场
     CrossBattlefield.OnServerStart()
     #红包
@@ -1379,6 +1410,9 @@
     ReadChConfig.ReloadConfig()
     
     AllMapServerInitOK(tick)
+    
+    GameWorld.GetGameWorld().SaveGameServerData()
+    GameWorld.SendGameError("ClearOpenServerOK")
     return
 
 ## 服务器开服时是星期几
@@ -1475,6 +1509,8 @@
     SendMapCommMapLinePlayerCount(True) # 同步一次普通地图线路人数信息
     #随机假仙盟
     PlayerFamily.RandomFakeFamily()
+    #仙盟阵法
+    PlayerFamilyZhenfa.OnMapServerInitOK()
     #缥缈仙域
     PlayerFairyDomain.OnMapServerInitOK()
     #情侣信息
@@ -1978,6 +2014,7 @@
     ChPlayer.SavePlayerLVData()
     PlayerFBHelpBattle.OnServerClose()
     CrossActionControl.OnServerClose()
+    CrossChampionship.OnServerClose()
     CrossBattlefield.OnServerClose()
     PlayerFamilyRedPacket.OnServerClose()
     CrossLuckyCloudBuy.OnServerClose()

--
Gitblit v1.8.0